Hallo zusammen,
ich habe in meinem FHEM eine Konstellation aus Anwesenheits- und Bewegungserkennung deren Status über ein notify verändert werden soll. In Bezug auf ein notify, mit dem ein Befehl nicht an ein ESPEasy-Gerät gesendet wird habe ich nur den folgenden Beitrag gefunden, der bei mir aber keine Abhilfe geschafft hat. (
https://forum.fhem.de/index.php/topic,70511.0.html)
Zu meinen Problem: Ich nutze ein PRESENCE-Device um die Anwesenheit über die fritzbox zu ermitteln.
define presence_all PRESENCE function {get_presence()} 120 120
attr presence_all event-on-change-reading presence
attr presence_all webCmd statusRequest
Die Funktion get_presence() ruft eine URL die je nach Anwesenheitsstatus entweder 0 oder 1 zurückgibt. Das funktioniert soweit und der Korrekte Anwesenheitsstatus wird in FHEM angezeigt.
Dazu habe ich ein Dummy-Device definiert, dass entweder durch die Anwesenheit oder durch manuelles setzen die Information enthält ob die Bewegungserkennung aktiviert werden soll oder nicht.
define motion_state dummy
attr motion_state alias Status Bewegungserkennung
attr motion_state devStateIcon on:secur_locked@red off:secur_open
Auch hier wird mir der korrekte/gewünschte Status angezeigt (off: Bewegungserkennung abgeschaltet, on: angeschaltet).
Über ein notify soll nun bei Änderung dieses Status ein Relais an einem ESPEasy-Device geschaltet werden, dass das Gerät zur Bewegungserkennung einschaltet.
define SA_motion_change_state notify motion_state:(on|off) set ESPEasy_ESP_Plug_01_GPIO12 $EVTPART0;;set dummy_test evtvalue $EVTPART0
attr SA_motion_change_state devStateIcon inactive:general_aus@red:active .*:general_an:inactive
Wenn ich nun den Status von motion_state manuell setze (z.B. über das CMD-Feld oder über ein anderes dummy-Device, dann wird das Relais von ESPEasy_ESP_Plug_01_GPIO12 entsprechend ein- oder ausgeschaltet. Bei einer Statusänderung durch presence_all wird das notify SA_motion_change_state zwar ausgelöst aber das Relais wird nicht geschaltet (das erkenne ich durch das Device dummy_test und sehe es auch im Log).
Kann mir hier jemand weiterhelfen? Ich glaube irgendwie, dass es nur eine Kleinigkeit ist, die ich übersehe.
Danke und viele Grüße
Mark