Hyundai Bluelink Integration

Can anybody help me with the issue that I have, please … :slightly_smiling_face:

the PIN was most likely set by either you or the dealer (hopefully with your consent :grimacing:). At least in my case it was set by the dealer who asked me what I wanted to set it to. I thought it was strange that he was asking what my PIN was going to be but whatever. I just got my Tucson on Friday so I should probably change it. :laughing:

I use the MyHyundai app in the US and to see if a PIN is set you might be able to open the app and under settings there’s a “change PIN” option. Go in there and it should ask you for your current PIN. If so then I assume someone set a PIN on your account. If not you and/or you don’t know it then you may need to contact Hyundai customer service to see how to reset it.

Hi!

I’m looking for a solution to display the stats of the las 28 days using sensor.car.daily_driving_stats.

I’d like to display a chart of daily consumption and distance.

Thank you,
Balint

Hi,
It"s possible to add control to start and stop charging the vehicle, like on the mobile application?
The goal is to manage the charge via Home Assistant depending on the sunshine to optimize charging with the photovoltaic panels.
THANKS

You can to that with the “start_charge” service. It is in the documentation under “Suported services”.

1 Like

update to my ioniq 5 page

2 Likes

nice one!
Can you share the yml with us ?

1 Like

Thank you !

I’ve been using it since yesterday ! also for people who come to this post :
I have 2024 Ioniq 5. all of the entities should include 2024_ioniq_5 instead of ioniq_5
Also inside the configuration file

Set the force Update for once/twice a day as it draining the 12v Battery if more :smiley:

Good luck !

I have it updating 6 times a day and it also refreshes every 5 minutes if I run a certian automation, I have had no issues with 12v, although I did replace mine as soon as I got the car with a lithium one.

i have added this info to the repo

Thanks I’ve installed for my Ioniq 6. Any tips on how you created the graphics so I can adapt for the Ioniq 6?

Should be easy to build on your own.
The Picture of the Car is a png without Background. Just use a simple jpg with such Service: Bild-Hintergrund entfernen oder transparent machen – remove.bg

type: picture-elements
image: /local/images/konatrans.png
elements:
  - type: state-badge
    entity: sensor.kona2020_ev_range
    style:
      top: 14%
      left: 7%
      color: transparent
      font-size: 0.8em
  - type: state-badge
    entity: sensor.kona2020_ev_battery_level
    style:
      top: 15%
      left: 20%
      color: transparent
      font-size: 0.8em
  - type: state-badge
    entity: sensor.kona2020_odometer
    style:
      top: 93%
      left: 90%
      color: transparent
      font-size: 1em
  - type: state-badge
    entity: sensor.kona2020_target_range_of_charge_ac
    style:
      top: 14%
      left: 90%
      color: transparent
      font-size: 0.8em

image

it was done in photoshop with quite a bit of work cutting out squares ect from tail lights for battery level etc, even as far as cutting out doors :stuck_out_tongue:

1 Like

Thanks for the guidance. I suspected as much, perhaps I’ll try a simple version without the intricacies of doors and windows moving etc.

simple I worked on in lunch, cant do much better than this as only top down open shot of the ioniq 6 had airbags on show so I had to improvise a little. follow my instructions, but leave out doors and hood and trunk, then the code left over use this image instead of the ioniq 5 lhd one.

Is there any documentation available explaining the sensors used?
I recently bought a Hyundai Kona electric 65kW and installed Kia Uvo / Hyundai Bluelink integration, version 2.26.1, in HA.
Everything works fine, but there are some sensors that do not tell me anything or remain at 0, while the EV Battery Level is 74,5%, such as:

Estimated Charge Duration:           0 min
Estimated Fast Charge Duration:     25 min
Estimated Portable Charge Duration: 90 min
Estimated Station Charge Duration:   6 min
EV Battery Capacity:               234.440 (Unit?, Apples?)
EV Battery Level:                167.299,2 (Unit?, Pears?)

My guess for the Battery Capacity and Level:

The unit is probably Ah instead of kWh.

For Hyundai and Kia owners using the integration, here’s a stacked card with some charging data and controls.

