NEWS
Mit Traccar eine geofence Alternative für Iphone und Android
Mit Traccar eine geofence Alternative für Iphone und Android
-
An dieser Stelle würde ich Euch gern unser Projekt Traccar2Iobroker vorstellen. Infos zu Traccar:
http://traccar.org/
Gordon und ich haben mal begonnen zu versuchen eine Verbindung von Traccar zu Iobroker zu „basteln“. Gordon (Headhunter70) hatte am 22.8.2019 einen Adapter angefragt:
https://github.com/ioBroker/AdapterRequests/issues/243
und das Projekt „Einen Adapter bauen ist nicht schwer“
https://forum.iobroker.net/topic/32265/das-project-einen-adapter-bauen-ist-nicht-schwer
verzögert sich wohl noch. So haben wir uns mal mit Blockly dran versucht mit dem Ziel etwas „Adapter ähnliches“ zu bauen:
Zuallererst: Vielen Dank an paul53, Issi, Dutchman und alle anderen, die uns beim Stocken geduldig weiter geholfen haben. Ohne diese Hilfe hätten wir nichts geschafft! Danke auch an Raik, Ben und alle anderen, die getestet haben.
Was kann es und was macht es:
Traccar2Iobroker versteht sich als eine Geofence/IFTTT/Tado usw. Alternative und kann unter anderem zur Anwesenheitserkennung genutzt werden. Anders als die Geofence App, die es nur für IOS gibt, ist für Traccar eine App für IOS und Android (auch als Hidden Version) verfügbar. Erwähnenswert ist wohl auch, dass es keinerlei Beschränkungen gibt bei der Anzahl der ein zurichteten Geo-Zäune, sowie der Anzahl der Geräte/User gibt. Zum Traccen eignen sich sowohl Handys, wie auch (fast jeder) GPS-Traccer. So kann alles getracct werden, egal ob Mensch, Tier, oder Fahrzeuge aller Art. Für jeden Benutzer/Tracker werden in Iobroker folgende DP angelegt und aktualisiert:

Zusätzlich gibt es noch 2 (Bonus-) Verzeichnisse für extra DP für Anwesenheit Zuhause und auf der Arbeit:

Um z.B. Live Work Balance zu visualisieren

Das ganze läuft ohne Cloud, self Hosted und als Open Source kostenfrei.Das Betreten und Verlassen der in Traccar eingerichteten Geofences, sowie deren Namen werden in Iobroker übernommen und auf Wunsch per Telegram gemeldet. Auch kann per Telegram die Standortdaten von jedem Gerät als Google Maps link angefordert werden.
In wenigen Schritten zur Installation:
-
Traccar Server installieren laut Anleitung von:
https://www.traccar.org/download/
Hier mal In Stichworten eine der vielen Möglichkeiten zur Installation zu kommen:
Download von traccar.run, Erstellen eines unprivilegierten LXC Containers mit 1 Core, 2GB RAM, 5GB HDD und Ubuntu 18.04 Template. Verzeichnis kreieren und dort traccar.run rein kopieren, ausführbar machen, installieren (sudo ./traccar.run) und starten (sudo systemctl start traccar). Traccar ist dann unter seiner IP und Port 8082 aufrufbar(admin/admin). AmBesten gleich einen neuen User mit Adminrechten anlegen, im folgendem als Beispiel Benutzer iobroker mit dem Passwort iobroker

Voraussetzung für die Funktion sind die korrekten Zeiteinstellungen: UTC im Traccar Server, sowie MEZ (=UTC+1), bzw. MESZ (Sommerzeit, CEST =UTC+2) in Iobroker, am besten über NTP. -
Portfreigabe für den Port 5055 incl. Weiterleitung in den LXC Containers im Router einrichten, hier am Beispiel einer fritzbox:
In der Fritzbox Portfreigabe einrichten für Port 5055
Internet, Freigaben, Gerät für Freigabe hinzufügen, Gerät (traccar) auswählen,
Neue Freigabe, Port Freigabe auswählen, Http Server, Port 5055
Myfritz, oder anderer Dyn-DNS Dienst muss eingerichtet sein.

