1 """Support for lights."""
3 from __future__
import annotations
7 from aiocomelit
import ComelitSerialBridgeObject
8 from aiocomelit.const
import LIGHT, STATE_OFF, STATE_ON
16 from .const
import DOMAIN
17 from .coordinator
import ComelitSerialBridge
22 config_entry: ConfigEntry,
23 async_add_entities: AddEntitiesCallback,
25 """Set up Comelit lights."""
27 coordinator: ComelitSerialBridge = hass.data[DOMAIN][config_entry.entry_id]
31 for device
in coordinator.data[LIGHT].values()
38 _attr_color_mode = ColorMode.ONOFF
39 _attr_has_entity_name =
True
41 _attr_supported_color_modes = {ColorMode.ONOFF}
45 coordinator: ComelitSerialBridge,
46 device: ComelitSerialBridgeObject,
47 config_entry_entry_id: str,
49 """Init light entity."""
50 self.
_api_api = coordinator.api
56 self.
_attr_device_info_attr_device_info = coordinator.platform_device_info(device, device.type)
59 """Set desired light state."""
60 await self.coordinator.api.set_device_status(LIGHT, self.
_device_device_device.index, state)
64 """Turn the light on."""
68 """Turn the light off."""
73 """Return True if light is on."""
74 return self.coordinator.data[LIGHT][self.
_device_device_device.index].status == STATE_ON
None __init__(self, ComelitSerialBridge coordinator, ComelitSerialBridgeObject device, str config_entry_entry_id)
None _light_set_state(self, int state)
None async_turn_on(self, **Any kwargs)
None async_turn_off(self, **Any kwargs)
None async_request_refresh(self)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)