1 """Offer Home Assistant core automation rules."""
3 import voluptuous
as vol
11 from ..const
import DOMAIN
14 EVENT_SHUTDOWN =
"shutdown"
16 TRIGGER_SCHEMA = cv.TRIGGER_BASE_SCHEMA.extend(
18 vol.Required(CONF_PLATFORM): DOMAIN,
19 vol.Required(CONF_EVENT): vol.Any(EVENT_START, EVENT_SHUTDOWN),
27 action: TriggerActionType,
28 trigger_info: TriggerInfo,
30 """Listen for events based on configuration."""
31 trigger_data = trigger_info[
"trigger_data"]
32 event = config.get(CONF_EVENT)
33 job =
HassJob(action, f
"homeassistant trigger {trigger_info}")
35 if event == EVENT_SHUTDOWN:
36 return hass.async_add_shutdown_job(
43 "description":
"Home Assistant stopping",
50 if trigger_info[
"home_assistant_start"]:
51 hass.async_run_hass_job(
58 "description":
"Home Assistant starting",
CALLBACK_TYPE async_attach_trigger(HomeAssistant hass, ConfigType config, TriggerActionType action, TriggerInfo trigger_info)