GeofencyInfo

Und das funktioniert super .

Gesendet von meinem iPhone mit Tapatalk

Hallo 1007,

Geofency ist ja super.
Ein kleines Problem habe ich jedoch. Bei den Karten wird bei mir nur die Google Karte angezeigt aber mit falscher Position.
Die OSM Karte wird gar nicht angezeigt. Vielleicht ist es bei mir dasselbe Problem wie bei Plugwise mit den Kommas statt Punkten.

Vielen Dank für deine Hilfe

Gerd

Ich schau mal gleich nach Feierabend ( in 1 Stunde ) ob das sein koennte

Im Webfront wird der Längen und Breitengrad mit Kommas angezeigt.

Gerd

Schlecht.
Ich mach nachher mal einen FIX.

Hab ich was uebersehen, oder warum geaendert von Steiner ?

Ist die Variable auch schon falsch ?
Program\IPSLibrary\data\modules\Informationen\GeofencyInfo…\Latitude

Hallo 1007,

die Variable ist noch mit Punkt wie es sein soll.

Danke

Gerd

Teste mal die aktuelle Version

Kartenanzeige funktioniert jetzt mit Google und OSM.
Bei der Anzeige im Webfront wird der Längen- und Breitengrad noch mit Kommas angezeigt.

Vielen Dank

Gerd

Mach nochmal ein Update wegen der Anzeige. Hab keine extra neue Versionsnummer gemacht.

Leider immer noch mit Kommas.

2014-02-21 18_37_33-IP-Symcon WebFront.png

Gerd

Kommando zurück,
Scheinbar war noch was im Cache. Jetzt wird es auch im Webfront richtig angezeigt.

Vielen Dank für deine Mühe.

Gerd

Hallo Leute,

habe mir gerade auch über die Library das Modul geladen.

Kann mir jemand beim Konfigurieren helfen?



<?
	/*
	 * This file is part of the IPSLibrary.
	 *
	 * The IPSLibrary is free software: you can redistribute it and/or modify
	 * it under the terms of the GNU General Public License as published
	 * by the Free Software Foundation, either version 3 of the License, or
	 * (at your option) any later version.
	 *
	 * The IPSLibrary is distributed in the hope that it will be useful,
	 * but WITHOUT ANY WARRANTY; without even the implied warranty of
	 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	 * GNU General Public License for more details.
	 *
	 * You should have received a copy of the GNU General Public License
	 * along with the IPSLibrary. If not, see http://www.gnu.org/licenses/gpl.txt.
	 */

/***************************************************************************//**
* @ingroup informationen
* @{
* @defgroup geofencyinfo GeofencyInformationen
* @{
* @defgroup geofencyinfo_configuration GeofencyInfo Konfiguration
* @{
* 
* @file       GeofencyInfo_Configuration.inc.php
* @author     1007
* @version    Version 1.0.0
* @date       11.12.2013
* 
* @brief Configuration fuer GeofencyInfo
* @details  Hier werden folgende Komponenten definiert:
* - DEBUG_MODE ( true / false )
* - LOG_MODE ( true / false )
* 
*******************************************************************************/

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


  GLOBAL $DeviceConfig;
  GLOBAL $ActionConfig;

/***************************************************************************//**
* Debug und Logging
*   DEBUG_MODE -  TRUE/FALSE ( Standard FALSE )
*                 wenn auf TRUE werden Informationen im Meldungsfenster
*                 angezeigt
*   LOG_MODE   -  TRUE/FALSE ( Standard FALSE )
*                 wenn TRUE werden Logfiles in Log/GeofencyInfo Ordner
*                 geschrieben 
*******************************************************************************/
  define  ( 'DEBUG_MODE'  , true );
  define  ( 'LOG_MODE'    , true );
 
