diff --git a/homeassistant/components/zha/manifest.json b/homeassistant/components/zha/manifest.json
index 5df8cddc1672c8cbbb4e5bf5b544a7ab5bdac054..93d9816d339e4fce105118899be0eca057c199c8 100644
--- a/homeassistant/components/zha/manifest.json
+++ b/homeassistant/components/zha/manifest.json
@@ -16,10 +16,10 @@
     "zigpy-znp==0.5.3"
   ],
   "usb": [
-   {"vid":"10C4","pid":"EA60"},
-   {"vid":"1CF1","pid":"0030"},
-   {"vid":"1A86","pid":"7523"},
-   {"vid":"10C4","pid":"8A2A"}
+   {"vid":"10C4","pid":"EA60","known_devices":["slae.sh cc2652rb stick"]},
+   {"vid":"1CF1","pid":"0030","known_devices":["Conbee II"]},
+   {"vid":"1A86","pid":"7523","known_devices":["Electrolama zig-a-zig-ah"]},
+   {"vid":"10C4","pid":"8A2A","known_devices":["Nortek HUSBZB-1"]}
   ],
   "codeowners": ["@dmulcahey", "@adminiuga"],
   "zeroconf": [
diff --git a/homeassistant/components/zwave_js/manifest.json b/homeassistant/components/zwave_js/manifest.json
index 5c2d1f0db81ab39ed833e68d0576153e4d7c7402..23a1546a42149ea1a6c1276755869ebb4497f487 100644
--- a/homeassistant/components/zwave_js/manifest.json
+++ b/homeassistant/components/zwave_js/manifest.json
@@ -8,8 +8,8 @@
   "dependencies": ["usb", "http", "websocket_api"],
   "iot_class": "local_push",
   "usb": [
-   {"vid":"0658","pid":"0200"},
-   {"vid":"10C4","pid":"8A2A"},
-   {"vid":"10C4","pid":"EA60"}
+   {"vid":"0658","pid":"0200","known_devices":["Aeotec Z-Stick Gen5+", "Z-WaveMe UZB"]},
+   {"vid":"10C4","pid":"8A2A","known_devices":["Nortek HUSBZB-1"]},
+   {"vid":"10C4","pid":"EA60","known_devices":["Aeotec Z-Stick 7", "Silicon Labs UZB-7", "Zooz ZST10 700"]}
   ]
 }
diff --git a/homeassistant/loader.py b/homeassistant/loader.py
index 57244d9ec7b94e6edeeab5020accf4f90c5603cd..e186c5d24ba34a10f1e2726f8bba92396b7746ea 100644
--- a/homeassistant/loader.py
+++ b/homeassistant/loader.py
@@ -230,7 +230,12 @@ async def async_get_usb(hass: HomeAssistant) -> list[dict[str, str]]:
         if not integration.usb:
             continue
         for entry in integration.usb:
-            usb.append({"domain": integration.domain, **entry})
+            usb.append(
+                {
+                    "domain": integration.domain,
+                    **{k: v for k, v in entry.items() if k != "known_devices"},
+                }
+            )
 
     return usb
 
diff --git a/script/hassfest/manifest.py b/script/hassfest/manifest.py
index acb2a999fe35456e205ac1813c76abe51ab5adf3..8c9776ed7c9e06007aefe003f6be9184220456f9 100644
--- a/script/hassfest/manifest.py
+++ b/script/hassfest/manifest.py
@@ -210,6 +210,7 @@ MANIFEST_SCHEMA = vol.Schema(
                 {
                     vol.Optional("vid"): vol.All(str, verify_uppercase),
                     vol.Optional("pid"): vol.All(str, verify_uppercase),
+                    vol.Optional("known_devices"): [str],
                 }
             )
         ],
diff --git a/script/hassfest/usb.py b/script/hassfest/usb.py
index 49da04ee03f3185e8ca1616ce7b2aa8e64691a7b..6377fdcb8af3309a4981008a3cb35d70adbe5c91 100644
--- a/script/hassfest/usb.py
+++ b/script/hassfest/usb.py
@@ -33,7 +33,12 @@ def generate_and_validate(integrations: list[dict[str, str]]) -> str:
             continue
 
         for entry in match_types:
-            match_list.append({"domain": domain, **entry})
+            match_list.append(
+                {
+                    "domain": domain,
+                    **{k: v for k, v in entry.items() if k != "known_devices"},
+                }
+            )
 
     return BASE.format(json.dumps(match_list, indent=4))
 
diff --git a/tests/test_loader.py b/tests/test_loader.py
index 2c5eb91d0fbb4ad4808aa38166f5231ee369a4a8..9786c9fdcfb9945d5063a4597fb1c7a9b71004cb 100644
--- a/tests/test_loader.py
+++ b/tests/test_loader.py
@@ -369,10 +369,18 @@ def _get_test_integration_with_usb_matcher(hass, name, config_flow):
             "dependencies": [],
             "requirements": [],
             "usb": [
-                {"vid": "10C4", "pid": "EA60"},
-                {"vid": "1CF1", "pid": "0030"},
-                {"vid": "1A86", "pid": "7523"},
-                {"vid": "10C4", "pid": "8A2A"},
+                {
+                    "vid": "10C4",
+                    "pid": "EA60",
+                    "known_devices": ["slae.sh cc2652rb stick"],
+                },
+                {"vid": "1CF1", "pid": "0030", "known_devices": ["Conbee II"]},
+                {
+                    "vid": "1A86",
+                    "pid": "7523",
+                    "known_devices": ["Electrolama zig-a-zig-ah"],
+                },
+                {"vid": "10C4", "pid": "8A2A", "known_devices": ["Nortek HUSBZB-1"]},
             ],
         },
     )