Add relative color temperature dimming

This commit is contained in:
2026-02-15 21:20:49 +01:00
parent a9fb58c87a
commit 9825e748cf
47 changed files with 276 additions and 90 deletions

View File

@@ -33,6 +33,7 @@ from .const import (
CONF_LIGHT_COLOR_TEMPERATURE_ADDRESS,
CONF_LIGHT_COLOR_TEMPERATURE_STATE_ADDRESS,
CONF_LIGHT_COLOR_TEMPERATURE_MODE,
CONF_LIGHT_RELATIVE_COLOR_TEMPERATURE_ADDRESS,
CONF_LIGHT_RELATIVE_DIMMING_ADDRESS,
CONF_LIGHT_MIN_KELVIN,
CONF_LIGHT_MAX_KELVIN,
@@ -647,6 +648,12 @@ def _light_schema(defaults: dict | None = None) -> vol.Schema:
defaults.get(_invert_out_key(CONF_LIGHT_BRIGHTNESS_STATE_ADDRESS))
),
): selector.BooleanSelector(),
vol.Optional(
CONF_LIGHT_RELATIVE_DIMMING_ADDRESS,
default=defaults.get(CONF_LIGHT_RELATIVE_DIMMING_ADDRESS, ""),
): selector.TextSelector(
selector.TextSelectorConfig(type="text")
),
vol.Optional(
CONF_LIGHT_COLOR_ADDRESS,
default=defaults.get(CONF_LIGHT_COLOR_ADDRESS, ""),
@@ -733,6 +740,12 @@ def _light_schema(defaults: dict | None = None) -> vol.Schema:
)
),
): selector.BooleanSelector(),
vol.Optional(
CONF_LIGHT_RELATIVE_COLOR_TEMPERATURE_ADDRESS,
default=defaults.get(CONF_LIGHT_RELATIVE_COLOR_TEMPERATURE_ADDRESS, ""),
): selector.TextSelector(
selector.TextSelectorConfig(type="text")
),
vol.Optional(
CONF_LIGHT_COLOR_TEMPERATURE_MODE,
default=defaults.get(CONF_LIGHT_COLOR_TEMPERATURE_MODE, "absolute"),
@@ -753,12 +766,6 @@ def _light_schema(defaults: dict | None = None) -> vol.Schema:
): selector.NumberSelector(
selector.NumberSelectorConfig(min=1000, max=20000, step=1, mode="box")
),
vol.Optional(
CONF_LIGHT_RELATIVE_DIMMING_ADDRESS,
default=defaults.get(CONF_LIGHT_RELATIVE_DIMMING_ADDRESS, ""),
): selector.TextSelector(
selector.TextSelectorConfig(type="text")
),
vol.Optional(
CONF_LIGHT_RED_ADDRESS,
default=defaults.get(CONF_LIGHT_RED_ADDRESS, ""),
@@ -951,6 +958,7 @@ def _port_keys(port_type: str) -> list[str]:
CONF_LIGHT_XYY_STATE_ADDRESS,
CONF_LIGHT_COLOR_TEMPERATURE_ADDRESS,
CONF_LIGHT_COLOR_TEMPERATURE_STATE_ADDRESS,
CONF_LIGHT_RELATIVE_COLOR_TEMPERATURE_ADDRESS,
CONF_LIGHT_RELATIVE_DIMMING_ADDRESS,
CONF_LIGHT_RED_ADDRESS,
CONF_LIGHT_RED_STATE_ADDRESS,