home-assistant/core · error · HomeAssistantError
transmit_failed
Error message
transmit_failed
What it means
HomeAssistantError with key transmit_failed, raised by the RF entity's async_send_command when device.api.send_data raises BroadlinkException or OSError while transmitting an encoded RF packet. The packet has already passed frequency validation and encoding; the failure is at the device/network layer. The 'error' placeholder contains the underlying exception text.
Source
Thrown at homeassistant/components/broadlink/radio_frequency.py:129
"""Encode an OOK command and transmit it via the Broadlink device."""
type_byte = _type_byte_for_frequency(command.frequency)
packet = encode_rf_packet(
type_byte=type_byte,
repeat_count=command.repeat_count,
timings_us=command.get_raw_timings(),
)
_LOGGER.debug(
"Transmitting RF packet: %d bytes on %d Hz (repeat=%d)",
len(packet),
command.frequency,
command.repeat_count,
)
device = self._device
try:
await device.async_request(device.api.send_data, packet)
except (BroadlinkException, OSError) as err:
raise HomeAssistantError(
translation_domain=DOMAIN,
translation_key="transmit_failed",
translation_placeholders={"error": str(err)},
) from err
View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Verify device connectivity and retry the transmission.
- Reload the Broadlink integration to re-authenticate with the device.
- Re-learn the RF code — corrupted learned data can produce packets the device rejects.
- Check the 'error' placeholder / logs for the specific BroadlinkException to distinguish auth vs transport.
Defensive patterns
Strategy: retry
Try / catch
try:
await rf_entity.async_send_command(command)
except HomeAssistantError as err:
if err.translation_key == "transmit_failed":
if not device.available:
raise HomeAssistantErrorRetryLater from err # device offline, retry later
raise # persistent failure: re-learn the code
raise Prevention
- Gate RF automations on the Broadlink device's availability.
- Re-learn RF codes after firmware/device changes instead of reusing stale captures.
- Check the 'error' placeholder text before retrying blindly — auth errors need a reload, not a retry.
When it happens
Trigger: Sending an RF command while the Broadlink device is unreachable, its auth session expired, or the device rejects the send_data request (e.g. malformed packet, device busy).
Common situations: Device off/ rebooted, changed IP, Wi-Fi congestion, sending an oversized RF packet, device that lacks RF transmit capability receiving RF-formatted data.
Related errors
- connect_failed
- send_command_failed
- frequency_not_supported
- No radiofrequency found within {LEARNING_TIMEOUT.total_secon
- {err}
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/e94d3fe10562359c.
Report an issue: GitHub.