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

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

Vorheriges Thema - Nächstes Thema

KernSani

Möglicherweise eine dumme Frage: Hast du ein update gemacht und die Hinweise bez. CSFR nicht beachtet?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Loredo

Wenn die Webhooks der App im Logfile von FHEM zwar auftauchen, aber dann nichts weiter getriggert wird, dann hast du event-on-* Attribute gesetzt und verhinderst damit die notwendigen Events. GEOFANCY, ROOMMATE, RESIDENTS, GUEST brauchen alle keine event-on- Attribute.
GEOFANCY ist von CSRF nicht betroffen.
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

KernSani

Zitat von: Loredo am 03 April 2017, 21:21:00
GEOFANCY ist von CSRF nicht betroffen.
m.E. schon (macht ja nix anderes als FHEM per URL aufzurufen). Aber du hast natürlich recht, wenn im Log was auftaucht ist CSRF nicht das Problem.
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Amenophis86

Das Problem scheint eher bei der App zu sein. Ich glaube, dass diese erst gar nicht triggert. Wie gesagt, wenn ich den Test durchführe kommen alle Daten an, aber beim verlassen und betreten der Zone passiert nichts. Daher das Gefühl, dass es an der App liegt und die Überlegung diese zu wechseln. Bei IFTTT kann man quasi selbst einstellen was übertragen werden soll, mir ist nur nicht bewusst, wie der JSON String aussehen muss, dass es vom Geo-Modul richtig erkannt wird. Ich würde die Daten direkt an /fhem/geo senden per JSON String, oder ist die Überlegung falsch?

PS.: Mit csrf hat es nix zu tun, da a) der Test geht und b) dies bei meinem Webhook deaktiviert ist
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

KernSani

Zitat von: Amenophis86 am 03 April 2017, 22:08:44
Das Problem scheint eher bei der App zu sein.
Bei mir funktioniert Locative auf IPhone. Ich hatte allerdings vor geraumer Zeit ein Problem mit der Authentifizierung, In den Einstellungen alles gut (Test funktioniert), aber in den Geofences hat die App mein Passwort einfach nicht gespeichert. Komplettes Löschen und neu erfassen des Geofences hat das Problem gelöst. (Eigentlich würde ich auch annehmen, dass die generellen Basic Auth Einstellungen in den Geofences übernommen werden, aber auch das habe ich nicht hinbekommen)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Amenophis86

Wie gesagt, sie hatte funktioniert früher und jetzt nicht mehr. Wir hatten aber auch net Zeitlang wegen Umzug kein Smarthome mehr. Jetzt haben wir wieder eins, der Test kommt an, aber im echten Leben kommt nix an. Habe es auch schon deinstalliert und wieder installiert und auch die Zone neu angelegt, aber nix hat geklappt bisher. Keine Ahnung was da los ist.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Loredo

Zitat von: KernSani am 03 April 2017, 22:07:02
m.E. schon (macht ja nix anderes als FHEM per URL aufzurufen).


Nein. FHEMWEB reicht alle Verbindungen 1-zu-1 direkt zum Modul durch. Die "Web-Funktionen" von FHEMWEB greifen hier nicht.


Zitat von: Amenophis86 am 03 April 2017, 22:08:44
PS.: Mit csrf hat es nix zu tun, da a) der Test geht und b) dies bei meinem Webhook deaktiviert ist


Würde ich eingeschaltet lassen, auch bei der Webhook Instanz von FHEMWEB. Diese Funktion greift nur bei der FHEMWEB Oberfläche, aber bei keinen Modulen. Sprich dort wo es Sinn macht, greift es auch. GEOFANCY ist für CSRF Angriffe nicht anfällig, da die verwendeten UUIDs der Apps nicht erratet werden können.


Die URL Schemata der Apps stehen im Sourcecode:





# Locative.app (https://itunes.apple.com/us/app/locative/id725198453?mt=8)
# /$infix?device=UUIDdev&id=UUIDloc&latitude=xx.x&longitude=xx.x&trigger=(enter|exit)
#
# Geofency.app (https://itunes.apple.com/us/app/geofency-time-tracking-automatic/id615538630?mt=8)
# /$infix?id=UUIDloc&name=locName&entry=(1|0)&date=DATE&latitude=xx.x&longitude=xx.x&device=UUIDdev
#
# SMART Geofences.app (https://www.microsoft.com/en-us/store/apps/smart-geofences/9nblggh4rk3k)
# /$infix?device=UUIDdev&name=UUIDloc&latitude=xx.x&longitude=xx.x&type=(Entered|Leaving)&date=DATE
#

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

