[BETA RELEASE] BMW ConnectedDrive

DISCLAIMER: I provide this to you as is with no guarantee implied or otherwise. I take no responsibility for any issues caused by you using this SmartApp, including but not limited to your car being unlocked unexpectedly.

NOTE: This SmartApp / Device Type does not work in the USA or Canada at the moment. BMW USA use different authentication protocols than the rest of the world. I’m working on a fix

I just got myself and my wife BMWs and found that they have something called ConnectedDrive. Turns out ConnectedDrive can be driven via REST api requests. So I have started developing a SmartApp and Device Type which will let me add our cars into SmartThings. It currently does the following:

  • Authenticate with ConnectedDrive
  • Add separate devices for each car registered to your ConnectedDrive account
  • Get the following info:
    • Image of your car
    • Mileage
    • Car location
    • Service information
    • Automatic map update status
  • Allow you to perform the following actions
    • Flash lights
    • Unlock car
    • Lock car
    • Start ventilation

I have enabled the following capabilities in the app (allowing other SmartApps / devices to interact with your car):

  • Lock (Lock / unlock your car)
  • Thermostat Fan Mode (Allows other apps to turn your cars fans on)
  • Light (Allows other apps to flash your cars lights)

These capabilities allow scenarios such as:

  • ‘If the temperature outside is 20 degrees, turn on ventilation’
  • Flash car headlights if motion is detected on the drive CCTV camera
  • ‘when mode changes to night, lock car doors’

In order for this to work, you must be subscribed to BMW ConnectedDrive and able to perform these same actions using the BMW ConnectedDrive app on your phone. To find out if you are, goto https://www.bmw-connecteddrive.co.uk/app/index.html#/portal and sign in or register.

Install the SmartApp and DeviceType, then add install the SmartApp through your phone. Please let me know how you get on.

SmartApp:

DeviceType:

6 Likes

I don’t have a BMW, but just wanted to say that this is pretty awesome. I’m assuming that the ventilation portion of this is equivalent to the remote start feature but better (no need to use gas)?

1 Like

Thanks @chewie8han- The ventilation turns the cars climate control for 30 minutes. It will only heat the car if your car has the optional auxiliary heater option. It’s great for if you have leather seats and its a hot day.

This looks awesome… I am in the US and the links in the app are for the UK. Would you have the API documentation for the US? I tried google but was not very lucky. I am am not a programmer but I may be able change your code to create a US version… unless you add a selector for country in your code :wink:

Again… awesome project! I would not have thought this would ever happen after it went very quiet after the announcement 2 years ago:

1 Like

It should just work, if it doesn’t then i will add a country selector during setup in the SmatApp. Please let me know either way. Glad you like the project :slight_smile:

It is a shame that Samsung stopped development of the BMW ConnectedDrive app, as it would have added options directly in the BMW iDrive screen for monitoring your home security system / triggering routines and the rest. It’s more frustrating than anything that no official word was given on the state of it.

1 Like

Hm… It does not work in the app. I think accounts are different for the US and UK. I also found this thread in the forum. This may not work in the US because the web site is more limited. We can not see vehicle status information here or torn on the e.g. fan. This only works through the phone app. :frowning:

I tried changing "bmw-connecteddrive.co.uk " to “connecteddrive.bmwusa.com”.

I also tried changing the authenication server to “https://b2vapi.bmwgroup.us” based on this post.

I am happy to test more if needed… or if you have any other ideas :slight_smile:

Could you use the code from git and get me all the logs which are output? send me a PM. If you are happy to provide me with a temporary auth token from BMW and your VIN then i can see if i can make it work. IF we can even get that far!

The authentication server you mention there is specifically for i3 / i8 cars which have significantly more info than none i cars.

Gotta have something nice when ya don’t have a house :rofl:

Just remember, you have something better than the jag :wink:

She was who I was referencing. Don’t ask don’t tell.

And they say you can’t have your cake and eat it too

1 Like

Fantastic SmartApp mate, finally been able to add my i3 to the ST dashboard :smiley:

1 Like

Really happy that you are enjoying the smart app :slight_smile:

I’m also an i3 owner who is now happily using this code. I ended up having to copy and paste it in to my own repository as I couldn’t get it to read your GIT, but this is likely my fail, as I was also too eager to try it!

For us i3 users, battery percentage remaining would be awesome, as then we could get other apps to notify us on it. Any chance of working with you on this?

1 Like

I’d love to help out- but I don’t own an i3 or have access to an account linked to an i3, so I cant build this functionality.There is alot of extra data available through the BMWi series cars, which I believe comes from a slightly different API. But I cant reverse engineer that unless I have appropriate access. Sorry!

Is there no REST GET that I can do that will output the current values for everything, then search through to compare the values I am aware of (obviously I can use app to see current battery percentage) that I could forward you values for?
I can always work with you to test it, etc?

This is great, and a much more elegant way to get the login details than mine. Would you be up for also integrating the door/window status and map location from my app so that everyone can benefit from the additional functionality without the faffing around with login?

Yeah, of course! I’ll look into this tomorrow evening. What BMW are you using to connect up to, and what ConnectedDrive services do you have enabled on your car?

I’ve got an X3 and generally use lock and lights, but also use the location and calculated distance between car and hub to determine if the cars at home as a Presence device.

Regards,

Paul Needler

1 Like

Got it working too. Just wondering if more status (ie. fuel level, range, locked/unlocked) can be shown then it would be great.

Is there any I can find ConnectedDrive API documentation so I can try to figure it out?

Great work. Any easy way to get the milage in kilometers?

Regards
Jone

Did you have any joy in integrating the code from the X3 owner? When I originally grabbed your code I couldn’t get a GIT repository to sync, so just did a copy and paste.
If you’ve updated the code, could you just let me know and I’ll try again to sync it all up :slight_smile:
Thanks again for all your hard work on this - it’s been very useful, as sometimes the app doesn’t work, but your code does for the pre-ventilation!