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).

Note

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 on GitHub.

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.

  • Go to Settings > Devices & Services.

  • 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

Username of your MyBMW/MINI Connected account.

 

China: Your username/phone number must be prefixed with 86, i.e. 8612345678.

Password

Password of your MyBMW/MINI Connected account.

Region

Region of your MyBMW/MINI Connected account.

Captcha token (second step, only for North America and Rest of World)

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.
Read-only

No execution of actions to the vehicle. You can only send POIs to the vehicle via notify.

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

Note

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:

  1. Go to Settings > Devices & services, and select your integration.
  2. On the integration entry, select the .
    • Then, select System options and toggle the button to disable polling. Disable polling for updates
  3. To define your custom polling interval, create an automation.
  4. 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.

Warning

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.

Note

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.

Warning

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.

Note

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) or DELAYED_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 discussions or create a new one.

Removing the integration

To remove an integration instance from Home Assistant

  1. Go to Settings > Devices & services and select the integration card.
  2. From the list of devices, select the integration instance you want to remove.
  3. Next to the entry, select the three-dot menu. Then, select Delete.

Disclaimer

This software is not affiliated with or endorsed by BMW Group.