home-assistant/core · error · UpdateFailed

{err}

Error message

{err}

What it means

UpdateFailed raised by the Broadlink DataUpdateCoordinator when the underlying device request raises (err comes from the device API call in _async_fetch_data). This marks the coordinator's refresh as failed so entities become unavailable and HA schedules a retry with backoff. The surrounding code also flips self.available and logs connect/disconnect transitions.

Source

Thrown at homeassistant/components/broadlink/updater.py:98

                and self.last_update
                and (
                    dt_util.utcnow() - self.last_update > self.SCAN_INTERVAL * 3
                    or isinstance(err, (AuthorizationError, OSError))
                )
            ):
                self.available = False
                _LOGGER.warning(
                    "Disconnected from %s (%s at %s)",
                    self.device.name,
                    self.device.api.model,
                    self.device.api.host[0],
                )
                if not self.coordinator.last_update_success:
                    # When the previous refresh already failed, the coordinator
                    # will skip listener notification, so notify explicitly to
                    # ensure entities flip to unavailable on this transition.
                    self.coordinator.async_update_listeners()
            raise UpdateFailed(err) from err

        if self.available is False:
            _LOGGER.warning(
                "Connected to %s (%s at %s)",
                self.device.name,
                self.device.api.model,
                self.device.api.host[0],
            )
        self.available = True
        self.last_update = dt_util.utcnow()
        return data

    @abstractmethod
    async def async_fetch_data(self) -> dict[str, Any] | None:
        """Fetch data from the device."""


class BroadlinkA1UpdateManager(BroadlinkUpdateManager[blk.a1]):

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Ping the Broadlink device IP and fix connectivity (power-cycle, check Wi-Fi)
  2. Set a DHCP reservation so the device IP never changes
  3. If auth-related, re-lock/re-configure the device through the integration's config flow
  4. Wait for the coordinator's automatic retry — transient failures self-heal with backoff
  5. Check 'Disconnected from'/'Connected to' warning logs around the failure to confirm reconnect behavior
Defensive patterns

Strategy: retry

Try / catch

# Coordinator-level: intercept UpdateFailed in listeners/data consumers
try:
    await coordinator.async_config_entry_first_refresh()
except ConfigEntryNotReady:
    # Broadlink device unreachable; HA retries setup with backoff
    raise

Prevention

When it happens

Trigger: Broadlink device unreachable on the network (powered off, IP changed via DHCP, firewall blocking); device locked or auth failed (wrong lock in broadlink library, device re-registered to another account); transient socket timeouts during the coordinator update interval.

Common situations: Router DHCP reassigns the Broadlink's IP — set a DHCP reservation; device firmware update rebooting; heavy local network congestion or Wi-Fi dropout; device in an unreachable subnet after network reconfiguration.

Related errors


AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14). Data as JSON: /api/errors/8e2b041e8d2542fd. Report an issue: GitHub.