Skip to content

Commit d6af52e

Browse files
authored
Syncup with zigpy==0.37.0 changes (#84)
* Syncup with zigpy==0.37.0 changes * Update tests
1 parent 466ceb6 commit d6af52e

File tree

3 files changed

+26
-16
lines changed

3 files changed

+26
-16
lines changed

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
install_requires=[
2222
'pyserial-asyncio; platform_system!="Windows"',
2323
'pyserial-asyncio!=0.5; platform_system=="Windows"', # 0.5 broke writes
24-
"zigpy>=0.34.0",
24+
"zigpy>=0.37.0",
2525
"async_timeout",
2626
"voluptuous",
2727
"coloredlogs",

tests/application/test_startup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ async def test_info(
6767
app, znp_server = make_application(server_cls=device)
6868

6969
# These should not raise any errors even if our NIB is empty
70-
assert app.pan_id is None
71-
assert app.extended_pan_id is None
70+
assert app.pan_id == 0xFFFE # unknown NWK ID
71+
assert app.extended_pan_id == t.EUI64.convert("ff:ff:ff:ff:ff:ff:ff:ff")
7272
assert app.channel is None
7373
assert app.channels is None
7474
assert app.network_key is None

zigpy_znp/zigbee/application.py

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
import zigpy.zdo
1111
import zigpy.util
12+
import zigpy.state
1213
import zigpy.types
1314
import zigpy.config
1415
import zigpy.device
@@ -120,8 +121,6 @@ def __init__(self, config: conf.ConfigType):
120121
self._watchdog_task = asyncio.Future()
121122
self._watchdog_task.cancel()
122123

123-
self._network_key = None
124-
self._network_key_seq = None
125124
self._version_rsp = None
126125
self._concurrent_requests_semaphore = None
127126
self._currently_waiting_requests = 0
@@ -135,12 +134,16 @@ def __init__(self, config: conf.ConfigType):
135134
@property
136135
def network_key(self) -> t.KeyData | None:
137136
# This is not a standard Zigpy property
138-
return self._network_key
137+
if self.state.network_information.network_key:
138+
return self.state.network_information.network_key.key
139+
return None
139140

140141
@property
141142
def network_key_seq(self) -> t.uint8_t | None:
142143
# This is not a standard Zigpy property
143-
return self._network_key_seq
144+
if self.state.network_information.network_key:
145+
return self.state.network_information.network_key.seq
146+
return None
144147

145148
@classmethod
146149
async def probe(cls, device_config: conf.ConfigType) -> bool:
@@ -1279,15 +1282,22 @@ async def _load_network_info(self) -> None:
12791282

12801283
await self._znp.load_network_info()
12811284

1282-
self._ieee = self._znp.network_info.ieee
1283-
self._nwk = self._znp.network_info.nwk
1284-
self._channel = self._znp.network_info.channel
1285-
self._channels = self._znp.network_info.channels
1286-
self._pan_id = self._znp.network_info.pan_id
1287-
self._ext_pan_id = self._znp.network_info.extended_pan_id
1288-
self._nwk_update_id = self._znp.network_info.nwk_update_id
1289-
self._network_key = self._znp.network_info.network_key
1290-
self._network_key_seq = self._znp.network_info.network_key_seq
1285+
self.ieee = self._znp.network_info.ieee
1286+
self.nwk = self._znp.network_info.nwk
1287+
self.state.network_information.channel = self._znp.network_info.channel
1288+
self.state.network_information.channel_mask = self._znp.network_info.channels
1289+
self.state.network_information.pan_id = self._znp.network_info.pan_id
1290+
self.state.network_information.extended_pan_id = (
1291+
self._znp.network_info.extended_pan_id
1292+
)
1293+
self.state.network_information.nwk_update_id = (
1294+
self._znp.network_info.nwk_update_id
1295+
)
1296+
nwk_key = zigpy.state.Key(
1297+
key=self._znp.network_info.network_key,
1298+
seq=self._znp.network_info.network_key_seq,
1299+
)
1300+
self.state.network_information.network_key = nwk_key
12911301

12921302
def _find_endpoint(self, dst_ep: int, profile: int, cluster: int) -> int:
12931303
"""

0 commit comments

Comments
 (0)