[Modul] OwnTracks - Anwesenheitserkennung und Live-Tracking

Mega. Eine OpenStreetMap-Integration in das OwnTracks Modul wäre ein Traum :slight_smile:

Danke. Wobei es mit etwas herumprobieren hat es dann relativ einfach funktioniert. Kann gerne das Skript reinstellen, wenn interesse besteht. Es sind allerdings ein paar zusätzliche Variablen notwendig.

1 „Gefällt mir“

coole Sache. Sieht sehr gut aus

V1.02 ist online
Gestern Abend hat sich leider noch ein Fehler in die IOS-Unterstützung geschlichen. Dieser ist jetzt korrigiert. Darüber hinaus habe ich den Programmcode etwas entschlackt.

Für alle, die unter Android den alternativen F-Droid-Store verwenden, wurde die Unterstützung von NextTracks ergänzt.

Hey danke für die Arbeit, hatte ich auch schon mit angefangen, leider aber keine zeit aufgrund anderer Module gehabt. Ich werd das gleich mal testen, da egigeozone bei mir immer Probleme macht.

Swen

Gerade im wahrsten Sinne des Wortes einen Feldversuch gemacht. Die Runde mit dem Hund wurde super aufgezeichnet.

2 „Gefällt mir“

Nach ein paar Tagen kann ich sagen, es funktioniert sehr gut. Allerdings möchte ich noch einmal zur SSID zurückkommen. Gerade wenn man das „ich bin zu Hause“ steuern möchte, wäre die SSID schon relevant. Die Positionserkennung ist manchmal ungenau oder kommt zeitverzögert. Mit der SSID könnte das Problem eventuell behoben werden. Man könnte es sogar in der Instanzenkonfiguration einbauen. Eine Art Liste mit SSIDS für z.b. zu Hause, Arbeit, Schwiegereltern… was auch immer. Nur so ein Gedanke.

Leider erfolgt keine Übertragung, wenn die App bei IOS 15.1 im Hintergrund ist.
https://owntracks.org/booklet/features/ios/
„No geo-coding is done automatically in the background to limit mobile data usage.“
auch wenn die Freigabe auf dem IPhone gegeben ist.
Darum ist das System für den täglichen Gebrauch mE. nur eingeschränkt einsetzbar.
Grüße aus dem Norden
Lutz

Da muss ich dich leider enttäuschen. Wenn eine Meldung reinkommt, dann sieht diese so aus:

29.11.2021, 18:22:39 |     Received Payload | {"cog":223,"batt":88,"lon":12.34567,"acc":18,"bs":1,"p":98.493,"BSSID":"12:34:56:78:9a:bc","SSID":"hauswlan","vel":1,"vac":7,"inregions":["zuhause"],"lat":53.456789,"topic":"owntracks\/userid\/device","conn":"w","tst":1638206557,"alt":188,"_type":"location","tid":"LT"}

d.h. es kommt mit der SSID gleichzeitig auch die inregions-Meldung mit rein. Gucke dir das Debug bitte mal an. Wenn du die SSID bekommst, die inregion-Meldung aber nicht, dann ist ggf. der Radius zu klein gewählt. Ich habe bei mir 100m gewählt. Bei diesem Radius habe ich noch kein WLAN-Empfang.

Diese kannst du alle als Orte mit Radius anlegen. Dann bekommst du zu jedem Ort eine Anzeige, ob du anwesend bist und/oder wie weit du dich gerade von welchem Ort entfernt hast.

Wenn trotzdem gewünscht, baue ich die SSID gerne zum nächsten Update mit ein.

Stimmt, da hast (leider) recht. Somit sinnbefreit.

Das ist so nicht richtig. Ich habe OwnTracks auf IOS 15.1 laufen und es funktioniert wunderbar. Du musst die App allerdings im Hintergrund laufen lassen und darfst sie nicht komplett schließen. Erst wenn du die App aus dem Hintergrund löscht, d.h. komplett beendest, dann kommen keine Daten mehr.
Grüße
Jürgen

