Fixed Adding new device manually

This commit is contained in:
rospogrigio
2022-05-30 12:08:20 +02:00
parent f9b88c79a0
commit d7f53ada07

View File

@@ -406,10 +406,12 @@ class LocalTuyaOptionsFlowHandler(config_entries.OptionsFlow):
"""Handle adding a new device."""
# Use cache if available or fallback to manual discovery
self.editing_device = False
self.selected_device = None
errors = {}
if user_input is not None:
if user_input[SELECTED_DEVICE] != CUSTOM_DEVICE:
self.selected_device = user_input[SELECTED_DEVICE]
return await self.async_step_configure_device()
self.discovered_devices = {}
@@ -524,7 +526,13 @@ class LocalTuyaOptionsFlowHandler(config_entries.OptionsFlow):
defaults = self.config_entry.data[CONF_DEVICES][dev_id].copy()
schema = schema_defaults(options_schema(self.entities), **defaults)
placeholders = {"for_device": f" for device `{dev_id}`"}
elif dev_id is not None:
else:
defaults[CONF_PROTOCOL_VERSION] = "3.3"
defaults[CONF_HOST] = ""
defaults[CONF_DEVICE_ID] = ""
defaults[CONF_LOCAL_KEY] = ""
defaults[CONF_FRIENDLY_NAME] = ""
if dev_id is not None:
# Insert default values from discovery and cloud if present
device = self.discovered_devices[dev_id]
defaults[CONF_HOST] = device.get("ip")
@@ -535,8 +543,8 @@ class LocalTuyaOptionsFlowHandler(config_entries.OptionsFlow):
defaults[CONF_LOCAL_KEY] = cloud_devs[dev_id].get(CONF_LOCAL_KEY)
defaults[CONF_FRIENDLY_NAME] = cloud_devs[dev_id].get(CONF_NAME)
schema = schema_defaults(CONFIGURE_DEVICE_SCHEMA, **defaults)
placeholders = {"for_device": ""}
defaults.update(user_input or {})
return self.async_show_form(
step_id="configure_device",