Add ColorMode enum to light platform (#69223)
This commit is contained in:
parent
3d30a757bf
commit
27bc5e1d74
7 changed files with 287 additions and 281 deletions
|
@ -11,11 +11,7 @@ from homeassistant.components.light import (
|
|||
ATTR_RGBW_COLOR,
|
||||
ATTR_RGBWW_COLOR,
|
||||
ATTR_WHITE,
|
||||
COLOR_MODE_COLOR_TEMP,
|
||||
COLOR_MODE_HS,
|
||||
COLOR_MODE_RGBW,
|
||||
COLOR_MODE_RGBWW,
|
||||
COLOR_MODE_WHITE,
|
||||
ColorMode,
|
||||
LightEntity,
|
||||
LightEntityFeature,
|
||||
)
|
||||
|
@ -33,8 +29,8 @@ LIGHT_EFFECT_LIST = ["rainbow", "none"]
|
|||
|
||||
LIGHT_TEMPS = [240, 380]
|
||||
|
||||
SUPPORT_DEMO = {COLOR_MODE_HS, COLOR_MODE_COLOR_TEMP}
|
||||
SUPPORT_DEMO_HS_WHITE = {COLOR_MODE_HS, COLOR_MODE_WHITE}
|
||||
SUPPORT_DEMO = {ColorMode.HS, ColorMode.COLOR_TEMP}
|
||||
SUPPORT_DEMO_HS_WHITE = {ColorMode.HS, ColorMode.WHITE}
|
||||
|
||||
|
||||
async def async_setup_platform(
|
||||
|
@ -74,7 +70,7 @@ async def async_setup_platform(
|
|||
name="Office RGBW Lights",
|
||||
rgbw_color=(255, 0, 0, 255),
|
||||
state=True,
|
||||
supported_color_modes={COLOR_MODE_RGBW},
|
||||
supported_color_modes={ColorMode.RGBW},
|
||||
unique_id="light_4",
|
||||
),
|
||||
DemoLight(
|
||||
|
@ -82,7 +78,7 @@ async def async_setup_platform(
|
|||
name="Living Room RGBWW Lights",
|
||||
rgbww_color=(255, 0, 0, 255, 0),
|
||||
state=True,
|
||||
supported_color_modes={COLOR_MODE_RGBWW},
|
||||
supported_color_modes={ColorMode.RGBWW},
|
||||
unique_id="light_5",
|
||||
),
|
||||
DemoLight(
|
||||
|
@ -138,13 +134,13 @@ class DemoLight(LightEntity):
|
|||
self._state = state
|
||||
self._unique_id = unique_id
|
||||
if hs_color:
|
||||
self._color_mode = COLOR_MODE_HS
|
||||
self._color_mode = ColorMode.HS
|
||||
elif rgbw_color:
|
||||
self._color_mode = COLOR_MODE_RGBW
|
||||
self._color_mode = ColorMode.RGBW
|
||||
elif rgbww_color:
|
||||
self._color_mode = COLOR_MODE_RGBWW
|
||||
self._color_mode = ColorMode.RGBWW
|
||||
else:
|
||||
self._color_mode = COLOR_MODE_COLOR_TEMP
|
||||
self._color_mode = ColorMode.COLOR_TEMP
|
||||
if not supported_color_modes:
|
||||
supported_color_modes = SUPPORT_DEMO
|
||||
self._color_modes = supported_color_modes
|
||||
|
@ -247,26 +243,26 @@ class DemoLight(LightEntity):
|
|||
self._brightness = kwargs[ATTR_BRIGHTNESS]
|
||||
|
||||
if ATTR_COLOR_TEMP in kwargs:
|
||||
self._color_mode = COLOR_MODE_COLOR_TEMP
|
||||
self._color_mode = ColorMode.COLOR_TEMP
|
||||
self._ct = kwargs[ATTR_COLOR_TEMP]
|
||||
|
||||
if ATTR_EFFECT in kwargs:
|
||||
self._effect = kwargs[ATTR_EFFECT]
|
||||
|
||||
if ATTR_HS_COLOR in kwargs:
|
||||
self._color_mode = COLOR_MODE_HS
|
||||
self._color_mode = ColorMode.HS
|
||||
self._hs_color = kwargs[ATTR_HS_COLOR]
|
||||
|
||||
if ATTR_RGBW_COLOR in kwargs:
|
||||
self._color_mode = COLOR_MODE_RGBW
|
||||
self._color_mode = ColorMode.RGBW
|
||||
self._rgbw_color = kwargs[ATTR_RGBW_COLOR]
|
||||
|
||||
if ATTR_RGBWW_COLOR in kwargs:
|
||||
self._color_mode = COLOR_MODE_RGBWW
|
||||
self._color_mode = ColorMode.RGBWW
|
||||
self._rgbww_color = kwargs[ATTR_RGBWW_COLOR]
|
||||
|
||||
if ATTR_WHITE in kwargs:
|
||||
self._color_mode = COLOR_MODE_WHITE
|
||||
self._color_mode = ColorMode.WHITE
|
||||
self._brightness = kwargs[ATTR_WHITE]
|
||||
|
||||
# As we have disabled polling, we need to inform
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue