[gelöst] event-on-change-reading event-min-interval, sorry

Begonnen von holle75, 21 Januar 2021, 14:07:42

Vorheriges Thema - Nächstes Thema

holle75

Hallo Ihr, .... und ja, ich war sicher, dass ich es mittlerweile verstanden habe und ja, ich habe eben nochmal ins Wiki geschaut -> https://wiki.fhem.de/wiki/Event-on-change-reading

und ja da steht

In einer einfachen Anwendung kann, um alle Readings eines Gerätes nur bei Änderungen zu verarbeiten, das Attribut folgendermaßen gesetzt werden:

    attr <device> event-on-change-reading .*

Zusätzlich kann mit

    attr <device> event-min-interval .*:3600

dafür gesorgt werden, dass jede Stunde auch ohne Werteänderung die Readings dennoch verarbeitet werden,


Ich habe hier ein ModbusAttr wo das oben gesagte partout nicht so ist.... wenn ich es richtig verstehe.

Internals:
   DEF        93 5
   FUUID      600304ed-f33f-6bb4-88c9-165119e414daa981
   IODev      Eastron
   Interval   5
   MODBUSID   93
   MODE       master
   MODULEVERSION Modbus 4.3.11 - 2.1.2021
   NAME       Studer485_BSP
   NOTIFYDEV  global
   NR         595
   NTFY_ORDER 50-Studer485_BSP
   PROTOCOL   RTU
   STATE      opened
   TYPE       ModbusAttr
   FRAME:
   READ:
   READINGS:
     2021-01-21 11:45:30   Charge_Discharge_W 26
     2021-01-21 11:44:42   SoC             100.0
     2021-01-21 13:49:41   Temp_Batt       12.1
     2021-01-21 13:49:35   Volt_Batt       26.14
     2021-01-21 10:50:46   state           opened
   REMEMBER:
     lrecv      1611233381.9916
     lsend      1611233381.95095
   gotReadings:
     Temp_Batt  12.1
   lastRead:
     i0         1611233375.80853
     i4         1611225882.29195
     i58        1611233381.99845
     i6         1611225930.15307
Attributes:
   dev-defLen 2
   dev-defPoll 1
   dev-defShowGet 1
   dev-defUnpack f>
   dev-h-read 3
   dev-h-write 16
   dev-i-combine 4
   dev-i-read 4
   dev-timing-timeout 1
   event-min-interval .*:60
   event-on-change-reading Charge_Discharge_W:50,Volt_Batt:0.1,SoC,Temp_Batt:0.2
   group      Xtender
   obj-i0-format %.2f
   obj-i0-reading Volt_Batt
   obj-i4-format %.1f
   obj-i4-reading SoC
   obj-i58-format %.1f
   obj-i58-reading Temp_Batt
   obj-i6-format %2d
   obj-i6-reading Charge_Discharge_W


SoC steht seit Tagen auf "100" und das ist auch so! Die im List angezeigte Reading Time habe ich manuell ausglöst. Aber das event-min-interval tut nix. Die 60sek sind gerade für Testzwecke. event-on-change-reading sollte laut wiki und meinem Verständnis event-min-interval nicht unterdrücken. Gelesen wird das Reading alle 5 Sekunden.

Was verstehe ich nicht richtig?

Was mir aber gerade auffällt: lastread 1611225882.29195 als timestamp für i4 (SoC) steht tatsächlich exakt auf der Reading Time (-1h).
Aber die Readings werden alle 5 Sekunden ausgeführt. Ist "lastread" das letzte mal pollen oder die Reading Time?

edit: oh mann, das combine attr hat nur 2 Readings geholt. Alles so wie es sein soll. Entschuldigt bitte