Geofencing Modul für Geofency.com und Geofancy.com

Begonnen von Loredo, 07 Januar 2014, 16:57:26

Vorheriges Thema - Nächstes Thema

Loredo

Zitat von: tomspatz am 27 August 2016, 19:15:58
([geofancy:?lastDevice] and [?geofancy:lastDevice] eq "-")
Das erste geofancy ist das Device, das liest den Status lastDevice aus. Den Rest verstehe ich nicht.


Da wird das Value geprüft. Du solltest dazu die DOIF Notation in der Commandref konsultieren.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

tomspatz

SORRY aber da war ich schon, ist sehr komplex.
Doch glaube ich es jetzt zu verstehen es wird halt in allen Variationen geprüft ob im lastDevice Reading ein "-" drin ist.
Denn dieses passt dann nicht zu meinem devAlias, und schickt dann die Benachrichtigung los.

Stephan1965

Hallo,
ich habe jetzt das FHEM-Modul Geofancy lt. Wiki eingerichtet (bis zur Stelle: Zugriff vom Internet ermöglichen) und benutze bei meinem Android-Handy die App EgiGeoZone. Ich verwende zuhause die Fritzbox 7490 und habe folgende Frage zum sicheren Zugriff aus dem Netz:
Bei der genannten Fritzbox kann ich ja über MyFritz-Freigaben Zugriff aus dem Netz gewähren. Dabei muss ich dann das entsprechende Passwort der Fritzbox angeben und kann dann auf die entsprechende Seite zugreifen. Und hier verwende ich dann in EgiGeoZone die von der Fritzbox generierte Adresse:
https://raspberrypi.m______________5.myfritz.net:8088/webhook/geo/
Ist das nicht auch schon ausreichend oder gibt es da Bedenken?

Ich bin nicht so firm mit dem sicheren Zugriff erstellen. Falls die genannte Methode problematisch sein sollte: Wie kann ich das besser machen?

Viele Grüße

Stephan

volschin

#483
Wenn man von dem Thema keine Ahnung hat, am Besten weg von solchen Spielchen.

Ansonsten hilft das Wiki:
http://www.fhemwiki.de/wiki/Anwesenheitserkennung#Das_GEOFANCY_Modul

Den RasPi selbst ins Internet freizuschalten, wie anscheinend bei Dir vorgenommen, ist denkbar ungünstig.
Intel NUC+Ubuntu 24.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7690, Echo Dots+Show8, HomeBridge

satprofi

Zitat von: Stephan1965 am 31 Oktober 2016, 20:07:04
Hallo,
ich habe jetzt das FHEM-Modul Geofancy lt. Wiki eingerichtet (bis zur Stelle: Zugriff vom Internet ermöglichen) und benutze bei meinem Android-Handy die App EgiGeoZone. Ich verwende zuhause die Fritzbox 7490 und habe folgende Frage zum sicheren Zugriff aus dem Netz:
Bei der genannten Fritzbox kann ich ja über MyFritz-Freigaben Zugriff aus dem Netz gewähren. Dabei muss ich dann das entsprechende Passwort der Fritzbox angeben und kann dann auf die entsprechende Seite zugreifen. Und hier verwende ich dann in EgiGeoZone die von der Fritzbox generierte Adresse:
https://raspberrypi.m______________5.myfritz.net:8088/webhook/geo/
Ist das nicht auch schon ausreichend oder gibt es da Bedenken?

Ich bin nicht so firm mit dem sicheren Zugriff erstellen. Falls die genannte Methode problematisch sein sollte: Wie kann ich das besser machen?

Viele Grüße

Stephan

Hallo.
Bei EgiGeozone musst du beim server deine dyndns:port/fhem/geo  eintragen.
dyndns dürfte klar sein, port den von dir eingestellten oder standardport 8083.

portforwarding in der fritz ist auch klar.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Stephan1965

Hallo volschin,
so wie ich das verstanden habe, habe ich den raspberry nicht für das Internet per se freigeschaltet, sondern ich kann dort nur über die abgesicherte (?) Fritz-Freigabe darauf zugreifen. Und von dort wird dann eben an den Webhook für das FHEM Geofancy-Modul weitergegeben.
Oder siehst du das mit der Absicherung anders?

Hallo satprofi,
die Server-Eingabe bei EgiGeoZone habe ich hinbekommen. Hier kann ich aber auch die von meiner FritzBox zur Verfügung gestellte Adresse benutzen Jetzt muss ich mich nur mal in der nächsten Zeit etwas bewegen. :-)

Viele Grüße

Stephan

Christian Uhlmann

Hallo zusammen,

