home-assistant/core · error · HomeAssistantError

The device did not accept the reboot request. Try again, or

Error message

The device did not accept the reboot request. Try again, or check your device web interface for errors.

What it means

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.

Source

Thrown at homeassistant/components/airos/button.py:69

        self.entity_description = description
        self._attr_unique_id = f"{coordinator.data.derived.mac}_{description.key}"

    @override
    async def async_press(self) -> None:
        """Handle the button press to reboot the device."""
        try:
            await self.coordinator.airos_device.login()
            result = await self.coordinator.airos_device.reboot()

        except AirOSException as err:
            raise HomeAssistantError(
                translation_domain=DOMAIN,
                translation_key="cannot_connect",
            ) from err

        if not result:
            raise HomeAssistantError(
                translation_domain=DOMAIN,
                translation_key="reboot_failed",
            ) from None

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Open the device web interface and trigger the reboot manually to see if the device reports a specific error (e.g. busy, updating).
  2. Confirm the configured account has administrator rights on the airOS device.
  3. Retry the button press once the device is idle.
  4. Check for updates to the underlying airos library / integration if the device firmware is newer than what the library supports.
Defensive patterns

Strategy: retry

Type guard

def is_airos_reboot_failed(err: Exception) -> bool:
    return isinstance(err, HomeAssistantError) and getattr(err, "translation_domain", None) == "airos" and getattr(err, "translation_key", None) == "reboot_failed"

Try / catch

try:
    await async_press()
except HomeAssistantError as err:
    if getattr(err, "translation_key", None) == "reboot_failed":
        # command rejected, not a crash: verify device state, wait, retry once
        await asyncio.sleep(30)
        await async_press()

Prevention

When it happens

Trigger: 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.

Common situations: 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.

Related errors


AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14). Data as JSON: /api/errors/82e52bff6e687020. Report an issue: GitHub.