{"record":{"id":"1d98084fade33ea3","repo":"home-assistant/core","slug":"supervisor-not-ready","errorCode":"supervisor_not_ready","errorMessage":"Supervisor was not ready during setup, will retry","messagePattern":"Supervisor was not ready during setup, will retry","errorType":"exception","errorClass":"ConfigEntryNotReady","httpStatus":null,"severity":"warning","filePath":"homeassistant/components/analytics/__init__.py","lineNumber":94,"sourceCode":"    )\n\n    websocket_api.async_register_command(hass, websocket_analytics)\n    websocket_api.async_register_command(hass, websocket_analytics_preferences)\n\n    hass.http.register_view(AnalyticsDevicesView)\n\n    return True\n\n\nasync def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:\n    \"\"\"Set up Analytics from a config entry.\"\"\"\n    snapshots_url = hass.data[_DATA_SNAPSHOTS_URL]\n    analytics = Analytics(hass, snapshots_url)\n\n    try:\n        await analytics.load()\n    except HassioNotReadyError as err:\n        raise ConfigEntryNotReady(\n            translation_domain=DOMAIN,\n            translation_key=\"supervisor_not_ready\",\n        ) from err\n\n    started = False\n\n    async def _async_handle_labs_update(\n        event_data: labs.EventLabsUpdatedData,\n    ) -> None:\n        \"\"\"Handle labs feature toggle.\"\"\"\n        await analytics.save_preferences({ATTR_SNAPSHOTS: event_data[\"enabled\"]})\n        if started:\n            await analytics.async_schedule()\n\n    async def start_schedule(hass: HomeAssistant) -> None:\n        \"\"\"Start the send schedule once Home Assistant has started.\"\"\"\n        nonlocal started\n        started = True","sourceCodeStart":76,"sourceCodeEnd":112,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/analytics/__init__.py#L76-L112","documentation":"Raised as ConfigEntryNotReady with translation key supervisor_not_ready when Analytics.load() fails with HassioNotReadyError, i.e. the integration is running on a HA OS/Supervised install and the Supervisor API answered but was not yet ready. ConfigEntryNotReady makes Home Assistant retry setup with backoff instead of failing permanently.","triggerScenarios":"async_setup_entry for the analytics integration calls await analytics.load(), which queries the Supervisor (Hassio) API; the Supervisor returns its not-ready state, typically right after boot when hass.io services are still starting.","commonSituations":"Slow Supervisor startup after a HA OS update, Supervisor restarting or unhealthy, or the host being under heavy load during boot. Almost always transient and self-heals on retry.","solutions":["Wait: HA automatically retries setup with exponential backoff; the entry usually recovers by itself.","If it persists, check Supervisor health (Settings > System > Supervisor, or 'ha supervisor info').","Restart the Supervisor ('ha supervisor restart') or the host.","On non-Supervised installs this path is unreachable; a persistent occurrence means the Supervisor addon metadata is inconsistent — update HA OS."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"except ConfigEntryNotReady: do nothing — HA retries setup automatically; never convert this to ConfigEntryError.","preventionTips":["Keep Supervisor updated and healthy so its API is ready shortly after boot.","Expect a transient not-ready window after HA OS updates; do not delete/recreate the entry."],"tags":["supervisor","startup","retry","config-entry-not-ready","analytics"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}