diff --git a/homeassistant/components/solaredge/config_flow.py b/homeassistant/components/solaredge/config_flow.py index 60ab4864041..2565343518f 100644 --- a/homeassistant/components/solaredge/config_flow.py +++ b/homeassistant/components/solaredge/config_flow.py @@ -133,8 +133,11 @@ class SolarEdgeConfigFlow(ConfigFlow, domain=DOMAIN): if api_key_ok and web_login_ok: data = {CONF_SITE_ID: site_id} - data.update(api_auth) - data.update(web_auth) + if api_key: + data[CONF_API_KEY] = api_key + if username: + data[CONF_USERNAME] = username + data[CONF_PASSWORD] = web_auth[CONF_PASSWORD] if self.source == SOURCE_RECONFIGURE: if TYPE_CHECKING: diff --git a/tests/components/solaredge/test_config_flow.py b/tests/components/solaredge/test_config_flow.py index 4ae6422d87e..76b1ca62fe2 100644 --- a/tests/components/solaredge/test_config_flow.py +++ b/tests/components/solaredge/test_config_flow.py @@ -54,6 +54,10 @@ async def test_user_api_key( CONF_NAME: NAME, CONF_SITE_ID: SITE_ID, CONF_SECTION_API_AUTH: {CONF_API_KEY: API_KEY}, + CONF_SECTION_WEB_AUTH: { + CONF_USERNAME: "", + CONF_PASSWORD: "", + }, }, ) assert result.get("type") is FlowResultType.CREATE_ENTRY @@ -85,6 +89,7 @@ async def test_user_web_login( { CONF_NAME: NAME, CONF_SITE_ID: SITE_ID, + CONF_SECTION_API_AUTH: {CONF_API_KEY: ""}, CONF_SECTION_WEB_AUTH: { CONF_USERNAME: USERNAME, CONF_PASSWORD: PASSWORD,