Skip to content
Snippets Groups Projects
Unverified Commit ea12a7c9 authored by Guido Schmitz's avatar Guido Schmitz Committed by GitHub
Browse files

Remove config flow option to set mydevolo URL (#132821)

parent 13a37da9
No related branches found
No related tags found
No related merge requests found
...@@ -18,7 +18,7 @@ from homeassistant.core import Event, HomeAssistant ...@@ -18,7 +18,7 @@ from homeassistant.core import Event, HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
from homeassistant.helpers.device_registry import DeviceEntry from homeassistant.helpers.device_registry import DeviceEntry
from .const import CONF_MYDEVOLO, DEFAULT_MYDEVOLO, GATEWAY_SERIAL_PATTERN, PLATFORMS from .const import GATEWAY_SERIAL_PATTERN, PLATFORMS
type DevoloHomeControlConfigEntry = ConfigEntry[list[HomeControl]] type DevoloHomeControlConfigEntry = ConfigEntry[list[HomeControl]]
...@@ -102,5 +102,4 @@ def configure_mydevolo(conf: dict[str, Any] | MappingProxyType[str, Any]) -> Myd ...@@ -102,5 +102,4 @@ def configure_mydevolo(conf: dict[str, Any] | MappingProxyType[str, Any]) -> Myd
mydevolo = Mydevolo() mydevolo = Mydevolo()
mydevolo.user = conf[CONF_USERNAME] mydevolo.user = conf[CONF_USERNAME]
mydevolo.password = conf[CONF_PASSWORD] mydevolo.password = conf[CONF_PASSWORD]
mydevolo.url = conf.get(CONF_MYDEVOLO, DEFAULT_MYDEVOLO)
return mydevolo return mydevolo
...@@ -18,7 +18,7 @@ from homeassistant.const import CONF_PASSWORD, CONF_USERNAME ...@@ -18,7 +18,7 @@ from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
from homeassistant.core import callback from homeassistant.core import callback
from . import configure_mydevolo from . import configure_mydevolo
from .const import CONF_MYDEVOLO, DEFAULT_MYDEVOLO, DOMAIN, SUPPORTED_MODEL_TYPES from .const import DOMAIN, SUPPORTED_MODEL_TYPES
from .exceptions import CredentialsInvalid, UuidChanged from .exceptions import CredentialsInvalid, UuidChanged
...@@ -35,14 +35,11 @@ class DevoloHomeControlFlowHandler(ConfigFlow, domain=DOMAIN): ...@@ -35,14 +35,11 @@ class DevoloHomeControlFlowHandler(ConfigFlow, domain=DOMAIN):
vol.Required(CONF_USERNAME): str, vol.Required(CONF_USERNAME): str,
vol.Required(CONF_PASSWORD): str, vol.Required(CONF_PASSWORD): str,
} }
self._url = DEFAULT_MYDEVOLO
async def async_step_user( async def async_step_user(
self, user_input: dict[str, Any] | None = None self, user_input: dict[str, Any] | None = None
) -> ConfigFlowResult: ) -> ConfigFlowResult:
"""Handle a flow initiated by the user.""" """Handle a flow initiated by the user."""
if self.show_advanced_options:
self.data_schema[vol.Required(CONF_MYDEVOLO, default=self._url)] = str
if user_input is None: if user_input is None:
return self._show_form(step_id="user") return self._show_form(step_id="user")
try: try:
...@@ -78,7 +75,6 @@ class DevoloHomeControlFlowHandler(ConfigFlow, domain=DOMAIN): ...@@ -78,7 +75,6 @@ class DevoloHomeControlFlowHandler(ConfigFlow, domain=DOMAIN):
) -> ConfigFlowResult: ) -> ConfigFlowResult:
"""Handle reauthentication.""" """Handle reauthentication."""
self._reauth_entry = self._get_reauth_entry() self._reauth_entry = self._get_reauth_entry()
self._url = entry_data[CONF_MYDEVOLO]
self.data_schema = { self.data_schema = {
vol.Required(CONF_USERNAME, default=entry_data[CONF_USERNAME]): str, vol.Required(CONF_USERNAME, default=entry_data[CONF_USERNAME]): str,
vol.Required(CONF_PASSWORD): str, vol.Required(CONF_PASSWORD): str,
...@@ -104,7 +100,6 @@ class DevoloHomeControlFlowHandler(ConfigFlow, domain=DOMAIN): ...@@ -104,7 +100,6 @@ class DevoloHomeControlFlowHandler(ConfigFlow, domain=DOMAIN):
async def _connect_mydevolo(self, user_input: dict[str, Any]) -> ConfigFlowResult: async def _connect_mydevolo(self, user_input: dict[str, Any]) -> ConfigFlowResult:
"""Connect to mydevolo.""" """Connect to mydevolo."""
user_input[CONF_MYDEVOLO] = user_input.get(CONF_MYDEVOLO, self._url)
mydevolo = configure_mydevolo(conf=user_input) mydevolo = configure_mydevolo(conf=user_input)
credentials_valid = await self.hass.async_add_executor_job( credentials_valid = await self.hass.async_add_executor_job(
mydevolo.credentials_valid mydevolo.credentials_valid
...@@ -121,7 +116,6 @@ class DevoloHomeControlFlowHandler(ConfigFlow, domain=DOMAIN): ...@@ -121,7 +116,6 @@ class DevoloHomeControlFlowHandler(ConfigFlow, domain=DOMAIN):
data={ data={
CONF_PASSWORD: mydevolo.password, CONF_PASSWORD: mydevolo.password,
CONF_USERNAME: mydevolo.user, CONF_USERNAME: mydevolo.user,
CONF_MYDEVOLO: mydevolo.url,
}, },
) )
......
...@@ -5,7 +5,6 @@ import re ...@@ -5,7 +5,6 @@ import re
from homeassistant.const import Platform from homeassistant.const import Platform
DOMAIN = "devolo_home_control" DOMAIN = "devolo_home_control"
DEFAULT_MYDEVOLO = "https://www.mydevolo.com"
PLATFORMS = [ PLATFORMS = [
Platform.BINARY_SENSOR, Platform.BINARY_SENSOR,
Platform.CLIMATE, Platform.CLIMATE,
...@@ -15,6 +14,5 @@ PLATFORMS = [ ...@@ -15,6 +14,5 @@ PLATFORMS = [
Platform.SIREN, Platform.SIREN,
Platform.SWITCH, Platform.SWITCH,
] ]
CONF_MYDEVOLO = "mydevolo_url"
GATEWAY_SERIAL_PATTERN = re.compile(r"\d{16}") GATEWAY_SERIAL_PATTERN = re.compile(r"\d{16}")
SUPPORTED_MODEL_TYPES = ["2600", "2601"] SUPPORTED_MODEL_TYPES = ["2600", "2601"]
...@@ -11,7 +11,6 @@ def configure_integration(hass: HomeAssistant) -> MockConfigEntry: ...@@ -11,7 +11,6 @@ def configure_integration(hass: HomeAssistant) -> MockConfigEntry:
config = { config = {
"username": "test-username", "username": "test-username",
"password": "test-password", "password": "test-password",
"mydevolo_url": "https://test_mydevolo_url.test",
} }
entry = MockConfigEntry( entry = MockConfigEntry(
domain=DOMAIN, data=config, entry_id="123456", unique_id="123456" domain=DOMAIN, data=config, entry_id="123456", unique_id="123456"
......
...@@ -33,7 +33,6 @@ ...@@ -33,7 +33,6 @@
]), ]),
'entry': dict({ 'entry': dict({
'data': dict({ 'data': dict({
'mydevolo_url': 'https://test_mydevolo_url.test',
'password': '**REDACTED**', 'password': '**REDACTED**',
'username': '**REDACTED**', 'username': '**REDACTED**',
}), }),
......
...@@ -5,7 +5,7 @@ from unittest.mock import patch ...@@ -5,7 +5,7 @@ from unittest.mock import patch
import pytest import pytest
from homeassistant import config_entries from homeassistant import config_entries
from homeassistant.components.devolo_home_control.const import DEFAULT_MYDEVOLO, DOMAIN from homeassistant.components.devolo_home_control.const import DOMAIN
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.data_entry_flow import FlowResult, FlowResultType from homeassistant.data_entry_flow import FlowResult, FlowResultType
...@@ -90,7 +90,6 @@ async def test_form_advanced_options(hass: HomeAssistant) -> None: ...@@ -90,7 +90,6 @@ async def test_form_advanced_options(hass: HomeAssistant) -> None:
{ {
"username": "test-username", "username": "test-username",
"password": "test-password", "password": "test-password",
"mydevolo_url": "https://test_mydevolo_url.test",
}, },
) )
await hass.async_block_till_done() await hass.async_block_till_done()
...@@ -100,7 +99,6 @@ async def test_form_advanced_options(hass: HomeAssistant) -> None: ...@@ -100,7 +99,6 @@ async def test_form_advanced_options(hass: HomeAssistant) -> None:
assert result2["data"] == { assert result2["data"] == {
"username": "test-username", "username": "test-username",
"password": "test-password", "password": "test-password",
"mydevolo_url": "https://test_mydevolo_url.test",
} }
assert len(mock_setup_entry.mock_calls) == 1 assert len(mock_setup_entry.mock_calls) == 1
...@@ -170,7 +168,6 @@ async def test_form_reauth(hass: HomeAssistant) -> None: ...@@ -170,7 +168,6 @@ async def test_form_reauth(hass: HomeAssistant) -> None:
data={ data={
"username": "test-username", "username": "test-username",
"password": "test-password", "password": "test-password",
"mydevolo_url": "https://test_mydevolo_url.test",
}, },
) )
mock_config.add_to_hass(hass) mock_config.add_to_hass(hass)
...@@ -207,7 +204,6 @@ async def test_form_invalid_credentials_reauth(hass: HomeAssistant) -> None: ...@@ -207,7 +204,6 @@ async def test_form_invalid_credentials_reauth(hass: HomeAssistant) -> None:
data={ data={
"username": "test-username", "username": "test-username",
"password": "test-password", "password": "test-password",
"mydevolo_url": "https://test_mydevolo_url.test",
}, },
) )
mock_config.add_to_hass(hass) mock_config.add_to_hass(hass)
...@@ -229,7 +225,6 @@ async def test_form_uuid_change_reauth(hass: HomeAssistant) -> None: ...@@ -229,7 +225,6 @@ async def test_form_uuid_change_reauth(hass: HomeAssistant) -> None:
data={ data={
"username": "test-username", "username": "test-username",
"password": "test-password", "password": "test-password",
"mydevolo_url": "https://test_mydevolo_url.test",
}, },
) )
mock_config.add_to_hass(hass) mock_config.add_to_hass(hass)
...@@ -281,7 +276,6 @@ async def _setup(hass: HomeAssistant, result: FlowResult) -> None: ...@@ -281,7 +276,6 @@ async def _setup(hass: HomeAssistant, result: FlowResult) -> None:
assert result2["data"] == { assert result2["data"] == {
"username": "test-username", "username": "test-username",
"password": "test-password", "password": "test-password",
"mydevolo_url": DEFAULT_MYDEVOLO,
} }
assert len(mock_setup_entry.mock_calls) == 1 assert len(mock_setup_entry.mock_calls) == 1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment