Skip to content

Getting Started 4 Choose Data

Chris edited this page Jul 25, 2026 · 5 revisions

4. Choose which data to stream

BMW only streams the descriptors you tick under Data Selection in the portal, and it offers no API to set that selection — it is portal-only. Rather than hand-picking hundreds of technical fields, the integration builds the selection for you.

These screens appear automatically at the end of step 3, and you can re-run them any time from Configure → Choose streamed data.

Steps

  1. Pick the clusters you want (Electric vehicle, Vehicle status, Tire data, …). The defaults are a sensible starting set; your choice is remembered and the picker re-opens pre-filled next time.

    Choose streamed data dialog with a multi-select of clusters (Electric vehicle, Vehicle status, Vehicle events, Tire data, …)

  2. The next screen shows a browser-console snippet generated for exactly those clusters. Copy it.

  3. In the BMW portal, open Data Selection (Datenauswahl ändern) and click Load more until every field is listed. Open the browser console (F12 → Console), paste the snippet, and press Enter. It ticks only the checkboxes belonging to your chosen clusters — leaving any other selections untouched — and logs how many it matched.

  4. Save the selection in the portal, then press Submit in Home Assistant to finish. Repeat the portal step for each vehicle.

  5. Trigger something in the MyBMW app (lock/unlock) to nudge the car into sending its first update.

Widening or narrowing later

Re-run this any time from Configure → Choose streamed data. Requesting per-descriptor streaming scopes instead of a portal selection is rejected by BMW — see stream-scope-investigation.md. The full field-per-cluster breakdown lives in telematics-fields.md.

Which clusters power which features

Some derived features need specific clusters in the stream:

  • Extrapolated state-of-charge helpers need the Electric vehicle cluster — specifically vehicle.drivetrain.batteryManagement.header, vehicle.drivetrain.batteryManagement.maxEnergy, vehicle.powertrain.electric.battery.charging.power, and vehicle.drivetrain.electricEngine.charging.status.
  • Charging history, cost and battery health need charging power from the Electric vehicle cluster.
  • Charging Cost per 100 km additionally needs the odometer (Vehicle status cluster).
  • Trips are reconstructed from live GPS in the stream.

Did it work?

If you enabled a cluster but no entities appeared, run the bavariandata.get_coverage_report service (or Configure) — it compares the descriptors your selected clusters should deliver against those that have actually arrived, and lists any missing ones. It answers "is it my selection, my car, or a bug?" and spends no API quota. See Services reference.

Done! Head to The dashboard card to build a dashboard.

Clone this wiki locally