home-assistant/core · error · HomeAssistantError
Failed to press 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).
Solutions
- Confirm the robot is powered on and connected to the cloud (check the vendor app)
- Retry the button press after the device is back online
- If presses consistently fail, reload the integration or re-authenticate the config entry
- 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
- Check the robot is online (vendor app) before automation-triggered presses
- In automations, prefer retrying on next trigger over alerting per failure
- Keep the integration authenticated to avoid stale-token command failures
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
- Failed to turn off .
- Failed to turn on .
- Authentication failed, please reauthenticate.
- Brunt not ready to connect.
- Error communicating with AirPatrol API
AI-assisted analysis of home-assistant/core@58a3fdb3ea (2026-08-14).
Data as JSON: /api/errors/fed3b0b03906698a.
Report an issue: GitHub.
Appendix: 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)