Hauptmenü

Frage zu Geofancy

Begonnen von Breaked, 27 April 2015, 20:00:24

Vorheriges Thema - Nächstes Thema

Breaked

Hallo zusammen!  :)

Ich habe zuvor eine Anwesenheitserkennung via WLAN/Bluetooth genutzt. Via Presence und watchdog..
Den Code habe ich von dieser Seite: Klick
Falls Link nicht erwünscht, einfach löschen..

Nun bin ich auf das Geofancy-Modul gestoßen - ist auch soweit schon eingerichtet.
Da ich allerdings kein Coding-Profi bin, stellt sich für mich nun die Frage, wie ich die An-/Abwesenheitskontrolle über das Geofancy-Modul realisieren kann.

Im Endeffekt bekomme ich, sofern ich abwesend bin, eine Push-Nachricht aufs iPhone sobald meine Wohnungstüre geöffnet wird.
Wenn ich zu Hause bin, macht so eine Benachrichtigung aber natürlich keinen Sinn.

Vielleicht habt ihr ja ein paar Codezeilen direkt parat  ;)
Lieben Gruß




EDIT:
Es funktioniert nun. Falls jemand ebenfalls Probleme mit der Push-Benachrichtung hat (wenn keiner mehr anwesend ist und eine Türe/Fenster geöffnet wird) hier der Code:

#UnautorisierteTueroeffnung definieren
define UnautorisierteTueroeffnung dummy
attr UnautorisierteTueroeffnung room Haus

#UnautorisierteTueroeffnung definieren
define FLUnautorisierteTueroeffnungAn notify Eingangstuere:open.* { fhem ("set UnautorisierteTueroeffnung on") if (Value("HomeStatus") eq "absent")}
define FLUnautorisierteTueroeffnungAus notify Eingangstuere:open.* { fhem ("set UnautorisierteTueroeffnung off") if (Value("HomeStatus") eq "present")}

#Pushover Notification bei unautorisierter Türöffnung
define UnautorisierteTueroeffnungPushover notify UnautorisierteTueroeffnung:on { system ("curl -s -F 'token=XXXXXXXXXXXXX' -F 'user=XXXXXXXXX' -F 'message=ACHTUNG\nUnautorisierte Türöffnung' https://api.pushover.net/1/messages.json")}
Bereit für dein eigenes Smart Home?
http://ownsmarthome.de

MrRight

Hallo Breaked,

mir hat das Wiki gut geholfen. Da ist sehr detailliert beschrieben, wie man das Ganze einrichtet.

http://www.fhemwiki.de/wiki/Anwesenheitserkennung#Das_GEOFANCY_Modul

gruss, Carsten
FHEM 5.7 auf Cubietruck mit MySQL
CUL + HMLAN + HUE Bridge + Firmata over Ethernet + Ardunino + 1wire + MiLight + FTUI + Homekit

Breaked

Hallo,

ja das habe ich mir auch schon durchgelesen, aber leider bin ich nicht so fit, wie ich alles zusammensetze.
Hast du evtl auch so eine ähnliche Schaltung realisiert?
Bereit für dein eigenes Smart Home?
http://ownsmarthome.de

MrRight

Mmmmh,

wo soll man denn anfangen? Schreib doch mal, was Du gemacht hast. Erkennst Du in FHEM im geofancy Modul, wenn Du abwesend bist? Wie machst Du die Erkennung der offenen Haustür?

Etwas mehr Information wäre schon nett, meine Glaskugel ist gerade zur Reparatur....


gruss, Carsten
FHEM 5.7 auf Cubietruck mit MySQL
CUL + HMLAN + HUE Bridge + Firmata over Ethernet + Ardunino + 1wire + MiLight + FTUI + Homekit

Breaked

Hallo Carsten,

nun ja, das mir der Erkennung ob ich abwesend bin, gestaltet sich nicht so einfach, da ich (bzw. mein Handy) dafür weg sein müssten.
Zeitgleich auf den PC schauen und weg sein übersteigt meine Fähigkeiten ;D

Auf deine Frage wie ich die Erkennung derzeit mache, antworte ich am besten mit den Codezeilen.
Alles andere wäre denke ich zu schwer um zu erklären.