-
Handy App installieren und einrichten:

Bei IOS Geräten unter Einstellungen, Datenschutz die Nutzung von Standortdaten für Traccar erlauben „Immer“. Bei Andoid Geräten ist dies auch einzustellen, außerdem sind Einstellungen vorzunehmen in den Akku-Optimierungen. („Energiesparmodus” „Alle Apps“ aus. Traccar „Nicht optimieren“.) -
Gerät in Traccar mit den gleichen Einstellungen wie im Handy einrichten:

-
In Traccar Geofences erstellen und für die einzelnen Geräte aktivieren:
(Werden keine Fences angezeigt, oben aufs Männchen mit dem Kreis klicken)


-
GeoFences für die einzelnen Geräte aktivieren:
Geräte, Einstellungen, Geo Zäune, anhaken

-
Blockly_States_erzeugen.txt importieren, Ganz oben den Namen/Fahrzeug eintragen, und dem die DP erzeugt werden sollen. Blockly speichern und starten und nach kurzer Zeit wieder stoppen. Sollen für mehrere Namen DP erzeugt werden, einfach wiederholen. Da die Erzeugung der States nur einmal benötigt wird, kann das Blockly nach dem Erstellen ausgeschaltet bleiben. Ein nachträgliches Erzeugen überschreibt keine Einstellungen.
Traccar2Iobroker_Blockly_States_erzeugen.txt -
Unter 0_userdata.0.traccar.System_Konfiguration gibt es DP die eingestellt werden müssen: IP_Adresse:Port des Traccar Servers, Benutzer:Passwort des angelegten Benutzers in Traccar, sowie die Sommerzeit auf true setzten, falls gerade Sommerzeit ist. Diese Einstellung braucht man nur einmal vornehmen, regelt sich später selber. Die unter System_Konfiguration gemachten Einstellungen gelten für alle Benutzer

Traccar2Iobroker Blockly Import Benutzer.txt -
Blockly_Benutzer.txt unter dem Blockly Namen des Benutzers (z.B. Traccar Peter) importieren. Ganz oben im Blockly den Namen eintragen, speichern und starten. Der Name sollte identisch sein, wie in Traccar eingegeben. Dies für jeden Benutzer wiederholen. Nun kann man unter 0_userdata.0.traccar.Name.Konfiguration Einstellungen vornehmen: Die hier gemachten Einstellungen betreffen nur den jeweiligen Benutzers. Das Blockly sollte die richtige Device_ID Nummer vom Traccar ausgelesen und eingetragen haben.
GPS Aktualisierungs Frequenz ist die im Handy eingestellte Aktualisierungszeit. Da es durch die Laufzeit zu Verzögerungen kommen kann, sollte diese Zeit solange angehoben werden, bis keine Fehler im LOG mehr auftreten. Dieser Aufschlag ist Anhängig vom Handy Modell und Mobilfunk Provider. Typische Werte sind 70 (Iphone) – 100 (manche Android Handys mit O2). GeoFence_Info_bekommen =true Beim Eintritt/Verlassen wird Telegram verschickt, bei =false nicht. Beim DP GeoFence_Info_Empaenger kann festgelegt werden, wer diese Meldungen bekommt. Leer=alle sonst Name eintragen, mehrere Namen mit Komma trennen (Peter,Paul,Mary). Genauso kann bei Info_Abruf_Empfänger eingetragen werden, wer bei Abruf die Meldung bekommen soll. Abgerufen wird die Info, wenn der DP Info_Abruf_Ausloesen aktualisiert wird (z.B. über Text2Command) Es kann vorteilhaft sein, sich kreuzweise einzutragen: In den DP von Mary wird Peter als Empfänger eingetragen, bei Peter wird Mary eingetragen, so bekommt Peter den Standort von Mary angezeigt und Mary kann den Standort von Peter abfragen. IN ID_Arbeit und ID_Zuhause kann man sich die jeweiligen Id´s eintragen und es werden zusätzliche States entry (true bei Anwesenheit, false bei Abwesenheit) sowie letzte Zeit des Betretens/Verlassens.

