Hallo,
ich hab ein KNX-Binäreingang als Zähler konfiguriert. Dieser zählt die Impulse meines Stromzählers. Vorteil: Falls fhem mal nicht läuft, bleibt mir trotzdem der Zählerstand erhalten.
Zusätzlich habe ich ein Userreading mit monotonic definiert, damit, falls der Binäraktor mal überläuft / programmiert wird, der Fhem-Zählerstand weiterzählt.
getG1_monotonic:getG1.* monotonic { ReadingsVal("Technikraum_Stromzaehler_S0", "getG1", 0) }
ABER:
Scheinbar zählt der monotonic immer nur um 1 hoch, auch wenn fhem mal kurz down ist und dann später wieder läuft, und sagen wir mal der Binäraktor hat inzwischen um 10 hochgezählt, so wird das Userreading um 1 weitergezählt sobald der Binäraktor einen Wert schickt (z.B. x+10).
Kann dieses Verhalten hier jemand bestätigen oder ist das nur bei mir so und es sollte eigentlich schon um +10 raufzählen?
Ich habe gesehen, dass das monotonic bereits einmal "einspringen" musste. Binäreingang = 326070 | monotonic-Userreading = 756367
Hat es damit was zu tun?
Viele Grüße,
lichtimc
Hi,
mit diesem Tesdumma kannst Du eigentlich gut sehen was passiert
define Technikraum_Stromzaehler_S0 dummy
attr Technikraum_Stromzaehler_S0 readingList getG1
attr Technikraum_Stromzaehler_S0 setList getG1
attr Technikraum_Stromzaehler_S0 userReadings getG1_monotonic:getG1.* monotonic { ReadingsNum($name, "getG1", 0) }
Immer wenn sich der neue Wert zum vorhergehenden erhöht wird um die Differenz erhöht.
Gruß Otto