EgiGeoZone App PHPModul

Moin zusammen.
Es ist ein neues Modul in seiner ersten Version ins SymconMisc Repository gekommen.

EgiGeoZone ist eine App, welche als Alternative zu Geofency (nur Apple iOS) auf Android läuft.

Das Modul funktioniert Äquivalent zum Geofencymodul.

Es wird eine Kerninstanz erstellt, welches für jede Zone eine An-/Abwesend Variable hat und das Datum, sowie Longitude/Latitude für die letzte Änderung aller Zonen beinhaltet.

Weitere Informationen befinden sich hier:
https://github.com/paresy/SymconMisc/tree/master/EgiGeoZone

Einfach übers „Module Control“ das SymconMisc Repository hinzufügen/aktualisieren.

„Neue Instanz hinzufügen“ und in der App den WebHook zu IP-Symcon eintragen.

Grüße
Pio

Vielen Dank für das Modul.
In der Doku steht das hier „Unter „Instanz hinzufügen“ ist das ‚EgiGeoZone‘-Modul unter dem Hersteller ‚(Sonstige)‘ aufgeführt.“.
Wäre gut wenn man das Ändert.
Mfg Stefan

Das ist in der Tat nicht korrekt. Es ist unter Kern Instanzen zu finden! :slight_smile:

Ist jetzt korrigiert!

paresy

Super Modul, bin grade durch Zufall darauf gestoßen.
Habe zur Einrichtung eine Frage bzw. ein Problem.
Ich habe 2 Handys, die ich gerne dafür nutzen möchte. Einrichtung hat auch für bei Handys geklappt (siehe Screenshot).

Bei einem Handy habe ich erfolgreich eine neue Zone hinzugefügt (zuhause) - allerdings kann ich keine zweite Zone hinzufügen. Die App sagt zwar erfolgreich hinzugefügt - im Symcon wird keine neue Variable angelegt.

Beim zweiten Handy kann ich keine Zone anlegen. Hier quittiert die App mit Error 1000.

Moin cherup.

Das Verhalten, dass die Zone nicht auftaucht ist korrekt.
Hintergrund ist der, dass EgiGeoZone erst beim betreten einer neuen Zone diese zum ersten Mal überhaupt mitteilt.
IP-Symcon kann somit davon einfach noch nichts wissen.

=> Also einmal rein in die Zone und schon sollte diese in IP-Symcon eingetragen werden.

Zum Fehler 1000.
Dies hat nichts mit IP-Symcon zu tun.
Beschrieben wird der Fehler oftmal in zweierlei Hinsicht.
Die App hat nicht die nötigen Rechte auf dem Handy.
oder (häufigerer Fall)
Handy ist nicht auf hohe Genauigkeit eingestellt und das macht der App irgendwie sorgen oder produziert diesen Fehler.
Schau mal ob der Fehler verschwindet wenn du bei deinem zweiten Handy die „hohe Genauigkeit“ aktivierst.

Grüße
Pio

Perfekt - die App hat sich tatsächlich ‚sorgen‘ gemacht. Mit der aktivierten GPS Position gab ein kein Fehler mehr
Die zweite Zone werde ich mal testen, klingt aber plausibel.

Danke für den hilfreichen Tipp!

Hallo,

habs mir auch mal installiert! :slight_smile:

funktioniert auch soweit, allerdings ist mir aufgefallen dass Latitude & Longitude ohne Dezimalpunkt abgespeichert wird.

Habe mich in der module.php umgesehen und dort bei der Funktion ParseFloat gesehen, das ihr hier „mon_decimal_point“ verwendet.
Hats einen bestimmten Grund das ihr den Dezimalpunkt für Geldbeträge verwendet?
Bei mir ist der nämlich komischerweise nicht gesetzt.
Habe mir das Array von localeconv() angsehen und dort ist nur bei decimal_point ein „.“ gesetzt.

lg,
Christian.

Das mit dem mon_decimal_point ist defintiv ein Fehler meinerseits.

Der Fehler sollte nun behoben sein.
Schöner Fehlerfund. :cool:

Grüße
Pio

Hallo Pio,

erst mal Danke für das Modul. Funktioniert auch so weit.

Aber ich hab ein Problem: Bei mir wird die Variable Timestamp nicht befüllt.

Das wär für mich aber wichtig.

Leider kann ich keinen so schönen Fehlerfund wie Christian liefern. Hoffe Du findest trotzdem ein Lösung.

Moin Wolfgang,

ich kann das Problem bei mir leider nicht nachstellen.
Aber ich habe mal eine Debugausgabe hinzugefügt, welche man im Debugfenster des EgiGeoZone sehen kann.

Dazu:

  1. Module Updaten. (Update ist schon online)
  2. EgiGeoZone Konfigseite öffnen und Debug aktivieren.
  3. Mir die Debugausgabe zukommen lassen

