DBLog / SVG Plot

Begonnen von michael.winkler, 03 Januar 2020, 00:34:37

Vorheriges Thema - Nächstes Thema

michael.winkler

Hallo,

habe mir ein SVG Plot erzeugt. Wenn ich den abgefragten Wert wie folgt einstelle:

myPowerMeter:total_consumption::


erhalte ich als Ergebnis

get fhem.dblog HISTORY INT 2019-12-05_00:00:00 2020-01-03_23:59:59 myPowerMeter:total_consumption:

2020-01-02_20:45:19 3180000
2020-01-02_22:01:05 3181000
2020-01-02_23:04:45 3182000
2020-01-02_23:42:18 3183000
#myPowerMeter:total_consumption:::


Wenn ich die Abfrage allerdings auf folgendes umstelle:


myPowerMeter:total_consumption::delta-d


Dann sieht das Ergebnis wie folgt aus:

get fhem.dblog HISTORY INT 2019-12-05_00:00:00 2020-01-03_23:59:59 myPowerMeter:total_consumption::delta-d

2020-01-02_12:00:00 -9.22337e+18
#myPowerMeter:total_consumption::delta-d:


In dem SVG Plot wird dann auch keine Linie mehr angezeigt.

Kann mir hier jemand weiterhelfen?

Gruß
Michael

Otto123

Moin Michael,

ich bin in dem Thema sehr unterbelichtet, ich versuche es aber seit geraumer Zeit zu verstehen.

Was willst Du mit delta-d erreichen?

Meines Wissens kannst Du an der Stelle nur mit Ausdrücken arbeiten -> $val= ....
Siehe den Beitrag im Wiki https://wiki.fhem.de/wiki/SVG-Plots_von_FileLog_auf_DbLog_umstellen
Meine kläglichen Erkenntnisse hatte ich hier mal aufgeschrieben.

Gesundes neues Jahr
Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rudolfkoenig

delta-d zeigt die Differenz eines Zaehlers seit Anfang des Tages.
Anfangs nur fuer FileLog implementiert, laut DbLog Kommentar mind. seit Oktober letzten Jahres auch da vorhanden.

michael.winkler

Zitat von: rudolfkoenig am 03 Januar 2020, 09:35:55
delta-d zeigt die Differenz eines Zaehlers seit Anfang des Tages.
Anfangs nur fuer FileLog implementiert, laut DbLog Kommentar mind. seit Oktober letzten Jahres auch da vorhanden.
Danke für die Info. Dann werde ich mich mal an den Modul Ersteller von DBLog wenden.


Gesendet von iPhone mit Tapatalk

frober

Ist dein Fhem aktuell?
Es wurden letzten Jahres versch. Probleme mit delta-d/h in dbLog behoben.

Gruß Bernd
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

michael.winkler

Zitat von: frober am 03 Januar 2020, 10:24:02
Ist dein Fhem aktuell?
Es wurden letzten Jahres versch. Probleme mit delta-d/h in dbLog behoben.

Gruß Bernd
Mein FHEM Server war eigentlich relativ aktuell. Das Update hat aber doch etwas bewirkt. Jetzt sieht es deutlich besser aus.

michael.winkler

Irgendwie zu früh gefreut.

Es wird zwar jetzt richtig gerechnet, allerdings nur der letzte Tag.


get fhem.dblog HISTORY INT 2020-01-02_00:00:00 2020-01-03_23:59:59 myPowerMeter:total_consumption::delta-d

2020-01-03_12:00:00 7000
#myPowerMeter:total_consumption::delta-d:


Was zusätzlich noch auffällt ist, dass im Plot selber auch keine Blockansicht kommt.

DS_Starter

Hallo Michael,

wie Bernd (frober) schon schrieb, haben wir letztes Jahr ca. im Oktober/ Anfang November einiges an der delta-h/delta-d Geschichte gerichtet.
@Bernd, weißt du den Thread noch ?

