Zeitschaltung mit [HH:MM|Wochentage] funktioniert nicht?

Begonnen von M_I_B, 27 April 2016, 07:49:04

Vorheriges Thema - Nächstes Thema

M_I_B

#30
.... hmmmm ... Danke für den Hinweis!
Die Werte für die Helligkeit kommen aus einem Logfile, welches aus dem Mittelwert mehrerer Helligkeitssensoren generiert wird. Darin kommt z.B. ein Wert 139 nur einmal am Abend vor (bisher)...
Das "do always" hatte aber einen anderen unschönen Nebeneffekt und wurde inzwischen entsorgt. Wenn nämlich innert der angegebenen Zeit manuell per RC das Licht abgeschaltet werden sollte, machte es "schwupp" und die Funzeln waren wieder an ::)

Ich habe die ganze Sache inzwischen anders gelöst:
define EsIstDunkel DOIF ([brightness.av:state] < 140 and [brightness.av:state] > 135) (set STD_(1|2|3|6|10) on,set HM4A1_4 on) \
DOELSEIF ([23:00]) (set STD_(2|3) off) \
DOELSEIF ([01:30]) (set STD_(1|6|10) off) \
DOELSEIF ([brightness.av:state] > 150) (set STD_(1|2|3|6|10) off,set HM4A1_4 off) \
DOELSE

Das läuft noch im Test um zu erkennen, ob da noch irgendwo eine Macke drin ist; vergangene Nacht z.B. sind aus unerfindlichen Gründen alle Lampen irgendwann an gegangen... Ich hätte es nicht mitbekommen, da ich einen "gesunden" Schlaf habe, aber meine Frau bemerkte gegen 0400, das Licht auf edr Terasse an ist ^^

M_I_B

... tja ... Irgend etwas klemmt immer noch:

### Beleuchtung WZ, EZ, KU
define EsIstDunkel DOIF ([17:00-[SunDN_r]] and [brightness.av:state] < 140 and [brightness.av:state] > 135) (set STD_(1|2|3|6|10) on,set HM4A1_4 on) \
DOELSEIF ([23:00]) (set STD_(2|3) off) \
DOELSEIF ([01:30]) (set STD_(1|6|10) off) \
DOELSE

### Beleuchtung, Lüfter
define CynthiaZimmer1 DOIF ([17:00-[SunDN_r]] and [brightness.av:state] < 140 and [brightness.av:state] > 135) (set STD_4 on) \
DOELSEIF ([06:40|8] and [NDS:state] eq "none") (set STD_4 on-for-timer 1200) \
DOELSEIF ([23:00|01234] and [NDS:tomorrow] eq "none") (set STD_4 off) \
DOELSEIF ([00:00|7]) (set STD_4 off) \
DOELSE


Wenn man jeweils die relevante erste Zeile betrachtet, also die mit dem DOIF, findet man keinerlei Unterschied zwischen den Beiden, von den anderen Aktoren mal abgesehen (in "SunDN_r" steht der Wert von "sunset_abs("REAL")").
Dennoch wird erwartungsgemäß "EsIstDunkel" ausgeführt, hingegen "CynthiaZimmer1" nicht. Schalte ich STD_4 manuell ein, laufen alle anderen Vorgänge einwandfrei ab, also der "Weckruf" am Morgen wenn Schule ist so wie die Abschaltung abhängig davon, ob am nächten Tag Schule ist (23:00) oder nicht (00:00). Auch wenn ich STD_4 nicht manuell einschalte, wird der "Weckruf" am Morgen ausgeführt. Also sind alle DOELSEIF in beiden Fällen korrekt.

Wo liegt hier das Problem? Ist mir ein echtes Rätsel ... :-[