Mehrere Werte addieren und in einem SVG Plot als Balkendiagramm darstellen

Begonnen von Ruggy, 16 August 2022, 17:47:05

Vorheriges Thema - Nächstes Thema

Ruggy

Das mit logproxy schaue ich mir mal an; kannte ich noch nicht.



Das mit der Null-Linie kann möglich sein; wahrscheinlich liegt der "Strich" vom Balkendiagramm darauf.

Oder es liegt noch an etwas ganz anderen?
Ich habe nur jetzt das Problem, dass überhaubt keine Werte mehr angezeigt werden.
Auch nicht beim Tagesdiagramm. Obwohl der Wert von vom gestriegen Tag vorliegt.

Oder ist es das selbe Problem wie beim Monat, weil der Wert der Null-Linie entspricht (5.33 ist nächlich auch der gestrige Tageswert)

Wo könnte der Fehler liegen bzw. wo könnte ich zum Suchen anfangen?

Hier wäre das List vom DbLog

Internals:
   COLUMNS    field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
   CONFIGURATION ./db.conf
   DEF        ./db.conf .*:(temperature|humidity|dewpoint|absFeuchte|pressure|state|open|closed|on|off|water|ValvePosition|motion|nomotion|power_0|power_1|power_2|energy_0|energy_1|energy_2|statGesamtverbrauch_kWh|statGesamtverbrauch_kWhDay|statGesamtverbrauch_kWhDayLast|statGesamtverbrauch_kWhHour|statGesamtverbrauch_kWhHourLast|statGesamtverbrauch_kWhLast|statGesamtverbrauch_kWhMonth|statGesamtverbrauch_kWhMonthLast|statGesamtverbrauch_kWhYear|statGesamtverbrauch_kWhYearLast).*
   FUUID      5c65c66f-f33f-194f-58b0-1caee314a069d7a7
   FVERSION   93_DbLog.pm:v4.12.6-s25478/2022-01-17
   MODE       asynchronous
   MODEL      SQLITE
   NAME       DbLog
   NR         82
   NTFY_ORDER 50-DbLog
   PID        7210
   REGEXP     .*:(temperature|humidity|dewpoint|absFeuchte|pressure|state|open|closed|on|off|water|ValvePosition|motion|nomotion|power_0|power_1|power_2|energy_0|energy_1|energy_2|statGesamtverbrauch_kWh|statGesamtverbrauch_kWhDay|statGesamtverbrauch_kWhDayLast|statGesamtverbrauch_kWhHour|statGesamtverbrauch_kWhHourLast|statGesamtverbrauch_kWhLast|statGesamtverbrauch_kWhMonth|statGesamtverbrauch_kWhMonthLast|statGesamtverbrauch_kWhYear|statGesamtverbrauch_kWhYearLast).*
   SQLITECACHESIZE 4000
   SQLITEWALMODE on
   STATE      connected
   TYPE       DbLog
   dbconn     SQLite:dbname=/opt/fhem/fhem.db
   dbuser     
   HELPER:
     COLSET     1
     DEVICECOL  64
     EVENTCOL   512
     OLDSTATE   connected
     PACKAGE    main
     READINGCOL 64
     TC         current
     TH         history
     TYPECOL    64
     UNITCOL    32
     VALUECOL   128
     VERSION    4.12.6
   Helper:
     DBLOG:
       state:
         DbLog:
           TIME       1662030900.08863
           VALUE      connected
   READINGS:
     2022-09-02 09:43:04   CacheOverflowLastNum 0
     2022-01-24 21:49:54   CacheOverflowLastState normal
     2022-09-02 09:43:04   CacheUsage      0
     2022-09-02 09:43:04   NextSync        2022-09-02 09:43:34 or if CacheUsage 500 reached
     2022-09-02 09:43:04   background_processing_time 0.0441
     2022-09-02 09:42:59   notify_processing_time 0.0016
     2022-09-02 09:43:04   sql_processing_time 0.0208
     2022-09-02 09:43:04   state           connected
Attributes:
   DbLogType  History
   asyncMode  1
   room       DbLog
   showNotifyTime 1
   showproctime 1


Hier vom SVG-Plot

Internals:
   CFGFN     
   DEF        DbLog:SVG_DbLog_22:HISTORY
   FUUID      6300f529-f33f-194f-5044-2e53b0c4a03c99d9
   GPLOTFILE  SVG_DbLog_22
   LOGDEVICE  DbLog
   LOGFILE    HISTORY
   NAME       SVG_DbLog_22
   NR         13396
   STATE      initialized
   TYPE       SVG
Attributes:
   fixedrange month
   room       Flur



Hier das "Show preprocessed input" von diesem SVG_DbLog22

