Ich verwende einen Philips Hue Outdoor Motion Sensor, der mir diverse Lichter einschaltet.
Verwendet sowohl mittels Hue Binding, als auch HTTP Binding (Hue JSON API).
Mittels einer Regel lasse ich das Licht 60 Sekunden nach Erkennen einer Bewegung laufen, das klappt auch.
Nämlich nur, wenn der Lux-Wert unter 1000 ist (sprich Dämmerung oder Nacht).
hue.items
Code: Alles auswählen
DateTime Hue_Vorgarten_Bewegungszeit { channel="hue:0107:1:Hue_Vorgarten_Bewegungssensor:last_updated" }
Number HueAPI_Vorgarten_Lux {http="<[hueapi:5000:JSONPATH($.8.state.lightlevel)]"}
Code: Alles auswählen
rule "Bewegungsmelder Licht XY"
when
Item Hue_Vorgarten_Bewegung changed from OFF to ON
then
if(HueAPI_Vorgarten_Lux.state < 1000 && stopMotionTimerBWMVorgarten === null){
Licht_Einfahrt.sendCommand(ON)
stopMotionTimerBWMVorgarten = createTimer(now.plusSeconds(60)) [| //60 Sekunden warten, dann Variable wieder auf NULL setzen
stopMotionTimerBWMVorgarten = null
Licht_Einfahrt.sendCommand(OFF) //Licht nach Ablauf der Zeit wieder ausschalten
Hue_Vorgarten_Bewegung.sendCommand(OFF) //Bewegungsmelder zurücksetzen
]
}
end

Und jetzt zum eigentlichen Problem: Die API/Binding mit Philips Hue und dessen Info "lastupdated".
Der Bewegungsmelder schickt nämlich an seine Bridge/an die API nur alle 5min ein Update. Ärgerlich!

Das bedeutet in meinem Fall: Obwohl das Licht nach 1min schon wieder ausgegangen ist, hat das item "HueAPI_Vorgarten_Lux" immer noch einen Lux-Wert, wie wenn das Licht leuchten würde (23714 Lux).
Das ist nun dahingehend bescheiden, weil ich für die nächsten 5 Minuten (oder bis eben Hue API/Binding das "lastupdated" einen aktuellen Lux-Wert schickt, nämlich 0 bei Nacht), die Lichtregel nicht auslösen kann (weil: "nur bei Lux kleiner 1000").
Hat da jemand eine Idee, wie man das lösen könnte?