diff --git a/homeassistant/components/ezviz/config_flow.py b/homeassistant/components/ezviz/config_flow.py index 66425c675cc..28ea9a14fa5 100644 --- a/homeassistant/components/ezviz/config_flow.py +++ b/homeassistant/components/ezviz/config_flow.py @@ -93,6 +93,10 @@ class EzvizConfigFlow(ConfigFlow, domain=DOMAIN): VERSION = 1 + ip_address: str + username: str | None + password: str | None + async def _validate_and_create_camera_rtsp(self, data: dict) -> ConfigFlowResult: """Try DESCRIBE on RTSP camera with credentials.""" @@ -166,10 +170,8 @@ class EzvizConfigFlow(ConfigFlow, domain=DOMAIN): self._abort_if_unique_id_configured() if user_input[CONF_URL] == CONF_CUSTOMIZE: - self.context["data"] = { - CONF_USERNAME: user_input[CONF_USERNAME], - CONF_PASSWORD: user_input[CONF_PASSWORD], - } + self.username = user_input[CONF_USERNAME] + self.password = user_input[CONF_PASSWORD] return await self.async_step_user_custom_url() try: @@ -222,8 +224,8 @@ class EzvizConfigFlow(ConfigFlow, domain=DOMAIN): auth_data = {} if user_input is not None: - user_input[CONF_USERNAME] = self.context["data"][CONF_USERNAME] - user_input[CONF_PASSWORD] = self.context["data"][CONF_PASSWORD] + user_input[CONF_USERNAME] = self.username + user_input[CONF_PASSWORD] = self.password try: auth_data = await self.hass.async_add_executor_job( @@ -272,7 +274,7 @@ class EzvizConfigFlow(ConfigFlow, domain=DOMAIN): self._abort_if_unique_id_configured() self.context["title_placeholders"] = {ATTR_SERIAL: self.unique_id} - self.context["data"] = {CONF_IP_ADDRESS: discovery_info[CONF_IP_ADDRESS]} + self.ip_address = discovery_info[CONF_IP_ADDRESS] return await self.async_step_confirm() @@ -284,7 +286,7 @@ class EzvizConfigFlow(ConfigFlow, domain=DOMAIN): if user_input is not None: user_input[ATTR_SERIAL] = self.unique_id - user_input[CONF_IP_ADDRESS] = self.context["data"][CONF_IP_ADDRESS] + user_input[CONF_IP_ADDRESS] = self.ip_address try: return await self._validate_and_create_camera_rtsp(user_input) @@ -314,7 +316,7 @@ class EzvizConfigFlow(ConfigFlow, domain=DOMAIN): errors=errors, description_placeholders={ ATTR_SERIAL: self.unique_id, - CONF_IP_ADDRESS: self.context["data"][CONF_IP_ADDRESS], + CONF_IP_ADDRESS: self.ip_address, }, )