Kommandozeile

Alle Funktionen stehen unter einem Befehl obd-diag mit Unterbefehlen. Befehle mit Adapter nehmen --port (Standard /dev/ttyUSB0), --baud (Standard 38400) und --trace für einen Mitschnitt (Sitzungen, Bericht und Mitschnitt). --lang de oder --lang en stellt die Sprache aller Ausgaben ein (Sprache).

Befehl

Zweck

sendet ans Fahrzeug

obd-diag ports

Adapter auflisten

nichts

obd-diag info

Adapter-Kennung und Bordspannung

nichts (nur Adapter-Befehle)

obd-diag adapter

Adapter-Check: Version, Befehlssatz, UDS-Eignung (Adapter und Anschluss)

nichts (nur Adapter-Befehle)

obd-diag scan

Fehlercodes lesen

Mode 01, 03, 07, 0A

obd-diag diagnose

Fehlercodes, Readiness, Freeze Frame, FIN, Gebrauchtwagen-Check, Steuergeräte, Testergebnisse

Mode 01, 02, 03, 06, 07, 09, 0A

obd-diag readiness

Readiness-Assistent: offene Tests seit dem Löschen und in dieser Fahrt (Readiness-Assistent)

Mode 01

obd-diag used-car

Gebrauchtwagen-Check: vor kurzem gelöscht? (Gebrauchtwagen-Check)

Mode 01, 03, 07, 0A

obd-diag vin

FIN lesen oder eine eingegebene dekodieren

Mode 09

obd-diag ecus

Steuergeräte: Name, Kalibrierungs-ID, CVN, Überwachungszähler (Steuergeräte und Testergebnisse)

Mode 09

obd-diag tests

Testergebnisse mit Grenzwerten (Steuergeräte und Testergebnisse)

Mode 06

obd-diag live

Live-Daten anzeigen und aufzeichnen

Mode 01

obd-diag battery

Batterie- und Anlasstest (Batterie- und Anlasstest)

Mode 01

obd-diag export

gespeicherte Sitzung als PDF/CSV

nichts

obd-diag compare

zwei gespeicherte Sitzungen vergleichen (Sitzungen, Bericht und Mitschnitt)

nichts

obd-diag clear

Fehlercodes löschen (gesperrt)

Mode 04

Beispiele

obd-diag adapter --port /dev/ttyUSB0               # was kann der Adapter wirklich?
obd-diag scan --port /dev/ttyUSB0                  # Tabelle, Sprache wie das System
obd-diag scan --port /dev/ttyUSB0 --lang en --json # englisch, maschinenlesbar
obd-diag diagnose --port /dev/ttyUSB0 --save --pdf bericht.pdf
obd-diag used-car --port /dev/ttyUSB0               # Fehlercodes vor kurzem gelöscht?
obd-diag vin WVWZZZ1KZ6W123456                     # nur dekodieren, ohne Adapter
obd-diag live --port /dev/ttyUSB0 --pids rpm,speed --interval 0.5 --record
obd-diag export ~/.local/share/obd-diag/sessions/session-20261007-143205.json --pdf bericht.pdf

Bei --json bleibt die Standardausgabe reines JSON; Hinweise und Pfade gespeicherter Dateien stehen auf der Fehlerausgabe. Rückgabewert 0 heißt Erfolg, 1 Fehler.

Alle Befehle und Optionen

Die folgende Referenz wird beim Bauen der Dokumentation aus dem Programm selbst erzeugt und ist damit immer auf dem Stand des Codes.

usage: obd-diag [-h] [--version] [--lang {de,en}]
                {info,adapter,battery,scan,clear,diagnose,readiness,used-car,vin,ecus,tests,live,ports,setup-check,export,compare}
                ...

Positional Arguments

command

Possible choices: info, adapter, battery, scan, clear, diagnose, readiness, used-car, vin, ecus, tests, live, ports, setup-check, export, compare

Named Arguments

--version

show program’s version number and exit

--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

Sub-commands

info

Adapter-Version und Bordspannung anzeigen

obd-diag info [-h] [--lang {de,en}] [--port PORT] [--baud BAUD] [--demo]
              [--trace [DATEI]]
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--port

Default: '/dev/ttyUSB0'

--baud

Default: 38400

--demo