##Bluetooth-Anwesenheit#
define HA.MiPhoneBluetooth PRESENCE lan-ping 10.0.0.39 30
########################
##HA.MiPhone definieren
########################
define HA.MiPhone dummy
attr HA.MiPhone eventMap 1
attr HA.MiPhone room Haus
define FileLog_HA.MiPhone FileLog ./log/HA.MiPhone-%Y-%m.log HA.MiPhone
attr FileLog_HA.MiPhone logtype text
########################
##HA.MiPhone auf on setzen bei Anwesenheit
define HAMiPhoneOn notify HA.MiPhoneBluetooth:present { fhem ("set HA.MiPhone on;; setstate watchdogHAMiPhoneBluetoothAbwesend defined") if (Value("HA.MiPhone") ne "on") }
########################
##HA.MiPhone auf off setzen nach 3 Min Abwesenheit
define watchdogHAMiPhoneBluetoothAbwesend watchdog HA.MiPhoneBluetooth:absent 00:03 HA.MiPhoneBluetooth:present set HA.MiPhone off
attr watchdogHAMiPhoneBluetoothAbwesend regexp1WontReactivate 1
attr watchdogHAMiPhoneBluetoothAbwesend room Haus
#############################################################################
#FL.UnautorisierteTueroeffnung definieren
define FL.UnautorisierteTueroeffnung dummy
attr FL.UnautorisierteTueroeffnung alias UnautorisierteTueroeffnung
attr FL.UnautorisierteTueroeffnung room Haus

#FL.UnautorisierteTueroeffnung definieren
define FLUnautorisierteTueroeffnungAn notify FL.Tuerkontakt:open.* { fhem ("set FL.UnautorisierteTueroeffnung on") if (Value("HA.MiPhone") eq "off")}
define FLUnautorisierteTueroeffnungAus notify FL.Tuerkontakt:open.* { fhem ("set FL.UnautorisierteTueroeffnung off") if (Value("HA.MiPhone") eq "on")}

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


Bitte nicht verwirrt sein!
Es war vorher ein Bluetooth-Ping, da ich nur eher WLAN anstatt Bluetooth eingeschaltet habe, hab ichs' einfach auf einen LAN-Ping geändert.
Bereit für dein eigenes Smart Home?
http://ownsmarthome.de

MrRight

Ok, ich hatte verstanden, dass Du das Modul geofancy nutzen wolltest. Davon sehe ich jetzt in Deiner Beschreibung nichts.

Damit geofancy funktioniert wird eine App ( bei der Apfelfraktion z. B. geofency oder geofancy) auf dem Handy installiert und dort werden Standorte z. B. "home" ;) ) definiert. Dort kannst Du auch einstellen, dass die App nach hause telefoniert sobald Du diese Location erreicht hast (in einem bestimmbaren Umkreis). Darauf hin wird im geofancy Modul ein Reading gesetzt, dass Du zuhause bist. Ähnliches passiert beim verlassen, das Modul weiß also, ob Du anwesend bist oder nicht...

Wenn nun die Wohnungstür aufgeht, kann FHEM prüfen (notify oder DOIF), ob Du anwesend bist und bei Abwesenheit dir eine Push Notification ( z. B. mit PushOver oder PushBullet oder PushNotifier oder....) schicken.

Soweit das Prinzip....

HTH.

gruss, Carsten
FHEM 5.7 auf Cubietruck mit MySQL
CUL + HMLAN + HUE Bridge + Firmata over Ethernet + Ardunino + 1wire + MiLight + FTUI + Homekit

Breaked

Ich glaube wir haben aneinander vorbei gesprochen ..  :P

Das Prinzip von Geofancy ist mir klar - ist auch soweit auf dem Raspberry FHEM Server und dem iPhone eingerichtet.
Die Request usw. erreichen auch FHEM korrekt. Ebenso werden die Reading korrekt angezeigt.
Habe es mittels des Wiki-Eintrages so komplett konfiguriert.

