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
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.
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.
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 ...
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 ...
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.
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