BavarianData

Your BMW, live in Home Assistant.

BavarianData connects Home Assistant directly to BMW CarData, BMW's official data service. Charge level, doors, tires and position arrive over a live stream within seconds, and a charging history, trip journal and battery-health figure are built from it.

  • In the HACS default store
  • Free, MIT licensed
  • Read-only: never commands the car
  • BMW and MINI

This is the real card from the integration, running on a real i5 eDrive40's data. Places and routes are made up. Tap a tile.

What the car sends

Each line is a value from BMW's CarData stream. BavarianData turns every one of them into a Home Assistant entity with the right unit, device class and a name in your language. Browse all 295 descriptors

Is the Connected Drive integration stuck on “unavailable”?

BMW blocked it on 29 September 2025. BMW CarData is the official successor. Here's how to move your dashboards and automations across.

See how to switch

Straight from the car to your home

Your BMW or MINIreports when something changesBMW CarDataMQTT streamlive, no quotaREST API50 requests / 24 hHome AssistantBavarianData: entities, history, card
No cloud in between
Home Assistant holds the tokens and is the only client. No third-party server ever sees your data.
Your own client ID
You create it in the BMW portal and authorize it once in the browser. Home Assistant stores no password.
Live, not polled
The MQTT stream delivers each value as soon as the car sends it, and costs no API quota.
Read-only
CarData has no command interface. Locking or climate control stays in the MyBMW app.

More than the raw data

Everything here is computed from the stream, stored in Home Assistant, and spends not a single API request.

Charging history and cost

Every charge with its energy, cost from your tariff, power curve, and where the electricity came from: solar, house battery or grid.

How it works

Trip journal

Every drive detected, with distance, energy, where it started and ended, sorted into business, private or commute, and drawn on a map.

How it works

Real range

Consumption measured from your own driving, and the range that follows from it, right next to the car's own prediction.

How it works

Set up in four steps

  1. Create a CarData client

    In the BMW or MINI portal, create a client and subscribe it to CarData API and Streaming.

  2. Install from HACS

    Find BavarianData in the HACS default store, install it, restart Home Assistant. Needs Home Assistant 2026.3 or newer.

  3. Add and authorize

    Add the integration and approve your BMW account once in the browser.

  4. Pick data, place the card

    Choose what the car streams and put the card on a dashboard.

Questions people ask

What does it cost?

Nothing. BavarianData is open source under the MIT license, and BMW CarData is free for your own car.

Can it lock the car or start the climate?

No. CarData is read-only and has no command interface, so no CarData integration can control the car. Use the MyBMW app for that.

Which cars work?

BMW and MINI cars that support CarData: electric, plug-in hybrid or combustion. The card adapts to the drivetrain. BMW motorcycles stream no data.

Where is it available?

Wherever BMW offers the CarData portal for your account. The client ID is account-wide and covers every car on it.

Does it need my MyBMW password?

No. You authorize your own client once in the browser; Home Assistant only receives tokens and refreshes them itself.

Is there a limit?

BMW allows 50 REST requests per 24 hours. The live stream doesn't count against it, and the integration spends the rest sparingly.

Can I run it next to another CarData integration?

BMW allows one stream per account. Two stream clients on the same account keep knocking each other off, so pick one.

Is it working for you?

BavarianData is a spare-time project. A star on GitHub costs you one click and helps other BMW owners find it.