event-on-change-reading
![]() |
An dieser Seite wird momentan noch gearbeitet. |
Mit dem Attribut event-on-change-reading kann für Readings eines Gerätes festgelegt werden, dass nur bei einer Wertänderung ein Event (und damit in der Regel auch ein Log-Eintrag) erzeugt werden soll. Damit stellt das Attribut eine Möglichkeit zur Verfügung, die Menge von Log-Einträgen zu reduzieren.
Wird event-on-change-reading für ein einzelnes Reading gesetzt, werden zunächst alle übrigen Readings nicht mehr protokolliert, erzeugen also keine Events mehr.
Syntax
Das event-on-change-reading Attribut wird in der folgenden Weise spezifiziert:
attr <device> event-on-change-reading reading1[,reading2...n]
Die zu berücksichtigenden Readings sind als durch Komma getrennte Werte anzugeben, können aber auch über reguläre Ausdrücke zusammengefasst werden.
Wechselwirkungen
Dieses Attribut steht in Wechselwirkung mit den Attributen event-on-update-reading und event-min-interval, bitte also unbedingt auch deren Beschreibung berücksichtigen!
Sind bei einem Device weder event-on-change-reading noch event-on-update-reading spezifiziert, werden für alle Readings sowohl bei Änderung als auch bei der Aktualisierung (mit dem gleichen Wert) Events erzeugt. Sobald jedoch eines der beiden Attribute gesetzt ist, müssen alle Readings, die protokolliert werden sollen bei (mindestens) einem der Attribute berücksichtigt sein.
Ist für ein Reading sowohl event-on-change-reading als auch event-on-update-reading spezifiziert, wird bei jeder Aktualisierung des Readings ein Event erzeugt, das event-on-change wird für dieses Reading also außer Kraft gesetzt bzw. "überstimmt".
Ist im Forum nochmal gut zusammengefasst:
Update + Min-Interval -> Feuert, wenn der selbe Wert, der bereits im Reading steht, nochmal reingeschrieben wird UND mindestens min-interval Sekunden seit dem letzten Event vergangen sind Change -> Feuert, wenn der neue Wert wirklich abweichend vom alten Wert ist ODER mindestens min-interval Sekunden seit dem letzten Event vergangen sind.
Beispiele
Um alle Readings eines Gerätes nur bei Änderungen zu protokollieren, sollte das Attribut folgendermaßen gesetzt werden:
attr <device> event-on-change-reading .*
Siehe auch
Links
- Benutzungstipps (Best Practice) für das Attribut in diesem Forenthread