diff --git a/homeassistant/components/control4/config_flow.py b/homeassistant/components/control4/config_flow.py index d13fe31601feb3f1dd672850ccdf189c0e7e43d4..660d265758f2606748d1b74a77816d6c9c4a5356 100644 --- a/homeassistant/components/control4/config_flow.py +++ b/homeassistant/components/control4/config_flow.py @@ -16,6 +16,7 @@ from homeassistant.const import ( CONF_USERNAME, ) from homeassistant.core import callback +from homeassistant.data_entry_flow import STEP_ID_INIT, STEP_ID_USER from homeassistant.helpers import aiohttp_client, config_validation as cv from homeassistant.helpers.device_registry import format_mac @@ -96,9 +97,9 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): if user_input is not None: hub = Control4Validator( - user_input["host"], - user_input["username"], - user_input["password"], + user_input[CONF_HOST], + user_input[CONF_USERNAME], + user_input[CONF_PASSWORD], self.hass, ) try: @@ -123,15 +124,15 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): return self.async_create_entry( title=controller_unique_id, data={ - CONF_HOST: user_input["host"], - CONF_USERNAME: user_input["username"], - CONF_PASSWORD: user_input["password"], + CONF_HOST: user_input[CONF_HOST], + CONF_USERNAME: user_input[CONF_USERNAME], + CONF_PASSWORD: user_input[CONF_PASSWORD], CONF_CONTROLLER_UNIQUE_ID: controller_unique_id, }, ) return self.async_show_form( - step_id="user", data_schema=DATA_SCHEMA, errors=errors + step_id=STEP_ID_USER, data_schema=DATA_SCHEMA, errors=errors ) @staticmethod @@ -163,7 +164,7 @@ class OptionsFlowHandler(config_entries.OptionsFlow): ): vol.All(cv.positive_int, vol.Clamp(min=MIN_SCAN_INTERVAL)), } ) - return self.async_show_form(step_id="init", data_schema=data_schema) + return self.async_show_form(step_id=STEP_ID_INIT, data_schema=data_schema) class CannotConnect(exceptions.HomeAssistantError): diff --git a/homeassistant/data_entry_flow.py b/homeassistant/data_entry_flow.py index b5a35929459f29991fced2c04fbf3309364a7544..83135373b9b31f70d15b31b5408e17480fd37592 100644 --- a/homeassistant/data_entry_flow.py +++ b/homeassistant/data_entry_flow.py @@ -21,6 +21,7 @@ RESULT_TYPE_EXTERNAL_STEP_DONE = "external_done" RESULT_TYPE_SHOW_PROGRESS = "progress" RESULT_TYPE_SHOW_PROGRESS_DONE = "progress_done" +STEP_ID_INIT: Final = "init" STEP_ID_USER: Final = "user" # Event that is fired when a flow is progressed via external or progress source. diff --git a/tests/components/control4/test_config_flow.py b/tests/components/control4/test_config_flow.py index 8a4791ab5791a0e68f92db3344a3a9a3dcc87b38..1ae69dbe36d7bb4d6eb8e5c198770d3964802b13 100644 --- a/tests/components/control4/test_config_flow.py +++ b/tests/components/control4/test_config_flow.py @@ -14,6 +14,7 @@ from homeassistant.const import ( CONF_SCAN_INTERVAL, CONF_USERNAME, ) +from homeassistant.data_entry_flow import STEP_ID_INIT from tests.common import MockConfigEntry @@ -166,7 +167,7 @@ async def test_option_flow(hass): result = await hass.config_entries.options.async_init(entry.entry_id) assert result["type"] == "form" - assert result["step_id"] == "init" + assert result["step_id"] == STEP_ID_INIT result = await hass.config_entries.options.async_configure( result["flow_id"], @@ -186,7 +187,7 @@ async def test_option_flow_defaults(hass): result = await hass.config_entries.options.async_init(entry.entry_id) assert result["type"] == "form" - assert result["step_id"] == "init" + assert result["step_id"] == STEP_ID_INIT result = await hass.config_entries.options.async_configure( result["flow_id"], user_input={}