Hallo,
seit einiger Zeit wird das FHEM-Log von einer Fehlermeldung zugemüllt:
2016.12.10 08:44:53 2: syntax error at (eval 47158) line 2, at EOF
Die Fehlermeldungen treten in 13er Gruppen auf also 13,26 und 39. Jetzt habe ich die ReadingsGroups, die 13 Positionen haben, disabled. Ich hatte die Hoffnung, dass damit der Fehler weg ist. Leider Fehlanzeige.
Da keine Herkunft enthalten ist, gestaltet sich die Suche für mich sehr schwierig.
Hat jemand einen Tipp für mich, wo ich suchen könnte. Ich habe extra nicht die komplette config angehängt, sondern wollte erst einmal abwarten.
Gruß Eberhard
[Lösung des Problems: EOF deutet lt. Dietmar63 auf fehlende Klammersetzung hin. Eine if...elsif Bedingung in Kruzform mit fehlerhaften Klammern wurde durch die Langform mit richtiger Klammersetzung ersetzt. ]
Hi Eberhard,
habe jetzt nicht direkt die Lösung parat aber mit "attr global stacktrace 1" ( http://fhem.de/commandref_DE.html#global (http://fhem.de/commandref_DE.html#global) ) siehst du (und wir) mehr.
Gruß, Joachim
Hallo Joachim,
zwischenzeitlich hatte ich alle Definitionen ReadingsGroup gelöscht und "scheibchenweise" wieder eingefügt, bis der Fehler auftrat. Der Fehler liegt offensichtlich in diesem Attribut:
{($READING eq "temperature" || $READING eq "humidity" )? 'style="text-align:right;color:royalblue"' : ($READING eq "absFeuchte" ) ? 'style="font-size:15px;font-weight:bold;text-align:left"'}
nach einen restart sieht das Log wie folgt aus:
2016.12.10 12:39:17 0: Server shutdown
2016.12.10 12:39:20 1: Including fhem.cfg
2016.12.10 12:39:20 3: telnetPort: port 7072 opened
2016.12.10 12:39:21 3: WEB: port 8083 opened
2016.12.10 12:39:21 3: WEBphone: port 8084 opened
2016.12.10 12:39:21 3: WEBtablet: port 8085 opened
2016.12.10 12:39:21 2: eventTypes: loaded 1144 events from ./log/eventTypes.txt
2016.12.10 12:39:21 3: Opening CUL1 device /dev/serial/by-id/usb-busware.de_CUL868-if00
2016.12.10 12:39:21 3: Setting CUL1 serial parameters to 38400,8,N,1
2016.12.10 12:39:21 3: CUL1: Possible commands: BbCFiAZEGMKUYRTVWXefmltux
2016.12.10 12:39:21 3: CUL1 device opened
2016.12.10 12:39:22 2: Switched CUL1 rfmode to HomeMatic
2016.12.10 12:39:22 3: Opening nanoCUL device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900HL6H-if00-port0
2016.12.10 12:39:22 3: Setting nanoCUL serial parameters to 38400,8,N,1
2016.12.10 12:39:25 3: nanoCUL: Possible commands: BCFiAGMKUYRTVWXefLltx
2016.12.10 12:39:25 3: nanoCUL device opened
2016.12.10 12:39:26 3: ESP_083382: Defined with URL http://192.168.2.29/ and interval 60
2016.12.10 12:39:27 3: HUEDevice1: I/O device is HUE
2016.12.10 12:39:27 3: HUEDevice2: I/O device is HUE
2016.12.10 12:39:27 3: HUEDevice3: I/O device is HUE
2016.12.10 12:39:27 3: HUEGroup0: I/O device is HUE
2016.12.10 12:39:27 3: HUEGroup2: I/O device is HUE
2016.12.10 12:39:29 1: Including ./log/fhem.save
2016.12.10 12:39:29 3: Device Hzg_Bad added to ActionDetector with 000:60 time
2016.12.10 12:39:30 3: Device Hzg_Bu1 added to ActionDetector with 000:30 time
2016.12.10 12:39:30 3: Device Hzg_Bu2 added to ActionDetector with 000:30 time
2016.12.10 12:39:30 3: Device Hzg_GzB added to ActionDetector with 000:10 time
2016.12.10 12:39:30 3: Device Hzg_GzR added to ActionDetector with 000:10 time
2016.12.10 12:39:30 3: Device Hzg_Ku added to ActionDetector with 000:60 time
2016.12.10 12:39:30 3: Device Hzg_Sz added to ActionDetector with 000:10 time
2016.12.10 12:39:30 3: Device Hzg_Wz1 added to ActionDetector with 000:10 time
2016.12.10 12:39:30 3: Device Hzg_Wz2 added to ActionDetector with 000:60 time
2016.12.10 12:39:30 3: Device Hzg_Wz3 added to ActionDetector with 000:60 time
2016.12.10 12:39:30 3: Device Li_Ez_Fenster added to ActionDetector with 000:10 time
2016.12.10 12:39:30 3: Device Li_Wz_Sideboard added to ActionDetector with 000:30 time
2016.12.10 12:39:30 3: Device Th_Bad added to ActionDetector with 000:10 time
2016.12.10 12:39:30 3: Device Th_Bu added to ActionDetector with 000:10 time
2016.12.10 12:39:31 3: Device Th_Ku added to ActionDetector with 000:10 time
2016.12.10 12:39:31 3: Device Th_Sz added to ActionDetector with 000:10 time
2016.12.10 12:39:31 3: Device Th_Wz_Ez added to ActionDetector with 000:10 time
2016.12.10 12:39:31 1: usb create starting
2016.12.10 12:39:32 3: Probing CUL device /dev/ttyAMA0
2016.12.10 12:39:32 3: Probing TCM_ESP3 device /dev/ttyAMA0
2016.12.10 12:39:32 3: Probing FRM device /dev/ttyAMA0
2016.12.10 12:39:37 1: usb create end
2016.12.10 12:39:37 2: SecurityCheck: WEB,WEBphone,WEBtablet has no associated allowed device with basicAuth. telnetPort has no associated allowed device with password/globalpassword. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2016.12.10 12:39:37 0: Featurelevel: 5.7
2016.12.10 12:39:37 0: Server started with 166 defined entities (fhem.pl:12680/2016-11-28 perl:5.020002 os:linux user:fhem pid:1142)
2016.12.10 12:39:37 5: rg_Klima: not on any display, ignoring notify
2016.12.10 12:39:38 5: rg_Klima: not on any display, ignoring notify
2016.12.10 12:39:41 5: rg_Klima: not on any display, ignoring notify
2016.12.10 12:39:54 5: rg_Klima: not on any display, ignoring notify
.
.
53 weitere gleiche Meldungen
.
.
2016.12.10 12:50:27 5: rg_Klima: not on any display, ignoring notify
2016.12.10 12:50:39 5: rg_Klima: not on any display, ignoring notify
2016.12.10 12:50:43 2: syntax error at (eval 763) line 1, at EOF
2016.12.10 12:50:43 2: syntax error at (eval 764) line 1, at EOF
2016.12.10 12:50:43 2: syntax error at (eval 765) line 1, at EOF
2016.12.10 12:50:43 2: syntax error at (eval 766) line 1, at EOF
2016.12.10 12:50:43 2: syntax error at (eval 767) line 1, at EOF
.... usw.
Ich kann keinen Fehler finden und muss passen. Notfalls werfe ich das attr weg... :-\
Gruß
Eberhard
Gruß Eberhard
EOF Bedeuten immer zu wenig Klammern
Zitat von: Dietmar63 am 10 Dezember 2016, 14:18:05
EOF Bedeuten immer zu wenig Klammern
Again wot learned ;-)
Zitat von: Dietmar63 am 10 Dezember 2016, 14:18:05
EOF Bedeuten immer zu wenig Klammern
Das war der durchgreifende Hinweis!! Danke Dietmar63.
da ich nicht so wirklich die fehlenden Klammern entdecken kann, habe ich die if....elsif Kurzform einfach aufgelöst. Nun ist aus der fehlerhaften Bedingung :
attr rg_Klima valueStyle {
if ($READING eq "temperature" || $READING eq "humidity" || $READING eq "measured-temp")
{'style="text-align:right;color:royalblue"'}
elsif
($READING eq "absFeuchte" )
{'style="font-size:15px;font-weight:bold;text-align:center"'}
}
geworden und funktioniert auch erwartungsgemäß ohne Fehlermeldungen. Trotzdem würde mich eine fehlerfreie Kurzform interessieren.
Viele(n) Grüße und Dank
Eberhard
Hallo,
ich bin nun über genau die gleiche Meldung 'gestolpert'.
Die Kurzform der if...else Anweisung benötigt zwei Bedingungs-Operatoren.
In dem Beispiel:
"{($READING eq "temperature" || $READING eq "humidity" )? 'style="text-align:right;color:royalblue"' : ($READING eq "absFeuchte" ) ? 'style="font-size:15px;font-weight:bold;text-align:left"'}"
fehlt somit ein abschließender Bedinguns-Operator else ':'.
"{($READING eq "temperature" || $READING eq "humidity" )
if ? 'style="text-align:right;color:royalblue"'
else : ($READING eq "absFeuchte" )
if ? 'style="font-size:15px;font-weight:bold;text-align:left"'}"
Mit dem Fragezeichen '?' wird der Teil ausgeführt wenn die Bedingung 'wahr' ist und mit dem Doppelpunkt ':' der Alternativ-Teil 'else'.
Die Klammerschreibweise erlaubt es auf den 'else' Teil zu verzichten.
Gruß, Reiner