1 """Support for switching devices via Pilight to on and off."""
3 from __future__
import annotations
7 import voluptuous
as vol
11 PLATFORM_SCHEMA
as LIGHT_PLATFORM_SCHEMA,
21 from .const
import CONF_DIMLEVEL_MAX, CONF_DIMLEVEL_MIN
22 from .entity
import SWITCHES_SCHEMA, PilightBaseDevice
24 LIGHTS_SCHEMA = SWITCHES_SCHEMA.extend(
26 vol.Optional(CONF_DIMLEVEL_MIN, default=0): cv.positive_int,
27 vol.Optional(CONF_DIMLEVEL_MAX, default=15): cv.positive_int,
31 PLATFORM_SCHEMA = LIGHT_PLATFORM_SCHEMA.extend(
32 {vol.Required(CONF_LIGHTS): vol.Schema({cv.string: LIGHTS_SCHEMA})}
39 add_entities: AddEntitiesCallback,
40 discovery_info: DiscoveryInfoType |
None =
None,
42 """Set up the Pilight platform."""
43 switches = config[CONF_LIGHTS]
46 for dev_name, dev_config
in switches.items():
53 """Representation of a Pilight switch."""
55 _attr_color_mode = ColorMode.BRIGHTNESS
56 _attr_supported_color_modes = {ColorMode.BRIGHTNESS}
59 """Initialize a switch."""
66 """Return the brightness."""
70 """Turn the switch on by calling pilight.send service with on code."""
75 if ATTR_BRIGHTNESS
in kwargs:
88 self.
set_stateset_state(turn_on=
True, dimlevel=dimlevel)
def set_state(self, turn_on, send_code=True, dimlevel=None)
def __init__(self, hass, name, config)
None turn_on(self, **Any kwargs)
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)