1 """Support for lights."""
3 from __future__
import annotations
7 from fjaraskupan
import COMMAND_LIGHT_ON_OFF
17 from .
import async_setup_entry_platform
18 from .coordinator
import FjaraskupanCoordinator
23 config_entry: ConfigEntry,
24 async_add_entities: AddEntitiesCallback,
26 """Set up tuya sensors dynamically through tuya discovery."""
28 def _constructor(coordinator: FjaraskupanCoordinator) -> list[Entity]:
29 return [
Light(coordinator, coordinator.device_info)]
37 _attr_has_entity_name =
True
42 coordinator: FjaraskupanCoordinator,
43 device_info: DeviceInfo,
45 """Init light entity."""
53 """Turn the light on."""
55 if ATTR_BRIGHTNESS
in kwargs:
56 await device.send_dim(
int(kwargs[ATTR_BRIGHTNESS] * (100.0 / 255.0)))
58 await device.send_dim(100)
61 """Turn the entity off."""
64 await device.send_dim(0)
65 await device.send_command(COMMAND_LIGHT_ON_OFF)
69 """Return True if entity is on."""
70 if data := self.coordinator.data:
76 """Return the brightness of this light between 0..255."""
77 if data := self.coordinator.data:
78 return int(data.dim_level * (255.0 / 100.0))
AsyncIterator[Device] async_connect_and_update(self)
_attr_supported_color_modes
int|None brightness(self)
None async_turn_off(self, **Any kwargs)
None async_turn_on(self, **Any kwargs)
None __init__(self, FjaraskupanCoordinator coordinator, DeviceInfo device_info)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
None async_setup_entry_platform(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities, Callable[[FjaraskupanCoordinator], list[Entity]] constructor)