FHEM Forum

FHEM => Sonstiges => Thema gestartet von: FhemPiUser am 13 Dezember 2022, 19:54:42

Titel: Wechselwirkung event-min-interval & event-on-change-reading
Beitrag von: FhemPiUser am 13 Dezember 2022, 19:54:42
Ich habe eine Frage zu den Wechselwirkungen von event-min-interval & event-on-change-reading https://wiki.fhem.de/wiki/Event-min-interval (https://wiki.fhem.de/wiki/Event-min-interval):

Ich habe ein device mit vielen Readings und habe folgende Anforderung:
a) drei Readings (current_temperature,outside_temperature,state) nur alle 300s ein Event generieren - nicht häufiger
b) alle anderen Readings sofort bei Änderung ein Event generieren.

Ich versuche also den dritten Fall in der Tabelle der Wechselwirkungen auf https://wiki.fhem.de/wiki/Event-min-interval (https://wiki.fhem.de/wiki/Event-min-interval) nur für die drei Readings zu erfüllen. Für alle anderen Readings soll einfach event-on-change-reading gelten.

Ich habe dafür folgende Attribute definiert, aber leider kommen so für die 3 Readings gar keine Events mehr.


attr dev event-min-interval current_temperature:300,outside_temperature:300,state:300
attr dev event-on-change-reading (?!(current_temperature|outside_temperature|state)).*


Hat jemand eine Idee?
"event-on-change-reading .*" führt dazu, dass die drei Readings immer sofort ein Reading erzeugen, was auch nicht meine Anforderung erfüllt.
Titel: Antw:Wechselwirkung event-min-interval & event-on-change-reading
Beitrag von: OdfFhem am 13 Dezember 2022, 20:42:52
event-on-change-reading sorgt dafür, dass für die dort ausgeschlossenen Readings generell keine Events mehr generiert werden. Folglich hat event-min-interval keinerlei Bedeutung mehr.

event-min-interval sorgt eigentlich nur bei qualifizierten Readings dafür, dass trotz Wertgleichheit bei abgelaufener Zeitspanne doch ein Event generiert wird.
Titel: Antw:Wechselwirkung event-min-interval & event-on-change-reading
Beitrag von: FhemPiUser am 13 Dezember 2022, 21:00:04
danke.

Heißt das, dass meine Anforderung nicht umsetzbar ist mit event-min-interval & event-on-change-reading?
Titel: Antw:Wechselwirkung event-min-interval & event-on-change-reading
Beitrag von: Beta-User am 13 Dezember 2022, 21:54:04
event-on-update-reading passend setzen?
Titel: Antw:Wechselwirkung event-min-interval & event-on-change-reading
Beitrag von: betateilchen am 13 Dezember 2022, 21:57:14
Popcorn?
Titel: Antw:Wechselwirkung event-min-interval & event-on-change-reading
Beitrag von: rudolfkoenig am 14 Dezember 2022, 13:22:34
Womoeglich hilft das commandref:
Zitatevent-on-change-reading
The attribute takes a comma-separated list of readings. You may use regular expressions in that list. If set, only changes of the listed readings create events. In other words, if a reading listed here is updated with the new value identical to the old value, no event is created. If an optional [:threshold] is given after a reading name events are only generated if the change is >= threshold.
Zitatevent-min-interval
This attribute takes a comma-separated list of reading:minInterval pairs. You may use regular expressions for reading. Events will only be generated, if at least minInterval seconds elapsed since the last reading of the matched type. If event-on-change-reading is also specified, they are combined with OR: if one of them is true, the event is generated.

Ich wuerde das Attribut event-on-change-reading entfernen.

Titel: Antw:Wechselwirkung event-min-interval & event-on-change-reading
Beitrag von: FhemPiUser am 14 Dezember 2022, 20:48:16
danke für den Tipp, aber leider bekomme ich ohne event-on-change-reading dann alle anderen Readings im Sekundenabstand als Event, auch wenn sich diese nicht ändern. Das möchte ich nicht.

Mein Ziel ist es die Anzahl Events und damit die Einträge im FileLog zu minimieren, d.h. 1) die oben genannten drei Readings (die sich im Sekundentakt ändern) nur max. alle 300s als Event und 2) für alle anderen Readings (die sich selten ändern wie z.B. switches) sofort, aber nur bei Änderung der Readings.

Diese Anforderung scheint nicht umsetzbar mit dem aktuellen Konzept.

Letzter Versuch: Ich teste jetzt nochmal die Regex "(?!(current_temperature|outside_temperature|state)).*" durch eine Liste der >50 Readings zu ersetzen...
Titel: Antw:Wechselwirkung event-min-interval & event-on-change-reading
Beitrag von: frank am 14 Dezember 2022, 21:04:27
zumindestens für die temp readings sollte es doch mit threshold funktionieren, wenn der threshold während der 300s nicht erreicht wird:

attr dev event-min-interval current_temperature:300,outside_temperature:300,state:300
attr dev event-on-change-reading current_temperature:10,outside_temperature:10,state:10,.*