Install as a Home Assistant add-on, or run the same image as a plain container.
2026.8 or newer — this is when the MQTT infrared emitter and receiver schemas landedaarch64 or amd64 — see architecture supportremote.learn_command will fail while a capture window
is open.
Go to Settings → Add-ons → Add-on Store.
Click the ⋮ menu, top right → Repositories. Add:
https://github.com/pranjal-joshi/Broadlink2MQTT
then Add and Close. Refresh if the new section does not appear.
Find Broadlink2MQTT in the new section and click Install. The prebuilt image is pulled from ghcr.io, so this takes seconds rather than minutes.
Click Start. If you run the Mosquitto broker add-on, there is nothing to configure — the add-on asks the Supervisor for your broker.
Open the Log tab. You want to see:
Found RM4 pro (RM4PRO) at 192.168.1.50 [a1:b2:c3:d4:e5:f6]
Connected to MQTT at core-mosquitto:1883
Announced 6 entities for RM4 pro
Your blaster now appears under Settings → Devices & Services → MQTT.
The add-on image is an ordinary container. Host networking is required so the UDP discovery broadcast reaches your device.
docker run -d \
--name broadlink2mqtt \
--network host \
--restart unless-stopped \
-e MQTT_HOST=192.168.1.10 \
-e MQTT_USERNAME=homeassistant \
-e MQTT_PASSWORD=secret \
-e LOG_LEVEL=info \
ghcr.io/pranjal-joshi/broadlink2mqtt:1.1.0-beta.1
That tag is a multi-arch manifest, so Docker picks the right image for you. The per-arch
images are amd64-broadlink2mqtt and aarch64-broadlink2mqtt if you
would rather be explicit. Add -e DEVICES=192.168.1.50,192.168.1.51 to skip
broadcast discovery and address devices directly.
python-broadlink depends on cryptography, which only publishes musl
wheels for aarch64 and x86_64. Building it for 32-bit ARM would
need a Rust toolchain in the image, so armv7, armhf and
i386 are not supported.
Head to Configuration if you need to point at an external broker or add a device by IP, or straight to Usage to capture your first code.