ich habe jetzt mal im zweiten Anlauf versucht das Geofency Modul nach http://www.fhemwiki.de/wiki/Anwesenheitserkennung#Das_GEOFANCY_Modul einzurichten.
Diesmal mit ein bisschen mehr Zeit. Leider scheitere ich schon bei der Einrichtung des WEBHook.
Bis zum setzen des Attributes basicAuth durch
attr allowedWEBhook basicAuth { "$user:$password" eq "webhook:Geofancy" }
klappt alles. Nach dieser Einstellung geht nichts mehr. Kein FHEMWEB mehr unter dem Port erreichbar.


Log verbose 5 mit basicAuth gesetzt:

2016.11.22 20:31:26 4: Connection accepted from WEBhook_192.168.127.12_58525
2016.11.22 20:31:26 4: Connection closed for WEBhook_192.168.127.12_58525: EOF
2016.11.22 20:31:26 4: Connection accepted from WEBhook_192.168.127.12_58526


Wenn ich das Fenster schließe kommt noch:

2016.11.22 20:32:02 4: Closing inactive connection WEB_127.0.0.1_50808
2016.11.22 20:32:02 4: Connection closed for WEBhook_192.168.127.12_58534: EOF


Zur Vollständigkeit noch das Log ohne basicAuth:

2016.11.22 20:33:11 4: WEBhook_192.168.127.12_58550 GET /webhook/geo; BUFLEN:0
2016.11.22 20:33:11 4: name: /webhook/geo / RL:40 / text/plain; charset=utf-8 / Content-Encoding: gzip
/
2016.11.22 20:33:11 4: WEBhook_192.168.127.12_58550 GET /favicon.ico; BUFLEN:0
2016.11.22 20:33:11 4: WEBhook: redirecting /favicon.ico to /webhook
2016.11.22 20:33:11 4: WEBhook_192.168.127.12_58550 GET /webhook; BUFLEN:0
2016.11.22 20:33:11 4: name: /webhook / RL:1656 / text/html; charset=UTF-8 / Content-Encoding: gzip
/


List von WEBhook

Internals:
   CFGFN
   CONNECTS   73
   DEF        8088 global
   FD         251
   NAME       WEBhook
   NR         1086
   NTFY_ORDER 50-WEBhook
   PORT       8088
   SSL        1
   STATE      Initialized
   TYPE       FHEMWEB
Attributes:
   HTTPS      1
   hiddenroom AlarmRoom
   room       Bewohner
   verbose    5
   webname    webhook


List von allowedWEBhook:

Internals:
   CFGFN
   NAME       allowedWEBhook
   NR         1087
   STATE      active
   TYPE       allowed
   allowedCommands get,set
   validFor   WEBhook
   Readings:
     2016-11-22 18:41:01   state           active
Attributes:
   allowedCommands get,set
   basicAuthExpiry 300
   room       Bewohner
   validFor   WEBhook
   verbose    5


Ich hoffe es hat jemand eine Idee und kann weiterhelfen.
System ist Debian Stretch (Testing) mit aktualisiertem FHEM.

Auf einer Testinstallation hat das geklappt, es kam die Kennwortabfrage leider in meine Produktivsystem nicht :(


Danke und Grüße

Christian
Host: Debian Buster als VM / XCP-NG
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, HMLan, HM-USB 2, LaCrosseGateway
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, ESPEasy, Sonoff mit Tasmota

Loredo

Das ist eine FHEMWEB Geschichte, da kann dir in diesem Thread leider nicht geholfen werden.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Badflex

Zitat von: satprofi am 01 November 2016, 10:21:00
Hallo.
Bei EgiGeozone musst du beim server deine dyndns:port/fhem/geo  eintragen.
dyndns dürfte klar sein, port den von dir eingestellten oder standardport 8083.

portforwarding in der fritz ist auch klar.

Wo ist denn da der unterschied ob ich dyndns  oder das Hauseigene von der Fritz nehme?

Ich versuche das ganz nämlich mit Netatmo und Webhook.
Leider weiß ich da nicht wie man das ganze mit Passwort versehen kann. Im dev.netatmo kann man nur URI(wofür das auch gut sein soll) und die Webhook eintragen.
Habe das erstmal so gemacht wie im Wiki beschrieben. Das geht auch alles.
Nur gibt es bei Geo ja die App um Passwort und Benutzername einzutragen. bei Netatmo hat man ja nur den scope.
Vielleicht hat ja jemand ein bisschen mehr Ahnung davon

Raspberry Pi, CUL868(SlowRF), FB 7490, SmartVisu, fast nur HomeMatic wenig FS20, Netatmo

tomspatz

Gibt es ggf. Probleme wenn zwei iOS Geräte quasi zeitgleich Home kommen?
Ich fand heute 2016.12.26 11:56:09 1: FHEMWEB SSL/HTTPS error: Connection timed out SSL wants a read first
Das ist exakt der Zeitpunkt zudem zwei iOS Geräte heim kamen.
Auf beiden läuft Geofency und auf beiden gab es zu dem Zeitpunkt eine Info in der Mitteilungszentrale.

Loredo

Schon möglich, FHEM ist nicht so gut mit gleichzeitiger Echtzeitverarbeitung.
SSL sollte man IMHO ohnehin nicht FHEM überlassen, sondern einen Reverse Proxy oder einen Load-Balancer (SSL-Offloading).
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

visionsurfer

Guten Morgen,

ich hab erfolgreich das geofancy Modul eingerichtet. Die Readings werde auch immer schon aktualisiert. Ich nutze die App Geofency auf einem Iphone.
Ich hab in der App meine Standorte wie home und arbeit eingerichtet.

Wenn ich mir nun aber die Readings anschaue, dann steht bei ID, nicht wie gewünscht z.B. home, sondern immer noch ein langer Code.

id:EA7F1EC6-C3BB-4B26-AF97-79CDE434B6B1 trig:1 date:1483515042 lat:49.98915506281229 long:9.148868853617996 dev:BDA2A807-AA9A-4A98-A187-A4746191637D devAlias=-

In der App hab ich unter Webhock das POST Format eingestellt. Außerdem kann man da noch JSON enkodiert einstellen. Das ist bei mir noch auf OFF. Muss ich das auf ON stellen ?

Grüße,
Visionsurfer


Loredo

Geofency überträgt den Namen (als einzige App) getrennt von einer ID. Im Status werden nur die Werte als Information angezeigt, die alle Apps übertragen. Bei anderen Apps steht als ID deshalb ein Name da, bei Geofency eine ID. Das Status Reading ist aber auch nicht dafür gedacht, um damit weiterzurarbeiten. Dir fehlt entweder ein Attribut devAlias, welches die UUID des iPhones (das ist die ID, die im Reading lastDeviceUUID steht) in einen Namen umwandelt und somit dann entsprechende Readings per Device erzeugt werden können (darunter ist dann auch das von dir vermisste Reading currLoc_NAME, welches dann den Namen so wie in Geofency vergeben anzeigt). Oder du ordnest besagte iPhone UUID einem ROOMMATE Device zu, um dort die entsprechenden Readings erzeugen zu lassen. Dafür ist in ROOMMATE das Attribut rr_geofenceUUIDs gedacht.


Näheres dazu steht in der CommandRef sowohl zum GEOFANCY Modul als auch dem ROOMMATE Modul.
Außerdem hält das Wiki praktische Beispiele bereit: https://wiki.fhem.de/wiki/Anwesenheitserkennung#Das_GEOFANCY_Modul
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

visionsurfer

Hallo,

tausend Dank für die Info. Ich habe noch das attr. devAlias eingerichtet und jetzt werden auch die Readings super erzeugt. Zusätzlich hab ich die UUID noch ins ROOMATE Device eingetragen. Ich muss mir dann noch überlegen wie ich das alles verarbeitet und was ich da genau haben will.

Scheint aber soweit alles zu funktionieren.

Eine Logikfrage habe ich noch, die mir nach wie vor unklar ist.

Führen die verschiedene "Statusse" nicht undereinader Krieg ? :)

Also als Beispiel: Geofency sagt ich bin zu Hause. Also lasse ich den Status vom ROOMATE Device auf HOME setzen. Irgendwann gehe ich ins Bett und der Status vom ROOMATE Device wird auf gotosleep gestellt. Später dann auf sleep. Jetzt hab ich die Sorge das mein Geofency sofort das ganze wieder auf HOME stellt.

Wahrscheinlich eine Frage, wie ich den Status auf HOME setzen lasse ?

Oder hab ich da grundsätzlich einen Denkfehler ? Vielleicht denke ich auch zu komisch :)

Grüße,
Visionsurfer

Loredo

Zitat von: visionsurfer am 04 Januar 2017, 18:47:12
Zusätzlich hab ich die UUID noch ins ROOMATE Device eingetragen.


Entweder, oder - beides gleichzeitig geht nicht. Wenn du rr_geofenceUUIDs gesetzt hast, werden für diese UUID keine Readings mehr im GEOFANCY Device angelegt/aktualisiert.


Zitat von: visionsurfer am 04 Januar 2017, 18:47:12
Führen die verschiedene "Statusse" nicht undereinader Krieg ? :)


Nein. Geofencing arbeitet Event-basiert. Das bedeutet, dass all die Apps nicht permanent etwas schicken, sondern nur bei den Events "verlassen" oder "betreten" einer definierten Zone. Wenn du dein Zuhause also nicht verlässt, wird auch kein solches Event generiert. Das ist auch der Grund weshalb Geofencing (hingegen vielerlei Annahmen) keinen sonderlichen Einfluss auf die Akkulaufzeit eines Smartphones hat.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER