{"record":{"id":"8be73eb63198811b","repo":"home-assistant/core","slug":"failed-to-communicate-with-device","errorCode":null,"errorMessage":"Failed to communicate with device.","messagePattern":"Failed to communicate with device\\.","errorType":"exception","errorClass":"UpdateFailed","httpStatus":null,"severity":"warning","filePath":"homeassistant/components/airobot/coordinator.py","lineNumber":66,"sourceCode":"            password=entry.data[CONF_PASSWORD],\n            session=session,\n        )\n\n    @override\n    async def _async_update_data(self) -> AirobotData:\n        \"\"\"Fetch data from API endpoint.\"\"\"\n        try:\n            status, settings = await asyncio.gather(\n                self.client.get_statuses(),\n                self.client.get_settings(),\n            )\n        except AirobotAuthError as err:\n            raise ConfigEntryAuthFailed(\n                translation_domain=DOMAIN,\n                translation_key=\"authentication_failed\",\n            ) from err\n        except AirobotConnectionError as err:\n            raise UpdateFailed(\n                translation_domain=DOMAIN,\n                translation_key=\"connection_failed\",\n            ) from err\n\n        return AirobotData(status=status, settings=settings)\n","sourceCodeStart":48,"sourceCodeEnd":72,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/airobot/coordinator.py#L48-L72","documentation":"Raised by the Airobot coordinator when the status/settings fetch fails with AirobotConnectionError. It becomes UpdateFailed with translation key connection_failed: the config entry stays loaded but its entities reflect stale/unavailable data, and the coordinator retries on its interval.","triggerScenarios":"HTTP transport failure reaching the Airobot cloud: DNS resolution failure, connection timeout, or the service temporarily unreachable — distinct from auth errors which raise ConfigEntryAuthFailed instead.","commonSituations":"Home internet down or flaky, Airobot cloud outage, DNS issues on the HA host, or brief interruptions during robot firmware updates.","solutions":["Verify general internet connectivity from the HA host","Confirm the vendor app can reach the robot (rules out a cloud outage)","If a cloud outage is suspected, wait — the coordinator auto-retries","Persistent failure with otherwise-working internet suggests a library/service-side issue; report with logs"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":["Rely on the coordinator's automatic retries; alert only on prolonged unavailability","Monitor HA host internet/DNS health","Distinguish from auth errors: auth triggers reauth prompt, connection errors do not"],"tags":["airobot","home-assistant","network","coordinator"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}