FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Dodger am 13 Dezember 2021, 07:54:33

Titel: Push Nachricht bei Abwesenheit -> wie am besten lösen?
Beitrag von: Dodger am 13 Dezember 2021, 07:54:33
Hi Leute,

ich habe mir ja für meine Familienmitglieder über Presence-devices eine Anwesenheitsliste erstellt.
Jetzt möchte ich gerne beim Wechsel des Status eine Push-Benachrichtigung bekommen.
Pushbullet hab ich dafür schon eingerichtet.

Jetzt frag ich mich, wie ich das am sinnvollsten anstelle.
Ich könnte ein notify device anlegen, welches den fhem Befehl zum senden der Push Nachricht enthält. Und das Trigger-Event wäre das Presence device.
Das müsste ich für jedes Familienmitglied machen.

Es geht aber doch bestimmt auch geschickter, oder?

Gruß
Dodger
Titel: Antw:Push Nachricht bei Abwesenheit -> wie am besten lösen?
Beitrag von: Dodger am 13 Dezember 2021, 08:35:17
hab jetzt ein Notify device erstellt mit folgender Definition:
Anwesenheit_xxx:.* {if(ReadingsVal('Anwesenheit_xxx','presence','present') eq 'absent') {fhem(set Push_Message message xxx hat das Haus verlassen)} else {fhem(set Push_Message message xxx ist zu Hause angekommen)}}

Wenn ich set Push_Message message xxx hat das Haus verlassen direkt in der Kommandozeile ausführe, wird die Push Nachricht versendet.
Wenn das Notify auslöst, bekomme ich folgende Fehlermeldung im Log:
push_xxx_presence return value: Can't locate object method "Hause" via package "angekommen" (perhaps you forgot to load "angekommen"?) at (eval 90211) line 1.

Ist mein Aufruf über fhem(...) falsch?

Gruß
Dodger


***EDIT***
Selbst gelöst: die Anweisung muss in "" stehen:
fhem("hier kommt der ganze Befehl")
Titel: Antw:Push Nachricht bei Abwesenheit -> wie am besten lösen?
Beitrag von: binford6000 am 13 Dezember 2021, 08:39:55
Zitat von: Dodger am 13 Dezember 2021, 08:35:17
Ist mein Aufruf über fhem(...) falsch?

Gruß
Dodger

Probier mal
{fhem("set Push_Message message xxx hat das Haus verlassen")} else {fhem("set Push_Message message xxx ist zu Hause angekommen")}}

VG Sebastian
Titel: Antw:Push Nachricht bei Abwesenheit -> wie am besten lösen?
Beitrag von: CoolTux am 13 Dezember 2021, 08:56:46
Ich Grunde brauchst Du lediglich ein Notify welches Du auf alle Deine present Devices triggern lässt. Du solltest dafür natürlich eine vernünftige Namenskonvention haben.

nehmen wir mal an Deine Present Devices heißen
present_Bewohner_Max
present_Bewohner_Moritz
present_Bewohner_Gudrun
und Du hast bei jedem present Device ein Alias mit dem Namen des Bewohners hinterlegt.

define notify_Anwensenheitsnachricht notify present_Bewohner_.*:presence:.(absent|present) { fhem("set Push_Message message [DEVICE:ALIAS]  " . ($EVTPART1 eq 'present' ? 'ist zu Hause angekommen' : 'hat das Haus verlassen')) }



Sollte so passen. Den Bedingungsteil kann man sicherlich mit SetMagic noch anders und schlanker machen, weiß aber gerade nicht wie.
Titel: Antw:Push Nachricht bei Abwesenheit -> wie am besten lösen?
Beitrag von: Beta-User am 13 Dezember 2021, 09:31:41
Zitat von: CoolTux am 13 Dezember 2021, 08:56:46

define notify_Anwensenheitsnachricht notify present_Bewohner_.*:presence:.(absent|present) { fhem("set Push_Message message [DEVICE:ALIAS]  " . ($EVTPART1 eq 'present' ? 'ist zu Hause angekommen' : 'hat das Haus verlassen')) }

...gibt das ein NOTIFYDEV...?

Wenn nicht, wäre vielleicht das hier eine Variante (und jede Klammer, die man weglassen kann, sollte man auch weglassen, daher vermute ich, dass das auch so funktioniert):

define notify_Anwensenheitsnachricht notify present_Bewohner_.*:presence:.*sent { fhem("set Push_Message message [DEVICE:ALIAS]  " . $EVTPART1 eq 'present' ? 'ist zu Hause angekommen' : 'hat das Haus verlassen') }


Allerdings bin ich mal gespannt, wann die Messages nerven...

Würde das eher in ein FileLog schreiben und bei Bedarf einen Plot (mit allen relevanten Devices auf einem Plot) generieren, aber das ist eine andere Geschichte.
Titel: Antw:Push Nachricht bei Abwesenheit -> wie am besten lösen?
Beitrag von: misux am 23 Dezember 2021, 12:00:07
HI!
Ich finde sowas ist am besten mit dem PRESENCE Modul https://commandref.fhem.de/#PRESENCE (https://commandref.fhem.de/#PRESENCE) mit einer FritzBox in Verbindung mit Telegram https://commandref.fhem.de/#TelegramBot (https://commandref.fhem.de/#TelegramBot).

Mit DOIF kannst du dir dann hervorragend einrichten wann du eine Nachricht bekommen sollst, welche Nachricht es sein soll und hats viele Möglichkeiten.

Habe das seit Jahren so am Laufen und keine Probleme bis jetzt.
Titel: Antw:Push Nachricht bei Abwesenheit -> wie am besten lösen?
Beitrag von: Beta-User am 23 Dezember 2021, 12:11:38
Falls das PRESENCE in der "ping"-Variante ist: Ich mache das bewußt nicht mit PRESENCE, das "frißt" nämlich Speicher, was vielen leider nicht bewußt ist (es gibt eine speicherschonendere Variante von martinp876 irgendwo hier im Forum...)
Titel: Antw:Push Nachricht bei Abwesenheit -> wie am besten lösen?
Beitrag von: misux am 23 Dezember 2021, 17:08:17
Nutze die "function" .. habe es seit ca 4 Jahren so am laufen ...

Habe die MAC Adressen der Handys im Presence ... sobald sich das Handy im Heim WLAN befindet wird ein Dummy(des besitzers)  auf "zuhause" geschaltet und schon verrichten gewisse doifs ihren dienst... Rolladen, beleuchtung usw...