FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: m8ichael am 25 Oktober 2016, 18:56:14

Titel: Schalten zu unterschiedlichen Uhrzeiten bei unterschiedlichen Bedingungen
Beitrag von: m8ichael am 25 Oktober 2016, 18:56:14
Hallo Gemeinde,

in Abhängigkeit zu verschiedenen Bedingungen soll ein Aktor zu unterschiedlichen Zeiten ein-, aber zu einer festen Zeit ausgeschaltet werden. Ich habe das folgende DOIF entworfen:


([06:45-{sunrise_abs("REAL")}] and ArbeitstagBewohner("Bewohner1",$we,1) and ArbeitstagBewohner("Bewohner2",$we,1) and sunrise_abs("REAL") gt "06:45:00") ((set eg.fl.Eingang.Licht,eg.ku.Hauptbeleuchtung,eg.fl.Licht on))
DOELSEIF
([06:51-{sunrise_abs("REAL")}] and !ArbeitstagBewohner("Bewohner1",$we,0) and ArbeitstagBewohner("Bewohner2",$we,0) and sunrise_abs("REAL") gt "06:51:00") ((set eg.fl.Eingang.Licht,eg.ku.Hauptbeleuchtung on))
DOELSEIF
([06:39-{sunrise_abs("REAL")}] and ArbeitstagBewohner("Bewohner1",$we,0) and !ArbeitstagBewohner("Bewohner2",$we,0) and sunrise_abs("REAL") gt "06:39:00") ((set eg.fl.Eingang.Licht on))
DOELSE
((set eg.fl.Eingang.Licht,eg.fl.Licht,eg.ku.Hauptbeleuchtung off))


Die Funktion "ArbeitstagBewohner" habe ich in meiner myUtils definiert - diese liefert je nach Eingangsparameter 0 oder 1 zurück. Leider klappt das DOIF so noch nicht. Wo liegt mein Denkfehler?

Viele Grüße

Michael
Titel: Antw:Schalten zu unterschiedlichen Uhrzeiten bei unterschiedlichen Bedingungen
Beitrag von: Ellert am 25 Oktober 2016, 19:20:59
Was genau meinst Du mit "noch nicht so klappen"? Was "klappt" denn schon?
Titel: Antw:Schalten zu unterschiedlichen Uhrzeiten bei unterschiedlichen Bedingungen
Beitrag von: m8ichael am 25 Oktober 2016, 22:08:00
Hallo,

aktuell sind beide Bewohner anwesend. Dies führt dazu, dass das DOIF um 6:39 alles ausschaltet, um 6:45 dann alles an und um 6:51 wieder alles aus.  >:(

Viele Grüße

Michael
Titel: Antw:Schalten zu unterschiedlichen Uhrzeiten bei unterschiedlichen Bedingungen
Beitrag von: Ellert am 26 Oktober 2016, 08:20:21
ZitatWo liegt mein Denkfehler?
DOIF prüft um  6:39, 6:45, 6:51 und {sunrise_abs("REAL")} die betreffende Bedingung, falls sie unwahr ist, tritt der DOELSE-Fall ein.

Du könntest statt DOELSE DOELSEIF verwenden und die Ausschaltbedingung nach Deinen Erfordernissen spezifizieren.
Titel: Antw:Schalten zu unterschiedlichen Uhrzeiten bei unterschiedlichen Bedingungen
Beitrag von: m8ichael am 26 Oktober 2016, 23:11:25
Alles klar. Ich habe nun die einzelnen DOELSEIFs im oberen Teil zusammengefasst

((a und b) oder (c und b)) DOELSE ...

und nun funzt es. Danke!