Hallo zusammen,
noch eine DOIF Frage (welche aber nicht zur vorherigen passt).
Folgende Situation:
433 MHz Steckdose zum Laden, welche nur bei Bedarf an sein soll.
Dieser dummy heißt in FHEM "Laden_Schlafzimmer".
Desweiteren habe ich einen Dummy "HomeStatus" und mehrere Ping Checks mittels Presence Modul. Betreffende Geräte "Handy1" + "Handy2.
Nun möchte ich mit DOIF folgendes erreichen:
Wenn dummy "HomeStatus" den Status "home" hat und im Zeitraum von 18 bis 19 Uhr eines der beiden Handys (Handy1 oder Handy2) pingbar waren also "present" dann (und nur dann) soll die Steckdose um 20:00 Uhr "Laden_Schlafzimmer" mit on-for-timer 32400 (9 Stunden) angeschaltet werden.
Kann mir jemand helfen wie ich das DOIF ansetzen muss?
Mein Ansatz:
([HomeStatus] eq "home" and [Handy1] eq "present" or [Handy2] eq "present" (set Laden_Schlafzimmer on-for-timer 32400) code]
Nur wie bringe ich da den Schaltzeitpunkt um 20:00 Uhr unter? Ist das "or" zwischen den Handy Pings so richtig?
Danke & Gruß,
Mike
Müsste in etwa so funktionieren
([HomeStatus] eq "home" and [20:00] and ([Handy1] eq "present" or [Handy2] eq "present")) (set Laden_Schlafzimmer on-for-timer 32400)
Klammer um die OR verknüpften
Zitat von: KernSani am 25 April 2017, 22:05:02
Müsste in etwa so funktionieren
([HomeStatus] eq "home" and [20:00] and ([Handy1] eq "present" or [Handy2] eq "present")) (set Laden_Schlafzimmer on-for-timer 32400)
Klammer um die OR verknüpften
eher
([HomeStatus] eq "home" and [18:00-19:00] and ([Handy1] eq "present" or [Handy2] eq "present"))
DOELSEIF ([20:00] and $cmd==1) (set Laden_Schlafzimmer on-for-timer 32400)
DOELSEIF ([00:00])
DOELSEIF ([20:00] and $cmd==1) (set Laden_Schlafzimmer on-for-timer 32400)
Geht $cmd==1 auch ohne attr selfTrigger? Oder muss es ?$cmd==1 heißen?
Zitat von: Per am 26 April 2017, 09:22:09
DOELSEIF ([20:00] and $cmd==1) (set Laden_Schlafzimmer on-for-timer 32400)
Geht $cmd==1 auch ohne attr selfTrigger? Oder muss es ?$cmd==1 heißen?
$cmd ist nur eine Perl-Variable, die den Zustand enthält, sie triggert nie.
ich sehe gerade, dass das Zurücksetzen des Zustands um Mitternacht gar nicht erforderlich ist, da der Zustand cmd_1 durch den set-Befehl auf cmd_2 geändert wird, daher sollte schon ausreichen:
([HomeStatus] eq "home" and [18:00-19:00] and ([Handy1] eq "present" or [Handy2] eq "present"))
DOELSEIF ([20:00] and $cmd==1) (set Laden_Schlafzimmer on-for-timer 32400)