[Modul] OwnTracks - Anwesenheitserkennung und Live-Tracking

Ja, das wäre eine praktikable Lösung. Ist für mich aber wie mit Kanonen auf Spatzen schießen. Das Handy sendet die Daten in der Regel bei Bewegung alle 10 Minuten und ohne Bewegung alle paar Stunden. Die Anfragefrequenz der Adressdaten bleibt damit auch bei vielen parallelen Instanzen sehr überschaubar.
Grüße
Jürgen

1 „Gefällt mir“

@Silberstreifen leider bekomme ich es noch immer nicht hin. Hätte jetzt gesagt der Dump sieht besser aus, jedoch kommt nichts im Debug Fenster der Data Instanz an und es werden keine Variablen angelegt.
dump(2).txt (5,4 KB)

Das hört sich so an, als ob dein Topic in der Data-Instanz nicht passt. Kontrolliere mal bitte, ob du alles richtig geschriegen hast

owntracks/stefan/t****

ohne / am Anfang und am Ende.
Sollte dann immer noch nichts kommen, dann mal mit leerem Topic in der Data-Instanz starten. Dann kommt auf jeden Fall etwas an. Danach dann sukzessive das Topic aufbauen.

Ich habe jetzt anhand deiner location.php die Funktion nachgebaut und kann auch die ‚Stationären Geräte‘ über einen individuellen Webhook setzen.

Hintergrund: In die Autos ohne Tracker ist ZUSÄTZLICH zum Manuellen verschieben ein NFC Tag eingeklebt. Wenn jetzt ich mit den anderen Autos fahre (passiert eher selten) kann ich durch den Tag ausgelöst meine Handy Position senden. Die anderen Nutzer können weiterhin die Position auf der Karte setzen.

Das Setzen klappt übrigens über Touch (Fire10HD mit FullyKiosk) erst wenn man relativ lange hält, dabei besteht aber schon die Möglichkeit dass man die Karte verschiebt.

Hallo @Silberstreifen ,
habe es nun hin bekommen, ich glaube mein Fehler war, dass ich Sonderzeichen in meiner DeviceID hatte. Evtl. nur als Info für deine Doku :wink:

Schöne Grüße und danke für das tolle Modul :slight_smile:

Hi, genau das ist was ich suche… GPS Informationen habe ich bereits in IP-Symcon. Wie bekomme ich das so 1:1 hin? Würdest du bitte mal ein paar Screenshots von den Variablen machen und den Skripten. Das wäre mega

Tut mir leid, das hab ich nicht mehr.
Was ich noch weiß

  • ich habe die Koordinaten in eine SQL Tabelle geschrieben
  • aus diesen Daten wurde ein File für die Karte erstellt
  • den Code aus meinem Link in eine HTML Variable eingefügt

Sorry, dass ich da nicht mehr weiterhelfen kann.

In einem meiner obigen Beiträge habe ich folgendes geschrieben

Sollte jemand oder du @Silberstreifen die HTML Vorlage für den Verlauf verwenden wollen, ist folgende Änderung in der HMTL notwendig, damit das auch mit der ipmagic URL funktioniert
alt

<script src="https://www.openlayers.org/api/OpenLayers.js"></script>

korrigiert

<script src="https://openlayers.org/api/2.13.1/OpenLayers.js"></script>

Wird die originale URL verwendet, meckert Chrome/Edge und wahrscheinlich alle anderen auch, dass etwas unsicheres geladen werden soll und das wird blockiert. Es wird nichts angezeigt. Leider kann es mit dieser Methode passieren, dass die js-Datei irgendwann nicht mehr da ist, dann muss man die URL korrigieren.

