Stromverbrauch pro Monat wird nicht im SVG Plot angezeigt

Begonnen von axel.mohnen, 12 Oktober 2014, 20:01:58

Vorheriges Thema - Nächstes Thema

axel.mohnen

Hallo Fhem´ler,

ich möchte meinen Stromverbrauch als Balkendiagramm im SVG plot anzeigen lassen.
Das Attribute "fixedrange" habe ich auf "year" gesetzt damit ich den Monatsverbrauch über das ganze Jahr sehen kann.
Leider wird garnix angezeigt :-(.

Anbei habe ich die Definitionen von Device (Stromzähler SMLUSB), Filelog und SVG angehangen.
Einen Auszug aus der Filelog ist auch dabei.

Der Wert "Month" aus dem Regexp "statZählerstand-Bezug-Total" ist ein delta Wert der im Module "98_statistics" berechnet wird und an das Device 70_SMLUSB angehangen wurde.

Wenn ich die fixedrange auf "month" und die filelog Funktion "delta-d" setzen bekomme ich ein schönes Balkendiagramm mit dem Tagesverbauch angezeigt.

Hat von euch jemand eine Idee was ich vergessen habe?

Vielen Dank im Voraus.

Devive (SMLUSB):
Internals:
   CHANGED
   DEF        /dev/ttyUSB0
   DeviceName /dev/ttyUSB0
   FD         12
   NAME       eg.hw.sz.haushalt
   NR         66
   PARTIAL
   STATE      W: 305.00 - Bezug
   TYPE       SMLUSB
   Readings:
     2014-10-12 19:28:46   Momentanleistung 305.00
     2014-10-12 19:28:46   Zählerstand-Bezug-Total 6761.86
     2014-10-12 19:28:46   Zählerstand-Tarif-1-Bezug 6761.86
     2014-09-24 23:59:57   Zählerstand-Tarif-2-Bezug 0.03
     2014-10-12 19:22:56   statZählerstand-Bezug-Total Hour: 0.110 Day: 9.820 Month: 73.900 Year: 73.900 (since: 2014-10-04 )
     2014-10-12 18:59:55   statZählerstand-Bezug-TotalLast Hour: 0.520 Day: 9.910 Month: 5.8 Year: -
   Helper:
     PARTIAL    1B1B1B010101017605073C6EDC62006200726301017601010502697A4A09080535342D4C8165010163530B007605073C6EDD6200620072630701770109080535342D4C8165070100620AFFFF72620165050ECBC77B77078181C78203FF010101010449534B0177070100000009FF0101010109080535342D4C81650177070100010800FF650000018201621E52FF59000000000407C7290177070100010801FF0101621E52FF59000000000407C7290177070100010802FF0101621E52FF59000000000000000001770701000F0700FF0101621B520065000001330177070100150700FF0101621B520065000000860177070100290700FF0101621B5200650000009F01770701003D0700FF0101621B5200650000000D0177070100600505FF0101010165000001820177078181C78205FF0101010183023FD9892643654A1FEE5C76E83C4E25EF97EC41AF9D2599C72624E39C69F0966673E7F8C5D0D72D183B83CE710741E77D010101637157007605073C6EDE620062007263020171016347AA001B1B1B1B1A006DEE
     _98_statistics eg.hw.sz.haushalt.stat
Attributes:
   alias      Stromzähler Haushalt
   event-min-interval *:600
   room       HWR


Filelog:
Internals:
   DEF        ./log/HH-%Y-%m.log eg.hw.sz.haushalt
   NAME       eg.hw.sz.haushalt.log
   NOTIFYDEV  eg.hw.sz.haushalt
   NR         71
   NTFY_ORDER 50-eg.hw.sz.haushalt.log
   REGEXP     eg.hw.sz.haushalt
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/HH-2014-10.log
   logfile    ./log/HH-%Y-%m.log
   Pos:
Attributes:
   custom_graph 4:measured@deg@measured
   logtype    power8:power,text
   room       HWR


SVG Plot:
Internals:
   DEF        eg.hw.sz.haushalt.log:SVG_eg.hw.sz.haushalt.log_2:CURRENT
   GPLOTFILE  SVG_eg.hw.sz.haushalt.log_2
   LOGDEVICE  eg.hw.sz.haushalt.log
   LOGFILE    CURRENT
   NAME       SVG_eg.hw.sz.haushalt.log_2
   NR         81
   STATE      initialized
   TYPE       SVG
Attributes:
   fixedrange year
   label      "Verbrauch min: $data{min1}, max: $data{max1}, last: $data{currval1}"
   room       HWR


LogFile HH-2014-10.log:
2014-10-12_19:02:54 eg.hw.sz.haushalt Zählerstand-Bezug-Total: 6761.74
2014-10-12_19:02:54 eg.hw.sz.haushalt Zählerstand-Tarif-1-Bezug: 6761.74
2014-10-12_19:02:54 eg.hw.sz.haushalt Momentanleistung: 281.00
2014-10-12_19:02:54 eg.hw.sz.haushalt statZählerstand-Bezug-Total: Hour: 0.020 Day: 9.730 Month: 73.810 Year: 73.810 (since: 2014-10-04 )
2014-10-12_19:12:55 eg.hw.sz.haushalt Zählerstand-Bezug-Total: 6761.78
2014-10-12_19:12:55 eg.hw.sz.haushalt Zählerstand-Tarif-1-Bezug: 6761.78
2014-10-12_19:12:55 eg.hw.sz.haushalt Momentanleistung: 272.00
2014-10-12_19:12:55 eg.hw.sz.haushalt statZählerstand-Bezug-Total: Hour: 0.060 Day: 9.770 Month: 73.850 Year: 73.850 (since: 2014-10-04 )
2014-10-12_19:22:56 eg.hw.sz.haushalt Zählerstand-Bezug-Total: 6761.83
2014-10-12_19:22:56 eg.hw.sz.haushalt Zählerstand-Tarif-1-Bezug: 6761.83
2014-10-12_19:22:56 eg.hw.sz.haushalt Momentanleistung: 298.00
2014-10-12_19:22:56 eg.hw.sz.haushalt statZählerstand-Bezug-Total: Hour: 0.110 Day: 9.820 Month: 73.900 Year: 73.900 (since: 2014-10-04 )
2014-10-12_19:32:56 eg.hw.sz.haushalt Zählerstand-Bezug-Total: 6761.88
2014-10-12_19:32:56 eg.hw.sz.haushalt Zählerstand-Tarif-1-Bezug: 6761.88
2014-10-12_19:32:56 eg.hw.sz.haushalt Momentanleistung: 257.00
2014-10-12_19:32:56 eg.hw.sz.haushalt statZählerstand-Bezug-Total: Hour: 0.160 Day: 9.870 Month: 73.950 Year: 73.950 (since: 2014-10-04 )
2014-10-12_19:42:57 eg.hw.sz.haushalt Zählerstand-Bezug-Total: 6761.93
2014-10-12_19:42:57 eg.hw.sz.haushalt Zählerstand-Tarif-1-Bezug: 6761.93
2014-10-12_19:42:57 eg.hw.sz.haushalt Momentanleistung: 360.00
2014-10-12_19:42:57 eg.hw.sz.haushalt statZählerstand-Bezug-Total: Hour: 0.210 Day: 9.920 Month: 74.000 Year: 74.000 (since: 2014-10-04 )


Viele Grüße

Axel

fiedel

#1
Hi Axel,

es wird wohl daran liegen, dass du kein Jahres- sondern ein Monatslogfile nutzt:

ZitatDEF        ./log/HH-%Y-%m.log eg.hw.sz.haushalt

Für "yearly"- Plots brauchst du ein durchgehendes Logfile oder DB-Log. Außerdem muss mindestens ein Monatsumbruch im Logfile sein, damit du den ersten Monat als Balken angezeigt bekommst.

Das sieht z.B. so aus: ./log/OW_Counter-%Y.log

Um das Jahresfile nich zu fett werden zu lassen, habe ich z.B. Monatsfiles definiert, genau wie du und zusätzlich ein Jahresfile für Energie, worin ich nur die Monatsverbräuche logge. Dann ist auch der Aufbau des Plots nie langsam, weil die Größe der einzelnen Files immer ausreichend klein bleibt

Gruß

Frank
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

axel.mohnen

Hi Fiedel,

Wow!, vielen Dank für den Hinweis, das war das fehlende Puzzleteil :-)

