FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Gunther am 15 März 2014, 23:03:29

Titel: OWL: LOG und PLOT von Tages, Monats Jahres Stromverbrauch
Beitrag von: Gunther am 15 März 2014, 23:03:29
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?
Titel: Antw:OWL: LOG und PLOT von Tages, Monats Jahres Stromverbrauch
Beitrag von: Gunther am 18 März 2014, 11:05:24
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!  ;)
Titel: Antw:OWL: LOG und PLOT von Tages, Monats Jahres Stromverbrauch
Beitrag von: blueberry63 am 18 März 2014, 12:08:45
Suche mal nach HourCounter, das Modul bietet eigentlich alles, was Du brauchst.

Gruß
Blueberry63
Titel: Antw:OWL: LOG und PLOT von Tages, Monats Jahres Stromverbrauch
Beitrag von: netbus am 18 März 2014, 12:11:54
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.
Titel: Antw:OWL: LOG und PLOT von Tages, Monats Jahres Stromverbrauch
Beitrag von: Gunther am 18 März 2014, 23:36:56
@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
Titel: Antw:OWL: LOG und PLOT von Tages, Monats Jahres Stromverbrauch
Beitrag von: afroasiate am 15 August 2014, 12:34:46
Ich würde gerne wissen welche gplot-Dateien hier verwendet werden?
Titel: Antw:OWL: LOG und PLOT von Tages, Monats Jahres Stromverbrauch
Beitrag von: netbus am 22 August 2014, 08:58:19
Hallo Gunther,
bist du da schon weiter gekommen?
Ich bin auch noch immer auf der Suche um Monatsverbrauch graphisch oder textuell darzustellen.