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
Was genau meinst Du mit "noch nicht so klappen"? Was "klappt" denn schon?
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
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.
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!