Energieverbrauch Plot mit Berechnung der Kosten in €

Begonnen von heinemannj66, 26 November 2013, 09:22:09

Vorheriges Thema - Nächstes Thema

heinemannj66

Kann man auf der linken Y-Achse den Verbrauch in Wh und auf der Rechten die korrespondierenden Kosten in € auftragen?

Meine Plot Daten sehen zur Zeit so aus:

2013-11-26_09:14:26 Stromzaehler energy: 37757.459 Wh
2013-11-26_09:15:26 Stromzaehler energy: 37760.4987 Wh
2013-11-26_09:16:26 Stromzaehler energy: 37762.5384 Wh
2013-11-26_09:17:26 Stromzaehler energy: 37767.5781 Wh


define FileLog_Stromzaehler_Energy FileLog ./log/Stromzaehler_Energy-%Y.log Stromzaehler:energy\x3a.*
attr FileLog_Stromzaehler_Energy logtype power4:Power,text
attr FileLog_Stromzaehler_Energy room hidden

define SVG_Stromzaehler_Energy_Day SVG FileLog_Stromzaehler_Energy:energy4-delta-d:CURRENT
attr SVG_Stromzaehler_Energy_Day label "Stromzaehler_Energy_Day Min $data{min1}, Max $data{max1}, Last $data{currval1}"
#attr SVG_Stromzaehler_Energy_Day fp_0_Uebersicht 204,820,0,
attr SVG_Stromzaehler_Energy_Day room Stromverbrauch
attr SVG_Stromzaehler_Energy_Day title "Stromverbrauch / Tag"
attr SVG_Stromzaehler_Energy_Day group 00_Stromverbrauch



# Created by FHEM/98_SVG.pm, 2013-11-26 08:49:28
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics
set y2tics
set grid
set ylabel "Energy (kWh)"
set y2label "Energy (kWh)"

#FileLog 4:Stromzaehler.*::delta-d

plot "<IN>" using 1:2 axes x1y2 notitle ls l0 lw 1 with lines

fiedel

Sollte kein Problem sein: Userreadings zum Zähler hinzufügen in dem der momentane oder aufsummierte Verbrauch mit dem KWH- Preis multipliziert wird. Diesen Userreadings im gleichen Log wie den Stromverbrauch loggen und per Ploteditor in den Plot aufnehmen. Beispiele zu Userreadings findest du u.a. in Threads mit OWDevice, bzw. OWCounter.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

heinemannj66

Ich verzweifel gerade an den userReadings bzw. dem FileLog:

define FBDECT_16 FBDECT 16 switch,powerMeter
attr FBDECT_16 event-min-interval power:10
attr FBDECT_16 userReadings energy_kWh { ReadingsVal("FBDECT_16","energy",0)/1000 . " kWh";; }, costs { ReadingsVal("FBDECT_16","energy",0)/1000*0.25 . " €";; }

define FileLog_FBDECT_16_Energy FileLog ./log/FBDECT_16_Energy-%Y.log FBDECT_16:(energy_kWh|costs)\x3a.*
attr FileLog_FBDECT_16_Energy logtype power4:Power,text
attr FileLog_FBDECT_16_Energy room hidden


Jeder Eintrag wird 6x geloggt - der Plot stimmt somit nicht.

2013-11-29_15:39:44 FBDECT_16 costs: 7.38675 €
2013-11-29_15:39:44 FBDECT_16 energykWh: 29.547 kWh
2013-11-29_15:39:44 FBDECT_16 costs: 7.38675 €
2013-11-29_15:39:44 FBDECT_16 energykWh: 29.547 kWh
2013-11-29_15:39:44 FBDECT_16 costs: 7.38675 €
2013-11-29_15:39:44 FBDECT_16 energykWh: 29.547 kWh
2013-11-29_15:39:44 FBDECT_16 costs: 7.38675 €
2013-11-29_15:39:44 FBDECT_16 energykWh: 29.547 kWh
2013-11-29_15:39:44 FBDECT_16 costs: 7.38675 €
2013-11-29_15:39:44 FBDECT_16 energykWh: 29.547 kWh
2013-11-29_15:39:44 FBDECT_16 costs: 7.38675 €
2013-11-29_15:39:44 FBDECT_16 energykWh: 29.547 kWh


Event Monitor Log:

