IR Proxy - cannot get it to work with HA

Hi all, I'm trying to get an ESPhome (2026.4.5) node (d1 mini, ESP8266) to serve as IR Proxy for HA (2026.5.1). I do see the device in HA under ESPhome integration's devices and it does show the IR-Proxy's Transmitter node, changing between unavailable when the node is down and unknown when the node is connected. All other UI controls (e.g., numbers) show the real value.

Unfortunately, if I now want to learn a command or use any other action from the remote.* actions, it will show me a target list which is empty:

Here's my ESPhome node's YAML, at least the IR stuff:

# IR-Stuff
# ================================
remote_receiver:
  id: ir_rx
  pin:
    number: D6
    inverted: True
    mode: INPUT_PULLUP
  dump: all

remote_transmitter:
  id: ir_tx
  pin: D7
  carrier_duty_percent: 50%

infrared:
  # IR transmitter instance
  - platform: ir_rf_proxy
    name: IR Proxy Transmitter
    id: ir_proxy_tx
    remote_transmitter_id: ir_tx
  # IR receiver instance
  - platform: ir_rf_proxy
    name: IR Proxy Receiver
    id: ir_proxy_rx
    remote_receiver_id: ir_rx

I do see remote commands dumped in the log when I press a remote's button.

Has anymone ever managed to get this to work and could share their solution?

Thanks & Best.

It seems like you may have misunderstood how IR proxies are supposed to work.

ESPHome's IR proxy component does not create remote entities in HA... so remote actions are not the correct type to use.

Then your receiver is working exactly as expected.

IR Proxies act as "targets" for the Infrared integration which, on its own, does not create devices for any actions to target. It is a "Building block" integration that provides the structure and functions for other device-specific integrations. It is these integrations that actually integrate a device or service into Home Assistant to provide entities, services, and other functionality that you can use in your automations or dashboards. Currently, there is only one IR device integration in core, LG Infrared. There is at least one person working on a custom integration that would provide a more general option.

Here’s the yaml that seems to work for me: HAIR/esphome/hair1.yaml at 66f0d9c11696f1e40a9be87efd3a0aee378589bc · DAB-LABS/HAIR · GitHub

I coupled it with a HACS integration, if that helps.

What are you building?

2 Likes