Presence mit Watch Dog und Push Nachricht

Begonnen von simonela80, 24 Dezember 2014, 13:55:53

Vorheriges Thema - Nächstes Thema

simonela80

Hallo an alle,

habe mal wieder eine Frage.
Ich habe eine Presence Modul für zwei Handys über lan-Ping angelegt, das funktioniert
dazu die Handys in eine structure gebracht, funktioniert auch.
Durch einen Fensterkontakt sollte nun eine Push Nachricht kommen was leider nicht funktioniert, habe den Code von hier abgeschaut:
http://www.meintechblog.de/2013/11/howto-mit-fhem-push-nachrichten-aufs-iphone-schicken-update/

hier mal meinen Code den ich in der fhem.cfg geschrieben habe

#########################
# Anwesenheitserkennung #
#########################
define Peter PRESENCE lan-ping 192.168.1.12
attr Peter userattr Bewohner_structure Bewohner_structure_map structexclude
attr Peter Bewohner_structure Bewohner
attr Peter eventMap 1
attr Peter icon HOME_Status.1
attr Peter room Haus
attr Peter verbose 3
define Simone PRESENCE lan-ping 192.168.1.6
attr Simone userattr Bewohner_structure Bewohner_structure_map structexclude
attr Simone Bewohner_structure Bewohner
attr Simone eventMap 1
attr Simone icon HOME_Status.1
attr Simone room Haus
attr Simone verbose 3

define Bewohner structure Bewohner_structure Peter Simone
attr Bewohner clientstate_behavior relative
attr Bewohner clientstate_priority present absent
attr Bewohner eventMap 1
attr Bewohner room Haus

#Bewohner definieren
#define Bewohner dummy
define FileLog_Bewohner FileLog ./log/Bewohner-%Y-%m.log Bewohner
attr FileLog_Bewohner logtype text

#Bewohner auf on setzen bei Anwesenheit
define Bewohneron notify Bewohner:present { fhem ("set Bewohner on;; setstate watchdogBewohnerAbwesend defined") if (Value("Bewohner") ne "on") }

#Bewohner auf off setzen nach 3 Min Abwesenheit
define watchdogBewohnerAbwesend watchdog Bewohner:absent 00:01 Bewohner:present set Bewohner off
attr watchdogBewohnerAbwesend regexp1WontReactivate 1
attr watchdogBewohnerAbwesend room Haus

#UnautorisierteTueroeffnung definieren
define UnautorisierteTueroeffnung dummy
attr UnautorisierteTueroeffnung room Haus

#UnautorisierteTueroeffnung definieren
define UnautorisierteTueroeffnungAn notify Fensterkontakt:open.* { fhem ("set UnautorisierteTueroeffnung on") if (Value("Bewohner") eq "off")}
define UnautorisierteTueroeffnungAus notify Fensterkontakt:open.* { fhem ("set UnautorisierteTueroeffnung off") if (Value("Bewohner") eq "on")}

#Pushover Notification bei unautorisierter Türöffnung
define UnautorisierteTueroeffnungPushover notify UnautorisierteTueroeffnung:on { system ("curl -s -F 'token=XXXXXXXXXXXXXXXXXXXXXXX' -F 'user=XXXXXXXXXXXXXXXXXXXXXXXX' -F 'message=Haus\nUnautorisierte Türöffnung' https://api.pushover.net/1/messages.json")}


hoffe es kann mir einer helfen,
vielen Dank
Peter

der-Lolo

Funktioniert den die pushnachricht ohne drumrum bedingung zu senden?
trigger unauthorisierteTueroeffnunfpushover in der comandozeile?

simonela80

ja funktioniert eigentlich wenn ich nur ein Handy habe, aber mit zwei geht es leider nicht, denke es liegt irgenwo in der structure

der-Lolo

mit structure sollte es auch kein problem sein...
aber ich würde dir eh empfehlen das Residents Modul einzusetzen...
das wurde genau dafür entwickelt wohnungen, deren bewohner und gäste zu händeln.

simonela80

so nun habe ich es endlich geschafft, hier der Code den ich geschrieben habe

