@@ -139,19 +139,14 @@ async def load_network_info(self, *, load_devices=False):
139
139
channel = nib .nwkLogicalChannel ,
140
140
channel_mask = nib .channelList ,
141
141
security_level = nib .SecurityLevel ,
142
- network_key = zigpy .state .Key (
143
- key = key_desc .Key ,
144
- seq = key_desc .KeySeqNum ,
145
- tx_counter = tc_frame_counter ,
146
- rx_counter = 0 ,
147
- partner_ieee = node_info .ieee ,
148
- ),
149
- tc_link_key = zigpy .state .Key (
150
- key = const .DEFAULT_TC_LINK_KEY ,
151
- seq = 0 ,
152
- tx_counter = 0 ,
153
- rx_counter = 0 ,
154
- partner_ieee = t .EUI64 .convert ("FF:FF:FF:FF:FF:FF:FF:FF" ),
142
+ network_key = key_desc .Key ,
143
+ network_key_seq = key_desc .KeySeqNum ,
144
+ network_key_counter = tc_frame_counter ,
145
+ tc_link_key = const .DEFAULT_TC_LINK_KEY ,
146
+ tc_address = (
147
+ node_info .ieee
148
+ if node_info .logical_type == zdo_t .LogicalType .Coordinator
149
+ else None
155
150
),
156
151
children = [],
157
152
nwk_addresses = {},
@@ -179,8 +174,9 @@ async def load_network_info(self, *, load_devices=False):
179
174
)
180
175
181
176
if dev .is_child :
182
- network_info .children .append (dev .node_info )
183
- elif dev .node_info .nwk is not None :
177
+ network_info .children .append (dev .node_info .ieee )
178
+
179
+ if dev .node_info .nwk is not None :
184
180
network_info .nwk_addresses [dev .node_info .ieee ] = dev .node_info .nwk
185
181
186
182
if dev .key is not None :
@@ -345,10 +341,10 @@ async def write_network_info(
345
341
346
342
key_info = t .NwkActiveKeyItems (
347
343
Active = t .NwkKeyDesc (
348
- KeySeqNum = network_info .network_key . seq ,
349
- Key = network_info .network_key . key ,
344
+ KeySeqNum = network_info .network_key_seq ,
345
+ Key = network_info .network_key ,
350
346
),
351
- FrameCounter = network_info .network_key . tx_counter ,
347
+ FrameCounter = network_info .network_key_counter ,
352
348
)
353
349
354
350
nvram = {
@@ -369,19 +365,19 @@ async def write_network_info(
369
365
# TCLK_SEED is TCLK_TABLE_START in Z-Stack 1
370
366
nvram [OsalNvIds .TCLK_SEED ] = t .TCLinkKey (
371
367
ExtAddr = t .EUI64 .convert ("FF:FF:FF:FF:FF:FF:FF:FF" ), # global
372
- Key = network_info .tc_link_key . key or const .DEFAULT_TC_LINK_KEY ,
368
+ Key = network_info .tc_link_key or const .DEFAULT_TC_LINK_KEY ,
373
369
TxFrameCounter = 0 ,
374
370
RxFrameCounter = 0 ,
375
371
)
376
372
else :
377
373
if (
378
374
network_info .tc_link_key is not None
379
- and network_info .tc_link_key . key != const .DEFAULT_TC_LINK_KEY
375
+ and network_info .tc_link_key != const .DEFAULT_TC_LINK_KEY
380
376
):
381
377
LOGGER .warning (
382
378
"TC link key is configured at build time in Z-Stack 3 and cannot be"
383
379
" changed at runtime: %s" ,
384
- network_info .tc_link_key . key ,
380
+ network_info .tc_link_key ,
385
381
)
386
382
387
383
if (
@@ -401,7 +397,7 @@ async def write_network_info(
401
397
402
398
await security .write_tc_frame_counter (
403
399
self ,
404
- network_info .network_key . tx_counter ,
400
+ network_info .network_key_counter ,
405
401
ext_pan_id = network_info .extended_pan_id ,
406
402
)
407
403
0 commit comments