Преглед на файлове

Config flow: catch network errors when scanning

Allow the config to proceed even when local network scan throws an error.

Issue #1951
Jason Rumney преди 1 година
родител
ревизия
8902745a73
променени са 1 файла, в които са добавени 7 реда и са изтрити 3 реда
  1. 7 3
      custom_components/tuya_local/config_flow.py

+ 7 - 3
custom_components/tuya_local/config_flow.py

@@ -372,9 +372,13 @@ class ConfigFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
                 f"Scanning network to get IP address for {self.__cloud_device['id']}."
             )
             self.__cloud_device["ip"] = ""
-            local_device = await self.hass.async_add_executor_job(
-                scan_for_device, self.__cloud_device["id"]
-            )
+            try:
+                local_device = await self.hass.async_add_executor_job(
+                    scan_for_device, self.__cloud_device["id"]
+                )
+            except OSError:
+                local_device = {"ip": None, "version": ""}
+
             if local_device["ip"] is not None:
                 _LOGGER.debug(f"Found: {local_device}")
                 self.__cloud_device["ip"] = local_device["ip"]