Add BMW CarData vehicle module (SoC, range, charging status)#3251
Add BMW CarData vehicle module (SoC, range, charging status)#3251GERDerDennis wants to merge 42 commits intoopenWB:masterfrom
Conversation
Add BMW CarData SoC module - auth wrapper scripts Add auth_start.py and auth_status.py as wrapper scripts for the BMW CarData authentication flow.
|
Seit dem initialen Commit wurde das Modul erheblich weiterentwickelt und auf einer eigenen openWB-Testinstallation (Proxmox VM, Debian 11, openWB 2.1.9-Patch.2) getestet. Natives openWB SoC-Modul vollständig implementiert Getestete Fahrzeuge: BMW iX M60 (2023) – vollständig funktionsfähig Weitere Fahrzeuge noch nicht getestet. Feedback willkommen. |
|
Update zum aktuellen Stand: Die bisherige PHP-Bridge mit sudoers-Regel wurde vollständig ersetzt. Auth-Architektur (neu):
Weitere Verbesserungen:
Getestete Fahrzeuge:
Noch offen:
|
Fix auth UI: show user_code regardless of connection state, simplify auth button
Add odometer support via vehicle.vehicle.travelledDistance
|
Update 29.03.2026 Wird über vehicle.vehicle.travelledDistance abgerufen Auth-UI Fixes: User-Code und Verification-URL werden jetzt auch angezeigt wenn bereits eine Verbindung besteht Aktueller Stand: SoC, Reichweite, Ladestatus und Kilometerstand werden korrekt abgerufen ✅ |
|
Update: Feedback eingearbeitet urllib → req.get_http_session() Testmodus entfernt Auth-Status im Broker statt Datei Unit Tests aktualisiert |
benderl
left a comment
There was a problem hiding this comment.
Wie Lena schon geschrieben hat, bitte die Vue-Datei in einen PR gegen das Settings-Repo packen. Die beiden PHP-Dateien gehören auch dort hin. Im Pfad public/modules/vehicles/ findest Du schon vergleichbare Dateien für die Tesla und Mercedeseq SoC-Module.
|
Danke für das ausführliche Feedback! Ein Großteil der angesprochenen Punkte ist bereits im aktuellen Stand umgesetzt:
Zusätzlich werde ich:
Einige vorgeschlagene Änderungen beziehen sich auf ältere Code-Stände und sind im aktuellen Branch bereits angepasst. Falls ich etwas übersehen habe, gerne nochmal kurz Bescheid geben 🙂 |
…ponse.status_code
|
Die vehicle.vue wurde in einen separaten openwb-ui-settings PR verschoben: |
|
Bitte noch nach den Flake8-Meldungen schauen. |
Flake8-Fehler wurden behoben: HTTPError und store Imports entfernt, Whitespace-Probleme in soc.py und soc_test.py korrigiert. Lokal läuft flake8 ohne Fehler durch. |
This PR adds an initial BMW CarData integration for openWB vehicles.
Features
Background
BMW CarData often returns an empty container list even with valid authentication and vehicle mapping.
This implementation detects that condition and automatically creates a minimal container, allowing telematic data retrieval without manual intervention.
UI
Notes
Status
Work in progress. Further improvements planned:
Feedback is very welcome.