Hey everyone,
Integrating old Infrared devices (TVs, ACs, soundbars) into Home Assistant usually means recording IR codes, pasting them into YAML files, and trying to keep track of endless dummy switches. I wanted a clean, UI-driven way to handle this, so I built IR2MQTT .
How it works IR2MQTT is a backend and web interface that acts as an IR gateway. Instead of writing config files, you manage your physical remotes, macros, and IR codes entirely through the frontend. Any device or button you configure is automatically published to Home Assistant via MQTT Auto-Discovery .
To make the hardware side reliable, I wrote a custom ESPHome external component . It handles the actual IR TX/RX on an ESP8266/ESP32 and communicates directly with the IR2MQTT backend (either wirelessly via MQTT or directly via USB/Serial to your host).
Main Features
- Integrated IR Databases: I’ve hooked up the Flipper-IRDB and Probono IRDB directly. Search for your device brand (e.g., Samsung TV) and import the full remote layout with one click—no manual learning required.
- Live Learning Mode: If a code isn’t in the database, just point your physical remote at the ESP receiver. The UI captures the code in real-time via WebSockets so you can easily assign it to a button.
- Macros & Sequences: Create automations directly in the UI (like “TV Power On” → 2s delay → “Soundbar Power On” → “Input HDMI 1” ) and expose the entire sequence as a single switch in Home Assistant.
- Easy Installation: Run the backend as a standalone Docker container or install it directly as a Home Assistant Add-on.
Getting Started The setup process is straightforward: flash your ESP board with the bridge component, spin up the IR2MQTT app, and start adding your devices via the UI. The repositories each includes a full manual explaining the setup, MQTT topic structure, and ESPHome config instructions.
- GitHub Repository: GitHub - steelcuts/ir2mqtt · GitHub
I’d love to hear your feedback or help out if you run into any issues setting it up!
