[gelöst] statistics Modul / Eventerzeugung unklar

Begonnen von RalfRog, 03 Mai 2021, 13:05:36

Vorheriges Thema - Nächstes Thema

RalfRog

Hallo
Ich lasse zur Aufbereitung der Power- und Energy-Daten meines PV-Moduls die beiden entsprechenden Readings (vom Modul 36_Shelly.pm) durch das statistics Modul auswerten.
Bin mit der Eventerzeugung des Mudul noch nicht ganz klar. Um nicht zu viel auf einmal hier unterzubringen bleibe ich zunächst bei zwei Dingen die mir aufgefallen sind:
A) mit Attribut dayChangeTime fehlende DayLast (MonthLast, YearLast ungeprüft)
B) unerwartete Events für Summary-Readings

Lt. Wiki:

  • Das Modul löst beim Schreiben der Last-Readings und der singularReadings jeweils ein Update-Event aus...
  • Die Aktualisierung der normalen statistischen Summary-Readings führt nicht zu einem Event...

A) Reading power: Min/Avg/Max-Typ
1)
Mit gesetztem Attribut "dayChangeTime" auf 23:50 wurden z.B. die Readings "statPowerDayLast" um 23:49:55 aktualsiert haben aber kein Event ausgelöst (ich wollte die Berechnungen etwas von Mitternacht nach vorne ziehe, damit nicht alles 5 Sekunden vor dem Datumswechsel gerechnet werden muss). Um 23:59:55 gab es dann u.a. ein Event "statPowerHourLast".

2021-05-01_23:59:55 shelly_plug_s_df2674 statPowerHourLast: Min: 0.00 Avg: 0.00 Max: 0.00
2021-05-01_23:59:55 shelly_plug_s_df2674 statEnergyCum: Hour: 0.0 Day: 0.0 Month: 0.0 Year: 1100.0 (since:  )
2021-05-01_23:59:55 shelly_plug_s_df2674 statEnergyCumLast: Hour: 0.0 Day: 1096.9 Month: 1100.0 Year: - (since:  )


2)
Testhalber habe ich das Attribut entfernt und heute Nacht 23:59:55 wurden an sich wie erwartet zwei Events ausgelöst "statPowerDayLast" & "statPowerHourLast".

2021-05-02_23:59:55 shelly_plug_s_df2674 statEnergyCum: Hour: 0.0 Day: 0.0 Month: 485.3 Year: 1585.3 (since:  )
2021-05-02_23:59:55 shelly_plug_s_df2674 statEnergyCumLast: Hour: 0.0 Day: 485.3 Month: 1100.0 Year: - (since:  )
2021-05-02_23:59:55 shelly_plug_s_df2674 statPowerHourLast: Min: 0.00 Avg: 0.00 Max: 0.00
2021-05-02_23:59:55 shelly_plug_s_df2674 statPowerDayLast: Min: 0.00 Avg: 20.48 Max: 284.24


--> Ist der erste Fall mit Attribut (ohne Event statPowerDayLast) das vorgesehene Verhalten?



B) User-Reading energyCum: Delta-Typ (normales statistisches Summary-Reading??)
1) Löst jede Stunde um xx:59:55 ein Event für das Reading statEnergyCum (unerwartet) und das Last Reading statEnergyCumLast (erwartet) aus.
2) löst auch jedesmal wenn das User-Reading energyCum aktualisiert wird ein Event für statEnergyCum aus (unerwartet).
3) Sogar wenn das Reading power aktualisiert wird ein Event für statEnergyCum ausgelöst (unerwartet).

2021-05-03_11:59:20 shelly_plug_s_df2674 power: 117.63
2021-05-03_11:59:20 shelly_plug_s_df2674 statEnergyCum: Hour: 144.1 Day: 420.0 Month: 905.3 Year: 2005.3 (since:  )
2021-05-03_11:59:55 shelly_plug_s_df2674 statPowerHourLast: Min: 43.61 Avg: 126.75 Max: 209.07
2021-05-03_11:59:55 shelly_plug_s_df2674 statEnergyCum: Hour: 0.0 Day: 420.0 Month: 905.3 Year: 2005.3 (since:  )
2021-05-03_11:59:55 shelly_plug_s_df2674 statEnergyCumLast: Hour: 144.1 Day: 485.3 Month: 1100.0 Year: - (since:  )
2021-05-03_12:01:52 shelly_plug_s_df2674 power: 109.59
2021-05-03_12:01:52 shelly_plug_s_df2674 statEnergyCum: Hour: 0.0 Day: 420.0 Month: 905.3 Year: 2005.3 (since:  )
2021-05-03_12:04:07 shelly_plug_s_df2674 energy: 29063.1
2021-05-03_12:04:07 shelly_plug_s_df2674 energyCum: 31697.4
2021-05-03_12:04:07 shelly_plug_s_df2674 statEnergyCum: Hour: 31.4 Day: 451.4 Month: 936.7 Year: 2036.7 (since:  )


