Mit viel Hilfe von hier aus dem Forum habe ich "meine" erste Bewegungsmelder Regel fertig. Dachte ich ...
Die Regel funktioniert soweit: reagiert der Bewegungsmelder schaltet die Lampe, ja nach Uhrzeit, für 20 sekunden an und dimmt auf 10%, anschließend auf 0%.
Soweit ist alles OK.
Aber, IST die Lampe schon an (weil man sie z.B. per Sprache eingeschaltet hat) und löst der Bewegungsmelder aus, dimmt sie sich auch auf 10% und anschließend auf 0%...
Nun habe ich versucht mir eine Abfrage zu basteln, das, wenn die Lampe schon AN ist ein Abbruch erfolgt
Code: Alles auswählen
if(Flur2_Dimmen.state == ON) {
return;
}
Kann mir jemand sagen wie ich das bewerkstelligen kann das bei schon eingeschaltetter Lampe die Regel nicht ausgeführt wird bzw. ähnlich wie GOTO auf END gesprungen wird?
mein rules
Code: Alles auswählen
var Timer tBewegung = null // Timervariable global definieren
rule "Nachtlicht"
when
Item Bew_Sens_Presence changed to ON // Bewegung erkannt
then
tBewegung?.cancel
// zunächst eventuell laufende Timer entfernen
//das ist meine Abfrage ANFANG
if(Flur2_Dimmen.state == ON) {
return;
}
//das ist meine Abfrage ENDE
if(OffsetBewegungsmelder.state == 2) // Offset nach "2" abgefragt
{
sendCommand(Flur2_Dimmen, 10) // Flur_2 auf 10% Dimmen, Ein
tBewegung = createTimer(now.plusSeconds(20), [ | // Timer anlegen
sendCommand(Flur2_Dimmen, 0) // Flur_2 auf 0% Dimmen, Aus
tBewegung = null // Timervariable deinitialisieren
])
}
end