# BMW CarData – Fahrzeugdaten für Kompatibilitätstest
Ich sammel Daten von verschiedenen BMW-Modellen um das SoC-Modul für openWB kompatibel zu machen. Mit dieser Anleitung kannst du in wenigen Minuten helfen!
**Deine Daten sind sicher:** VIN und Tokens werden NICHT ausgegeben. Es werden nur die verfügbaren Datenpunkte angezeigt.
## Voraussetzungen
- BMW mit CarData-Zugang (CarData API aktiviert)
- Python 3.8 oder neuer
- Windows, Mac oder Linux
Python herunterladen:
https://www.python.org/downloads/
→ Bei der Installation **"Add Python to PATH"** anhaken!
## Schritt 1 – Dateien herunterladen
Lade diese Datei herunter und lege sie in einen Ordner deiner Wahl:
**`bmw_cardata_test.py`** →
https://github.com/GERDerDennis/bmw-cardata-openwb
## Schritt 2 – BMW CarData Stream aktivieren
Damit Fahrzeugdaten abgerufen werden können muss der CarData Stream aktiviert sein.
1. Gehe auf
https://www.bmw.de → Mein BMW → Fahrzeugdaten → BMW CarData
2. Klicke auf **"Zugang zur CarData API beantragen"** falls noch nicht geschehen
3. Klicke auf **"Datenauswahl ändern"**
4. Aktiviere mindestens diese Datenpunkte:
- `vehicle.drivetrain.electricEngine.charging.level`
- `vehicle.drivetrain.batteryManagement.header`
- `vehicle.drivetrain.electricEngine.remainingElectricRange`
- `vehicle.drivetrain.electricEngine.charging.status`
- `vehicle.vehicle.travelledDistance`
5. **Speichern** – BMW erstellt automatisch einen Container

Nach der Aktivierung kann es einige Minuten dauern bis der Container verfügbar ist.
## Schritt 3 – Client ID und VIN eintragen
Öffne `bmw_cardata_test.py` mit einem Texteditor (z.B. Editor, Notepad++).
Suche diese Zeilen ganz oben und ersetze die Werte mit deiner eigenen Client ID und VIN:
```python
CONFIG = {
"client_id": "DEINE_CLIENT_ID_HIER",
"vin": "DEINE_VIN_HIER",
```
**Client ID** findest du im BMW CarData Portal:
→
https://www.bmw.de → Mein BMW → Fahrzeugdaten → BMW CarData → CARDATA API
**VIN** (17 Zeichen) findest du:
- In der MyBMW App
- Auf bmw.de Meine Fahrzeuge
## Schritt 4 – Authentifizierung
Öffne ein Terminal (Windows: Eingabeaufforderung oder PowerShell) im Ordner mit der Datei und führe aus:
Im Ordner mit der Datei die rechte Maustaste gemeinsam mit der Shift Taste und dann PowerShell Fenster hier öffnen
```
python bmw_cardata_test.py --auth
```
Ein Browser öffnet sich automatisch → Mit BMW-Konto anmelden und bestätigen.
## Schritt 5 – Dump ausführen
```
python bmw_cardata_test.py --dump
```
Die Ausgabe sieht ungefähr so aus:
```
=======================================================
BMW CarData – Alle Datenpunkte (Dump)
=======================================================
VIN: ...N81104 (gekürzt)
Aktive Container: 3
→ Lese Container: T00X007X840XM (BimmerData HV Battery)
30 Datenpunkte gefunden
...
ALLE DATENPUNKTE (31 gesamt):
vehicle.drivetrain.batteryManagement.header: 32 %
vehicle.drivetrain.electricEngine.charging.level: 32 %
...
Fahrzeugmodell:
BMW i iX M60 (I20, BEV)
```
## Schritt 6 – Ergebnis posten
Kopiere die **gesamte Ausgabe** und mir eine Private Nachricht
Bitte ergänze noch:
- Dein BMW-Modell und Baujahr
## Häufige Probleme
**"Python wurde nicht gefunden"**
→ Python nicht installiert oder "Add to PATH" nicht angehakt. Python neu installieren und PATH-Option aktivieren.
**"client_id nicht eingetragen"**
→ Schritt 2 vergessen. Client ID und VIN in der Datei eintragen.
**"Keine aktiven Container"**
→ BMW CarData Stream noch nicht eingerichtet. Im BMW CarData Portal unter "Datenauswahl" mindestens einen Datenpunkt aktivieren und speichern.
**"Tageslimit erreicht (CU-429)"**
→ 50 API-Calls pro Tag verbraucht. Morgen nochmal versuchen.