/***************************************************************************//**
* Geraetekonfiguration 
*             
*   Feld 01   -   laufende Nummer
*   Feld 02   -   Geraet aktiv (true/false)
*   Feld 03   -   Geraetenamen ( identisch mit dem Namen in der URL (IPSName=xx)
*   Feld 04   -   ID der erstellten Variablen wird bei Installation verwendet 
*   Feld 05   -   
*   Feld 06   -   
*   Feld 07   -                
* 
*   Beispiel  - array(1,true,"iPhone",false,false,false,false),
*******************************************************************************/
  $DeviceConfig = array(
	   array(1, true,"GeofencyTestDevice",false,false,false,false),
	   array(2, true,"IphoneDominik",false,false,false,false),
	   array(3, false,"",false,false,false,false),
	   array(4, false,"",false,false,false,false),
	   array(5, false,"",false,false,false,false),
	   array(6, false,"",false,false,false,false),
	   array(7, false,"",false,false,false,false),
	   array(8, false,"",false,false,false,false),
	   array(9, false,"",false,false,false,false),
	   array(10,false,"",false,false,false,false),
				);   

/***************************************************************************//**
* Geraete Aktionen 
*             
*   Feld 01   -   laufende Nummer
*   Feld 02   -   Geraet aktiv (true/false)
*   Feld 03   -   Geraetenamen ( identisch mit dem Namen in der URL (IPSName=xx)
*   Feld 04   -   Location Name   
*   Feld 05   -   Coming ( SkriptID welches beim Kommen ausgefuehrt werden soll)
*   Feld 06   -   Going  ( SkriptID welches beim Gehen ausgefuehrt werden soll)
*   Feld 07   -   Reserve             
* 
*   Beispiel  - array(1,true,"iPhone","Home",12345 /*[Objekt #12345 existiert nicht]*/,12345,false),
*******************************************************************************/
  $ActionConfig = array(
	   array(1, true ,"GeofencyTestDevice","GeofencyTestLocation",12345 /*[Objekt #12345 existiert nicht]*/,54321,false),
	   array(2, true,"IphoneDominik","Wasserscheide",false,false,false),
	   array(3, true,"IphoneDominik","Slevogtstrasse",false,false,false),
	   array(4, true,"IphoneDominik","MediaMarkt",false,false,false,false),
	   array(5, false,"",false,false,false,false),
	   array(6, false,"",false,false,false,false),
	   array(7, false,"",false,false,false,false),
	   array(8, false,"",false,false,false,false),
	   array(9, false,"",false,false,false,false),
	   array(10,false,"",false,false,false,false),
				);
				
/***************************************************************************//**
* Maps 
*       GEOFENCYIPSMAP  -   GOOGLE/OSM   
*       
*       GOOGLEMAPS
*           GOOGLEMAPS_ZOOM
*       
*
*       OSM
*           OSM_ZOOM
*
*
*          
*******************************************************************************/				
	define   ( 'GEOFENCYIPSMAP'         , 'GOOGLE' );

  define   ( 'GOOGLEMAPS_ZOOM'        , 15 );  

  define   ( 'OSM_ZOOM'               , 15 );  


/***************************************************************************//**
* MySQL - Anbindung 
*   MYSQL_ANBINDUNG         - MySQL Anbindung aktiv ( Standard = FALSE )
*   MYSQL_SERVER            - MySQL-Server IP-Adresse/Name
*   MYSQL_USER              - MySQL-User
*   MYSQL_PASSWORD          - MySQL-Password
*   MYSQL_DATENBANK         - MySQL-Datenbankname (Standard = Geofency)
*   MYSQL_TABELLE_INOUT     - MySQL-Tab InOut (Standard = InOut)
*   MYSQL_TABELLE_RESERVE1  - MySQL-Tab Reserve1
*   MYSQL_TABELLE_RESERVE2  - MySQL-Tab Reserve2
* wird eine Variable angegeben zB aus der ____autoload.php muss diese als
* GLOBAL definiert werden. ( GLOBAL $MYSQL_SERVER; )
*******************************************************************************/
	define ( 'MYSQL_ANBINDUNG'         , false );
	define ( 'MYSQL_SERVER'            , '192.168.10.1' );
	define ( 'MYSQL_USER'              , 'xxxx' );
	define ( 'MYSQL_PASSWORD'          , 'xxxx' );
	define ( 'MYSQL_DATENBANK'         , 'Geofency' );
	define ( 'MYSQL_TABELLE_INOUT'     , 'InOut' );
	define ( 'MYSQL_TABELLE_RESERVE1'  , 'Reserve1' );
	define ( 'MYSQL_TABELLE_RESERVE2'  , 'Reserve2' );
	
