(GELÖST)Im DOIF nur eine bestimmte Bedingung verzögern?

Begonnen von misux, 02 April 2018, 19:50:42

Vorheriges Thema - Nächstes Thema

misux

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)

Ellert

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.

misux

Puh... Weiß ehrlich gesagt nicht wie du das meinst...  :-\

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

Damian

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.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

misux