A Home Assistant integration for Kia, Hyundai, and Genesis vehicles registered in the United States. This is a community-maintained fork with active development.
- USA Only - Vehicles must be registered in the United States
- Active Subscription - Kia Connect, Hyundai Blue Link, or Genesis Connected Services
- Home Assistant - Version 2023.1.0 or newer
- HACS - For easy installation (recommended)
- Remote lock/unlock
- Remote climate start/stop
- Climate temperature control
- Steering wheel heat control
- Seat heating and cooling
- Vehicle location tracking
- Battery and charging status (EV/hybrid)
- Battery preconditioning status (EV)
- Charge limit control (AC/DC)
- Door, trunk, and hood status
- Tire pressure warnings
- Odometer and range
- 12V battery level
- Open HACS in Home Assistant
- Click the three dots menu in the top right
- Select "Custom repositories"
- Add:
https://github.com/MarcusTaz/ha_kia_hyundai_USA - Category: Integration
- Click "Add"
- Search for "Kia/Hyundai/Genesis (USA)" and install
- Restart Home Assistant
- Download the latest release from Releases
- Extract to
/config/custom_components/ha_kia_hyundai/ - Restart Home Assistant
- Go to Settings > Devices & Services
- Click "+ Add Integration"
- Search for "Kia/Hyundai/Genesis (USA)"
- Select your vehicle brand (Kia, Hyundai, or Genesis)
Kia Vehicles:
- Enter your Kia Connect email and password
- Select OTP delivery method (Email or SMS)
- Enter the OTP code sent to your email or phone
- Your vehicles will be discovered automatically
Hyundai Vehicles:
- Enter your Hyundai Blue Link email and password
- Enter your 4-digit PIN (the same PIN you use in the Blue Link app)
- Your vehicles will be discovered automatically
Genesis Vehicles:
- Enter your Genesis Connected Services email and password
- Enter your 4-digit PIN (the same PIN you use in the Genesis app)
- Your vehicles will be discovered automatically
After authentication, the integration will display all vehicles found in your account. Confirm to add them to Home Assistant.
- Battery level (12V)
- Battery voltage estimate (12V)
- Battery status (12V) - Excellent/Good/Fair/Low/Critical
- EV battery level (if applicable)
- Charging status
- Plugged in status
- Battery preconditioning status (EV)
- Odometer
- Estimated range
- Last update timestamp
- Tire pressure warnings
- Low fuel warning
- Door lock (lock/unlock)
- Climate control (on/off, temperature)
- Charging switch (start/stop when plugged in)
- AC/DC charge limits
- Seat heating/cooling selectors
- Steering wheel heat selector
- Defrost switches
- Remote Start (starts vehicle with configured climate settings)
- Remote Stop (stops remote-started vehicle)
- Force Update (requests fresh data from vehicle - use sparingly)
The vehicle APIs have rate limits to prevent excessive requests. Making too many API calls in a short period can temporarily block your access.
Symptoms of rate limiting:
- "Please try again later" errors
- Failed commands or status updates
- Temporary inability to control vehicle
Prevention:
- Avoid rapidly pressing buttons or refreshing
- Use the Force Update button sparingly
- If blocked, wait before trying again (timeout varies by brand, up to 3 hours for some)
Frequent API calls can wake your vehicle and drain the 12V battery. The default 10-minute polling interval is designed to minimize this impact. Avoid excessive use of the Force Update button.
Sensors show "Unavailable" or EV sensors are missing:
- Your vehicle is likely in sleep mode. Press the "Request Wake Up" button and wait 2-3 minutes.
- Verify the data appears in the official Kia/Hyundai/Genesis app first.
- Vehicles in sleep mode do not report EV battery, charging status, or range data.
- Note: As of v3.1.4, most sensors now preserve their last known value when the vehicle sleeps instead of showing "unavailable".
Sensors don't appear after initial setup:
- This is normal! Vehicles need to be woken up to report data.
- Press the "Request Wake Up" button, wait 2-3 minutes, then check again.
- You may need to restart Home Assistant after the first successful data refresh.
Data is stale or not updating:
- Check that your Kia Connect / BlueLink subscription is active.
- The default polling interval is 10 minutes to avoid draining your 12V battery.
- Use "Request Wake Up" sparingly - excessive use can drain your battery.
"Please try again later" errors:
- You've hit Kia/Hyundai's rate limit. Wait 30-60 minutes before trying again.
- Avoid rapidly pressing buttons or refreshing.
Kia:
- Verify your Kia Connect credentials work in the official app
- Check your email/phone for the OTP code
- OTP codes expire after a few minutes
- If your session expires, use the "Reconfigure" option in the integration menu to re-authenticate (no need to delete and re-add)
Hyundai/Genesis:
- Verify your credentials work in the official Blue Link or Genesis app
- Ensure your PIN is exactly 4 digits
- The PIN is the same one you use in the official app
- If your session expires, use the "Reconfigure" option in the integration menu to re-authenticate
- Verify the vehicle appears in your official app (Kia Connect, Blue Link, or Genesis)
- Ensure your connected services subscription is active
- Some older vehicles with pre-ccOS infotainment may not be compatible
- Check that the vehicle has cellular connectivity
- Wait a few minutes and try again (rate limiting may be active)
- Verify the feature works in the official app
- Go to Settings > Devices & Services
- Find the integration and click the three dots menu
- Click "Enable debug logging"
- Reproduce the issue
- Go to Settings > System > Logs
- Look for entries mentioning
ha_kia_hyundai
For Kia electric vehicles (EV6, EV9, etc.), the remote climate API has the following behavior:
What works from Home Assistant:
- Starting/stopping climate
- Seat heating and cooling settings
- Steering wheel heat settings
What must be set in the official Kia app:
- Climate duration (how long climate runs)
This is a Kia API limitation. The vehicle uses your "Custom Climate" profile settings stored in the official Kia Connect app for duration. To change these values, update your Custom Climate settings in the Kia app launch climate and then stop.
Workaround: Set your preferred duration in the Kia Connect app's Custom Climate section. Home Assistant can then trigger climate start, and the vehicle will use your stored preferences.
The 12V battery sensor displays State of Charge (SOC) as a percentage - actual voltage is not provided by the Kia/Hyundai API.
For reference, here's how the percentage roughly maps to voltage on a typical 12V automotive battery:
| SOC % | Approx. Voltage | Status |
|---|---|---|
| 95-100% | ~12.6-12.7V | Excellent |
| 80-94% | ~12.4-12.6V | Good |
| 60-79% | ~12.2-12.4V | Fair |
| 40-59% | ~12.0-12.2V | Low |
| <40% | <12.0V | Critical |
A reading of 95%+ indicates an excellent, fully charged battery.
- Default polling: Every 10 minutes (configurable in integration options)
- After commands: Automatic refresh after lock/unlock, climate start/stop
Supported:
- Kia vehicles with Kia Connect (USA)
- Hyundai vehicles with Blue Link (USA)
- Genesis vehicles with Genesis Connected Services (USA)
- Most 2020+ model year vehicles
Limited Support:
- Older vehicles with pre-ccOS infotainment systems may have reduced functionality
Not Supported:
- Vehicles outside the USA (use kia_uvo for other regions)
- Vehicles without active connected services subscriptions
The original dahlb/ha_kia_hyundai repository was archived in December 2024. This fork continues development with:
- Fixed authentication for all three brands
- Embedded API libraries (no external dependencies)
- Active maintenance and bug fixes
- Multi-brand support in a single integration
- Original Author: Bren Dahl (@dahlb)
- Community Maintainer: MarcusTaz
- Contributors: @mmase, and the Hyundai-Kia-Connect community
Contributions are welcome:
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
MIT License - see LICENSE file
This integration is not affiliated with, endorsed by, or connected to Kia Motors, Hyundai Motor Company, or Genesis Motor. Use at your own risk.
If this integration is useful to you, consider supporting continued development: