Home Assistant Unofficial Reference 2024.12.1
light.py
Go to the documentation of this file.
1 """Support for Qwikswitch Relays and Dimmers."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.components.light import ColorMode, LightEntity
6 from homeassistant.core import HomeAssistant
7 from homeassistant.helpers.entity_platform import AddEntitiesCallback
8 from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
9 
10 from . import DOMAIN as QWIKSWITCH
11 from .entity import QSToggleEntity
12 
13 
15  hass: HomeAssistant,
16  _: ConfigType,
17  add_entities: AddEntitiesCallback,
18  discovery_info: DiscoveryInfoType | None = None,
19 ) -> None:
20  """Add lights from the main Qwikswitch component."""
21  if discovery_info is None:
22  return
23 
24  qsusb = hass.data[QWIKSWITCH]
25  devs = [QSLight(qsid, qsusb) for qsid in discovery_info[QWIKSWITCH]]
26  add_entities(devs)
27 
28 
30  """Light based on a Qwikswitch relay/dimmer module."""
31 
32  @property
33  def brightness(self):
34  """Return the brightness of this light (0-255)."""
35  return self.devicedevice.value if self.devicedevice.is_dimmer else None
36 
37  @property
38  def color_mode(self) -> ColorMode:
39  """Return the color mode of the light."""
40  return ColorMode.BRIGHTNESS if self.devicedevice.is_dimmer else ColorMode.ONOFF
41 
42  @property
43  def supported_color_modes(self) -> set[ColorMode]:
44  """Flag supported color modes."""
45  return {self.color_modecolor_modecolor_mode}
ColorMode|str|None color_mode(self)
Definition: __init__.py:909
None add_entities(AsusWrtRouter router, AddEntitiesCallback async_add_entities, set[str] tracked)
None async_setup_platform(HomeAssistant hass, ConfigType _, AddEntitiesCallback add_entities, DiscoveryInfoType|None discovery_info=None)
Definition: light.py:19