Hallo zusammen,
ich nutze für die Überwachung meiner PV-Anlage SMA-Spot in Verbindung mit den SMAUtils.
Im logfile wird jetz auch die Wechselrichtertemperatur geloggt,
allerdings leider mit direkt angehängter Einheit °C.
2014-07-01_05:31:10 wr.stp5000tl device_temperature: 30.0°C
Leider kann ich damit für eine Plot nichts anfangen.
Hier die Plot Definition:
pv-%Y-%m.log wr.stp5000tl:(string_1_idc|string_2_idc|string_1_udc|string_2_udc|string_1_pdc|string_2_pdc|total_pac|device_temperature).*
Kann ich dort bereits das mitloggen der Einheit vermeiden?
Wenn ja - wie?
Ich müsste ja vermutlich die Regexp anpassen mit \d\d.\d aber wo trage ich das ein?
Oder muss das in die Plot-Definition mir rein?
Habe das regexp mit fhem noch nicht wirklich verstanden...
Danke und Gruß,
Thorsten
So - bin einen Schritt weiter:
Ich habe jetzt die Plot-Definition angepasst.
Von
pv-%Y-%m.log wr.stp5000tl:(string_1_idc|string_2_idc|string_1_udc|string_2_udc|string_1_pdc|string_2_pdc|total_pac|device_temperature).*
auf
pv-%Y-%m.log wr.stp5000tl:string_1_idc.*|string_2_idc.*|string_1_udc.*|string_2_udc.*|string_1_pdc.*|string_2_pdc.*|total_pac.*|device_temperature.*
jetzt wir natürlich immer noch alles geloggt.
Wenn ich den Part device_temperature.* in device_temperature.\d\d\.\d ändere wird allerdings die Temperatur gar nicht mehr geloggt.
Wie bekomme ich das hin das nur die Ziffern der Temperatur ohne das °C in das Logfile eingetragen werden?
Gruß,
Thorsten
Hi thoweiss
ich fürchte du bohrst am falschen Ende.
ZitatIch habe jetzt die Plot-Definition angepasst.
Du passt die Log-Definition an und nicht die Plot-Definition.
Mit der Log-Definition definierst du einen Filter über Events, die in der Logdatei erscheinen sollen.
Transformieren, also ändern, kannst hier nichts.
Aber wenn du dich den Charts und deren Auswertung zuwendest, kannst du einzelne Terme einer Zeile modifizieren.
Schau dir mal als Beispiel folgende Seite an
http://www.fhemwiki.de/wiki/HourCounter#Chart_der_Aktualwerte (http://www.fhemwiki.de/wiki/HourCounter#Chart_der_Aktualwerte)
Hier werden einzelne Terme umgerechnet.
Ich kann dir zwar noch nicht die Lösung zeigen, aber vielleicht den Weg weisen.
Nachtrag:
Das könnte ggf eine Lösung sein.
gefunden bei http://www.fhemwiki.de/wiki/Creating_Plots#Data_Extraction (http://www.fhemwiki.de/wiki/Creating_Plots#Data_Extraction)
ZitatSo you can do something like attr <weblink> title "Min $data{min1}, Max $data{max1}, Last $data{currval1}" Also implemented in this function is code which operates on the data retrieved. This can be specified at the "<fn>" tag. Up till now following functions are impemented:
int (to cut off % from a number, as for the actuator)
John
Danke für den Hinweis. Ich werde das dann als Funktion bei den plots versuchen.
Gruß,
Thorsten
Ich habe es jetzt so gelöst:
Ich habe als Funktion jetzt folgendes eingefügt:
$fld[3]=substr($fld[3],0,4)
Dadurch werden nur die ersten vier Zeichen übernommen und das °C wird abgeschnitten.
Danke nochmal für den Schubser in die richtige Richtung!
Hi thoweiss,
funktioniert das auch, wenn nur einstelle vor dem Komma vorkommt ? (z.B. 9.0°C)
wenn du in das Logfile einfach einen derartigen Wert reinschreibst kannst du es testen.
John
Mist erwischt - das funktioniert natürlich nicht. Allerdings treten einstellige Temperaturen beim Wechselrichter bei mir nicht auf.
Leider bekomme ich die regexp-lösung nicht hin. Damit stehe ich auf kriegsfuss:-X