@@ -4944,6 +4944,51 @@ async def test_get_usb_ports_single_valid_port() -> None:
49444944        ]
49454945
49464946
4947+ async  def  test_get_usb_ports_ignored_devices () ->  None :
4948+     """Test that get_usb_ports filters out ignored non-Z-Wave devices.""" 
4949+     mock_ports  =  [
4950+         ListPortInfo ("/dev/ttyUSB0" ),
4951+         ListPortInfo ("/dev/ttyUSB1" ),
4952+         ListPortInfo ("/dev/ttyUSB2" ),
4953+         ListPortInfo ("/dev/ttyUSB3" ),
4954+         ListPortInfo ("/dev/ttyUSB4" ),
4955+         ListPortInfo ("/dev/ttyUSB5" ),
4956+     ]
4957+     # ZBT-2, should be filtered 
4958+     mock_ports [0 ].manufacturer  =  "Nabu Casa" 
4959+     mock_ports [0 ].description  =  "ZBT-2" 
4960+ 
4961+     # ZBT-1, should be filtered 
4962+     mock_ports [2 ].manufacturer  =  "Nabu Casa" 
4963+     mock_ports [2 ].description  =  "Home Assistant Connect ZBT-1" 
4964+ 
4965+     # SkyConnect, should be filtered 
4966+     mock_ports [1 ].manufacturer  =  "Nabu Casa" 
4967+     mock_ports [1 ].description  =  "SkyConnect v1.0" 
4968+ 
4969+     # ZWA-2, should be shown 
4970+     mock_ports [3 ].manufacturer  =  "Nabu Casa" 
4971+     mock_ports [3 ].description  =  "ZWA-2" 
4972+ 
4973+     # unknown device with manufacturer/description, should be shown 
4974+     mock_ports [4 ].manufacturer  =  "Another Manufacturer" 
4975+     mock_ports [4 ].description  =  "Z-Wave USB Adapter" 
4976+ 
4977+     # unknown device with no manufacturer/description, should be shown 
4978+     mock_ports [5 ].manufacturer  =  None 
4979+     mock_ports [5 ].description  =  None 
4980+ 
4981+     with  patch ("serial.tools.list_ports.comports" , return_value = mock_ports ):
4982+         result  =  get_usb_ports ()
4983+         descriptions  =  list (result .values ())
4984+ 
4985+         assert  descriptions  ==  [
4986+             "ZWA-2 - /dev/ttyUSB3, s/n: n/a - Nabu Casa" ,
4987+             "Z-Wave USB Adapter - /dev/ttyUSB4, s/n: n/a - Another Manufacturer" ,
4988+             "/dev/ttyUSB5, s/n: n/a" ,
4989+         ]
4990+ 
4991+ 
49474992@pytest .mark .usefixtures ("supervisor" , "addon_not_installed" , "addon_info" ) 
49484993async  def  test_intent_recommended_user (
49494994    hass : HomeAssistant ,
0 commit comments