Autor Thema: Probleme Werte aus userReading für gplot zu extrahieren  (Gelesen 1244 mal)

Offline laufhem

  • New Member
  • *
  • Beiträge: 9
Hallo,
ich scheitere leider gerade daran, aus einem selbst definiertem userReading die entsprechenden Zahlenwerte per RegExp o.Ä. zu extrahieren.
Ich lese von meinem Stromzähler in einem UserReading die derzeitige Leistung, die verbrauchte und die eingespeiste Energie und schreibe diese in einen FileLog:

attr Stromzaehler userReadings StromDataLog {sprintf("Power: %3.0fW Consumption: %3.1fWh Feed: %3.1fWh", ReadingsVal("Stromzaehler","power", 0),ReadingsVal("Stromzaehler","total_consumption", 0),ReadingsVal("Stromzaehler","total_feed", 0))}
attr Stromzaehler event-min-interval StromDataLog:2
define Stromlog_red FileLog ./log/StromDataLog_%Y_%m.log Stromzaehler:StromDataLog.*
attr Stromlog_red logtype text


Wenn ich nun allerdings von der WebOberfläche aus dem Filelog heraus einen SVG-Plot erzeugen möchte, kann er aus der einen Zeile nicht mehr die einzelnen Werte extrahieren.
Wie muss der passende RegExp in der gplot-Datei aussehen?

#Stromlog_red 4:Stromzaehler.StromDataLog.*Power.*\x3a:: oder Ähnlich funktioniert schonmal nicht.
Ich hoffe, ihr könnt mir helfen.

Vielen Dank

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 24686
Antw:Probleme Werte aus userReading für gplot zu extrahieren
« Antwort #1 am: 02 Juli 2021, 08:33:58 »
Zahlen mit Suffix kann man mit der int Funktion (Siehe https://fhem.de/commandref_modular.html#FileLogget) bereinigen.
Einfacher hat man es, wenn man bei der UserReading ein Leerzeichen zwischen Wert und Einheit laesst.

Offline laufhem

  • New Member
  • *
  • Beiträge: 9
Antw:Probleme Werte aus userReading für gplot zu extrahieren
« Antwort #2 am: 20 Juli 2021, 13:13:50 »
Danke für den Hinweis, aber ich scheitere an der praktischen Umsetzung.
1) Mit der Int-Funktion kann ich nur den ersten Integer pro Zeile extrahieren, oder? Also Kann ich damit nicht sowohl Power, als auch Consumption für den Plot extrahieren?
2) Wie würde der konkrete Befehl im SVG Plot Editor aussehen?
Line 1 Stromlog_red 4 Stromzaehler.* int funktioniert leider nicht.

2021-07-20_13:07:35 Stromzaehler StromDataLog: Power: 136 W  Consumption: 1234500.8 Wh Feed: 2345.3 Wh

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 24686
Antw:Probleme Werte aus userReading für gplot zu extrahieren
« Antwort #3 am: 20 Juli 2021, 13:23:53 »
Fuer die angezeigte Zeile braucht man kein int.
Power ist Spalte 5, Consumption ist 8 (im Plot Editor wird ab 1 gezehlt).

Offline laufhem

  • New Member
  • *
  • Beiträge: 9
Antw:Probleme Werte aus userReading für gplot zu extrahieren
« Antwort #4 am: 20 Juli 2021, 13:46:41 »
Danke, so einfach wars.

 

decade-submarginal