BMW Connected Drive
The BMW Connected Drive integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] lets you retrieve data of your BMW or MINI vehicle from the MyBMW portal (previously BMW Connected Drive).
The entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] available in Home Assistant heavily depend on your vehicle’s capabilities (model year, headunit, etc.). The integration will make sure all available car attributes are added as entities.
Prerequisites
You need to have an active MyBMW account with a connected car. For MINI vehicles, you register with MINI Connected.
For compatibility with your BMW vehicle check the bimmer_connected page
Configuration
To add the BMW Connected Drive integration to your Home Assistant instance, use this My button:
Manual configuration steps
If the above My button doesn’t work, you can also perform the following steps manually:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the
Add Integration button. -
From the list, select BMW Connected Drive.
-
Follow the instructions on screen to complete the setup.
Username of your MyBMW/MINI Connected account.
China: Your username/phone number must be prefixed with 86
, i.e. 8612345678
.
The North America and Rest of World regions require a captcha challenge to be solved, that means you need to verify that you are not a robot.
- After entering your login data, a second step will ask for a
Captcha token
and provide you with a link to a website. - Open this link, solve the “Are you a human?” challenge and press Submit.
- Copy the resulting token into Home Assistant and continue.
No data of your Home Assistant instance is shared with any third party during this step.
Options
Options for BMW Connected Drive can be set via the user interface, by taking the following steps:
- Browse to your Home Assistant instance.
- Go to Settings > Devices & Services.
- If multiple instances of BMW Connected Drive are configured, choose the instance you want to configure.
- Select the integration, then select Configure.
Data updates
The integration will pull data from MyBMW/MINI servers at the following intervals:
Region | Interval |
---|---|
China | 5 minutes |
North America | 10 minutes |
Rest of world | 5 minutes |
This will only refresh data from the BMW/MINI servers and not from your car. Updates from the car to the servers typically happen:
- for combustion engine vehicles when the car is parked and the engine is shut off.
- for electric vehicles when the car is parked and turned off or while the car is charging.
While driving, the servers are not updated.
Defining a custom polling interval
If you want to define a specific interval at which your device is being polled for data, you can disable the default polling interval and create your own polling automation.
To add the automation:
- Go to Settings > Devices & services, and select your integration.
- On the integration entry, select the
. - Then, select System options and toggle the button to disable polling.
- To define your custom polling interval, create an automation.
- Go to Settings > Automations & scenes and create a new automation.
- Define any trigger and condition you like.
- Select Add action, then, select Other actions.
- Select Perform action, and from the list, select the
homeassistant.update_entity
action.
- Save your new automation to poll for data.
Available platforms
This integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] provides the following platformsPlatforms are building blocks provided by some integrations to be used by other integrations. [Learn more]:
- Binary sensors: Doors, windows, condition based services, check control messages, parking lights, door lock state, charging status (electric cars) and connections status (electric cars).
- Device tracker: The location of your car.
- Lock: Control the lock of your car.
- Sensors: Mileage, remaining range, remaining fuel, charging time remaining (electric cars), charging status (electric cars), remaining range electric (electric cars).
- Notifications: Send Points of Interest (POI) to your car.
- Buttons: Turn on air condition, sound the horn, flash the lights, update the vehicle location and update the state.
- Selects: Display and control charging related settings for (PH)EVs.
- Switches: Display and toggle settings on your car.
- Numbers: Display and control numeric charging related settings for (PH)EVs.
Every platform except binary sensors and sensors can change the state of your vehicle. Once you change the state in Home Assistant, a command is sent to your car.
Use with care!
Notifications
The BMW Connected Drive integration offers a notification action. Using this action you can send Points of Interest (POI) to your vehicle. In your vehicle, you can select this POI, and the navigation will automatically start using the POI as a destination.
The name of the action is notify.bmw_connected_drive_<your_vehicle>
.
Send a Point of Interest to your vehicle
...
actions:
- action: notify.bmw_connected_drive_<your_vehicle>
data:
message: The name of the POI # this is shown on the iDrive dashboard
data:
latitude: 48.177024
longitude: 11.559107
street: Street name # Optional
city: City name # Optional
postal_code: Postal Code # Optional
country: Country # Optional
Lock
The vehicle can be locked and unlocked via the lock integration that is created automatically for each vehicle.
If your vehicle does not provide its current state (no sensor entities are created), you will not see the current lock state either. You still can lock/unlock the car.
Buttons
Buttons are used to trigger actions in your car. The buttons are automatically created and can be pressed/executed from the UI or using the button.press
action. Please see the button documentation for more information.
Air conditioning
The air conditioning of the vehicle can be activated with the button.<your_vehicle>_activate_air_conditioning
button.
What exactly is started here depends on the type of vehicle. It might range from just ventilation over auxiliary heating to real air conditioning. If your vehicle is equipped with auxiliary heating, only trigger this action if the vehicle is parked in a location where it is safe to use it (e.g., not in an underground parking or closed garage).
Sound the horn
The button.<your_vehicle>_sound_horn
button sounds the horn of the vehicle. This option is not available in some countries (among which the UK). Use this feature responsibly, as it might annoy your neighbors.
Flash the lights
The button.<your_vehicle>_light_flash
button flashes the lights of the vehicle.
Vehicle finder
The button.<your_vehicle>_find_vehicle
button requests the vehicle to update the GPS location. This can be used for older vehicles which don’t automatically send the updated GPS location.
Using this action will send your Home Assistant location to BMW, as this is required by the API (like sharing your mobile phone’s location with the MyBMW app for vehicle tracking).
If you do not want this, trigger the vehicle_finder
action from your phone and it should update in Home Assistant within 5 minutes.
On some older cars (non i3/i8 series produced before 7/2014) this action will fail in getting your vehicles position, if the vehicle is more than 1.5 km away from the location of your Home Assistant instance. This is a limitation of the BMW API.
Selects
If you have a (PH)EV, you can control the charging process through Home Assistant. The selects are created automatically depending on your vehicle’s capabilities and can be pressed/executed from the UI or using the select.select_option
action. For more information, please see the select documentation.
-
Charging Mode: Vehicle can be set to
IMMEDIATE_CHARGING
(charge as soon as plugged in) orDELAYED_CHARGING
(charge only if within charging window). It can be used to start/stop charging if the charging window is set accordingly. - AC Charging Limit: The maximum current a vehicle will charge with. Not available on all EVs.
Switches
If supported by your vehicle, you can display and toggle remote actions with start/stop functionality.
- Climate: Toggle vehicle climatization. It is not possible to force it to heat or cool; the vehicle will decide on its own. If turned on, it will run for 30 minutes (as if toggled via the MyBMW app).
- Charging: Toggle vehicle charging if plugged in. Only available on some electric vehicles.
Numbers
If you have a (PH)EV, you can control the charging process through Home Assistant. The number entities are created automatically depending on your vehicle’s capabilities and can be changed from the UI or using the number.set_value
action. For more information, please see the number documentation.
- Target SoC: Vehicle will charge until this battery level is reached. Not available on all EVs.
Troubleshooting
Problem: Invalid authentication
This can happen during initial login or after some time. Please do the following steps:
- Log in to your MyBMW website and verify your credentials (for example, ensure that username and password are correct).
- If you cannot login on the website, please deactivate polling (see Defining a custom polling interval) and wait for at least 24 hours.
- Once you can login to the website, reconfigure/reauthenticate the integration via Settings > Devices & services, click
and select Reconfigure. - Activate polling again
Problem: Captcha validation missing
Sometimes, your account can be force-logged-out. For North America and Rest of World, the recovery requires manual intervention.
Home Assistant will show a repair issue to reconfigure the integration. Follow the steps to log in again.
Known limitations
- The entities available to Home Assistant depend on your vehicle. Even inside the same model code (for example, U11 for BMW X1) you will see different entities, depending on your specific car’s features.
- Not all features, mostly related to charging control for (PH)EVs, are implemented. If you have a functionality in your MyBMW/MINI app that is not yet available, search for an existing feature request in the
bimmer_connected
discussionsor create a new one.
Removing the integration
To remove an integration instance from Home Assistant
- Go to Settings > Devices & services and select the integration card.
- From the list of devices, select the integration instance you want to remove.
- Next to the entry, select the three-dot
menu. Then, select Delete.
Disclaimer
This software is not affiliated with or endorsed by BMW Group.