{"record":{"id":"af23687b4fda88a5","repo":"home-assistant/core","slug":"authentication-failed-please-reauthenticate","errorCode":null,"errorMessage":"Authentication failed, please reauthenticate.","messagePattern":"Authentication failed, please reauthenticate\\.","errorType":"exception","errorClass":"ConfigEntryAuthFailed","httpStatus":null,"severity":"critical","filePath":"homeassistant/components/airobot/coordinator.py","lineNumber":61,"sourceCode":"        session = async_get_clientsession(hass)\n\n        self.client = AirobotClient(\n            host=entry.data[CONF_HOST],\n            username=entry.data[CONF_USERNAME],\n            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":43,"sourceCodeEnd":72,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/airobot/coordinator.py#L43-L72","documentation":"Raised by the Airobot coordinator when get_statuses()/get_settings() fail with AirobotAuthError. ConfigEntryAuthFailed with translation key authentication_failed starts the reauthentication flow for the config entry: entities go unavailable and HA prompts the user to log in again.","triggerScenarios":"The stored Airobot credentials/token are rejected by the cloud API — expired token, password changed, account logged out elsewhere, or revoked session.","commonSituations":"User changed their Airobot account password, token TTL expired, or the integration's stored session was invalidated server-side.","solutions":["Follow the reauthentication prompt in Settings > Devices & Services and re-enter credentials","Verify the credentials work in the vendor app first","If reauth repeatedly fails immediately, remove and re-add the integration","Check for Airobot cloud-side auth outages before re-adding"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"# Custom integrations calling Airobot-like coordinators:\ntry:\n    data = await coordinator.async_data()\nexcept ConfigEntryAuthFailed:\n    # trigger reauth flow / notify user; do not retry with the same credentials","preventionTips":["Keep Airobot credentials stable; password changes require reauth","Complete the reauth prompt promptly — entities stay unavailable until done","Verify login works in the vendor app before re-authenticating in HA"],"tags":["airobot","home-assistant","authentication","reauth"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}