Michael, du müsstest mal mit verbose 4 oder 5 arbeiten damit man die SQL Statements und deren Ergebnisse sieht.
In dem alten Thread sieht man noch den Werdegang bis zum heutigen Stand genauer.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

frober

Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

michael.winkler

Hi,

habe mal ein Log erzeugt, hier das Ergebnis:


2020.01.03 12:31:01.232 4: DbLog fhem.dblog -> ################################################################
2020.01.03 12:31:01.232 4: DbLog fhem.dblog -> ###              start of new Logcycle                       ###
2020.01.03 12:31:01.232 4: DbLog fhem.dblog -> ################################################################
2020.01.03 12:31:01.232 4: DbLog fhem.dblog -> number of events received: 1 for device: global
2020.01.03 12:31:01.233 4: DbLog fhem.dblog -> check Device: global , Event: ATTR fhem.dblog verbose 5
2020.01.03 12:31:04.042 4: DbLog fhem.dblog -> ################################################################
2020.01.03 12:31:04.043 4: DbLog fhem.dblog -> ###                  new get data for SVG                    ###
2020.01.03 12:31:04.043 4: DbLog fhem.dblog -> ################################################################
2020.01.03 12:31:04.043 4: DbLog fhem.dblog -> main PID: 1805, secondary PID: 1805
2020.01.03 12:31:04.044 4: DbLog fhem.dblog -> deltacalc: day
2020.01.03 12:31:04.045 4: fhem.dblog - Processing Statement:
SELECT Z.TIMESTAMP, Z.DEVICE, Z.READING, Z.VALUE from (SELECT DATE_FORMAT(TIMESTAMP, '%Y-%m-%d %H:%i:%s') AS TIMESTAMP,
                    DEVICE AS DEVICE,
                    READING AS READING,
                    VALUE AS VALUE FROM history WHERE 1=1 AND DEVICE  = 'myPowerMeter' AND READING = 'total_consumption' AND TIMESTAMP < STR_TO_DATE('2020-01-02 00:00:00', '%Y-%m-%d %H:%i:%s') AND TIMESTAMP > DATE_SUB(STR_TO_DATE('2020-01-02 00:00:00', '%Y-%m-%d %H:%i:%s'),INTERVAL 1 DAY) ORDER BY TIMESTAMP) AS Z
                   UNION ALL SELECT
                   MAX(DATE_FORMAT(TIMESTAMP, '%Y-%m-%d %H:%i:%s')) AS TIMESTAMP,
                   MAX(DEVICE) AS DEVICE,
                   MAX(READING) AS READING,
                   MAX(VALUE)
                    FROM history WHERE 1=1 AND DEVICE  = 'myPowerMeter' AND READING = 'total_consumption' AND TIMESTAMP >= STR_TO_DATE('2020-01-02 00:00:00', '%Y-%m-%d %H:%i:%s') AND TIMESTAMP <= STR_TO_DATE('2020-01-04 00:00:00', '%Y-%m-%d %H:%i:%s') GROUP BY DATE_FORMAT(TIMESTAMP, '%Y-%m-%d %H') ORDER BY TIMESTAMP
