Modul: 98_livetracking - Geokoordinaten von OwnTracks / Life360 / Swarm (4Sq)

Begonnen von Markus M., 22 Mai 2015, 02:01:46

Vorheriges Thema - Nächstes Thema

Wolle02

Zitat von: Markus M. am 07 November 2018, 22:00:11
Probier doch mal einen kompletten Request mit Daten, siehe hier
https://www.traccar.org/osmand/

Ich vermute du hast ein Verbindungsproblem. Android oder iOS? Ich konnte nur iOS testen, funktioniert bei mir problemlos.

Hmmmm, also ich habe jetzt mal folgenden Request in meinem Browser eingegeben:
https://xxxxxxxx/?id=123456&lat=48.48&lon=09.09&hdop=0.5&altitude=400

Im Browser erscheint nach Abfrage von User und Passwort wieder der leere Bildschrim mit dem Wort TIME.
Im FHEM-Logfile erscheint:
OsmAnd webcall request:
/osmand/?id=123456&lat=48.48&lon=09.09&hdop=0.5&altitude=400

Im livetrackingDevice erfolgt keine Änderung.

Im Androiden habe ich das noch nicht probiert, weil ich noch nicht verstanden habe, wie ich diesen Request im Traccar Client eingeben soll.
Oder meinst du ich soll den Request im Browser vom Androiden ausführen? Da passiert das gleiche wie oben.

Im TraccarClient habe ich als Serverurl eingetragen: https://user:pass@fhem-ip
Wenn ich dort den kompletten Request angeben, kommt wieder nur "Übertragungsfehler" und im FHEM-Logfile taucht nichts auf.
Kann es sein, dass der TraccarClient auf Android mit der Passwortübergabe nicht klarkommt?

AbeamStart

Hallo livetracking Profis,
vielen Dank nochmal an das Modul und die super Hilfe hier.
An sich macht meine Config genau das was ich möchte.
Jedoch habe ich noch Probleme meinen Dummy zu füllen.
Obwohl das Reading place mit "home" befüllt wird und zone_0 zwischen "active" und "inactive" wechselt, wird mein Dummy nicht gefüllt.
Ich habe hier auch nochmal versucht mit ROOMMATE zu arbeiten, wie hier beschrieben, aber da tut sich auch nichts am STATE.
Bitte nochmal um Hilfe von den Fachmännern.


.cfg:
define mqtt MQTT 127.0.0.1:1883
attr mqtt keep-alive 60
attr mqtt room 99.MQTT

Internals:
   CFGFN      ./mqqt.cfg
   DEF        127.0.0.1:1883
   DeviceName 127.0.0.1:1883
   FD         163
   NAME       mqtt
   NOTIFYDEV  global
   NR         1446
   NTFY_ORDER 50-mqtt
   PARTIAL   
   STATE      opened
   TYPE       MQTT
   buf       
   msgid      3
   ping_received 1
   timeout    60
   READINGS:
     2018-11-08 07:56:30   connection      active
     2018-11-07 22:19:58   state           opened
   messages:
Attributes:
   keep-alive 60
   room       99.MQTT

.cfg:
define owntracksabe MQTT_DEVICE
attr owntracksabe IODev mqtt
attr owntracksabe event-on-change-reading abe,event
attr owntracksabe publishSet_cmd owntracks/abe/abeandroid/cmd
attr owntracksabe publishSet_msg owntracks/abe/abeandroid/msg
attr owntracksabe qos at-least-once
attr owntracksabe room 99.MQTT
attr owntracksabe subscribeReading_abe owntracks/abe/abeandroid
attr owntracksabe subscribeReading_beacon owntracks/abe/abeandroid/beacon
attr owntracksabe subscribeReading_cmd owntracks/abe/abeandroid/cmd
attr owntracksabe subscribeReading_dump owntracks/abe/abeandroid/dump
attr owntracksabe subscribeReading_event owntracks/abe/abeandroid/event
attr owntracksabe subscribeReading_msg owntracks/abe/abeandroid/msg
attr owntracksabe subscribeReading_step owntracks/abe/abeandroid/step
attr owntracksabe subscribeReading_waypoints owntracks/abe/abeandroid/waypoints

