home-assistant/core · error · UpdateFailed

current_conditions_update_error

current_conditions_update_error

Error message

An error occurred while retrieving weather current conditions data from the AccuWeather API: {error}

What it means

UpdateFailed raised by the AccuWeather observation coordinator when fetching current conditions raises one of the coordinator's generic EXCEPTIONS (e.g. asyncio timeout after 10s, aiohttp ClientError, ApiError) inside _async_update_data. It marks the update failed so DataUpdateCoordinator logs and schedules a retry; the user-facing text comes from translation key current_conditions_update_error with the exception repr as placeholder.

Source

Thrown at homeassistant/components/accuweather/coordinator.py:87

        self.device_info = _get_device_info(self.location_key, name)

        super().__init__(
            hass,
            _LOGGER,
            config_entry=config_entry,
            name=f"{name} (observation)",
            update_interval=UPDATE_INTERVAL_OBSERVATION,
        )

    @override
    async def _async_update_data(self) -> dict[str, Any]:
        """Update data via library."""
        try:
            async with timeout(10):
                result = await self.accuweather.async_get_current_conditions()
        except EXCEPTIONS as error:
            raise UpdateFailed(
                translation_domain=DOMAIN,
                translation_key="current_conditions_update_error",
                translation_placeholders={"error": repr(error)},
            ) from error
        except InvalidApiKeyError as err:
            raise ConfigEntryAuthFailed(
                translation_domain=DOMAIN,
                translation_key="auth_error",
                translation_placeholders={"entry": self.config_entry.title},
            ) from err

        _LOGGER.debug("Requests remaining: %d", self.accuweather.requests_remaining)

        return result


class AccuWeatherForecastDataUpdateCoordinator(
    TimestampDataUpdateCoordinator[list[dict[str, Any]]]

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Check requests remaining in debug logs (_LOGGER.debug('Requests remaining: %d')) — if 0, the free tier limit (50/day) is hit; wait for reset or reduce update interval
  2. Verify internet/DNS from the host and that no firewall blocks api.accuweather.com
  3. If it fails persistently, test the API key directly against https://dataservice.accuweather.com/currentconditions/v1/
  4. Increase confidence in connectivity then let the coordinator retry; only re-create the entry if the key itself is wrong (that raises InvalidApiKeyError → auth_error instead)
Defensive patterns

Strategy: retry

Try / catch

try:
    async with timeout(10):
        result = await self.accuweather.async_get_current_conditions()
except EXCEPTIONS as error:
    raise UpdateFailed(
        translation_domain=DOMAIN,
        translation_key="current_conditions_update_error",
        translation_placeholders={"error": repr(error)},
    ) from error

Prevention

When it happens

Trigger: self.accuweather.async_get_current_conditions() inside async with timeout(10) raises a network/API exception (timeout, connection reset, AccuWeather ApiError).

Common situations: AccuWeather API free-tier rate limit exhaustion, internet outage, 10-second timeout on slow mobile links, invalid/expired API key returning errors that surface as ApiError.

Related errors


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