Lichtschaltung über HueMotion Sensor

Begonnen von Sprocki62, 10 Oktober 2018, 12:48:33

Vorheriges Thema - Nächstes Thema

Sprocki62

Moin zusammen.. :-)

Im Wesentlichen beziehe ich mich hier auf folgenden Fred:
Lichtschaltung Bewegungsmelder on-for-timer verlängern (https://forum.fhem.de/index.php/topic,68501.0.html)

Geräte: Hue Bridge, Hue Motion Sensor, HUEDevice4 (Paulmann-Zigbee-Leuchte, über Hue steuerbar), MotionSensor-Funktion (Regel) in der Bridge deaktiviert
"BadMotionExt" ist ein Dummy zur Anzeige in FTUI.

Eigentlich läuft auch alles soweit, aber ich habe noch ein Problem.

Mit Hilfe des Hue Motion Sensors wird bei Bewegung ab einer gewissen Helligkeit abhängig von der Tageszeit das Deckenlicht mit einer unterschiedlichen Farbtemperatur eingeschaltet und nach einer gewissen Zeit wieder ausgeschaltet.
Das Einschalten klappt auch hervorragend, das Ausschalten eigentlich auch.

Mein Problem ist, dass sich die Zeit bis zum Ausschalten trotz weiterer Bewegung nicht verlängert, somit also das Licht ausgeht, wenn die Wait-Zeit abgelaufen ist.
Ebenso lässt sich das Licht direkt danach nicht wieder durch erneute Bwegung einschalten..  das geht erst wieder nach einer gewissen Zeit, die ich aber noch nicht gemessen habe.. 

Licht an (Scene 1) von 6:30-9:00 oder 18:00-21:00

define not_BadLichtAnExt DOIF ([HueMotion1:"motion"] && [HueLight:lightlevel] < 14000  && ([6:30-9:00] or [18:00-21:00]) ) (set BadMotionExt on;;set hueBridge1 scene QoLzzU9h6fTySFX) (set BadMotionExt off;;set HUEDevice4 off)
attr not_BadLichtAnExt do resetwait
attr not_BadLichtAnExt event-on-change-reading e_HueMotion1_events
attr not_BadLichtAnExt room Bad,HUEDevice
attr not_BadLichtAnExt wait 0,120



Licht an (Scene 2) von 21:01-6:29, DOIF-Bedingung hier in anderer Schreibweise

define not_BadLichtAnExt2 DOIF ([HueMotion1:state] eq "motion" && [HueLight:lightlevel] < 14000 && ([21:01-6:29])) (set BadMotionExt on;;set hueBridge1 scene vOkH1fkRo8V4I1i) (set HUEDevice4 off;;set BadMotionExt off)
attr not_BadLichtAnExt2 do resetwait
attr not_BadLichtAnExt2 event-on-change-reading e_HueMotion1_state
attr not_BadLichtAnExt2 room Bad,HUEDevice
attr not_BadLichtAnExt2 wait 0,120


Wo hab ich da nen Denkfehler? 
Und.. kann ich das in EINEM DOIF zusammenfassen?

Danke schon mal.
Grüße
Sprocki62

binford6000

Hallo Sprocki,
ZitatWo hab ich da nen Denkfehler? 
Und.. kann ich das in EINEM DOIF zusammenfassen?
Zwei DOIFs für ein und dasselbe ist keine gute Wahl...
Und ja, es sollte mit einem DOIF gehen. Ich versuche es mal:
DOIF (["HueMotion1:motion"] && [HueLight:lightlevel] < 14000  && ([06:30-09:00] or [18:00-21:00]))
     (set hueBridge1 scene QoLzzU9h6fTySFX, set BadMotionExt on-for-timer 120) (set HUEDevice4 on-for-timer 118)
DOELSEIF (["HueMotion1:motion"] && [HueLight:lightlevel] < 14000 && ([21:01-00:00] or [00:01-06:29]))
     (set hueBridge1 scene vOkH1fkRo8V4I1i, set BadMotionExt on-for-timer 120) (set HUEDevice4 on-for-timer 118)

Und dann noch:
attr not_BadLichtAnExt1 do always
attr not_BadLichtAnExt1 wait 0,2:0,2

Das Ganze ungeprüft und nur mal so als Denkansatz  ;)
VG Sebastian

Sprocki62

Zitat von: binford6000 am 10 Oktober 2018, 21:38:10
Das Ganze ungeprüft und nur mal so als Denkansatz  ;)

Vielen Dank erst mal, Sebastian...
Ich werd mich mal da durch wuseln.

Grüße
Sprocki62