Nun sollten sich die Datenpunkte in Iobroker automatisch aktualisieren.
Viel Spaß beim Ausprobieren.
@j_paul
Hallo. Mit dem neuen Traccar Server 5.2 dürft es ein Problem mit iobroker geben, da der Adapter nicht mehr richtig startet.
Laut traccar-Entwickler dürfte das am iobroker liegen.Der Fehler im Log-File:
traccar.0 2022-07-20 08:15:45.170 info Connect to server over websocket connection. traccar.0 2022-07-20 08:15:45.162 error device.geofenceIds is not iterable traccar.0 2022-07-20 08:15:45.162 error TypeError: device.geofenceIds is not iterable at Traccar.getGeofencesState (/opt/iobroker/node_modules/iobroker.traccar/main.js:273:41) at Traccar.processData (/opt/iobroker/node_modules/iobroker.traccar/main.js:195:47) at Traccar.getTraccarDataOverAPI (/opt/iobroker/node_modules/iobroker.traccar/main.js:268:14) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async Traccar.onReady (/opt/iobroker/node_modules/iobroker.traccar/main.js:61:13) traccar.0 2022-07-20 08:15:45.161 error unhandled promise rejection: device.geofenceIds is not iterable traccar.0 2022-07-20 08:15:45.160 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). traccar.0 2022-07-20 08:15:45.027 info starting. Version 0.0.11 (non-npm: o0shojo0o/ioBroker.traccar) in /opt/iobroker/node_modules/iobroker.traccar, node: v16.15.1, js-controller: 4.0.23Hier noch der Link zum traccar-Forums beitrag: https://www.traccar.org/forums/topic/iobroker-v51-geofence/#post-73205
-
-
@j_paul
Hallo. Mit dem neuen Traccar Server 5.2 dürft es ein Problem mit iobroker geben, da der Adapter nicht mehr richtig startet.
Laut traccar-Entwickler dürfte das am iobroker liegen.Der Fehler im Log-File:
traccar.0 2022-07-20 08:15:45.170 info Connect to server over websocket connection. traccar.0 2022-07-20 08:15:45.162 error device.geofenceIds is not iterable traccar.0 2022-07-20 08:15:45.162 error TypeError: device.geofenceIds is not iterable at Traccar.getGeofencesState (/opt/iobroker/node_modules/iobroker.traccar/main.js:273:41) at Traccar.processData (/opt/iobroker/node_modules/iobroker.traccar/main.js:195:47) at Traccar.getTraccarDataOverAPI (/opt/iobroker/node_modules/iobroker.traccar/main.js:268:14) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async Traccar.onReady (/opt/iobroker/node_modules/iobroker.traccar/main.js:61:13) traccar.0 2022-07-20 08:15:45.161 error unhandled promise rejection: device.geofenceIds is not iterable traccar.0 2022-07-20 08:15:45.160 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). traccar.0 2022-07-20 08:15:45.027 info starting. Version 0.0.11 (non-npm: o0shojo0o/ioBroker.traccar) in /opt/iobroker/node_modules/iobroker.traccar, node: v16.15.1, js-controller: 4.0.23Hier noch der Link zum traccar-Forums beitrag: https://www.traccar.org/forums/topic/iobroker-v51-geofence/#post-73205
-
@manfredh-1 Den Eintrag im Traccar Forum hatte ich gelesen, kann dazu aber nichts sagen, da ich eigene Logik und nicht den Adapter nutze.
@j_paul ist das projekt, so wie auf Seite 1 beschrieben, noch aktuell/lauffähig?
-
@j_paul ist das projekt, so wie auf Seite 1 beschrieben, noch aktuell/lauffähig?
@frana120500 Traccar funktioniert noch einwandfrei, Als Verbindung zu IOBroker gibt es mittlerweile einen Adapter: https://github.com/o0shojo0o/ioBroker.traccar
-
@frana120500 Traccar funktioniert noch einwandfrei, Als Verbindung zu IOBroker gibt es mittlerweile einen Adapter: https://github.com/o0shojo0o/ioBroker.traccar
@lindi200000 ah ok, vielen Dank.
Werde ich nachher mal aufsetzen und schauen, was der Adapter liefert und ob mann ggfls. das Script von Seite 1 weiterbenutzen kann.
-
Hey Leute, hat hier jemand ein Funktionierendes Script? Meine Scripte funktionieren nicht mehr ab Traccar 4.15
Das Script aus dem ersten Post erkennt seitdem Update nicht mehr die Objektnamen beim verlassen, wenn ich die api abrufe erhalte ich den Wert unter GEOFENCEIDS = NULL, früher habe ich eine 0 erhalten und damit konnte das Script arbeiten :{"id":106,"attributes":{"decoder.timezone":"Berlin"},"groupId":0,"name":"FH2008","uniqueId":"XXXXXX","status":"online","lastUpdate":"2022-10-12T15:21:49.367+00:00","positionId":1XX60XX,"geofenceIds":null,"phone":"","model":"","contact":"","category":"van","disabled":false,"expirationTime":null}Es hat sich in der Api wohl was geändert, ein anderes Script erkennt zwar die Geofences, allerdings nicht das Verlassen, der aktuellen Zone.
Fahre ich von Zuhause zur Tankstelle, berichtet er mir bei Ankunft der Tankstelle (neue GEOFENCE) das ich Zuhause verlassen habe, zeitgleich mit ankunft an der Tankstelle. Dann aktualisiert er auch die Richtige GEOFENCE ID wie hier Tankstelle ID 37
{"id":106,"attributes":{"decoder.timezone":"Berlin"},"groupId":0,"name":"FH2008","uniqueId":"","status":"online","lastUpdate":"2022-10-12T16:54:21.997+00:00","positionId":abcde0,"geofenceIds[37],"phone":"","model":"","contact":"","category":"van","disabled":false,"expirationTime":null}Vielleicht kann hier jemand eine Funktionierende Lösung bereitstellen?
-
Hey Leute, hat hier jemand ein Funktionierendes Script? Meine Scripte funktionieren nicht mehr ab Traccar 4.15
Das Script aus dem ersten Post erkennt seitdem Update nicht mehr die Objektnamen beim verlassen, wenn ich die api abrufe erhalte ich den Wert unter GEOFENCEIDS = NULL, früher habe ich eine 0 erhalten und damit konnte das Script arbeiten :{"id":106,"attributes":{"decoder.timezone":"Berlin"},"groupId":0,"name":"FH2008","uniqueId":"XXXXXX","status":"online","lastUpdate":"2022-10-12T15:21:49.367+00:00","positionId":1XX60XX,"geofenceIds":null,"phone":"","model":"","contact":"","category":"van","disabled":false,"expirationTime":null}Es hat sich in der Api wohl was geändert, ein anderes Script erkennt zwar die Geofences, allerdings nicht das Verlassen, der aktuellen Zone.
Fahre ich von Zuhause zur Tankstelle, berichtet er mir bei Ankunft der Tankstelle (neue GEOFENCE) das ich Zuhause verlassen habe, zeitgleich mit ankunft an der Tankstelle. Dann aktualisiert er auch die Richtige GEOFENCE ID wie hier Tankstelle ID 37
{"id":106,"attributes":{"decoder.timezone":"Berlin"},"groupId":0,"name":"FH2008","uniqueId":"","status":"online","lastUpdate":"2022-10-12T16:54:21.997+00:00","positionId":abcde0,"geofenceIds[37],"phone":"","model":"","contact":"","category":"van","disabled":false,"expirationTime":null}Vielleicht kann hier jemand eine Funktionierende Lösung bereitstellen?
@hoffmannos @frana120500
Da gibt es was neues (getestet bis Traccar 5.4 vom 2.10.22), ich schreibe Euch mal an. Das einzige was da noch gestört hatte, dass die Devices beim Proxmox LXC Backup die Geofences verlassen haben, das habe ich mal so gelöst und müsste noch eingefügt werden, falls euch das betrifft:

Das Script braucht den Adapter NICHT und gibt beim Verlassen des geofences die Zeit an, wie lange man dort war. Für Eintragung Adresse (Strasse/Hausnummer) und 3Words muss ein kostenfreier API Key geholt/eingetragen werden. -
@hoffmannos @frana120500
Da gibt es was neues (getestet bis Traccar 5.4 vom 2.10.22), ich schreibe Euch mal an. Das einzige was da noch gestört hatte, dass die Devices beim Proxmox LXC Backup die Geofences verlassen haben, das habe ich mal so gelöst und müsste noch eingefügt werden, falls euch das betrifft:

Das Script braucht den Adapter NICHT und gibt beim Verlassen des geofences die Zeit an, wie lange man dort war. Für Eintragung Adresse (Strasse/Hausnummer) und 3Words muss ein kostenfreier API Key geholt/eingetragen werden.@j_paul hi, kannst du mir es auch mal schicken? Hab Aktuell die Version 1. Post am laufen klappt auch soweit.
Edit: Läuft doch gar nicht gut der 2. user hat immer fehler usw. Geofences kann man total vergessen ..
script.js.ANWESENHEIT.traccar_HandyTanja: Cannot parse "For input string: "NaN" - Numb"SyntaxError: Unexpected token F in JSON at position 0 -
@j_paul hi, kannst du mir es auch mal schicken? Hab Aktuell die Version 1. Post am laufen klappt auch soweit.
Edit: Läuft doch gar nicht gut der 2. user hat immer fehler usw. Geofences kann man total vergessen ..
script.js.ANWESENHEIT.traccar_HandyTanja: Cannot parse "For input string: "NaN" - Numb"SyntaxError: Unexpected token F in JSON at position 0 -
@j_paul sagte in Mit Traccar eine geofence Alternative für Iphone und Android:
schick ich dir
mir auch bitte

-
habt ihr nach dem import de blocklys auch solche variablen ?

UND:
wo gibt es den das neue blockly - ohne fehler ? @J_Paul ?
-
habt ihr nach dem import de blocklys auch solche variablen ?

UND:
wo gibt es den das neue blockly - ohne fehler ? @J_Paul ?
@liv-in-sky @Negalein
Es gibt ja den Adapter:
https://github.com/o0shojo0o/ioBroker.traccar -
@liv-in-sky @Negalein
Es gibt ja den Adapter:
https://github.com/o0shojo0o/ioBroker.traccaroh - mann - ok ist installiert - danke dir
hast du evtl eine idee, warum die anzeige soweit auseinder liegt, obwohl beide handys neben mir liegen ?

-
oh - mann - ok ist installiert - danke dir
hast du evtl eine idee, warum die anzeige soweit auseinder liegt, obwohl beide handys neben mir liegen ?

@liv-in-sky
Um hierfür Lösungsansätze für den Adapter zu geben (auch wenn ich den nicht nutze), hatte ich ein Github Issue erstellt, dies wurde aber unbeachtet geschlossen. -
@liv-in-sky
Um hierfür Lösungsansätze für den Adapter zu geben (auch wenn ich den nicht nutze), hatte ich ein Github Issue erstellt, dies wurde aber unbeachtet geschlossen.@j_paul das Bild von @liv-in-sky ist doch vom Traccar Server. Da hilft dein Lösungsansatz auch nichts wenn das Device keine aktuellen Standort zum Traccar Server gesendet hat. Das Device bzw. die Traccar App hat keinen aktuellen Standort, kann halt am Device selbst liegen.
-
@j_paul das Bild von @liv-in-sky ist doch vom Traccar Server. Da hilft dein Lösungsansatz auch nichts wenn das Device keine aktuellen Standort zum Traccar Server gesendet hat. Das Device bzw. die Traccar App hat keinen aktuellen Standort, kann halt am Device selbst liegen.
@el_malto habe alles neu aufgesetzt - jetzt sind beide handys im zuhause bereich
funktioniert auch sehr gut bis jetzt - wenn ich im zuhause bereich ankomme, werden ein paar sachen eingeschalten

-
@chrisxy welcher Link ???
https://github.com/o0shojo0o/ioBroker.traccarder ist da warum sollte der offline sein
