Bitte um Hilfe für ein notify

Begonnen von UweUwe, 12 Oktober 2023, 19:09:51

Vorheriges Thema - Nächstes Thema

UweUwe

Vorab,
ich bin nicht der jüngste und auch nicht der Programmierer.

Ich habe ein funktionierendes notify:

define wakeIPAD_n notify MotionIPAD:motion set pushmsg msg  title="FHEM IPAD-Uwe" message="Bewegung erkannt" device="IPAD-Uwe" priority="-1"
dies sendet mir zuverlässig eine Nachricht auf mein IPAD, wenn der Bewegungsmelder eine Bewegung erkennt. Aber auch, wenn ich im Haus bin.

Sehr gerne würde ich das notify ergänzen durch eine Anwesenenheitserkennung, die ebenfalls bereits seit langer Zeit und zuverlässig funktioniert. Die Anwensenheitserkennung ist über über Iphone/Geofanccy/Residentsrealisiert. In residents ist der "home" status damit immer aktuell.
Der "home" status von Residents soll verantwortlch sein, ob die message gesendet wird. Nur, wenn niemand zu Hause ist, soll die message gesendet werden, also "not home".
Leider bekomme ich diese Bedingung nicht realisiert.
Kann mir jemand einen TIP geben?








betateilchen

Der einfachste Weg ist es, die Abfrage auf "home" einfach anzuhängen und den "set" Befehl für die Nachricht in  fhem() zu kapseln, damit Du komplett in perl arbeitest.

define wakeIPAD_n notify MotionIPAD:motion { fhem('set pushmsg msg  title="FHEM IPAD-Uwe" message="Bewegung erkannt" device="IPAD-Uwe" priority="-1"') if (ReadingsVal(<residentDevice>,<residentReading,"") eq "home") }

Die Werte in ReadingsVal() musst Du halt auf Deine Gegebenheiten anpassen, um den Vergleich zu ermöglichen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

Andere Ansatz:
Falls mit dem home Status sowieso schon an anderer Stelle etwas "geschaltet" wird, könnte man damit zusätzlich das notify auch einfach aktivieren / deaktivieren
set wakeIPAD_n active / inactive
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

UweUwe

Hallo Otto,

danke für den Hinweis. Ja, ich schalte an anderer Seite mit dem home status:

Ich habe das so verstanden:

define Bewegung doif ([Bewohner:state] eq "home") (set wakeIPAD_n inactive)  DOELSEIF  ([Bewohner:state] eq "absent")  (set wakeIPAD_n active) DOELSEIF ([Bewohner:state] eq "gone") (set wakeIPAD_n active)
Ist dies so korrekt?








juergen012

Hallo,
ich würde es so versuchen:

define di_Bewegung DOIF ([Bewohner:state] eq "home") (set wakeIPAD_n inactive)
                    DOELSEIF  ([Bewohner:state] ne "home")  (set wakeIPAD_n active)
Fhem unter Proxmox

Otto123

Zitat von: UweUwe am 14 Oktober 2023, 12:49:11danke für den Hinweis. Ja, ich schalte an anderer Seite mit dem home status:
Ich hatte dann eher daran gedacht nichts extra zu machen, sondern lediglich set wakeIPAD_n active / inactive dem bestehen Vorgang hinzuzufügen.

Ansonsten sieht es nicht verkehrt aus ;)
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

UweUwe

Hallo Jürgen02 und Otto123,

euren Vorschlag

define di_Bewegung DOIF ([Bewohner:state] eq "home") (set wakeIPAD_n inactive)
                    DOELSEIF  ([Bewohner:state] ne "home")  (set wakeIPAD_n active)

hab ich sehr gerne empfangen und implementiert. Die Test sind alle bisher positiv. Danke