home-assistant/core · error · ConfigEntryAuthFailed

ConfigEntryAuthFailed

Error message

ConfigEntryAuthFailed

What it means

ConfigEntryAuthFailed raised at runtime: the blebox DataUpdateCoordinator's _async_update_data catches UnauthorizedRequest from box.async_update_data() and converts it to ConfigEntryAuthFailed. This is the documented HA pattern for mid-operation auth loss — the coordinator stops polling and HA opens a reauth flow instead of endlessly retrying authenticated requests.

Source

Thrown at homeassistant/components/blebox/coordinator.py:47

        self, hass: HomeAssistant, config_entry: BleBoxConfigEntry, box: Box
    ) -> None:
        """Initialize the coordinator."""
        super().__init__(
            hass,
            _LOGGER,
            config_entry=config_entry,
            name=DOMAIN,
            update_interval=timedelta(seconds=5),
        )
        self.box = box

    @override
    async def _async_update_data(self) -> None:
        """Fetch data from the BleBox device."""
        try:
            await self.box.async_update_data()
        except UnauthorizedRequest as err:
            raise ConfigEntryAuthFailed from err
        except Error as err:
            raise UpdateFailed(
                translation_domain=DOMAIN,
                translation_key="data_update_failed",
                translation_placeholders={"error": str(err)},
            ) from err

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Complete the reauth flow HA shows for the entry, providing the device's current username/password.
  2. If the device should be passwordless, clear the password in its web UI and reload the entry.
  3. Confirm no second app/controller changed the device's authorization settings.
  4. Reload the config entry after fixing credentials so polling resumes with a fresh client session.
Defensive patterns

Strategy: try-catch

Try / catch

try:
    await self.box.async_update_data()
except UnauthorizedRequest as err:
    raise ConfigEntryAuthFailed from err  # stop polling, start reauth
except Error as err:
    raise UpdateFailed(...) from err

Prevention

When it happens

Trigger: During a 5-second polling cycle, box.async_update_data() calls the device's API endpoints and one of them returns 401/403, so the library raises UnauthorizedRequest (e.g. a device password was enabled after setup, or stored credentials were invalidated).

Common situations: User sets a password in the device web UI after HA setup, device firmware update enabling auth by default, credentials changed on the entry but device not yet aligned, single multi-module device where one module's auth setting changed.

Related errors


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