Statistics-Modul erweitern auf Shelly und HTTPMOD-Device

Begonnen von Fhemschorsch, 08 Februar 2023, 16:24:11

Vorheriges Thema - Nächstes Thema

Fhemschorsch

Hallo,

Ich habe das statistics-Modul, welches mit meinem Tasmota-Energiezähler wunderbar funktioniert. Hier werden die Delta-Readings erzeugt, die ich auf eine Datenbank wegschreibe, um sie mir mit Grafana auszuwerten.

Nun habe ich aber folgende neue devices:

"Solar", ein HTTPMOD-Modul, welches die Leistung meines BKW-Wechselrichters auswertet. Hier will ich die Readings yield_today-1 und total_yield-1 für Deltabetrachtungen auswerten
"Stromzaehler_Auto", ein Shelly EM, welcher auf einer Phase den Ladestrom für das Auto auswertet. Hier will ich das Reading energy_0 für Deltabetrachtungen auswerten.

Mein statistics-Device sieht derzeit so aus:

define Statistiken statistics Stromzaehler|Solar|Stromzaehler_Auto
attr Statistiken deltaReadings Haus_total_in,total_yield-1,yield_today-1
attr Statistiken minAvgMaxReadings Haus_Power_curr
attr Statistiken room Energie,Schaltzentrale
attr Statistiken singularReadings Stromzaehler:Haus_total_in:Delta:(Hour|Day|Month|Year)|Stromzaehler_Auto:energy_0:Delta:(Hour|Day|Month|Year)


Er wertet den Stromzaehler aus, aber die anderen Devices werden ignoriert, bzw werden keine Readings angelegt/upgedated.

Hab ich irgend etwas übersehen? Irgendwie hab ich Tomaten auf den Augen, daher freue ich mich, wenn mir einer einen Denkanstoss gibt :-).

OdfFhem

Im Zweifel können die Readings "monitoredDevices.*" hilfreich sein ...

Fhemschorsch

setstate Statistiken 2023-02-08 16:06:14 monitoredDevicesHTTPMOD Solar
setstate Statistiken 2023-01-02 11:25:44 monitoredDevicesMQTT_DEVICE Stromzaehler
setstate Statistiken 2023-02-08 08:08:09 monitoredDevicesShelly Stromzaehler_Auto
setstate Statistiken 2023-02-06 09:34:53 monitoredDevicesUnsupported Solar#HTTPMOD


die monitored devices werden ja sauber einsortiert, Stromzaehler ist ein MQTT_DEVICE (und funktioniert!), Stromzaehler_Auto ist Shelly und Solar ist Unsupported, weshalb ich lt Wiki die Delta-Readings direkt angelegt habe.

Das Statistics-Modul scheint auch etwas zu machen, aber irgendwie kommen die Readings nicht in den Geräten an bzw es gibt die Stunden/Tage/Monats-Werte nicht.

Hier nochmal die komplette Raw-Definition:

defmod Statistiken statistics Solar|Stromzaehler_Auto|Stromzaehler
attr Statistiken deltaReadings Haus_total_in,total_yield-1,yield_today,energy_0-1
attr Statistiken minAvgMaxReadings Haus_Power_curr
attr Statistiken room Energie,Schaltzentrale
attr Statistiken singularReadings Stromzaehler:Haus_total_in:Delta:(Hour|Day|Month|Year)|Stromzaehler_Auto:energy_0:Delta:(Hour|Day|Month|Year)

