I no longer have a Kia or Hyundai so don't maintain this like I used to. Others who are interested in jumping in are welcome to join the project! Even just pull requests are appreciated!
A custom integration for Kia Uvo / Hyundai Bluelink. This project uses our underlying python package: https://github.com/Hyundai-Kia-Connect/hyundai_kia_connect_api.
- Install HACS if you don't have it already
- Open HACS in Home Assistant
- Search for "Kia Uvo"
- Click the download button
- Copy the
custom_components/kia_uvodirectory to yourconfig/custom_components/directory - Restart Home Assistant
After installation, go to Settings → Devices & Services → Integrations and search for Kia Uvo. Configure your vehicle using your username and password.
- AU, EU, CA, CH, IN, NZ, BR and US is supported. USA, India, China and Brazil support is limited.
- Genesis Support hasn't been tested and has just been added for Canada only. Feedback would be appreciated!
- Multiple cars and accounts are supported. To add additional accounts just go through setup a second time.
- Reconfigure flow is available from the integration options (change credentials or set PIN).
- Cached update - fetches cached information from servers every 30 minutes. Configurable
- Force update - asks your car for the latest data every 4 hours. Configurable
- Force update is disabled between 10PM and 6AM by default. Configurable
- By default, distance unit is based on HA metric/imperial preference, you need to configure each entity if you would like other units.
- Odometer, Total Range, EV Range, Fuel Range
- Car Battery Level (12v), EV Battery Level, EV Battery SOH, EV Battery Capacity, EV Battery Remain
- Estimated Charge Duration (current, fast, portable, station)
- EV Target Range (AC/DC charge)
- Air Temperature, Outside Temperature
- Fuel Level
- Total Power Consumed/Regenerated, Power Consumption 30d
- Front/Rear Seat Status and Heater
- Last Service Distance, Next Service Distance
- Engine Type, DTC Count
- EV Charging Power, EV Charging Current
- Geocoded Location (optional, disabled by default)
- Location Last Updated
- EV Battery Pack Voltage
- EV Battery Temperature (min, max, water)
- EV Battery Chiller RPM
- EV Power Consumption (air conditioning, battery cooling, battery heater)
- EV Off-Peak Start/End Time, EV Departure Time (first/second)
- Engine Running, Ignition, Accessory Status
- Defrost, Heated Rear Window, Heated Steering Wheel, Side Mirror Heater
- EV Battery Charging, EV Battery Plugged In, EV Charge Port Open
- EV Battery Winter Mode, EV Battery Precondition Enabled, EV Battery Heating State
- EV V2L/V2X Status
- EV Schedule Charge Enabled, EV Off-Peak Charge Only Enabled
- Door Open/Close (individual doors), Trunk, Hood
- Window Open/Close (individual windows)
- Lock Status (individual doors)
- Tire Pressure Warnings (individual and all)
- Low Fuel Light, Smart Key Battery Warning
- Brake Fluid Warning, Washer Fluid Warning
- Headlamp Status, Turn Signals, Stop Lamps
- Sunroof Open, Sleep Mode
- Transmission Condition
- Climate Control
- EV Charging
- EV Schedule Charge Enabled
- EV Off-Peak Charge Only Enabled
- EV Charge Limits (AC/DC)
- EV V2L Discharge Limit
- Individual Window Control (front left, front right, rear left, rear right) — where supported
- Door Lock/Unlock
- Climate Control (temperature, mode, defrost) (WIP — pending merge)
- Force Refresh
- Open/Close Charge Port, Start/Stop Hazard Lights, Start/Stop Valet Mode, Open/Close Windows (WIP — pending merge)
- Vehicle Location (GPS)
These can be accessed via Developer Tools > Actions, or called from automations.
update: get latest cached vehicle dataforce_update: ask the vehicle for its latest data — do not overuse!start_climate/stop_climate: start/stop climate control (starts ICE engine in some regions)start_charge/stop_charge: control EV chargingset_charge_limits: set AC/DC charge capacity limitsset_charging_current: set charging current level (100%, 90% or 60%)open_charge_port/close_charge_port: open or close the charge portlock/unlock: lock or unlock the vehicleset_windows: open/close individual windows (where supported)start_hazard_lights/stop_hazard_lights: hazard lights onlystart_hazard_lights_and_horn/stop_hazard_lights_and_horn: panic modeschedule_charging_and_climate: set planned departure schedulestart_valet_mode/stop_valet_mode: valet modeset_navigation: send a destination to the vehicle's navigation system (WIP — pending merge)
| Service | EU | EU(>2023), NZ, AU | CA | USA Kia | USA Hyundai | USA Genesis | China | India | Brazil |
|---|---|---|---|---|---|---|---|---|---|
| Update | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
| Force Update | ✔ | not tested | ✔ | ✔ | ✔ | ✔ | ✔ | ||
| Lock / Unlock | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✖ |
| Start / Stop Climate | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✖ | |
| Start / Stop Charge | ✔ | ✔ | ✔ | ✔ | ✔ | ✖ | |||
| Set Charge Limits | ✔ | ✔ | ✔ | ✔ | ✔ | ✖ | |||
| Set Charging Current | ✔ | ✔ | ✔ | ✔ | ✔ | ✖ | |||
| Open / Close Charge Port | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | |
| Set Windows | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | |
| Start / Stop Hazard Lights | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | |
| Start / Stop Hazard + Horn | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ |
| Schedule Charging and Climate | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | |
| Start / Stop Valet Mode | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | |
| Set Navigation (WIP) | ✔ |
If you receive an error while trying to login, please go through these steps:
- This integration supports USA, EU, China, India, Australia, New Zealand, Canada and Brazil. If you are outside these regions, you are welcome to create an issue and become a test user. USA and Brazil coverage is limited.
- You can enable logging for this integration specifically and share your logs for investigation. To enable logging, click "Enable debug logging" on the integration. It can be accessed via Settings → System → Logs. See Home Assistant troubleshooting: enabling debug logging for details.