FAQ & troubleshooting

The questions that come up most, and what to do when something misbehaves.

General

Why not a HACS integration?

Because there is nothing left for one to do. Home Assistant's MQTT integration already creates infrared emitter and receiver entities from discovery messages, and the codec arithmetic lives upstream in python-broadlink. A custom component would reimplement both, and would have to run a long-lived polling state machine inside HA's event loop — which is precisely what core rejected. An external bridge is the natural home for it.

Can I keep the official Broadlink integration too?

No — remove the device from it. A Broadlink RM can transmit or be armed for learning, never both, and any use of the front end kills an armed session. Two processes fighting over it produces failures that look random. The add-on publishes the temperature and humidity sensors itself, so you lose nothing.

Does this replace remote.send_command?

It can, but it does not have to. The Last captured code sensor exposes the same base64 packet the official integration stores, so existing scripts keep working if you keep that integration for another device.

Why is modulation always 38000?

Broadlink hardware does not report the carrier frequency it captured, and the encoder's 32.84 µs tick assumes 38 kHz. Signals at other carriers still round-trip correctly — the device replays what it recorded — but the reported modulation is a fixed value, not a measurement. Treat it as a label, not data.

What about RF (315/433 MHz)?

Out of scope. RM pro and RM4 pro can learn RF, but Home Assistant's infrared entities are IR only, and there is a separate radio frequency platform for that. The add-on rejects RF packets rather than reporting them as bogus IR signals.

Troubleshooting

No devices found

Codes capture, but the emitter does nothing

Almost always aim or range. An RM mini's emitter is quite directional and much weaker than the original remote. Move it closer, point it squarely, and try repeat_count: 1 — some air conditioners ignore a single frame.

The learning switch turns itself off immediately

The device rejected enter_learning. Nearly always because something else holds the session — usually the official Broadlink integration, occasionally the Broadlink phone app left open on a learning screen. Remove the device from the integration, close the app, restart the add-on.

Nothing appears in Home Assistant

  1. Check the add-on log

    You want Announced 6 entities for …. If you see it, the add-on has done its job and the problem is downstream.

  2. Check the discovery prefix

    discovery_prefix must match the MQTT integration's setting — homeassistant unless you changed it.

  3. Check your Home Assistant version

    The MQTT infrared schemas need 2026.8 or newer. On older versions the discovery messages are silently ignored.

Entities show as unavailable

Entities require both the bridge and the device to be online. Check broadlink2mqtt/status for the bridge and broadlink2mqtt/<mac>/availability for the device. A device goes unavailable after a failed sensor poll or a failed transmission, and recovers on the next success.

The LED stays lit after I turn learning mode off

Expected. There is no "exit learning" command in the protocol — the firmware times out on its own within about 30 seconds.

The add-on will not install on my Raspberry Pi

You are probably on a 32-bit OS image. cryptography, which python-broadlink depends on, has no musl wheels for 32-bit ARM. Reflash with the 64-bit Home Assistant OS image, or run the bridge on another machine and point it at your broker.

Reporting a problem

Set log_level: debug, restart the add-on, reproduce the issue, and open an issue with the log, your device model, and your Home Assistant version.