Demo-Fahrzeug statt Adapter: Beispieldaten eines Mercedes A 180 d, zum Ausprobieren ohne Auto (gleich wie –port demo)

Default: False

--trace

Adapter-Kommunikation mitschneiden (ohne DATEI: unter $XDG_DATA_HOME/obd-diag/traces); enthält ggf. die FIN

adapter

Adapter-Check: Version, Spannung und unterstützte Befehle prüfen, Urteil für UDS (nur Adapter-Befehle, das Fahrzeug wird nicht angesprochen)

obd-diag adapter [-h] [--lang {de,en}] [--port PORT] [--baud BAUD] [--demo]
                 [--trace [DATEI]] [--json]
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--port

Default: '/dev/ttyUSB0'

--baud

Default: 38400

--demo

Demo-Fahrzeug statt Adapter: Beispieldaten eines Mercedes A 180 d, zum Ausprobieren ohne Auto (gleich wie –port demo)

Default: False

--trace

Adapter-Kommunikation mitschneiden (ohne DATEI: unter $XDG_DATA_HOME/obd-diag/traces); enthält ggf. die FIN

--json

Ergebnis als JSON ausgeben

Default: False

battery

Batterie- und Anlasstest: Ruhespannung, Einbruch beim Anlassen und Ladespannung messen und bewerten; den Motor startet man selbst, wenn der Test dazu auffordert

obd-diag battery [-h] [--lang {de,en}] [--port PORT] [--baud BAUD] [--demo]
                 [--trace [DATEI]] [--start-timeout SEK] [--json]
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--port

Default: '/dev/ttyUSB0'

--baud

Default: 38400

--demo

Demo-Fahrzeug statt Adapter: Beispieldaten eines Mercedes A 180 d, zum Ausprobieren ohne Auto (gleich wie –port demo)

Default: False

--trace

Adapter-Kommunikation mitschneiden (ohne DATEI: unter $XDG_DATA_HOME/obd-diag/traces); enthält ggf. die FIN

--start-timeout

so lange auf das Anlassen warten (Standard 30)

Default: 30.0

--json

Ergebnis als JSON ausgeben

Default: False

scan

Fehlercodes lesen (gespeichert, ausstehend, permanent)

obd-diag scan [-h] [--lang {de,en}] [--port PORT] [--baud BAUD] [--demo]
              [--trace [DATEI]] [--json] [--online-codes]
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--port

Default: '/dev/ttyUSB0'

--baud

Default: 38400

--demo

Demo-Fahrzeug statt Adapter: Beispieldaten eines Mercedes A 180 d, zum Ausprobieren ohne Auto (gleich wie –port demo)

Default: False

--trace

Adapter-Kommunikation mitschneiden (ohne DATEI: unter $XDG_DATA_HOME/obd-diag/traces); enthält ggf. die FIN

--json

Ergebnis als JSON ausgeben

Default: False

--online-codes

Codes ohne Katalogtext online nachschlagen (ungeprüfte Kurzbeschreibung, englisch); lädt eine Datei der Quelle, sendet weder Code noch FIN

Default: False

clear

Fehlercodes löschen (Mode 04), vorher sichern; nur bei Motor aus, Zündung an

obd-diag clear [-h] [--lang {de,en}] [--port PORT] [--baud BAUD] [--demo]
               [--trace [DATEI]] [--yes]
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--port

Default: '/dev/ttyUSB0'

--baud

Default: 38400

--demo

Demo-Fahrzeug statt Adapter: Beispieldaten eines Mercedes A 180 d, zum Ausprobieren ohne Auto (gleich wie –port demo)

Default: False

--trace

Adapter-Kommunikation mitschneiden (ohne DATEI: unter $XDG_DATA_HOME/obd-diag/traces); enthält ggf. die FIN

--yes

ohne Rückfrage löschen

Default: False

diagnose

vollständige Diagnose: Fehlercodes, Readiness, Freeze Frame, FIN, Gebrauchtwagen-Check, Steuergeräte und Testergebnisse (nur lesend)

obd-diag diagnose [-h] [--lang {de,en}] [--port PORT] [--baud BAUD] [--demo]
                  [--trace [DATEI]] [--json] [--online-vin] [--online-codes]
                  [--save] [--pdf DATEI.pdf] [--csv DATEI.csv]
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--port

