Migrate nanoleaf light to color_mode (#69429)
This commit is contained in:
parent
5f6a970826
commit
353c091973
1 changed files with 13 additions and 12 deletions
|
@ -12,9 +12,8 @@ from homeassistant.components.light import (
|
|||
ATTR_EFFECT,
|
||||
ATTR_HS_COLOR,
|
||||
ATTR_TRANSITION,
|
||||
SUPPORT_BRIGHTNESS,
|
||||
SUPPORT_COLOR,
|
||||
SUPPORT_COLOR_TEMP,
|
||||
COLOR_MODE_COLOR_TEMP,
|
||||
COLOR_MODE_HS,
|
||||
SUPPORT_EFFECT,
|
||||
SUPPORT_TRANSITION,
|
||||
LightEntity,
|
||||
|
@ -47,6 +46,9 @@ async def async_setup_entry(
|
|||
class NanoleafLight(NanoleafEntity, LightEntity):
|
||||
"""Representation of a Nanoleaf Light."""
|
||||
|
||||
_attr_supported_color_modes = {COLOR_MODE_COLOR_TEMP, COLOR_MODE_HS}
|
||||
_attr_supported_features = SUPPORT_EFFECT | SUPPORT_TRANSITION
|
||||
|
||||
def __init__(self, nanoleaf: Nanoleaf, coordinator: DataUpdateCoordinator) -> None:
|
||||
"""Initialize the Nanoleaf light."""
|
||||
super().__init__(nanoleaf, coordinator)
|
||||
|
@ -97,15 +99,14 @@ class NanoleafLight(NanoleafEntity, LightEntity):
|
|||
return self._nanoleaf.hue, self._nanoleaf.saturation
|
||||
|
||||
@property
|
||||
def supported_features(self) -> int:
|
||||
"""Flag supported features."""
|
||||
return (
|
||||
SUPPORT_BRIGHTNESS
|
||||
| SUPPORT_COLOR_TEMP
|
||||
| SUPPORT_EFFECT
|
||||
| SUPPORT_COLOR
|
||||
| SUPPORT_TRANSITION
|
||||
)
|
||||
def color_mode(self) -> str | None:
|
||||
"""Return the color mode of the light."""
|
||||
# According to API docs, color mode is "ct", "effect" or "hs"
|
||||
# https://forum.nanoleaf.me/docs/openapi#_4qgqrz96f44d
|
||||
if self._nanoleaf.color_mode == "ct":
|
||||
return COLOR_MODE_COLOR_TEMP
|
||||
# Home Assistant does not have an "effect" color mode, just report hs
|
||||
return COLOR_MODE_HS
|
||||
|
||||
async def async_turn_on(self, **kwargs: Any) -> None:
|
||||
"""Instruct the light to turn on."""
|
||||
|
|
Loading…
Add table
Reference in a new issue