Homey Community Forum

[NEW APP] Kia UVO and Hyundai Bluelink

https://store.homey.community/app/com.gruijter.hyundai_kia

Hi all,

I recveived my Kia e-Niro 2020 this week. While still trying to drive off the first charge, I decided to make a Homey app that can connect to the car. This is possible due to very recent work by community developers who have reverse engineered the Bluelink (Hyundai) and UVO (Kia) apps.

Hyundai and Kia

Connect your Hyundai or Kia smart car.

Homey has access to the car’s location, speed, range, door state and charge state. Control locks, defroster and A/C from a flow.

WARNING: This app can damage your vehicle (e.g. drain your 12V battery). Due to license restrictions the number of server requests and car status updates is limited by Kia/Hyundai. You will be locked out from using their service if you overuse it. Use at own risk!

This app can only be used on Homey V5

Supported cars:

  • Kia UVO
  • Hyundai Bluelink
  • Genesis Bluelink

Status:

  • 12V Battery charge %
  • Engine on/off
  • Doors closed and locked
  • Defrost on/off
  • A/C on/off
  • Odometer
  • Speed
  • Range
  • Tire pressure alarm
  • Battery alarm
  • GPS location
  • Distance from home
  • Estimated Time To Home (ETTH)

Extra status for EV vehicles:

  • EV Battery charge %
  • Charge targets
  • Charging on/off
  • Charger type connected (slow/fast)

Control (Note: some commands only work when the engine is off):

  • Doors lock/unlock
  • A/C on/off
  • Defrost on/off
  • Target temperature
  • Target Charge
  • Charger on/off
  • Send destination to car’s navigation

How to update the car status in Homey:

Homey will get an update of the car status within 10 minutes after it is parked. You can also request a status update from the Homey app, or from a flow.

24/7 car status updates:

You can set a forced status update interval in the advanced device settings. This will however drain the 12V battery of your car when the car is parked (engine turned off). When the 12V battery is empty, you will need your emergency key to open the door, and use a battery jumper to get going again!

Update car status when your phone connects to the car’s Bluetooth

For Android and iOS there are apps that automatically trigger Homey to do a status update as soon as your phone connects to the car’s Bluetooth. In the automation script you need to open a specific web-page (HTTP GET). The URL of this page can be found in the advanced device settings. By using a optional URL shortener from Bit.ly, the URL is now nice and simple e.g. https://bit.ly/A2TiGLk

There are multiple apps that can do this. For Android have a look at automate and adapt this flow to match your own car’s Bluetooth and the URL.

For iOS have a look at shortcuts. In Shortcuts Automation > Create Personal Automation > Bluetooth > Choose Your Vehicles Bluetooth Device Name > Get URL.

Disable Homey status and control (privacy mode)

To temporarily disable Homey being able to get location data, you can create a flow with the action card ‘Disable Homey control and live data’. By adding this to your favorite flows, you can fully disable the connection that Homey has with the car from the Homey app. This means that no data is received or logged by Homey, but also that no controls can be sent to the car via Homey. Create a second flow with the action card ‘Enable Homey control and live data’ to enable the connection again.

ETTH with Google Directions

The Estimated Time To Home - ETTH - is a very (very) rough estimate. Enabling Google Directions will greatly improve the ETTH accuracy. It uses real-time traffic information. Fill in the Google API key in the advanced settings. Leave empty to disable Google Directions. You can get a key here. This is a paid service from Google, but you will get $200 every month for free, which should be more than enough for the Homey app. Disclaimer: based on Google’s Directions Advanced pricing plan September 2020.

A Better Route Planner (ABRP)

A Better Route Planner helps you to plan your trip. For its calculations ABRP can use real energy consumption data. By entering your ABRP user token in the device settings, Homey will get the live data for you from the car and acts as a bridge to upload it live to ABRP. Note that if you don’t want to upload any data to ABRP, just don’t enter your car user token in Homey

Send a destination to the car’s navigation

Via a flow you can send a new destination to the navigation system. You can use a tag or free text, or [lat,lon] format, e.g.

  • Amsterdam Stopera Parking
  • Downingstreet 10, london
  • 38.8976805,-77.0387185

8 Likes

Hello @Gruijter and greetings from Germany.
I think a lot of your idea. I’m driving a Kia Niro Hybrid model year 2020. Kia UVO doesn’t have as many functions with a hybrid, but I’m looking forward to Homey being able to check whether my car is locked :+1:.
I am happy to test the app as soon as you have created it.

