Modul zur Nutzung von OwnTracks-Informationen zur Anwesenheitserkennung oder zum Live-Tracking von mobilen Endgeräten mittels der OwnTracks-App. Auf einer OpenStreetMap kann die Position aller konfigurierten Geräte live verfolgt werden. Dabei wird der Kartenausschnitt automatisch so angepasst, dass alle getrackten Geräte zu sehen sind.
Voraussetzung
Installation der OwnTracks-App auf einem mobilen Endgerät.
Externe Verbindung zum IP-Symcon-Server z.B. per Connect-Schnittstelle.
Der Zugang sollte über UserID und Password geschützt werden
Die DeviceID festlegen
Zu überwachende Region(en) festlegen Achtung: diese werden der DeviceID zugeordnet. Ein Ändern der DeviceID führt zum Verlust der Regionen.
Unter Karte das Sendeverhalten einstellen. Bei mir hat sich die Einstellung Wesentlich (IOS) bzw. Signifikante Änderung (Android) bewährt
Installation und Konfiguration des Moduls
Die Installation der Bibliothek wird hier beschrieben.
Daten-Instanz
Eine OwnTracks-Data-Instanz anlegen
Topic owntracks/UserID/DeviceID festlegen
Festlegen, ob Positionsdaten übernommen werden sollen
Wenn noch keine OwnTracks-Hook-Instanz existiert, wird diese automatisch im Bereich der I/O-Instanzen angelegt
Die OwnTracks-Hook-Instanz mit Hookname, UserID und Password aus der App konfigurieren. Der Hookname darf noch nicht in Verwendung sein, muss sich also von allen bisherigen Hooknamen unterscheiden.
In der OwnTracks-App unter Einstellungen die Taste Sende Regionen (IOS) drücken
externe Daten-Instanz
Eine OwnTracks-external-Data-Instanz anlegen
VariablenID für der Positionsdaten wählen. Die Daten müssen im Format {„lat“:52, „lon“: 10} abgelegt sein.
Zu überwachende Orte mit Name, Koordinaten und Überwachungsradius festlegen.
Map-Instanz
Zusätzlich zur Data-Instanz kann eine Map-Instanz angelegt werden. Auch diese wird mit Hookname, UserID und Password konfiguriert. Der Hookname darf wie oben noch nicht in Verwendung sein, muss sich also von allen bisherigen Hooknamen unterscheiden. Darüber hinaus muss eingestellt werden, wie groß die Karte im WebFront erscheinen soll.
Geräte auf Karte
In der Konfigurationstabelle können alle Daten-Instanzen konfiguriert werden, die auf der Karte angezeigt werden sollen. Dabei können neben Anzeigename und -farbe auch ein persönliches Icon gewählt und dessen Darstellungsgröße eingestellt werden. Mit der Reihenfolge wird festgelegt, welches Icon auf der Karte zu oberst liegt, wenn diese sich überschneiden. Zusätzlich zu den Daten-Instanzen von OwnTracks kann auch die Location aus den Kern-Instanzen als „zuhause“ angezeigt werden.
Orte auf Karte
In der unteren Konfigurationstabelle können Orte definiert werden, die auf der Karte angezeigt werden sollen. Anders als die Geräte haben die Orte feste Koordinaten, die in der Konfiguration festgelegt werden müssen. Will man Orte komfortable im Webfront verschieben, so ist das Häkchen bei Objekt bewegbar zu setzen. Die übrigen Einstellungen sind analog zu den Geräten auf der Karte.
Sicherung des Zugangs
Da die Instanzen über WebHook auch aus dem Internet erreichbar sein müssen, sind diese mit Benuternamen und Passwort gesichert. Gibt man dreimal die Zugangsdaten falsch an, so wird der Zugang für diese IP gesperrt. Nach insgesamt 10 Fehlversuchen wird der Zugang für alle IPs für 24 Stunden gesperrt. Um den Zugang wieder zu entsperren, bitte in der Instanz die Sperre zurücksetzen-Taste drücken.
Objekte auf der Karte im Webfront bewegen
Ist diese Option in der Map-Instanz gewählt, so lassen sich die entsprechenden Orte wie folgt auf der Karte im Webfront bewegen:
Kurzer Mausklick oder Touch auf den Punkt in der Karte, an den ein Ort verschoben werden soll.
Jetzt erscheint ein Auswahlfenster der verschiebbaren Objekte.
Kurzer Mausklick oder Touch auf das zu verschiebende Objekt.
Jetzt werden die Koordinaten vom ersten Mausklick/Touch auf das Objekt übertragen und die Karte wird mit den neuen Daten neu aufgebaut.
Mit einem kurzer Mausklick oder Touch außerhalb des Auswahlfensters lässt sich der Vorgang abbrechen.
V1.02
Fix: Optimierung von ReceiveData (Fehlermeldung bei IOS)
Neu: Unterstützung von NextTracks
V1.03
Neu: Map zur Anezeige der Gerätepositionen
Neu: Einloggen per Secret-Code
Neu: Sperren des Zugangs nach 3 Fehlversuchen in 24h auf einer IP-Adresse und 10 Fehlversuchen in 24h insgesamt
Neu: OTR_GetSecret(12345) zum Anzeigen des Secret-Codes
Neu: mehrere Hooks mit unterschiedlichem Zugang möglich
V1.04
Fix: Bereinigung des Quellcodes
Fix: Anpassung der Dokumentation
V1.05
Neu: persönliche Icon für die Kartendarstellung
Neu: Anzeige der Home-Location in der Karte
V1.06
Fix: Bei gesperrtem Zugang werden Daten verarbeitet
V1.07
Neu: Instanz für externe Positionsdaten
Neu: Besondere Orte auf der Karte konfigurierbar
Fix: Formatierung HTML-Boxen
Ich hab das gleich mal ausprobieren müssen
Gratuliere, funktioniert.
Ein paar Fragen hätte ich
Die Position als String ist nett, aber wäre es nicht einfacher, die einzelnen Werte als Variable anlegen zu können?
Und jetzt kommts: Eine definition vom Geofence auf basis der IPS Daten mit der Möglichkeit einen Durchmesser eingeben zu können und wenn sich das Device innerhalb dieses Bereichs befindet, dann könnte eine Variable auf „Anwesend“ oder auf „Abwesend“ gesetzt werden
Und ein Hit wäre, das ganze auf einer Karte anzeigen zu können. Aber ich glaub das geht, zumindest mit Google Maps. Aber gibt ja auch andere anbieter. Openstreetmap fällt mir da ein.
In der Android App finde ich in den Einstellungen kein „Sende Regionen“. Ich hab in der Kartenanzeige lediglich einen Pfeil nach oben mit darüber liegenden Strich. Damit sendet die App die aktuellen Daten, was auch funktioniert.
prima, dass es bei Dir funktioniert. Ich lese heraus, dass Du Android verwendest. Das konnte ich bisher nicht probieren.
nein das ist falsch. Du musst als Topic „owntracks/UserID/1“ eingeben. Wobei die UserID diejenige ist, die du in der Hook-Instanz als Benutzer eingegeben hast.
Da gibt es sicherlich viele unterschiedliche Geschmäcker. Wenn Du irgendetwas anderes möchtest, dann einfach die Daten aus „Position“ holen und dann selbst formatieren.
Auf der Karte anzeigen geht bei IOS ganz simple über einen html-Code
<a href="maps://?q==@51.12345,11.12345">Karte</a>
Auf Android sollte das ähnlich funktionieren. Da kenne ich den Befehl aber nicht.
Diesen Punkt habe ich nicht verstanden. Der müsste eigentlich unter Einstellungen zu finden sein. Ansonsten die Regionen erst anlegen, wenn du bereits die Instanzen eingerichtet hast. Dann geht es auch.
Gut, ich hab da mal meine aktuelle Position eingetragen. Radius 30m (ich weiß, sehr klein). In der App bekomme ich angezeigt, dass ich da drinnen bin. In IPS ändert sich da aber nicht.
Mit „Wesentlicher Änderung“ meinst du wahrscheinlich diesen Pfeil
Und was sollte ich sehen? Die Positionsdaten kommen jetzt auch rüber.
Ah, im Debug hab ichs gefunden
"inregions":["zu Hause"]
Das kommt aber nicht an. Also im Debug schon, aber in keiner Variable. Wenn das irgendwo ankommt, dann erübrigt sich natürlich mein Wunsch vom Geofence.
Vielleicht noch als Anregung (hab mich damit schon mal vor Wochen beschäftigt), die SSID könnte durchaus als zusätzliche Prüfung der Anwesenheit interessant sein.
Du solltest zwei Variablen sehen. Die eine ist eine Bool und heißt bei dir „zu Hause“ und die andere ist eine Float und heißt bei dir „Entfernung nach zu Hause“.
Sollte es diese bei Dir nicht geben, dann bitte deinen Ort „zu Hause“ nochmal in der App löschen und neu eingeben. Dann sollte er an IP-Symcon gesendet werden und bei dir im Objektbaum erscheinen.
Der Vorschlag ist gut, aber bei OwnTracks tatsächlich nicht erforderlich, da ohnehin die wesentlichen Änderungen gepostet werden.
Nein, tut mir leid. Da kommt nichts. Ich hab den Ort gelöscht und auch ohne Leerzeichen (zuHause) eingegeben. Ebenso alle Variablen gelöscht und in der App auf den Pfeil (mittleres Symbol in der Kartenansicht) getippt. Daten kommen und Variablen werden angelegt. Von zuHause keine Spur.
25.11.2021, 22:18:28 | Received Payload | {"_type":"waypoint","desc":"test","lat":49.3843051,"lon":19.6111118,"rad":100,"topic":"owntracks\/helmut\/G1\/waypoints","tst":1637875096}
Aso. Das heißt ich muss den Bereich erstmal verlassen, erst dann werden die Variablen angelegt. Richtig? Etwas schwierig derzeit im Lockdown in Österreich . Dann muss der Hund dafür herhalten
Ich hab dir meinen Debug mit den Rohdaten per PM geschickt.
Perfekt, jetzt ist es da. Vielen Dank. Ich bastle grad an einer Karte mit OpenStreetmap und der Berechnung der bbox. Anzeige als iFrame. Schaut bis jetzt ganz gut aus.