Internals:
   CFGFN      ./mqqt.cfg
   IODev      mqtt
   NAME       owntracksabe
   NR         1450
   STATE      position
   TYPE       MQTT_DEVICE
   qos        *:1
   READINGS:
     2018-11-08 07:48:54   abe             {"_type":"location","tid":"aa","acc":10,"batt":97,"conn":"w","lat":50.0634605,"lon":8.8488499,"tst":1541659734}
     2018-11-07 09:04:53   cmd             {"_type":"cmd","action":"reportSteps"}
     2018-11-08 07:45:52   event           {"_type":"transition","tid":"aa","acc":3.698,"desc":"home","event":"enter","lat":50.0635596,"lon":8.8487578,"tst":1541659385,"wtst":1541421383,"t":"c"}
     2018-11-08 07:48:54   transmission-state incoming publish received
   message_ids:
   publishSets:
     cmd:
       topic      owntracks/abe/abeandroid/cmd
       values:
     msg:
       topic      owntracks/abe/abeandroid/msg
       values:
   sets:
     cmd       
     msg       
   subscribe:
     owntracks/abe/abeandroid
     owntracks/abe/abeandroid/beacon
     owntracks/abe/abeandroid/cmd
     owntracks/abe/abeandroid/dump
     owntracks/abe/abeandroid/event
     owntracks/abe/abeandroid/msg
     owntracks/abe/abeandroid/step
     owntracks/abe/abeandroid/waypoints
   subscribeExpr:
     ^owntracks\/abe\/abeandroid$
     ^owntracks\/abe\/abeandroid\/beacon$
     ^owntracks\/abe\/abeandroid\/cmd$
     ^owntracks\/abe\/abeandroid\/dump$
     ^owntracks\/abe\/abeandroid\/event$
     ^owntracks\/abe\/abeandroid\/msg$
     ^owntracks\/abe\/abeandroid\/step$
     ^owntracks\/abe\/abeandroid\/waypoints$
   subscribeQos:
     owntracks/abe/abeandroid 0
     owntracks/abe/abeandroid/beacon 0
     owntracks/abe/abeandroid/cmd 0
     owntracks/abe/abeandroid/dump 0
     owntracks/abe/abeandroid/event 0
     owntracks/abe/abeandroid/msg 0
     owntracks/abe/abeandroid/step 0
     owntracks/abe/abeandroid/waypoints 0
   subscribeReadings:
     owntracks/abe/abeandroid:
       cmd       
       name       abe
     owntracks/abe/abeandroid/beacon:
       cmd       
       name       beacon
     owntracks/abe/abeandroid/cmd:
       cmd       
       name       cmd
     owntracks/abe/abeandroid/dump:
       cmd       
       name       dump
     owntracks/abe/abeandroid/event:
       cmd       
       name       event
     owntracks/abe/abeandroid/msg:
       cmd       
       name       msg
     owntracks/abe/abeandroid/step:
       cmd       
       name       step
     owntracks/abe/abeandroid/waypoints:
       cmd       
       name       waypoints
Attributes:
   IODev      mqtt
   event-on-change-reading abe,event
   publishSet_cmd owntracks/abe/abeandroid/cmd
   publishSet_msg owntracks/abe/abeandroid/msg
   qos        at-least-once
   room       99.MQTT
   subscribeReading_abe owntracks/abe/abeandroid
   subscribeReading_beacon owntracks/abe/abeandroid/beacon
   subscribeReading_cmd owntracks/abe/abeandroid/cmd
   subscribeReading_dump owntracks/abe/abeandroid/dump
   subscribeReading_event owntracks/abe/abeandroid/event
   subscribeReading_msg owntracks/abe/abeandroid/msg
   subscribeReading_step owntracks/abe/abeandroid/step
   subscribeReading_waypoints owntracks/abe/abeandroid/waypoints