Bei Problemen mit der Anwesenheitserkennung kannst du dein Telefon von IPS aus anpingen und bei erfolgreichem Ping auf anwesend schalten. Das habe ich mit Geofency so gemacht, da dieses sehr unzuverlässig den Status gemeldet hat. Seit ich OwnTracks nutze, brauche ich das Anpingen aber nicht mehr und habe es abgeschaltet.

Das ist richtig, aber ich habe die Angewohnheit, die Apps immer zu schließen. Es sollte ja auch nur ein Hinweis und keine Kritik an der Funktion sein.

Ähnliches habe ich bei einem Huawei bemerkt. Man muss die Akkuoptimierung deaktivieren und bei dem Huawei musste ich noch extra einstellen, dass die App weiterlaufen darf. Trotz deaktivierter Akkuoptimierung wurde sie beendet.

Ich finde das Modul aber schon sehr spannend. Die Aufzeichnungen speichere ich jetzt nicht mehr im Archiv, sondern in einer mySQL Datenbank. Aus dieser erzeuge ich eine GPX Datei, die als Basis für eine HTML Datei dient, die mir dann die Daten auf der Karte als Verlauf anzeigt :slight_smile:

kein Problem. Habe ich auch nicht als Kritik empfunden. Fand ich von Apple früher auch besser gelöst, zumal der Akkuverbrauch durch die App nur minimal ist.

Genau diese Anwendung hatte ich mit dem json-String der Position im Kopf. Ich dachte da allerdings an ein Speichern in IPS. Dann kann man sich mit einem einfachen Skript daraus die Tages-, Wochen- oder SonstWas-Route erzeugen.

So hab ich es in der ersten Version gemacht. Ich wollte allerdings in der Listansicht die vollständige Adresse (Standort) dabei haben. In deinem Modul hab ich gefunden, wie du das gemacht hast. Funtkionier auch. Aber bei 100 Datensätzen wird das sehr langsam. Das Skript ist teilweise bis zu einer Minute gelaufen, bis die Anzeige aktualisiert wurde.
In der SQL Tabelle Speichere ich diese Werte zusätzlich ab. Neben den Koordinaten. Somit dauert der Aufbau der HMTL Tabelle nur mehr einen Bruchteil der Zeit. Aber natürlich gehts auch mit dem Archiv.

1 „Gefällt mir“

Ich bin mir sicher du kennst das, aber damit kannst GPX Daten in OSM anzeigen
https://wiki.openstreetmap.org/wiki/DE:Openlayers_Track_example

nein, kannte ich bisher noch nicht. Da kann man was draus machen. Gucke ich mir mal in Ruhe an.

Ja, kann man. Die HTML wird in einer Variable gespeichert. „lat“ und „lot“ versehe ich mit %lat% und %lon%. Ebenso die URL mit %url%. Die Strings werden im Skritp mit den richtigen Werten versehen - lat und lon mit den ersten Werten aus dem Verlauf. Die GPX wird aus den Positionsdaten erzeigt. Der Aufbau ist relativ einfach. Beides (HTML und GPX) wird im im Webfront Verzeichnis (Root vom Webserver) gespeichert. Die HTML mit iframe in einer HTML-String Variable einbinden und anzeigen - fertig :slight_smile: .


Der Verlauf und die GPX werden immer dann erzeugt wenn was neues rein kommt. Ebenso, wenn das Datum geändert wird. Mit dem Schalter „Kartenanzeige“ wird wischen der aktuellen Position und dem Verlauf umgeschaltet. Die Werte der Kartendaten (aktuelle Position und Verlauf - beides String mit dem HTML Inhalt der Karte) wird je nach Auswahl in eine dritte Variable geschrieben. Nur diese eine dritte Variable wird im Webfront angezeigt.