Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 

In diesem Einstellungsreiter kann man ein Standorttracking aktivieren. ACHTUNG: Wenn man sich sehr viel den ganzen Tag bewegt und das exaktere Tracking aktiv hat (zB: längere Wanderungen; sehr langen Autofahrten, etc...) hat das Tracking einen hohen Akkuverbrauch und natürlich auch ein erhöhtes Datenaufkommen da an den IP-Symcon Server über den Tag dann viele Datenupdates bzgl. Tracking geschrieben werden!!! Einfluss kann man nehmen durch die Aktualisierungsrate.

Folgende Einstellungen sind möglich:

  • "Tracking": Hier wird nur angezeigt ob das Tracking aktiv ist oder nicht. Das eigentliche Tracking findet in einem eigenen Service statt.
  • "Latitude Variable ID": Ist die IP-Symcon Variable in welcher der Latitude Koordinatenwert hinein geschrieben wird
  • "Longitude Variable ID": Ist die IP-Symcon Variable in welcher der Longitude Koordinatenwert hinein geschrieben wird
  • "Adresse Variable ID": Ist die IP-Symcon Variable in welcher die Adresse gespeichert wird (wenn leer wird keine Adresse ermittelt/gespeichert)
  • "Min. Distanz (Meter)": Ist die minimale Distanz in Meter die man sich bewegen muss, damit eine neue Standortabfrage per GPS/Wifi/Netzbetreiber gemacht wird (Standard Google Ermittlung)
  • "Aktualisierung (Sek.)": Ist die Anzahl in welchem Abstand eine Standortabfrage durchgeführt wird. Je höher der Wert desto weniger wird der Akku belastet
  • "Exakteres Tracking": Hiermit kann man einstellen wie genau eine Standortermittlung stattfindet (also auf wieviel Meter genau der aktuelle Standort bestimmt wird). Bei normalem Tracking ist das nur auf ca. 100 Meter genau da weniger Parameter abgefragt werden. Dafür benötigt man auch weniger Akku.
  • "Start beim Booten": Gibt an ob die Standortermittlung beim Hochfahren/Booten des Gerätes automatisch mit gestartet werden soll
  • "Starte Tracking": Hiermit wird die Standortermittlung gestartet
  • "Stoppe Tracking": Hiermit wird die Standortermittlung ausgeschaltet
  • "WLAN Tracking": Bei Klicken auf WLAN Tracking kommt man in die WLAN Tracking Einstellungen. Näheres dazu siehe hier auf dieser Webseite.

Folgende Info noch bzgl. Variablen usw...:

Wenn man das Nutzen will muss man dort entsprechend den Service Starten durch "Starte Tracking".
ACHTUNG: Sobald eine neuere Version der App ausgerollt wird, werden Services automatisch beendet.

Bei Bedarf kann man neben einer Variable Latitude und Longitude in IP Symcon (diese sind mit Float mit 8 Dezimalstellen anzulegen) auch eine String Variable mit der Adresse hinterlegen. Wenn man hier in der App den Wert 0 drinnen lässt, dann findet keine Adressermittlung statt. Adressermittlung bedeutet höheren Akkuverbrauch und natürlich erhöhtes Datenvolumen.

Mit dem Parameter Min. Distanz (Meter) wird eingestellt wie weit man sich in Metern bewegen muss damit ein neues Tracking stattfindet. Je höher hier der Wert ist desto weniger Abfragen gibt es und desto besser wird der Akku geschont. Es ist aber zum Parameter darunter eine UND Verknüpfung. Das bedeutet wenn man als Aktualisierung nur zB: 600Sek eingestellt hat, dass auch nur alle 600Sek eine Aktualisierung stattfindet wenn man sich innerhalb diesen 600 Sek. um zB: 10 Meter bewegt hat. Wenn nicht findet nach 600Sek. keine Aktualisierung statt.

Mit dem Parameter Aktualisierung (sek.) wird eingestellt wird oft eine Standortermittlung durchgeführt wird. WICHTIG: Ein Wert kleiner als 5 Sekunden kann zwar eingestellt werden in der App aber der Service macht das trotzdem nicht öfter als 5 Sekunden. Ein höherer Wert schont natürlich hier den Akkuverbrauch. Ich habe zB: 30 Sekunden bei mir als Aktualisierungsintervall eingestellt.

In den Android Grundeinstellungen (nicht in meiner App) sollte man natürlich auch die Standortermittlung entsprechend einstellen damit es funktioniert.

Hier das Script "BerechneAnwesenheit":

 <?
 
//Ändere folgendes auf Deine Werte
$idlatitude = 58336; //ID float Variable GPSLatitude
$idlongitude = 42892; //ID float Variable GPSLongitude
$idanwesenheit = 47676; //ID boolean Variable Anwesenheitsstatus
$latitudemin = 38.079054; //from GoogleMaps
$latitudemax = 38.079499; //from GoogleMaps
$longitudemin = 24.475229; //from GoogleMaps
$longitudemax = 24.476146; //from GoogleMaps
//Ende Änderung
 
//Ab hier nichts mehr ändern
$latitude = GetValueFloat($idlatitude);
$longitude = GetValueFloat($idlongitude);
$anwesenheit = GetValueBoolean($idanwesenheit);
 
if ($latitude >= $latitudemin &amp;&amp; $latitude <= $latitudemax ) {
 if ($longitude >= $longitudemin &amp;&amp; $longitude <= $longitudemax) {
 SetValueBoolean($idanwesenheit, true);
 } else {
 SetValueBoolean($idanwesenheit, false);
 }
} else {
 SetValueBoolean($idanwesenheit, false);
}
?> 
Source code

Zusätzliche Informationen:

Für die Standorterrmittlung werden die Google Play Services benutzt. Gerade am Land kann es schon mal zu ein paar Ausreißern kommen wenn man das Tracking zB: in der Arbeit auf der Fahrt nach Hause einschaltet in meiner App und dann wenn man zuhause ist entsprechend weiter laufen lässt. Grund ist, dass innerhalb vom Gebäude natürlich weiterhin das Tracking stattfindet wenn es nicht explizit wieder abgeschaltet wird, aber dort kein exaktes GPS Signal zur Verfügung steht und somit die Zellinformationen/WLANs benutzt werden vom Google Play Servicedienst. Insofern überlege ich in einer zukünftigen Version, den Service bzgl. Standortermittlung entsprechend auf einen Button am Homescreen meiner App mit zu ermöglichen mit Ein/Ausschalten und eventuell auch noch ein eigenes Widget dafür zur Erstellen mit dem ganz Simple die Standortermittlung aktiviert/deaktiviert werden kann.