FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: misux am 02 April 2018, 19:50:42

Titel: (GELÖST)Im DOIF nur eine bestimmte Bedingung verzögern?
Beitrag von: misux am 02 April 2018, 19:50:42
HI!

Ich es möglich nur eine Bedingung zu verzögern?

([Tageslicht_indoor] eq "Nacht" and [TVTime:state] eq "off") (set WZBodenLed on, set WZEZ_WZFLed on)
DOELSEIF
([TVTime] eq "off" and [PartyTime] eq "off" and [22:30-01:00])
(set WZBodenLed off, set WZEZ_WZFLed off)


und zwar diese: [Tageslicht_indoor] eq "Nacht"

Wenn diese Bedingung eintrifft soll erst nach z.B. 15min geschaltet werden. Aber wenn [Tageslicht_indoor] eq "Nacht" schon IST und auf einmal [TVTime:state] eq "off" wird dann muss sofort geschaltet werden.

Geht sowas?

Im Prinzip so:

(([Tageslicht_indoor] eq "Nacht"<warte 15min und führe erst dann das set aus>) and [TVTime:state] eq "off") (set WZBodenLed on, set WZEZ_WZFLed on)
DOELSEIF
([TVTime] eq "off" and [PartyTime] eq "off" and [22:30-01:00])
(set WZBodenLed off, set WZEZ_WZFLed off)
Titel: Antw:Im DOIF nur eine bestimmte Bedingung verzögern?
Beitrag von: Ellert am 02 April 2018, 20:19:04
Du müsstest die erste Bedingung in zwei Zweige splitten und die beiden Operanden abwechselnd auf nicht triggern setzen.

Für den Zweig, der verzögert werden soll, dann wait verwenden.
Titel: Antw:Im DOIF nur eine bestimmte Bedingung verzögern?
Beitrag von: misux am 03 April 2018, 08:46:53
Puh... Weiß ehrlich gesagt nicht wie du das meinst...  :-\

Dachte auch das man das wait attr nur auf den ausführungsteil setzen kann...
Titel: Antw:Im DOIF nur eine bestimmte Bedingung verzögern?
Beitrag von: Damian am 03 April 2018, 08:58:59
Zitat von: misux am 03 April 2018, 08:46:53
Puh... Weiß ehrlich gesagt nicht wie du das meinst...  :-\

Dachte auch das man das wait attr nur auf den ausführungsteil setzen kann...

ZitatDu müsstest die erste Bedingung in zwei Zweige splitten...

([Tageslicht_indoor] eq "Nacht" and [?TVTime:state] eq "off") (set WZBodenLed on, set WZEZ_WZFLed on)
DOELSIF ([?Tageslicht_indoor] eq "Nacht" and [TVTime:state] eq "off")  (set WZBodenLed on, set WZEZ_WZFLed on)


Bei dem einen setzt du wait bei dem anderen nicht.
Titel: Antw:Im DOIF nur eine bestimmte Bedingung verzögern?
Beitrag von: misux am 03 April 2018, 10:06:02
 ::)

Ah, jetzt kapiere ich...

Vielen Dank!