DOIF Trigger wenn Devicestatus sich innerhalb bestimmter Zeit nicht mehr ändert

Begonnen von ReggY, 24 Februar 2017, 19:20:00

Vorheriges Thema - Nächstes Thema

ReggY

Hallo zusammen,

ich habe ein Problem mit einem Fibaro Motion Sensor in Verbindung mit einem DOIF.

Der Sensortaste ("KU.MotionSensor") wird auf "open" (Bewegung erkannt -> 60 Sekunden "open") bzw. "closed" (keine Bewegung mehr -> "closed") geprüft.

Leider zeigt er manchmal ein echt nerviges Verhalten, indem er erst ein "closed" und direkt darauf wieder ein "open" schickt. Das lässt mein Küchenunterschrankbeleuchtung dann auch immer aus und direkt wieder angehen.

Das DOIF sieht folgendermassen aus:
DOIF([?KU.MotionSensor:luminance:d] < 100 and [KU.MotionSensor:state] eq "open")
(set HUEDevice5 on)
DOELSEIF ([KU.MotionSensor:state] eq "closed")
(set HUEDevice5 off)


Ich habe schon versucht das ganze mit "wait 0:5" zu lösen, leider ohne Erfolg.

Hat jemand von euch eine Idee, wie ich es schaffe, dass "cmd2" erst auslöst, wenn der KU.MotionSensor:state z.B. mindestens 5 Sekunden durchgängig auf "closed" bleibt?

Ich hoffe ihr könnt mir helfen. Danke schon mal.

Ellert

Eine Lösung wäre, nach 5 s eine IF-Abfrage einzubauen.

statt (set HUEDevice5 off)

(IF ([KU.MotionSensor:state] eq "closed") (set HUEDevice5 off))

eine andere Lösung wäre einen Statuswechsel bei closed zu erzeugen und wenn der innerhalb 5s zurück wechselt, passiert nichts

wait 0:0,5
und statt (set HUEDevice5 off)
() (set HUEDevice5 off)

Damian

Zitat von: ReggY am 24 Februar 2017, 19:20:00
Hallo zusammen,

ich habe ein Problem mit einem Fibaro Motion Sensor in Verbindung mit einem DOIF.

Der Sensortaste ("KU.MotionSensor") wird auf "open" (Bewegung erkannt -> 60 Sekunden "open") bzw. "closed" (keine Bewegung mehr -> "closed") geprüft.

Leider zeigt er manchmal ein echt nerviges Verhalten, indem er erst ein "closed" und direkt darauf wieder ein "open" schickt. Das lässt mein Küchenunterschrankbeleuchtung dann auch immer aus und direkt wieder angehen.

Das DOIF sieht folgendermassen aus:
DOIF([?KU.MotionSensor:luminance:d] < 100 and [KU.MotionSensor:state] eq "open")
(set HUEDevice5 on)
DOELSEIF ([KU.MotionSensor:state] eq "closed")
(set HUEDevice5 off)


Ich habe schon versucht das ganze mit "wait 0:5" zu lösen, leider ohne Erfolg.

Hat jemand von euch eine Idee, wie ich es schaffe, dass "cmd2" erst auslöst, wenn der KU.MotionSensor:state z.B. mindestens 5 Sekunden durchgängig auf "closed" bleibt?

Ich hoffe ihr könnt mir helfen. Danke schon mal.

Mit dem Attribut cmdpause 5
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

ReggY

Zitat von: Ellert am 24 Februar 2017, 19:32:19
statt (set HUEDevice5 off)

(IF ([KU.MotionSensor:state] eq "closed") (set HUEDevice5 off))

Es funktioniert! Danke Eilert!

Hallo Damian,

das Attribut "cmdpause" hat leider keinen Effekt auf das DOIF, muss ich dazu noch etwas anderes im DOIF einstellen?