Die Müsste so ungefähr aussehen:
Array GET: Array<LF>(<LF> [id] => 1057a044-64c9-35d7-8d6f-20c3c7612345<LF> [name] => Symcon HQ<LF> [entry] => 1<LF> [date] => 2016-07-2…

Grüße
Pio

Hallo Pio,

(Ich bekomm jetzt keine Daten mehr nach IPS.

Letzte Meldung war heute lt. Statusvariablenaktualisierung 15:56. Das scheint auch schon eine Stunde früher als tatsächlich stattgefunden.

Jetzt - nach dem update - bekomm ich bei provozierten betreten auf dem Handy irgend eine Meldung mit java.io.FileNotFoundExeption: http://meinefreigabe:meinport/hook/egigeozone?id=xxxx …

Das Modul läuft unter Win10, IP-Symcon 4.00, 24.04.2016, 05c0d71ac1c5

Die Freigabe auf der FB wurde nicht verändert.)

OK …

Unter Kerninstanzen WebHook war das Ziel des/hook/egigeozone nicht mehr vorhanden.
Hab die alte Instanz gelöscht u eine neue angelegt. Jetzt kommen wieder Daten.

Hier die Debug-Zeile:

Array GET: Array<LF>(<LF> [id] => 07719fd2-69ff-3af5-8ecd-f9a592a10e48<LF> [name] => Home<LF> [entry] => 1<LF> [date] => 2016-07-28T19:51:09 0000<LF> [latitude] => 48.xxxxx<LF> [longitude] => 8.xxxx<LF> [device] => 07719fd2-69ff-3af5-8ecd-f9a592a10e48<LF>)<LF>

Wobei die Notice auf dem Handy 21:51 zeigt, und in IPS 20:59 aktualisiert wurde.

Sodale.

Ein Update kommt heute Nachmittag sowohl für die 4.0 als auch 4.1 raus.
Danach sollte IPS auch mit einer Uhrzeit gefüttert werden.

Grüße
Pio

Hallo Pio,

hab bis jetzt kein Update bekommen.

Pio meinte das aktuelle Update vom IP-Symcon :slight_smile: Das hast du ja installiert. Somit sollte nun alles klappen?

paresy

Hallo zusammen,

hab heute mein Testsystem auf die aktuelle 4.00, 01.08.2016, 9b85b3baef2a geupdatetet (ich find den Begriff bescheiden, aber ich kenn keinen anderen).
Danach war der WebHook noch richtig, aber die DummyInstanz wurde wohl geändert. Leider bleibt der TimeStamp noch immer leer.

Weitere Vorschläge was bei mir schiefläuft?

OT: zum geupdatetet: aktualisiert.

Moin Wolfgang,

hast du auch das Modul aktualisiert :cool:

Also unter Kern Instanzen -> modules
und dort den „SymconMisc“ auf Updates überprüft und aktualisiert?

Grüße
Pio

Ja hab ich .

Hi,
ich nutze auch EgiGeoZone via Modul nur irgendwie funktioniert es nicht. Heimkommen funktioniert aber das weggehen führt zu einem Fehler:

2017-02-27 12:04:05,974 - [ERROR::de.egi.geofence.geozone.Worker::de.egi.geofence.geozone.Worker$1] - The request for Daheim is queued and will be retried, when internet connection is available.
2017-03-13 18:10:02,145 - [ERROR::de.egi.geofence.geozone.Worker::de.egi.geofence.geozone.Worker$1] - Daheim: Error (GR02) in get of the server response

Wie gesagt - wenn ich daheim bin geht es - beim verlassen wirft es einen Fehler - den oben. Ich habe es über den FHEM Link konfiguriert und auch die anderen Link für ankommen und gehen eingetragen und es funktionierte beides nicht. Muss man noch was anderes eintragen?

Hat jemand eine Idee was ich hier falsch mache?

Habe das Modul gerade neu installiert. Hat es einen Grund, dass das Modul in den Kerninstanzen angelegt wird und ich es von dort auch nicht verschieben kann?

Gruß,
Torsten

Hallo Pio & paresy,

habe gestern ein zweites Gerät hinzugefügt und mir ist folgendes aufgefallen.
Es wird immer nur ein Eintrag im WebHook erstellt.

damit meine ich:

Im WebHook ist ein Eintrag von Meiner Instanz „/hook/egigeozone“ --> „Instanz Gerät 1“
Erstelle ich eine zweite EgiGeo Instanz (für ein zweites Gerät), wird im WebHook mein Eintrag nicht mehr auf meine sondern auf die Neu Instanz verwiesen.
Dementsprechend hat die APP keine Verbindung mehr.

Ich musste im WebHook den Eintrag für das zweite Gerät Händisch Hinzufügen.(/hook/egigeozone2)

Dann habe ich zum Test eine dritte Instanz angelegt.
Ergebnis: Der Eintrag wurde im WebHook wieder Geändert.

Vorher:

„/hook/egigeozone“ --> „Instanz Gerät 1“
„/hook/egigeozone2“ --> „Instanz Gerät 2“

Nachher:

„/hook/egigeozone“ --> „Instanz Gerät 3“
„/hook/egigeozone2“ --> „Instanz Gerät 2“

Ist das so gewollt oder ein Bug?

IPS 4.2 Beta (27.04.17)

Gruß