GPS-Daten in FHEM einlesen - gelöst

Begonnen von fstefan1960, 22 August 2017, 18:08:45

Vorheriges Thema - Nächstes Thema

peterk_de

Hey Morph, lösch einfach mal die erste Zeile in der Datei (insb. das $id$ ) und probier es nochmal ... läuft bei mit zwar 1:1 so wie gepostet, aber wäre jetzt die einzige Idee, die ich hätte ...
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

morph

Nachdem es einfach nicht ging habe ich eben den Raspi neu aufgesetzt. Und nun läuft das ganze inkl. Fhem und Loggen in Fhem des GPS und das hochladen der Logdateien auf die Dropbox.

Ziel ist im Grunde, ein gestohlenes Wohnmobil orten zu können.

Nun suche ich eine Möglichkeit, die Log Datei in eine Karte umwandeln zu Können.

Gibt es so eine Möglichkeit?


CBSnake

Hi,

poste doch Mal nen Auszug aus dem Log mit den Koordinaten.
Das ganze kann man dann, normalerweise, mit Userreading so umbauen, dass ein Google-Maps Link entsteht.

Grüße
Achim
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

morph

Das wäre ja super!

2018-01-14_21:25:37 GPS lat: 48.0
2018-01-14_21:25:37 GPS lon: 10.0
2018-01-14_21:25:37 GPS altitude: 491.376
2018-01-14_21:25:37 GPS speed: 0.044
2018-01-14_21:25:37 GPS climbRate: 0.012
2018-01-14_21:25:37 GPS heading: 176.5066
2018-01-14_21:25:37 GPS direction: S
2018-01-14_21:25:37 GPS time_utc: 2018-01-14T20:25:36.000Z
2018-01-14_21:25:37 GPS errorLonLat: 29.7
2018-01-14_21:25:37 GPS errorAltitude: 34.27
2018-01-14_21:25:37 GPS errorSpeed: 0.58
2018-01-14_21:25:37 GPS errorClimbRate: 68.54
2018-01-14_21:25:37 GPS usedGpsDevice: /dev/ttyS0
2018-01-14_21:26:07 GPS lat: 48.0
2018-01-14_21:26:07 GPS lon: 10.0
2018-01-14_21:26:07 GPS altitude: 483.744
2018-01-14_21:26:07 GPS speed: 0.172
2018-01-14_21:26:07 GPS climbRate: -0.071
2018-01-14_21:26:07 GPS heading: 88.5683
2018-01-14_21:26:07 GPS direction: E
2018-01-14_21:26:07 GPS time_utc: 2018-01-14T20:26:06.000Z
2018-01-14_21:26:07 GPS errorLonLat: 29.7
2018-01-14_21:26:07 GPS errorAltitude: 34.5
2018-01-14_21:26:07 GPS errorSpeed: 0.61
2018-01-14_21:26:07 GPS errorClimbRate: 69
2018-01-14_21:26:07 GPS usedGpsDevice: /dev/ttyS0
2018-01-14_21:26:37 GPS lat: 48.0
2018-01-14_21:26:37 GPS lon: 10.0
2018-01-14_21:26:37 GPS altitude: 474.096
2018-01-14_21:26:37 GPS speed: 0.269
2018-01-14_21:26:37 GPS climbRate: -0.172
2018-01-14_21:26:37 GPS heading: 243.0218
2018-01-14_21:26:37 GPS direction: WSW
2018-01-14_21:26:37 GPS time_utc: 2018-01-14T20:26:37.000Z
2018-01-14_21:26:37 GPS errorLonLat: 29.7
2018-01-14_21:26:37 GPS errorAltitude: 34.04
2018-01-14_21:26:37 GPS errorSpeed: 0.55
2018-01-14_21:26:37 GPS errorClimbRate: 68.08
2018-01-14_21:26:37 GPS usedGpsDevice: /dev/ttyS0



So kommt das ganze mal an, alle 30 sec

CBSnake

OK,

hast du nach 48. und 10. was gekürzt? Oder kommt das nicht "genauer"

FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

morph


CBSnake

dachte ich mir fast :-) sind das Einträge von einem Device? dann wäre da mal ein List super, oder kommen die direkt ins Log?
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

morph

Also List mach ich dir natürlich heut Abend sofort wenn ich daheim bin.

Das ist ein raspi an dem via seriellem Anschluss ein gps Modul hängt. Dieses Modul hab ich in fhem eingebunden und das erzeugt die log Datei so wie du es siehst alle 30 sek.

Dieses log lass ich mir im Moment alle 10 Minuten auf die Dropbox laden um den eventuellen bösen Buben am schnipel zu packen.

