#FHEMWEB notification:...SyntaxError: '' string literal contains an unescaped line break
Hallo Rudi,
aus einem DOIF heraus bekomme ich solch eine Meldung:
#FHEMWEB notification:
doifUpdateCell('Reset_Volume','informid','Reset_Volume-CommentData','Comment Line1 Comment Line2 Comment Line3')
SyntaxError: '' string literal contains an unescaped line break
In dem DOIF lese ich das Attribut comment aus, welches mehrzeiligen Text enthält. Der Inhalt kommt in eine Variable (zur Weiterverarbeitung), diese wird dann in ein Reading geschrieben welches über ein textFieldNL-long angezeigt wird. Das funktioniert alles wie gewünscht, nur beim ändern des Readings und anzeigen über das Widget erscheint die Notification.
Ich habe herausgefunden, dass dies mit fhemweb.js zusammenhängt. Mit der Version
fhemweb.js 25523 2022-01-20 19:44:28Z rudolfkoenig
tritt es nicht auf, mit der aktuellen kommt die Meldung. Es muss allerdings an einer Änderung ca Mitte 2022 gelegen haben, da ich die Meldung schon eine Weile bekomme. Mein DOIF dient zur Dokumentation der Batteriewechsel, weshalb ich es eher selten nutze und die Meldung bisher halt weggeklickt habe, da das DOIF ja genau das macht, was es soll.
Zum Test habe ich eine vereinfachte Version des DOIF gebaut, welches nur das comment Attribut ausliest und dann ins Reading schreibt, immer wenn der Button auf on wechselt:
defmod Reset_Volume DOIF init{\
fhem(qq(deletereading $SELF CommentData));;\
}\
\
clickON{\
if([$SELF:"button:.on"]){\
$_commentString = AttrVal(qq{$SELF},"comment","-");;\
set_Reading("CommentData",$_commentString,1);;\
}\
\
}\
attr Reset_Volume comment Comment Line1\
Comment Line2\
Comment Line3
attr Reset_Volume readingList button
attr Reset_Volume room di_UI_DOIF
attr Reset_Volume uiTable {\
package ui_Table;;\
}\
\
\
widget([$SELF:button],q(uzsuToggle,on,off))\
widget([$SELF:CommentData],q(textFieldNL-long))
wenn es irgendwo die fhemweb.js in allen Versionen zum runterladen gibt könnte raussuchen, ab wo genau die Meldung auftritt.
Die Meldung kommt übrigens trotz gesetztem confirmJSError 0, allerdings ist es ja auch kein "Error", sondern eine "Notification".
Das Ganze ist nicht wirklich ein "Problem", lediglich etwas lästig, da die Meldung auf allen geöffneten fhem-Seiten kommt.
Viele Grüße
Sany