@@ -345,7 +345,7 @@ async def commission_with_code(
345345 retries = 3
346346 while retries :
347347 try :
348- await self .interview_node (node_id )
348+ await self ._interview_node (node_id )
349349 except (NodeNotResolving , NodeInterviewFailed ) as err :
350350 if retries <= 0 :
351351 raise err
@@ -425,7 +425,7 @@ async def commission_on_network(
425425 retries = 3
426426 while retries :
427427 try :
428- await self .interview_node (node_id )
428+ await self ._interview_node (node_id )
429429 except NodeInterviewFailed as err :
430430 if retries <= 0 :
431431 raise err
@@ -567,17 +567,7 @@ async def discover_commissionable_nodes(
567567 for x in sdk_result
568568 ]
569569
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 :
581571 try :
582572 LOGGER .info ("Interviewing node: %s" , node_id )
583573 read_response : Attribute .AsyncReadTransaction .ReadResponse = (
@@ -622,6 +612,28 @@ async def interview_node(self, node_id: int) -> None:
622612
623613 LOGGER .debug ("Interview of node %s completed" , node_id )
624614
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+
625637 @api_command (APICommand .DEVICE_COMMAND )
626638 async def send_device_command (
627639 self ,
@@ -1114,7 +1126,7 @@ def attribute_updated_callback(
11141126 and new_value != old_value
11151127 ):
11161128 # 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 ))
11181130
11191131 # store updated value in node attributes
11201132 node .attributes [str (path )] = new_value
@@ -1346,7 +1358,7 @@ async def _setup_node_try_once(
13461358 or node_data .interview_version != DATA_MODEL_SCHEMA_VERSION
13471359 ):
13481360 try :
1349- await self .interview_node (node_id )
1361+ await self ._interview_node (node_id )
13501362 except NodeInterviewFailed as err :
13511363 node_logger .warning (
13521364 "Setup for node failed: %s" ,
@@ -1436,7 +1448,7 @@ async def _handle_endpoints_added(
14361448 ) -> None :
14371449 """Handle callback for when bridge endpoint(s) get added."""
14381450 # we simply do a full interview of the node
1439- await self .interview_node (node_id )
1451+ await self ._interview_node (node_id )
14401452 # signal event to consumers
14411453 for endpoint_id in endpoints :
14421454 self .server .signal_event (
0 commit comments