Live-Tracking mit Traccar, wer kann helfen ?

Begonnen von Ma_Bo, 21 Juli 2015, 15:46:31

Vorheriges Thema - Nächstes Thema

Ma_Bo

Hallo Leute,

ich suche und probiere schon länger gewisse Live-Tracking Portale und eigene Server Lösungen.

Meine Idee ist : auf einem Android Handy läuft eine App, welche mir in gewissen Intervalen die Koordinaten, Geschwindigkeit, Akkustand usw. schickt.
Ich habe jetzt mehrere Dinge ausprobiert, unter anderem Life360, Owntracks, usw. doch am besten gefällt mir TRACCAR, man kann kinderleicht einen eigenen Server installieren und schon kann es losgehen.

Für Life360 usw. gibt es schon ein Modul, welches hier vorgestellt wird : http://forum.fhem.de/index.php/topic,37412.0.html

Traccar : https://www.traccar.org

geändertes WebUi für Traccar : http://traccar.litvak.su/features/

Das ganze läuft bei mir zusammen mit fhem auf einem System.

Die Live Ansicht der Karte habe ich per weblink iframe eingebunden. Es gibt eine Desktop und eine mobile Seite, wobei ich die mobile gewählt habe, da mir dort die ganze Karte angezeigt wird, ohne irgendwelche Steuerelemente, bzw. nur geringe Steuerelemente.

Jetzt zu meinem eigentlichen Problem, ich möchte die Daten, welche mir Traccar zur Verfügung stellt, in einem Device/Dummy als Reading angezeigt bekommen, leider habe ich 0 Ahnung davon wie ich das anstellen kann.

Bei Traccar gibt es die Möglichkeit eine Seite per Browser aufzurufen, in der die letzten übermittelten Daten stehen.
Hat jemand Interesse an soch einem Tracking Server und Lust ein Modul zu schreiben oder kann mir jemand sagen, wie ich evtl. schon mit jetzt fertigen Modulen alle Readings bekomme ?

Gruß Marcel
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

AnonymousHolger

Hallo Marcel,
finde ich sehr interessant deine Versuche mit dem API!
Hast du noch mehr gemacht in der Zwischenzeit ?
Ich bin gerade mal wieder am Neuaufsatz diesmal mit Traccar 3.10 auf Raspi 3 und würde gerne auch die Traccar API verwenden.

Noch bin ich nicht sicher wie sich das sinnvoll verwenden lässt, wäre aber schon richtig klasse :-) .... wenn ich meiner Frau nur noch übermittle, dass ich mit dem Fahrrad einen Plattfuss habe und sie dann direkt schauen kann wo ich bin (und mich ggf dann auch noch abholen kommt :-) ....

Gruss

Holger

Ma_Bo

Hey Holger, ich habe "damals" als ich die Frage hier gestellt habe, einfach weiter probiert und folgendes gemacht.
Traccar schreibt ja alle Daten in eine Datenbank, ich greife über ein PHP Script, welches ich durch FHEM alle 30 Sekunden aufrufen lasse, auf diese Datenbank zu und lese den letzten Eintrag aus, mit dem PHP Script lasse ich mir dann einen Dummy in fhem beschreiben, so dass ich alle Daten, die ich brauche, als Readings in dem dummy stehen.

Vor einer Woche habe ich mit httpmod getestet und auch einen Teilerfolg erzielt, so dass der große Umweg über PHP usw. unnötig ist.
Leider konnte ich da nicht mehr weiter machen, da andere Projekte z.Z. Vorrang haben.

Hier der Link zum Beitrag mit httpmod:

https://forum.fhem.de/index.php/topic,69763.msg613477.html#msg613477


Gesendet von iPhone mit Tapatalk
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

mistake

#3
Ein zwar (hier) uraltes Thema, aber da ich mich bis soeben selber damit beschäftigt und dabei Erfolg gehabt habe, möchte ich meinen Teil dazu beitragen. Vielleicht hilft es ja jemandem.

Probleme hatte ich persönlich damit, die traccar-API mit einem korrekt eingestellten HTTPMOD aufzurufen. Aber mit den richtigen Headern klappt das dann hervorragend und man erhält ein wunderbares JSON-Ergebnis zur weiteren Verarbeitung. Mein traccar-Server läuft auf dem gleichen RPi wie FHEM, daher kann ich die API mit http://localhost:8082 ansprechen.

