Hallo.
Habe heute gesehen das eine Fehlermeldung bei einem DOIF kommt, was ich absolut nicht entziffern kann.
Ich habe vor kurzem ein FHEM update gemacht, liegts daran? Das DOIF arbeitet, zumindest bis gestern:
(([Xtender_Batteriebetrieb] eq "on") or (([Batterieladezeit:kWh] >= 9 and [Ueberschuss] < 1 and [17:01-20:00] and [Batterielader_aus] eq "on") or ([Pac] < 1900 and [load_kWh_daily] >= 8.5 and [17:15-20:00] and [Batterielader_aus] eq "on") or ([Pac] < 1900 and [load_kWh_daily] >= 8 and [17:30-20:00] and [Batterielader_aus] eq "on") or ([load_kWh_daily] >= 7.5 and [17:50-18:09]) or ([load_kWh_daily] >= 7 and [18:10-18:39]) or ([load_kWh_daily] >= 6.5 and [18:40-19:09]) or ([load_kWh_daily] >= 6 and [19:10]) or ([load_kWh_daily] > 5.5 and [19:40]) or ([load_kWh_daily] > 5 and [20:15]) or ([load_kWh_daily] > 4.5 and [21:15]) or ([load_kWh_daily] > 4 and [22:20]) or ([load_kWh_daily] > 3.5 and [23:30]) or ([load_kWh_daily] > 3 and [00:40]) or ([load_kWh_daily] > 2.5 and [01:50]) or ([load_kWh_daily] > 2 and [03:00]) or ([load_kWh_daily] > 1.5 and [04:10]) or ([load_kWh_daily] > 1 and [05:20])) (set Netz_Schuetz_aus on)
DOELSEIF (([08:00]) or ([06:59-07:59] and [Ueberschuss:state:d] > 800) or ([06:59-07:59] and [Pac] > 1200))) (set Netz_Schuetz_aus off,set load_kWh_daily 0,set Ladestatus 6)
Fehlermeldung:
perl error in condition: (InternalDoIf($hash,'Xtender_Batteriebetrieb','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "on") or ((ReadingValDoIf($hash,'Batterieladezeit','kWh','','',AttrVal($hash->{NAME},'notexist',undef)) >= 9 and InternalDoIf($hash,'Ueberschuss','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) < 1 and DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") and InternalDoIf($hash,'Batterielader_aus','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "on") or (InternalDoIf($hash,'Pac','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) < 1900 and InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) >= 8.5 and DOIF_time($hash,$hash->{realtime}{2},$hash->{realtime}{3},$wday,$hms,"") and InternalDoIf($hash,'Batterielader_aus','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "on") or (InternalDoIf($hash,'Pac','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) < 1900 and InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) >= 8 and DOIF_time($hash,$hash->{realtime}{4},$hash->{realtime}{5},$wday,$hms,"") and InternalDoIf($hash,'Batterielader_aus','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "on") or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) >= 7.5 and DOIF_time($hash,$hash->{realtime}{6},$hash->{realtime}{7},$wday,$hms,"")) or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) >= 7 and DOIF_time($hash,$hash->{realtime}{8},$hash->{realtime}{9},$wday,$hms,"")) or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) >= 6.5 and DOIF_time($hash,$hash->{realtime}{10},$hash->{realtime}{11},$wday,$hms,"")) or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) >= 6 and DOIF_time_once($hash,$hash->{timer}{12},$wday,"")) or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) > 5.5 and DOIF_time_once($hash,$hash->{timer}{13},$wday,"")) or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) > 5 and DOIF_time_once($hash,$hash->{timer}{14},$wday,"")) or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) > 4.5 and DOIF_time_once($hash,$hash->{timer}{15},$wday,"")) or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) > 4 and DOIF_time_once($hash,$hash->{timer}{16},$wday,"")) or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) > 3.5 and DOIF_time_once($hash,$hash->{timer}{17},$wday,"")) or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) > 3 and DOIF_time_once($hash,$hash->{timer}{18},$wday,"")) or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) > 2.5 and DOIF_time_once($hash,$hash->{timer}{19},$wday,"")) or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) > 2 and DOIF_time_once($hash,$hash->{timer}{20},$wday,"")) or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) > 1.5 and DOIF_time_once($hash,$hash->{timer}{21},$wday,"")) or (InternalDoIf($hash,'load_kWh_daily','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) > 1 and DOIF_time_once($hash,$hash->{timer}{22},$wday,""))) (set Netz_Schuetz_aus on) DOELSEIF ((DOIF_time_once($hash,$hash->{timer}{23},$wday,"")) or (DOIF_time($hash,$hash->{realtime}{24},$hash->{realtime}{25},$wday,$hms,"") and ReadingValDoIf($hash,'Ueberschuss','state','(-?\d+(\.\d+)?)','',AttrVal($hash->{NAME},'notexist',undef)) > 800) or (DOIF_time($hash,$hash->{realtime}{26},$hash->{realtime}{27},$wday,$hms,"") and InternalDoIf($hash,'Pac','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) > 1200)): syntax error at (eval 3509230) line 1, near ") ("
lg
syntax error at (eval 3509230) line 1, near ") ("
Ich tippe auf Klammerfehler....
Wenn du codemirror benutzt, wirst Du bestimmt fündig...
Klammerfehler kommen doch gleich bei "modify", aber der fehler steht in den readings.
codemirror ?
lg
Zitat von: satprofi am 27 September 2016, 19:08:09
codemirror ?
siehe http://www.fhemwiki.de/wiki/Konfiguration (http://www.fhemwiki.de/wiki/Konfiguration)
Stichwort Syntaxhervorhebung
Zitat von: satprofi am 27 September 2016, 18:52:54
Hallo.
Habe heute gesehen das eine Fehlermeldung bei einem DOIF kommt, was ich absolut nicht entziffern kann.
Ich habe vor kurzem ein FHEM update gemacht, liegts daran? Das DOIF arbeitet, zumindest bis gestern:
[
lg
na, du baust ja Konstrukte - du hast eine Klammer auf ( zuviel.
edit:
in der zweiten DOIF-Bedingung eine runde Klammer zu zuviel.
Aha,danke.
send from OP3