GeofencyInfo

Positionsanzeige und ausfuehren von Scripten durch die APP Geofency
Die APP Geofency sendet nicht staendig die Position , sondern wenn ein in
der APP gespeicherter Bereich verlassen oder betreten wird.
Einstellbereich in der APP von 100 Meter bis 5000 Meter.

Einstellungen in der APP
Mitteilungen aktivieren
Webhook
URL - http://…/user/GeofencyInfo/Geofency.php?IPSName=xxxxxxx
POST Einstellungen - JSON-enkodiert AUS

Neue „Oertlichkeiten“ werden automatisch angelegt.

Bei Aenderung von den definierten Geraeten muss Modul neu installiert werden.

Konfigurationsdatei:

Geraete definieren
array(1, true, „GeofencyTestDevice“, false,false,false,false),
array(2, true, „iPhone“, false,false,false,false),
array(3, true, „iPadMini“, false,false,false,false),

Aktionen definieren
array(2, true, „iPhone“,„Home“,12345 ,54321,false),
Script 12345 wird ausgefuehrt wenn „iPhone“ den Bereich „Home“ betritt
Script 54321 wird ausgefuehrt wenn „iPhone“ den Bereich „Home“ verlaesst
Farbliche Anzeige im Webfront ob die Aktion ohne Fehler war.

Mehr Info siehe Konfigurationsscript.
Program\IPSLibrary\config\modules\Informationen\GeofencyInfo\GeofencyInfo_Configuration

Zur Auswahl fuer die MapAnzeige steht OpenStreetMap oder GoogleMaps
Ich persoenlich bevorzuge OSM
Rote Markierung bedeutet Ort verlassen
Gruene Markierung Ort betreten
Einstellmoeglichkeit fuer den Zoomfaktor vorhanden.

Testmoeglichkeiten durch eingebautest Testdevice
Zum Testen existiert ein Script
Program\IPSLibrary\app\modules\Informationen\GeofencyInfo\GeofencyInfoTest
Dieses sendet eine Ankunft und 10 Sekunden spaeter eine Abfahrt an das Modul.
Die Geodaten sind zufaellig.
Der Eintrag in der Konfiguration fuer den Server muss stimmen
define ( ‚TESTLOCALWEBSERVER‘ , ‚http://localhost:82/‘ );
Wird dieses nicht mehr benoetigt kann man es deaktivieren
array(1, false, „GeofencyTestDevice“, false,false,false,false),

Infoseite enthaelt LogDaten

Die Imagedateien und das CSS-File wird bei weiteren Installationen nicht mehr
ueberschrieben. So kann sich jeder das anpassen.

Damit das Modul im IPSLibrary-WebGUI angezeigt wird, folgende Zeile in die
Datei KnownRepositories.ini eintragen wenn noch nicht vorhanden.
Repository=https://raw.github.com/1007/IPS1007Library/master/

ScriptNOK.pngScriptOK.png

DAnke für Deine Mühe und fürs teilen- bei mir taucht´s leider nicht als Modul im WebGui auf -
entspr. Eintrag war/ist in der KnownRepositories.ini vorhanden.

Muss ich sonst was updaten ?

Nach neuen Updates suchen ?

Alternativ

	$remoteRepository = 'https://raw.github.com/1007/IPS1007Library/master/';
	$component = 'GeofencyInfo';

	IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
	$moduleManager = new IPSModuleManager($component,$remoteRepository);
	$moduleManager->LoadModule($remoteRepository);

	$moduleManager->InstallModule($remoteRepository);

Mercie, über die „ALTERNATIVE“ via Script wirds gefunden und Install funktioniert 1a.

hi,

lief nach manueller Installation sofort. Danke.

Leider bekomme ich immer eine Debug email wenn mein iphone postet.
IPS-Dbg-GeofencyInfo 2013-12-21 14:34:03.532 Keine ContentID gefunden

Die Test Device macht das nicht
IPS-Dbg-GeofencyInfo 2013-12-21 14:26:32.100 32539

Die ID ist die Variablen ID in IPS und wird neu angelegt.
Warum bekomme ich die Meldung?

Sebastian

Hast du deine Geraete in die Konfiguration eingetragen und dann nochmal ein Install gemacht ?

also eingetragen schon, aber nur das Script ausgeführt…

geht jetzt aber die dbg info verschickt er immernoch

Die Contentvariable und das Webfront werden bei der Installation neu aufgebaut.
Einfach eine Installation ausfuehren.

Hallo,

bei meinen Versuchen GeoFencyInfo zu installieren bin ich irgendwie in einer Sackgasse gelandet. Es kommt bei meinen Installationsversuchen immer zum Fehler

Im Log steht lediglich:


IPSModuleManager-Log-IPSFileVersionHandler         2013-12-26 12:35:26.51  Set Version GeofencyInfo=1.0.10 (Installing)
IPSModuleManager-Log-IPSModuleManager              2013-12-26 12:35:26.64  Created Category GeofencyInfo=40030
IPSModuleManager-Log-IPSModuleManager              2013-12-26 12:35:26.66  Empty Category ID=40030
IPSModuleManager-Log-IPSModuleManager              2013-12-26 12:35:26.68  Created Link Log=41168
IPSModuleManager-Log-IPSModuleManager              2013-12-26 12:35:26.70  Created Link GeofencyTestDevice=54652

Woran scheitert es wohl?

Viele Grüße

Burkhard

Du hast vor der Installation im KonfigurationsWizzard keine Einstellungen gemacht und dann abgespeichert.

Die INI-Datei sollte jetzt so aussehen

[WFC10]
Enabled="true"
Path="Visualization.WebFront.Informationen.GeofencyInfo"
TabPaneParent="roottp"
TabPaneName="Geofency"
TabPaneItem="Geofency"
TabPaneIcon="Shuffle"
TabPaneOrder="20"
ID="34166"
[Mobile]
Enabled="false"

Super, nun geht’s. Da waren bei mir wohl verschiedene Versionen durcheinander gekommen.

Besten Dank!

Ein „Problem“ habe ich nun noch: auf der Contentseite des jeweiligen Gerätes fehlt bei mir die Historie:

Obwohl die Ereignisse korrekt eintreffen:

Was kann da die Ursache sein? Oder habe ich es noch falsch verstanden?

Viele Grüße

Burkhard

Vielleicht kannst mir deine Konfiguration schicken.
Bin im Moment PC maessig total Offline.

da faellt mir gerade noch ein.
Links wird die History angezeigt .
Das bedeutet die Orte ausser dem wo du gerade bist!
Wenn du also nur einen Ort hast wird da nichts angezeigt.

Ach so. Dann ist ja alles gut:)

