home-assistant/core · error · UpdateFailed

{error}

Error message

{error}

What it means

UpdateFailed raised by the Airzone local DataUpdateCoordinator when self.airzone.update() raises AirzoneError. The coordinator wraps every library exception into UpdateFailed so Home Assistant marks the config entry as needing retry with the library's message embedded. The whole poll runs under an asyncio timeout of AIOAIRZONE_DEVICE_TIMEOUT_SEC.

Source

Thrown at homeassistant/components/airzone/coordinator.py:53

        """Initialize."""
        self.airzone = airzone

        super().__init__(
            hass,
            _LOGGER,
            config_entry=config_entry,
            name=DOMAIN,
            update_interval=SCAN_INTERVAL,
        )

    @override
    async def _async_update_data(self) -> dict[str, Any]:
        """Update data via library."""
        async with timeout(AIOAIRZONE_DEVICE_TIMEOUT_SEC):
            try:
                await self.airzone.update()
            except AirzoneError as error:
                raise UpdateFailed(error) from error
            return self.airzone.data()

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Check device/network reachability from the HA host (ping / HTTP GET to the WebServer).
  2. If failures are intermittent, rely on the coordinator's automatic retry with backoff — single UpdateFailed events are usually transient.
  3. Reload the integration after the device is back; persistent failure means the local API is broken (check firmware).
  4. For custom coordinators, keep the timeout wrapper and map library errors to UpdateFailed exactly as this code does.
Defensive patterns

Strategy: retry

Try / catch

from homeassistant.exceptions import ConfigEntryNotReady

try:
    await coordinator.async_config_entry_first_refresh()
except (ConfigEntryNotReady, UpdateFailed) as err:
    _LOGGER.warning("Airzone initial refresh failed: %s", err)

Prevention

When it happens

Trigger: Periodic coordinator refresh where the local WebServer returns an HTTP error, malformed JSON, or raises an aioairzone AirzoneError; also triggered indirectly when the timeout() context cancels a slow request (the library surfaces it as AirzoneError).

Common situations: WebServer briefly offline or rebooting; network flakiness (Wi-Fi HVAC bridges); firmware that closes connections; the update interval colliding with a slow device under load.

Related errors


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