BMW Connected Drive

The bmw_connected_drive integration lets you retrieve data of your BMW vehicle from the BMW Connected Drive portal. You need to have a working BMW Connected Drive account and a Connected Drive enabled vehicle for this to work.

The bmw_connected_drive integration also works with (recent) Mini vehicles. You need to have a working Mini Connected account, and a Mini Connected enabled vehicle for this to work.

The entities 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.

For compatibility with your BMW vehicle check the bimmer_connected page on GitHub.

This integration provides the following platforms:

  • 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.
  • Numbers: Display and control numeric charging related settings for (PH)EVs.


Enable the BMW Connected Drive integration via Settings -> Devices & Services.

For china, it is mandatory to prefix your username/phone number with 86, i.e. 8612345678.

After connecting to your account, you can set the following settings in the integration’s options:

Setting Description
Read-only No execution of services to the vehicle. Still possible to send messages and POIs via notify and to request a status update via bmw_connected_drive.update_state.


The bmw_connected_drive integration offers a notification service. Using this service 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 service is notify.bmw_connected_drive_<your_vehicle>.

Send a Point of Interest to your vehicle

  service: notify.bmw_connected_drive_<your_vehicle>
    message: The name of the POI # this is shown on the iDrive dashboard
        latitude: 48.177024
        longitude: 11.559107
        street: Street name  # Optional
        city: City name  # Optional
        postal_code: Postal Code  # Optional
        country: Country  # Optional


The vehicle can be locked and unlocked via the lock integration that is created automatically for each vehicle. Before invoking, make sure it’s safe to lock/unlock the vehicle in the current situation.


The bmw_connected_drive integration offers several buttons to trigger actions in your car. The buttons are automatically created and can be pressed/executed from the UI or using the service. Please see the button documentation for more information.

Using these buttons will impact the state of your vehicle. So use these services with care!

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

Some newer cars also support stopping an active air conditioning with the button.<your_vehicle>_deactivate_air_conditioning button.

This will only work if you have the option to stop the AC in the MyBMW app. If your car doesn’t support this service, nothing will happen.

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

Update the state / refresh from cloud

The button.<vehicle_model>_refresh_from_cloud button fetches the last state of the vehicles of all your accounts from the BMW server. This does not trigger an update from the vehicle; it gets the data from the BMW servers. So this service does not interact with your vehicles.


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 service. For more information, please see the select documentation.

Using these selects will impact the state of your vehicle. Use them with care!

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


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 service. For more information, please see the number documentation.

Using these selects will impact the state of your vehicle, use them with care!

  • Target SoC: Vehicle will charge until this battery level is reached. Not available on all EVs.


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