Migrate eufy light to color_mode (#69181)

This commit is contained in:
Erik Montnemery 2022-04-03 12:45:58 +02:00 committed by GitHub
parent 88b01b80ce
commit dbb9dc2d39
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,9 +7,9 @@ from homeassistant.components.light import (
ATTR_BRIGHTNESS, ATTR_BRIGHTNESS,
ATTR_COLOR_TEMP, ATTR_COLOR_TEMP,
ATTR_HS_COLOR, ATTR_HS_COLOR,
SUPPORT_BRIGHTNESS, COLOR_MODE_BRIGHTNESS,
SUPPORT_COLOR, COLOR_MODE_COLOR_TEMP,
SUPPORT_COLOR_TEMP, COLOR_MODE_HS,
LightEntity, LightEntity,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
@ -54,11 +54,11 @@ class EufyLight(LightEntity):
self._bulb = lakeside.bulb(self._address, self._code, self._type) self._bulb = lakeside.bulb(self._address, self._code, self._type)
self._colormode = False self._colormode = False
if self._type == "T1011": if self._type == "T1011":
self._features = SUPPORT_BRIGHTNESS self._attr_supported_color_modes = {COLOR_MODE_BRIGHTNESS}
elif self._type == "T1012": elif self._type == "T1012":
self._features = SUPPORT_BRIGHTNESS | SUPPORT_COLOR_TEMP self._attr_supported_color_modes = {COLOR_MODE_COLOR_TEMP}
elif self._type == "T1013": else: # T1013
self._features = SUPPORT_BRIGHTNESS | SUPPORT_COLOR_TEMP | SUPPORT_COLOR self._attr_supported_color_modes = {COLOR_MODE_COLOR_TEMP, COLOR_MODE_HS}
self._bulb.connect() self._bulb.connect()
def update(self): def update(self):
@ -115,14 +115,19 @@ class EufyLight(LightEntity):
@property @property
def hs_color(self): def hs_color(self):
"""Return the color of this light.""" """Return the color of this light."""
if not self._colormode:
return None
return self._hs return self._hs
@property @property
def supported_features(self): def color_mode(self) -> str | None:
"""Flag supported features.""" """Return the color mode of the light."""
return self._features if self._type == "T1011":
return COLOR_MODE_BRIGHTNESS
if self._type == "T1012":
return COLOR_MODE_COLOR_TEMP
# T1013
if not self._colormode:
return COLOR_MODE_COLOR_TEMP
return COLOR_MODE_HS
def turn_on(self, **kwargs): def turn_on(self, **kwargs):
"""Turn the specified light on.""" """Turn the specified light on."""