From bd46a6130a896fa86ff1a86243fd030378f933e0 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sun, 19 Apr 2020 15:42:30 -0700 Subject: [PATCH] Prevent Synology Camera doing I/O in event loop (#34442) --- homeassistant/components/synology/camera.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/homeassistant/components/synology/camera.py b/homeassistant/components/synology/camera.py index c144a251608..5a619c821dc 100644 --- a/homeassistant/components/synology/camera.py +++ b/homeassistant/components/synology/camera.py @@ -1,4 +1,5 @@ """Support for Synology Surveillance Station Cameras.""" +from functools import partial import logging import requests @@ -45,12 +46,15 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info= timeout = config.get(CONF_TIMEOUT) try: - surveillance = SurveillanceStation( - config.get(CONF_URL), - config.get(CONF_USERNAME), - config.get(CONF_PASSWORD), - verify_ssl=verify_ssl, - timeout=timeout, + surveillance = await hass.async_add_executor_job( + partial( + SurveillanceStation, + config.get(CONF_URL), + config.get(CONF_USERNAME), + config.get(CONF_PASSWORD), + verify_ssl=verify_ssl, + timeout=timeout, + ) ) except (requests.exceptions.RequestException, ValueError): _LOGGER.exception("Error when initializing SurveillanceStation")