Hallo,
ich verwende das Modul GPSD , um die aktuellen GPS Daten aus meiner Maus auszulesen.
Funktioniert auch prima, mit einigen Ausnahmen.
Hier das Listing des GPSD:
Internals:
FUUID 5c88df62-f33f-813e-674c-e2c2ebdc26cb0a2e
NAME meinGPS
NR 53
STATE Connected
TYPE GPSD
gpsdHost 127.0.0.1
gpsdPort 2947
pollInterval 600
Helper:
DBLOG:
altitude:
DBLogging:
TIME 1568640034.80898
VALUE 184.56
lat:
DBLogging:
TIME 1568640034.80898
VALUE 49.170702711
lon:
DBLogging:
TIME 1568640034.80898
VALUE 9.191691174
READINGS:
2019-09-16 15:20:34 altitude 184.56
2019-09-16 15:20:34 climbRate 0
2019-09-16 15:20:34 direction N
2019-09-16 15:20:34 errorAltitude 11.441
2019-09-16 15:20:34 errorClimbRate 22.88
2019-09-16 15:20:34 errorLonLat 4.804
2019-09-16 15:20:34 errorSpeed 9.61
2019-09-16 15:20:34 heading 0
2019-09-16 15:20:34 lat 49.170702711
2019-09-16 15:20:34 lon 9.191691174
2019-09-16 15:20:34 speed 0
2019-09-11 18:39:23 state Connected
2019-09-16 15:20:34 time_utc 2019-09-16T13:20:34.000Z
2019-09-16 15:20:34 usedGpsDevice /dev/ttyUSB0
helper:
GPSDparams:
host 127.0.0.1
port 2947
Attributes:
DbLogExclude .*
DbLogInclude lat,lon,altitude
gpsd_pollInterval 600
room GPS,IPAD
userattr gpsd_pollInterval
Diese GPS Daten übertrage ich bei Änderungen auf mein Wettermodul Darksky mit dem dem neuen Befehl, der mir von CoolTux zur Verfügung gestellt worden ist.
Schon vor dieser neuen Implementation habe ich im Logifile sporadisch folgende Fehlermeldung von GPSD bekommen:
PERL WARNING: Use of uninitialized value $lat in pattern match (m//) at /usr/local/share/perl/5.24.1/GPSD/Parse.pm line 185, <GEN9> line 511.
2019.09.09 22:54:38 1: PERL WARNING: Argument "" isn't numeric in modulus (%) at /usr/local/share/perl/5.24.1/GPSD/Parse.pm line 165, <GEN9> line 511.
2019.09.10 03:00:00 3:
CoolTux und ich vermuten, dass GPSD hier GPS Daten mit unzureichender Formatierung übergibt, das jetzt Darksky in diesen Fällen ebenfalls eine Fehlermeldung liefert. Wie bekomme ich es geregelt, dass die aus GPSD gelieferten Daten von der Syntax korrekt sind?