FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: satprofi am 27 September 2016, 18:52:54

Titel: Fehler nach update.
Beitrag 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:

(([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
Titel: Antw:Fehler nach update.
Beitrag von: kumue am 27 September 2016, 19:04:57
syntax error at (eval 3509230) line 1, near ") ("

Ich tippe auf Klammerfehler....
Wenn du codemirror benutzt, wirst Du bestimmt fündig...


Titel: Antw:Fehler nach update.
Beitrag von: satprofi am 27 September 2016, 19:08:09
Klammerfehler kommen doch gleich bei "modify", aber der fehler steht in den readings.

codemirror ?

lg

Titel: Antw:Fehler nach update.
Beitrag von: kumue am 27 September 2016, 19:10:31
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
Titel: Antw:Fehler nach update.
Beitrag von: Damian am 27 September 2016, 20:26:15
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.
Titel: Antw:Fehler nach update.
Beitrag von: satprofi am 27 September 2016, 20:45:18
Aha,danke.

send from OP3