--> Sind die Events für statEnergyCum bei 1) & 2) & 3) das vorgesehene Verhalten?
           Das User-Reading generiere ich so: energyCum:energy.* monotonic {sprintf("%.1f",ReadingsVal("shelly_plug_s_df2674","energy",0))}

Das shelly-Modul arbeitet intern so, dass nur bei Äbderungen und nicht schon bei Update ein Event erzeugt wird.

FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

RalfRog

#1
Zitat von: RalfRog am 03 Mai 2021, 13:05:36

A) Reading power: Min/Avg/Max-Typ
...
Mit gesetztem Attribut "dayChangeTime"

:)  Nach zwei Tagen weiterer Tests ist meine Erkenntnis zu A):

  • für die Verschiebung des Auswertezeitpunkts ist das Attribut "periodChangePreset" zuständig => damit Frage A) erledigt / die Events passen
  • mir ist noch unklar was der Gedanke & Anwendung hinter dem Attribut "dayChangeTime" ist
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

RalfRog

#2
Zitat von: RalfRog am 03 Mai 2021, 13:05:36
...
B) unerwartete Events für Summary-Readings
..
Lt. Wiki:

  • Das Modul löst beim Schreiben der Last-Readings und der singularReadings jeweils ein Update-Event aus...
  • Die Aktualisierung der normalen statistischen Summary-Readings führt nicht zu einem Event...

Habe noch weiter versucht das Verhalten zu verstehen.

Entgegen der 2. Aussage im Wiki löst bei mir auch "Die Aktualisierung der normalen statistischen Summary-Readings führt nicht zu einem Event..." immer ein Event aus (vermutlich nicht nur bei mir sondern überall).

Daher muss man -wenn es zuviel ist- die Readings wohl durch entsprechende Vorkehrungen minimieren.
Ich mach es jetzt mit dem Attribut "event-min-interval" und lass die Werte nur noch einmal am Tag schreiben (86000 Sekunden) da ich diese Readings praktisch nicht im Log brauche.

Wer hat mit dem Modul schon Erfahrung gesammelt? ...und ggfs. hinsichtlich Events ein paar Tips?
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

RalfRog

Ich setz das Ding auf gelöst.
Im Ergebnis erhalte ich die gewünschten Werte und schreibe sie per DBLog weg.

Worüber ich vor 2 Jahren bei der Erstnutzung gestolpert bin weiss ich schon gar nicht mehr genau... ::)    und spielt ja offensichtlich aktuell keine Rolle mehr  ;)
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

B.Stromberg

Es wird zwar so gut wie bei allen Dingen, die mit FHEM und Datenerfassung zusammenhängen auf das Statistics Modul hingewiesen, jedoch, möchte man dieses anwenden steht man quasi vor einer Wand.
Wiki und Commandref geben kaum etwas her...
Sicher gut für Informatik Studenten und Raketenforscher, aber für jemand, der beruflich nicht unbedingt mit Microprozessoren und deren Programmierung zu tun hat erst einmal schwer zu verstehen...

Dein Beitrag hier beweist das nachhaltig.

Könnte mir echt in den Hintern beißen, dass ich in den Jahren schon so viel meiner Hausautomation mit FHEM realisiert habe...
Aber ich glaube, es wird nun Zeit für etwas anderes.

KölnSolar

Da ich deutlich aus dem Studententalter raus bin, bin ich wohl Raketenforscher.  ::)

Wo ist Dein Problem ?

Einfaches Bsp. für Statistik Temperatur.

Thermometerdefmod RPi_OW_TA GPIO4 28-80000004585a
Statistik devicedefmod statistik statistics RPi_OW_TAliefert im device die Statistik readings  statTemperatureDay Min: 10.625 Avg: 11.376 Max: 12.500
  statTemperatureDayLast Min: 9.687 Avg: 13.303 Max: 17.312
  statTemperatureMonth Min: -1.687 Avg: 6.340 Max: 17.312
  statTemperatureMonthLast Min: -2.250 Avg: 6.514 Max: 16.562
  statTemperatureYear Min: -3.375 Avg: 6.204 Max: 17.312
  statTemperatureYearLast Min: -7.250 Avg: 13.491 Max: 38.312

Voraussetzung ist, dass das device events mit reading name temperature liefert. Gilt auch lt. commandref für current, energy_current, humidity, luminosity, voltage
vergleichbar brightness, wind, wind_speed, windSpeed


Eher Förderschulenniveau.

Dieser Thread hat aber auch einen ganz anderen Hintergrund. Kapere daher bitte nicht einen Thread mit sehr spezieller Thematik, um Deinen Frust zu dokumentieren und falsche allgemeine Kritik über das Modul zu posten, sondern nutze das Forum, um sachlich um Hilfe zu bitten.

Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt