From 185af1b42a72fdba6ce7419c46278b6ccb8b1ff1 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 4 Jun 2019 11:04:02 -0700 Subject: [PATCH] Run SSDP discovery in parallel (#24299) --- homeassistant/components/ssdp/__init__.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/ssdp/__init__.py b/homeassistant/components/ssdp/__init__.py index e250b9c16fb..79c9cd94871 100644 --- a/homeassistant/components/ssdp/__init__.py +++ b/homeassistant/components/ssdp/__init__.py @@ -86,13 +86,16 @@ class Scanner: if not to_load: return - for entry, info, domains in to_load: + tasks = [] + for entry, info, domains in to_load: for domain in domains: _LOGGER.debug("Discovered %s at %s", domain, entry.location) - await self.hass.config_entries.flow.async_init( + tasks.append(self.hass.config_entries.flow.async_init( domain, context={'source': DOMAIN}, data=info - ) + )) + + await asyncio.wait(tasks) async def _process_entry(self, entry): """Process a single entry."""