Hallo!
Ich arbeite mich weiter in die Tiefen von openHAB vor. Mein nächstes HomeMatic Produkt das ich einbinden möchte ist ein Funk-Fenster-Drehgriffkontakt (HM-Sec-RHS). Dieser hat laut HomeMatic Datenpunkt-Definition drei States:
Im Unterschied zum 4er Funktaster von HomeMatic (HM-PBI-4-FM), bei dem die unterschiedlichen Tastendrücke als Parameter übergeben werden. (Siehe hierzu den Beitrag von Siva) Wird beim HM-Sec-RHS ein Status übergeben. Den frage ich über ein Number Item in der .items Datei ab:
Als Rückmeldung bekomme ich die Werte 0, 1 & 2. Hierzu dann in der .rules Datei folgendes hinterlegt und schon ist der HomeMatic Funk-Fenster-Drehgriffkontakt eingebunden:
Ich hab somit mein openHAB auch schon zum Sprechen bekommen. Hier hat mir auch Sivas Beitrag auf den Sprung gebracht und ich habe folgendes Script eingebunden.
Natürlich macht es wie oben gezeigt keinen Sinn sofort nach dem Fenster öffnen zu sagen "Das Fenster ist offen". Sinnvoll wäre es jedoch nach 5 Minuten. Hier habe ich jetzt auch gegooglet und bin auf folgendes gestossen:
Item loops with delay
Ich verstehe jedoch den Syntax von "now.plusSeconds(i)" nicht. Kann mir da jemand auf die Sprünge helfen?
Über die Dokumentation von Xtend bin ich leider auch nicht weiter gekommen.
Vielen Dank!
Ich arbeite mich weiter in die Tiefen von openHAB vor. Mein nächstes HomeMatic Produkt das ich einbinden möchte ist ein Funk-Fenster-Drehgriffkontakt (HM-Sec-RHS). Dieser hat laut HomeMatic Datenpunkt-Definition drei States:
- 0 = CLOSED (Standard)
- 1 = TILTED
- 2 = OPEN
Im Unterschied zum 4er Funktaster von HomeMatic (HM-PBI-4-FM), bei dem die unterschiedlichen Tastendrücke als Parameter übergeben werden. (Siehe hierzu den Beitrag von Siva) Wird beim HM-Sec-RHS ein Status übergeben. Den frage ich über ein Number Item in der .items Datei ab:
Code:
Number HM_Sec_RHS_GaesteWC "Fenster Gäste WC" {homematic="address=LEQ0123456, channel=1, parameter=STATE"}
Code:
rule "GaesteWC offen" when Item HM_Sec_RHS_GaesteWC changed to 2 then var String command = script + "Das Fenster ist offen" executeCommandLine(command) sendCommand(hue1, OFF) end rule "GaesteWC gekippt" when Item HM_Sec_RHS_GaesteWC changed to 1 then var String command = script + "Das Fenster ist gekippt" executeCommandLine(command) sendCommand(hue1, ON) end rule "GaesteWC zu" when Item HM_Sec_RHS_GaesteWC changed to 0 then var String command = script + "Das Fenster ist geschlossen" executeCommandLine(command) sendCommand(hue1, OFF) end
Natürlich macht es wie oben gezeigt keinen Sinn sofort nach dem Fenster öffnen zu sagen "Das Fenster ist offen". Sinnvoll wäre es jedoch nach 5 Minuten. Hier habe ich jetzt auch gegooglet und bin auf folgendes gestossen:
Item loops with delay
Ich verstehe jedoch den Syntax von "now.plusSeconds(i)" nicht. Kann mir da jemand auf die Sprünge helfen?
Über die Dokumentation von Xtend bin ich leider auch nicht weiter gekommen.
Vielen Dank!
Kommentar