/***************************************************************************//**
* Interne Einstellungen
*******************************************************************************/
  define  ( 'CREATE_IPS_ZEITSTEMPEL'  , FALSE );
  define  ( 'AUTO_LEAVING_LOCATION'   , FALSE );
  define  ( 'MAPS_GOOGLE_CREATE'      , FALSE );
  define  ( 'MAPS_OSM_CREATE'         , TRUE  );
  define  ( 'TESTLOCALWEBSERVER'      , 'http://localhost:82/' );
  define  ( 'HTMLLOGLINES'            , 15 );
  //define  ( 'HISTORYLINES'            , 6 );
  //define  ( 'MAPHEIGHT'               , 480 );
  define  ( 'USE_APP_RADIUS'          , FALSE ) ;  

      
/***************************************************************************//**
* @}
* @}
* @}
*******************************************************************************/
?>



Ich habe auf meinem iPhone die Geofency App installiert.

  1. Welche genaue URL muss man in der App eingeben? Sehe hier im ersten Post leider nur

„…/user/GeofencyInfo/Geofency.php?IPSName=xxxxxxx“

Habe es jetzt so probiert:

"http://dyndns: Port/user/GeofencyInfo/Geofency.php?IPSName=IphoneDominik "

Damit bekomme ich bei einem test in der iPhone App „Erfolgreich. Kein IPSName angegeben“

Ist das so korrekt?

  1. Welche Skripte muss ich hier in diesem KonfigSkript verlinken?
  • Feld 05 - Coming ( SkriptID welches beim Kommen ausgefuehrt werden soll)
  • Feld 06 - Going ( SkriptID welches beim Gehen ausgefuehrt werden soll)

Kann vielleicht mal jemand sein Skript einstellen? Als Gedankenanstoß…

Du moechtest ein Script starten wenn ein Bereich betreten oder verlassen wird ?
Oder wie verstehe ich deine Frage ?

  • Feld 05 - Coming ( SkriptID welches beim Kommen ausgefuehrt werden soll)
  • Feld 06 - Going ( SkriptID welches beim Gehen ausgefuehrt werden soll)

Hallo,
danke für deine Antwort :slight_smile:
Also grundsätzlich möchte ich eigentlich nur mit diesem Modul in dem WebFront mein IPhone lokalisieren und visualiseren :slight_smile:
Skripte möchte ich eigentlich (noch) nicht starten…