Super App! Werde mich noch näher damit beschäftigen.

Vielen Dank,

Burkhard

Ist Version 1.0.x
Da ist noch Platz fuer Wuensche !

Ich versuche nun, Aktionen mit Kommen und Gehen zu verknüpfen:

  $ActionConfig = array(
	   array(1, false ,"GeofencyTestDevice","GeofencyTestLocation",12345 ,54321,false),
	   array(2, true ,"Burkhard",26950,26950,false,false), ...

aber es wird die meiner Erkenntnis nach zuständige Funktion

function GEOActions($GEOentry,$IPSName,$GEOname)

bei mir nicht aufgerufen. Auch finde ich den Aufruf in den Quellen nicht :confused:

Habe ich noch etwas übersehen?

Viele Grüße

Burkhard

Bei deinem Eintrag fehlt was

array(2, true ,"Burkhard",26950,26950,false,false), 

Erster Eintrag - einfach eine laufende Nummer
Zweiter Eintrag - aktiv
Dritter Eintrag - Geraetename
Vierter Eintrag - welcher Ort/Bereich/etc
und der ist bei dir 26950 ???

Argh, da fehlte doch glatt der Ort. So ist es richtig::slight_smile:

  $ActionConfig = array(
	   array(1, false ,"GeofencyTestDevice","GeofencyTestLocation",12345 ,54321,false),
	   array(2, true ,"Burkhard", "Home", 26950,26950,false),

Wahrscheinlich habe mich von dem Beispiel irritieren lassen:


	   array(3, false,"",false,false,false,false),
	   array(4, false,"",false,false,false,false),

Die Stelle, wo GEOActions aufgerufen wird, habe ich auch gefunden:) (in Geofency.php)

Hier ist übrigens noch ein Vertipper drin:

if ( isset( $_POST["entry"] ) )    $GEOentry        =$_POST["entry"] ;     else $GEOEntry="";

Es muss $GEOentry heißen.

Gibt es eine Möglichkeit, im aufgerufenen Script (bei mir 26950) auf die $_POST Daten irgendwie zuzugreifen? Das fehlt mir noch … Ich würde gerne in einem zentralen Script die verschiedenen Aktionen abhandeln.

Viele Grüße

Burkhard

Ist nicht drin , mach ich aber bis morgen :wink: