GELÖST Grafische Darstellung über "Function" verändern [W/h] in [kW/h]

Begonnen von FHEm2005, 17 März 2014, 09:26:36

Vorheriges Thema - Nächstes Thema

FHEm2005

Ich habe von einem Homematic Zwischenstecker Verbrauchswerte in Watt/h, die ich gerne über gplot in kW/h darstellen möchte. Nach meiner Recherche wird für die Darstellung eine Logzeile offensichtlich in ein array $fld[ ]  eingelesen. Die Anzahl der Elemente richtet sich wohl nach den gefundenen "Leerzeichen". Eine Zeile aus meinem Log sieht so aus:
2014-03-15_18:04:52 Stecker01_Pwr energy: 5737.9            also gibt es vier Einträge (beginnend mit 0).
------$fld[0]------+--$fld[1]----+$fld[2]+$fld[3]

Der eigentliche Messwert (5737,9) ist im Datenfeld $fld[3] zu finden. Jetzt habe ich im Feld Fuction den Ausdruck
$fld[3]=$fld[3]/1000  eingetragen. Jetzt wird der dargestellte Wert korrekt in kw/h dargestellt.
Ich frage mich jetzt:

  • geht das noch einfacher? und
  • wo kann ich bezüglich der Verwendung von Functions etwas mehr erfahren?
Für die Darstellung ohne Brücksichtigung von Nachkommatas reicht ja auch der Eintrag von int aus und nicht $fld[3]=int $fld[3]
Die Dokumentation von gnu-plot ist zu mächtig. Schön wäre etwas auf fhem Zugeschnittenes.

Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM, BSB-LAN

Joachim

Alternativ ein userReading verwenden, und gleich den geäderten Wert loggen.

Beispiel:

attr Zwischenstecker userReadings kW/h { int ( 10 *( (ReadingsVal("Zwischenstecker","Wattstunde",0) / 1000) + 0.5 ) / 10 }
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

FHEm2005

Danke für die interessante Alternative; ich werde sie im Hinterkopf behalten, wenn ich die Log-Daten verändert abspeichern möchte. Nur ein kleiner Hinweis:
[korinthenkackermodus] Hinter der letzten 10 fehlt noch 'ne Klammer zu. Sorry, aber nur zu Vervollständigung. [/korinthenkackermodus]

Mir geht es momentan hier nur um das THema gplot und die damit verbundenen Möglichkeiten über Function angezeigte Logwerte gezielt temporär  zu verändern.

Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM, BSB-LAN

FHEm2005

Da sucht man tagelang nach Informationen und fragt letztendlich das Forum. Dann hat man den Thread eingestellt, schaut noch mal ins wiki und dann - oh-Graus-mich-trifft-der-Schlag - findet man einen Beitrag in englischer Sprache, der sagt was Sache ist.

Fazit: Nicht nur eine Nacht warten, bevor man (ich) etwas einstellt sondern immer eine Nacht länger  :-[

Es gibt nur zwei Funktionen, die eingearbeitet sind: int und delta-h bzw. delta-d. Alles Andere geht nur über pearl-Ausdrücke wie oben erwähnt.

Gefunden habe ich es unter: http://www.fhemwiki.de/wiki/Creating_Plots

Danke nochmal an Joachim.

Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM, BSB-LAN

Joachim

Moin FHEm2005,

ZitatNur ein kleiner Hinweis:
[korinthenkackermodus] Hinter der letzten 10 fehlt noch 'ne Klammer zu. Sorry, aber nur zu Vervollständigung. [/korinthenkackermodus]

Da hast Du recht, also hier die korrigierte Version:

attr Zwischenstecker userReadings kW/h { int ( 10 *( (ReadingsVal("Zwischenstecker","Wattstunde",0) / 1000) + 0.5 ) / 10 )}

das kommt davon, wenn man eigenen Codeschnippsel versucht anzupassen.
Gut dass Du eine Lösung für Dich gefunden hast.
Setze bitte deinen Tread-Titel auf gelöst.

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232