1 """Home Assistant trigger dispatcher."""
3 from typing
import cast
17 hass: HomeAssistant, platform_name: str
19 """Get trigger platform from cache or import it."""
21 hass, f
"homeassistant.components.homeassistant.triggers.{platform_name}"
23 return cast(TriggerProtocol, platform)
27 hass: HomeAssistant, config: ConfigType
29 """Validate config."""
31 if hasattr(platform,
"async_validate_trigger_config"):
32 return await platform.async_validate_trigger_config(hass, config)
34 return platform.TRIGGER_SCHEMA(config)
40 action: TriggerActionType,
41 trigger_info: TriggerInfo,
43 """Attach trigger of specified platform."""
45 return await platform.async_attach_trigger(hass, config, action, trigger_info)
CALLBACK_TYPE async_attach_trigger(HomeAssistant hass, ConfigType config, TriggerActionType action, TriggerInfo trigger_info)
TriggerProtocol _async_get_trigger_platform(HomeAssistant hass, str platform_name)
ConfigType async_validate_trigger_config(HomeAssistant hass, ConfigType config)
ModuleType async_import_module(HomeAssistant hass, str name)