Documentation Jeedom plugins · Xav-74
English
Home /My BMW /Documentation

My BMW

Plugin documentation — Market page.

Overview

This plugin lets you interact with your BMW or Mini vehicle equipped with Connected Drive services, just like the official “My BMW” or “Mini” app.

Tip

The minimum version of Jeedom required for the plugin to work properly is version 4.4 The plugin is already compatible with version 4.6 of Jeedom as well as Debian 12

Principle

This plugin interacts with the official BMW Connected Drive APIs via the cloud; therefore, this plugin requires an Internet connection.

You must also have a valid subscription to BMW Connected Drive services for your vehicle, as well as a valid primary user account for the “My BMW” or “Mini” app.

Setting Up Your BMW or Mini User Account

Before you can use the plugin, you must set up your BMW user account. Please follow these steps carefully:

  1. Log in to the BMW ConnectedDrive or Mini ConnectedDrive portal
  2. Click the BMW CarData icon

CarData

  1. Click the “Create a CarData Customer” button
  2. Make sure to copy your customer ID and keep it in a safe place!
  3. Please wait 30 seconds
  4. Click on “Request access to the CarData API”
  5. Wait 30 seconds (if the toggle does not switch back to “off” and you do not see an error message, you can continue; otherwise, you must repeat this step)
  6. Click on “CarData Streaming”
  7. Wait 30 seconds (if the toggle does not switch back to “off” and you do not see an error message, you can continue; otherwise, you must repeat this step)

CarData

  1. Go to the CarData Stream section
  2. Verify that the connection status is “ready”

CarData

  1. Click the “Edit Data Selection” button
  2. Select “All Categories” (Vehicle Status, Charging, Trip Data, etc.), then click the Load button several times to display all attributes
  3. Select the 244 individual attributes manually, or press F12 to open the developer console and type: (copying and pasting is not allowed)

    document.querySelectorAll('label.chakra-checkbox:not([data-checked])').forEach(l => l.click());
    
  4. Then save your configuration
  5. Make sure to write down the username somewhere safe!

Important

It is important that all attributes be checked in order to receive all vehicle data.

Plugin Configuration

After downloading the plugin, simply activate it, then configure the client ID and username you obtained in the previous step. Leave the other fields blank unless specifically instructed to fill them in by the developer. Then wait for the dependencies to finish installing and for the daemon to start.

Tip

To make it easier to request remote assistance, we recommend setting the logs to debug mode.

Setup

Add a vehicle

You can configure MyBMW devices from the Plugin > Connected Devices menu.

Add Vehicle

Click the Add command to create a new vehicle. Once added, you will see:

Field Description
Device Name your vehicle’s name
Parent object indicates the parent object to which the device belongs
Category equipment category
Activate turns your device active
Visible makes your devices visible on the dashboard
Make Enter your vehicle’s make (BMW or Mini)
VIN Enter the VIN, or Vehicle Identification Number. You can find this number in box E of your vehicle registration certificate. This number consists of 17 characters.
Door/Window Status Display You can choose between two options for displaying the status of doors and windows on the panel: text mode or icon mode.
Port/Window Icon Colors If you’ve selected icon mode, you can also choose the color of the icons (green or black & white).
Home (presence) You have three options for specifying the GPS coordinates of your home: either by using the coordinates entered in Jeedom, by using the vehicle’s current coordinates, or by manually entering the latitude and longitude.
Maximum Distance (in m) Enter the maximum distance in meters between your home and the vehicle for the vehicle to be considered present at your home.

Then simply click the Authentication button to retrieve your vehicle’s information (if available, you’ll see the model, year, engine type, and an image of your vehicle). A pop-up window will open (Be mindful of your browser’s pop-up blocker; disable it if necessary) so you can log in using your BMW account credentials (email and password). You have 5 minutes to do this, and you should see a “Login Successful” message when you’re done.

Tip

Don’t forget to save your information! When you save, new commands will be created on the device.

Equipment

Raw data

To make troubleshooting easier in case of a problem, you can retrieve your vehicle’s raw data by clicking the Raw Data button. Please note: Before posting this data on the forum, for example, be sure to hide sensitive information such as the VIN!

Commands

There are currently several commands, which are described below.

Tip

If the command returns “not available,” it means that the corresponding information is not available for your vehicle.

Info

