[Gelöst] Readings loggen - zyklisch, aber Sprünge im Reading berücksichtigen

Begonnen von ff4f, 29 September 2021, 13:59:45

Vorheriges Thema - Nächstes Thema

ff4f

Hallo,

ich lese per OBIS Modul meinen EHz Stromzähler aus. Nun möchte das Reading power (also die im Moment bezogene Leistung) zyklisch per DbLog erfassen. Das funktioniert auch soweit mit dem event-aggregator, der alle 60 Sekunden die Werte aus dem Reading interpoliert.
attrib OBISDevice event-aggregator power:60:linear:mean

Nun sollen aber vom selben Reading zusätzlich Leistungspeaks erfasst werden. Und zwar sofort, wenn sie auftreten und ohne Interpolation. Dazu würde sich event-on-change-reading mit einem threshold eignen.
attr OBISDevice event-on-change-reading power:200
Das erzeugt mir also einen Event, sobald sich das Reading power um 200 Einheiten (also in meinem Falle Watt) ändert.

Wenn ich beide Attribute gleichzeitig setze, bekommt der event-aggregator lediglich die Readings mit, die sich eben um die 200 Einheiten verändert haben. Die anderen Werte werden nicht mehr geschrieben.
Steht ja auch so in der commandref:
The event aggregator only takes into consideration those updates that remain after preprocessing according to the event-on-update-reading and event-on-change-reading directives.

Wie kann ich das lösen?

Edit: Thread Titel geändert, da es ja nicht direkt etwas mit DbLog zu tun hat.

DS_Starter

#1
Um deinen Wert regelmäßig zu loggen, kannst du einfach das Kommando "set ... addLog"  im DbLog mit einem simplen at benutzen.
Das

attrib OBISDevice event-aggregator power:60:linear:mean


wäre hinfällig.

Das

attr OBISDevice event-on-change-reading power:200


behältst du bei um den Event zu loggen.

Damit sollte alles so laufen wie du es möchtest.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

ff4f

Vielen Dank, Heiko!

Mit at Befehlen hatte ich zuletzt zu Modemzeiten zu tun  ;) und hatte ich - wenn auch in einem anderen Zusammenhang - bei Fhem noch nicht auf dem Schirm.

So hab ich es jetzt.. und es funktioniert wie gewünscht!
attr OBISDevice event-on-change-reading power:200

define logEHzPower at +*00:01:00 set logdb addLog OBISDevice:power
attr logEHzPower alignTime 00:00:00


Danke!
Gruß, Frank