mirror of
https://github.com/home-assistant/core.git
synced 2025-04-24 17:27:52 +00:00
Bump ZHA dependencies (#90547)
* Bump ZHA dependencies * Ensure the network is formed on channel 15 when multi-PAN is in use
This commit is contained in:
parent
47af325a88
commit
3a3c738945
@ -137,6 +137,8 @@ CONF_GROUP_MEMBERS_ASSUME_STATE = "group_members_assume_state"
|
||||
CONF_ENABLE_IDENTIFY_ON_JOIN = "enable_identify_on_join"
|
||||
CONF_ENABLE_QUIRKS = "enable_quirks"
|
||||
CONF_FLOWCONTROL = "flow_control"
|
||||
CONF_NWK = "network"
|
||||
CONF_NWK_CHANNEL = "channel"
|
||||
CONF_RADIO_TYPE = "radio_type"
|
||||
CONF_USB_PATH = "usb_path"
|
||||
CONF_USE_THREAD = "use_thread"
|
||||
|
@ -41,6 +41,8 @@ from .const import (
|
||||
ATTR_TYPE,
|
||||
CONF_DATABASE,
|
||||
CONF_DEVICE_PATH,
|
||||
CONF_NWK,
|
||||
CONF_NWK_CHANNEL,
|
||||
CONF_RADIO_TYPE,
|
||||
CONF_USE_THREAD,
|
||||
CONF_ZIGPY,
|
||||
@ -172,6 +174,20 @@ class ZHAGateway:
|
||||
):
|
||||
app_config[CONF_USE_THREAD] = False
|
||||
|
||||
# Local import to avoid circular dependencies
|
||||
# pylint: disable-next=import-outside-toplevel
|
||||
from homeassistant.components.homeassistant_hardware.silabs_multiprotocol_addon import (
|
||||
is_multiprotocol_url,
|
||||
)
|
||||
|
||||
# Until we have a way to coordinate channels with the Thread half of multi-PAN,
|
||||
# stick to the old zigpy default of channel 15 instead of dynamically scanning
|
||||
if (
|
||||
is_multiprotocol_url(app_config[CONF_DEVICE][CONF_DEVICE_PATH])
|
||||
and app_config.get(CONF_NWK, {}).get(CONF_NWK_CHANNEL) is None
|
||||
):
|
||||
app_config.setdefault(CONF_NWK, {})[CONF_NWK_CHANNEL] = 15
|
||||
|
||||
return app_controller_cls, app_controller_cls.SCHEMA(app_config)
|
||||
|
||||
async def async_initialize(self) -> None:
|
||||
|
@ -20,15 +20,15 @@
|
||||
"zigpy_znp"
|
||||
],
|
||||
"requirements": [
|
||||
"bellows==0.34.10",
|
||||
"bellows==0.35.0",
|
||||
"pyserial==3.5",
|
||||
"pyserial-asyncio==0.6",
|
||||
"zha-quirks==0.0.95",
|
||||
"zigpy-deconz==0.19.2",
|
||||
"zigpy==0.53.2",
|
||||
"zigpy-xbee==0.16.2",
|
||||
"zigpy-deconz==0.20.0",
|
||||
"zigpy==0.54.0",
|
||||
"zigpy-xbee==0.17.0",
|
||||
"zigpy-zigate==0.10.3",
|
||||
"zigpy-znp==0.9.3"
|
||||
"zigpy-znp==0.10.0"
|
||||
],
|
||||
"usb": [
|
||||
{
|
||||
|
@ -422,7 +422,7 @@ beautifulsoup4==4.11.1
|
||||
# beewi_smartclim==0.0.10
|
||||
|
||||
# homeassistant.components.zha
|
||||
bellows==0.34.10
|
||||
bellows==0.35.0
|
||||
|
||||
# homeassistant.components.bmw_connected_drive
|
||||
bimmer_connected==0.13.0
|
||||
@ -2710,19 +2710,19 @@ zhong_hong_hvac==1.0.9
|
||||
ziggo-mediabox-xl==1.1.0
|
||||
|
||||
# homeassistant.components.zha
|
||||
zigpy-deconz==0.19.2
|
||||
zigpy-deconz==0.20.0
|
||||
|
||||
# homeassistant.components.zha
|
||||
zigpy-xbee==0.16.2
|
||||
zigpy-xbee==0.17.0
|
||||
|
||||
# homeassistant.components.zha
|
||||
zigpy-zigate==0.10.3
|
||||
|
||||
# homeassistant.components.zha
|
||||
zigpy-znp==0.9.3
|
||||
zigpy-znp==0.10.0
|
||||
|
||||
# homeassistant.components.zha
|
||||
zigpy==0.53.2
|
||||
zigpy==0.54.0
|
||||
|
||||
# homeassistant.components.zoneminder
|
||||
zm-py==0.5.2
|
||||
|
@ -355,7 +355,7 @@ base36==0.1.1
|
||||
beautifulsoup4==4.11.1
|
||||
|
||||
# homeassistant.components.zha
|
||||
bellows==0.34.10
|
||||
bellows==0.35.0
|
||||
|
||||
# homeassistant.components.bmw_connected_drive
|
||||
bimmer_connected==0.13.0
|
||||
@ -1944,19 +1944,19 @@ zeversolar==0.3.1
|
||||
zha-quirks==0.0.95
|
||||
|
||||
# homeassistant.components.zha
|
||||
zigpy-deconz==0.19.2
|
||||
zigpy-deconz==0.20.0
|
||||
|
||||
# homeassistant.components.zha
|
||||
zigpy-xbee==0.16.2
|
||||
zigpy-xbee==0.17.0
|
||||
|
||||
# homeassistant.components.zha
|
||||
zigpy-zigate==0.10.3
|
||||
|
||||
# homeassistant.components.zha
|
||||
zigpy-znp==0.9.3
|
||||
zigpy-znp==0.10.0
|
||||
|
||||
# homeassistant.components.zha
|
||||
zigpy==0.53.2
|
||||
zigpy==0.54.0
|
||||
|
||||
# homeassistant.components.zwave_js
|
||||
zwave-js-server-python==0.47.1
|
||||
|
@ -323,3 +323,32 @@ async def test_gateway_initialize_bellows_thread(
|
||||
await zha_gateway.async_initialize()
|
||||
|
||||
assert mock_new.mock_calls[0].args[0]["use_thread"] is thread_state
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
("device_path", "config_override", "expected_channel"),
|
||||
[
|
||||
("/dev/ttyUSB0", {}, None),
|
||||
("socket://192.168.1.123:9999", {}, None),
|
||||
("socket://192.168.1.123:9999", {"network": {"channel": 20}}, 20),
|
||||
("socket://core-silabs-multiprotocol:9999", {}, 15),
|
||||
("socket://core-silabs-multiprotocol:9999", {"network": {"channel": 20}}, 20),
|
||||
],
|
||||
)
|
||||
async def test_gateway_force_multi_pan_channel(
|
||||
device_path: str,
|
||||
config_override: dict,
|
||||
expected_channel: int | None,
|
||||
hass: HomeAssistant,
|
||||
coordinator,
|
||||
) -> None:
|
||||
"""Test ZHA disabling the UART thread when connecting to a TCP coordinator."""
|
||||
zha_gateway = get_zha_gateway(hass)
|
||||
assert zha_gateway is not None
|
||||
|
||||
zha_gateway.config_entry.data = dict(zha_gateway.config_entry.data)
|
||||
zha_gateway.config_entry.data["device"]["path"] = device_path
|
||||
zha_gateway._config.setdefault("zigpy_config", {}).update(config_override)
|
||||
|
||||
_, config = zha_gateway.get_application_controller_data()
|
||||
assert config["network"]["channel"] == expected_channel
|
||||
|
Loading…
x
Reference in New Issue
Block a user