2013-11-29 15:39:44 FBDECT FBDECT_16 power: 4.14 W
2013-11-29 15:39:44 FBDECT FBDECT_16 costs: 7.38675 €
2013-11-29 15:39:44 FBDECT FBDECT_16 energykWh: 29.547 kWh
2013-11-29 15:39:44 FBDECT FBDECT_16 voltage: 233.021 V
2013-11-29 15:39:44 FBDECT FBDECT_16 costs: 7.38675 €
2013-11-29 15:39:44 FBDECT FBDECT_16 energykWh: 29.547 kWh
2013-11-29 15:39:44 FBDECT FBDECT_16 current: 0.0396 A
2013-11-29 15:39:44 FBDECT FBDECT_16 costs: 7.38675 €
2013-11-29 15:39:44 FBDECT FBDECT_16 energykWh: 29.547 kWh
2013-11-29 15:39:44 FBDECT FBDECT_16 energy: 29547 Wh
2013-11-29 15:39:44 FBDECT FBDECT_16 costs: 7.38675 €
2013-11-29 15:39:44 FBDECT FBDECT_16 energykWh: 29.547 kWh
2013-11-29 15:39:44 FBDECT FBDECT_16 powerFactor: 0.000
2013-11-29 15:39:44 FBDECT FBDECT_16 costs: 7.38675 €
2013-11-29 15:39:44 FBDECT FBDECT_16 energykWh: 29.547 kWh
2013-11-29 15:39:44 FBDECT FBDECT_16 on
2013-11-29 15:39:44 FBDECT FBDECT_16 costs: 7.38675 €
2013-11-29 15:39:44 FBDECT FBDECT_16 energykWh: 29.547 kWh

justme1968

#3
die user readings werden für jedes reading das dein device ändert neu ausgewertet.

das kannst du verbindern in dem du event-on-change-reading passend setzt.

wenn du user readings auch haben möchtest wenn sich der wert nicht ändern kannst du angeben von welchem original wert sie abängen. dann werden sie nur ausgewertet wenn das device diesen aktualisiert:attr FBDECT_16 userReadings energy_kWh:energy { ReadingsVal($name,"energy",0)/1000 . " kWh"}, costs:energy { ReadingsVal($name,"energy",0)/1000*0.25 . " €")}

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

heinemannj66

SUPER - das ist die Lösung für das FileLog.

Die beiden Kurven werden im Plot auch dargestellt - jedoch nicht Zeitsynchron.
Die Kostenkurve liegt 1 Stunde zurück, obwohl ich jeweils die delta-h Funktion nutze und die jeweiligen Zeitstempel im FileLog identisch sind.

Die Skalierung gefällt mir auch noch nicht so ganz - eigentlich sollten beide Kurven aufeinander liegen, sodaß ich in der linken Spalte direkt den € Betrag für den korrespondierenden kWh Verbrauch ablesen kann.

attr FBDECT_16 userReadings energy_kWh:energy { ReadingsVal("FBDECT_16","energy",0)/1000 . " kWh";; }, costs:energy { ReadingsVal("FBDECT_16","energy",0)/1000*0.25 . " €";; }

define FileLog_FBDECT_16_Energy FileLog ./log/FBDECT_16_Energy-%Y.log FBDECT_16:(energy_kWh|costs)\x3a.*
attr FileLog_FBDECT_16_Energy logtype power4:Power,text
attr FileLog_FBDECT_16_Energy room hidden


2013-11-30_11:14:34 FBDECT_16 costs: 7.40825 €
2013-11-30_11:14:34 FBDECT_16 energy_kWh: 29.633 kWh
2013-11-30_11:16:34 FBDECT_16 costs: 7.40825 €
2013-11-30_11:16:34 FBDECT_16 energy_kWh: 29.633 kWh
2013-11-30_11:18:34 FBDECT_16 costs: 7.40825 €
2013-11-30_11:18:34 FBDECT_16 energy_kWh: 29.633 kWh


define SVG_FBDECT_16_Energy SVG FileLog_FBDECT_16_Energy:energy4:CURRENT
attr SVG_FBDECT_16_Energy group 11_Wohnen-Steckdose-Fernsehschrank
attr SVG_FBDECT_16_Energy label "FBDECT_16_Energy Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr SVG_FBDECT_16_Energy room Stromverbrauch
attr SVG_FBDECT_16_Energy title "Stromverbrauch / Stunde"


# Created by FHEM/98_SVG.pm, 2013-11-26 20:04:21
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics
set y2tics
set grid
set ylabel "Energy (kWh)"
set y2label "Costs (€)"

#FileLog 4:energy_kWh\x3a::delta-h
#FileLog 4:costs\x3a::delta-h

plot "<IN>" using 1:2 axes x1y1 notitle ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 notitle ls l1 lw 1 with lines




justme1968

schau dir mal statt dem delta_h beim plotten das differential attribut für die userReadings an. damit kannst du die ableitung in der gleichen auflösung bestimmen mit der deine original readings kommen. dann funktioniert der plott egal wie weit rein und raus gezoomt wird.

die aktuelle leistungsaufnahme würde ich übrigens nicht in kw angeben sondern in w. dann sind es nicht so kleine zahlen. die beschriftung der achse sollte dann auch nur W (oder kW) sein. als plottfunction ist dafür histeps besser als lines.die fläche unter den balken entspricht dann dem verbrauch.

das gilt auch für die kosten.  die beziehen sich ja nicht auf einen zeitpunkt sonder auch auf einen zeitraum.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968