2020.01.03 12:31:04.046 5: fhem.dblog - SQL-result -> TS: 2020-01-02 10:45:19, DEV: myPowerMeter, RD: total_consumption, VAL: 3180000
2020.01.03 12:31:04.046 5: fhem.dblog - SQL-result -> TS: 2020-01-02 22:01:05, DEV: myPowerMeter, RD: total_consumption, VAL: 3181000
2020.01.03 12:31:04.046 5: fhem.dblog - SQL-result -> TS: 2020-01-02 23:42:18, DEV: myPowerMeter, RD: total_consumption, VAL: 3183000
2020.01.03 12:31:04.047 5: fhem.dblog - SQL-result -> TS: 2020-01-03 01:13:00, DEV: myPowerMeter, RD: total_consumption, VAL: 3184000
2020.01.03 12:31:04.047 5: fhem.dblog - Output delta-d -> TS: 03, LASTTS: 02, OUTTS: 2020-01-02 12:00:00, OUTVAL: -9.22337e+18, WRITEOUT: 0
2020.01.03 12:31:04.047 5: fhem.dblog - SQL-result -> TS: 2020-01-03 02:44:30, DEV: myPowerMeter, RD: total_consumption, VAL: 3185000
2020.01.03 12:31:04.047 5: fhem.dblog - SQL-result -> TS: 2020-01-03 04:33:59, DEV: myPowerMeter, RD: total_consumption, VAL: 3186000
2020.01.03 12:31:04.048 5: fhem.dblog - SQL-result -> TS: 2020-01-03 06:09:03, DEV: myPowerMeter, RD: total_consumption, VAL: 3187000
2020.01.03 12:31:04.048 5: fhem.dblog - SQL-result -> TS: 2020-01-03 07:47:06, DEV: myPowerMeter, RD: total_consumption, VAL: 3188000
2020.01.03 12:31:04.048 5: fhem.dblog - SQL-result -> TS: 2020-01-03 09:11:54, DEV: myPowerMeter, RD: total_consumption, VAL: 3189000
2020.01.03 12:31:04.048 5: fhem.dblog - SQL-result -> TS: 2020-01-03 10:17:50, DEV: myPowerMeter, RD: total_consumption, VAL: 3190000
2020.01.03 12:31:04.048 5: fhem.dblog - SQL-result -> TS: 2020-01-03 11:14:13, DEV: myPowerMeter, RD: total_consumption, VAL: 3191000
2020.01.03 12:31:04.048 5: fhem.dblog - SQL-result -> TS: 2020-01-03 12:16:08, DEV: myPowerMeter, RD: total_consumption, VAL: 3192000
2020.01.03 12:31:04.049 5: fhem.dblog - Output last DS -> OUTTS: 2020-01-03_12:00:00, OUTVAL: 9, WRITEOUT: implicit


Gruß
Michael

DS_Starter

Hi Michael,

kann es sein, dass in der DB in der Zeit    01.01.2020 00:00:00 - 02.01.2020 00:00:00  kein Wert des betreffenden Device/Readings in der DB vorhanden ist ?
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

michael.winkler

Zitat von: DS_Starter am 03 Januar 2020, 13:26:42
Hi Michael,

kann es sein, dass in der DB in der Zeit    01.01.2020 00:00:00 - 02.01.2020 00:00:00  kein Wert des betreffenden Device/Readings in der DB vorhanden ist ?
Ja, die Aufzeichnung hat erst am 02.01.2020 angefangen. Mich wunder allerdings diese Zeile des Logs:


2020.01.03 12:31:04.047 5: fhem.dblog - Output delta-d -> TS: 03, LASTTS: 02, OUTTS: 2020-01-02 12:00:00, OUTVAL: -9.22337e+18, WRITEOUT: 0

frober

Soweit ich das sehe, Delta d wird für den ganzen Tag erstellt.
Dein allererster Wert ist Abends um 20:45. D.h. du hast frisch angefangen zu loggen.
Schaue es dir Morgen für Heute an. Da müsste es dann passen.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

frober

Da war ich zu langsam[emoji16]
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

DS_Starter

Zitat
Mich wunder allerdings diese Zeile des Logs:

2020.01.03 12:31:04.047 5: fhem.dblog - Output delta-d -> TS: 03, LASTTS: 02, OUTTS: 2020-01-02 12:00:00, OUTVAL: -9.22337e+18, WRITEOUT: 0
Ja, das passt, das OUTVAL: -9.22337e+18 ist eine Folge des unbestimmten Vorperiodenwertes. Deswegen -> WRITEOUT: 0. Sonst hättest du einen "schönen" Balken im SVG.  ;)
Bernd kennt das und wie er schon schrieb ... morgen wird alles gut sein.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter