mirror of
https://github.com/home-assistant/core.git
synced 2025-07-12 15:57:06 +00:00
Use ColorMode enum in broadlink (#70434)
This commit is contained in:
parent
643d04a717
commit
68697b6477
@ -8,10 +8,7 @@ from homeassistant.components.light import (
|
|||||||
ATTR_COLOR_MODE,
|
ATTR_COLOR_MODE,
|
||||||
ATTR_COLOR_TEMP,
|
ATTR_COLOR_TEMP,
|
||||||
ATTR_HS_COLOR,
|
ATTR_HS_COLOR,
|
||||||
COLOR_MODE_BRIGHTNESS,
|
ColorMode,
|
||||||
COLOR_MODE_COLOR_TEMP,
|
|
||||||
COLOR_MODE_HS,
|
|
||||||
COLOR_MODE_UNKNOWN,
|
|
||||||
LightEntity,
|
LightEntity,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
@ -56,11 +53,11 @@ class BroadlinkLight(BroadlinkEntity, LightEntity):
|
|||||||
data = self._coordinator.data
|
data = self._coordinator.data
|
||||||
|
|
||||||
if {"hue", "saturation"}.issubset(data):
|
if {"hue", "saturation"}.issubset(data):
|
||||||
self._attr_supported_color_modes.add(COLOR_MODE_HS)
|
self._attr_supported_color_modes.add(ColorMode.HS)
|
||||||
if "colortemp" in data:
|
if "colortemp" in data:
|
||||||
self._attr_supported_color_modes.add(COLOR_MODE_COLOR_TEMP)
|
self._attr_supported_color_modes.add(ColorMode.COLOR_TEMP)
|
||||||
if not self.supported_color_modes:
|
if not self.supported_color_modes:
|
||||||
self._attr_supported_color_modes = {COLOR_MODE_BRIGHTNESS}
|
self._attr_supported_color_modes = {ColorMode.BRIGHTNESS}
|
||||||
|
|
||||||
self._update_state(data)
|
self._update_state(data)
|
||||||
|
|
||||||
@ -72,8 +69,8 @@ class BroadlinkLight(BroadlinkEntity, LightEntity):
|
|||||||
if "brightness" in data:
|
if "brightness" in data:
|
||||||
self._attr_brightness = round(data["brightness"] * 2.55)
|
self._attr_brightness = round(data["brightness"] * 2.55)
|
||||||
|
|
||||||
if self.supported_color_modes == {COLOR_MODE_BRIGHTNESS}:
|
if self.supported_color_modes == {ColorMode.BRIGHTNESS}:
|
||||||
self._attr_color_mode = COLOR_MODE_BRIGHTNESS
|
self._attr_color_mode = ColorMode.BRIGHTNESS
|
||||||
return
|
return
|
||||||
|
|
||||||
if {"hue", "saturation"}.issubset(data):
|
if {"hue", "saturation"}.issubset(data):
|
||||||
@ -84,12 +81,12 @@ class BroadlinkLight(BroadlinkEntity, LightEntity):
|
|||||||
|
|
||||||
if "bulb_colormode" in data:
|
if "bulb_colormode" in data:
|
||||||
if data["bulb_colormode"] == BROADLINK_COLOR_MODE_RGB:
|
if data["bulb_colormode"] == BROADLINK_COLOR_MODE_RGB:
|
||||||
self._attr_color_mode = COLOR_MODE_HS
|
self._attr_color_mode = ColorMode.HS
|
||||||
elif data["bulb_colormode"] == BROADLINK_COLOR_MODE_WHITE:
|
elif data["bulb_colormode"] == BROADLINK_COLOR_MODE_WHITE:
|
||||||
self._attr_color_mode = COLOR_MODE_COLOR_TEMP
|
self._attr_color_mode = ColorMode.COLOR_TEMP
|
||||||
else:
|
else:
|
||||||
# Scenes are not yet supported.
|
# Scenes are not yet supported.
|
||||||
self._attr_color_mode = COLOR_MODE_UNKNOWN
|
self._attr_color_mode = ColorMode.UNKNOWN
|
||||||
|
|
||||||
async def async_turn_on(self, **kwargs):
|
async def async_turn_on(self, **kwargs):
|
||||||
"""Turn on the light."""
|
"""Turn on the light."""
|
||||||
@ -99,7 +96,7 @@ class BroadlinkLight(BroadlinkEntity, LightEntity):
|
|||||||
brightness = kwargs[ATTR_BRIGHTNESS]
|
brightness = kwargs[ATTR_BRIGHTNESS]
|
||||||
state["brightness"] = round(brightness / 2.55)
|
state["brightness"] = round(brightness / 2.55)
|
||||||
|
|
||||||
if self.supported_color_modes == {COLOR_MODE_BRIGHTNESS}:
|
if self.supported_color_modes == {ColorMode.BRIGHTNESS}:
|
||||||
state["bulb_colormode"] = BROADLINK_COLOR_MODE_WHITE
|
state["bulb_colormode"] = BROADLINK_COLOR_MODE_WHITE
|
||||||
|
|
||||||
elif ATTR_HS_COLOR in kwargs:
|
elif ATTR_HS_COLOR in kwargs:
|
||||||
@ -115,9 +112,9 @@ class BroadlinkLight(BroadlinkEntity, LightEntity):
|
|||||||
|
|
||||||
elif ATTR_COLOR_MODE in kwargs:
|
elif ATTR_COLOR_MODE in kwargs:
|
||||||
color_mode = kwargs[ATTR_COLOR_MODE]
|
color_mode = kwargs[ATTR_COLOR_MODE]
|
||||||
if color_mode == COLOR_MODE_HS:
|
if color_mode == ColorMode.HS:
|
||||||
state["bulb_colormode"] = BROADLINK_COLOR_MODE_RGB
|
state["bulb_colormode"] = BROADLINK_COLOR_MODE_RGB
|
||||||
elif color_mode == COLOR_MODE_COLOR_TEMP:
|
elif color_mode == ColorMode.COLOR_TEMP:
|
||||||
state["bulb_colormode"] = BROADLINK_COLOR_MODE_WHITE
|
state["bulb_colormode"] = BROADLINK_COLOR_MODE_WHITE
|
||||||
else:
|
else:
|
||||||
# Scenes are not yet supported.
|
# Scenes are not yet supported.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user