{"record":{"id":"d8eeb3bfc7bd30cc","repo":"home-assistant/core","slug":"api-timeout","errorCode":"api_timeout","errorMessage":"Timeout occurred while communicating with the Aqvify API for {entry}","messagePattern":"Timeout occurred while communicating with the Aqvify API for (.+?)","errorType":"exception","errorClass":"ConfigEntryNotReady","httpStatus":null,"severity":"warning","filePath":"homeassistant/components/aqvify/coordinator.py","lineNumber":89,"sourceCode":"    async def _async_setup(self) -> None:\n        \"\"\"Set up the coordinator.\"\"\"\n        try:\n            await self.api_client.async_get_account_id()\n        except AqvifyAuthException:\n            raise ConfigEntryAuthFailed(\n                translation_domain=DOMAIN,\n                translation_key=\"invalid_api_key\",\n            ) from None\n        except ClientResponseError as err:\n            raise ConfigEntryNotReady(\n                translation_domain=DOMAIN,\n                translation_key=\"api_error\",\n                translation_placeholders={\n                    \"entry\": self.config_entry.title,\n                },\n            ) from err\n        except TimeoutError as err:\n            raise ConfigEntryNotReady(\n                translation_domain=DOMAIN,\n                translation_key=\"api_timeout\",\n                translation_placeholders={\n                    \"entry\": self.config_entry.title,\n                },\n            ) from err\n\n    @override\n    async def _async_update_data(self) -> AqvifyCoordinatorData:\n        \"\"\"Fetch device state.\"\"\"\n        try:\n            devices = await self.api_client.async_get_devices()\n        except AqvifyAuthException:\n            raise ConfigEntryAuthFailed(\n                translation_domain=DOMAIN,\n                translation_key=\"invalid_api_key\",\n            ) from None\n        except ClientResponseError as err:","sourceCodeStart":71,"sourceCodeEnd":107,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/aqvify/coordinator.py#L71-L107","documentation":"ConfigEntryNotReady raised during Aqvify coordinator setup (translation_key 'api_timeout') when async_get_account_id() raises TimeoutError — the Aqvify API did not answer in time. Setup is deferred and retried automatically by Home Assistant.","triggerScenarios":"The initial setup request exceeds the aiohttp/HTTP timeout; causes include slow Aqvify servers, packet loss, DNS slowness, or an over-loaded HA host.","commonSituations":"Temporary cloud latency; restrictive firewall/proxy adding delay to TLS; IPv6 misconfiguration causing connect delays; HA running on resource-starved hardware (Raspberry Pi under load).","solutions":["Wait for automatic retry — transient timeouts typically resolve on the next attempt.","Check latency to api.aqvify.com from the HA host (curl/DNS timing); fix network/DNS if consistently slow.","If behind a proxy, bypass or tune it for the Aqvify domain.","Restart the entry from the HA UI (Reload) once the network is confirmed healthy."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"try:\n    await asyncio.wait_for(api_client.async_get_account_id(), timeout=15)\nexcept TimeoutError:\n    raise ConfigEntryNotReady(\"Aqvify API timeout\") from None","preventionTips":["Check DNS/proxy health on the HA host when timeouts repeat.","Give the first setup attempt a few automatic retries before intervening.","Avoid overloaded networks/VLANs for the HA host during setup."],"tags":["home-assistant","aqvify","timeout","config-entry-not-ready","network"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}