Wissen · Anleitung
Benutzerdefinierte NMEA Daten einrichten
Seit Version 2.75 (iOS, Android folgt noch) verarbeitet die Logbuch App auch teilweise nicht standardisierte NMEA Daten. Weil diese Datensätze je nach Gerät unterschiedlich aussehen, konfigurierst du sie selbst — hier steht Schritt für Schritt, wie das geht.
Aktualisiert: Juli 2026
Folgende Werte lassen sich auf diesem Weg aus deinem NMEA Netz übernehmen:
- Batteriespannung
- Motor-Betriebsstunden
- Treibstoff-Tankinhalt
- Wasser-Tankinhalt
- Grauwasser-Tankinhalt
- Luftdruck
- Motordrehzahl
- Lufttemperatur
- Krängung (Roll)
- Steigung (Pitch)
Das Beispiel
Damit alles nachvollziehbar bleibt, machen wir es an einem konkreten Fall fest: Du hast einen Treibstofftank mit einem Volumen von 65 Litern, und der NMEA Datensatz deines Geräts sieht so aus:
$MXPGN,01F211,5810,02841C8A020000FF*1EIn diesem Fall stecken die Daten über den aktuellen Füllstand (hexadezimal kodiert) in 841C. Um sie zu nutzen, hinterlegst du drei Informationen: einen regulären Ausdruck, den Datentyp und optional einen Multiplikator.
Regulärer Ausdruck um die Daten zu extrahieren
Um den Wert aus dem gesamten Datensatz zu extrahieren, muss in den NMEA Einstellungen für den Füllstand des Dieseltanks ein regulärer Ausdruck hinterlegt werden, der zum Beispiel so aussieht:
^\$MXPGN,01F211,5810,02(?<extract>[0-9ABCDEF]{4}?)[0-9ABCDEF]{10}\*..$Wer sich mit regulären Ausdrücken auskennt, braucht eigentlich nicht mehr weiterzulesen. Für alle anderen hier eine sehr vereinfachte Erklärung, damit du selbst Regeln wie diese erstellen kannst.
- ^\$ — Dies ist der Beginn des Datensatzes. Der Backslash ist nötig, weil das $ in regulären Ausdrücken sonst eine andere Funktion hat. Dieser Teil muss immer genau so aussehen.
- MXPGN,01F211,5810,02 — Ein fester Teil, der immer genau so aussehen muss. Wird statt der 5810 ein Platzhalter benötigt, etwa weil sich dieser Wert ändern kann, lässt sie sich durch [^,]* ersetzen: beliebig viele Zeichen (auch 0), nur kein Komma — denn das Komma ist der Feldtrenner in NMEA Datensätzen.
- (?<extract>[0-9ABCDEF]{4}?) — Der wichtige Teil, der den Wert extrahiert; alle anderen Angaben dienen nur der Identifizierung. In den eckigen Klammern stehen die erlaubten Zeichen: Da wir hexadezimale Werte erhalten, sind 0123456789 sowie A, B, C, D, E und F erlaubt. In den geschweiften Klammern steht die genaue Anzahl der Zeichen — hier genau 4 für 841C.
- [0-9ABCDEF]{10} — Danach müssen weitere 10 Hexadezimalzeichen kommen.
- \*..$ — Der Abschluss, der wie der Anfang immer genau so aussehen muss. Der Backslash entschärft die Sonderfunktion des Sterns, der ja das Trennzeichen zur NMEA Prüfsumme ist. Die zwei Punkte stehen für je ein beliebiges Zeichen (die Prüfsumme), und das Dollar markiert das Ende des Datensatzes.
Festlegen des Datentyps
Da dieser Datensatz hexadezimal ist und die Bytereihenfolge umgekehrt vorliegt, muss „Hex Little Endian“ ausgewählt werden. Damit wird 841C von Little Endian zu Big Endian umgestellt (1C84) und anschließend in die Dezimalzahl 7300 umgewandelt.
Multiplikator (optional)
Der Wert 7300 muss laut Dokumentation des Herstellers mit 0,004 multipliziert werden, um den aktuellen Füllstand in Prozent zu erhalten. Da wir den Füllstand aber in Litern speichern wollen, ist noch etwas Umrechnung nötig. Manuell sähe die Rechnung bei einem 65-Liter-Tank so aus:
- 7300 * 0,004 = 29,2 %
- 65 Liter * 29,2 % = 18,98 Liter
- Da die Logbuch App Füllstände intern in Millilitern speichert, wird dieser Wert noch mal 1000 genommen: 18980 Milliliter
Diese ganze Rechnung lässt sich zusammenfassen zu 0,004 * 65 / 100 * 1000 = 2,6.
Der Multiplikator muss in diesem Fall also
2.6 sein.