[Gelöst]: Plots mit delta-h beim Umstellen von FileLog auf DBLog

Begonnen von Punkt, 17 Februar 2015, 17:44:40

Vorheriges Thema - Nächstes Thema

Punkt

Hallo zusammen,

ich bin gerade dabei mein System auf DBLog umzustellen - soweit klappt das ganz gut bisher.

Allerdings bin ich momentan seit ein paar Tagen an einem Problem bei dem ich nicht weiterkomme und ich nirgendwo Informationen finde die mir da weiterhelfen würden.

Konkret geht es um die Funktion delta-h die ich bisher in meinen SVG-Plots benutzt habe.
Diese erzeugen mir den Gasverbrauch in den jeweiligen Stunden in den Plots.

Hier ein Ausschnitt aus meiner FileLog:

2015-02-16_23:57:23 Zaehler_GaWa Gas_m3: 16725.3 4.1
2015-02-17_00:00:24 Zaehler_GaWa Gas_m3: 16725.3 0
2015-02-17_05:40:25 Zaehler_GaWa Gas_m3: 16725.4 0.1
2015-02-17_05:47:25 Zaehler_GaWa Gas_m3: 16725.5 0.2
2015-02-17_06:34:37 Zaehler_GaWa Gas_m3: 16725.6 0.3
2015-02-17_06:39:37 Zaehler_GaWa Gas_m3: 16725.7 0.4
2015-02-17_06:43:37 Zaehler_GaWa Gas_m3: 16725.8 0.5
2015-02-17_06:49:37 Zaehler_GaWa Gas_m3: 16725.9 0.6
2015-02-17_07:00:39 Zaehler_GaWa Gas_m3: 16726 0.7
2015-02-17_07:16:40 Zaehler_GaWa Gas_m3: 16726.1 0.8
2015-02-17_07:52:44 Zaehler_GaWa Gas_m3: 16726.2 0.9
2015-02-17_08:18:49 Zaehler_GaWa Gas_m3: 16726.3 1
2015-02-17_08:27:56 Zaehler_GaWa Gas_m3: 16726.4 1.1
2015-02-17_08:30:56 Zaehler_GaWa Gas_m3: 16726.5 1.2
2015-02-17_08:35:56 Zaehler_GaWa Gas_m3: 16726.6 1.3
2015-02-17_08:40:56 Zaehler_GaWa Gas_m3: 16726.7 1.4
2015-02-17_08:49:56 Zaehler_GaWa Gas_m3: 16726.8 1.5
2015-02-17_09:19:00 Zaehler_GaWa Gas_m3: 16726.9 1.6
2015-02-17_09:38:06 Zaehler_GaWa Gas_m3: 16727 1.7
2015-02-17_09:42:06 Zaehler_GaWa Gas_m3: 16727.1 1.8
2015-02-17_09:46:06 Zaehler_GaWa Gas_m3: 16727.2 1.9
2015-02-17_09:52:06 Zaehler_GaWa Gas_m3: 16727.3 2
2015-02-17_09:59:08 Zaehler_GaWa Gas_m3: 16727.4 2.1
2015-02-17_10:09:14 Zaehler_GaWa Gas_m3: 16727.5 2.2
2015-02-17_10:13:14 Zaehler_GaWa Gas_m3: 16727.6 2.3
2015-02-17_10:34:14 Zaehler_GaWa Gas_m3: 16727.7 2.4
2015-02-17_11:00:22 Zaehler_GaWa Gas_m3: 16727.8 2.5
2015-02-17_11:30:29 Zaehler_GaWa Gas_m3: 16727.9 2.6
2015-02-17_12:05:33 Zaehler_GaWa Gas_m3: 16728 2.7
2015-02-17_12:41:41 Zaehler_GaWa Gas_m3: 16728.1 2.8
2015-02-17_13:12:49 Zaehler_GaWa Gas_m3: 16728.2 2.9
2015-02-17_14:04:53 Zaehler_GaWa Gas_m3: 16728.3 3
2015-02-17_14:15:01 Zaehler_GaWa Gas_m3: 16728.3 3
2015-02-17_14:16:01 Zaehler_GaWa Gas_m3: 16728.3 3
2015-02-17_14:17:03 Zaehler_GaWa Gas_m3: 16728.3 3
2015-02-17_14:18:04 Zaehler_GaWa Gas_m3: 16728.3 3
2015-02-17_14:39:08 Zaehler_GaWa Gas_m3: 16728.4 3.1
2015-02-17_14:49:08 Zaehler_GaWa Gas_m3: 16728.5 3.2
2015-02-17_15:37:30 Zaehler_GaWa Gas_m3: 16728.6 3.3
2015-02-17_16:13:40 Zaehler_GaWa Gas_m3: 16728.7 3.4
2015-02-17_16:54:42 Zaehler_GaWa Gas_m3: 16728.8 3.5
2015-02-17_17:34:48 Zaehler_GaWa Gas_m3: 16728.9 3.6


Das bisherige SVG war so definiert:
# Created by FHEM/98_SVG.pm, 2013-10-02 23:14:02
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 '<L1>'
set ytics
set y2tics
set grid ytics y2tics
set ylabel ""
set y2label ""

#FileLog 4:Zaehler_GaWa.*:0:
#FileLog 4:Zaehler_GaWa.*:0:delta-h

plot "<IN>" using 1:2 axes x1y2 title 'Gesamt' ls l1fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'm3/h' ls l1 lw 1 with histeps


Der Plot ist mal in Anhang 001.jpg abgebildet.

Nun habe ich den Plot auf DBLog umgestellt und er sieht folgendermaßen aus:

# Created by FHEM/98_SVG.pm, 2015-02-17 15:40:55
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 '<L1>'
set ytics
set y2tics
set grid
set ylabel ""
set y2label ""

#myDbLog Zaehler_GaWa:Gas_m3

plot "<IN>" using 1:2 axes x1y2 title 'Gas m3' ls l0 lw 1 with lines


Das Ergebnis ist in Anhang 002.jpg zu sehen.

Ein Screenshot wie die Daten in der DB aussehen ist in 003.jpg angehängt.

Jetzt wollte ich - ähnlich dem ersten Plot - in dem neuen Plot auch die Stundenwerte mit delta-h abbilden.

Ich finde allerdings nirgendwo Informationen zu DBLog und delta-h - oder ich bin einfach nicht in der Lage korrekt danach zu suchen.
Gibt es diese Funktion noch wenn ich DBLog nutze?

Beim Nutzen von FileLog kann ich ja auch auf die entsprechenden Spalten (also quasi die durch Leerzeichen getrennten Positionen) verweisen - das geht scheinbar bei DBLog nicht mehr?

Wenn ich noch weitere Informationen einstellen soll sagt bitte bescheid - ich weis im Moment vor lauter suchen nicht mehr was noch nützlich sein könnte an Information...  ::)


Viele Grüße

Michael
FHEM auf LXD-Container (Ubuntu 24.04) mit 1wire-Bus und I2C-Extensions
Datenbank: influxdb
verschiedene "Satellitensysteme" mit ESP-8266

Punkt

#1
oh Mann....ich habs gefunden! Manchmal ist man nach tagelanger Suche zu blind für Offensichtliches!

Hier also noch kurz zur Dokumentation falls jemand genauso blind ist wie ich:

Zu allererst:
Ich musste mein Reading anpassen!
Zu meinen FileLog-Zeiten hatte ich das Reading "Gas_m3" erstellt indem ich 2 Werte mit Leerzeichen getrennt geloggt hatte:

Zitat2015-02-17_08:27:56 Zaehler_GaWa Gas_m3: 16726.4 1.1

Das funktionierte weil ich bei FileLog die Spalte angeben kann aus welcher die Werte entnommen werden sollen.
Den zusätzlichen Wert brauchte ich für eine andere Auswertung ausserhalb von FHEM.

Also habe jetzt zuerst die Readings geteilt und ein neues Reading nur mit dem aktuellen Zählerstand erstellt (004.jpg).