schade, war echt eine super Umsetzung von Dir … ;(

Danke. Ich hab auch eben meinen „Deleted“ Ordner in Scripts durchsucht, aber nichts mehr gefunden. Da muss ich wohl irgendwann aufgeräumt haben.

Ich hab noch was gefunden. Nämlich die HTML Datei für die Anzeige des Verlaufes
gpxHelmut.zip (1,2 KB)

Die GPX Datei muss folgendermaßen ausehen

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx version="1.1" creator="DEIN NAME ODER WAS ANDERES">
<metadata></metadata>
<trk>
<name>NameHalt</name>
<trkseg>
<trkpt lat="00.000000000000" lon="00.000000000000"><name>Bezeichnung_des_Wegpunktes</name></trkpt>
Für jeden Wegpunkt eine Zeile
</trkseg>
</trk>
</gpx>

Ich habe beides im Webfront Ordner von IPSymcon abgelegt

Ein frohes Neues wünsche ich euch allen :slight_smile:

Weiß zufälligerweise jemand, wo man das Sendeintervall von OwnTracks einstellen kann? Aktuell werden die Variablen in IP Symcon lediglich alle 15min aktualisiert? Was wäre hier die untere Grenze?

Schöne Grüße

Stefan

Findet sich in den erweiterten Einstellungen.

Danke für die Antwort @hfichtinger . Kannst du mir auch sagen welcher Punkt es in den erweiterten Einstellungen ist? Finde in der App unter expert mode nur locatorintervall, aber der steht auf 180 und somit kann ich mir die 15min Aktualisierungen in symcon mit dem Wert nicht erklären und vermute das ist der falsche?!

Schöne Grüße
Stefan

Bei den Einstellungen unte Erweitert. Heißt dann dort Standortintevall. Davon gibt es zwei. Den normalen, der steht bei mir auf 900 und den Bewegungsmodus. Das ganze abe auf Android. Solltest du einen Apfel haben, dann heißt das möglicherweise anders.

Da mein Spring wie viele andere E-Autos die Position anliefern, hab ich mir das Modul wieder installiert. Die Einbidnung ging Problemlos. Auch die Positionserkennung vom Auto. Bin echt begeistert was daraus geworden ist.
Natürlich stellt sich dann auch die Frage, wo war er überall? Hehe, wo wir beim Verlauf wären. Ich wollte es wieder, aber nicht mehr so kompliziert wie damals. Vorallem ohne SQL und mit Boardmitteln.

Wenn es jemanden interessiert, wie ich es gemacht habe, kann gerne weiterlesen. Wenn nicht, dann wäre hier Schluss :wink:

Was braucht man für den Verlauf:
Die Variable „Position“ der OwnTrackData oder der ExternalData Instanz muss archiviert werden.
Dann habe ich noch folgende Variablen definiert

  • Auswahl Anzeige - Da ich nicht nur den Spring tracke kann ich hier zwischen Personen und dem Auto hin und her wechseln
  • Datum - selbstredend
  • Verlauf Startpunkt - dazu gleich mehr (Stringvariable)

Für den Startpunkt der späteren Kartenanzeige braucht man eine externe Data Instanz, damit das mit der Zentrierung der Karte funktioniert.


In dieser Intanz wird als VariabelID die zuvor definierte „Verlauf Startpunkt“ eingetragen.
image

Als nächstes noch die Karte mit den Verlaufspunkten



Als „Geräte auf der Karte“ wird die vorher definierte ExternData Instanz eingetragen. Das ist für den Startpunkt. Wie der gesetzt wird, kommt noch.

Was ich aber dann eigentlich mache ist, in dieser Karteninstanz für den Verlauf, „Orte auf der Karte“ eintragen.
Dazu braucht es ein Skritp, welches den beiden Variablen für Datum und die Auswahl als Aktionsskript hinterlegt wird.

<?php
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);

