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

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

Vorheriges Thema - Nächstes Thema

carlos

Hallo,
So jetzt habe ich den osmand server mal mit der Android owntracks app per http probiert, führt zu folgendem Fehler:


2018.11.21 17:07:11 4: Connection accepted from WEBS_155.56.40.47_57584                                                                                                   
2018.11.21 17:07:11 4: WEBS_155.56.40.47_57584 POST /fhem/osmand/&{"_type":"location","tid":"XX","acc":16,"batt":57,"conn":"w","lat":12.3456789,"lon":1.2345678,"t":"u","tst":1542816415}; BUFLEN:0                                                                                                                                                   
2018.11.21 17:07:11 4: OwnTracks HTTP request: /osmand/&{"_type":"location","tid":"XX","acc":16,"batt":57,"conn":"w","lat":12.3456789,"lon":1.2345678,"t":"u","tst":1542816415}                                           
2018.11.21 17:07:11 2: LT.owntracks: invalid json evaluation on ParseOwnTracks                                                                                       
2018.11.21 17:07:21 4: Connection closed for WEBS_155.56.40.47_57584: EOF                                                                                                 


Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

Markus M.

Zitat von: carlos am 21 November 2018, 17:15:09
So jetzt habe ich den osmand server mal mit der Android owntracks app per http probiert, führt zu folgendem Fehler:
                                       
2018.11.21 17:07:11 2: LT.owntracks: invalid json evaluation on ParseOwnTracks                                                                                       
Bitte nochmal hiermit und dann die zusätzlichen Daten aus dem Log posten
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

carlos

Hallo,
Hier noch mal die Ausgabe:
2018.11.21 22:14:42 4: WEBS_95.222.30.79_23230 POST /fhem/osmand/&{"_type":"location","tid":"XX","acc":16,"batt":87,"conn":"m","lat":12.3456789,"lon":1.2345678,"tst":1542834873}; BUFLEN:0                                   
2018.11.21 22:14:42 4: OwnTracks HTTP request: /osmand/&{"_type":"location","tid":"XX","acc":16,"batt":87,"conn":"m","lat":49.2530375,"lon":9.1277752,"tst":1542834873}                                                                                                     
2018.11.21 22:14:42 2: LT.owntracks: invalid json evaluation on ParseOwnTracks$VAR1 = '/osmand/&{"_type":"location","tid":"XX","acc":16,"batt":87,"conn":"m","lat":12.3456789,"lon":1.2345678,"tst":1542834873}';       
2018.11.21 22:14:52 4: Connection closed for WEBS_95.222.30.79_23230: EOF
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

Markus M.

Zitat von: carlos am 21 November 2018, 22:41:07
Hier noch mal die Ausgabe:                                                                                                 
2018.11.21 22:14:42 2: LT.owntracks: invalid json evaluation on ParseOwnTracks
$VAR1 = '/osmand/&{"_type":"location","tid":"XX","acc":16,"batt":87,"conn":"m","lat":12.3456789,"lon":1.2345678,"tst":1542834873}';

Der Anhang sollte funktionieren.
Wenn nicht, nimm einfach den "/" am Ende der URL in OwnTracks raus
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

carlos

Das war der Fehler, jetzt gehts.
Leider aber nicht mit dem Traccar client.
Gruß
Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

klausw

Zitat von: Markus M. am 11 November 2018, 11:47:10
Hmm, eigentlich lieber nicht.
Der Grund dafür ist, dass ich dann einen Haufen (auf den ersten Blick sehr "kostspieligen" und nur für Owntracks funktionierenden) Code in meinem Modul hätte, den ich selbst nicht komplett verstehe, für etwas das man auch mit einem wesentlich kürzeren Notify auf distance erledigen kann.

Ich habe mir ein Verbindungsmodul gebastelt, welches livetracking mit RESIDENTS verbindet (auf Basis von distance oder zone_* ... könnte aber erweitert werden).
Es muss nur definiert werden, anschließend genügt es,  *geofenceUUID* in den RESIDENTS zu setzen.
Wenn Interesse besteht und Markus nix einzuwenden hat kann ich es in einem separaten Thread posten.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Markus M.

Zitat von: carlos am 22 November 2018, 01:00:56
Das war der Fehler, jetzt gehts.
Leider aber nicht mit dem Traccar client.
Mit oder ohne /
Sollte jetzt beides klappen.

Was tut Traccar? Kommt irgendwas im Log an?
Ein paar Posts weiter oben hatte jemand gepostet wie Auth bei Android funktionieren müsste - ich hab es aber selbst nicht getestet.
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

Markus M.

Zitat von: klausw am 22 November 2018, 09:25:01
Ich habe mir ein Verbindungsmodul gebastelt, welches livetracking mit RESIDENTS verbindet (auf Basis von distance oder zone_* ... könnte aber erweitert werden).

Wenn Interesse besteht und Markus nix einzuwenden hat kann ich es in einem separaten Thread posten.
Klar, und vergiss das Wiki nicht ;)
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

