{"record":{"id":"82e52bff6e687020","repo":"home-assistant/core","slug":"the-device-did-not-accept-the-reboot-request-try","errorCode":null,"errorMessage":"The device did not accept the reboot request. Try again, or check your device web interface for errors.","messagePattern":"The device did not accept the reboot request\\. Try again, or check your device web interface for errors\\.","errorType":"exception","errorClass":"HomeAssistantError","httpStatus":null,"severity":"error","filePath":"homeassistant/components/airos/button.py","lineNumber":69,"sourceCode":"\n        self.entity_description = description\n        self._attr_unique_id = f\"{coordinator.data.derived.mac}_{description.key}\"\n\n    @override\n    async def async_press(self) -> None:\n        \"\"\"Handle the button press to reboot the device.\"\"\"\n        try:\n            await self.coordinator.airos_device.login()\n            result = await self.coordinator.airos_device.reboot()\n\n        except AirOSException as err:\n            raise HomeAssistantError(\n                translation_domain=DOMAIN,\n                translation_key=\"cannot_connect\",\n            ) from err\n\n        if not result:\n            raise HomeAssistantError(\n                translation_domain=DOMAIN,\n                translation_key=\"reboot_failed\",\n            ) from None\n","sourceCodeStart":51,"sourceCodeEnd":73,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/airos/button.py#L51-L73","documentation":"Raised by the airos reboot button when the device accepted the connection and login succeeded, but reboot() returned a falsy result — meaning the airOS device did not confirm the reboot request. It maps to the 'reboot_failed' translation key and is raised 'from None' because there is no underlying exception, only an unsuccessful API response.","triggerScenarios":"async_press completes login() and reboot() without exception, but reboot() returns None/False — e.g. the device responded to the HTTP request with an error payload, rejected the reboot command because an update is in progress, or the response parsing indicated the command was not accepted.","commonSituations":"Device firmware mid-update or already rebooting, insufficient privileges for the logged-in user (read-only account), or a firmware version whose reboot endpoint responds differently than the library expects.","solutions":["Open the device web interface and trigger the reboot manually to see if the device reports a specific error (e.g. busy, updating).","Confirm the configured account has administrator rights on the airOS device.","Retry the button press once the device is idle.","Check for updates to the underlying airos library / integration if the device firmware is newer than what the library supports."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":"def is_airos_reboot_failed(err: Exception) -> bool:\n    return isinstance(err, HomeAssistantError) and getattr(err, \"translation_domain\", None) == \"airos\" and getattr(err, \"translation_key\", None) == \"reboot_failed\"","tryCatchPattern":"try:\n    await async_press()\nexcept HomeAssistantError as err:\n    if getattr(err, \"translation_key\", None) == \"reboot_failed\":\n        # command rejected, not a crash: verify device state, wait, retry once\n        await asyncio.sleep(30)\n        await async_press()","preventionTips":["Use an admin-level account on the airOS device for the integration.","Do not trigger reboot automations while firmware updates are in progress.","Treat a falsy reboot() result as 'unconfirmed', and verify uptime afterwards instead of blindly retrying."],"tags":["home-assistant","airos","ubiquiti","reboot","button"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}