get DbLog HISTORY INT 2022-09-01_00:00:00 2022-09-30_23:59:59 myShellyEM3:statGesamtverbrauch_kWhDayLast::

2022-09-01_23:59:55 5.3340
#myShellyEM3:statGesamtverbrauch_kWhDayLast:::


Hier das List vom myShellyEM3

Internals:
   DEF        192.168.33.43
   DURATION   0
   FUUID      62e55f01-f33f-194f-c60d-526add52254d1b91
   INTERVAL   30
   NAME       myShellyEM3
   NR         601
   SHELLYID   shellyem3-BCFF4DFD1A0D
   STATE      OK
   TCPIP      192.168.33.43
   TYPE       Shelly
   Helper:
     DBLOG:
       energy_0:
         DbLog:
           TIME       1662104724.81198
           VALUE      222412.3
       energy_1:
         DbLog:
           TIME       1662104724.81198
           VALUE      140675.7
       energy_2:
         DbLog:
           TIME       1662104724.81198
           VALUE      136212
       power_0:
         DbLog:
           TIME       1662104754.97494
           VALUE      27.43
       power_1:
         DbLog:
           TIME       1662104754.97494
           VALUE      52.66
       power_2:
         DbLog:
           TIME       1662104754.97494
           VALUE      23.94
       statGesamtverbrauch_kWh:
         DbLog:
           TIME       1662104724.81198
           VALUE      Hour: 0.1404 Day: 1.6470 Month: 6.9810 Year: 55.8289 (since: 2022-08-18 )
       statGesamtverbrauch_kWhDay:
         DbLog:
           TIME       1662104724.81198
           VALUE      1.6470
       statGesamtverbrauch_kWhDayLast:
         DbLog:
           TIME       1662069595.01755
           VALUE      5.3340
       statGesamtverbrauch_kWhHour:
         DbLog:
           TIME       1662104724.81198
           VALUE      0.1404
       statGesamtverbrauch_kWhHourLast:
         DbLog:
           TIME       1662101995.01454
           VALUE      0.1837
       statGesamtverbrauch_kWhLast:
         DbLog:
           TIME       1662101995.01454
           VALUE      Hour: 0.1837 Day: 5.3340 Month: 48.8479 Year: - (since: 2022-08-18 )
       statGesamtverbrauch_kWhMonth:
         DbLog:
           TIME       1662104724.81198
           VALUE      6.9810
       statGesamtverbrauch_kWhMonthLast:
         DbLog:
           TIME       1661983195.02036
           VALUE      48.8479
       statGesamtverbrauch_kWhYear:
         DbLog:
           TIME       1662104724.81198
           VALUE      55.8289
       state:
         DbLog:
           TIME       1660780884.12341
           VALUE      OK
   OLDREADINGS:
   READINGS:
     2022-09-02 09:45:24   Gesamtverbrauch_kWh 499.3
     2022-07-30 18:40:34   cloud           disabled
     2022-09-02 09:45:24   energy_0        222412.3
     2022-09-02 09:45:24   energy_1        140675.7
     2022-09-02 09:45:24   energy_2        136212
     2022-07-30 18:40:34   firmware        v1.11.8
     2022-08-18 02:01:24   network         <html>connected to <a href="http://192.168.33.43">192.168.33.43</a></html>
     2022-07-30 18:41:55   overpower       0
     2022-09-02 09:45:54   power_0         27.43
     2022-09-02 09:45:54   power_1         52.66
     2022-09-02 09:45:54   power_2         23.94
     2022-07-30 18:54:36   relay           on
     2022-09-02 09:45:54   statGesamtverbrauch_kWh Hour: 0.1404 Day: 1.6470 Month: 6.9810 Year: 55.8289 (since: 2022-08-18 )
     2022-09-02 09:45:54   statGesamtverbrauch_kWhDay 1.6470
     2022-09-01 23:59:55   statGesamtverbrauch_kWhDayLast 5.3340
     2022-09-02 09:45:54   statGesamtverbrauch_kWhHour 0.1404
     2022-09-02 08:59:55   statGesamtverbrauch_kWhHourLast 0.1837
     2022-09-02 08:59:55   statGesamtverbrauch_kWhLast Hour: 0.1837 Day: 5.3340 Month: 48.8479 Year: - (since: 2022-08-18 )
     2022-09-02 09:45:54   statGesamtverbrauch_kWhMonth 6.9810
     2022-08-31 23:59:55   statGesamtverbrauch_kWhMonthLast 48.8479
     2022-09-02 09:45:54   statGesamtverbrauch_kWhYear 55.8289
     2022-08-17 21:37:06   statStateDay    OK: 00:00:40 OK_Count: 1 (since: 2022-08-17_21:36:26)
     2022-08-17 21:37:06   statStateMonth  OK: 00:00:40 OK_Count: 1 (since: 2022-08-17_21:36:26)
     2022-08-17 21:37:06   statStateYear   OK: 00:00:40 OK_Count: 1 (since: 2022-08-17_21:36:26)
     2022-08-18 02:01:24   state           OK
     2022-09-02 09:45:54   voltage_0       229.38
     2022-09-02 09:45:54   voltage_1       231.53
     2022-09-02 09:45:54   voltage_2       231.28
   helper:
     _98_statistics myStatDevice
