9
9
10
10
import zigpy .zdo
11
11
import zigpy .util
12
+ import zigpy .state
12
13
import zigpy .types
13
14
import zigpy .config
14
15
import zigpy .device
@@ -120,8 +121,6 @@ def __init__(self, config: conf.ConfigType):
120
121
self ._watchdog_task = asyncio .Future ()
121
122
self ._watchdog_task .cancel ()
122
123
123
- self ._network_key = None
124
- self ._network_key_seq = None
125
124
self ._version_rsp = None
126
125
self ._concurrent_requests_semaphore = None
127
126
self ._currently_waiting_requests = 0
@@ -135,12 +134,16 @@ def __init__(self, config: conf.ConfigType):
135
134
@property
136
135
def network_key (self ) -> t .KeyData | None :
137
136
# 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
139
140
140
141
@property
141
142
def network_key_seq (self ) -> t .uint8_t | None :
142
143
# 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
144
147
145
148
@classmethod
146
149
async def probe (cls , device_config : conf .ConfigType ) -> bool :
@@ -1279,15 +1282,22 @@ async def _load_network_info(self) -> None:
1279
1282
1280
1283
await self ._znp .load_network_info ()
1281
1284
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
1291
1301
1292
1302
def _find_endpoint (self , dst_ep : int , profile : int , cluster : int ) -> int :
1293
1303
"""
0 commit comments