Default: '/dev/ttyUSB0'

--baud

Default: 38400

--demo

Demo-Fahrzeug statt Adapter: Beispieldaten eines Mercedes A 180 d, zum Ausprobieren ohne Auto (gleich wie –port demo)

Default: False

--trace

Adapter-Kommunikation mitschneiden (ohne DATEI: unter $XDG_DATA_HOME/obd-diag/traces); enthält ggf. die FIN

--json

Sitzung als JSON ausgeben

Default: False

--online-vin

FIN zusätzlich bei NHTSA vPIC (USA) nachschlagen; sendet die FIN ins Internet, Ergebnis wird lokal gecacht

Default: False

--online-codes

Codes ohne Katalogtext online nachschlagen (ungeprüfte Kurzbeschreibung, englisch); lädt eine Datei der Quelle, sendet weder Code noch FIN

Default: False

--save

Sitzung unter $XDG_DATA_HOME/obd-diag/sessions sichern

Default: False

--pdf

PDF-Bericht

--csv

CSV, eine Zeile pro Fehlercode

readiness

Readiness-Assistent: offene Tests seit dem Löschen und in dieser Fahrt (PID 01 und 41) mit Hinweisen, welche Fahrt sie abschließt

obd-diag readiness [-h] [--lang {de,en}] [--port PORT] [--baud BAUD] [--demo]
                   [--trace [DATEI]] [--json]
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--port

Default: '/dev/ttyUSB0'

--baud

Default: 38400

--demo

Demo-Fahrzeug statt Adapter: Beispieldaten eines Mercedes A 180 d, zum Ausprobieren ohne Auto (gleich wie –port demo)

Default: False

--trace

Adapter-Kommunikation mitschneiden (ohne DATEI: unter $XDG_DATA_HOME/obd-diag/traces); enthält ggf. die FIN

--json

Ergebnis als JSON ausgeben

Default: False

used-car

Gebrauchtwagen-Check: wurden die Fehlercodes vor kurzem gelöscht? Zähler seit dem Löschen, Warnleuchte, permanente Codes (nur lesend)

obd-diag used-car [-h] [--lang {de,en}] [--port PORT] [--baud BAUD] [--demo]
                  [--trace [DATEI]] [--json]
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--port

Default: '/dev/ttyUSB0'

--baud

Default: 38400

--demo

Demo-Fahrzeug statt Adapter: Beispieldaten eines Mercedes A 180 d, zum Ausprobieren ohne Auto (gleich wie –port demo)

Default: False

--trace

Adapter-Kommunikation mitschneiden (ohne DATEI: unter $XDG_DATA_HOME/obd-diag/traces); enthält ggf. die FIN

--json

Ergebnis als JSON ausgeben

Default: False

vin

FIN lesen (Mode 09) und dekodieren

obd-diag vin [-h] [--lang {de,en}] [--port PORT] [--baud BAUD] [--demo]
             [--trace [DATEI]] [--json] [--online-vin]
             [FIN]
Positional Arguments
FIN

diese FIN dekodieren, ohne Adapter

Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--port

Default: '/dev/ttyUSB0'

--baud

Default: 38400

--demo

Demo-Fahrzeug statt Adapter: Beispieldaten eines Mercedes A 180 d, zum Ausprobieren ohne Auto (gleich wie –port demo)

Default: False

--trace

Adapter-Kommunikation mitschneiden (ohne DATEI: unter $XDG_DATA_HOME/obd-diag/traces); enthält ggf. die FIN

--json

Ergebnis als JSON ausgeben

Default: False

--online-vin

FIN zusätzlich bei NHTSA vPIC (USA) nachschlagen; sendet die FIN ins Internet, Ergebnis wird lokal gecacht

Default: False

ecus

Steuergeräte (Mode 09): Name, Kalibrierungs-IDs, CVN und Überwachungszähler

obd-diag ecus [-h] [--lang {de,en}] [--port PORT] [--baud BAUD] [--demo]
              [--trace [DATEI]] [--json]
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--port

Default: '/dev/ttyUSB0'

--baud

Default: 38400

--demo

Demo-Fahrzeug statt Adapter: Beispieldaten eines Mercedes A 180 d, zum Ausprobieren ohne Auto (gleich wie –port demo)

Default: False

--trace

