home-assistant/core · error · HomeAssistantError

Failed to press {button} button.

Error message

Failed to press {button} button.

What it means

Raised by the Airobot button entity's async_press when the entity_description.press_fn coroutine raises any AirobotError. It becomes HomeAssistantError with translation key button_press_failed and the button's description key as placeholder, so the UI shows which button failed and why the underlying call failed (via the chained exception in logs).

Source

Thrown at homeassistant/components/airobot/button.py:84

    entity_description: AirobotButtonEntityDescription

    def __init__(
        self,
        coordinator: AirobotDataUpdateCoordinator,
        description: AirobotButtonEntityDescription,
    ) -> None:
        """Initialize the button."""
        super().__init__(coordinator)
        self.entity_description = description
        self._attr_unique_id = f"{coordinator.data.status.device_id}_{description.key}"

    @override
    async def async_press(self) -> None:
        """Handle the button press."""
        try:
            await self.entity_description.press_fn(self.coordinator)
        except AirobotError as err:
            raise HomeAssistantError(
                translation_domain=DOMAIN,
                translation_key="button_press_failed",
                translation_placeholders={"button": self.entity_description.key},
            ) from err

View on GitHub (pinned to 58a3fdb3ea)

Solutions

  1. Confirm the robot is powered on and connected to the cloud (check the vendor app)
  2. Retry the button press after the device is back online
  3. If presses consistently fail, reload the integration or re-authenticate the config entry
  4. Inspect the chained original AirobotError in the HA log for the precise API failure
Defensive patterns

Strategy: try-catch

Try / catch

try:
    await hass.services.async_call("button", "press", {"entity_id": "button.xxx"}, blocking=True)
except HomeAssistantError as err:
    _LOGGER.warning("Airobot button press failed: %s", err)

Prevention

When it happens

Trigger: Pressing an Airobot button (e.g. trigger a cleaning action) while the robot's cloud API call fails: device offline, cloud service unreachable, auth token stale, or the API rejects the command.

Common situations: Robot powered off or off Wi-Fi, Airobot cloud outage, or account credentials/token invalidated (which will soon also surface via ConfigEntryAuthFailed in the coordinator).

Related errors


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