home-assistant/core · error · ConfigEntryNotReady

Brunt not ready to connect.

Error message

Brunt not ready to connect.

What it means

ConfigEntryNotReady raised during the Brunt coordinator's _async_setup when bapi.async_login() fails with ServerDisconnectedError — the Brunt cloud server closed the connection before responding. HA retries setup later; not an auth failure.

Source

Thrown at homeassistant/components/brunt/coordinator.py:56

            _LOGGER,
            config_entry=config_entry,
            name="brunt",
            update_interval=REGULAR_INTERVAL,
        )

    @override
    async def _async_setup(self) -> None:
        session = async_get_clientsession(self.hass)

        self.bapi = BruntClientAsync(
            username=self.config_entry.data[CONF_USERNAME],
            password=self.config_entry.data[CONF_PASSWORD],
            session=session,
        )
        try:
            await self.bapi.async_login()
        except ServerDisconnectedError as exc:
            raise ConfigEntryNotReady("Brunt not ready to connect.") from exc
        except ClientResponseError as exc:
            raise ConfigEntryAuthFailed(
                "Brunt could not connect with username:"
                f" {self.config_entry.data[CONF_USERNAME]}."
            ) from exc

    @override
    async def _async_update_data(self) -> dict[str | None, Thing]:
        """Fetch data from the Brunt endpoint for all Things.

        Error 403 is the API response for any kind of
        authentication error (failed password or email)
        Error 401 is the API response for things that are not
        part of the account, could happen when a device is
        deleted from the account.
        """
        try:
            async with timeout(10):

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Wait — ConfigEntryNotReady retries automatically; most ServerDisconnectedError cases clear on retry
  2. Check Brunt service status / their app to confirm the cloud API is up
  3. If persistent, verify general internet connectivity from the HA host
  4. Reload the integration manually after the outage passes
Defensive patterns

Strategy: retry

Try / catch

# ConfigEntryNotReady is raised by the framework during setup; HA retries it.
# Nothing to catch at call sites — check entry state instead:
if entry.state is ConfigEntryState.SETUP_RETRY:
    # Brunt cloud unreachable at login; wait for retry

Prevention

When it happens

Trigger: Brunt API server restarting or dropping TLS connections; transient outage of the Brunt cloud service; proxy/middlebox terminating the connection during login POST.

Common situations: Brunt cloud downtime windows; local network interruptions at the exact login moment; retry loop observed after HA restarts during an upstream outage.

Related errors


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