Die Zeile im .gplot musst dann einfach statt

Zitat#myDbLog Zaehler_GaWa:Gas_m3

folgendermaßen lauten:

Zitat#DbLog Zaehler_GaWa:m3::delta-h:

dann funktioniert das auch mit dem delta-h und sieht so aus wie im Anhang 005.jpg.
Ich habe wohl zu viele Kombinationen ausprobiert aber hatte wohl die richtige nicht dabei...  :o

...was mir noch merkwürdig vorkommt: es scheint egal zu sein ob da #myDbLog oder #DbLog steht - es funktioniert mit beiden Angaben...

...jetzt fehlt mir nur noch die Alternative zu meinem $data{sum2} um den aktuellen Tages verbrauch oben im Label anzuzeigen - aber das krieg ich auch noch hin...


Viele Grüße

Michael
FHEM auf LXD-Container (Ubuntu 24.04) mit 1wire-Bus und I2C-Extensions
Datenbank: influxdb
verschiedene "Satellitensysteme" mit ESP-8266

N23

Zitat von: Punkt am 18 Februar 2015, 10:31:58
...jetzt fehlt mir nur noch die Alternative zu meinem $data{sum2} um den aktuellen Tages verbrauch oben im Label anzuzeigen - aber das krieg ich auch noch hin...

Hallo, dazu schon was gefunden? Würde mich auch sehr interessieren!

Punkt

Hi,

ja - ich hatte das damals auch noch hingekriegt (hab aber zusätzlich noch mit LogProxy gearbeitet - sollte aber keinen Unterschied machen):

Das ganze ist abhängig von deiner .gplot-Datei.

Das ganze orientiert sich einfach an der Reihenfolge die du dort definiert hast.
Wenn du z.B. das ganze so definiert hast:

#logProxy DbLog:myDbLogProfiler:Zaehler_GaWa:m3::delta-h:
#logProxy DbLog:myDbLogProfiler:Zaehler_GaWa:m3:::
#logProxy ConstY:$data{avg1}



dann musst du in den $data-Variablen mit der entsprechenden Zeilennummer arbeiten.

z.B. die Summe über delta-h bei mir in dem Fall wäre dann $data{sum1} (also aus Zeile 1).
Wenn ich die Summe über alle Tageszählerwerte machen wollte (was in dem Fall wenig Sinn macht) dann wäre das $data{sum2}.

Schön erkennen kann man das auch wenn man sich in der Oberfläche das ganze mit dem SVG-Editor anschaut.
Dort kann man sich die aktuell selektierten Werte ansehen wie sie in das SVG geschoben werden mit der Schaltfläche "Show preprocessed input".

Da kannst du die Reihenfolge auch drin erkennen:

2015-09-11_00:30:00 0
2015-09-11_01:30:00 0
2015-09-11_02:30:00 0
2015-09-11_03:30:00 0
2015-09-11_04:30:00 0
2015-09-11_05:30:00 0.1
2015-09-11_06:30:00 0.1
2015-09-11_07:30:00 0
2015-09-11_08:30:00 0.3
#Zaehler_GaWa:m3::delta-h:

2015-09-11_05:43:14 17292.8
2015-09-11_06:58:14 17292.9
2015-09-11_08:23:14 17293
2015-09-11_08:28:14 17293.1
2015-09-11_08:33:14 17293.2
#Zaehler_GaWa:m3:::

2015-09-11_00:00:00 0.06
2015-09-12_00:00:01 0.06
#ConstY:$data{avg1}


Hier kannst du auch erkennen daß die delta-h-Werte den ersten Block darstellen, die Zählerstände den zweiten Block und die Werte für den Durchschnitt den 3. Block...

...ist etwas kompliziert zu umschreiben - ich hoffe es konnte trotzdem ein wenig weiterhelfen...


Viele Grüße

Michael
FHEM auf LXD-Container (Ubuntu 24.04) mit 1wire-Bus und I2C-Extensions
Datenbank: influxdb
verschiedene "Satellitensysteme" mit ESP-8266