Skip to content

Commit ee11ddb

Browse files
authored
Merge pull request #277 from mdeweerd/dev
Fix #269 Adjust method to get list of devices to current ZHA code
2 parents be0367e + 0f9458f commit ee11ddb

File tree

4 files changed

+20
-4
lines changed

4 files changed

+20
-4
lines changed

STATS.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Badges showing number of downloads per version
22

33
- ![badge latest](https://img.shields.io/github/downloads/mdeweerd/zha-toolkit/latest/total.svg)
4+
- ![badge v1.1.23](https://img.shields.io/github/downloads/mdeweerd/zha-toolkit/v1.1.23/total.svg)
5+
- ![badge v1.1.22](https://img.shields.io/github/downloads/mdeweerd/zha-toolkit/v1.1.22/total.svg)
46
- ![badge v1.1.21](https://img.shields.io/github/downloads/mdeweerd/zha-toolkit/v1.1.21/total.svg)
57
- ![badge v1.1.20](https://img.shields.io/github/downloads/mdeweerd/zha-toolkit/v1.1.20/total.svg)
68
- ![badge v1.1.19](https://img.shields.io/github/downloads/mdeweerd/zha-toolkit/v1.1.19/total.svg)

custom_components/zha_toolkit/ota.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ async def download_koenkk_ota(listener, ota_dir):
4444
# Get manufacturers
4545
manfs = {}
4646
for info in [
47-
device.zha_device_info for device in listener.devices.values()
47+
device.zha_device_info for device in u.get_zha_devices(listener)
4848
]:
4949
manfs[info["manufacturer_code"]] = True
5050

@@ -111,7 +111,7 @@ async def download_sonoff_ota(listener, ota_dir):
111111
# Get manufacturers
112112
manfs = {}
113113
for info in [
114-
device.zha_device_info for device in listener.devices.values()
114+
device.zha_device_info for device in u.get_zha_devices(listener)
115115
]:
116116
manfs[info["manufacturer_code"]] = True
117117

custom_components/zha_toolkit/utils.py

+13-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,9 @@
5858
MANIFEST: dict[str, str | list[str]] = {}
5959

6060

61-
def get_zha_gateway(hass: HomeAssistant) -> ZHAGateway:
61+
def get_zha_gateway(
62+
hass: HomeAssistant,
63+
) -> ZHAGateway | zha_helpers.ZHAGatewayProxy:
6264
"""Get the ZHA gateway object."""
6365
if parse_version(HA_VERSION) >= parse_version("2024.8"):
6466
return zha_helpers.get_zha_gateway(hass)
@@ -67,6 +69,16 @@ def get_zha_gateway(hass: HomeAssistant) -> ZHAGateway:
6769
return zha.gateway
6870

6971

72+
def get_zha_devices(listener: ZHAGateway | zha_helpers.ZHAGatewayProxy):
73+
devices = getattr(listener, "device_proxies", None)
74+
if devices is None:
75+
# Old method
76+
devices = getattr(listener, "devices", None)
77+
if devices is not None:
78+
return devices.values()
79+
return []
80+
81+
7082
def get_zha_gateway_hass(
7183
hass: HomeAssistant,
7284
) -> ZHAGateway | zha_helpers.ZHAGatewayProxy:

custom_components/zha_toolkit/zha.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ async def zha_devices(
4545
# 'signature'
4646
# 'endpoints'
4747

48-
devices = [device.zha_device_info for device in listener.devices.values()]
48+
devices = [
49+
device.zha_device_info for device in listener.device_proxies.values()
50+
]
4951

5052
if ieee is not None:
5153
ieee = str(ieee)

0 commit comments

Comments
 (0)