Wie schaltest Du das Licht denn ein?
Vermutlich ist der Bewegungsmelder direkt mit dem Licht gekoppelt, das geht dann natürlich nicht. Du brauchst eine Rule, die das Licht auch einschaltet:
Code: Alles auswählen
rule "Licht Gäste WC Bewegungsmelder"
when
Item eg_gaestewc_bm_bewegung changed
then
if(newState != OFF) {
eg_gaestewc.sendCommand(ON)
eg_gaestewc_wb.sendCommand(ON)
} else
createTimer(now.plusMinutes(7), [|
eg_gaestewc.sendCommand(OFF)
eg_gaestewc_wb.sendCommand(OFF)
])
}
end
Das Licht leuchtet dann insgesamt 8 Minuten 30 Sekunden, falls während der 90 Sekunden Bewegung wahrgenommen wird auch länger, allerdings: Falls der Melder einmal das OFF gesetzt hat, ist das Licht unwiderbringlich nach 7 Minuten aus und geht erst wieder an, wenn der Melder 90 Sekunden keine Bewegung erkannt hat und dann erneut Bewegung wahrnimmt.
Die bessere Variante ist deshalb, den eventuell laufenden Ausschalttimer auch zu stoppen:
Code: Alles auswählen
var Timer tWCGast = null // globale Timer müssen zu Beginn der Datei definiert werden
rule "Licht Gäste WC Bewegungsmelder"
when
Item eg_gaestewc_bm_bewegung changed
then
tWCGast?.cancel // falls ein Timer läuft, abbrechen
if(newState != OFF) {
eg_gaestewc.sendCommand(ON)
eg_gaestewc_wb.sendCommand(ON)
} else
tWCGast = createTimer(now.plusMinutes(7), [| // Timer starten und Zeiger in Variable schreiben
eg_gaestewc.sendCommand(OFF)
eg_gaestewc_wb.sendCommand(OFF)
])
}
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet