FHEM wertet HM-Telegramme offenbar mehrfach aus

Begonnen von Unicorn, 08 Oktober 2017, 12:34:42

Vorheriges Thema - Nächstes Thema

Unicorn

Für eine Benachrichtigung am Smartphone hatte ich den Staus der Fenstersensoren über ein Notify abgefragt und mir nach einer gewissen Zeit eine Erinnerung, die Fenster zu schließen schicken lassen (ist zwischenzeitlich etwas anders über einen Watchdog gelöst, aber es geht mir um den Hintergrund). Dabei habe ich dann  aber oft 2, manchmal sogar 3 Nachrichten gleichzeitig bekommen. Auch bei einem Lichtschalter, den ich per toggle betreiben wollte, wurde das Licht immer kurz an- und dann wieder ausgeschaltet. Es sieht so aus, als würden die Funktelegramme doppelt gesendet bzw. von FHEM ausgewertet.
Die Fenstersensoren sind direkt mit der Heizung gekoppelt und FHEM hört mit. Den HM Funkschalter gibt sein Signal indirekt über einen virtuellen Aktor in FHEM an einen AVM Steckdosenschalter.

Wie lässt sich diese doppelte Auswertung vermeiden bzw. was kann ich tun, um das zu verhindern?

herrmannj

richtig auswerten.

Wenn Du uns Deinen code nicht mal zeigst wird Dir auch keiner helfen können.

justme1968

fhem wertet funktelegramme nicht mehrfanch aus. im gegenteil. die gleiche nachricht die durch mehrere io devices empfangen wird explizit verworfen.

eine funk nachricht ändert aber in der regel mehrere readings und erzeugt deshalb mehrere events. d.h. man muss notifys so genau spezifizieren das sie nur durch das relevante reading getriggert werden.

zusätzlich sollte man das event-on-change-reading event passend setzen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

herrmannj

Zitat von: justme1968 am 08 Oktober 2017, 12:42:34
zusätzlich sollte man das event-on-change-reading event passend setzen.
naja, darüber kann man streiten. Das verhindert, wenn gesetzt, das legitime Anwendungen auf gleiche events reagieren können. Besser ist beim Empfänger des event ein ..if Value() ne OldValue()..

Otto123

Hallo Unicorn,

Du solltest mal den Eventmonitor aufmachen und schauen was passiert wenn Du den Fensterkontakt betätigst. Und dann solltest Du Deinen Auswertung anschauen, auf was Du reagierst.
Und Du solltest Dich mit den hilfreichen Features vertraut machen -> https://wiki.fhem.de/wiki/Event_monitor

Leider kann man auf pauschale Fragen auch nur pauschal antworten  ;D

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

justme1968

naja... wenn man eine sinnvolle anwendung für gleiche events hat setzt man es nicht. sonst schon.

Value und OldValue greifen nur auf STATE zu. sind also für alle anderen readings nicht verwendbar.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

viegener

@Unicorn: Aber nochmal zurück zum Punkt von herrmannj, ohne Deinen Code kann Dir vermutlich niemand helfen die doppelten Trigger zu vermeiden.

Ich habe das Problem auch bei bestimmten HM-Devices, dass diese manchmal den vorherigen Wert eines Readings nochmal als Event ausgeben, bevor der neue Wert als Event gesendet wird. Dann ist am besten im Eventmonitor genau zu schauen welche Events kommen und sich einen eindeutigen Event/pattern herauszupicken
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können