1 """Triggers for WeMo devices."""
3 from __future__
import annotations
5 from pywemo.subscribe
import EVENT_TYPE_LONG_PRESS
6 import voluptuous
as vol
15 from .const
import DOMAIN
as WEMO_DOMAIN, WEMO_SUBSCRIPTION_EVENT
16 from .coordinator
import async_get_coordinator
18 TRIGGER_TYPES = {EVENT_TYPE_LONG_PRESS}
20 TRIGGER_SCHEMA = DEVICE_TRIGGER_BASE_SCHEMA.extend(
22 vol.Required(CONF_TYPE): vol.In(TRIGGER_TYPES),
28 hass: HomeAssistant, device_id: str
29 ) -> list[dict[str, str]]:
30 """Return a list of triggers."""
34 CONF_PLATFORM:
"device",
35 CONF_DOMAIN: WEMO_DOMAIN,
36 CONF_DEVICE_ID: device_id,
43 if coordinator.supports_long_press:
47 CONF_TYPE: EVENT_TYPE_LONG_PRESS,
58 action: TriggerActionType,
59 trigger_info: TriggerInfo,
61 """Attach a trigger."""
62 event_config = event_trigger.TRIGGER_SCHEMA(
64 event_trigger.CONF_PLATFORM:
"event",
65 event_trigger.CONF_EVENT_TYPE: WEMO_SUBSCRIPTION_EVENT,
66 event_trigger.CONF_EVENT_DATA: {
67 CONF_DEVICE_ID: config[CONF_DEVICE_ID],
68 CONF_TYPE: config[CONF_TYPE],
72 return await event_trigger.async_attach_trigger(
73 hass, event_config, action, trigger_info, platform_type=
"device"
PrivateDevicesCoordinator async_get_coordinator(HomeAssistant hass)
list[dict[str, str]] async_get_triggers(HomeAssistant hass, str device_id)
CALLBACK_TYPE async_attach_trigger(HomeAssistant hass, ConfigType config, TriggerActionType action, TriggerInfo trigger_info)