Ich habe einen OWL per USB an meinem RPI und versuche nun Tages-, Monats und Jahresauswertungen hinzubekommen. Leider bin ich da derzeit noch in einer Ausprobierphase.
Ich bin nach dieser Anleitung hier vorgegangen um das ganze erfolgreich zum Laufen zu bekommen:
http://www.meintechblog.de/2013/10/smart-metering-mit-owl-usb-und-fhem-live-tracking-des-stromverbrauchs/ (http://www.meintechblog.de/2013/10/smart-metering-mit-owl-usb-und-fhem-live-tracking-des-stromverbrauchs/)
Das Plotten des aktuellen Stromverbrauchs habe ich wie folgt realisiert:
# OWL Strommonitor
define Strommonitor CM160 /dev/ttyUSB1@256000
attr Strommonitor co2Factor 0.59
attr Strommonitor costPerKwh 0.30
attr Strommonitor currency €
attr Strommonitor room Heizungsraum
attr Strommonitor voltage 195
# Reduzierung des Datenverkehrs
# Dummy AktuellerStromverbrauch soll alle 5 Sekunden mit dem aktuellen Stromverbrauch aktualisiert werden
# Hierdurch wird das Reading "W" des Geräts "Strommonitor" ausgelesen und alle 5 Sekunden in den Dummy "AktuellerVerbrauch" geschrieben.
define AktuellerStromverbrauch dummy
attr AktuellerStromverbrauch event-on-change-reading state
attr AktuellerStromverbrauch room Heizungsraum
define WattUsageAnDummy at +*00:00:05 { my $d= ReadingsVal("Strommonitor","W",0);; fhem("set AktuellerStromverbrauch $d");;}
# Logfile
define FileLog_AktuellerStromverbrauch_Jahr FileLog ./log/AktuellerStromverbrauch-%Y.log AktuellerStromverbrauch
attr FileLog_AktuellerStromverbrauch_Jahr logtype text
attr FileLog_AktuellerStromverbrauch_Jahr room Heizungsraum
# Plot
define SVG_FileLog_AktuellerStromverbrauch_1 SVG FileLog_AktuellerStromverbrauch_Jahr:SVG_FileLog_AktuellerStromverbrauch_1:CURRENT
attr SVG_FileLog_AktuellerStromverbrauch_1 room Heizungsraum
attr SVG_FileLog_AktuellerStromverbrauch_1 title "aktueller Stromverbrauch"
Sieht dann wie im Anhang aus.
Nun bekomme zu meinem Problem.
A) Ich möchte drei Balkendiagramme haben, die mir den kummulierten Stromverbrauch anzeigen:
1.) nach Tagen
2.) nach Monaten
3.) nach Jahren
Meine Lösungsansatz ist das Reading zu nutzen und am Ende des jeweilogen Intervalls auszulesen.
Also z. B. bei 1.) immer um 23:59:59 den Wert des Reading abzugreifen.
Im Anhang ist ein Screenshot des Readings. Dazu wäre ja für 1. entscheidend: "cumHour" mit "P:" zu nutzen.
Ist mein Ansatz richtig? Falls ja, wie realisiere ich diesen? Ich scheitere schon daran alleine P: aus cumHour zu loggen.
Freue mich über Hilfe.
B) Warum weichen W: und P: voneinander ab. Diese dürften doch nur um einen Faktor 1000 unterschiedlich sein. Stehe ich hier auf dem Schlauch?
Vermutlich rede ich zu wirr oder packe zuviel rein. Falls jemand sich gerade windet zu helfen, da Infos nicht sauber sind. Ich liefere gerne nach! ;)
Suche mal nach HourCounter, das Modul bietet eigentlich alles, was Du brauchst.
Gruß
Blueberry63
Vor dem Problem stand ich auch.
Es beginnt schon damit dass das CM160 Modul veraltet ist und laut experten falsch loggt. (http://forum.fhem.de/index.php/topic,18680.msg127488.html#msg127488)
Ich habe Tages, Wochen und Monatsgraph so realisiert.
attr SVG_FileLog_AktuellerVerbrauch_1 label "min: $data{min1}, max: $data{max1}, avg: $data{avg1}, Last $data{currval1}"
attr SVG_FileLog_AktuellerVerbrauch_1 room Graphen
define SVG_FileLog_AktuellerVerbrauch_2 SVG FileLog_AktuellerVerbrauch:SVG_FileLog_AktuellerVerbrauch_2:CURRENT
attr SVG_FileLog_AktuellerVerbrauch_2 fixedrange 7days
attr SVG_FileLog_AktuellerVerbrauch_2 label "min: $data{min1}, max: $data{max1}, avg: $data{avg1}, Last $data{currval1}"
attr SVG_FileLog_AktuellerVerbrauch_2 room Graphen
define SVG_FileLog_AktuellerVerbrauch_3 SVG FileLog_AktuellerVerbrauch:SVG_FileLog_AktuellerVerbrauch_3:CURRENT
attr SVG_FileLog_AktuellerVerbrauch_3 fixedrange month
attr SVG_FileLog_AktuellerVerbrauch_3 label "min: $data{min1}, max: $data{max1}, avg: $data{avg1}, Last $data{currval1}"
attr SVG_FileLog_AktuellerVerbrauch_3 room Graphen
Ist aber eine unschöne und auf einem RPi langsame Methode.
@Blueberry63: Danke für Deine Antwort. Das muss ich mir mal an einem ruhigen Nachmittag zu Gemüte führen...
@netbus: Danke für den Code.
Wie sehen denn Deine gplot-Dateien aus?
Ich vermute, folgendes muss ich noch zusätzlich aufnehmen, richtig?
define SVG_FileLog_AktuellerVerbrauch_2 SVG FileLog_AktuellerVerbrauch:SVG_FileLog_AktuellerVerbrauch_2:CURRENT
Ich würde gerne wissen welche gplot-Dateien hier verwendet werden?
Hallo Gunther,
bist du da schon weiter gekommen?
Ich bin auch noch immer auf der Suche um Monatsverbrauch graphisch oder textuell darzustellen.