mirror of
https://github.com/home-assistant/core.git
synced 2025-08-01 03:35:09 +02:00
Always prefer XY color mode in ZHA
Remove a few more HS remnants
This commit is contained in:
@@ -43,7 +43,6 @@ CONF_CUSTOM_QUIRKS_PATH = "custom_quirks_path"
|
||||
CONF_DEFAULT_LIGHT_TRANSITION = "default_light_transition"
|
||||
CONF_ENABLE_ENHANCED_LIGHT_TRANSITION = "enhanced_light_transition"
|
||||
CONF_ENABLE_LIGHT_TRANSITIONING_FLAG = "light_transitioning_flag"
|
||||
CONF_ALWAYS_PREFER_XY_COLOR_MODE = "always_prefer_xy_color_mode"
|
||||
CONF_GROUP_MEMBERS_ASSUME_STATE = "group_members_assume_state"
|
||||
|
||||
CONF_ENABLE_IDENTIFY_ON_JOIN = "enable_identify_on_join"
|
||||
|
@@ -140,7 +140,6 @@ from .const import (
|
||||
CONF_ALARM_ARM_REQUIRES_CODE,
|
||||
CONF_ALARM_FAILED_TRIES,
|
||||
CONF_ALARM_MASTER_CODE,
|
||||
CONF_ALWAYS_PREFER_XY_COLOR_MODE,
|
||||
CONF_BAUDRATE,
|
||||
CONF_CONSIDER_UNAVAILABLE_BATTERY,
|
||||
CONF_CONSIDER_UNAVAILABLE_MAINS,
|
||||
@@ -1152,7 +1151,6 @@ CONF_ZHA_OPTIONS_SCHEMA = vol.Schema(
|
||||
),
|
||||
vol.Required(CONF_ENABLE_ENHANCED_LIGHT_TRANSITION, default=False): cv.boolean,
|
||||
vol.Required(CONF_ENABLE_LIGHT_TRANSITIONING_FLAG, default=True): cv.boolean,
|
||||
vol.Required(CONF_ALWAYS_PREFER_XY_COLOR_MODE, default=True): cv.boolean,
|
||||
vol.Required(CONF_GROUP_MEMBERS_ASSUME_STATE, default=True): cv.boolean,
|
||||
vol.Required(CONF_ENABLE_IDENTIFY_ON_JOIN, default=True): cv.boolean,
|
||||
vol.Optional(
|
||||
@@ -1227,7 +1225,6 @@ def create_zha_config(hass: HomeAssistant, ha_zha_data: HAZHAData) -> ZHAData:
|
||||
enable_light_transitioning_flag=zha_options.get(
|
||||
CONF_ENABLE_LIGHT_TRANSITIONING_FLAG
|
||||
),
|
||||
always_prefer_xy_color_mode=zha_options.get(CONF_ALWAYS_PREFER_XY_COLOR_MODE),
|
||||
group_members_assume_state=zha_options.get(CONF_GROUP_MEMBERS_ASSUME_STATE),
|
||||
)
|
||||
device_options: DeviceOptions = DeviceOptions(
|
||||
|
@@ -45,7 +45,6 @@ ZHA_TO_HA_COLOR_MODE = {
|
||||
ZhaColorMode.ONOFF: ColorMode.ONOFF,
|
||||
ZhaColorMode.BRIGHTNESS: ColorMode.BRIGHTNESS,
|
||||
ZhaColorMode.COLOR_TEMP: ColorMode.COLOR_TEMP,
|
||||
ZhaColorMode.HS: ColorMode.HS,
|
||||
ZhaColorMode.XY: ColorMode.XY,
|
||||
ZhaColorMode.RGB: ColorMode.RGB,
|
||||
ZhaColorMode.RGBW: ColorMode.RGBW,
|
||||
@@ -143,11 +142,6 @@ class Light(LightEntity, ZHAEntity):
|
||||
"""Return the warmest color_temp that this light supports."""
|
||||
return self.entity_data.entity.max_mireds
|
||||
|
||||
@property
|
||||
def hs_color(self) -> tuple[float, float] | None:
|
||||
"""Return the hs color value [int, int]."""
|
||||
return self.entity_data.entity.hs_color
|
||||
|
||||
@property
|
||||
def xy_color(self) -> tuple[float, float] | None:
|
||||
"""Return the xy color value [float, float]."""
|
||||
@@ -185,7 +179,6 @@ class Light(LightEntity, ZHAEntity):
|
||||
flash=kwargs.get(ATTR_FLASH),
|
||||
color_temp=kwargs.get(ATTR_COLOR_TEMP),
|
||||
xy_color=kwargs.get(ATTR_XY_COLOR),
|
||||
hs_color=kwargs.get(ATTR_HS_COLOR),
|
||||
)
|
||||
self.async_write_ha_state()
|
||||
|
||||
@@ -200,6 +193,16 @@ class Light(LightEntity, ZHAEntity):
|
||||
@callback
|
||||
def restore_external_state_attributes(self, state: State) -> None:
|
||||
"""Restore entity state."""
|
||||
|
||||
color_mode = None
|
||||
|
||||
if state.attributes.get(ATTR_COLOR_MODE) is not None:
|
||||
color_mode = ColorMode(state.attributes[ATTR_COLOR_MODE])
|
||||
|
||||
# Remove in 2025.1: ZHA no longer uses HS color mode, only XY
|
||||
if color_mode is ColorMode.HS:
|
||||
color_mode = ColorMode.XY
|
||||
|
||||
self.entity_data.entity.restore_external_state_attributes(
|
||||
state=(state.state == STATE_ON),
|
||||
off_with_transition=state.attributes.get(OFF_WITH_TRANSITION),
|
||||
@@ -209,9 +212,7 @@ class Light(LightEntity, ZHAEntity):
|
||||
xy_color=state.attributes.get(ATTR_XY_COLOR),
|
||||
hs_color=state.attributes.get(ATTR_HS_COLOR),
|
||||
color_mode=(
|
||||
HA_TO_ZHA_COLOR_MODE[ColorMode(state.attributes[ATTR_COLOR_MODE])]
|
||||
if state.attributes.get(ATTR_COLOR_MODE) is not None
|
||||
else None
|
||||
HA_TO_ZHA_COLOR_MODE[color_mode] if color_mode is not None else None
|
||||
),
|
||||
effect=state.attributes.get(ATTR_EFFECT),
|
||||
)
|
||||
|
@@ -178,7 +178,6 @@
|
||||
"title": "Global Options",
|
||||
"enhanced_light_transition": "Enable enhanced light color/temperature transition from an off-state",
|
||||
"light_transitioning_flag": "Enable enhanced brightness slider during light transition",
|
||||
"always_prefer_xy_color_mode": "Always prefer XY color mode",
|
||||
"group_members_assume_state": "Group members assume state of group",
|
||||
"enable_identify_on_join": "Enable identify effect when devices join the network",
|
||||
"default_light_transition": "Default light transition time (seconds)",
|
||||
|
@@ -23,12 +23,6 @@ BASE_CUSTOM_CONFIGURATION = {
|
||||
"required": True,
|
||||
"default": True,
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"name": "always_prefer_xy_color_mode",
|
||||
"required": True,
|
||||
"default": True,
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"name": "group_members_assume_state",
|
||||
@@ -62,7 +56,6 @@ BASE_CUSTOM_CONFIGURATION = {
|
||||
"enhanced_light_transition": True,
|
||||
"default_light_transition": 0,
|
||||
"light_transitioning_flag": True,
|
||||
"always_prefer_xy_color_mode": True,
|
||||
"group_members_assume_state": False,
|
||||
"enable_identify_on_join": True,
|
||||
"consider_unavailable_mains": 7200,
|
||||
@@ -94,12 +87,6 @@ CONFIG_WITH_ALARM_OPTIONS = {
|
||||
"required": True,
|
||||
"default": True,
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"name": "always_prefer_xy_color_mode",
|
||||
"required": True,
|
||||
"default": True,
|
||||
},
|
||||
{
|
||||
"type": "boolean",
|
||||
"name": "group_members_assume_state",
|
||||
@@ -154,7 +141,6 @@ CONFIG_WITH_ALARM_OPTIONS = {
|
||||
"enhanced_light_transition": True,
|
||||
"default_light_transition": 0,
|
||||
"light_transitioning_flag": True,
|
||||
"always_prefer_xy_color_mode": True,
|
||||
"group_members_assume_state": False,
|
||||
"enable_identify_on_join": True,
|
||||
"consider_unavailable_mains": 7200,
|
||||
|
Reference in New Issue
Block a user