After BMW disabled access for bimmerconnected, an alternative solution was required.
The best working replacement is the new BMW CarData MQTT streaming interface,
which this bridge connects to and forwards to your local MQTT broker.
A small C++ bridge that connects BMW ConnectedDrive CarData (MQTT) to your local Mosquitto MQTT broker.
It authenticates via the official BMW OAuth2 device flow and continuously republishes vehicle telemetry in real time.
You can run it directly on Debian/Ubuntu/Raspberry Pi or inside a Docker container – both options are fully supported.
- MQTT v5 protocol with reason codes and reconnect logic
- Automatic token refresh using BMW’s
refresh_token - Local watchdog & reconnect if the BMW broker drops the connection
- Publishes a small JSON status message (
bmw/status) showing online/offline state - Lightweight: depends only on
libmosquitto,libcurl, andnlohmann/json(header-only) - Runs perfectly on Debian, Ubuntu, or Raspberry Pi OS
- Docker support with ready-to-use
docker-compose.yml
📘 Full documentation:
➡️ https://dj0abr.github.io/bmw-mqtt-bridge/
git clone https://github.com/dj0abr/bmw-mqtt-bridge.git
cd bmw-mqtt-bridgeChoose one of the installation methods described in the documentation:
MIT License © 2025 Kurt, DJ0ABR
See LICENSE for details.