HA IR controls for 23-year old Russound Keypads

In case someone else might find this helpful, I wanted to share a working approach for controlling very old Russound IR keypads using Home Assistant and the new IR functionality introduced in 2026.4. These old keypads are embedded around my house and are used for controlling sound in each room. Each room keypad has controls for:
• Power On / Off
• All Off (all keypads)
• Sources 1–4
• Volume Up / Down
I ordered the Seeed Studio XIAO IR Mate devices as soon as a read the 2026.4 release notes and am using ESPHome 2026.4.0

I took control of each IR Mate locally in ESPHome using the base code at infrared-proxies/xiao-ir-mate/xiao-ir-mate.yaml at e1af5390197523585cd98d1768bc34c2ea8c9e43 · esphome/infrared-proxies · GitHub

What Didn’t Work:
The IR Mate logs received Infrared Pronto codes when I pressed remote buttons. And while the Pronto codes were captured correctly and the transmission worked, the Russound keypads ignored the codes. My takeaway is that Pronto decoding may not be reliable for very old devices.

What DID Work:
I changed the receiver to capture raw IR codes using dump: raw and then transmitted the raw codes with: remote_transmitter.transmit_raw. This worked.

Example ESPHome Button:


  - platform: template
    name: Russound Source 1
    on_press:
      - repeat:
          count: 4
          then:
            - remote_transmitter.transmit_raw:
                code: [5574, -2948, 1869, -1973, 1789, -5763, 1843]
                carrier_frequency: 38kHz
            - delay: 40ms

The new HA IR framework is a dependable approach for very old devices, but you may need to use Raw IR codes instead of Pronto codes

Nice job! However, please format your code correctly so that others will be able to use it without issues.

I have flashed the base code firmware several times using ESPHome Builder, but the IR Mate is not showing as online and I'm not seeing the device or entity show up in HA. The only thing I changed from the stock .yaml was my wifi secrets, and I can see on the router that the IR Mate is connected to the network. Did you need to do anything else after re-flashing to get it to show up in HA?

I am hoping to use the remote.receiver function to detect remote codes from my Harmony remote, and fill in a few missing functions that I can't program since the Harmony servers are now offline.

I cannot remember exactly but I believe I added a new device in Esphome Builder with IR mate connected via USB first. Then once it was online I could flash the yaml from the link. If it isn't online you can't flash firmware.

Thanks, that's what I did too -- flashed the firmware while it was connected to USB. Afterwards it did not show as 'online' in ESPHome Builder (even though it was connected to the wifi) and the device did not show up in HA.

I remember now that I flashed from this url instead of building a new device in esphome:

Any reason not to use it via the serial cable on the russound. I have been using it like that for years unitl HA 2026.5 broke some of the functiality.

My setup is the Russound ABUS on H484 with the older keypads. It does not support a serial connection.