type: vertical-stack
cards:
  - type: custom:mushroom-template-card
    primary: '{{ states(entity) }}%'
    secondary: '{{ state_attr(entity, ''friendly_name'') | title }}'
    icon: >
      {% set battery_level = (states(entity) | int / 10) | round(0) | int * 10
      %}

      {% if is_state('binary_sensor.2023_ioniq_6_ev_battery_plug', 'on' ) %}
        {% if battery_level > 0 %}
          mdi:battery-charging-{{ battery_level }}
        {% else %}
          mdi:battery-charging-outline
        {% endif %}
      {% else %}
        {% if battery_level == 100 %}
          mdi:battery
        {% elif battery_level > 0 %}
          mdi:battery-{{ battery_level }}
        {% else %}
          mdi:battery-alert-variant-outline
        {% endif %}
      {% endif %}
    icon_color: |-
      {% set battery_level = states(entity) | int %}
      {% if battery_level > 90 %} 
        green
      {% elif battery_level > 60 %}
        light-green
      {% elif battery_level > 50 %}
        lime
      {% elif battery_level > 40 %}
        yellow
      {% elif battery_level > 30 %}
        amber
      {% elif battery_level > 20 %}
        orange
      {% elif battery_level > 10 %}
        deep-orange
      {% else %}
        red
      {% endif %} 
    tap_action:
      action: none
    entity: sensor.2023_ioniq_6_ev_battery_level
    fill_container: false
    layout: horizontal
  - type: entities
    entities:
      - entity: number.2023_ioniq_6_ac_charging_limit
        name: AC Charging Limit
      - entity: number.2023_ioniq_6_dc_charging_limit
        name: DC Charging Limit
      - entity: lock.2023_ioniq_6_door_lock
        name: Door Lock
  - type: horizontal-stack
    cards:
      - type: custom:bar-card
        positions:
          name: null
          icon: 'off'
          value: inside
        style:
          top: 6.5%
          left: 10%
          background: none
          box-shadow: none
          text-shadow: none
          transform: none
          overflow: hidden
          border-radius: 0px
          width: 38%
        height: 25px
        min: 0
        max: 100
        severity:
          - color: Red
            from: 0
            to: 20
          - color: Orange
            from: 21
            to: 24
          - color: Amber
            from: 25
            to: 49
          - color: Green
            from: 50
            to: 74
        entities:
          - entity: sensor.2023_ioniq_6_ev_battery_level
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-template-card
        primary: ''
        secondary: ''
        icon: |-
          {% if states("sensor.2023_ioniq_6_ev_battery_level")|float > 91 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 81 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 71 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 61 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 51 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 41 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 31 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 21 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 11 %}
          mdi:square-outline
          {% else %}
          mdi:square-outline
          {% endif %}
        entity: sensor.2023_ioniq_6_ev_battery_level
        icon_color: |-
          {% if states("sensor.2023_ioniq_6_ev_battery_level")|float > 20 %}
          green
          {% else %}
          red
          {% endif %}
        badge_color: red
        badge_icon: |-
          {% if states("sensor.2023_ioniq_6_ev_battery_level")|float < 30 %}
          mdi:alert
          {% endif %}
        tap_action:
          action: more-info
        hold_action:
          action: none
        double_tap_action:
          action: none
      - type: custom:mushroom-template-card
        primary: ''
        secondary: ''
        icon: |-
          {% if states("sensor.2023_ioniq_6_ev_battery_level")|float > 91 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 81 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 71 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 61 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 51 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 41 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 31 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 21 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 11 %}
          mdi:square-outline
          {% else %}
          mdi:square-outline
          {% endif %}
        entity: sensor.2023_ioniq_6_ev_battery_level
        icon_color: |-
          {% if states("sensor.2023_ioniq_6_ev_battery_level")|float > 24 %}
          green
          {% else %}
          null
          {% endif %}
        badge_color: red
        badge_icon: |-
          {% if states("sensor.2023_ioniq_6_ev_battery_level")|float < 30 %}
          mdi:alert
          {% endif %}
        tap_action:
          action: more-info
        hold_action:
          action: none
        double_tap_action:
          action: none
      - type: custom:mushroom-template-card
        primary: ''
        secondary: ''
        icon: |-
          {% if states("sensor.2023_ioniq_6_ev_battery_level")|float > 91 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 81 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 71 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 61 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 51 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 41 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 31 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 21 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 11 %}
          mdi:square-outline
          {% else %}
          mdi:square-outline
          {% endif %}
        entity: sensor.2023_ioniq_6_ev_battery_level
        icon_color: |-
          {% if states("sensor.2023_ioniq_6_ev_battery_level")|float > 49 %}
          green
          {% else %}
          null
          {% endif %}
        badge_color: red
        badge_icon: |-
          {% if states("sensor.2023_ioniq_6_ev_battery_level")|float < 30 %}
          mdi:alert
          {% endif %}
        tap_action:
          action: more-info
        hold_action:
          action: none
        double_tap_action:
          action: none
      - type: custom:mushroom-template-card
        primary: ''
        secondary: ''
        icon: |-
          {% if states("sensor.2023_ioniq_6_ev_battery_level")|float > 91 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 81 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 71 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 61 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 51 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 41 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 31 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 21 %}
          mdi:square-outline
          {% elif states("sensor.2023_ioniq_6_ev_battery_level")|float > 11 %}
          mdi:square-outline
          {% else %}
          mdi:square-outline
          {% endif %}
        entity: sensor.2023_ioniq_6_ev_battery_level
        icon_color: |-
          {% if states("sensor.2023_ioniq_6_ev_battery_level")|float > 74 %}
          green
          {% else %}
          null
          {% endif %}
        badge_color: red
        badge_icon: |-
          {% if states("sensor.2023_ioniq_6_ev_battery_level")|float < 30 %}
          mdi:alert
          {% endif %}
        tap_action:
          action: more-info
        hold_action:
          action: none
        double_tap_action:
          action: none
  - type: custom:mushroom-entity-card
    name: Last Updated
    entity: sensor.2023_ioniq_6_last_updated_at
    tap_action:
      action: perform-action
      perform_action: kia_uvo.update
    hold_action:
      action: perform-action
      perform_action: kia_uvo.force_update


image