FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: tik-tak-tok am 25 April 2017, 21:08:42

Titel: DOIF mit Abhängigkeiten und Zeitraum soll Steckdose zu fester Uhrzeit einschalte
Beitrag von: tik-tak-tok am 25 April 2017, 21:08:42
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
Titel: Antw:DOIF mit Abhängigkeiten und Zeitraum soll Steckdose zu fester Uhrzeit einschalte
Beitrag 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
Titel: Antw:DOIF mit Abhängigkeiten und Zeitraum soll Steckdose zu fester Uhrzeit einschalte
Beitrag von: Damian am 25 April 2017, 22:14:16
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])
Titel: Antw:DOIF mit Abhängigkeiten und Zeitraum soll Steckdose zu fester Uhrzeit einschalte
Beitrag 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?
Titel: Antw:DOIF mit Abhängigkeiten und Zeitraum soll Steckdose zu fester Uhrzeit einschalte
Beitrag von: Damian am 26 April 2017, 09:31:56
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.
Titel: Antw:DOIF mit Abhängigkeiten und Zeitraum soll Steckdose zu fester Uhrzeit einschalte
Beitrag von: Damian am 26 April 2017, 09:40:09
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)