Hallo *,
ich habe mich ein wenig mit den ganzen event-* Möglichkeiten auseinandergesetzt, aber zu einem bestimmten Einsatzzweck keine saubere Lösung gefunden:
Ich möchte das Umschalten der Sender beim SatReceiver in der Anwesenheitserkennung nutzen, kombiniert mit ein paar anderen Möglichkeiten (Bewegungsmelder, Lichtschalter-Buttons).
Mein Ansatz ist, dies über event-on-change-reading auf "channel" und ein DOIF zu realisieren. Problem ist nur, dass dann jedesmal beim Umschalten ein Event gefeuert wird und FHEM jedesmal ein "set HomeStatus_Eltern:FILTER=STATE!=Zuhause Zuhause" feuert.
Ich befürchte, dass das durchaus belastend für das System ist (Rasp3), und daher eine Eventpause für 5 Mins einlegen lassen. So ähnlich wie es für die Bewegungsmelder mit Setzen von "minInterval" geht, da nehmen die ja auch für x Sekunden keine Bewegungsaktion entgegen.
event-min-interval geht nicht, da wird ja immer ein Event nach eingestellter Zeit ausgelöst.
Hier mal mein Ansatz fürs DOIF, wie könnte ich ihn um den SATReceiver erweitern?
Auf CMD1 ist noch ein wait-timer gesetzt, damit es nicht sofort auf "KurzWeg" geht.
([ug_eb_fk] eq "closed")
(set HomeStatus_Eltern:FILTER=STATE=Zuhause KurzWeg,set HomeStatus_Marc:FILTER=STATE=Zuhause KurzWeg)
DOELSEIF(
[th_eg_bm_Motion] eq "motion"
or [SichereFenster]
or [":Btn"])
(set HomeStatus_Eltern:FILTER=STATE!=Zuhause Zuhause)
Danke!
Event-min-interval löst kein Event aus (dein Bewegungsmelder feuert ja auch nicht alle 5 Minuten, oder?). Auch bei event-min-interval muss erstmal ein Event da sein.
Doif triggert übrigens nur bei Änderung des Zustandes (ausser du hast do always gesetzt), sollte also nicht wirklich kritisch sein.
Kurz, weil mobil...