ich habe eine Rule geschrieben, die eine Push Meldung schickt wenn das Fenster im Kinderzimmer 15 Minuten lang offen ist.
Funktioniert auch soweit bestens. Jetzt möchte ich aber gerne, dass wenn das Fenster zum Beispiel nach 5 Minuten wieder zu gemacht wird, dass der Timer angehalten wird und somit auch keine Push Meldung raus geht. Dieses zurücksetzen funktioniert leider nicht. Kann mir jemand helfen?
var Timer myTimer = null
rule "Kinderzimmerfenster"
when
Item M_KinderfensterDataOpen changed to OPEN
then
myTimer = createTimer(now.plusMinutes(15), [|
sendBroadcastNotification("Erinnerung - Kinderzimmerfenster seit 15 Minuten offen")
])
end
rule "Kinderzimmerfenster Close"
when
Item M_KinderfensterDataOpen changed to CLOSE
then
myTimer.cancel()
myTimer = null
end
---------------------------------
OpenHAB 3 auf Dell ThinClient unter Debian Bullseye und ConBee II
RaspberryPi 4b 2GB in Din Rail Gehäuse mit PiVCCU3
Allerlei Sonoff, Shelly, NodeMCU, Sensoren, Aqara Krams und und und.
Um es korrekt umzusetzen, sollte man unbedingt daran denken, dass es Situationen geben kann, in denen ein Timer übrig bleibt. Es ist also immer sinnvoll, einen eventuell laufenden Timer zunächst zu beseitigen. Damit wird die Rule noch etwas einfacher:
var Timer tM_Kinderfenster = null
rule "Kinderfenster Monitor"
when
Item M_KinderfensterDataOpen changed
then
tM_Kinderfenster?.cancel
if (M_KinderfensterDataOpen.state == OPEN)
tM_Kinderfenster = createTimer(now.plusMinutes(15)) [|
sendBroadcastNotification("Erinnerung - Kinderzimmerfenster seit 15 Minuten offen")
]
end
Egal wie die Rule getriggert wird, zunächst wird ein eventuell vorhandener Timer gecancelt. Das Fragezeichen vor dem .cancel bewirkt, dass der Befehl nur ausgeführt wird, wenn es auch tatsächlich einen Timer gibt. Nur für den Fall, das der Status nach OPEN gewechselt hat, wird der Timer erneut angelegt.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
herzlichen Dank für die Infos.
@udo1toni:
Es funktioniert tadellos und vor allem auch sehr schlank. DANKE
---------------------------------
OpenHAB 3 auf Dell ThinClient unter Debian Bullseye und ConBee II
RaspberryPi 4b 2GB in Din Rail Gehäuse mit PiVCCU3
Allerlei Sonoff, Shelly, NodeMCU, Sensoren, Aqara Krams und und und.