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
- Check device/network reachability from the HA host (ping / HTTP GET to the WebServer).
- If failures are intermittent, rely on the coordinator's automatic retry with backoff — single UpdateFailed events are usually transient.
- Reload the integration after the device is back; persistent failure means the local API is broken (check firmware).
- 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
- Keep device timeouts (AIOAIRZONE_DEVICE_TIMEOUT_SEC) larger than the WebServer's worst-case response time.
- Monitor coordinator last_update_status instead of crashing on single failures.
- Fix network instability to the bridge rather than disabling the coordinator.
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
- Unable find multi-factor auth module: {mfa_module_id}
- Failed to connect
- {error}
- Error communicating with API: {err}
- Cannot connect to Ambient Network
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/8907e34aff4bc7df.
Report an issue: GitHub.