diff --git a/homeassistant/components/esphome/light.py b/homeassistant/components/esphome/light.py index be8be1b8075..3eb45d63cac 100644 --- a/homeassistant/components/esphome/light.py +++ b/homeassistant/components/esphome/light.py @@ -15,16 +15,9 @@ from homeassistant.components.light import ( ATTR_RGBWW_COLOR, ATTR_TRANSITION, ATTR_WHITE, - COLOR_MODE_BRIGHTNESS, - COLOR_MODE_COLOR_TEMP, - COLOR_MODE_ONOFF, - COLOR_MODE_RGB, - COLOR_MODE_RGBW, - COLOR_MODE_RGBWW, - COLOR_MODE_UNKNOWN, - COLOR_MODE_WHITE, FLASH_LONG, FLASH_SHORT, + ColorMode, LightEntity, LightEntityFeature, ) @@ -53,15 +46,15 @@ async def async_setup_entry( _COLOR_MODE_MAPPING = { - COLOR_MODE_ONOFF: [ + ColorMode.ONOFF: [ LightColorCapability.ON_OFF, ], - COLOR_MODE_BRIGHTNESS: [ + ColorMode.BRIGHTNESS: [ LightColorCapability.ON_OFF | LightColorCapability.BRIGHTNESS, # for compatibility with older clients (2021.8.x) LightColorCapability.BRIGHTNESS, ], - COLOR_MODE_COLOR_TEMP: [ + ColorMode.COLOR_TEMP: [ LightColorCapability.ON_OFF | LightColorCapability.BRIGHTNESS | LightColorCapability.COLOR_TEMPERATURE, @@ -69,18 +62,18 @@ _COLOR_MODE_MAPPING = { | LightColorCapability.BRIGHTNESS | LightColorCapability.COLD_WARM_WHITE, ], - COLOR_MODE_RGB: [ + ColorMode.RGB: [ LightColorCapability.ON_OFF | LightColorCapability.BRIGHTNESS | LightColorCapability.RGB, ], - COLOR_MODE_RGBW: [ + ColorMode.RGBW: [ LightColorCapability.ON_OFF | LightColorCapability.BRIGHTNESS | LightColorCapability.RGB | LightColorCapability.WHITE, ], - COLOR_MODE_RGBWW: [ + ColorMode.RGBWW: [ LightColorCapability.ON_OFF | LightColorCapability.BRIGHTNESS | LightColorCapability.RGB @@ -91,7 +84,7 @@ _COLOR_MODE_MAPPING = { | LightColorCapability.RGB | LightColorCapability.COLD_WARM_WHITE, ], - COLOR_MODE_WHITE: [ + ColorMode.WHITE: [ LightColorCapability.ON_OFF | LightColorCapability.BRIGHTNESS | LightColorCapability.WHITE @@ -115,7 +108,7 @@ def _color_mode_to_ha(mode: int) -> str: candidates.append((ha_mode, caps)) if not candidates: - return COLOR_MODE_UNKNOWN + return ColorMode.UNKNOWN # choose the color mode with the most bits set candidates.sort(key=lambda key: bin(key[1]).count("1")) @@ -366,12 +359,12 @@ class EsphomeLight(EsphomeEntity[LightInfo, LightState], LightEntity): def supported_color_modes(self) -> set[str] | None: """Flag supported color modes.""" supported = set(map(_color_mode_to_ha, self._native_supported_color_modes)) - if COLOR_MODE_ONOFF in supported and len(supported) > 1: - supported.remove(COLOR_MODE_ONOFF) - if COLOR_MODE_BRIGHTNESS in supported and len(supported) > 1: - supported.remove(COLOR_MODE_BRIGHTNESS) - if COLOR_MODE_WHITE in supported and len(supported) == 1: - supported.remove(COLOR_MODE_WHITE) + if ColorMode.ONOFF in supported and len(supported) > 1: + supported.remove(ColorMode.ONOFF) + if ColorMode.BRIGHTNESS in supported and len(supported) > 1: + supported.remove(ColorMode.BRIGHTNESS) + if ColorMode.WHITE in supported and len(supported) == 1: + supported.remove(ColorMode.WHITE) return supported @property