Ich habe mal manuell folgenden Fakelog angelegt. Dabei bin ich auf zwei neue Probleme gestoßen:

1. Die Balken pro Monat sind nicht genau ausgerichtet, gibts da vielleicht ein offset oder alignment Attribute?
2. Ich möchte wie du nur ein Log pro Monat in das Jahres-Log schreiben. Aber ich möchte gerne schon z.B. am 15. den aktuellen Monatsverbrauch sehen. Gibts hier eine Möglichkeit den letzten Eintrag im Log (aktueller Monat) zu überschreiben?

2014-05-31_00:09:55 eg.hw.sz.haushalt statZählerstand-Bezug-Total: Hour: 0.110 Day: 2.580 Month: 5.000 Year: 50.500
2014-06-30_00:09:55 eg.hw.sz.haushalt statZählerstand-Bezug-Total: Hour: 0.110 Day: 2.580 Month: 10.000 Year: 50.500
2014-07-31_00:09:55 eg.hw.sz.haushalt statZählerstand-Bezug-Total: Hour: 0.110 Day: 2.580 Month: 20.000 Year: 50.500
2014-08-31_00:09:55 eg.hw.sz.haushalt statZählerstand-Bezug-Total: Hour: 0.110 Day: 2.580 Month: 30.000 Year: 50.500
2014-09-30_00:09:55 eg.hw.sz.haushalt statZählerstand-Bezug-Total: Hour: 0.110 Day: 2.580 Month: 20.000 Year: 50.500
2014-10-31_00:09:55 eg.hw.sz.haushalt statZählerstand-Bezug-Total: Hour: 0.110 Day: 2.580 Month: 50.000 Year: 50.500
2014-11-30_00:09:55 eg.hw.sz.haushalt statZählerstand-Bezug-Total: Hour: 0.110 Day: 2.580 Month: 30.000 Year: 50.500