Schon wäre jetzt eben, wenn ich daraus auch eine Route machen lassen kann, da ich es auch Fr mich persönlich haben wollen würde bzw. Ich irgendwo draufklicken möchte um dann den Standort direkt zu sehen.

Wernieman

Eigentlich brauchst Du die Daten in einem anderen Format. z.B. "GPS Exchange Format", welches DU dann z.B. in google-earth einlesen könntest.

Wie Du jetzt diese Logdaten nachträglich in ein passendes Format konvertieren könntest ...  :-\
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

CBSnake

Sowas z.b. ?

fhembot:
Es ist der 14.01.2018 um 11.00 Uhr und der Akku hat 30 % Position ist https://maps.google.de/maps?q=52.30378458076546,12.72491878712008 und Geschwindigkeit ist 0 und Alarm ist 0

Grüße

Achim
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

morph

Das wäre dann das Non Plus Ultra!

Grundlegend nur einmal die GPS Daten irgendwo hin bekommen um dort die Route zu erstellen

morph


CBSnake

Nö,
warte noch auf das List vom Device, falls es eine gibt ;-)
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen

morph

Ah verdammt... Benutzerfehler :-(


list GPS

Internals:
   NAME       GPS
   NR         18
   STATE      Connected
   TYPE       GPSD
   gpsdHost   127.0.0.1
   gpsdPort   2947
   pollInterval 30
   READINGS:
     2018-01-17 19:25:20   altitude        486.769
     2018-01-17 19:25:20   climbRate       -2.501
     2018-01-17 19:25:20   direction       SW
     2018-01-17 19:25:20   errorAltitude   84.64
     2018-01-17 19:25:20   errorClimbRate  169.28
     2018-01-17 19:25:20   errorLonLat     88.231
     2018-01-17 19:25:20   errorSpeed      1.89
     2018-01-17 19:25:20   heading         226.647
     2018-01-17 19:25:20   lat             48.41
     2018-01-17 19:25:20   lon             10.29
     2018-01-17 19:25:20   speed           0.855
     2018-01-17 19:17:34   state           Connected
     2018-01-17 19:25:20   time_utc        2018-01-17T18:25:20.000Z
     2018-01-17 19:25:20   usedGpsDevice   /dev/ttyS0
   helper:
     GPSDparams:
       host       127.0.0.1
       port       2947
Attributes:
   room       Schantall




list Filelog_GPS

Internals:
   DEF        ./log/Filelog_GPS-%Y-%U.log GPS:usedGpsDevice:.*
   NAME       Filelog_GPS
   NOTIFYDEV  GPS
   NR         19
   NTFY_ORDER 50-Filelog_GPS
   REGEXP     GPS:usedGpsDevice:.*
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/Filelog_GPS-2018-02.log
   logfile    ./log/Filelog_GPS-%Y-%U.log
   READINGS:
     2018-01-17 19:25:50   linesInTheFile  6868
Attributes:
   logtype    text
   room       Schantall

CBSnake

#29
Moin,

define doif_gps doif (["GPS:lat"])((setreading GPS link https://maps.google.de/maps?q=[GPS:lat],[GPS:lon]))DOELSE

erzeugt dir schonmal den Google Link als Reading im Device GPS bzw aktualisiert den jedesmal wenn lat ein Event auslöst. Evtl geht das auch einfacher mit Userreading :-)
Um das ganze z.B. in eine XML Datei zu bekommen muss ich nochmal schauen, das steht für meine autos aber auch schon auf der Liste :-) 4 Monate Daten hab ich schon gesammelt :-)

Nachtrag:

define doif_gps doif (["GPS:lat"])((setreading GPS gpx <trkpt lat="[GPS:lat]" lon="[GPS:lon]"><time>[GPS:time_utc]</time></trkpt>))DOELSE

bekommst du, ungeprüft noch ein Reading GPX, welches, bereinigt um die Filelogzeit, mit n bisschen kram drum rum:

Anfang:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" version="1.1" creator="Wikipedia"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
<!-- Kommentare sehen so aus -->
<metadata>
  <name>Dateiname</name>
  <desc>Validiertes GPX-Beispiel ohne Sonderzeichen</desc>
  <author>
   <name>Autorenname</name>
  </author>
</metadata>


<trk>
  <name>Trackname1</name>
  <desc>Trackbeschreibung</desc>
  <trkseg>



und am Ende:

  </trkseg>
</trk>


</gpx>


eine gpx Datei ergibt welche du z.B. mit Google Earth darstellen kannst.

Grüße
Achim
FHEM auf Debian 10, HM-Wlan, JeeLink-Wlan, Wlanduino, ConBee, TP-Link Steckdose, GHoma Steckdosen, Shelly Steckdosen