KernSani

Zitat von: Loredo am 03 April 2017, 23:19:27

Nein. FHEMWEB reicht alle Verbindungen 1-zu-1 direkt zum Modul durch. Die "Web-Funktionen" von FHEMWEB greifen hier nicht.
Ok, danke... wieder was gelernt :-)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Amenophis86

habe jetzt mal ein bisschen mit den von dir geschrieben URLs gearbeitet und festgestellt, dass ich den ersten key noch ein & setzen musste, sonst kam immer ein Fehler, dass dieser nicht gesetzt sei. Dir URL sah somit wie folgt aus:


/$infix?&device=UUIDdev&id=UUIDloc&latitude=xx.x&longitude=xx.x&trigger=(enter|exit)


Aber sonst passt es. Vielen Dank für die Info.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

andies

Zitat von: Amenophis86 am 03 April 2017, 19:54:56
aus mir unbekannten Gründen funktioniert locative auf dem ios bei mir nicht mehr. Der Test kommt an, aber es wird nichts getriggert, wenn ich die Zone verlasse oder betrete. Daher versuche ich gerade IFTTT als Alternative.
Kannst Du mal genauer beschreiben, wie du das gemacht hast?
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Amenophis86

Ist hier ganz gut erklärt. Die Url passt du dann einfach mit der o.g. URL an. Wichtig, im Video läuft es über https und einen reverseProxy. Du musst daher wissen, wie du von außen auf dein FHEM zugreifen kannst.

Was du bei IFTTT für das Geofancy Modul NICHT in die URL packen darfst ist der Wert {{occuredAt}} der ist wohl im falschen Format und deswegen können die Daten nicht verarbeitet werden. Aber sonst scheint es zu klappen. Bin aktuell noch am testen.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

oli82

Nun bräuchte ich auch mal Hilfe oder jemanden, der mich von der Leitung hebt.
Habe letzte Woche meine komplette Fhem Installation auf einen neuen Nuc umgezogen. Seit dem bekomme ich in der Geofancy App auf dem IPhone den Fehler angezeigt, dass der Webhook abgebrochen sei. Das Reading in Fhem wird aber gesetzt und auch der Aufruf der URL klappt.
App und Modul sind auf dem aktuellen Stand. Leite ich den Sport auf den alten NUC um, klappt das setzen wieder.

Danke für die Hilfe

Amenophis86

Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

oli82

Dache ich zuerst auch, aber dann dürfte
a. das Reading nicht gefüllt
b. die Seite kein 1 OK ausgeben
c. der Verbindung Testen Button in der App einen Fehler melden.

Hier mal der Log dazu:
2017.05.10 12:53:46 4: Connection accepted from WEBhook_80.187.xxx.xxx_7185
2017.05.10 12:53:46 4: WEBhook_80.187.xxx.xxx_7185 POST /webhook/geo&device=4EB67372-xxx-xxx-A325-2FA115xxxxxx&radius=100&longitude=9.xxxxxxxxxxxxx&id=9619E34B-xxxx-4537-xxxx-7xxxxxxxxxx&address=Rosenxxxx%C3%9Fe%2025%0A12345%20Stadt%0ADeutschland&date=2017-05-10T10:53:25Z&latitude=49.xxxxxxxxxxxxxxxx&entry=0&name=Zuhause; BUFLEN:0
2017.05.10 12:53:46 4: WEBhook_80.187.xxx.xxx_7185 POST /webhook/geo&device=4EB67372-xxx-xxx-A325-2FA115xxxxxx&radius=100&longitude=9.xxxxxxxxxxxxx&id=9619E34B-xxxx-4537-xxxx-7xxxxxxxxxx&address=Rosenxxxx%C3%9Fe%2025%0A12345%20Stadt%0ADeutschland&date=2017-05-10T10:53:25Z&latitude=49.xxxxxxxxxxxxxxxx&entry=0&name=Zuhause / RL:24 / text/plain; charset=utf-8 / Content-Encoding: gzip
/
2017.05.10 12:53:48 4: Connection closed for WEBhook_80.187.xxx.xxx_7185: EOF

Loredo

Aus Modulsicht kann ich da nichts ungewöhnliches entdecken. Wahrscheinlich ist das Problem eher im Bereich Weiterleitung, Reverse Proxy o.ä. einzugrenzen.
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