Adapter-Kommunikation mitschneiden (ohne DATEI: unter $XDG_DATA_HOME/obd-diag/traces); enthält ggf. die FIN

--json

Ergebnis als JSON ausgeben

Default: False

tests

Testergebnisse der Abgas-Eigendiagnose mit Grenzwerten (Mode 06, nur CAN)

obd-diag tests [-h] [--lang {de,en}] [--port PORT] [--baud BAUD] [--demo]
               [--trace [DATEI]] [--json]
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--port

Default: '/dev/ttyUSB0'

--baud

Default: 38400

--demo

Demo-Fahrzeug statt Adapter: Beispieldaten eines Mercedes A 180 d, zum Ausprobieren ohne Auto (gleich wie –port demo)

Default: False

--trace

Adapter-Kommunikation mitschneiden (ohne DATEI: unter $XDG_DATA_HOME/obd-diag/traces); enthält ggf. die FIN

--json

Ergebnis als JSON ausgeben

Default: False

live

Live-Daten (Mode 01) fortlaufend anzeigen und aufzeichnen; Ende mit Strg+C

obd-diag live [-h] [--lang {de,en}] [--port PORT] [--baud BAUD] [--demo]
              [--trace [DATEI]] [--pids SCHLÜSSEL,...] [--list]
              [--interval SEK] [--duration SEK] [--record [DATEI.csv]]
              [--alarm SCHLÜSSEL=UNTEN:OBEN] [--no-alarms]
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--port

Default: '/dev/ttyUSB0'

--baud

Default: 38400

--demo

Demo-Fahrzeug statt Adapter: Beispieldaten eines Mercedes A 180 d, zum Ausprobieren ohne Auto (gleich wie –port demo)

Default: False

--trace

Adapter-Kommunikation mitschneiden (ohne DATEI: unter $XDG_DATA_HOME/obd-diag/traces); enthält ggf. die FIN

--pids

Werte, z. B. rpm,speed,coolant_temp (Standard: die üblichen, soweit unterstützt; Schlüssel zeigt –list)

--list

unterstützte Werte mit Schlüssel anzeigen und beenden

Default: False

--interval

Abstand der Abfragerunden (Standard 1, mindestens 0.1)

Default: 1.0

--duration

nach SEK Sekunden beenden

--record

als CSV aufzeichnen (ohne DATEI: unter $XDG_DATA_HOME/obd-diag/recordings); vorhandene Dateien werden nicht überschrieben

--alarm

Warnschwelle setzen, z. B. coolant_temp=:110 (leere Seite: keine Grenze, SCHLÜSSEL=: schaltet die Warnung ab; mehrfach möglich). Vorgabe: coolant_temp=:115, oil_temp=:130, control_voltage=11.8:15.5, voltage=11.8:15.5

--no-alarms

ohne die vorgegebenen Warnschwellen (nur die mit –alarm gesetzten)

Default: False

ports

angeschlossene Adapter auflisten

obd-diag ports [-h] [--lang {de,en}]
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

setup-check

Einrichtung prüfen: Adapter finden, Zugriffsrechte und Baudrate (38400, 115200); sendet nur Adapter-Befehle (ATZ …)

obd-diag setup-check [-h] [--lang {de,en}] [--port PORT]
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--port

nur diesen Port prüfen (Standard: alle gefundenen Adapter)

export

gespeicherte Diagnosesitzung (JSON) als PDF-Bericht oder CSV ausgeben

obd-diag export [-h] [--lang {de,en}] [--pdf DATEI.pdf] [--csv DATEI.csv]
                SESSION.json
Positional Arguments
SESSION.json
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--pdf

PDF-Bericht

--csv

CSV, eine Zeile pro Fehlercode

compare

zwei gespeicherte Diagnosesitzungen vergleichen: neue und verschwundene Fehlercodes, Readiness, Freeze Frame (die ältere gilt als vorher)

obd-diag compare [-h] [--lang {de,en}] [--json] SESSION1.json SESSION2.json
Positional Arguments
SESSION1.json
SESSION2.json
Named Arguments
--lang

Possible choices: de, en

Sprache der Ausgabe und der Fehlercode-Texte (Standard: wie die Systemsprache, Deutsch nur bei deutscher Systemsprache)

--json

Ergebnis als JSON ausgeben

Default: False