Mit define traccar http://localhost:8082/api/positions?deviceId=XX 60
attr traccar extractAllJSON 1
attr traccar requestHeader1 Accept: application/json
attr traccar requestHeader2 Authorization: Basic LOGIN_ALS_HEADER

läuft die Geschichte dann schon direkt bei mir.

Die deviceId erhält man im Browser mit Aufruf von http://IP_von_traccar:8082/api/devices
Der LOGIN_ALS_HEADER ist einfach login:passwort Base64-encoded.

Dersch

Ich beiße mir grade die Zähne daran aus.

Mein Traccar läuft im Docker und pushed via http an mein NodeRED. Dort gebe ich das an MQTT2 weiter.

Leider habe ich weder Ahnung von NodeRed noch davon mit JSON zu arbeiten. Ich bekomme aber mit dem MQTT2 Device wunderschöne Readings aufgesplittet durch das automatische zerhacken des JSON.

Mein Problem ist nur, dass ich es nicht hinbekomme im NodeRed anhand der ID im String unterschiedliche MQTT Topics zu kreieren. Das hat den Effekt, dass im FHEM die Readings halt immer überschrieben werden. Dadurch habe ich nur ein Device und nicht wie gewünscht mehrere anhand der ID's.

Otto123

Hi,

vielleicht hilft dies zur Einarbeitung und Verarbeitung in MQTT2.
https://forum.fhem.de/index.php?topic=116480.0
Möglicherweise bist Du mit Topics in Nodered ja auf der falschen Fährte.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Dersch

Ich fände es schon cool selbst so fit zu sein eigene MQTT2 Templates zu erstellen. Hab da einiges auf der Liste was es noch nicht gibt :)

Otto123

Naja Template steht dann ganz hinten dran. Aber es geht ja erstmal darum überhaupt etwas zum laufen zu bekommen. Genau das habe ich ja versucht zu beschreiben. Letztlich wird ja das Prinzip ähnlich sein, egal ob es um owntracks oder traccar geht.
Du kannst ja sagen ich komme nicht weiter, dann kann hier jemand mitdenken :)

Ich denke ja Dein Ansatz für die Vorgehensweise war falsch. Deswegen:
Du hast ein automatisch erzeugtest MQTT2 Device. In das rutschen alle Deine "IDs" ?
Dann gilt es ein Bridge Device zu erzeugen, mit dessen Hilfe die finalen Devices erzeugt werden, die man weiter konfiguriert.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Wolle02

Zitat von: mistake am 03 März 2021, 11:36:13
Ein zwar (hier) uraltes Thema, aber da ich mich bis soeben selber damit beschäftigt und dabei Erfolg gehabt habe, möchte ich meinen Teil dazu beitragen. Vielleicht hilft es ja jemandem.

Probleme hatte ich persönlich damit, die traccar-API mit einem korrekt eingestellten HTTPMOD aufzurufen. Aber mit den richtigen Headern klappt das dann hervorragend und man erhält ein wunderbares JSON-Ergebnis zur weiteren Verarbeitung. Mein traccar-Server läuft auf dem gleichen RPi wie FHEM, daher kann ich die API mit http://localhost:8082 ansprechen.

Mit define traccar http://localhost:8082/api/positions?deviceId=XX 60
attr traccar extractAllJSON 1
attr traccar requestHeader1 Accept: application/json
attr traccar requestHeader2 Authorization: Basic LOGIN_ALS_HEADER

läuft die Geschichte dann schon direkt bei mir.

Die deviceId erhält man im Browser mit Aufruf von http://IP_von_traccar:8082/api/devices
Der LOGIN_ALS_HEADER ist einfach login:passwort Base64-encoded.

Ich habe das jetzt auch mal ausprobiert, um ggf. von meiner separaten Datenbankabfrage wegzukommen. Leider passiert im Device rein gar nichts und im Logfile steht folgendes:

2021.05.07 13:07:41 3: mytraccar: error while parsing JSON data: malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "Index 1 out of bound...") at lib/FHEM/HTTPMOD/Utils.pm line 668.

2021.05.07 13:07:41 3: mytraccar: no parsed JSON structure available


Wenn ich die URL aber manuell im Browser aufrufe erhalte ich ein schönes Abfrageergebnis. Was läuft denn hier schief?