event-min-interval / event-on-change-reading - Problem

Begonnen von cotecmania, 03 Februar 2025, 16:35:01

Vorheriges Thema - Nächstes Thema

cotecmania

Hallo,

ich möchte bei meiner Shelly-Steckdose das Logging minimieren. Interval ist 60 Sekunden.
Ich möchte die Events "relay" und "energy" immer bei Änderungen loggen, alles andere aber nur maximal alle 5 Minuten.
Die werden ja "oder" verknüpft, also dachte ich :

event-min-interval .*:300
event-on-change-reading  energy,relay

sei richtig.

Es tauchen aber immer nur "energy" oder "relay"-Events im Logfile, der Rest erscheint gar nicht mehr.
Was mache ich falsch bzw. wie sieht die Lösung aus ?

Für jeden Tip dankbar
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

Adimarantis

Die "oder" Verknüpfung bezieht sich auf die Bedingung "change" oder "min-interval".
Die Liste in event-on-change-reading schränkt aber die Readings generell ein.

Ich glaube nicht, dass die Kombination die du hier möchtest möglich ist.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

frober

#2
Umgedreht funktioniert es, sofern es dir reicht.

event-min-interval energy:300,relay:300
event-on-change-reading .*

So werden alle nur bei Änderungen aktualisiert und energy, bzw.  relay min. alle 5 Min.

D.h. zuerst wird geschaut ob sich was ändert und dann ob es in gewünschten Intervall passiert.
Raspi 3b mit Raspbian Bullseye 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...

cotecmania

Zitat von: frober am 03 Februar 2025, 18:21:44Umgedreht funktioniert es, sofern es dir reicht.

event-min-interval energy:300,relay:300
event-on-change-reading .*

So werden alle nur bei Änderungen aktualisiert und energy, bzw.  relay min. alle 5 Min.

D.h. zuerst wird geschaut ob sich was ändert und dann ob es in gewünschten Intervall passiert.

Das genau will ich ja NICHT !

event-on-change-reading .*
ist ja default und braucht man somit nicht.

event-min-interval energy:300,relay:300
würde genau die Events, die ich schnell haben will verlangsamen ...

FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

cotecmania

Zitat von: Adimarantis am 03 Februar 2025, 18:00:04Ich glaube nicht, dass die Kombination die du hier möchtest möglich ist.

Das befürchte ich leider auch, wäre aber m.E. sehr sinnvoll ....
Oder ich muss jeden Event, den ich reduzieren will, explizit angeben, was je nach Device sehr umfangreich werden kann ...
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

frober

Zitat von: cotecmania am 04 Februar 2025, 15:09:48Das genau will ich ja NICHT !

event-on-change-reading .*
ist ja default und braucht man somit nicht.

Du hast es nicht verstanden!
Das ist kein Default, per Default kommen ALLE Readings rein, damit nur bei Änderungen.

D.h. ein Reading z.B. IP-Adresse wird so im Normalfall nicht mehr aktualisiert.

Du kannst auch ein Range angeben. Z.B. temperare:0.5 dann wir nur ein Event ausgelöst wenn sich die Temperatur um min. 0,5° ändert.

Zitatevent-min-interval energy:300,relay:300
würde genau die Events, die ich schnell haben will verlangsamen ...

Die Events werden NICHT verlangsamt!
Falls sich das Reading innerhalb 300s nicht Ändert wird trotzdem ein Event ausgelöst.
Raspi 3b mit Raspbian Bullseye 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...

cotecmania

Wie ganz oben geschrieben ist bei meinem Shelly das Polling auf 60s eingestellt.
event-min-interval / event-on-change-reading ist aktuell nicht definiert.
Und so werden aktuell nur die Werte ins Logfile geschrieben, die sich geändert haben, nicht alle ...

Und somit verlangsamt es sich, wenn ich energy:300 angebe von 60s auf 300s
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI