1717from bellows .exception import ControllerError , EzspError
1818import bellows .ezsp as ezsp
1919from bellows .ezsp .v9 .commands import GetTokenDataRsp
20- from bellows .ezsp .xncp import FirmwareFeatures
20+ from bellows .ezsp .xncp import FirmwareFeatures , FlowControlType
2121import bellows .types
2222import bellows .types as t
2323import bellows .types .struct
@@ -1874,7 +1874,7 @@ def zigpy_backup() -> zigpy.backups.NetworkBackup:
18741874 metadata = {
18751875 "ezsp" : {
18761876 "stack_version" : 8 ,
1877- "flow_control" : None ,
1877+ "flow_control" : "hardware" ,
18781878 "can_burn_userdata_custom_eui64" : True ,
18791879 "can_rewrite_custom_eui64" : True ,
18801880 }
@@ -1890,6 +1890,24 @@ async def test_load_network_info(
18901890) -> None :
18911891 await app .load_network_info (load_devices = True )
18921892
1893+ zigpy_backup .network_info .metadata ["ezsp" ]["flow_control" ] = None
1894+
1895+ assert app .state .node_info == zigpy_backup .node_info
1896+ assert app .state .network_info == zigpy_backup .network_info
1897+
1898+
1899+ async def test_load_network_info_xncp_flow_control (
1900+ app : ControllerApplication ,
1901+ ieee : zigpy_t .EUI64 ,
1902+ zigpy_backup : zigpy .backups .NetworkBackup ,
1903+ ) -> None :
1904+ app ._ezsp ._xncp_features |= FirmwareFeatures .FLOW_CONTROL_TYPE
1905+ app ._ezsp .xncp_get_flow_control_type = AsyncMock (
1906+ return_value = FlowControlType .HARDWARE
1907+ )
1908+
1909+ await app .load_network_info (load_devices = True )
1910+
18931911 assert app .state .node_info == zigpy_backup .node_info
18941912 assert app .state .network_info == zigpy_backup .network_info
18951913
0 commit comments