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
Automatic map update status
Allow you to perform the following actions
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
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
Again… awesome project! I would not have thought this would ever happen after it went very quiet after the announcement 2 years ago:
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
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.
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.
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.
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?
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?
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
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!