.cfg:
define abetracking livetracking
attr abetracking filterAccuracy 400
attr abetracking home 50.0635925,8.848769531250028
attr abetracking owntracksDevice owntracksabe
attr abetracking room 99.MQTT
attr abetracking roundAltitude 5
attr abetracking roundDistance 0.1
attr abetracking stateFormat location
attr abetracking userReadings maplink { my @loc = split(/,/, ReadingsVal("abetracking","location", "0,0"));; return "http://www.openstreetmap.org/?mlat=" . $loc[0] . "&mlon=" . $loc[1] . "&zoom=15&layers=M";; }

Internals:
   CFGFN      ./mqqt.cfg
   NAME       abetracking
   NOTIFYDEV  owntracksabe
   NR         1473
   NTFY_ORDER 999-abetracking
   STATE      50.0634605,8.8488499
   TYPE       livetracking
   READINGS:
     2018-11-08 07:48:54   accuracy        10
     2018-11-08 07:48:54   batteryPercent  97
     2018-11-08 07:48:54   batteryState    ok
     2018-11-08 07:48:54   connection      wifi
     2018-11-08 07:48:54   distance        0
     2018-11-08 07:48:54   id              aa
     2018-11-08 07:48:54   location        50.0634605,8.8488499
     2018-11-08 07:48:54   maplink         http://www.openstreetmap.org/?mlat=50.0634605&mlon=8.8488499&zoom=15&layers=M
     2018-11-08 07:43:05   place           home
     2018-11-08 07:43:05   zone_0          active
   helper:
     lastOwnTracks 1541659734
Attributes:
   filterAccuracy 400
   home       50.0635925,8.848769531250028
   owntracksDevice owntracksabe
   room       99.MQTT
   roundAltitude 5
   roundDistance 0.1
   stateFormat location
   userReadings maplink { my @loc = split(/,/, ReadingsVal("abetracking","location", "0,0")); return "http://www.openstreetmap.org/?mlat=" . $loc[0] . "&mlon=" . $loc[1] . "&zoom=15&layers=M"; }
   zonename_0 home

.cfg:
define FlorianzuHause dummy
attr FlorianzuHause room 99.MQTT

Internals:
   CFGFN      ./mqqt.cfg
   NAME       FlorianzuHause
   NR         1513
   STATE      ???
   TYPE       dummy
Attributes:
   room       99.MQTT 

.cfg:
define FlorianzuHausenotify notify abetracking:zone_0 set FlorianzuHause $EVENT
attr FlorianzuHausenotify room 99.MQTT

Internals:
   CFGFN      ./mqqt.cfg
   DEF        abetracking:zone_0 set FlorianzuHause $EVENT
   NAME       FlorianzuHausenotify
   NOTIFYDEV  abetracking
   NR         1511
   NTFY_ORDER 50-FlorianzuHausenotify
   REGEXP     abetracking:zone_0
   STATE      active
   TYPE       notify
   READINGS:
     2018-11-07 22:19:55   state           active
Attributes:
   room       99.MQTT
 
.cfg: 
define rr_Florian ROOMMATE rgr_Residents
attr rr_Florian room 99.MQTT
attr rr_Florian rr_geofenceUUIDs abetracking

Internals:
   CFGFN      ./mqqt.cfg
   CHANGED   
   DEF        rgr_Residents
   DURATIONTIMER 1541660943.31927
   NAME       rr_Florian
   NOTIFYDEV  global,
   NR         1521
   NTFY_ORDER 50-rr_Florian
   READY      1
   RESIDENTGROUPS rgr_Residents
   STATE      ???
   TYPE       ROOMMATE
   READINGS:
     2018-11-07 20:48:56   durTimerAbsence 00:00:00
     2018-11-07 20:48:56   durTimerAbsence_cr 0
     2018-11-07 20:48:56   durTimerPresence 00:00:00
     2018-11-07 20:48:56   durTimerPresence_cr 0
     2018-11-07 20:48:56   durTimerSleep   00:00:00
     2018-11-07 20:48:56   durTimerSleep_cr 0
   TIMER:
     rr_Florian_DurationTimer:
       HASH       rr_Florian
       MODIFIER   DurationTimer
       NAME       rr_Florian_DurationTimer
