From 03676693ceed87582527a0c5bce1cb615779e30a Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Thu, 13 Aug 2020 12:11:58 +0200 Subject: [PATCH] Catch upnp timeout error (#38794) --- homeassistant/components/upnp/__init__.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/upnp/__init__.py b/homeassistant/components/upnp/__init__.py index 98bf3e6f4dd..3a34cb26604 100644 --- a/homeassistant/components/upnp/__init__.py +++ b/homeassistant/components/upnp/__init__.py @@ -1,4 +1,5 @@ """Open ports in your router for Home Assistant and provide statistics.""" +import asyncio from ipaddress import ip_address from operator import itemgetter @@ -106,7 +107,11 @@ async def async_setup_entry(hass: HomeAssistantType, config_entry: ConfigEntry) # discover and construct udn = config_entry.data.get(CONFIG_ENTRY_UDN) st = config_entry.data.get(CONFIG_ENTRY_ST) # pylint: disable=invalid-name - device = await async_discover_and_construct(hass, udn, st) + try: + device = await async_discover_and_construct(hass, udn, st) + except asyncio.TimeoutError: + raise ConfigEntryNotReady + if not device: _LOGGER.info("Unable to create UPnP/IGD, aborting") raise ConfigEntryNotReady