[Modul] NMEA GPS

Anbei ein kleines neues Modul, welches Daten von GPS Empfängern (z.B. USB oder einem LTE HAT) auswerten und in ein paar Variablen in IP-Symcon schreibt.

Ihr findet dies aktuell als Beta unter NMEA GPS im Module Store.

Hier noch ein Bild :slight_smile:

paresy

Hallo Paresy,

vielen Dank für das Modul das ich in meinem „Wohnwagen-Projekt“ einsetze.
In unregelmäßigen Abständen wirft das Modul folgenden Fehler:

21.02.2022, 18:39:18 | FlowHandler          | Kann Daten nicht zur Instanz #54543 weiterleiten: 
Fatal error: Uncaught Exception: The line is corrupted. It not corresponding to GSV format in /var/lib/symcon/modules/.store/de.paresy.gps.nmea/libs/vendor/bulton-fr/nmea-parser/src/Frame.php:207
Stack trace:
#0 /var/lib/symcon/modules/.store/de.paresy.gps.nmea/libs/vendor/bulton-fr/nmea-parser/src/Parser.php(42): BultonFr\NMEA\Frame->readFrame()
#1 /var/lib/symcon/modules/.store/de.paresy.gps.nmea/NMEA GPS/module.php(78): BultonFr\NMEA\Parser->readLine('$GPGSV,3,2,11,1...')
#2 /-(3): NMEAGPS->ReceiveData('{"DataID":"{018...')
#3 {main}
  thrown in /var/lib/symcon/modules/.store/de.paresy.gps.nmea/libs/vendor/bulton-fr/nmea-parser/src/Frame.php on line 207

Vielleicht kann man das ja irgendwie abfangen?

Joachim

Ich habe das Modul von Paresy etwas umgebaut und um eine Webhook Möglichkeit erweitert um Geräte die an HTTPs Senden können über Connect einzubinden. Ich bekomme die „It not corresponding to GS? format“ Meldungen regelmäßiger.
Diese kommen soweit ich das nachverfolgt habe aus der genutzten Bibliothek. Ich bekomme Sie bei GSA Meldungen wenn diese nicht vollständig sind. Zum Beispiel weil ich noch keinen gültigen GPS Fix habe oder die Übertragung abgebrochen war. Debuggt werden müsste das in den einzelnen Frames der Library. Da bin ich aber noch nicht zu gekommen mich da einzuarbeiten und das ganze etwas robuster zu machen für IPS. Es scheint soweit ich das sehe kein Ursächliches Problem der Schnittstelle zu sein.

Die GPS Lib die ich verwende hat RegEx Prüfungen ob die Pakete ok sind. Die sind scheinbar sehr strikt und könnten definitiv gelockert werden bzw. Fehlerhafte Pakete einfach verworfen werden. Ich bräuchte Beispiele die diesen Fehler triggern - dann könnte ich mal schauen. Freue mich aber auch über einen PR der dies verbessert.

paresy

Hallo Paresy,

wie „fängt“ man die am Besten?

Joachim

Im Serial Port unter Debug. Dann die Zeitstempel von Fehler und dort der Meldungen vergleichen. Dann hoffentlich ein Muster finden was ihn stört.

paresy