[Rule]Fenster vergessen
Verfasst: 8. Jul 2020 12:39
Hallo,
nachdem ich nun schon viele Tipps hier über das Forum erhalten habe, bin ich nun an einem Punkt angekommen, wo ich entweder zu doof bin oder aber den Wald vor lauter Bäumen nicht mehr sehe.
Ich bin noch relativ neu bei openHAB und versuche mich nun in der ein oder anderen Regel. Irgendwie fehlt mir die eine Lösung, damit der Knoten platzt und ich weiterkomme.
Ich versuche eine einfache Fenster-Alarm-Regel zu erstellen. Wird morgens (6-10 Uhr) das Fenster geöffnet, dann soll ein Timer für 20 Minuten laufen. Nach Ablauf dieser Zeit soll ein Sound abgespielt werden (dies klappt soweit). Die weitere Überlegung war, ich warne noch einmal nach 5 Minuten, falls das Fenster noch immer geöffnet ist, aber eigentlich muss ich eher prüfen, ob das Fenster geschlossen wurde. Und falls das nicht der Fall sein sollte, wird alle 5 Minuten weiter gewarnt.
Das Fenster ist über die Nacht angekippt. Morgens wird es richtig geöffnet (dabei bekommt der Sensor kurz ein CLOSE).
Letztlich scheue ich mich immer in Foren Fragen zu stellen, aber ich hoffe, mit der Lösung verstehe ich eher, wo mein Fehler liegt und ich kann die Logik bei zukünftigen Regeln verwenden.
Hier nun mein Code:
Ich weiß, da fehlt einiges an Code, aber wie gesagt, irgendwie komme ich nicht weiter. Wahrscheinlich muss ich irgendwie mit Flags arbeiten, aber da kam ich auch nicht weiter.
Viele Grüße
Matthias
nachdem ich nun schon viele Tipps hier über das Forum erhalten habe, bin ich nun an einem Punkt angekommen, wo ich entweder zu doof bin oder aber den Wald vor lauter Bäumen nicht mehr sehe.
Ich bin noch relativ neu bei openHAB und versuche mich nun in der ein oder anderen Regel. Irgendwie fehlt mir die eine Lösung, damit der Knoten platzt und ich weiterkomme.
Ich versuche eine einfache Fenster-Alarm-Regel zu erstellen. Wird morgens (6-10 Uhr) das Fenster geöffnet, dann soll ein Timer für 20 Minuten laufen. Nach Ablauf dieser Zeit soll ein Sound abgespielt werden (dies klappt soweit). Die weitere Überlegung war, ich warne noch einmal nach 5 Minuten, falls das Fenster noch immer geöffnet ist, aber eigentlich muss ich eher prüfen, ob das Fenster geschlossen wurde. Und falls das nicht der Fall sein sollte, wird alle 5 Minuten weiter gewarnt.
Das Fenster ist über die Nacht angekippt. Morgens wird es richtig geöffnet (dabei bekommt der Sensor kurz ein CLOSE).
Letztlich scheue ich mich immer in Foren Fragen zu stellen, aber ich hoffe, mit der Lösung verstehe ich eher, wo mein Fehler liegt und ich kann die Logik bei zukünftigen Regeln verwenden.
Hier nun mein Code:
Code: Alles auswählen
rule "Schlafzimmerfenster Alarm"
when
Item XiaomiDoorSensorSchlafzimmerIsOpen changed to OPEN
then
if ((now.getHourOfDay > 6) && (now.getHourOfDay < 10)){
var Timer Schlafzimmer_timer = null
Schlafzimmer_timer?.cancel // the ? will skip this line if Schlafzimmer_timer is null
Thread::sleep(3000)
logInfo("Schlafzimmer_timer", "Das Schlafzimmerfenster ist " + XiaomiDoorSensorSchlafzimmerIsOpen.state)
Schlafzimmer_timer = createTimer(now.plusMinutes(20), [ |
sendCommand(XiaomiMiSmartHomeGatewayVolume, 10)
sendCommand(XiaomiMiSmartHomeGatewaySound, 10001) //10001 ist Fenster zu lange geöffnet.
Thread::sleep(1000)
logInfo("Schlafzimmer_timer", "Das Schlafzimmerfenster ist zu lange geöffnet!") ])
//var Timer Schlafzimmer_timer2 = null
//Schlafzimmer_timer2?.cancel
//Schlafzimmer_timer2 = createTimer(now.plusMinutes(1), [ |
// sendCommand(XiaomiMiSmartHomeGatewayVolume, 10)
// sendCommand(XiaomiMiSmartHomeGatewaySound, 10002) //10002 ist Fenster zu lange geöffnet, letztmalige Warnung.
// logInfo("Schlafzimmer_timer", "Das Schlafzimmerfenster ist zu lange geöffnet!") ])
}
end
Viele Grüße
Matthias