Command Description
Brand the vehicle’s brand (BMW or Mini)
Model vehicle model
Year vehicle year
Type electric, thermal, or hybrid
Mileage total vehicle mileage
Locking retrieves the vehicle’s lock status
Front Driver’s Door Status the status of the front driver’s door
Rear Driver’s Port Status the status of the rear driver’s port
Front Passenger Port Status the status of the front passenger port
Rear Passenger Port Status the status of the rear passenger port
Status of all doors the overall status of the four doors
Front Driver’s Window Status the status of the front driver’s window
Rear Driver’s Window Status the status of the rear driver’s window
Front Passenger Window Status the status of the front passenger window
Rear Passenger Window Status the status of the rear passenger window
Status of all windows the overall status of the four windows
Trunk Status the condition of the trunk
Engine Hood Status the status of the engine hood
Sunroof Status the status of the sunroof
Front left tire pressure the measured pressure of the front left tire
Front Left Tire Inflation Guidelines the recommended inflation pressure for the front left tire
Front Right Tire Pressure the measured pressure of the front right tire
Front Right Tire Inflation Guidelines the recommended inflation pressure for the front right tire
Left rear tire pressure the measured pressure of the left rear tire
Left Rear Tire Inflation Guidelines the recommended inflation pressure for the left rear tire
Right Rear Tire Pressure the measured pressure of the right rear tire
Right Rear Tire Inflation Guidelines Recommended inflation pressure for the right rear tire
Charging Status the current charging status (only for electric or hybrid vehicles)
Socket Status the connection status of the charging cable (only on electric or hybrid vehicles)
Charge completion time the estimated charge completion time (for electric or hybrid vehicles only)
Remaining Charge the remaining battery charge level (only on electric or hybrid vehicles)
Remaining km (electric) remaining electric range (electric and/or hybrid motor)
Remaining Fuel the amount of fuel remaining in the tank (only on gasoline or hybrid vehicles)
Remaining km (internal combustion) remaining range on internal combustion power (internal combustion engine)
Messages displays the messages shown in the vehicle (controls and services)
Charging Sessions displays statistics on battery charging for the current month (for electric or hybrid vehicles only)
Total electrical charge shows the total electrical charge used during the current month (for electric or hybrid vehicles only)
Total electricity cost shows the monthly cost of electricity
Charging Target displays the configured electric charging target for the vehicle (in %)
Charging current limit specifies the maximum charging current when the vehicle is plugged in
Charging Current Limit provides information on whether a charging current limit is enabled or disabled for the vehicle
GPS coordinates returns the vehicle’s location in the format “latitude,longitude”
Last Update shows the date and time of the last connection between the car and the BMW servers
Unlock Status returns the last status received during an unlock request. If the action was successfully completed, the status changes from “PENDING” to “EXECUTED.” Otherwise, it returns “ERROR”
Lock Status the last status received during a lock request (same values as Unlock Status)
Charging Status the last status received when a charge start request was made
Stop Charging Status the last status received when a request to stop charging was made
Ventilation Status the last status received when a request to start ventilation was made
Ventilation Stop Status the last status received when a request to stop ventilation was made
Headlight Flash Status the last status received during a headlight flash request
Horn Status the last status received during a horn request
Status Search the last status received during a location request
POI Send Status the last status received when sending a point of interest
At Home indicates whether your vehicle is at your home (1 = present, 0 = absent) based on the maximum distance specified
Distance from home indicates the distance (in meters or kilometers) between the vehicle and your home

Action

Command Description
Refresh updates all vehicle information
Lock allows you to lock the car remotely
Unlock allows you to unlock the car remotely
Charge starts charging the vehicle
Stop Charging stops the vehicle from charging
Ventilation (Start) starts the ventilation system at the temperature set in the vehicle
Ventilation (Stop) stops the ventilation system at the temperature set in the vehicle
Headlight flash triggers a headlight flash
Honk triggers an audible alert
Search locates the vehicle in real time and displays it on a Google Maps map
Send POI Send a point of interest (POI) to the vehicle’s message center by entering the name, latitude, and longitude of the location

Please note

As of now, only the Refresh function is operational. The other actions will be functional again once the BMW APIs allow it!

Dashboard

The plugin includes a custom widget that displays all the vehicle’s essential information.

myBMW Widget

Panel

If you have checked the Show Desktop Panel option on the plugin’s configuration page, you will be able to view a panel dedicated to your vehicle that consolidates all the information available in this plugin. It can be accessed via the Home \ My BMW menu

myBMW Panel

myBMW Panel

Tip

To display the graphs, be sure to check the Log option for the following three commands: Mileage, Remaining Charge, and Remaining Fuel.

Refresh

Automatic

Thanks to the MQTT stream, you receive most of your vehicle’s information in real time (mileage, fuel level, battery status, vehicle lock status, door and window status, location, etc.)!

A customizable CRON job is also created (set to run every 2 hours, 5 minutes past the hour) to retrieve non-streamable information (control messages, service messages, and charging history). Be careful not to increase this frequency too much, or you may exceed the request quota allowed by BMW (50 per day)!

Manual

You can use the Refresh command at any time to retrieve vehicle statuses.

Please note

BMW limits requests to 50 per day, so don’t manually refresh too often (the current CRON job uses 24 requests per day), or you risk being blocked until the next day.

Roadmap & Support

This plugin will evolve over time based on your requests and the capabilities of the BMW Connected Drive APIs.

Tip

You can submit a request for an enhancement by creating an “enhancement” issue on GitHub. Feel free to join the discussion about this plugin on the Jeedom Community!

If a problem occurs, you can create a thread directly on the Community from the plugin’s main page. Relevant information from Jeedom and the plugin is automatically included. Feel free to copy the myBMW, myBMW_daemon, and myBMW_update (debug mode) logs to help resolve the issue more quickly!

Community