The Ultimate IR Gateway for Smart Homes & MQTT.
IR2MQTT bridges the gap between physical Infrared devices and your smart home. It replaces tedious YAML configuration with a modern, reactive Web UI to manage devices, learn IR codes, and create powerful automations — entirely local, no cloud, no account, no subscriptions.
Try out the Web UI directly in your browser without installing anything: ir2mqtt.steelcuts.net
(The demo environment supports up to 20 concurrent, fully isolated sessions. Each session provides its own virtual backend, MQTT broker, and simulated IR bridge.)
Full documentation — hardware setup, wiring, ESPHome bridge component, MQTT reference, automations, and more — is available at:
You'll also need an IR bridge. Flash your ESP32 with the ir2mqtt_bridge firmware — it handles IR send/receive and communicates with this app over MQTT. Full wiring and setup instructions are in the documentation.
- Click the button above to add the repository, or go to Settings → Add-ons → Add-on Store → ⋮ → Repositories and add
https://github.com/steelcuts/ir2mqtt-ha-app. - Find IR2MQTT in the store and click Install.
- Enter your MQTT broker details in the Configuration tab.
- Click Start and open the Web UI.
services:
ir2mqtt:
image: ghcr.io/steelcuts/ir2mqtt:latest
container_name: ir2mqtt
restart: unless-stopped
ports:
- "${APP_PORT:-8099}:${APP_PORT:-8099}"
environment:
- MQTT_BROKER=192.168.1.100
- MQTT_USER=mqtt_user
- MQTT_PASS=mqtt_password
- APP_MODE=standalone # or 'home_assistant'
- APP_PORT=8099 # change port here and in 'ports' above
volumes:
- ./data:/data
devices:
- /dev/ttyUSB0:/dev/ttyUSB0 # optional: serial bridgedocker-compose up -d
# Web UI: http://<your-ip>:8099 (or your chosen APP_PORT)MIT — see LICENSE for details.
- Flipper-IRDB & Probono IRDB — IR code databases
- Material Design Icons — UI icons
- Vue.js, Vite, Tailwind CSS — frontend stack
- FastAPI, SQLAlchemy, paho-mqtt — backend stack
- ESPHome — bridge firmware framework (ir2mqtt_bridge)
