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

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

Vorheriges Thema - Nächstes Thema

Loredo

Das solltest du mit dem Autor der App klären. Es wird nur verarbeitet, was die App übergibt.


Sent from my iPad using Tapatalk
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

egmontr

Zitat von: andre07 am 22 April 2016, 20:57:11
Ich habe das Problem das bei mir die falsche DeviceUUID
in fhem steht in der App aber die richtige eingetragen ist.
allerdings nutze ich Android (egigeozone) mit selbstbau HM10 ibeacons.
Habe das mehrmals nachvollzogen immer bekomme ich die selbe falsche UUID.
...
HMDach ist das ibeacon was betroffen ist.
Könnte natürlich auch an der App liegen wobei es ja mit dem Handy funktioniert hat. (GeoAndre)

Andre

Es wird nicht die UUID des iBeacons, sondern die des Handys übermittelt!
Die vom iBeacon bringt dir ja nichts. Dein Handy ist ja in Bewegung. Die Beacon-Zone (name=...) sagt dir, welches Beacon beteiligt ist.
LG Egmont

RPI B+ mit FHEM und CUL V3 868MHZ

oberlon

#467
Hallo,

habe heute morgen fhem auf den neuesten Stand gebracht und seitdem funktioniert mein Geofancy leider nicht mehr.
Ich nutze ein iPhone + Locative + FHEM + Residents.
Folgende Meldung erhalte ich auf dem Telefon:
GET Erfolgreich NOK Value for 'type' can only be: Entered Leaving
Der Request sah so aus:
fhembasicauth.example.de:443 111.222.111.222 - fhemuser [26/Jul/2016:08:16:05 +0200] "GET /fhem/geofancy?device=CXXXXX8-BXXA-4XX0-8XXB-1XXXXXXXXXX1&id=Home&latitude=99.99926966064582&longitude=55.55535502413032&timestamp=1469513763.747287&trigger=exit HTTP/1.1" 200 5792 "-" "Locative/1.11.1 (iPhone; iOS 9.0.2; Scale/2.00)"

Hat da jemand eine Idee was da los ist?

Edit:

Hat was mit dem Commit zu tun:
https://github.com/mhop/fhem-mirror/commit/e45695bad2f4cc085c2d0d057391c69140510955#diff-434716cfd40496f0a19f46f51969bea2R264


oberlon

