Hallo zusammen,
im FileLog der Thermostaten gibt es einen Eintrag "...... mode: auto" oder eco, on .... usw. Wie bekomme ich den Text "auto" in mein Label des Diagramms?
Hier mein fhem-Eintrag:define FileLog_Computer FileLog ./log/Computer-%m-%d-%w.log Computer:(temperature|valveposition|desiredTemperature|mode).*
und weiter:
attr Computer_weblink label "Computer: ist $data{currval2}°C soll $data{currval1}°C Ventil $data{currval3}% $data{currval4}"
So klappt das aber nicht. Habe es auch schon mit $data{currdate4} ohne Erfolg probiert. Da erscheint akt. Datum und Zeit.
Würde mich freuen, wenn mir jemand weiter helfen könnte.
Viele Grüße
Harald
Ist etwas aufwendiger:
currvalX (bzw. alle FileLog get Werte) funktioniert nur, wenn diese Zeile angezeigt wird, und sie wird nur angezeigt, falls die Werte numerisch sind. Man muss sie also mit einer Funktion wie $fld[X]=~"auto"?1:0 in .gplot erst umrechnen/anzeigen, dann kann man in label wieder zurueckrechnen mit ($data{currvalX}==1 ? "auto":manual")
Danke Rudolf für die schnelle Antwort. Dann werde ich das erstmal lassen. Wenn ich andere Sachen gelöst habe, gehe ich das mal an. Ist ja auch nicht so wichtig.
Einen schönen Tag noch
Harald
Hallo Rudolf,
leider funktioniert das nicht. Schreibe ich ($data{currval4}==1 ? "auto":"manual"), ergibt des Syntaxerror.
Wenn ich ($data{currval4}==1 ? 'auto':'manual') oder ohne ', mit und ohne zusätzliche Leerzeichen nutze, erhalte ich (1 == 1 ? auto:manual). Die Bedingung wird anscheinend nicht ausgewertet.
Was mache ich da noch falsch?
Viele Grüße
Harald
attr Computer_weblink label "Computer: ist $data{currval2}°C soll $data{currval1}°C Ventil $data{currval3}% Mode:". ($data{currval4}==1 ? "auto":"manual")
Als Einzeiler.
Rudolf, herzlichen Dank für die Hilfe! Es klappt so prima.
#FileLog 4:mode\x3a:0:$fld[3]=~"auto"?0:1
- ja, ja, gewust wie - und schon wieder was gelernt!
Viele Dank nochmal und viele Grüße
Harald