home-assistant/core · error · ConfigEntryNotReady
ConfigEntryNotReady
Error message
ConfigEntryNotReady
What it means
ConfigEntryNotReady is raised by the bond integration when hub.setup() fails with aiohttp ClientResponseError carrying any HTTP status other than 401 (401 is handled separately by logging an invalid-token error and returning False). The entry enters HA's retry-with-backoff state; the underlying HTTP status is preserved as __cause__.
Source
Thrown at homeassistant/components/bond/__init__.py:70
host = entry.data[CONF_HOST]
token = entry.data[CONF_ACCESS_TOKEN]
config_entry_id = entry.entry_id
bond = Bond(
host=host,
token=token,
timeout=ClientTimeout(total=_API_TIMEOUT),
session=async_get_clientsession(hass),
requestor_uuid=RequestorUUID.HOME_ASSISTANT,
)
hub = BondHub(bond, host)
try:
await hub.setup()
except ClientResponseError as ex:
if ex.status == HTTPStatus.UNAUTHORIZED:
_LOGGER.error("Bond token no longer valid: %s", ex)
return False
raise ConfigEntryNotReady from ex
except (ClientError, TimeoutError, OSError) as error:
raise ConfigEntryNotReady from error
bpup_subs = BPUPSubscriptions()
stop_bpup = await start_bpup(host, bpup_subs)
@callback
def _async_stop_event(*_: Any) -> None:
stop_bpup()
entry.async_on_unload(_async_stop_event)
entry.async_on_unload(
hass.bus.async_listen(EVENT_HOMEASSISTANT_STOP, _async_stop_event)
)
entry.runtime_data = BondData(hub, bpup_subs)
if not entry.unique_id:
hass.config_entries.async_update_entry(entry, unique_id=hub.bond_id)View on GitHub (pinned to 58a3fdb3ea)
Solutions
- Check the Bond Home app / hub LED to confirm the hub is healthy and firmware is current; update hub firmware.
- Inspect the chained ClientResponseError status in HA debug logs to identify 403/404/5xx and act accordingly.
- For 403, re-add the entry to regenerate the token (401-like handling does not cover 403).
- Reload the entry after hub/cloud recovery; ConfigEntryNotReady retries are automatic with backoff.
Defensive patterns
Strategy: try-catch
Try / catch
try:
await hub.setup()
except ClientResponseError as ex:
if ex.status == HTTPStatus.UNAUTHORIZED:
_LOGGER.error("Bond token no longer valid: %s", ex)
return False
raise ConfigEntryNotReady from ex Prevention
- Keep Bond hub firmware current so REST endpoints match the integration's expectations.
- Inspect the chained ClientResponseError.status to distinguish 403/404/5xx from connectivity.
- Use the Bond app to confirm the hub is online before debugging HA.
When it happens
Trigger: hub.setup() calls the Bond Cloud/local Bond hub REST API (e.g. /v2/sys/version) and gets a 4xx/5xx other than 401: 403 (token valid but forbidden), 404 (wrong endpoint for hub firmware), 500/503 (hub overload or cloud outage).
Common situations: Bond hub firmware too old/new for the API version used, Bond Cloud transient outage, hub briefly returning 5xx while rebooting, token with insufficient scope producing 403.
Related errors
- Could not connect to Autoskope API
- unknown
- The bond API returned an error calling set_power_state_belie
- The bond API returned an error calling set_speed_belief for
- The bond API returned an error calling set_brightness_belief
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/10aa8371e58ba3b6.
Report an issue: GitHub.