binford6000

Zitat von: klausw am 22 November 2018, 09:25:01
Ich habe mir ein Verbindungsmodul gebastelt, welches livetracking mit RESIDENTS verbindet (auf Basis von distance oder zone_* ... könnte aber erweitert werden).
Es muss nur definiert werden, anschließend genügt es,  *geofenceUUID* in den RESIDENTS zu setzen.
Wenn Interesse besteht und Markus nix einzuwenden hat kann ich es in einem separaten Thread posten.

Hallo Klaus,
schön dass du das weiterverfolgt hast.  :)
Ich würde es gerne mal testen.
VG Sebastian

klausw

RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

binford6000

Hallo Markus,
würde livetracking auch mit einem MQTT2_DEVICE laufen?
VG Sebastian

Markus M.

Weiss ich nicht - hast du es schon getestet?
Wenn da die gleichen Daten in einem Reading/Event ankommen sollte es ohne weiteres funktionieren.
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

tamash

Hallo!

Erstmal vielen Dank für das tolle Modul. Funktioniert wirklich super.
Es bleibt für mich eigentlich nur eine Frage offen, aber erstmal mein Setup:
- Android Phone
- Owntracks
- Eigener (Self-hosted) MQTT Broker
- 98_livetracking.m
- zone_0: Home
- zone_1: Work

Betreten einer Zone:
Komme ich also ins Büro wird die zone_1 (Work) auf aktiv gesetzt. Komme ich nach Hause wird die zone_0 (Home) auf aktiv gesetzt.
Die MQTT Message sieht in diesem Fall etwa so aus:
owntracks/geofancy/TomPhone {"_type":"location","acc":16,"alt":223,"batt":93,"conn":"m","inregions":["Work"],"lat":xx.xxxxxx,"lon":xx.xxxxxxx,"t":"p","tid":"1","tst":xxxxxxxxxx,"vac":2,"vel":0}

Verlassen einer Zone:
Verlasse ich die zone_1 (Work) und betrete dabei keine andere Zone sieht der MQTT Broker folgendes:
owntracks/geofancy/TomPhone {"_type":"location","acc":11,"alt":187,"batt":98,"conn":"m","lat":xx.xxxxxxxx,"lon":xx.xxxxxxxx,"t":"p","tid":"1","tst":xxxxxxxxxx,"vac":8,"vel":37}
Es fehlt also die inregions Liste im übergebenen JSON.
Das Reading  zone_1 (Work) bleibt im Status 'active' bis ich eine beliebige andere Zone betrete und die Liste inregions wieder übergeben wird.

Gibt es eine Möglichkeit alle Zonen auf "inactive" zu setzen wenn inregions  im übertragenen JSON fehlt?

LG
Tom


triagony

Hi, erst einmal vielen Dank für dein Modul! Nachdem der Support von EgiGeozone nun eingestellt wurde und seit etwa einem Monat nichts mehr funktioniert, kommt mir das als (sehr gute) Alternative nur recht. Ich habe nun dein Modul aus Post  #318 am laufen und nutze die http-variante von owntracks (Android) und es funktioniert auch alles, soweit ich das beurteilen kann.

In der Owntracks-App erhalte ich aber folgenden Fehler unter dem Eintrag "Endpoint state message":

java.net.SocketTimeoutException: timeout

Ich dachte erst, es hängt damit zusammen, dass das ganze hinter einem ReverseProxy hängt; ich habe den gleichen Fehler aber auch, wenn ich das ganze im gleichen LAN betreibe. Hat hierzu jemand eine Idee?

VG

Markus M.

Zitat von: tamash am 04 Januar 2019, 09:42:16Verlasse ich die zone_1 (Work) und betrete dabei keine andere Zone sieht der MQTT Broker folgendes:
owntracks/geofancy/TomPhone {"_type":"location","acc":11,"alt":187,"batt":98,"conn":"m","lat":xx.xxxxxxxx,"lon":xx.xxxxxxxx,"t":"p","tid":"1","tst":xxxxxxxxxx,"vac":8,"vel":37}
Es fehlt also die inregions Liste im übergebenen JSON.
Was in erster Linie mal fehlt, ist der Leave Event!
Sieh mal nach ob der bei nur im Modul nicht ankommt oder generell nicht von Owntracks gesendet wird.
Wenn nein: Bugreport für die Android App.

ZitatGibt es eine Möglichkeit alle Zonen auf "inactive" zu setzen wenn inregions  im übertragenen JSON fehlt?
Ja, da inregions aber ausdrücklich nicht immer gesendet werden muss, wäre das eher schlecht :-/


Zitat von: triagony am 04 Januar 2019, 17:46:09In der Owntracks-App erhalte ich aber folgenden Fehler unter dem Eintrag "Endpoint state message":
java.net.SocketTimeoutException: timeout

Hat hierzu jemand eine Idee?
Keine Ahnung, am besten wendest du dich damit ebenfalls an den Entwickler der App.
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