Hallo,
Verwende Homegear und Openhab um die bestehende CCU1 abzuschaffen.
Im Moment werden in der CCU noch Stromzähler und Wasserverbrauch als Systemvariablen gespeichert.
Auch Stati wie Alarm: scharf werden in einer Systemvariablen gespeichert.
Konnte im Wiki nichts finden:
Welches ist die beste Möglichkeit, diese Werte zu speichern? Auch so, dass sie nach einem Stromausfall noch vorhanden sind?
Kann man in Homegear Systemvariablen anlegen (wie?)?
Oder muss das in Openhab (Number Wert?)
Du kannst hg_set_system(“MyVar”, 127.5) zum Setzen verwenden und hg_get_system(“MyVar”) zum Auslesen der Variable. Das ist netzausfallsicher, also nach einem Neustart ist der letzte Wert noch vorhanden. Siehe auch: https://www.homegear.eu/index.php/Homegear_Reference#Homegear_0.5
Es ist darauf zu achten, dass die aktuellen Versionen (0.6) eine Exception vom Typ HomegearException werfen, wenn die Variable in hg_get_system( ) nicht existiert.
Ja, natürlich werden sie auch angelegt. Wieder Löschen kannst Du sie bei Bedarf zB mit hg_invoke(‘deleteSystemVariable’, ‘MyVar’)
Die Typbestimmung erfolgt automatisch anhand des übergebenen Datentyps. Wenn Du gezielt einen Datentyp verwenden willst, macht es Sinn, diesen explizit zu übergeben. Also zB hg_set_value(‘MyVer’, floatval($MyValue)), um einen boolschen Wert zu setzen. Wenn $MyValue === 12.7 ist, wird es wohl auch so funktionieren, bei 12.0 wird aber vermutlich ein INT Wert gesetzt. Das liegt aber weniger an homegear, als an PHP selbst.
Da wird auch ein Float-Wert gesetzt. In der aktuellen Version sollten aber Typen auch von Homegear automatisch konvertiert werden (habs allerdings noch nicht intensiv getestet).