[ESPHome] YK-H/531E AC – Timer ON/OFF support (finally working)

Hi all,

I wanted to share a custom ESPHome external component I’ve been working on to properly support timer functions on YK-H/531E-based AC units (commonly found in brands like Frigidaire, Midea, etc.).

:backhand_index_pointing_right: Repo:


Why this matters

While basic IR control (power, mode, temperature) works well in ESPHome, I noticed that timer functionality is usually missing .

In my case, I rely heavily on the timer from the physical remote (especially for sleep / auto shutdown), so not having it available in Home Assistant was a big limitation.


What this adds

  • :stopwatch: Timer OFF (auto shutdown after X time)
  • :stopwatch: Timer ON (turn AC on after X time)
  • :control_knobs: Exposed as a select entity in Home Assistant
  • :wrench: Works with standard remote_transmitter

Supports:

  • 0.5h increments up to 31h

Why it’s not trivial

The timer isn’t a simple value in the IR protocol:

  • It’s encoded across multiple fields
  • It depends on the full AC state
  • Small mistakes result in incorrect or ignored timer values

So getting this working required validating behavior against real hardware.


Example ESPHome config

remote_transmitter:
  pin: D2
  carrier_duty_percent: 50%

external_components:
  - source: github://kriodoxis/esphome-ykh531e
    components: [ykh531e]

climate:
  - platform: ykh531e
    name: "Main Room AC"
    timer_select:
      name: "AC Timer"

Credits

This builds on the original component by:

Additional protocol insights came from:


Feedback welcome

If you have a similar AC unit and can test it, I’d really appreciate feedback or additional IR captures.

This ended up being much more complex than expected for something that seems as simple as a timer :sweat_smile: