set mit Überwachung auf Erfolg / Sicherstellung Soll-Zustand

Begonnen von loescher, 25 Dezember 2019, 22:07:06

Vorheriges Thema - Nächstes Thema

loescher

Hallo!

Ich habe ein ähnliches Problem mit manchen Funk-Aktoren wie in
https://forum.fhem.de/index.php?topic=97412
In seltenen Fällen, kommen die "set" Kommandos wegen einer kurzen Funk-Störung nicht an (z.B. bei ZigBee).
Wenn man das set Kommando wiederholt ist alles OK.

Gibt es ein set Kommando, oder eine generische Möglichkeit, ein set abzusetzen, das sicherstellt, dass dieser Soll-Zustand dann auch erreicht wird?

Mit DOIF bekomme ich sowas pro Gerät und set schon hin, aber das macht aus jedem kleinen set gleich ein ganzes DOIF mit immer der gleichen Logik.

Ich bräuchte also ein set, das selbst kontrolliert, ob es erfolgreich war und ggf. sich selbst wiederholt, bis der Soll Zustand erreicht ist.

Wie löst ihr das Problem?

(An den seltenen, kurzen Funk-Störungen kann ich leider an dieser Stelle nichts mehr optimieren...)

LG,
Stephan.

KölnSolar

Ich nehm watchdog(wenn das device seinen Zustand meldet).
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

loescher

Wie geht das dann?
Einmal ein "set" und zusätzlich einen watchdog, der das kontrolliert?
Das sind dann ja leider wieder zwei "Teile" für eigentlich nur ein set.
LG,
Stephan.

Otto123

Hallo Stephan,

"generisch" müsste es im Modul verankert sein. Bei HM wird der Befehl intern wiederholt wenn er nicht bestätigt wird. Wenn Du das nicht hast, weil das Gerät selbst nicht meldet, hast Du keine Chance.
Wie das bei Zigbee ist weiß ich leider nicht.
Aber die Idee von KölnSolar:
Meine Dose SD3 will ich überwachen:
- Eventmonitor auf und SD3.* gesetzt
- ein set SD3 on abgesetzt und den Event abgewartet. Bei HM wird das in set_on umgesetzt.
- Die Zeile markiert und ein watchdog erzeugt.
- Die DEF geändert auf (normal kommt ein Event SD3 on innerhalb kurzer Zeit):
defmod SD3_watchdog_1 watchdog SD3:set_on 00:00:05 SD3:on set SD3 on;; trigger SD3_watchdog_1 .
Leider steht im watchdog (anders als im notify) $NAME nicht zur Verfügung. Deshalb brauchst Du es pro Gerät einmal.

Zum Test des watchdog habe ich attr SD3 dummy 1 gesetzt. ;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

loescher

Danke, Otto!
Allerdings wollte ich das zusätzliche DEF pro set vermeiden.
Ich werde mal schauen, ob es z.B. mit DOIF auch generisch hinzubekommen ist...

LG,
Stephan.