$auswahlid=23402; //Wechselvariable zwischen Personen oder Geräten
$datumid=12381; //Datum
$archivid=46307; //Archiv ID
$datum=getvalue($datumid); //Wert aus der Datumsvaraible
$auswahl=getvalue($auswahlid); //Wert aus der Auswahlvariable
$verlaufmapid=54871; //ID der Karteninstanz für den Verlauf
$startpunktid=10109; //Variable für den Startpunkt
switch ($auswahl)
{
	case "Helmut":$varid=26625;break; //Positionsvariable aus der jeweiligen Instanz
	case "Sabine":$varid=27487;break;
	case "Spring":$varid=58659;break;
}
$datumvon=mktime(0,0,0,date("m",$datum),date("d",$datum),date("Y",$datum));
$datumbis=mktime(24,0,0,date("m",$datum),date("d",$datum),date("Y",$datum));
//Daten aus Archiv
$wegpunkte=AC_GetLoggedValues ($archivid, $varid, $datumvon, $datumbis,0);
$map=array();
$i=1;
foreach ($wegpunkte as $wegpunkt)
{
	$timestamp = date("G:i",$wegpunkt["TimeStamp"]);
	$geo=json_decode($wegpunkt["Value"],true);
	$lat=$geo["lat"];
	$lon=$geo["lon"];
	if ($i==1) setvalue($startpunktid,'{"lat":'.number_format($lat,7,".","").',"lon":'.number_format($lon,7,".","").'}');
	array_push($map,["Order"=>$i, "Location"=>"{\"latitude\":".number_format($lat,7,".",",").",\"longitude\":".number_format($lon,7,".",",")."}", "Name"=>$timestamp, "Show"=>true, "Icon"=>"", "Scale"=>0.01, "Movabele"=>false, "Color"=>16711680]);
	$i++;
}
IPS_SetProperty($verlaufmapid,"Places",json_encode($map));
IPS_ApplyChanges($verlaufmapid);

Das Skript schreibt in die Karteninstanz für den Verlauf die Wegpunkte aus dem Archiv in die Orte-Tabelle


Als Name verwende ich die Uhrzeit. Farbe ist bei mir Rot. Ist am besten lesbar.
Beim ersten Durchlauf, werden in die Startvarialbe die Koordinaten des ersten Wegpunktes eingetragen. Somit passt die Zentrierung.
Ins Webfront müssen die Variablen Datum und Auswahl und eben die Karte verlinkt werden.
Dass die Punkte nicht verbunden sind, finde ich jetzt gar nicht so schlimm. Macht es übersichtlicher.
Ich denke ich habe alles beschrieben und nichts vergessen.

1 „Gefällt mir“

Hallo zusammen,

bei mir klappt Owntracks ganz gut. Somit wollte ich es bei meiner Frau ebenso einrichten. Wie bin ich also vorgegangen:
-Owntracks installiert und als UserID, Passwort und URL dasselbe wie bei mir genommen und für DeviceID eine extra ID verwendet. Regionen eingestellt, auf Karten auf „Bewegung“ gestellt und Standort Verwendung erlaubt und auf genauen Standort gestellt
-im Symcon zweite Dateninstanz angelegt mit Topic owntracks/gemeinsamer UserID/ ihrer Device ID

Zum Start funktionierte auch alles ganz gut. Jetzt fallen mir folgende Dinge auf:
-obwohl wir dasselbe Handy haben (iPhone 11) und nebeneinander sind ist ihre Genauigkeit erheblich schlechter
-somit reagiert mein Owntracks wenn wir zusammen wegfahren jedes mal schneller
-und das größte Problem ist, das der Aktualisierungsintervall bei meiner Frau langsamer ist, zudem hat es sich gestern den ganzen Tag nicht einmal aktualisiert

Was könnte ich denn noch falsch eingestellt haben?

Schöne Grüße

Stefan

Hallo Stefan,
grundsätzlich würde ich sagen, dass du alles richitg eingestellt hast. Wann das Iphone aktualisiert, entscheidet das Betriebssystem und ist auch für mich nicht ganz nachvollziehbar.

Die Owntracks-App liegt bei deiner Frau geöffnet im Hintergrund? Wenn nicht, dann wird auch nicht aktualisiert.

Zur Verbesserung der Aktualisierung hat Owntracks darüber hinaus ein cooles Feature:
Erzeuge eine Region

+90follow

Dann wandert die Region immer mit dir mit und stellt den Radius dynamisch so ein, dass bei Bewegung etwa alle 90 Sekunden ein Region verlassen-Signal abgefeuert wird. Darauf reagiert das Betriebssystem mit mehr Priorität. Das heißt nicht, dass tatsächlich alle 90 Sekunden Daten kommen. Aber seitdem ich das bei mir eingerichtet habe, stimmt der Standort immer recht gut.

Grüße
Jürgen

Hallo Jürgen,
danke für die Antwort. Heißt die Region einfach benennen mit „+90follow“ und keinen Längen- und Breitengrad angeben?
Schöne Grüße
Stefan

hier steht, wie es funktioniert

https://owntracks.org/booklet/features/ios/#region-monitoring-with-follow