Home / Apps / Dirigo / Infrared setup

Infrared Setup

A Seeed XIAO IR Mate, Home Assistant, and more than ten codes.

What this is

Dirigo controls equipment that only has an infrared remote through your own Home Assistant server. Home Assistant sends the infrared codes; Dirigo gives you the remote. Dirigo works with any infrared sender that Home Assistant shows as one button per code.

This page describes the one setup we run ourselves and know works: a Seeed Studio XIAO IR Mate with ESPHome's infrared proxy firmware and the HAIR integration. You are not limited to it.

Why change the firmware

As shipped, the XIAO IR Mate learns up to ten infrared commands and stores them on the device. A receiver's remote alone has more keys than that. The infrared proxy firmware stores no codes on the device: Home Assistant keeps them and tells the device what to send, so the ten-command limit no longer applies. Our own receiver has 34 codes on one XIAO IR Mate.

What you need

1. Install the infrared proxy firmware

  1. Open ESPHome Ready-Made Projects and choose the infrared proxy.
  2. Pick XIAO IR Mate as the device.
  3. Connect the XIAO IR Mate to the computer with the USB-C cable and start the installation. The browser asks which serial port to use; choose the one that appeared when you plugged it in.
  4. When the installer finishes, give it your Wi-Fi network. The device joins the network and restarts.

This replaces the factory firmware.

2. Add the device to Home Assistant

Home Assistant finds the device on your network through its ESPHome integration. Accept it under Settings › Devices & services. It appears with an infrared emitter and an infrared receiver.

Place it within line of sight of the equipment. Infrared does not pass through walls or cabinet doors.

3. Install HAIR

HAIR is a community integration for Home Assistant that learns infrared codes and turns each one into a button. It is not ours and not part of Home Assistant itself.

  1. Open HACS in the Home Assistant sidebar, search for HAIR, open it and choose Download.
  2. Restart Home Assistant.
  3. Go to Settings › Devices & services, choose Add Integration and search for HAIR. It detects the XIAO IR Mate's emitter and receiver.
  4. HAIR now has its own entry in the sidebar.

4. Learn the codes

  1. Open HAIR and go to its Sniffer, which listens through the XIAO IR Mate's receiver.
  2. Point the appliance's remote at the XIAO IR Mate and press keys. A remote HAIR has not seen before needs at least three presses before it appears.
  3. Create a device for the appliance and assign each signal to it, giving each command a name.

Each command becomes a button in Home Assistant, named after the device and the command. There is no ten-command limit.

Two things make the next step easier:

5. Use it in Dirigo

  1. In Dirigo, connect Home Assistant if you have not already (Home Assistant, in the sidebar).
  2. Tap the + beside Remotes and choose New Custom Remote. Give it a name, choose the type Receiver, and pick the appliance.
  3. Dirigo fills in a full remote from the appliance's buttons and shows you the matches, so you can correct any it got wrong and fill in any it could not match.
  4. Turn on Show on the Home screen to use the appliance like a receiver: its inputs, volume and power on Dirigo's Home screen.

The same buttons can also be placed on a Fully Custom remote, or behind the arrows of a D-pad.

What infrared cannot do

Infrared only sends. Nothing comes back, so Dirigo cannot read the appliance's current input, volume or power. The Home screen shows the last input you chose in Dirigo, and it will be wrong if someone used the original remote in between.

Not affiliated

Dirigo is an independent app. We are not affiliated with Seeed Studio, ESPHome, the Open Home Foundation or the HAIR project, and their software and hardware are covered by their own terms. Steps on their sites can change; their own instructions take precedence over this page.

Last updated: 2026-10-06
© 2026 bit 0100 bit Software LLC