home-assistant/core · error · UpdateFailed

forecast_update_error

forecast_update_error

Error message

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

What it means

UpdateFailed raised by the AccuWeather forecast coordinator when the forecast fetch method raises a generic exception (timeout >10s, connection error, or AccuWeather ApiError). It is the forecast counterpart of the observation error, keyed forecast_update_error, with the exception repr interpolated.

Source

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

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

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

    @override
    async def _async_update_data(self) -> list[dict[str, Any]]:
        """Update forecast data via library."""
        try:
            async with timeout(10):
                result = await self._fetch_method(language=self.hass.config.language)
        except EXCEPTIONS as error:
            raise UpdateFailed(
                translation_domain=DOMAIN,
                translation_key="forecast_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 AccuWeatherDailyForecastDataUpdateCoordinator(
    AccuWeatherForecastDataUpdateCoordinator
):

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Confirm rate-limit headroom in debug logs ('Requests remaining'); free tier is 50 calls/day across all AccuWeather endpoints
  2. Reduce polling: disable the forecast option or increase scan_interval so forecast calls are less frequent
  3. Check connectivity to dataservice.accuweather.com and let the coordinator retry automatically
Defensive patterns

Strategy: retry

Try / catch

try:
    async with timeout(10):
        result = await self._fetch_method(language=self.hass.config.language)
except EXCEPTIONS as error:
    raise UpdateFailed(
        translation_domain=DOMAIN,
        translation_key="forecast_update_error",
        translation_placeholders={"error": repr(error)},
    ) from error

Prevention

When it happens

Trigger: self._fetch_method(language=...) (5-day hourly or daily forecast call) raises one of EXCEPTIONS inside async with timeout(10).

Common situations: Same as observation failures: rate limits (the forecast endpoints count against the 50 calls/day free tier), transient network drops, slow responses exceeding the 10s timeout.

Related errors


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