mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Bump ZHA to 0.0.34 (#126766)
This commit is contained in:
parent
fbf5d3966d
commit
0a44c9456c
@ -43,7 +43,6 @@ CONF_CUSTOM_QUIRKS_PATH = "custom_quirks_path"
|
|||||||
CONF_DEFAULT_LIGHT_TRANSITION = "default_light_transition"
|
CONF_DEFAULT_LIGHT_TRANSITION = "default_light_transition"
|
||||||
CONF_ENABLE_ENHANCED_LIGHT_TRANSITION = "enhanced_light_transition"
|
CONF_ENABLE_ENHANCED_LIGHT_TRANSITION = "enhanced_light_transition"
|
||||||
CONF_ENABLE_LIGHT_TRANSITIONING_FLAG = "light_transitioning_flag"
|
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_GROUP_MEMBERS_ASSUME_STATE = "group_members_assume_state"
|
||||||
|
|
||||||
CONF_ENABLE_IDENTIFY_ON_JOIN = "enable_identify_on_join"
|
CONF_ENABLE_IDENTIFY_ON_JOIN = "enable_identify_on_join"
|
||||||
|
@ -4,7 +4,7 @@ from __future__ import annotations
|
|||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
from collections.abc import Callable
|
from collections.abc import Callable
|
||||||
import functools
|
from functools import cached_property, partial
|
||||||
import logging
|
import logging
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
@ -16,6 +16,7 @@ from homeassistant.helpers.device_registry import CONNECTION_ZIGBEE, DeviceInfo
|
|||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
from homeassistant.helpers.restore_state import RestoreEntity
|
from homeassistant.helpers.restore_state import RestoreEntity
|
||||||
|
from homeassistant.helpers.typing import UNDEFINED, UndefinedType
|
||||||
|
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
from .helpers import SIGNAL_REMOVE_ENTITIES, EntityData, convert_zha_error_to_ha_error
|
from .helpers import SIGNAL_REMOVE_ENTITIES, EntityData, convert_zha_error_to_ha_error
|
||||||
@ -43,15 +44,6 @@ class ZHAEntity(LogMixin, RestoreEntity, Entity):
|
|||||||
meta = self.entity_data.entity.info_object
|
meta = self.entity_data.entity.info_object
|
||||||
self._attr_unique_id = meta.unique_id
|
self._attr_unique_id = meta.unique_id
|
||||||
|
|
||||||
if meta.translation_key is not None:
|
|
||||||
self._attr_translation_key = meta.translation_key
|
|
||||||
elif meta.fallback_name is not None:
|
|
||||||
# Only custom quirks will create entities with just a fallback name!
|
|
||||||
#
|
|
||||||
# This is to allow local development and to register niche devices, since
|
|
||||||
# their translation_key will probably never be added to `zha/strings.json`.
|
|
||||||
self._attr_name = meta.fallback_name
|
|
||||||
|
|
||||||
if meta.entity_category is not None:
|
if meta.entity_category is not None:
|
||||||
self._attr_entity_category = EntityCategory(meta.entity_category)
|
self._attr_entity_category = EntityCategory(meta.entity_category)
|
||||||
|
|
||||||
@ -59,6 +51,23 @@ class ZHAEntity(LogMixin, RestoreEntity, Entity):
|
|||||||
meta.entity_registry_enabled_default
|
meta.entity_registry_enabled_default
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if meta.translation_key is not None:
|
||||||
|
self._attr_translation_key = meta.translation_key
|
||||||
|
|
||||||
|
@cached_property
|
||||||
|
def name(self) -> str | UndefinedType | None:
|
||||||
|
"""Return the name of the entity."""
|
||||||
|
meta = self.entity_data.entity.info_object
|
||||||
|
original_name = super().name
|
||||||
|
|
||||||
|
if original_name not in (UNDEFINED, None) or meta.fallback_name is None:
|
||||||
|
return original_name
|
||||||
|
|
||||||
|
# This is to allow local development and to register niche devices, since
|
||||||
|
# their translation_key will probably never be added to `zha/strings.json`.
|
||||||
|
self._attr_name = meta.fallback_name
|
||||||
|
return super().name
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def available(self) -> bool:
|
def available(self) -> bool:
|
||||||
"""Return entity availability."""
|
"""Return entity availability."""
|
||||||
@ -102,7 +111,7 @@ class ZHAEntity(LogMixin, RestoreEntity, Entity):
|
|||||||
async_dispatcher_connect(
|
async_dispatcher_connect(
|
||||||
self.hass,
|
self.hass,
|
||||||
remove_signal,
|
remove_signal,
|
||||||
functools.partial(self.async_remove, force_remove=True),
|
partial(self.async_remove, force_remove=True),
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
self.entity_data.device_proxy.gateway_proxy.register_entity_reference(
|
self.entity_data.device_proxy.gateway_proxy.register_entity_reference(
|
||||||
|
@ -140,7 +140,6 @@ from .const import (
|
|||||||
CONF_ALARM_ARM_REQUIRES_CODE,
|
CONF_ALARM_ARM_REQUIRES_CODE,
|
||||||
CONF_ALARM_FAILED_TRIES,
|
CONF_ALARM_FAILED_TRIES,
|
||||||
CONF_ALARM_MASTER_CODE,
|
CONF_ALARM_MASTER_CODE,
|
||||||
CONF_ALWAYS_PREFER_XY_COLOR_MODE,
|
|
||||||
CONF_BAUDRATE,
|
CONF_BAUDRATE,
|
||||||
CONF_CONSIDER_UNAVAILABLE_BATTERY,
|
CONF_CONSIDER_UNAVAILABLE_BATTERY,
|
||||||
CONF_CONSIDER_UNAVAILABLE_MAINS,
|
CONF_CONSIDER_UNAVAILABLE_MAINS,
|
||||||
@ -1153,7 +1152,6 @@ CONF_ZHA_OPTIONS_SCHEMA = vol.Schema(
|
|||||||
),
|
),
|
||||||
vol.Required(CONF_ENABLE_ENHANCED_LIGHT_TRANSITION, default=False): cv.boolean,
|
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_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_GROUP_MEMBERS_ASSUME_STATE, default=True): cv.boolean,
|
||||||
vol.Required(CONF_ENABLE_IDENTIFY_ON_JOIN, default=True): cv.boolean,
|
vol.Required(CONF_ENABLE_IDENTIFY_ON_JOIN, default=True): cv.boolean,
|
||||||
vol.Optional(
|
vol.Optional(
|
||||||
@ -1230,7 +1228,6 @@ def create_zha_config(hass: HomeAssistant, ha_zha_data: HAZHAData) -> ZHAData:
|
|||||||
enable_light_transitioning_flag=zha_options.get(
|
enable_light_transitioning_flag=zha_options.get(
|
||||||
CONF_ENABLE_LIGHT_TRANSITIONING_FLAG
|
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),
|
group_members_assume_state=zha_options.get(CONF_GROUP_MEMBERS_ASSUME_STATE),
|
||||||
)
|
)
|
||||||
device_options: DeviceOptions = DeviceOptions(
|
device_options: DeviceOptions = DeviceOptions(
|
||||||
|
@ -18,7 +18,6 @@ from homeassistant.components.light import (
|
|||||||
ATTR_COLOR_TEMP,
|
ATTR_COLOR_TEMP,
|
||||||
ATTR_EFFECT,
|
ATTR_EFFECT,
|
||||||
ATTR_FLASH,
|
ATTR_FLASH,
|
||||||
ATTR_HS_COLOR,
|
|
||||||
ATTR_TRANSITION,
|
ATTR_TRANSITION,
|
||||||
ATTR_XY_COLOR,
|
ATTR_XY_COLOR,
|
||||||
ColorMode,
|
ColorMode,
|
||||||
@ -143,11 +142,6 @@ class Light(LightEntity, ZHAEntity):
|
|||||||
"""Return the warmest color_temp that this light supports."""
|
"""Return the warmest color_temp that this light supports."""
|
||||||
return self.entity_data.entity.max_mireds
|
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
|
@property
|
||||||
def xy_color(self) -> tuple[float, float] | None:
|
def xy_color(self) -> tuple[float, float] | None:
|
||||||
"""Return the xy color value [float, float]."""
|
"""Return the xy color value [float, float]."""
|
||||||
@ -185,7 +179,6 @@ class Light(LightEntity, ZHAEntity):
|
|||||||
flash=kwargs.get(ATTR_FLASH),
|
flash=kwargs.get(ATTR_FLASH),
|
||||||
color_temp=kwargs.get(ATTR_COLOR_TEMP),
|
color_temp=kwargs.get(ATTR_COLOR_TEMP),
|
||||||
xy_color=kwargs.get(ATTR_XY_COLOR),
|
xy_color=kwargs.get(ATTR_XY_COLOR),
|
||||||
hs_color=kwargs.get(ATTR_HS_COLOR),
|
|
||||||
)
|
)
|
||||||
self.async_write_ha_state()
|
self.async_write_ha_state()
|
||||||
|
|
||||||
@ -207,7 +200,6 @@ class Light(LightEntity, ZHAEntity):
|
|||||||
brightness=state.attributes.get(ATTR_BRIGHTNESS),
|
brightness=state.attributes.get(ATTR_BRIGHTNESS),
|
||||||
color_temp=state.attributes.get(ATTR_COLOR_TEMP),
|
color_temp=state.attributes.get(ATTR_COLOR_TEMP),
|
||||||
xy_color=state.attributes.get(ATTR_XY_COLOR),
|
xy_color=state.attributes.get(ATTR_XY_COLOR),
|
||||||
hs_color=state.attributes.get(ATTR_HS_COLOR),
|
|
||||||
color_mode=(
|
color_mode=(
|
||||||
HA_TO_ZHA_COLOR_MODE[ColorMode(state.attributes[ATTR_COLOR_MODE])]
|
HA_TO_ZHA_COLOR_MODE[ColorMode(state.attributes[ATTR_COLOR_MODE])]
|
||||||
if state.attributes.get(ATTR_COLOR_MODE) is not None
|
if state.attributes.get(ATTR_COLOR_MODE) is not None
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
"zha",
|
"zha",
|
||||||
"universal_silabs_flasher"
|
"universal_silabs_flasher"
|
||||||
],
|
],
|
||||||
"requirements": ["universal-silabs-flasher==0.0.22", "zha==0.0.33"],
|
"requirements": ["universal-silabs-flasher==0.0.22", "zha==0.0.34"],
|
||||||
"usb": [
|
"usb": [
|
||||||
{
|
{
|
||||||
"vid": "10C4",
|
"vid": "10C4",
|
||||||
|
@ -178,7 +178,6 @@
|
|||||||
"title": "Global Options",
|
"title": "Global Options",
|
||||||
"enhanced_light_transition": "Enable enhanced light color/temperature transition from an off-state",
|
"enhanced_light_transition": "Enable enhanced light color/temperature transition from an off-state",
|
||||||
"light_transitioning_flag": "Enable enhanced brightness slider during light transition",
|
"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",
|
"group_members_assume_state": "Group members assume state of group",
|
||||||
"enable_identify_on_join": "Enable identify effect when devices join the network",
|
"enable_identify_on_join": "Enable identify effect when devices join the network",
|
||||||
"default_light_transition": "Default light transition time (seconds)",
|
"default_light_transition": "Default light transition time (seconds)",
|
||||||
|
@ -3047,7 +3047,7 @@ zeroconf==0.135.0
|
|||||||
zeversolar==0.3.1
|
zeversolar==0.3.1
|
||||||
|
|
||||||
# homeassistant.components.zha
|
# homeassistant.components.zha
|
||||||
zha==0.0.33
|
zha==0.0.34
|
||||||
|
|
||||||
# homeassistant.components.zhong_hong
|
# homeassistant.components.zhong_hong
|
||||||
zhong-hong-hvac==1.0.12
|
zhong-hong-hvac==1.0.12
|
||||||
|
@ -2427,7 +2427,7 @@ zeroconf==0.135.0
|
|||||||
zeversolar==0.3.1
|
zeversolar==0.3.1
|
||||||
|
|
||||||
# homeassistant.components.zha
|
# homeassistant.components.zha
|
||||||
zha==0.0.33
|
zha==0.0.34
|
||||||
|
|
||||||
# homeassistant.components.zwave_js
|
# homeassistant.components.zwave_js
|
||||||
zwave-js-server-python==0.58.0
|
zwave-js-server-python==0.58.0
|
||||||
|
@ -23,12 +23,6 @@ BASE_CUSTOM_CONFIGURATION = {
|
|||||||
"required": True,
|
"required": True,
|
||||||
"default": True,
|
"default": True,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "boolean",
|
|
||||||
"name": "always_prefer_xy_color_mode",
|
|
||||||
"required": True,
|
|
||||||
"default": True,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"name": "group_members_assume_state",
|
"name": "group_members_assume_state",
|
||||||
@ -68,7 +62,6 @@ BASE_CUSTOM_CONFIGURATION = {
|
|||||||
"enhanced_light_transition": True,
|
"enhanced_light_transition": True,
|
||||||
"default_light_transition": 0,
|
"default_light_transition": 0,
|
||||||
"light_transitioning_flag": True,
|
"light_transitioning_flag": True,
|
||||||
"always_prefer_xy_color_mode": True,
|
|
||||||
"group_members_assume_state": False,
|
"group_members_assume_state": False,
|
||||||
"enable_identify_on_join": True,
|
"enable_identify_on_join": True,
|
||||||
"enable_mains_startup_polling": True,
|
"enable_mains_startup_polling": True,
|
||||||
@ -101,12 +94,6 @@ CONFIG_WITH_ALARM_OPTIONS = {
|
|||||||
"required": True,
|
"required": True,
|
||||||
"default": True,
|
"default": True,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "boolean",
|
|
||||||
"name": "always_prefer_xy_color_mode",
|
|
||||||
"required": True,
|
|
||||||
"default": True,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"name": "group_members_assume_state",
|
"name": "group_members_assume_state",
|
||||||
@ -167,7 +154,6 @@ CONFIG_WITH_ALARM_OPTIONS = {
|
|||||||
"enhanced_light_transition": True,
|
"enhanced_light_transition": True,
|
||||||
"default_light_transition": 0,
|
"default_light_transition": 0,
|
||||||
"light_transitioning_flag": True,
|
"light_transitioning_flag": True,
|
||||||
"always_prefer_xy_color_mode": True,
|
|
||||||
"group_members_assume_state": False,
|
"group_members_assume_state": False,
|
||||||
"enable_identify_on_join": True,
|
"enable_identify_on_join": True,
|
||||||
"enable_mains_startup_polling": True,
|
"enable_mains_startup_polling": True,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user