Probleme mit Statistics

Begonnen von Knallfrosch, 28 Juni 2025, 09:13:15

Vorheriges Thema - Nächstes Thema

Knallfrosch

Hallo,

ich nutze in FHEM mehrere Statistics-Device, aber eines macht mir aktuell Probleme ohne das ich herausfinden kann, woran es liegt.


So sieht das List des Stat-Device aus:

Internals:
   CFGFN     
   DEF        Solarspeicher_HA
   DEV_REGEXP Solarspeicher_HA
   FUUID      685dcb04-f33f-a358-a644-b230a7c0452f0d00
   NAME       Stat_Solarspeicher_HA_1
   NOTIFYDEV  global,Solarspeicher_HA
   NR         411
   NTFY_ORDER 10-Stat_Solarspeicher_HA_1
   PREFIX     stat
   STATE      Updated stats for: Solarspeicher_HA
   TYPE       statistics
   eventCount 2414
   READINGS:
     2025-06-27 00:34:58   monitoredDevicesMQTT2_DEVICE Solarspeicher_HA
     2025-06-28 08:59:56   nextPeriodChangeCalc 2025-06-28 09:59:55
     2025-06-28 09:04:05   state           Updated stats for: Solarspeicher_HA
   fhem:
     modulVersion $Date: 2024-05-18 09:37:34 +0200 (Sat, 18 May 2024) $
     nextPeriodChangeTime 1751097595
Attributes:
   DbLogExclude .*
   deltaReadings energy
   singularReadings Solarspeicher_HA:energy:Delta:(Year|Month|Day)



und so das Device für die Readings:

Internals:
   CID        fhem
   DEF        fhem
   FUUID      67f80320-f33f-a358-f71a-003ac458efaa9dd8
   IODev      ha_MQTT2
   LASTInputDev ha_MQTT2
   MSGCNT     17507
   NAME       Solarspeicher_HA
   NR         402
   STATE      Akkustand: 7 % <br> Leistung aktuell: 332  W <br> Einspeisung heute:  0.52 kWh<br>
   TYPE       MQTT2_DEVICE
   eventCount 17608
   ha_MQTT2_MSGCNT 17507
   ha_MQTT2_TIME 2025-06-28 09:04:35
   Helper:
     DBLOG:
       power:
         logdb:
           TIME       1751094275.77704
           VALUE      332
   OLDREADINGS:
   READINGS:
     2025-06-28 09:02:31   akku            7
     2025-06-28 09:04:35   energy          0.519
     2025-06-28 09:04:35   power           332
     2025-06-28 09:04:35   statEnergy      Hour: 0.031 Day: 0.514 Month: 0.514 Year: 0.514 (since: 2025-06-28_00:01:01 )
     2025-06-28 09:04:35   statEnergyDay   0.514
     2025-06-27 23:59:57   statEnergyDayLast 2.857
     2025-06-28 08:59:56   statEnergyLast  Hour: 0.056 Day: 2.857 Month: - Year: -
     2025-06-28 09:04:35   statEnergyMonth 0.514
     2025-06-28 09:04:35   statEnergyYear  0.514
     2025-06-28 09:04:35   statPowerDay    Min: 0 Avg: 56 Max: 695 (since: 2025-06-28_00:01:01 )
     2025-06-27 23:59:57   statPowerDayLast Min: 0 Avg: 121 Max: 1236 (since: 2025-06-27_00:34:58 )
     2025-06-28 09:04:35   statPowerMonth  Min: 0 Avg: 56 Max: 695 (since: 2025-06-28_00:01:01 )
     2025-06-28 09:04:35   statPowerYear   Min: 0 Avg: 56 Max: 695 (since: 2025-06-28_00:01:01 )
   helper:
     _98_statistics Stat_Solarspeicher_HA_1
Attributes:
   DbLogExclude .*
   DbLogInclude power
   alias      3_ Solarspeicher_HA
   group      2_Solar
   icon       weather_sun@yellow
   readingList fhem:hass/sensor/solartest_energy_power/state:.* power

fhem:hass/sensor/solartest_energy_today/state:.* energy

fhem:hass/sensor/jk_bms_capacity_remaining/state:.* akku




   room       Solar
   stateFormat {sprintf

("Akkustand: %.f %% <br> Leistung aktuell: %.f  W <br> Einspeisung heute:  %.2f kWh<br>",

ReadingsVal("Solarspeicher_HA","akku",0),
ReadingsVal("Solarspeicher_HA","power",0),
ReadingsVal("Solarspeicher_HA","energy",0),

)}


Der Wert "statEnergyDay" wird ja aus dem Reading "energy" gebildet, soweit so gut. Allerdings habe ich beim Tageswechsel das Problem, wenn das Reading "energy" genullt wird, wird das Reading "statEnergyDay" mit dem Wert des dann vorhergenden Tages negativ. Also um 23:59:59 zeigt das Reading z.Bsp: 2.21 und um 00:00:01 dann -2.21.
Das Reading "energy" ist ja um 00:00:01 dann 0 und sobald der Wert ansteigt, steigt auch der negative Wert. Also bei quasi gleichem Verbrauch würde dann über den Tag der Wert bis zu Mitternacht wieder 0 sein.

Ich habe bei keinem anderen stat-Device ein solches Problem und finde den Fehler nicht.

Danke für eure Hilfe.


Grüße



PS: Ich habe mir nun mit "resetStatistics"  geholfen, deswegen stimmen die Werte bei statEnergyMonth und statEnergyYear auch nicht.


Knallfrosch

Oh, vermutlich habe ich den "Fehler" gefunden.

Das Statistics-Modul kommt nicht mit "genullten/Tages-Werten klar sondern nur mit Werten die kontinuierlich aufaddiert werden.
Zumindest habe ich keine andere Erklärung dafür.
Evtl. gibt es dafür aber auch eine Lösung?

Ich habe bisher nur das Reading "energy" (Tageswert) an FHEM geschickt.
Wenn ich mich nicht irre wird es mit dem Reading "energy_total" (wird nicht (automatisch) zurückgesetzt) korrekt funktionieren.


Wenn es dafür aber eine einfache Lösung kennt, wäre es super, wenn mir die jemand verraten würde.

Danke euch.

Grüße


rudolfkoenig

Womoeglich kan hier ein userReadings der Sorte monotonic Abhilfe schaffen:
https://fhem.de/commandref_modular.html#userReadings

Knallfrosch

Danke, aber ich glaube das ist mir tatsächlich auf die Schnelle zu kompliziert.

Mit dem aufaddierenden "energy_total" funktioniert es für mich ausreichend.

Musste zwar ein klein wenig wegen des neuen Readings anpassen, aber nun funktioniert alles, wie es soll.


Grüße