Home Assistant Unofficial Reference 2024.12.1
device_action.py
Go to the documentation of this file.
1 """Provides device automations for Fan."""
2 
3 from __future__ import annotations
4 
5 import voluptuous as vol
6 
8  async_validate_entity_schema,
9  toggle_entity,
10 )
11 from homeassistant.const import CONF_DOMAIN
12 from homeassistant.core import Context, HomeAssistant
13 from homeassistant.helpers.typing import ConfigType, TemplateVarsType
14 
15 from . import DOMAIN
16 
17 _ACTION_SCHEMA = toggle_entity.ACTION_SCHEMA.extend({vol.Required(CONF_DOMAIN): DOMAIN})
18 
19 
21  hass: HomeAssistant, config: ConfigType
22 ) -> ConfigType:
23  """Validate config."""
24  return async_validate_entity_schema(hass, config, _ACTION_SCHEMA)
25 
26 
28  hass: HomeAssistant, device_id: str
29 ) -> list[dict[str, str]]:
30  """List device actions for Fan devices."""
31  return await toggle_entity.async_get_actions(hass, device_id, DOMAIN)
32 
33 
35  hass: HomeAssistant,
36  config: ConfigType,
37  variables: TemplateVarsType,
38  context: Context | None,
39 ) -> None:
40  """Execute a device action."""
41  await toggle_entity.async_call_action_from_config(
42  hass, config, variables, context, DOMAIN
43  )
ConfigType async_validate_entity_schema(HomeAssistant hass, ConfigType config, VolSchemaType schema)
Definition: __init__.py:344
list[dict[str, str]] async_get_actions(HomeAssistant hass, str device_id)
ConfigType async_validate_action_config(HomeAssistant hass, ConfigType config)
None async_call_action_from_config(HomeAssistant hass, ConfigType config, TemplateVarsType variables, Context|None context)