data: data¶
obd_diag.data.dtc_catalog¶
.. py:module:: obd_diag.data.dtc_catalog
Offline-Katalog der Fehlercode-Texte (SQLite, erzeugt von tools/build_dtc_db.py).
Datenquelle: OBDex (https://github.com/foerbsnavi/OBDex), Daten unter CC0-1.0.
.. py:class:: Cause(label: str, likelihood: str) :module: obd_diag.data.dtc_catalog
Bases: :py:class:object
.. py:class:: DtcInfo(code: str, title: str, description: str | None = None, causes: tuple[obd_diag.data.dtc_catalog.Cause, …] = (), symptoms: tuple[str, …] = (), mil: bool | None = None, emissions_relevant: bool | None = None, repair_difficulty: str | None = None, cost_eur: tuple[int, int] | None = None) :module: obd_diag.data.dtc_catalog
Bases: :py:class:object
.. py:class:: DtcCatalog(path=PosixPath(‘/home/runner/work/obd-diag/obd-diag/src/obd_diag/data/dtc_catalog.sqlite’)) :module: obd_diag.data.dtc_catalog
Bases: :py:class:object
Schlägt Fehlercodes nach. lang ist "de" oder "en"; fehlt eine
Übersetzung, wird auf Englisch zurückgefallen.
.. py:method:: DtcCatalog.default() :module: obd_diag.data.dtc_catalog :classmethod:
Der mitgelieferte Katalog, oder ``None``, wenn er noch nicht gebaut wurde.
.. py:method:: DtcCatalog.meta() :module: obd_diag.data.dtc_catalog
Herkunftsangaben des Katalogs (Quelle, Commit, Lizenz, Bauzeit).
obd_diag.data.catalog_build¶
.. py:module:: obd_diag.data.catalog_build
Schreibt den DTC-Katalog (SQLite) aus bereits geparsten OBDex-Einträgen.
Das Parsen der YAML-Quellen übernimmt tools/build_dtc_db.py; dieses Modul kennt
nur Python-Dicts und die Standardbibliothek, damit es ohne PyYAML testbar bleibt.
.. py:exception:: CatalogBuildError :module: obd_diag.data.catalog_build
Bases: :py:class:ValueError
Ein Quelleintrag ist unvollständig oder doppelt.
.. py:function:: build(entries, out_path, meta=None) :module: obd_diag.data.catalog_build
Baut den Katalog nach out_path und gibt die Anzahl der Codes zurück.
Geschrieben wird in eine temporäre Datei daneben, die erst nach Erfolg atomar umbenannt wird; ein abgebrochener Lauf hinterlässt keinen halben Katalog.
obd_diag.data.wmi¶
.. py:module:: obd_diag.data.wmi
Offline-Tabelle der Herstellerkennungen (WMI, FIN-Stellen 1-3) und Länderbereiche.
MANUFACTURERS ist eine kuratierte Auswahl häufiger WMIs (deutsche, europäische,
asiatische und amerikanische Hersteller). Sie ist nicht vollständig: unbekannte WMIs
ergeben keinen Hersteller. Jeder Eintrag wurde am 2026-10-07 gegen mindestens eine
dieser Quellen geprüft:
Wikipedia „Vehicle identification number“, Abschnitt „List of common WMI“ (https://en.wikipedia.org/wiki/Vehicle_identification_number), dort zum Teil mit der WMI-Liste des Kraftfahrt-Bundesamts belegt;
Wikipedia „Fahrzeug-Identifizierungsnummer“, Abschnitt Herstellercodes (https://de.wikipedia.org/wiki/Fahrzeug-Identifizierungsnummer);
NHTSA vPIC
DecodeWMI(Stichproben, z. B. https://vpic.nhtsa.dot.gov/api/vehicles/DecodeWMI/WVW?format=json); vPIC kennt nur WMIs von Fahrzeugen, die in die USA geliefert werden.
Einträge, die keine dieser Quellen bestätigt, wurden entfernt. WMIs mit 9 an
Stelle 3 (Kleinserienhersteller, der Hersteller steht erst in den Stellen 12-14)
fehlen absichtlich. Die Bezeichnungen sind eigene Kurzformen; übernommen sind nur die
Zuordnungen (Fakten). Manche WMIs nutzt ein Konzern für mehrere Marken, angegeben ist
dann die übliche Hauptmarke oder der Konzern.
Das Land ergibt sich unabhängig davon aus den ersten zwei Zeichen nach den
Regionsbereichen der ISO 3780 (country_for); das ist das Land, für das die WMI
vergeben wurde, in der Regel das Land des Werks oder des Herstellersitzes. Die
Bereiche folgen der ISO-Übersicht „WMI Country Code Distribution“, Stand 13.04.2021
(https://standards.iso.org/iso/3780/ed-4/en/Current%20WMI%20World%20Codes%20chart%204.13.21.pdf),
in der Aufschlüsselung der englischen Wikipedia (Abschnitt „World manufacturer
identifier“), geprüft am 2026-10-07.
.. py:function:: manufacturer_for(wmi) :module: obd_diag.data.wmi
Hersteller zur WMI (FIN-Stellen 1-3) oder None, wenn nicht in der Tabelle.
.. py:function:: country_for(wmi) :module: obd_diag.data.wmi
Land nach den ersten zwei Zeichen (ISO-3780-Bereiche) oder None.