24 Stunden "Versatz" beim Einsatz von delta-d

Begonnen von f-lame, 08 März 2017, 10:46:53

Vorheriges Thema - Nächstes Thema

f-lame

Hallo,

ich lese täglich den Zählerstand eines Wärmemengenzählers aus. Ich möchte gern in FHEM einen Plot einbinden welcher mir anzeigt, wieviel kWh in den letzten 24 Stunden verbraucht wurden. Dafür liefert die Funktion "delta-d" eigentlich das passende Werkzeug, jedoch habe ich ein Problem welches ich nicht verstehe. Hier mein Log:

2017-03-04_00:00:34 Fernwaerme_Verbrauch 3991 kWh
2017-03-05_00:00:34 Fernwaerme_Verbrauch 4008 kWh
2017-03-06_00:00:34 Fernwaerme_Verbrauch 4022 kWh
2017-03-07_00:00:34 Fernwaerme_Verbrauch 4041 kWh
2017-03-08_00:00:34 Fernwaerme_Verbrauch 4070 kWh


Dazu habe ich ein SVG wie folgt erstellt:

# Created by FHEM/98_SVG.pm, 2017-03-08 10:36:17
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 'Fernwärme Verbrauch'
set ytics
set y2tics
set grid
set ylabel "m³"
set y2label "kWh"

#Fernwaerme_Zaehler_LOG 3:Fernwaerme_Verbrauch.*::delta-d
#Fernwaerme_Zaehler_LOG 3:Fernwaerme_Verbrauch.*::delta-d

plot "<IN>" using 1:2 axes x1y1 title 'TEST1' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'TEST2' ls l1 lw 3 with lines


Klicke ich nun auf "Show preprocessed input" erhalte ich folgende Ausgabe:

2017-03-04_12:00:00 17
2017-03-05_12:00:00 14
2017-03-06_12:00:00 19
2017-03-07_12:00:00 29
2017-03-08_12:00:00 0.0
#3:Fernwaerme_Verbrauch.*::delta-d
2017-03-05_12:00:00 17
2017-03-06_12:00:00 14
2017-03-07_12:00:00 19
2017-03-08_12:00:00 29
2017-03-08_12:00:00 0.0
#3:Fernwaerme_Verbrauch.*::delta-d


Das Delta wird korrekt ermittelt, aber achtet einmal auf das Datum. Der erste Graph den ich mit "delta-d" konfiguriere liegt stets 24 Stunden vor dem zweiten. Ich habe zum Test oben zweimal versucht den gleichen Graphen zu zeichnen, das Problem tritt natürlich auch auf wenn ich zwei Unterschiedliche Werte mit "delta-d" loggen will (in meinem Fall den Verbrauch und das Volumen).

Für mich ist die zweite Variante die richtige, da ich erst am 5.März ein Delta habe (ab dem zweiten Log Eintrag). Ich frage mich was hier schief läuft, und wie ich es korrigieren kann. Vielleicht ist es auch ein Verständnisproblem.

Gruß,
Andre

rudolfkoenig

Die aktuelle Implementierung von delta-d im FileLog ist fehlerhaft: es kann nur ein delta-h bzw. ein delta-d pro FileLog get Abfrage richtig befuellen. Workaround: ein "fake" FileLog mit unmoeglichen Regexp und gleiche Datei anlegen, und im Plot diese fuer den zweiten delta-d referenzieren.

Wozu braucht man zwei delta-d's aus einer Datei?

f-lame

Hallo,

vielen Dank. Ich habe auch einen Thread gefunden der das Problem bereits beschreibt:

https://forum.fhem.de/index.php?topic=30761.0

Ich schreibe mehrere Werte vom Zähler (Verbrauch in kw/h, Volumen in m³) in ein einzelnes Log File. Ich fand es übersichtlicher pro Zähler ein Log mit den unterschiedlichen Werten zu nehmen, anstelle ein Log pro Zähler und Wert zu verwenden. Im Endeffekt ist es aber egal, solange ich meinen Plot passend erhalte.

Ich werde den Workaround ausprobieren, vielen Dank für den Tipp.

Gruß,
Andre