Hauptmenü

svgplot

Begonnen von Gorean, 06 Februar 2016, 19:19:03

Vorheriges Thema - Nächstes Thema

Gorean

Hallo Leute,

ich habe heute einen 1ch Schalfaktor mit Leistungsmessung von Homematic in Betrieb genommen. Nach erfolgreichem Peering habe ich ein svgplot dafür eingerichtet. Das Ganze funktioniert auch soweit.

Ich erhalte vom Aktor für die Leistung den Wert Wh (Watt pro Stunde). Diesen Rechne ich im Plot mit $fld[2]/1000 auf kWh runter, damit dieser auf der Achse angezeigt wird.

Als plot title verwende ich <L1> damit ich mit einem attr die aktuellen Werte im Titeldiagramm darstellen kann.

Das attr schaut dabei wie folgt aus:

attr XXX label "Min: $data{min2} kW/h, Max: $data{max2} kW/h, Last: $data{currval2} kW/h, Avg: $data{avg2} kW/h => ca. XXX € p.a."

Das funktioniert bis auf die Berechnung der Kosten schon ziemlich gut. Leider gibt das aber zu viele Nachkommastellen aus.

Min: 0.12464 kW/h, Max: 0.31076 kW/h, Last: 0.27432 kW/h, Avg: 0.3 kW/h => ca. XXX € p.a.

Ich würde das gerne auf 2 Nachkommastellen begrenzen um Platz zu sparen. Hat jemand eine Idee wie man das lösen kann?

Weiter würde ich gerne die Kosten p.a. mit ausgeben (basierend auf dem AVG Wert). Wenn ich das so versuche

$data{avg}*24*365*0,29

schreibt er zwar den AVG Wert im Klartext hin, berechnet aber das Ergebnis nicht. Auch hier wäre ich für Ideen dankbar.

VG,
Peter



stromer-12

Zitat von: Gorean am 06 Februar 2016, 19:19:03
Das attr schaut dabei wie folgt aus:

attr XXX label "Min: $data{min2} kW/h, Max: $data{max2} kW/h, Last: $data{currval2} kW/h, Avg: $data{avg2} kW/h => ca. XXX € p.a."

Das funktioniert bis auf die Berechnung der Kosten schon ziemlich gut. Leider gibt das aber zu viele Nachkommastellen aus.

Min: 0.12464 kW/h, Max: 0.31076 kW/h, Last: 0.27432 kW/h, Avg: 0.3 kW/h => ca. XXX € p.a.

Ich würde das gerne auf 2 Nachkommastellen begrenzen um Platz zu sparen. Hat jemand eine Idee wie man das lösen kann?

Weiter würde ich gerne die Kosten p.a. mit ausgeben (basierend auf dem AVG Wert). Wenn ich das so versuche

$data{avg}*24*365*0,29

schreibt er zwar den AVG Wert im Klartext hin, berechnet aber das Ergebnis nicht. Auch hier wäre ich für Ideen dankbar.

VG,
Peter
Sollte so funktionieren:

attr xxx label { sprintf("Min: %.2f kW/h, Max: %.2f kW/h, Last: %.2f kW/h, Avg: %.2f kW/h => ca. %.2f", $data{min2},$data{max2},$data{currval2},$data{avg2},$data{avg2}*24*365*0.29) }
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

Gorean

Hey Stromer-12,

Danke!!! Funktioniert exakt so wie geplant. sprintf() hatte ich schon versucht, aber die Syntax verrissen. :(

Dir ein schönes Wochenende!

VG,
Peter