[APP][Pro] BMW Connected

12-11-2025: Latest version 1.0.11 published to app store. It now uses CarData API in place of the previous ConnectedDrive. This switch has limited the capabilities to readonly. The recommendation is to use the MQTT stream, as the CarData API has a total limit of 50 calls/24hr. If any issues are found report in the Github to make it easier to track. The Github contains instructions on setting up the CarData. PS: The battery information is explicitly not updated frequently in the stream when charging.

28-10-2025: Latest test version 1.0.4 should have most of the basic functionalities working. Please start using the test version and report issues in the Github to make it easier to track. Link to the post on the configuration is [APP][Pro] BMW Connected - #365 by Likhan . PS: I think the battery information is explicitly not updated frequently in the stream when charging. I get updates only once an hour or so.

21-10-2025: I have started updating the app to use the CarData api. The app will now be a read-only app. It will be primarily using the streaming, which provides better updates than polling. Will try to have a fallback to polling as well, but polling will be capped to max 2 per hour as the API block more than 50 requests per 24 hour. As I keep adjusting and fixing issues, will keep pushing update on the test version, anyone interested can use that, but please do not post this is not working and that is not working, as once I have at least the basics covered I will update here.

29-09-2025: Due to recent changes to BMW api this app will no longer function properly. The write and/or actions are completely blocked. The read works but not consistently. If there is any update I will update this post.

BMW Connected connects you to your BMW and the rest of the world.

Features

  • Lock and Unlock door
  • Start and Stop Climate Now (Cars supporting Climate Now functionality might support Heating only/Aircondition)
  • Monitor if the car alarm is armed
  • For PHEV/BEV check the underlying actual battery state of charge
  • Flash lights (Action flow)
  • Blow horn (Action flow)
  • Monitor range (For PHEV/BEV includes battery and fuel only range)
  • Charging status monitor and trigger flows
  • Drive log. Drive session completed flow triggered when vehicle locked and location was changed. This flow also adds additional information about last and current mileage including location information.
  • Refuelling log. Refuelled flow triggered when vehicle is refuelled including how much and location. There is a threshold which can be set in device settings.

Usage

  • Install this app on your Homey
  • Go to the application settings section and save your ConnectedDrive services login
  • Go to Devices are and add BMW Connected device and select the vehicles from the the list that you want to pair

Upcoming feature

  • Monitor Window states
  • Monitor Hood state
  • Monitor Trunk state
  • Update Charging profile
  • Monitor Last status update

Useful links

7 Likes

Release Info
Latest release: 0.0.9
Test release: 0.0.16 Added flow trigger to improve log odometer readings. Added text address capability. Added flow trigger when refuelled.

1 Like

Changelog
0.0.1: Ability to add BMW with Connected Drive Services
0.0.5: Improved capability detection for older cars. Added Remaining Fuel capability. (Also fixed BEV capability detection)
0.0.9: Added lock unlock flow for older cars. Added location capability and geofence based flow triggers. Added logging.
0.0.11: Fixed issue with fresh install.
0.0.16: Added flow trigger to improve log odometer readings. Added text address capability. Added flow trigger when refuelled.

Frequently Asked Questions

TODO List

  • Add geofence using maps
  • Window states capability
  • Hood state capability
  • Trunk state capability
  • Charging control capability
  • Last status update
  • CBS

Thinking of creating a separate ClimateNow device so that it works with google home. Thoughts?

3 Likes

Greaaaaaat man, great, great, great.
I added my X1 successfully: message, light, Horn, worked as well. I’ll test the other actions.
Thanks again for this great app.
I did not see the button for donation.

1 Like

Hey @Likhan - great app - thank you for creating.

I have a 2015 BMW X5 and successfully connected to the service through Homey, and I want to add a ‘lock car’ action to a flow, but when I select the vehicle I don’t get that option.

See https://i.imgur.com/pn6F9HM.png

I do have the option to lock the car via the My BMW app, so I’m wondering why it’s not showing in Homey?

@goatboy currently the lock action is wired upto thw built in lock capability in homey which also has the flow configuration. If the car cannot report back the status, then the lock capability is disabled as the status cannot be updated in homey. However, I am aware of this limitation, planning on atleast adding a custom lock/unlock flow separately.

Thanks @Moussa_BA. The donate link is in the app’s page in homey. PayPal.Me

@goatboy can you try the test version of the app from here. Please remove the car and add it again, and you should get the lock/unlock flows. If everything works let me know then I will publish the app to the store.

Thank you @Likhan - it works perfectly.

The new test version of the app has location capability along with geofencing based triggers.

Hey @Likhan - thanks for the latest release. Two questions for you:

  1. With the new location capability I can see the ‘location changed’ trigger. Do you have any idea how to create a flow that allows for ‘then’ actions when the vehicle enters a geofence? eg. open garage.

  2. My car has factory alarm, but I don’t get the ‘if alarm is armed/disarmed’ ‘And’ option in flows. Is that because it’s an older model?

@goatboy you can create a flow with trigger as follows


And then in the condition you can yse a logic flow and use the ‘Label’ tag and check against the label you used in geofence like follows

However, as yours is 2015 I am not sure what status is returned from bmw as the most oldest I tested with is 2016 LCI post July build. Based on the status returned capabilities are enabled in the device. If you can send the diagnostic report with trace level and logging enabled I can get back to you with more detailed info.

For the other issue can you enable logging and set it to trace and keep the app running for a while and send in the diagnostic report from the app. I will try to see what is the cause. Remember to set the trace level back to information and disable logging.

1 Like

Thanks again @Likhan - so I need to create that label with relevant location data in the app settings right? Is the radius there in metres?

Also, I notice you removed the polling frequency setting - is that because you need to be polling in near real time for geofencing?

I’ve setup logging and will upload to you once there is data there in coming days.

Hi likhan,

Thx for developing n linking BMW app to homey! I just started using it and getting excited about the possibilities!

Was also wondering for normal petrol car, are the following “parameters” available?

Thx again for the app!



Juz realised there maybe some parameters BMW took out from the old app. Have a look at my old BMW connected app.

@AlexToh can you try the latest version, the fuel and the range should be available. The CBS status I will add in the todo list.

Yo. Yes, the mileage n fuel parameters are shown in homey app. But I am trying to create a use case to alert me when my car is low on petrol :sweat_smile:

Or when I have warnings appearing like engine oil n tire pressure warnings (not sure r these part of CBS) but they r on our BMW connected.

@AlexToh aah ok. Will add the flows in the next release. The cbs condition based service functionality is what reports those values. I have them in the api just not exposed.