From d182bae1125f97917f00db4d16828d4752451114 Mon Sep 17 00:00:00 2001
From: "J. Nick Koston" <nick@koston.org>
Date: Fri, 29 Oct 2021 12:29:02 -0500
Subject: [PATCH] Avoid doorbird device probe during discovery for known
 devices (#58701)

---
 homeassistant/components/doorbird/config_flow.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/homeassistant/components/doorbird/config_flow.py b/homeassistant/components/doorbird/config_flow.py
index 4c62fab17ef..01fcc2b2c22 100644
--- a/homeassistant/components/doorbird/config_flow.py
+++ b/homeassistant/components/doorbird/config_flow.py
@@ -99,13 +99,15 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
             return self.async_abort(reason="not_doorbird_device")
         if is_link_local(ip_address(host)):
             return self.async_abort(reason="link_local_address")
-        if not await async_verify_supported_device(self.hass, host):
-            return self.async_abort(reason="not_doorbird_device")
 
         await self.async_set_unique_id(macaddress)
-
         self._abort_if_unique_id_configured(updates={CONF_HOST: host})
 
+        self._async_abort_entries_match({CONF_HOST: host})
+
+        if not await async_verify_supported_device(self.hass, host):
+            return self.async_abort(reason="not_doorbird_device")
+
         chop_ending = "._axis-video._tcp.local."
         friendly_hostname = discovery_info["name"]
         if friendly_hostname.endswith(chop_ending):
-- 
GitLab