setstate Statistiken Updated stats for: Stromzaehler
setstate Statistiken 2023-02-09 06:48:52 .Solar:total_yield-1 LastValue: 2.3 ShowDate: 5 DecPlaces: 1
setstate Statistiken 2023-02-08 16:35:40 .Solar:yield_today-1 LastValue: 0.90 ShowDate: 8 DecPlaces: 2
setstate Statistiken 2023-02-09 06:50:31 .Stromzaehler:Haus_Power_currDay Sum: 7465749 Time: 24635 LastValue: 336 LastTime: 1675921831 ShowDate: 0 DecPlaces: 0
setstate Statistiken 2023-02-09 06:50:31 .Stromzaehler:Haus_Power_currHour Sum: 1911564 Time: 3036 LastValue: 336 LastTime: 1675921831 ShowDate: 0 DecPlaces: 0
setstate Statistiken 2023-02-09 06:50:31 .Stromzaehler:Haus_Power_currMonth Sum: 528163881 Time: 715832 LastValue: 336 LastTime: 1675921831 ShowDate: 0 DecPlaces: 0
setstate Statistiken 2023-02-09 06:50:31 .Stromzaehler:Haus_Power_currYear Sum: 2491150458 Time: 3262186 LastValue: 336 LastTime: 1675921831 ShowDate: 1 DecPlaces: 0
setstate Statistiken 2023-02-09 06:50:31 .Stromzaehler:Haus_total_in LastValue: 34591.54 ShowDate: 3 DecPlaces: 2
setstate Statistiken 2023-01-02 12:36:26 .Stromzaehler:stateDay ON: 3890 lastState: ON (since: 2023-01-02_11:31:36) ON_Count: 1 showDate: 1 lastTime: 1672659386
setstate Statistiken 2023-01-02 12:36:26 .Stromzaehler:stateMonth lastState: ON (since: 2023-01-02_11:31:36) ON: 3890 showDate: 1 ON_Count: 1 lastTime: 1672659386
setstate Statistiken 2023-01-02 12:36:26 .Stromzaehler:stateYear lastTime: 1672659386 showDate: 1 ON_Count: 1 (since: 2023-01-02_11:31:36) lastState: ON ON: 3890
setstate Statistiken 2023-02-09 06:50:20 .Stromzaehler_Auto:stateDay (since: 2023-02-08_08:08:09) lastState: OK OK_Count: 1 showDate: 0 OK: 24625 lastTime: 1675921820
setstate Statistiken 2023-02-09 06:50:20 .Stromzaehler_Auto:stateMonth lastTime: 1675921820 initialized: 120 OK: 65797 initialized_Count: 1 showDate: 1 OK_Count: 4 (since: 2023-02-08_08:08:09) Error: 15814 Error_Count: 3 lastState: OK
setstate Statistiken 2023-02-09 06:50:20 .Stromzaehler_Auto:stateYear initialized: 120 lastTime: 1675921820 showDate: 1 initialized_Count: 1 OK: 65797 (since: 2023-02-08_08:08:09) Error: 15814 Error_Count: 3 lastState: OK OK_Count: 4
setstate Statistiken 2023-02-08 16:06:14 monitoredDevicesHTTPMOD Solar
setstate Statistiken 2023-01-02 11:25:44 monitoredDevicesMQTT_DEVICE Stromzaehler
setstate Statistiken 2023-02-08 08:08:09 monitoredDevicesShelly Stromzaehler_Auto
setstate Statistiken 2023-02-06 09:34:53 monitoredDevicesUnsupported Solar#HTTPMOD
setstate Statistiken 2023-02-09 05:59:55 nextPeriodChangeCalc 2023-02-09 06:59:55
setstate Statistiken 2023-02-09 06:50:31 state Updated stats for: Stromzaehler




OdfFhem

- singularReadings verwendet vermutlich das falsche Reading für Stromzaehler_Auto
... energy_0 <> energy_0-1

- singularReadings berücksichtigt nicht Solar

- u.U. hat Solar nicht ständig die gewünschten Readings ?

frank

setstate Statistiken 2023-02-09 06:50:20 .Stromzaehler_Auto:stateMonth lastTime: 1675921820 initialized: 120 OK: 65797 initialized_Count: 1 showDate: 1 OK_Count: 4 (since: 2023-02-08_08:08:09) Error: 15814 Error_Count: 3 lastState: OK
setstate Statistiken 2023-02-09 06:50:20 .Stromzaehler_Auto:stateYear initialized: 120 lastTime: 1675921820 showDate: 1 initialized_Count: 1 OK: 65797 (since: 2023-02-08_08:08:09) Error: 15814 Error_Count: 3 lastState: OK OK_Count: 4

schau mal in fhem.log, ob es fehlermeldungen zu diesen "ERROR" daten existieren.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

RalfRog

Fhemschorsch hat sich zwar länger nicht gerührt. Aber für Mitleser:

Liegt für das Device Solar und auch Stromzaehler_Auto das Problem nicht schon ganz am Anfang:
define Statistiken statistics Stromzaehler|Solar|Stromzaehler_Auto
attr Statistiken deltaReadings Haus_total_in,total_yield-1,yield_today-1
attr Statistiken minAvgMaxReadings Haus_Power_curr
attr Statistiken room Energie,Schaltzentrale
attr Statistiken singularReadings Stromzaehler:Haus_total_in:Delta:(Hour|Day|Month|Year)|Stromzaehler_Auto:energy_0:Delta:(Hour|Day|Month|Year)



  • im statistics-Modul ist über das Attribut singularReadings nur Stromzaehler:Haus_total_in und Stromzaehler_Auto:energy_0 definiert. Das Modul berücksichtigt daher "Solar" bei den SingleReadings schon mal nicht.
  • Außerdem meine ich, dass im attr deltaReadings neben Haus_total_in auch die beiden anderen Devices genannt werden müssen.

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