Add ColorMode enum to light platform (#69223)

This commit is contained in:
Franck Nijhof 2022-04-11 18:18:29 +02:00 committed by GitHub
parent 3d30a757bf
commit 27bc5e1d74
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 287 additions and 281 deletions

View file

@ -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