Skip to content

LesKent/ha_kia_hyundai_USA

 
 

Repository files navigation

Kia/Hyundai/Genesis (USA) - Home Assistant Integration

hacs_badge GitHub Release License ko-fi

A Home Assistant integration for Kia, Hyundai, and Genesis vehicles registered in the United States. This is a community-maintained fork with active development.

Requirements

  • 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)

Features

  • 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

Installation

Via HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Click the three dots menu in the top right
  3. Select "Custom repositories"
  4. Add: https://github.com/MarcusTaz/ha_kia_hyundai_USA
  5. Category: Integration
  6. Click "Add"
  7. Search for "Kia/Hyundai/Genesis (USA)" and install
  8. Restart Home Assistant

Manual Installation

  1. Download the latest release from Releases
  2. Extract to /config/custom_components/ha_kia_hyundai/
  3. Restart Home Assistant

Configuration

Step 1: Add the Integration

  1. Go to Settings > Devices & Services
  2. Click "+ Add Integration"
  3. Search for "Kia/Hyundai/Genesis (USA)"
  4. Select your vehicle brand (Kia, Hyundai, or Genesis)

Step 2: Authentication (Brand-Specific)

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

Step 3: Confirm Vehicles

After authentication, the integration will display all vehicles found in your account. Confirm to add them to Home Assistant.

Entities Created

Sensors

  • 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

Controls

  • 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

Buttons

  • Remote Start (starts vehicle with configured climate settings)
  • Remote Stop (stops remote-started vehicle)
  • Force Update (requests fresh data from vehicle - use sparingly)

Important Warnings

Rate Limiting

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)

Battery Drain

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.

Troubleshooting

Common Issues (Not Bugs)

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.

Authentication Failed

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

Vehicle Not Found

  • 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

Commands Not Working

  • 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

Enable Debug Logging

  1. Go to Settings > Devices & Services
  2. Find the integration and click the three dots menu
  3. Click "Enable debug logging"
  4. Reproduce the issue
  5. Go to Settings > System > Logs
  6. Look for entries mentioning ha_kia_hyundai

Known Limitations

Kia EV Climate Control

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.

12V Battery Sensor

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.

Update Frequency

  • Default polling: Every 10 minutes (configurable in integration options)
  • After commands: Automatic refresh after lock/unlock, climate start/stop

Vehicle Compatibility

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

Why This Fork Exists

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

Credits

Contributing

Contributions are welcome:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

License

MIT License - see LICENSE file

Disclaimer

This integration is not affiliated with, endorsed by, or connected to Kia Motors, Hyundai Motor Company, or Genesis Motor. Use at your own risk.

Support

Support the Project

If this integration is useful to you, consider supporting continued development:

ko-fi

About

A Home Assistant HACS integration that supports Kia Connect(Uvo). The integration supports the USA.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Python 99.9%
  • Shell 0.1%