Attributes:
   room       99.MQTT
   rr_geofenceUUIDs abetracking


Könnte man eigtl. auch auf folgende Logeinträge reagieren?

2018.11.08 07:40:55 3: abetracking OwnTracks Zone Event: leave home
2018.11.08 07:45:52 3: abetracking OwnTracks Zone Event: enter home
FHEM auf Debian (VM)

Markus M.

Zitat von: Wolle02 am 08 November 2018, 04:45:38
Hmmmm, also ich habe jetzt mal folgenden Request in meinem Browser eingegeben:
https://xxxxxxxx/?id=123456&lat=48.48&lon=09.09&hdop=0.5&altitude=400

Im Browser erscheint nach Abfrage von User und Passwort wieder der leere Bildschrim mit dem Wort TIME.
Im FHEM-Logfile erscheint:
OsmAnd webcall request:
/osmand/?id=123456&lat=48.48&lon=09.09&hdop=0.5&altitude=400

Im livetrackingDevice erfolgt keine Änderung.

Im Androiden habe ich das noch nicht probiert, weil ich noch nicht verstanden habe, wie ich diesen Request im Traccar Client eingeben soll.

Du hast bei deinem Test den einzigen Muss- Parameter vergessen: timestamp (unixtime)

In den Client muss:
https://user:pass@fhem-ip/fhem/osmand
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Jamo

Hallo Markus,
ich habe deine Version aus Antwort #205 getestet, und dass passt prima mit dem adress reading. Damit kann ich mir beim Parken die Adresse merken. Kannst Du so ins SVN einchecken!

Ein grosses Danke vielmals!
Beste Grüsse
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

binford6000

Ich habe gerade auch nochmal testet:
Bei get livetracking address short und addressLanguage de kommt die englische Adresse  :o

@inoma: Kannst du das bestätigen?

VG Sebastian

binford6000

Und bei get livetracking address long und addressLanguage en kommt die deutsche Adresse...

VG Sebastian


Jamo

-> Bei get livetracking address short und addressLanguage de kommt die englische Adresse

Das ist bei mir in Ordnung, hast Du nach dem ändern des attributes 'save config' gemacht?
Manchmal kommt auch ein mix, zum Beispiel bei language en kommt bei mir "München", "Bavaria"....
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Markus M.

Da ist eigentlich nichts was schief gehen kann.
Die entsprechende Sprache muss natürlich auch gepflegt sein.
Wenn nicht: einfach selbst bei OSM hinzufügen :)
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Jamo

Genau! Danke! Super Modul, und 1a support und responsetimes :-)
Allerbeste Grüsse!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Wolle02

Zitat von: Markus M. am 08 November 2018, 12:44:28
Du hast bei deinem Test den einzigen Muss- Parameter vergessen: timestamp (unixtime)

Ahja, Wäre natürlich hilfreich, wenn die das auch dazugeschrieben hätten  ::)
Wenn ich den Timestamp hinzufüge funktioniert es im Browser tatsächlich. Es kommt jetzt eine leere Seite auf der oben links "OK" steht.
Im FHem-Log erscheint folgendes :
OsmAnd webcall request:
/osmand/?id=123456&lat=48.9&lon=9.48×tamp=1541698650&hdop=0.5&altitude=400
2018.11.08 18:44:11 4: Livetracking_Wolle OsmAnd Server: 2018-11-08 18:37:30


Im Livetracking-Device wird jetzt auch aktualisiert. Das passt also.