Vielen Dank und Gruß.

Axel

justme1968

schau dir mal logProxy an. ist noch nicht fertig aber damit geht das mit dem offset und mit etwas handarbeit auch das mit dem 15.

im wiki findest du mehr.

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MoopadPicKang

Auch ich schätze die Atmosphäre der Ermutigung, Austausch und Experimente auf den Brettern.
Es gibt einige wirklich außergewöhnliche Künstler hier.

netbus

Zitat von: fiedel am 13 Oktober 2014, 06:54:50
Hi Axel,

es wird wohl daran liegen, dass du kein Jahres- sondern ein Monatslogfile nutzt:

Für "yearly"- Plots brauchst du ein durchgehendes Logfile oder DB-Log. Außerdem muss mindestens ein Monatsumbruch im Logfile sein, damit du den ersten Monat als Balken angezeigt bekommst.

Das sieht z.B. so aus: ./log/OW_Counter-%Y.log

Um das Jahresfile nich zu fett werden zu lassen, habe ich z.B. Monatsfiles definiert, genau wie du und zusätzlich ein Jahresfile für Energie, worin ich nur die Monatsverbräuche logge. Dann ist auch der Aufbau des Plots nie langsam, weil die Größe der einzelnen Files immer ausreichend klein bleibt

Gruß

Frank
Wie bekommt man Monatsverbräuche?
Mein Sensor wirft die Daten im Sekundenrhytmus raus.

Puschel74

Hallo,

guggst du hier:
http://fhem.de/commandref.html#FileLog
%m steht für monatliches Logfile.
das ganze noch - so wie im ersten Beitrag  ;) - um %Y erweitert und du hast das Jahr auch noch mit drinnen:
logfile    ./log/HH-%Y-%m.log
bedeutet du hast dann ein Logfile mit folgendem Namen im Ordner ./log stehen - HH-2014-10.log

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

netbus

danke für die Info.
Ich meinte aber nicht Monatslog sondern Monatsverbrauch.
fiedel hat nämlich geschrieben das er nur Monatsverbräuche logt.

Puschel74

Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

fiedel

Meine Energieberechnung habe ich mal ins Wiki gestellt. Da kannst du das mit den Monats- und Jahresplots abgucken und für dich abwandeln. Auf der verlinkten Seite ab "Berechnen, Loggen und Plotten von Strom- und Gasverbrauchswerten "

Gruß

Frank
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

jnewton957

Hallo Axel,

könntest du bitte noch den Auszug aus der fhem.cfg posten.

Das wäre Klasse, damit man ein vollständiges Bild der Abbildung des Monats/Jahresverbauches inkl. Plot hat.

Genau das ist es, was ich auch suche, da ich nur "Zählerstand-Tarif1-Bezug" aus meinen Zähler ausgelesen und nicht autom. Tageswerte bekomme.

Danke
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

fiedel

Hi,

hilft dir mein Wikibeispiel nicht weiter? Da ist so weit alles benötigte drin und lässt sich ggf. entsprechend abwandeln.

Gruß

Frank
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

Prof. Dr. Peter Henning

Kann man zwar alles so machen.

Es sei allerdings der Vollständigkeit halber darauf verwiesen, dass im Modul OWCOUNT (das auch mit OWServer zusammen läuft) die gesamten Logging-Funktionen für Monats- und Jahreslog schon implementiert sind und nicht manuell in eine myUtils-Datei oder Konfigurationsdatei eingetragen werden müssen.

LG

pah

tupol

#13
Und dann wäre noch statistics das Tages-, Monats- und Jahresverbrauche berechnet. Da muss nur statREADINGLast geloggt werden. :-)

netbus