POWERUP_ACTION bei HM-LC-Dim1T-CV

Hi,

ich verwende Homegear mit openhab2 zusammen. Ich habe einen Homematic Dimmer (HM-LC-Dim1T-CV) erstanden. Diesen habe ich zwischen meinem ganz normalen klassischen Lichtschalter und einer Lampe verbaut. Das bedeutet das der normale Lichtschalter auch den Homematic Dimmer an- und ausschaltet. Unglücklicherweise schaltet der Dimmer jedoch nicht das Licht automatisch ein wenn er selbst angeschaltet wird -> ergo das Licht bleibt aus bis ich den Dimmer aus einen anderen Wert als 0 kommandiere.

Das ganze möchte ich jetzt gerne automatisieren. Lichtschalter an -> Dimmer an -> Dimmerlevel = 80%

Ich bekomme allerdings in openHAB nicht mit wann der Dimmer an und aus geht! Sobald ich den Dimmer ausschalte behauptet openHAB weiterhin der Dimmer sei online und alle seine Daten ( RSSI_Device, Level, Unreac etc.) bleiben wie eingefroren.

Ideen, Tipps?

Sers,

der Dimmer sendet nicht “sofort” seine Werte, maximal “zeitnah”. Es wird ja immer versucht so wenig wie möglich zu senden (siehe 1%-Regel).

Ich glaube, das wird sorum nicht funktionieren. Du schaltest ja mit deinem Lichtschalter den Dimmer stromlos… also würde er ja maximal von einem UNREACH auf reachable gehen. Das passiert aber zeitverzögert, wie auch schon im anderen Thread beschrieben.

Vielleicht ist es eine bessere Idee den Dimmer immer am Strom zu lassen und den Lichtschalter durch einen Funktaster zu ersetzen, auf den du dann reagieren kannst.

Die einzige Möglichkeit die ich gerade sehe ist, wenn man den Dimmer so konfigurieren kann, dass er eine “Einschalthelligkeit” hat… Hast du in den device description files mach geschaut? https://github.com/Homegear/Homegear-HomeMaticBidCoS/blob/1fb38fbe8c8edaab5c37b2038a02241c37e67f81/misc/Device%20Description%20Files/rf_dim_t.xml

Okay das es macht Sinn dass das Gateway die Geräte nicht ständig abfragt. Dennoch würde ich davon ausgehen, das sich mein Dimmer beim Gateway meldet sobald er Strom bekommt. Ich könnte mir vorstellen in so einem Fall den STICKY UNREACH auf true zu setzten und den UNREACH auf false.

Aber eine Einschalthelligkeit würde es natürlich auch tun. Ich muss gestehen das ich nicht so richtig weiß was ich mit der Datei die du verlinkt hast anfangen soll. in der Datei steht folgendes:


<parameter id="POWERUP_ACTION">
				<properties/>
				<logicalEnumeration>
					<defaultValue>0</defaultValue>
					<value>
						<id>POWERUP_OFF</id>
						<index>0</index>
					</value>
					<value>
						<id>POWERUP_ON</id>
						<index>1</index>
					</value>
				</logicalEnumeration>
				<physicalInteger groupId="">
					<index>86.0</index>
					<size>0.1</size>
					<list>1</list>
					<operationType>config</operationType>
				</physicalInteger>
</parameter>

Das könnte sein wonach ich suche. Blos wie bringe ich das jetzt meinem Gerät bei? In dem Homematic Konfigurator Tool habe ich nichts gefunden.

Grüße
Lemy

Die Datei ist die device definition die homegear nutzt. Dort sind alle Datenpunkte, die homegear vom Gerät kennt, hinterlegt. Theoretisch musst du dir nur den Channel raussuchen und den entsprechenden Wert abfragen.

Leider weiß ich nicht ob auch alle Werte gesendet werden und damit zur Verfügung stehen…

Okay ich habe den Wert mit folgendem PHP Script geändert bekommen.
Jetzt geht das Licht an wenn der Dimmer Strom bekommt. Danke Patrik für diene Hilfe.