Nur leider funktioniert es im Androiden immer noch nicht. Ich trage dort bei Server-Url genau das gleiche ein wie im Browser, aber sobald ich den Service starte erscheint im Log nur "Übertragung fehlerhaft" und bei FHEM kommt nichts an. Leider wirft der TraccarClient keine wirklich aussagekräftigen Fehlermeldungen aus.  :(

Jamo

Hallo Markus,
magst Du noch folgenden Patch mit aufnehmen?
In Zeile 272 ist das letzte "!defined" doppelt, und man muss 'neighbourhood' noch mit aufnehmen, dann klappts auch mit den Plätzen in Deutschland, probier mal:
get livetracking address 48.1632385253906,11.5870170673723
Hier die Zeile, die Du als letztes einfügen müsstest:

diff 98_livetracking.pm 98_livetracking.pm.orig

272c272
<          $addr .= $json->{address}->{bridleway}." " if(defined($json->{address}->{bridleway}) && !defined($json->{address}->{road}) && !defined($json->{address}->{path}));
---
>          $addr .= $json->{address}->{bridleway}." " if(defined($json->{address}->{bridleway}) && !defined($json->{address}->{road}) && !defined($json->{address}->{path}) && !defined($json->{address}->{path}));
274d273
<          $addr .= $json->{address}->{neighbourhood}." " if(defined($json->{address}->{neighbourhood}) && !defined($json->{address}->{road}) && !defined($json->{address}->{path}) && !defined($json->{address}->{bridleway})&& !defined($json->{address}->{footway}));


Danke
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Markus M.

Zitat von: Wolle02 am 08 November 2018, 18:52:40
Nur leider funktioniert es im Androiden immer noch nicht. Ich trage dort bei Server-Url genau das gleiche ein wie im Browser, aber sobald ich den Service starte erscheint im Log nur "Übertragung fehlerhaft" und bei FHEM kommt nichts an. Leider wirft der TraccarClient keine wirklich aussagekräftigen Fehlermeldungen aus.  :(
Ohne Parameter? Mit/ohne "/" am Ende?
Leider keine Ahnung...
Ich empfehle OwnTracks, das funktioniert deutlich besser und bietet mehr Funktionen.

Zitat von: inoma am 08 November 2018, 23:15:15
In Zeile 272 ist das letzte "!defined" doppelt, und man muss 'neighbourhood' noch mit aufnehmen, dann klappts auch mit den Plätzen in Deutschland,
Du wohnst ernsthaft wo, wo es keine Straßen oder Trampelpfade sondern nur "Neighborhood" gibt?  :o
Probier mal den Anhang.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Jamo

Wenn Du noch die folgende kleine Änderung machst, dann passts :-)
Ist ein copy / paste Fehler, den hatte ich beim ersten mal auch gemacht .
Danke!

diff  98_livetracking.pm 98_livetracking.pm.markus
274c274
<          $addr .= $json->{address}->{neighbourhood}." " if(defined($json->{address}->{neighbourhood}) && !defined($json->{address}->{road}) && !defined($json->{address}->{path}) && !defined($json->{address}->{bridleway}) && !defined($json->{address}->{footway}));
---
>          $addr .= $json->{address}->{neighbourhood}." " if(defined($json->{address}->{footway}) && !defined($json->{address}->{road}) && !defined($json->{address}->{path}) && !defined($json->{address}->{bridleway}) && !defined($json->{address}->{footway}));


Und ja, in München gibts noch nicht mal Strassenbeleuchtung!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Firetic

Guten Morgen  :)

Ich habe mal interessehalber versucht den TraccarClient auf einem Android Gerät in Betrieb zu nehmen. Leider kann ich hier das Verhalten von Wolle02 "1 zu 1" bestätigen...


binford6000

ZitatUnd ja, in München gibts noch nicht mal Strassenbeleuchtung!
Mann da bin ich ja echt froh, dass ich auf'm Land wohne mit LED-Straßenlaternen...  ;D