{"record":{"id":"259b39703ea99dbc","repo":"home-assistant/core","slug":"configentrynotready","errorCode":null,"errorMessage":"ConfigEntryNotReady","messagePattern":"ConfigEntryNotReady","errorType":"exception","errorClass":"ConfigEntryNotReady","httpStatus":null,"severity":"error","filePath":"homeassistant/components/blue_current/__init__.py","lineNumber":69,"sourceCode":"\n    async_setup_services(hass)\n    return True\n\n\nasync def async_setup_entry(\n    hass: HomeAssistant, config_entry: BlueCurrentConfigEntry\n) -> bool:\n    \"\"\"Set up Blue Current as a config entry.\"\"\"\n    client = Client()\n    api_token = config_entry.data[CONF_API_TOKEN]\n    connector = Connector(hass, config_entry, client)\n\n    try:\n        await client.validate_api_token(api_token)\n    except InvalidApiToken as err:\n        raise ConfigEntryAuthFailed(\"Invalid API token.\") from err\n    except BlueCurrentException as err:\n        raise ConfigEntryNotReady from err\n    config_entry.async_create_background_task(\n        hass, connector.run_task(), \"blue_current-websocket\"\n    )\n\n    await client.wait_for_charge_points()\n    config_entry.runtime_data = connector\n    await hass.config_entries.async_forward_entry_setups(config_entry, PLATFORMS)\n\n    return True\n\n\nasync def async_unload_entry(\n    hass: HomeAssistant, config_entry: BlueCurrentConfigEntry\n) -> bool:\n    \"\"\"Unload the Blue Current config entry.\"\"\"\n\n    return await hass.config_entries.async_unload_platforms(config_entry, PLATFORMS)\n","sourceCodeStart":51,"sourceCodeEnd":87,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/blue_current/__init__.py#L51-L87","documentation":"ConfigEntryNotReady is raised by the Blue Current integration when client.validate_api_token(api_token) fails with any BlueCurrentException other than InvalidApiToken — i.e. the websocket/API call to the Blue Current charge-point service failed at transport or protocol level. HA will retry setup with backoff; the InvalidApiToken case is handled separately as ConfigEntryAuthFailed.","triggerScenarios":"`await client.validate_api_token(api_token)` cannot complete: websocket endpoint unreachable, connection dropped mid-handshake, malformed server response — any non-auth BlueCurrentException from the bluecurrent_api library.","commonSituations":"Blue Current API/cloud outage, HA host offline or DNS failing, network blocking outbound websocket (wss) connections, library version drift with server-side protocol changes.","solutions":["Check the Blue Current service status / your charge point connectivity in the vendor app.","Verify outbound network access from HA (DNS, proxy, firewall allowing wss).","Retry by reloading the config entry once connectivity is restored — NotReady retries are automatic.","If it persists with the service healthy, update HA so the bluecurrent_api package matches the current server protocol."],"exampleFix":null,"handlingStrategy":"retry","validationCode":"import asyncio, socket\n\ndef dns_ok(host: str) -> bool:\n    try:\n        socket.getaddrinfo(host, 443)\n    except OSError:\n        return False\n    return True","typeGuard":null,"tryCatchPattern":"try:\n    await client.validate_api_token(api_token)\nexcept InvalidApiToken as err:\n    raise ConfigEntryAuthFailed(\"Invalid API token.\") from err\nexcept BlueCurrentException as err:\n    raise ConfigEntryNotReady from err","preventionTips":["Validate the API token in the Blue Current portal first (auth vs connectivity failures look similar).","Ensure outbound wss traffic is allowed from the HA network.","Rely on HA's automatic NotReady retries for transient Blue Current cloud issues."],"tags":["home-assistant","blue-current","websocket","network","retry"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}