@@ -345,7 +345,7 @@ async def commission_with_code(
345
345
retries = 3
346
346
while retries :
347
347
try :
348
- await self .interview_node (node_id )
348
+ await self ._interview_node (node_id )
349
349
except (NodeNotResolving , NodeInterviewFailed ) as err :
350
350
if retries <= 0 :
351
351
raise err
@@ -425,7 +425,7 @@ async def commission_on_network(
425
425
retries = 3
426
426
while retries :
427
427
try :
428
- await self .interview_node (node_id )
428
+ await self ._interview_node (node_id )
429
429
except NodeInterviewFailed as err :
430
430
if retries <= 0 :
431
431
raise err
@@ -567,17 +567,7 @@ async def discover_commissionable_nodes(
567
567
for x in sdk_result
568
568
]
569
569
570
- @api_command (APICommand .INTERVIEW_NODE )
571
- async def interview_node (self , node_id : int ) -> None :
572
- """Interview a node."""
573
- if node_id >= TEST_NODE_START :
574
- LOGGER .debug (
575
- "interview_node called for test node %s" ,
576
- node_id ,
577
- )
578
- self .server .signal_event (EventType .NODE_UPDATED , self ._nodes [node_id ])
579
- return
580
-
570
+ async def _interview_node (self , node_id : int ) -> None :
581
571
try :
582
572
LOGGER .info ("Interviewing node: %s" , node_id )
583
573
read_response : Attribute .AsyncReadTransaction .ReadResponse = (
@@ -622,6 +612,28 @@ async def interview_node(self, node_id: int) -> None:
622
612
623
613
LOGGER .debug ("Interview of node %s completed" , node_id )
624
614
615
+ @api_command (APICommand .INTERVIEW_NODE )
616
+ async def interview_node (self , node_id : int ) -> None :
617
+ """Interview a node."""
618
+ if node_id >= TEST_NODE_START :
619
+ LOGGER .debug (
620
+ "interview_node called for test node %s" ,
621
+ node_id ,
622
+ )
623
+ self .server .signal_event (EventType .NODE_UPDATED , self ._nodes [node_id ])
624
+ return
625
+
626
+ await self ._interview_node (node_id )
627
+
628
+ if self ._default_fabric_label :
629
+ await self ._chip_device_controller .send_command (
630
+ node_id ,
631
+ 0 ,
632
+ Clusters .OperationalCredentials .Commands .UpdateFabricLabel (
633
+ self ._default_fabric_label
634
+ ),
635
+ )
636
+
625
637
@api_command (APICommand .DEVICE_COMMAND )
626
638
async def send_device_command (
627
639
self ,
@@ -1114,7 +1126,7 @@ def attribute_updated_callback(
1114
1126
and new_value != old_value
1115
1127
):
1116
1128
# schedule a full interview of the node if the software version changed
1117
- self ._loop .create_task (self .interview_node (node_id ))
1129
+ self ._loop .create_task (self ._interview_node (node_id ))
1118
1130
1119
1131
# store updated value in node attributes
1120
1132
node .attributes [str (path )] = new_value
@@ -1346,7 +1358,7 @@ async def _setup_node_try_once(
1346
1358
or node_data .interview_version != DATA_MODEL_SCHEMA_VERSION
1347
1359
):
1348
1360
try :
1349
- await self .interview_node (node_id )
1361
+ await self ._interview_node (node_id )
1350
1362
except NodeInterviewFailed as err :
1351
1363
node_logger .warning (
1352
1364
"Setup for node failed: %s" ,
@@ -1436,7 +1448,7 @@ async def _handle_endpoints_added(
1436
1448
) -> None :
1437
1449
"""Handle callback for when bridge endpoint(s) get added."""
1438
1450
# we simply do a full interview of the node
1439
- await self .interview_node (node_id )
1451
+ await self ._interview_node (node_id )
1440
1452
# signal event to consumers
1441
1453
for endpoint_id in endpoints :
1442
1454
self .server .signal_event (
0 commit comments