Attributes:
   event-on-change-reading .*
   icon       measure_power
   interval   30
   model      shelly3em
   room       Flur
   userReadings Gesamtverbrauch_kWh:(energy_0:.*|energy_1:.*|energy_2:.*) {(ReadingsNum("$name","energy_2",0)+ReadingsNum("$name","energy_1",0)+ReadingsNum("$name","energy_0",0))/1000}

OdfFhem

@Ruggy

Gut wäre, wenn Du noch die beiden .gplot-Dateien (s. GPLOTFILE) bereitstellen würdest. Darin könnte das Problem liegen ...

Ruggy

Hier das List von der SVG_DbLog_22.gplot

# Created by FHEM/98_SVG.pm, 2022-08-21 22:31:16
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 'Stromverbrauch pro Tag'
set ytics
set y2tics
set grid
set ylabel "kWh"
set y2label ""

#DbLog myShellyEM3:statGesamtverbrauch_kWhDayLast::

plot "<IN>" using 1:2 axes x1y2 title 'Stromverbrauch Tag' ls l0fill lw 1 with bars



Und hier von der SVG_DbLog_23.gplot

# Created by FHEM/98_SVG.pm, 2022-09-01 13:24:05
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 'Stromverbrauch pro Monat'
set ytics
set y2tics
set grid
set ylabel "kWh"
set y2label "Temperature"

#DbLog myShellyEM3:statGesamtverbrauch_kWhMonthLast::

plot "<IN>" using 1:2 axes x1y2 title 'Stromverbrauch pro Monat' ls l0fill lw 1 with bars



Hier wäre noch das von der Und hier von der SVG_DbLog_21.gplot
Das ist für Darstellung pro Stunden, bei welcher es noch funktioniert

# Created by FHEM/98_SVG.pm, 2022-08-21 22:32:37
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 'Stromverbrauch pro Stunde'
set ytics
set y2tics
set grid
set ylabel "kWh"
set y2label ""

#DbLog myShellyEM3:statGesamtverbrauch_kWhHourLast::

plot "<IN>" using 1:2 axes x1y2 title 'Stromverbrauch Tag' ls l0fill lw 1 with bars

OdfFhem

@Ruggy

Im Grunde funktionieren die 3 Plots gleich - keiner von ihnen fängt bei 0 an; Problem ist nur, dass ein Wert allein praktisch unsichtbar bleibt.

Ich nutze in der Regel yrange (links) oder y2range (rechts) und gebe dem Plot einen "mehr oder weniger groben" Darstellungsbereich vor. Beispielhaft für Monat wären:

set yrange [0:50] # kleinsten und größten Wert vorgeben
set yrange [0:] # nur den kleinsten Wert vorgeben

Ruggy

Zitat von: OdfFhem am 02 September 2022, 13:25:49

dass ein Wert allein praktisch unsichtbar bleibt.


D.h. beim "pro Tag" müsste es heute Mitternach auch so funktionieren?
D.h. aber auch, dass ich bei "pro Monat" erst nach zwei Monaten etwas angezeigt bekomme?


Haben jetzt yrange vorgegeben.
Wird diese Vorgabe von yrange auch erst umgesetzt, nachdem neue Werte geliefert werden?

Habe yrange auf 0:20 gesetzt und es wird noch nichts angezeigt.



Hier das .gplot

# Created by FHEM/98_SVG.pm, 2022-09-02 14:17:32
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 'Stromverbrauch pro Tag'
set ytics
set y2tics
set grid
set ylabel "kWh"
set y2label ""
set yrange 0:20

#DbLog myShellyEM3:statGesamtverbrauch_kWhDayLast::

plot "<IN>" using 1:2 axes x1y2 title 'Stromverbrauch Tag' ls l0fill lw 1 with bars

OdfFhem

@Ruggy

Zu .gplot)
Wichtig sind auch die eckigen Klammern - ich vermute mal, dass die y-Achse noch die alten Werte hat. Ausgewertet wird dies mit jedem Neuanzeigen des Plot; neue Werte braucht man dafür aber nicht.

ZitatD.h. beim "pro Tag" müsste es heute Mitternach auch so funktionieren?
Dem würde ich erstmal zustimmen ...