Sollte bestimmt so aussehen:
diff --git a/fhem/FHEM/98_GEOFANCY.pm b/fhem/FHEM/98_GEOFANCY.pm
index bba2892..8d71aa1 100755
--- a/fhem/FHEM/98_GEOFANCY.pm
+++ b/fhem/FHEM/98_GEOFANCY.pm
@@ -261,9 +261,9 @@ sub GEOFANCY_CGI() {

         return ( "text/plain; charset=utf-8",
             "NOK Value for 'type' can only be: Entered Leaving" )
-          if ( defined( $webArgs->{trigger} )
-            && lc( $webArgs->{trigger} ) ne "entered"
-            && lc( $webArgs->{trigger} ) ne "leaving" );
+          if ( defined( $webArgs->{type} )
+            && lc( $webArgs->{type} ) ne "entered"
+            && lc( $webArgs->{type} ) ne "leaving" );

         # validate date
         return (

Loredo

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

SofB

Hallo,

ich würde das geofency auch gerne bei mir einsetzen.
Allerdings habe ich trotz diverse Maßnahmen Sicherheitsbedenken und habe daher überlegt, eine weitere FHEM Instanz in meiner DMZ aufzustellen.
Diese wird dann via fhem2fhem mit der Hauptinstanz angesprochen und die geofancy events dort ausgelesen.
Hat das schonmal jemand gemacht? Geht das?
FHEM auf Debian Jessie VM - ESXi 6.0 Intel Nuc i5 4th Gen
HM-CFG-LAN | HM-CFG-USB | nanoCUL868 | nanoCUL433 | JeeLink868

Loredo

FHEM2FHEM, aber gemacht habe ich das nicht bisher.


Welche Sicherheitsbedenken bleiben denn, wenn du per Reverse-Proxy das explizite URI /webhook/geo Forwarding mit SSL-Verschlüsselung und HTTP Auth einrichtest? Auch eine FHEM Installation in der DMZ würde ich so absichern, aber wo bleibt da der Unterschied zu einem Proxy in der DMZ?
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

SofB

Ich bin da etwas paranoid  >:(
Habe es aber eben selber lösen können :)
Ich habe hinter meiner Firewall (pfSense) eine getrennte DMZ in einem eigenem Netz. Die FHEM Hauptinstallation ist im LAN Segment. DMZ darf nicht auf LAN zugreifen. LAN auf DMZ schon.
In der DMZ steht auch mein Apache Server der via Reverse Proxy auf die geofency-fhem installation geht. ( Context-URL ist 64 Zeichen lang aus random Zeichen)
Bei der geofency-fhem installation handelt es sich um eine abgespeckte fhem installation die nur aus dem WEB (inkl. http auth) und TELNET port für fhem2fhem besteht. Sowie dem geofency modul natürlich.

Host geofency-fhem:
define geofencyDMZ geofancy geo

Host Default-fhem
define geofancy geofancy geo
define geofencyFHEM FHEM2FHEM geofency LOG:geofencyDMZ:.*
define geofencyREMOTE_Notify notify geofencyDMZ { $EVENT=~s/://;; fhem("setreading geofency $EVENT")}


FHEM auf Debian Jessie VM - ESXi 6.0 Intel Nuc i5 4th Gen
HM-CFG-LAN | HM-CFG-USB | nanoCUL868 | nanoCUL433 | JeeLink868

SofB

Zusatz: was allerdings nicht funktioniert ist das verwenden von Resident und roommate.
Selbst wenn ich hier die uid meines iPhones eintrage beim roommate wird es nicht verwendet.
Ich muss also im geofancy Modul ein devAlias machen und via notify den roommate aktualisieren.
Es scheint daran zu liegen, dass mein geofancy über og vorgehen mit setReading aktualisiert wird.
Kann mir da jemand vielleicht nähere technische infos geben, bitte...
FHEM auf Debian Jessie VM - ESXi 6.0 Intel Nuc i5 4th Gen
HM-CFG-LAN | HM-CFG-USB | nanoCUL868 | nanoCUL433 | JeeLink868

Loredo

Zitat von: SofB am 19 August 2016, 00:02:41
Zusatz: was allerdings nicht funktioniert ist das verwenden von Resident und roommate.
Selbst wenn ich hier die uid meines iPhones eintrage beim roommate wird es nicht verwendet.
Ich muss also im geofancy Modul ein devAlias machen und via notify den roommate aktualisieren.
Es scheint daran zu liegen, dass mein geofancy über og vorgehen mit setReading aktualisiert wird.
Kann mir da jemand vielleicht nähere technische infos geben, bitte...


Das ist klar. Ein setreading steht vollkommen außerhalb des Moduls. Der Weg Daten in die Modullogik einzuliefern ist über die Web-API. Die Readings werden nur als Ergebnis hinterher geschrieben und nicht als Eingangsdaten verwendet. FHEM2FHEM ist auch nicht dafür gedacht, dass du damit die Modullogik auslöst, sondern Reading-Ergebnisse 1zu1 zu einer anderen Instanz übernimmst.
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

SofB

Vielen Dank für die detaillierte Erklärung.
Dann werde ich es weiterhin mit meiner "Notify-Brücke" so lassen  8)
FHEM auf Debian Jessie VM - ESXi 6.0 Intel Nuc i5 4th Gen
HM-CFG-LAN | HM-CFG-USB | nanoCUL868 | nanoCUL433 | JeeLink868

Loredo

Ansonsten würde vielleicht auch helfen ein ROOMMATE Device mit in der DMZ-Instanz zu haben und statt dem GEOFANCY Device dieses an die LAN-Instanz mit FHEM2FHEM zu syncen.
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

mein fhem ist von Außen nur per VPN verfügbar..
Also wennnn ich mal draufgucken möchte, npn auf dem iPhone an dann fhem Verknüpfung geklickt.
Das wird sich wohl mit geofancing nicht vertragen ??

Loredo

Nein, nur wenn du VPN-on-Demand (im Falle von iOS, Android kann ich nichts zu sagen) aktiviert hast.


Aber auch dann kann es vorkommen, dass der VPN-Verbindungsaufbau möglicherweise nicht schnell genug oder zu unzuverlässig funktioniert. Von daher rate ich von der Kombination mit einem VPN ab. Das soll natürlich niemanden davon abhalten es trotzdem so zu versuchen und zu verwenden.
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

hey Loredo
du hast im Beitrag 444 ein Vorschlag für die Überwachung einer geänderten UUID per DOIF geschrieben.
Ich probiere mich da reinzudenken.
Könntest du das BITTE mal detailliert erklären?  :-[
([geofancy:?lastDevice] and [?geofancy:lastDevice] eq "-")
Das erste geofancy ist das Device, das liest den Status lastDevice aus. Den Rest verstehe ich nicht.