Allerdings scheitere ich an der Zusammensetzung des benötigten Codes.
Mir will nicht ganz einleuchten, wie ich mir weiterhin eine Push-Nachricht aufs iPhone schicken lasse, sofern Geofancy weiß, dass ich unterwegs bin und es ein Einbrecher sein könnte.
Ich möchte ja nun die Bluetooth (bzw. derzeit LAN-Ping) Erkennung komplett tauschen gegen Geofancy!
Bereit für dein eigenes Smart Home?
http://ownsmarthome.de

MrRight

Mmmmh, wir reden nicht aneinander vorbei, sondern Du rückst nur stückchenweise mit der ganzen Geschichte raus...

Warum prüfst Du in Deinem notify

Zitatdefine FLUnautorisierteTueroeffnungAn notify FL.Tuerkontakt:open.* { fhem ("set FL.UnautorisierteTueroeffnung on") if (Value("HA.MiPhone") eq "off")}

nicht einfach auf das Reading curloc_<deindevice>? Dies geht mit der Funktion ReadingsVal(<devicename>,<reading>,<defaultvalue>)

gruss, Carsten

FHEM 5.7 auf Cubietruck mit MySQL
CUL + HMLAN + HUE Bridge + Firmata over Ethernet + Ardunino + 1wire + MiLight + FTUI + Homekit

Breaked

Genau daran haperts' ja.

Wo ich dies genau einsetzen müsste, damit es funktioniert, weiß ich nicht.
Evtl kann ich mir ja auch einiges aus dem derzeit noch aktuellen Code löschen, wenn man zu Geofancy umsteigt?!  ???
Bereit für dein eigenes Smart Home?
http://ownsmarthome.de

MrRight

define FLUnautorisierteTueroeffnungAn notify FL.Tuerkontakt:open.* { fhem ("set FL.UnautorisierteTueroeffnung on") if (ReadingsVal(<yourgeofancydevice>,curloc_<yourgeofancyphone>,"home") ne "home")}

die Bezeichner in spitzen Klammern musst Du noch passend ersetzen... Da kann ich Dir leider nicht helfen, da Du immer noch nicht Deine geofancy config verrätst.
FHEM 5.7 auf Cubietruck mit MySQL
CUL + HMLAN + HUE Bridge + Firmata over Ethernet + Ardunino + 1wire + MiLight + FTUI + Homekit

Breaked

Was genau ist denn der Unterschied zw. Geofancydevice und Geofancyphone?

ZitatDa kann ich Dir leider nicht helfen, da Du immer noch nicht Deine geofancy config verrätst.
Sehr viel ist da noch nicht konfiguriert..
###GEOFANCY###
define geofancy GEOFANCY geo
attr geofancy devAlias 534XXXX-XXXX-XXXX-XXXX-3B592XXXXXX:Michael
Bereit für dein eigenes Smart Home?
http://ownsmarthome.de

MrRight

ZitatSehr viel ist da noch nicht konfiguriert..
Immerhin soviel, dass man einige Readings sehen kann...

ReadingsVal(geofancy,curloc_Michael,"home")
Das sollte Dein notify beflügeln....
FHEM 5.7 auf Cubietruck mit MySQL
CUL + HMLAN + HUE Bridge + Firmata over Ethernet + Ardunino + 1wire + MiLight + FTUI + Homekit

Breaked

Fühle mich echt wie ein absoluter Neuling, aber wohin muss dieser Code nun?
Mit in meinen Geofancy-"Bereich"?
Bereit für dein eigenes Smart Home?
http://ownsmarthome.de

MrRight

Ich hatte doch weiter oben Dein notify in abgeänderter Form aufgeschrieben. Dort steht im "if"-Zweig statt einer Abfrage auf ein Value nun eine Abfrage auf ein Reading von Deinem geofancy device....

HTH.
FHEM 5.7 auf Cubietruck mit MySQL
CUL + HMLAN + HUE Bridge + Firmata over Ethernet + Ardunino + 1wire + MiLight + FTUI + Homekit

Breaked

Oh man  ::)
Vor lauter Wald seh' ich noch kaum die Bäume.

Danke erstmal. Gebe noch Rückmeldung wenn es so funktioniert!
Bereit für dein eigenes Smart Home?
http://ownsmarthome.de