home-assistant/core · error · UpdateFailed
update_failed
update_failed
Error message
An error occurred while updating from the Advantage Air API: {error} What it means
UpdateFailed with translation_key update_failed, raised by AdvantageAirCoordinator._async_update_data when self.api.async_get() raises the library's ApiError. It is the coordinator's single failure path for any HTTP/API problem during a scheduled refresh; the placeholders carry str(err) so the UI/log shows the library's specific reason.
Source
Thrown at homeassistant/components/advantage_air/coordinator.py:54
super().__init__(
hass,
_LOGGER,
config_entry=config_entry,
name="Advantage Air",
update_interval=timedelta(seconds=ADVANTAGE_AIR_SYNC_INTERVAL),
request_refresh_debouncer=Debouncer(
hass, _LOGGER, cooldown=REQUEST_REFRESH_DELAY, immediate=False
),
)
self.api = api
@override
async def _async_update_data(self) -> dict[str, Any]:
"""Fetch data from the API."""
try:
return await self.api.async_get()
except ApiError as err:
raise UpdateFailed(
translation_domain=DOMAIN,
translation_key="update_failed",
translation_placeholders={"error": str(err)},
) from err
View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Ping / open the controller's local web interface to confirm it is reachable at the configured host.
- Check the full log line — the {error} placeholder contains the library's reason (timeout, status code, parse failure).
- Restart or power-cycle the Advantage Air controller if its web API is wedged (common after firmware updates).
- Verify the config entry host/port and scheme (http vs https with self-signed cert) match the controller.
- Wait for the next poll interval; transient failures self-correct via the coordinator's retry, with debounced refresh on demand.
Defensive patterns
Strategy: retry
Type guard
def advantage_air_ok(coordinator) -> bool:
"""Coordinator reports healthy last refresh."""
return coordinator.last_update_success Try / catch
from homeassistant.exceptions import UpdateFailed
try:
await coordinator.async_config_entry_first_refresh()
except UpdateFailed as err:
# {error} placeholder carries the ApiError text
_LOGGER.warning("Advantage Air refresh failed: %s", err) Prevention
- Reserve a static IP for the AC controller.
- Alert on repeated last_update_success == False rather than single failures.
- Power-cycle the controller after firmware updates if its local API stalls.
When it happens
Trigger: Every coordinator poll where async_get() fails: Advantage Air controller (e.g. Advantage Air / Braemar / Bonaire unit) unreachable on the LAN, HTTP 5xx from the controller's local web API, or a malformed/unexpected response body the library rejects.
Common situations: Controller rebooted or firmware updated, static IP changed, Wi-Fi drop between HA and the air conditioning controller, or the controller's concurrent-request limit hit by other clients.
Related errors
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/459a357aa334cc60.
Report an issue: GitHub.