Use ColorMode enum in flux_led (#70580)

This commit is contained in:
epenet 2022-04-24 12:29:51 +02:00 committed by GitHub
parent 790beb1346
commit f902aed6b3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 22 deletions

View File

@ -11,12 +11,7 @@ from flux_led.const import (
COLOR_MODE_RGBWW as FLUX_COLOR_MODE_RGBWW,
)
from homeassistant.components.light import (
COLOR_MODE_COLOR_TEMP,
COLOR_MODE_RGB,
COLOR_MODE_RGBW,
COLOR_MODE_RGBWW,
)
from homeassistant.components.light import ColorMode
DOMAIN: Final = "flux_led"
@ -24,13 +19,13 @@ MIN_RGB_BRIGHTNESS: Final = 1
MIN_CCT_BRIGHTNESS: Final = 2
FLUX_COLOR_MODE_TO_HASS: Final = {
FLUX_COLOR_MODE_RGB: COLOR_MODE_RGB,
FLUX_COLOR_MODE_RGBW: COLOR_MODE_RGBW,
FLUX_COLOR_MODE_RGBWW: COLOR_MODE_RGBWW,
FLUX_COLOR_MODE_CCT: COLOR_MODE_COLOR_TEMP,
FLUX_COLOR_MODE_RGB: ColorMode.RGB,
FLUX_COLOR_MODE_RGBW: ColorMode.RGBW,
FLUX_COLOR_MODE_RGBWW: ColorMode.RGBWW,
FLUX_COLOR_MODE_CCT: ColorMode.COLOR_TEMP,
}
MULTI_BRIGHTNESS_COLOR_MODES: Final = {COLOR_MODE_RGBWW, COLOR_MODE_RGBW}
MULTI_BRIGHTNESS_COLOR_MODES: Final = {ColorMode.RGBWW, ColorMode.RGBW}
API: Final = "flux_api"
@ -73,7 +68,7 @@ CONF_TRANSITION: Final = "transition"
CONF_EFFECT: Final = "effect"
EFFECT_SPEED_SUPPORT_MODES: Final = {COLOR_MODE_RGB, COLOR_MODE_RGBW, COLOR_MODE_RGBWW}
EFFECT_SPEED_SUPPORT_MODES: Final = {ColorMode.RGB, ColorMode.RGBW, ColorMode.RGBWW}
CONF_CUSTOM_EFFECT_COLORS: Final = "custom_effect_colors"

View File

@ -4,11 +4,7 @@ from __future__ import annotations
from flux_led.aio import AIOWifiLedBulb
from flux_led.const import COLOR_MODE_DIM as FLUX_COLOR_MODE_DIM, MultiColorEffects
from homeassistant.components.light import (
COLOR_MODE_BRIGHTNESS,
COLOR_MODE_ONOFF,
COLOR_MODE_WHITE,
)
from homeassistant.components.light import ColorMode
from homeassistant.util.color import color_hsv_to_RGB, color_RGB_to_hsv
from .const import FLUX_COLOR_MODE_TO_HASS, MIN_RGB_BRIGHTNESS
@ -42,15 +38,15 @@ def mac_matches_by_one(formatted_mac_1: str, formatted_mac_2: str) -> bool:
def _flux_color_mode_to_hass(
flux_color_mode: str | None, flux_color_modes: set[str]
) -> str:
) -> ColorMode:
"""Map the flux color mode to Home Assistant color mode."""
if flux_color_mode is None:
return COLOR_MODE_ONOFF
return ColorMode.ONOFF
if flux_color_mode == FLUX_COLOR_MODE_DIM:
if len(flux_color_modes) > 1:
return COLOR_MODE_WHITE
return COLOR_MODE_BRIGHTNESS
return FLUX_COLOR_MODE_TO_HASS.get(flux_color_mode, COLOR_MODE_ONOFF)
return ColorMode.WHITE
return ColorMode.BRIGHTNESS
return FLUX_COLOR_MODE_TO_HASS.get(flux_color_mode, ColorMode.ONOFF)
def _effect_brightness(brightness: int) -> int: