mirror of
https://github.com/home-assistant/core.git
synced 2025-07-22 04:37:06 +00:00
Use ColorMode enum in flux_led (#70580)
This commit is contained in:
parent
790beb1346
commit
f902aed6b3
@ -11,12 +11,7 @@ from flux_led.const import (
|
|||||||
COLOR_MODE_RGBWW as FLUX_COLOR_MODE_RGBWW,
|
COLOR_MODE_RGBWW as FLUX_COLOR_MODE_RGBWW,
|
||||||
)
|
)
|
||||||
|
|
||||||
from homeassistant.components.light import (
|
from homeassistant.components.light import ColorMode
|
||||||
COLOR_MODE_COLOR_TEMP,
|
|
||||||
COLOR_MODE_RGB,
|
|
||||||
COLOR_MODE_RGBW,
|
|
||||||
COLOR_MODE_RGBWW,
|
|
||||||
)
|
|
||||||
|
|
||||||
DOMAIN: Final = "flux_led"
|
DOMAIN: Final = "flux_led"
|
||||||
|
|
||||||
@ -24,13 +19,13 @@ MIN_RGB_BRIGHTNESS: Final = 1
|
|||||||
MIN_CCT_BRIGHTNESS: Final = 2
|
MIN_CCT_BRIGHTNESS: Final = 2
|
||||||
|
|
||||||
FLUX_COLOR_MODE_TO_HASS: Final = {
|
FLUX_COLOR_MODE_TO_HASS: Final = {
|
||||||
FLUX_COLOR_MODE_RGB: COLOR_MODE_RGB,
|
FLUX_COLOR_MODE_RGB: ColorMode.RGB,
|
||||||
FLUX_COLOR_MODE_RGBW: COLOR_MODE_RGBW,
|
FLUX_COLOR_MODE_RGBW: ColorMode.RGBW,
|
||||||
FLUX_COLOR_MODE_RGBWW: COLOR_MODE_RGBWW,
|
FLUX_COLOR_MODE_RGBWW: ColorMode.RGBWW,
|
||||||
FLUX_COLOR_MODE_CCT: COLOR_MODE_COLOR_TEMP,
|
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"
|
API: Final = "flux_api"
|
||||||
|
|
||||||
@ -73,7 +68,7 @@ CONF_TRANSITION: Final = "transition"
|
|||||||
CONF_EFFECT: Final = "effect"
|
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"
|
CONF_CUSTOM_EFFECT_COLORS: Final = "custom_effect_colors"
|
||||||
|
@ -4,11 +4,7 @@ from __future__ import annotations
|
|||||||
from flux_led.aio import AIOWifiLedBulb
|
from flux_led.aio import AIOWifiLedBulb
|
||||||
from flux_led.const import COLOR_MODE_DIM as FLUX_COLOR_MODE_DIM, MultiColorEffects
|
from flux_led.const import COLOR_MODE_DIM as FLUX_COLOR_MODE_DIM, MultiColorEffects
|
||||||
|
|
||||||
from homeassistant.components.light import (
|
from homeassistant.components.light import ColorMode
|
||||||
COLOR_MODE_BRIGHTNESS,
|
|
||||||
COLOR_MODE_ONOFF,
|
|
||||||
COLOR_MODE_WHITE,
|
|
||||||
)
|
|
||||||
from homeassistant.util.color import color_hsv_to_RGB, color_RGB_to_hsv
|
from homeassistant.util.color import color_hsv_to_RGB, color_RGB_to_hsv
|
||||||
|
|
||||||
from .const import FLUX_COLOR_MODE_TO_HASS, MIN_RGB_BRIGHTNESS
|
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(
|
def _flux_color_mode_to_hass(
|
||||||
flux_color_mode: str | None, flux_color_modes: set[str]
|
flux_color_mode: str | None, flux_color_modes: set[str]
|
||||||
) -> str:
|
) -> ColorMode:
|
||||||
"""Map the flux color mode to Home Assistant color mode."""
|
"""Map the flux color mode to Home Assistant color mode."""
|
||||||
if flux_color_mode is None:
|
if flux_color_mode is None:
|
||||||
return COLOR_MODE_ONOFF
|
return ColorMode.ONOFF
|
||||||
if flux_color_mode == FLUX_COLOR_MODE_DIM:
|
if flux_color_mode == FLUX_COLOR_MODE_DIM:
|
||||||
if len(flux_color_modes) > 1:
|
if len(flux_color_modes) > 1:
|
||||||
return COLOR_MODE_WHITE
|
return ColorMode.WHITE
|
||||||
return COLOR_MODE_BRIGHTNESS
|
return ColorMode.BRIGHTNESS
|
||||||
return FLUX_COLOR_MODE_TO_HASS.get(flux_color_mode, COLOR_MODE_ONOFF)
|
return FLUX_COLOR_MODE_TO_HASS.get(flux_color_mode, ColorMode.ONOFF)
|
||||||
|
|
||||||
|
|
||||||
def _effect_brightness(brightness: int) -> int:
|
def _effect_brightness(brightness: int) -> int:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user