1 Like

Great work, i’ve just ordered the Kia E-Soul 2020 and will pick it up next saturday so if you need a tester no problem at all.

1 Like

Congrats with the new car. I will receive my e-Niro at the end of October. Luckily you are developing an app, so I won’t have to haha :wink: I would have started development in November I suppose. If you need any help by then let me know!

1 Like

Ooh I am unsure if you are going to use this lib https://github.com/Hacksore/bluelinky but please be aware of this :wink: https://github.com/Hacksore/bluelinky/issues/41 so you can’t use the same lib for both Hyundai and Kia

I know, that’s why I said 'possible due to very recent work` :wink:

I’m in touch with the developers and with the collaborator who made it working with Kia this afternoon. Talking about agile development :crazy_face:

4 Likes

I hope this will work, hoping to get my e-soul around nov/dec :pray:

The new Kia UVO app is now available in the Playstore.

Developing progress is good. So I should be able to put a test version on Github :soon:

But be aware that I am developing the app for Homey V5, so you need to wait untill Athom releases that to the general public :wink:

Homey v5.0.0, will be released in the next week. I can recommend that you publish your app to the final version in the Community App Store. Installation becomes so much easier.

I guess V5 will be ‘soon’ but my car will wait some longer (I guess)

First app impressions:

2 Likes

Curious where you read that, as Athom never stated a date, just “a few weeks” which can mean still several weeks away.

I got a push message from my homey. It was a final warning to turn off the experimental updates, as some apps might no longer work. In this push next week was announced as the date for the beta. I haven’t switched off and I’m curious to see what will come.

All right. For you daredevils who have access to Homey V5, here is the source on Github:

WARNING: This app is in alpha state and can damage your vehicle (e.g. drain your 12V battery). Use at own risk!

This app can only be used on Homey V5

Supported cars:

  • Kia UVO (Only Europe implemented at this stage)
  • Hyundai Bluelink (Not implemeted at this stage)
  • Genesis Bluelink (Not implemeted at this stage)

Status:

  • EV Battery charge %
  • 12V Battery charge %
  • Charging
  • Doors locked
  • Odometer
  • Speed
  • Range
  • GPS location
  • Distance from home

Control:

  • Doors
  • Temperature
  • Defrost
2 Likes

Ok, I found out I need to implement a smarter way to poll the car status.

My 12V battery was completely dead after a night polling @ 2x per minute. :confounded:

So I need a strategy to poll the car only if the engine is on, but how do you know if the engine is on when you don’t poll the car ? :sweat_smile:

After some more ‘reverse engineering’ (by a lot of trial-and-error) I found out there is a way to do that :partying_face:

This requires significant rewrite of my app. So stay tuned for more…

2 Likes

Rewriting is in progress, but a lot of work…

Yet another big feature I’m thinking of implementing is letting the app send real-time data to A Better Route Planner (ABRP). This will significantly improve the routeplanning while driving, based on actual location, speed and battery charge.

Is that something I should also spend my time on you think?

2 Likes

Gruijter, you are amazing!

I ordered my e-Soul a week ago and will get it in 2 weeks and I was sooooo happy to read your post.
Amazing how far you got in this short time! With your experience it won’t take long to rewrite and your Battery will thank you later for extra effort :grinning:
Can’t wait to see your app in the App Store after I updated to version 5.

As soon as I get my car I am happy to offer you my time for testing as you spend hours in developing for us the community.

Keep your spirit and can’t wait to hear from you when you passed the next milestone.

2 Likes

Hello Robin,

I’m the owner of a Hyundai Ioniq with the Bleulink app and I have a Homey Pro.
I’m willing to take part of testing my Ioniq with Homey.

Best regards,
John van Krieken

Great!

Im testing the app now while in France with the e-niro. I stll need to figure out what information from the car to present in what way in Homey. After I launch it in the app store it will be problematic for users when I change app capabilities, so I want to make sure I do it right the first time.
Secondly, there are some issues with the API wrapper that I need to work around.
Thirdly, the car polling cannot always be started automatically unfortunately. Kia/Hyundai do not push a car state when starting the car. Only when stopping charging or stopping the car. So I made a button to start polling the car manually.

1 Like