Eben nochmal nachgesehen. Also die Fehlermeldung kommt wenn „IPSName“ nicht angeben wird in der URL.

  if ( !isset($_GET["IPSName"] ) )
    { 
    if ( DEBUG_MODE ) IPSLogger_Dbg(__FILE__,"Kein IPSName angegeben");
    echo "Kein IPSName angegeben";
    return;

Da kann dein Aufruf diesen Fehler nicht bringen :confused:

Hmmm…daraus werde ich jetzt nicht so richtig schlau…

Ich würde gerne wie hier im ersten Post des Threads beschrieben im WebFront die aktuelle Position darstellen…

Wie krieg ich das hin?

Mein KonfigSkript schaut derzeit so aus…


<?
	/*
	 * This file is part of the IPSLibrary.
	 *
	 * The IPSLibrary is free software: you can redistribute it and/or modify
	 * it under the terms of the GNU General Public License as published
	 * by the Free Software Foundation, either version 3 of the License, or
	 * (at your option) any later version.
	 *
	 * The IPSLibrary is distributed in the hope that it will be useful,
	 * but WITHOUT ANY WARRANTY; without even the implied warranty of
	 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	 * GNU General Public License for more details.
	 *
	 * You should have received a copy of the GNU General Public License
	 * along with the IPSLibrary. If not, see http://www.gnu.org/licenses/gpl.txt.
	 */

/***************************************************************************//**
* @ingroup informationen
* @{
* @defgroup geofencyinfo GeofencyInformationen
* @{
* @defgroup geofencyinfo_configuration GeofencyInfo Konfiguration
* @{
* 
* @file       GeofencyInfo_Configuration.inc.php
* @author     1007
* @version    Version 1.0.0
* @date       11.12.2013
* 
* @brief Configuration fuer GeofencyInfo
* @details  Hier werden folgende Komponenten definiert:
* - DEBUG_MODE ( true / false )
* - LOG_MODE ( true / false )
* 
*******************************************************************************/

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


  GLOBAL $DeviceConfig;
  GLOBAL $ActionConfig;

/***************************************************************************//**
* Debug und Logging
*   DEBUG_MODE -  TRUE/FALSE ( Standard FALSE )
*                 wenn auf TRUE werden Informationen im Meldungsfenster
*                 angezeigt
*   LOG_MODE   -  TRUE/FALSE ( Standard FALSE )
*                 wenn TRUE werden Logfiles in Log/GeofencyInfo Ordner
*                 geschrieben 
*******************************************************************************/
  define  ( 'DEBUG_MODE'  , true );
  define  ( 'LOG_MODE'    , true );
 
/***************************************************************************//**
* Geraetekonfiguration 
*             
*   Feld 01   -   laufende Nummer
*   Feld 02   -   Geraet aktiv (true/false)
*   Feld 03   -   Geraetenamen ( identisch mit dem Namen in der URL (IPSName=xx)
*   Feld 04   -   ID der erstellten Variablen wird bei Installation verwendet 
*   Feld 05   -   
*   Feld 06   -   
*   Feld 07   -                
* 
*   Beispiel  - array(1,true,"iPhone",false,false,false,false),
*******************************************************************************/
  $DeviceConfig = array(
	   array(1, true,"GeofencyTestDevice",false,false,false,false),
	   array(2, true,"IphoneDominik",false,false,false,false),
	   array(3, false,"",false,false,false,false),
	   array(4, false,"",false,false,false,false),
	   array(5, false,"",false,false,false,false),
	   array(6, false,"",false,false,false,false),
	   array(7, false,"",false,false,false,false),
	   array(8, false,"",false,false,false,false),
	   array(9, false,"",false,false,false,false),
	   array(10,false,"",false,false,false,false),
				);   

/***************************************************************************//**
* Geraete Aktionen 
*             
*   Feld 01   -   laufende Nummer
*   Feld 02   -   Geraet aktiv (true/false)
*   Feld 03   -   Geraetenamen ( identisch mit dem Namen in der URL (IPSName=xx)
*   Feld 04   -   Location Name   
*   Feld 05   -   Coming ( SkriptID welches beim Kommen ausgefuehrt werden soll)
*   Feld 06   -   Going  ( SkriptID welches beim Gehen ausgefuehrt werden soll)
*   Feld 07   -   Reserve             
* 
*   Beispiel  - array(1,true,"iPhone","Home",12345 /*[Objekt #12345 existiert nicht]*/,12345,false),
*******************************************************************************/
  $ActionConfig = array(
	   array(1, true ,"GeofencyTestDevice","GeofencyTestLocation",false,false,false),
	   array(2, true,"IphoneDominik","Wasserscheide",false,false,false),
	   array(3, true,"IphoneDominik","Slevogtstrasse",false,false,false),
	   array(4, true,"IphoneDominik","MediaMarkt",false,false,false,false),
	   array(5, false,"",false,false,false,false),
	   array(6, false,"",false,false,false,false),
	   array(7, false,"",false,false,false,false),
	   array(8, false,"",false,false,false,false),
	   array(9, false,"",false,false,false,false),
	   array(10,false,"",false,false,false,false),
				);
				
/***************************************************************************//**
* Maps 
*       GEOFENCYIPSMAP  -   GOOGLE/OSM   
*       
*       GOOGLEMAPS
*           GOOGLEMAPS_ZOOM
*       
*
*       OSM
*           OSM_ZOOM
*
*
*          
*******************************************************************************/				
	define   ( 'GEOFENCYIPSMAP'         , 'GOOGLE' );

  define   ( 'GOOGLEMAPS_ZOOM'        , 15 );  

  define   ( 'OSM_ZOOM'               , 15 );  


