Gplot/SVG: Rechnen mit avg, cnt, min, max...?

Begonnen von cwagner, 20 Oktober 2013, 20:11:32

Vorheriges Thema - Nächstes Thema

cwagner

Für die schnelle Übersicht und die Beschriftung von Plots sind die genannten Funktionen super. Zum Beispiel mit
"Temp außen $data{currval1}° (min:$data{min1} / avg: $data{avg1} / max: $data{max1}), Feuchte $data{currval2}% ($data{min2} / $data{max2}) | $data{currdate1}"
als Titelattribut die aussagefähige Zeile:
Temp außen 13.9° (min:12.4 / avg: 15.2 / max: 18), Feuchte 92% (80 / 98) | 2013-10-20_20:06:37

In einzelnen Fällen würde ich gerne mit diesen Werten rechnen, zum Beispiel einen Korrekturfaktor einbringen: ist so etwas wie $data{cnt/2} umsetzbar. Dies hier scheitert an den Konventionen...

Danke für Tipps aus der Gemeinde

Christian

PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Rantanplan

wo willst du denn den korrekturfaktor einbringen?
Solltest du Werte vor dem plotten korrigieren, kannst du in den Plot-Editor bei "Input:Column,Regexp,DefaultValue,Function" der zu korrigierenden Kurve, in die Function Spalte zB folgendes einfügen:
$fld[3]/=10 (der 4. kommagetrennte Wert deines Logs durch 10 geteilt;man beginnt bei 0 an zu zählen)
Logisches Denken und http://sphaerula.com/legacy/Perl/Beginning/lesson06.html lesen Vorausgesetzt ;)

in deinem Fall wäre es wohl
$fld[3]/=2

cotecmania

#2
Hallo,

ich würde auch gerne in der Titelzeile rechnen.
Darstellen will ich nur die Minuten im Schaubild.
Im Titel die max. Minuten in Minuten UND Stunden als Zahl darstellen (also /60)
Ausserdem Nachkommastellen begrenzen ?

Geht das ?

Gruss
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

cotecmania

Hallo,

hier die Lösung :

sprintf("Stromverbrauch Heizung --> Min: %d W, Max: %d W, Aktu: %d W, Summe: %.1f KWh", $data{min1}, $data{max1}, $data{currval1}, $data{sum1}/1000/12)

Gruss
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI