diff --git a/homeassistant/components/automation/__init__.py b/homeassistant/components/automation/__init__.py index dbf76a1fe59..98ec92a3771 100644 --- a/homeassistant/components/automation/__init__.py +++ b/homeassistant/components/automation/__init__.py @@ -701,7 +701,7 @@ class AutomationEntity(BaseAutomationEntity, RestoreEntity): await super().async_will_remove_from_hass() await self.async_disable() - async def _async_enable_automation(self, event: Event) -> None: + async def _async_enable_automation(self) -> None: """Start automation on startup.""" # Don't do anything if no longer enabled or already attached if not self._is_enabled or self._async_detach_triggers is not None: @@ -709,6 +709,11 @@ class AutomationEntity(BaseAutomationEntity, RestoreEntity): self._async_detach_triggers = await self._async_attach_triggers(True) + @callback + def _async_create_enable_automation_task(self, event: Event) -> None: + """Create a task to enable the automation.""" + self.hass.async_create_task(self._async_enable_automation(), eager_start=True) + async def async_enable(self) -> None: """Enable this automation entity. @@ -726,7 +731,7 @@ class AutomationEntity(BaseAutomationEntity, RestoreEntity): return self.hass.bus.async_listen_once( - EVENT_HOMEASSISTANT_STARTED, self._async_enable_automation + EVENT_HOMEASSISTANT_STARTED, self._async_create_enable_automation_task ) self.async_write_ha_state()