{"record":{"id":"d250ef7cf975a195","repo":"home-assistant/core","slug":"this-alert-cannot-be-acknowledged","errorCode":null,"errorMessage":"This alert cannot be acknowledged","messagePattern":"This alert cannot be acknowledged","errorType":"validation","errorClass":"ServiceValidationError","httpStatus":null,"severity":"error","filePath":"homeassistant/components/alert/entity.py","lineNumber":204,"sourceCode":"                await self.hass.services.async_call(\n                    NOTIFY_DOMAIN, target, msg_payload, context=self._context\n                )\n            except ServiceNotFound:\n                LOGGER.error(\n                    \"Failed to call notify.%s, retrying at next notification interval\",\n                    target,\n                )\n\n    async def async_turn_on(self, **kwargs: Any) -> None:\n        \"\"\"Async Unacknowledge alert.\"\"\"\n        LOGGER.debug(\"Reset Alert: %s\", self._attr_name)\n        self._ack = False\n        self.async_write_ha_state()\n\n    async def async_turn_off(self, **kwargs: Any) -> None:\n        \"\"\"Async Acknowledge alert.\"\"\"\n        if not self._can_ack:\n            raise ServiceValidationError(\"This alert cannot be acknowledged\")\n        self._ack = True\n        self.async_write_ha_state()\n\n    async def async_toggle(self, **kwargs: Any) -> None:\n        \"\"\"Async toggle alert.\"\"\"\n        if self._ack:\n            return await self.async_turn_on()\n        return await self.async_turn_off()\n","sourceCodeStart":186,"sourceCodeEnd":213,"githubUrl":"https://github.com/home-assistant/core/blob/58a3fdb3ea0538617f0a07efcfba6294de64fd59/homeassistant/components/alert/entity.py#L186-L213","documentation":"The alert integration maps the generic turn_off service call to 'acknowledge' and turn_on to 'un-acknowledge'. async_turn_off raises HomeAssistantError(ServiceValidationError) when the alert was configured with can_ack: false (entity.py stores it as self._can_ack at line 66). It is HA's way of saying the acknowledge action is disabled for this alert by configuration, not that the entity is broken.","triggerScenarios":"Calling the alert.<alert_name>.turn_off (or alert.turn_off targeting the entity) service while the alert's YAML configuration lacks can_ack: true. Also any automation, script, or dashboard button wired to 'acknowledge' that issues turn_off on such an alert.","commonSituations":"User copied an alert config without the can_ack option (defaults to false), then built an 'Acknowledge' button or automation that calls turn_off. Survives upgrades silently until the button is pressed. Alexa/Google voice assistants may also map 'turn off' to the alert entity.","solutions":["Set can_ack: true in the alert's YAML configuration and reload the alert integration (or restart HA).","If acknowledging should stay disabled, remove/fix the automation or dashboard action that calls turn_off on this alert.","For voice-assistant mappings, exclude the alert entity from the exposed entities or adjust the assistant's entity aliases."],"exampleFix":"# before\nalert:\n  - name: Bedroom Door\n    entity_id: binary_sensor.door\n    state: 'on'\n# turn_off -> ServiceValidationError\n\n# after\nalert:\n  - name: Bedroom Door\n    entity_id: binary_sensor.door\n    state: 'on'\n    can_ack: true","handlingStrategy":"try-catch","validationCode":"from homeassistant.helpers.service import ServiceValidationError\n\n# No public attribute exposes can_ack; catch instead.\ntry:\n    await hass.services.async_call(\n        'alert', 'turn_off', {'entity_id': 'alert.bedroom_door'}, blocking=True\n    )\nexcept ServiceValidationError:\n    # Alert not acknowledgable; ignore or notify user\n    pass","typeGuard":null,"tryCatchPattern":"try:\n    await hass.services.async_call('alert', 'turn_off', {'entity_id': eid}, blocking=True)\nexcept HomeAssistantError as err:\n    if 'cannot be acknowledged' in str(err):\n        _LOGGER.debug('Alert %s not acknowledgable (can_ack false)', eid)\n    else:\n        raise","preventionTips":["Enable can_ack: true in alert YAML whenever you build acknowledge buttons or automations.","Prefer the alert's own 'Acknowledge' UI action over generic turn_off calls in dashboards.","Document per-alert whether acknowledging is allowed so automation authors do not assume it."],"tags":["home-assistant","alert","service-validation","configuration"],"backgroundTag":null,"analyzedSha":"58a3fdb3ea0538617f0a07efcfba6294de64fd59","analyzedAt":"2026-08-14T20:54:38.818Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}