#!/usr/bin/env php
<?php
include_once("Connect.php");
print_r($Client->send("putParamset", array(3, 1, "MASTER",array("POWERUP_ACTION" => 1))));
?>
1 Like

Gerne. Gebe zu, ich hatte putParamset völlig vergessen.

Übrigens, das schließende ?> kannst/sollst du weglassen, siehe PSR-1 und PSR-2.

Und ich glaube in der aktuellen 0.6er Version brauchst du die connect.php nicht mehr. Siehe https://ref.homegear.eu/php.html#affixSection1

Starting with Homegear 0.6 PHP 7 is used as script engine. All RPC methods now are accessible through the “Homegear” class in the namespace “Homegear”. Either statically:

<?php
Homegear\Homegear::setValue(12, 1, "STATE", true);

or non-statically:

<?php
$hg = new Homegear\Homegear();
$hg->setValue(12, 1, "STATE", true);
1 Like

Wenn ich es richtig verstanden habe, benutzt dein Code die Script Engine von Homegear und meiner nicht. Soll heißen dein Code sollte folgendermaßen aufgerufen werden:

homegear -e rs MyScript.php

Während mein Code mit ./MyScript.php aufgerufen wird.

1 Like

Ok… Müsste halt wissen was in der Connect.php steht.

Ist der Beispielcode aus der Doku… und wenn man sucht findet man halt auch oft veralteten Kram.

Damit dein Script Homegear benutzen kann, muss es da ja irgendwie die entsprechende Klasse/entsprechenden Funktionen zur Verfügung stellen… in der aktuellen Version geschieht das so wie oben beschrieben.

Habe ein ähnliches Problem - könnte mir bitte einer erklären, welchen Befehl ich senden muss um den Status der “POWERUP_ACTION” auf “POWERUP_ON” zu setzen bei meinem Dimmer HM-LC-Dim1T-CV?

Hallo @sunflowerABB,

homegear -e rc '$hg->putParamset(<Peer ID>, 1, array("POWERUP_ACTION" => <0 oder 1));' 

0 ist “aus”, 1 ist “an”.

Viele Grüße

Sathya

Hallo Zusammen,

ich habe den Befehl ausprobiert.
Folgendes gab es über die Konsole zurück. Funktionieren tut es nicht.
root@a47e3ce9cfd9:/# homegear -e rc ‘$hg->putParamset(36, 1, array(“POWERUP_ACTION” => 1));’
11/22/18 00:35:11.907 Warning: The setting caPath has been moved from “main.conf” to “rpcservers.conf”.
11/22/18 00:35:11.907 Warning: The setting caPath has been moved from “main.conf” to “rpcservers.conf”.
11/22/18 00:35:11.907 Warning: The setting certPath has been moved from “main.conf” to “rpcservers.conf”.
11/22/18 00:35:11.907 Warning: The setting certPath has been moved from “main.conf” to “rpcservers.conf”.
11/22/18 00:35:11.907 Warning: The setting keyPath has been moved from “main.conf” to “rpcservers.conf”.
11/22/18 00:35:11.907 Warning: The setting keyPath has been moved from “main.conf” to “rpcservers.conf”.
11/22/18 00:35:11.907 Warning: Setting not found: loadDHParamsFromFile
11/22/18 00:35:11.907 Warning: Setting not found: loadDHParamsFromFile
11/22/18 00:35:11.907 Warning: The setting dhParamPath has been moved from “main.conf” to “rpcservers.conf”.
11/22/18 00:35:11.907 Warning: The setting dhParamPath has been moved from “main.conf” to “rpcservers.conf”.

Kann ich den Parameter auch auf einem anderen Weg setzen?

Gruß
porboy

Formatier doch bitte deinen Post…

grafik


Was lässt dich vermuten, dass es nicht funktioniert? Die Meldungen haben nichts mit der Gerätekonfiguration zu tun.

Lass mal Config von deinem Gertät anzeigen:

homegear -e rc ‘print_r($hg->getParamset(36, 1));’

https://ref.homegear.eu/rpc.html#getParamset

1 Like