Home Assistant Unofficial Reference 2024.12.1
switch.py
Go to the documentation of this file.
1 """Support for switching devices via Pilight to on and off."""
2 
3 from __future__ import annotations
4 
5 import voluptuous as vol
6 
8  PLATFORM_SCHEMA as SWITCH_PLATFORM_SCHEMA,
9  SwitchEntity,
10 )
11 from homeassistant.const import CONF_SWITCHES
12 from homeassistant.core import HomeAssistant
14 from homeassistant.helpers.entity_platform import AddEntitiesCallback
15 from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
16 
17 from .entity import SWITCHES_SCHEMA, PilightBaseDevice
18 
19 PLATFORM_SCHEMA = SWITCH_PLATFORM_SCHEMA.extend(
20  {vol.Required(CONF_SWITCHES): vol.Schema({cv.string: SWITCHES_SCHEMA})}
21 )
22 
23 
25  hass: HomeAssistant,
26  config: ConfigType,
27  add_entities: AddEntitiesCallback,
28  discovery_info: DiscoveryInfoType | None = None,
29 ) -> None:
30  """Set up the Pilight platform."""
31  switches = config[CONF_SWITCHES]
32  devices = []
33 
34  for dev_name, dev_config in switches.items():
35  devices.append(PilightSwitch(hass, dev_name, dev_config))
36 
37  add_entities(devices)
38 
39 
41  """Representation of a Pilight switch."""
None add_entities(AsusWrtRouter router, AddEntitiesCallback async_add_entities, set[str] tracked)
None setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback add_entities, DiscoveryInfoType|None discovery_info=None)
Definition: switch.py:29