/***************************************************************************//**
* MySQL - Anbindung 
*   MYSQL_ANBINDUNG         - MySQL Anbindung aktiv ( Standard = FALSE )
*   MYSQL_SERVER            - MySQL-Server IP-Adresse/Name
*   MYSQL_USER              - MySQL-User
*   MYSQL_PASSWORD          - MySQL-Password
*   MYSQL_DATENBANK         - MySQL-Datenbankname (Standard = Geofency)
*   MYSQL_TABELLE_INOUT     - MySQL-Tab InOut (Standard = InOut)
*   MYSQL_TABELLE_RESERVE1  - MySQL-Tab Reserve1
*   MYSQL_TABELLE_RESERVE2  - MySQL-Tab Reserve2
* wird eine Variable angegeben zB aus der ____autoload.php muss diese als
* GLOBAL definiert werden. ( GLOBAL $MYSQL_SERVER; )
*******************************************************************************/
	define ( 'MYSQL_ANBINDUNG'         , false );
	define ( 'MYSQL_SERVER'            , '192.168.10.1' );
	define ( 'MYSQL_USER'              , 'xxxx' );
	define ( 'MYSQL_PASSWORD'          , 'xxxx' );
	define ( 'MYSQL_DATENBANK'         , 'Geofency' );
	define ( 'MYSQL_TABELLE_INOUT'     , 'InOut' );
	define ( 'MYSQL_TABELLE_RESERVE1'  , 'Reserve1' );
	define ( 'MYSQL_TABELLE_RESERVE2'  , 'Reserve2' );
	
/***************************************************************************//**
* Interne Einstellungen
*******************************************************************************/
  define  ( 'CREATE_IPS_ZEITSTEMPEL'  , FALSE );
  define  ( 'AUTO_LEAVING_LOCATION'   , FALSE );
  define  ( 'MAPS_GOOGLE_CREATE'      , FALSE );
  define  ( 'MAPS_OSM_CREATE'         , TRUE  );
  define  ( 'TESTLOCALWEBSERVER'      , 'http://localhost:82/' );
  define  ( 'HTMLLOGLINES'            , 15 );
  //define  ( 'HISTORYLINES'            , 6 );
  //define  ( 'MAPHEIGHT'               , 480 );
  define  ( 'USE_APP_RADIUS'          , FALSE ) ;  

      
/***************************************************************************//**
* @}
* @}
* @}
*******************************************************************************/
?>


Und in der App habe ich auch diese drei Orte erstellt…Siehe Screenshot

Was passiert wenn du die URL am PC in einem Browser aufrufst ?

...../user/GeofencyInfo/Geofency.php?IPSName=xxxxxxx

Dann schreibt der Browser…

Created Category IphoneDominik=16369 Created Category =54217 Created VariableId Latitude=12145 Created VariableId Longitude=58066 Created VariableId LocationID=41298 Created VariableId IPSAnkunft=50297 Created VariableId IPSAbfahrt=43825 Created VariableId GEOAnkunft=38129 Created VariableId GEOAbfahrt=27867 Created VariableId Entry=53205 Created VariableId Device=54491 Created VariableId Action=57670 Created VariableId Radius=32120 Created VariableId GoogleMap=35883 Created VariableId OSMMap=13816 Set ObjectPosition=‚99‘ for Object=‚Program\IPSLibrary\data\modules\Informationen\GeofencyInfo\Log‘ Created VariableId Mode=25096

Und es werden ein paar Variablen erstellt…

Kann es sein, dass da noch ein Fehler ist?


* Interne Einstellungen
*******************************************************************************/
  define  ( 'CREATE_IPS_ZEITSTEMPEL'  , FALSE );
  define  ( 'AUTO_LEAVING_LOCATION'   , FALSE );
  define  ( 'MAPS_GOOGLE_CREATE'      , TRUE );
  define  ( 'MAPS_OSM_CREATE'         , FALSE  );
  define  ( 'TESTLOCALWEBSERVER'      , 'http://IP Adresse vom IPS Rechner:IPS Port/' );
  define  ( 'HTMLLOGLINES'            , 15 );
  //define  ( 'HISTORYLINES'            , 6 );
  //define  ( 'MAPHEIGHT'               , 480 );
  define  ( 'USE_APP_RADIUS'          , FALSE ) ;


Edit:

Ich habe mir jetzt mal den funktionierenden Link per Mail aufs iPhone gemailt und dann direkt in Geofency kopiert und siehe da…Es geht :slight_smile:

Hatte also wahrscheinlich bei der URL Eingabe irgendeinen Fehler drin gehabt :slight_smile:

Ich freu mich…