define Peter PRESENCE lan-ping 192.168.1.12
attr Peter userattr Bewohner_structure Bewohner_structure_map structexclude
attr Peter Bewohner_structure Bewohner
attr Peter eventMap 1
attr Peter icon HOME_Status.1
attr Peter room Haus
attr Peter verbose 3
#attr Peter event-on-change-reading state
define Simone PRESENCE lan-ping 192.168.1.6
attr Simone userattr Bewohner_structure Bewohner_structure_map structexclude
attr Simone Bewohner_structure Bewohner
attr Simone eventMap 1
attr Simone icon HOME_Status.1
attr Simone room Haus
attr Simone verbose 3
#attr Simone event-on-change-reading state

define Bewohner structure Bewohner_structure Peter Simone dummy
attr Bewohner clientstate_behavior relative
attr Bewohner clientstate_priority present absent
attr Bewohner eventMap 1
attr Bewohner room Haus
#attr Bewohner event-on-change-reading state
define FileLog_Bewohner FileLog ./log/Bewohner-%Y-%m.log Bewohner
attr FileLog_Bewohner logtype text

#Bewohner auf on setzen bei Anwesenheit
define Bewohner_on notify Bewohner:present set Bewohner on
attr Bewohner_on room Haus

#Watchdog definieren
define watchdogBewohner watchdog Bewohner:absent 00:01:00 Bewohner:present set Bewohner off;; setstate Bewohner defined
attr watchdogBewohner room Haus

#UnautorisierteTueroeffnung definieren
define UnautorisierteTueroeffnung dummy
attr UnautorisierteTueroeffnung room Haus

#UnautorisierteTueroeffnung definieren
define UnautorisierteTueroeffnungAn notify Fensterkontakt:open.* { fhem ("set UnautorisierteTueroeffnung on") if (Value("Bewohner") eq "absent")}
define UnautorisierteTueroeffnungAus notify Fensterkontakt:open.* { fhem ("set UnautorisierteTueroeffnung off") if (Value("Bewohner") eq "present")}

#Pushover Notification bei unautorisierter Türöffnung
define UnautorisierteTueroeffnungPushover notify UnautorisierteTueroeffnung:on { system ("curl -s -F 'token=XXXXXXXXXXXXXXXXXXXXXX-F 'user=XXXXXXXXXXXXXXXXXXXXX' -F 'message=Haus\nUnautorisierte Türöffnung' https://api.pushover.net/1/messages.json")}

mfeske

#5
Das regt gleich zum Nachbauen an :-) Wobei mich das Huassymbol etwas stört im linken Menürand. Ich suche auch noch nach den Vorteilen von Residents

[gelöst] und ob es nicht möglich ist bei absent HOME_Status.3 und present HOME_Status.1 ein anders Symbol anzuzeigen.
attr Dana devStateIcon present:HOME_Status.1 absent:HOME_Status.3

Habe mich jetzt bei pushover.net angemeldet und die app runtergeladen. Da stand was von fünf Tagen Testzeitraum ? Ich habe jetzt auch einen  user key, doch was kommt bei token rein und was bei user ? Habe jetzt testweise bei User user key von der pushover.net Startseite genommen und unter Application eine Application erstellt und von dort den Token genommen.

[gelöst] Kann ich notify UnautorisierteTueroeffnungPushover jetzt auch maneull auslösen?
set Bewohner off
set Kontakt_Flur open

DSie Nachricht kam allerdings fünf mal !

Du schreibst:
#Bewohner auf off setzen nach 3 Min Abwesenheit
define watchdogBewohnerAbwesend watchdog Bewohner:absent 00:01 Bewohner:present set Bewohner off

Erlaube einem Neuling die Frage; Ist da die 00:01 = 1 Minute vom testen übrig und Du schreibst normalerweise ein 00:03 ?

Unter structure steht
Bewohner on; setstate watchdogBewohnerAbwesend defined
Da ist doch was schief gegangen ?

das manuelle auslösen mit funktioniert. Aber das öffnen von Kontakt_Flur bei Abwesenheit wird leider ignoriert :-( In den Logs finde ich auch ncihts dazu. Habt Ihr eine Idee ?
#########################
# Anwesenheitserkennung  simonela80 #
#########################
# Anwesenheit Dana
define Dana PRESENCE lan-ping 192.168.115.35 20 60
attr Dana userattr Bewohner_structure Bewohner_structure_map structexclude
attr Dana Bewohner_structure Bewohner_Eltern
attr Dana devStateIcon present:HOME_Status.1 absent:HOME_Status.3
attr Dana eventMap 1
attr Dana room Haus
attr Dana verbose 3
# Anwesenheit Dana Ende
# Anwesenheit Micha
define Micha PRESENCE lan-ping 192.168.115.33 20 60
attr Micha userattr Bewohner_structure Bewohner_structure_map structexclude
attr Micha Bewohner_structure Bewohner_Eltern
attr Micha devStateIcon present:HOME_Status.1 absent:HOME_Status.3
attr Micha eventMap 1
attr Micha room Haus
attr Micha verbose 3
# Anwesenheit Micha Ende
# Bewohner Structur anlegen
define Bewohner_Eltern structure Bewohner_structure Micha Dana
attr Bewohner_Eltern clientstate_behavior relative
attr Bewohner_Eltern clientstate_priority present absent
attr Bewohner_Eltern devStateIcon present:HOME_Status.1 absent:HOME_Status.3
attr Bewohner_Eltern eventMap 1
attr Bewohner_Eltern room Haus
# Bewohner Log definieren
define FileLog_Bewohner_Eltern FileLog ./log/Bewohner_Eltern-%Y-%m.log Bewohner_Eltern
attr FileLog_Bewohner_Eltern logtype text
# Bewohner auf on setzen bei Anwesenheit
define BewohnerElternOn notify BewohnerElternOn notify Bewohner_Eltern:present { fhem ("set BewohnerEltern on;;;; setstate watchdogBewohnerElternAbwesend defined") if (Value("Bewohner_Eltern") ne "on") }
# Bewohner auf off setzen nach 3 Min Abwesenheit
define watchdogBewohnerElternAbwesend watchdog Bewohner_Eltern:absent 00:01 Bewohner_Eltern:present set Bewohner_Eltern off
attr watchdogBewohnerElternAbwesend regexp1WontReactivate 1
attr watchdogBewohnerElternAbwesend room Haus
# UnautorisierteTueroeffnung definieren
define UnautorisierteTueroeffnung dummy
attr UnautorisierteTueroeffnung room Haus
# UnautorisierteTueroeffnung definieren
define UnautorisierteTueroeffnungAn notify Kontakt_Flur:open.* { fhem ("set UnautorisierteTueroeffnung on") if (Value("Bewohner_Eltern") eq "absent")}
define UnautorisierteTueroeffnungAus notify Kontakt_Flur:open.* { fhem ("set UnautorisierteTueroeffnung off") if (Value("Bewohner_Eltern") eq "present")}
# UnautorisierteTueroeffnung definieren
define UnautorisierteTueroeffnungAn notify Kontakt_Flur:open.* { fhem ("set UnautorisierteTueroeffnung on") if (Value("Bewohner_Eltern") eq "off")}
define UnautorisierteTueroeffnungAus notify Kontakt_Flur:open.* { fhem ("set UnautorisierteTueroeffnung off") if (Value("Bewohner_Eltern") eq "on")}# Pushover Notification bei unautorisierter Türöffnung
define UnautorisierteTueroeffnungPushover notify UnautorisierteTueroeffnung:on { system ("curl -s -F 'token=XXX' -F 'user=XXX' -F 'message=Haus\nUnautorisierte Türöffnung' https://api.pushover.net/1/messages.json")}


Gruß
Micha
Hardware:
1 x Raspberry Pi Mod. B 512 MB
eq-3 2 x MAX! eTRV Heizungssteller, 1 x MAX! Fensterkontakt, 1 x MAX! Cube - LAN Gateway (ausser Betrieb)
Intertechno 1x ITZ-500, 3x ITT-1500, 9x ITR-1500, 3 x ITDL-1000, 2 x ITL-500
1 x CC1101-USB-Lite 433MHz (CUL433)  V3 1 x CC1101-USB-Lite 868MHz (CUL868)

Monosurround

Vielen Dank Peter. Ich habs auch direkt nachgebaut.

Ich benutze allerdings Jabber für die Push Notifications aufs Handy, damit geht es auch


#JabberNotification bei unautorisierter Türöffnung
define UnautorisierteTueroeffnungJabber notify UnautorisierteTueroeffnung:on set jabber msg meinUser@@jabber.de Tür wurde geöffnet!



Fhem on Pi3B (Buster): KNXD, HM-LAN, SIGNALduino, ....