Kia Uvo Integration

Apologies for a most likely very simple question, but I am a bit new to both yaml, and homeassistant.
Do anyone here have an example of some lovelace code that would give me a “force_update” button on a dashboard?
I am looking for something like this below, but where the “9 minues ago” is clickable, and would perform the force_update service call when pressed


type: grid
  - type: button
      action: call-service
      service: kia_uvo.update
      service_data: {}
      target: {}
      action: none
    name: Update
    show_icon: true
    icon: 'mdi:access-point'
  - type: button
      action: call-service
      service: kia_uvo.force_update
      service_data: {}
      target: {}
      action: none
    show_name: true
    show_state: false
    name: Force Update
    icon: 'mdi:access-point-check'
columns: 2


Hi, I installed this add-on in HACS and see it installed there. Where can I setup my username and password? Don’t see an example yaml or anything

install over HACS or manually by copying custom_components folder, restart you HA instance, go to integrations page, click Add button and search for Kia Uvo, select it and configure it on UI.

Hi, crazy. I did not see the integration. But later it was there. Maybe a typo. Thanks for all your work!!!

Just taken delivery of a Kia Soul EV and was delighted to find this integration. Despite being a bit rusty with HA everything has installed and is working well, including changing range to miles.

Many thanks @fuatakgun for putting this together.

Thanks for feedback, there are 2 hidden services start_climate and stop_climate. I am not able to test them locally as i own a PHEV version, but i would be glad if you can test in your car and share results.


I’m happy to test anything out. Just bear with me and dumb questions as I’m not a HA/yaml expert.

Regarding the 2 hidden services I thought they might be ‘behind’ Soul EV Defroster in the same way Lock & Unlock can be initiated with Soul EV Door Lock.

Not so, I get a ‘service not found’ message.

Where do I find the hidden services relating to climate?

Edit: brain engaged. Found in Services! Will have a play and report back.

My first play seems to work.
Buttons on Lovelace set up for Kia Uvo: start climate & Kia Uvo: stop_climate via call-service using the entity ‘binary_sensor.soul_ev_air_conditioner’.
Starting and stopping are confirmed on the Uvo App. So basics seems to work.

Happy to hear that. Let me create specific components to control the car state, as you might know better, this is intended to control AC state of car, rather than starting car. Let me know if you knoe sth different.

Nice work! Seems to work mostly fine with my MY20 e-Niro. However, the stop_climate service behaves a bit strange. I have defrost and heating enabled under the HVAC setting in the Uvo App. start_climate starts A/C, defroster, back window heater, and steering wheel heater, as expected. However, after calling stop_climate the defroster still shows as on, both in the Uvo App and in Home Assistant. Everything else is turned off properly.

I am following this specific issue over here, please comment when you have time: Test start/stop car commands on EV cars · Issue #39 · fuatakgun/kia_uvo · GitHub

Hi can’t login , I have a Kia account , can’t get any logs from configuration :frowning:

Enable debugging as per the doc:
You can enable logging for this integration specifically and share your logs, so I can have a deep dive investigation. To enable logging, update your configuration.yamllike this, we can get more information in Configuration → Logs page

  default: warning
    custom_components.kia_uvo: debug

Another thought: did you migrate from an UVO account, and if so did u change password when you migrated your account? If so try with your old uvo password. I still have to use my old UVO password and I migrated my account over a month ago.

1 Like

As pointed out earlier, logout in your app and try to login again, you will get an directive to migrate your account from Kia to UVO. After migration, give it a day to sync all servers, then you should be good to go.

Ok i change password when i migrate because I didn’t remember it :frowning: maybe that’s the problem

Since yesterday on the integrations page I see “Instellen mislukt” which means “setup failed”

Logger: homeassistant.config_entries
Source: custom_components/kia_uvo/
Integration: Kia Uvo
First occurred: 9:15:41 (1 occurrences)
Last logged: 9:15:41

Error setting up entry [email protected] for kia_uvo
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/”, line 269, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File “/config/custom_components/kia_uvo/”, line 111, in async_setup_entry
await update(dt_util.utcnow())
File “/config/custom_components/kia_uvo/”, line 95, in update
await refresh_config_entry()
File “/config/custom_components/kia_uvo/”, line 88, in refresh_config_entry
is_token_updated = await vehicle.refresh_token()
File “/config/custom_components/kia_uvo/”, line 93, in refresh_token
await self.hass.async_add_executor_job(self.login)
File “/usr/local/lib/python3.8/concurrent/futures/”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/config/custom_components/kia_uvo/”, line 108, in login
self.token = self.kia_uvo_api.login()
File “/config/custom_components/kia_uvo/”, line 42, in login
device_id = response[“resMsg”][“deviceId”]
TypeError: string indices must be integers

Please update with latest codebase, it will be fixed

1 Like

What is the best way to update? Don’t see it in HACS.
Just copy paste the folder?

You should see something like this in HACS.