diff --git a/homeassistant/components/devolo_home_control/__init__.py b/homeassistant/components/devolo_home_control/__init__.py index c955bf77096..ba180fd6ea4 100644 --- a/homeassistant/components/devolo_home_control/__init__.py +++ b/homeassistant/components/devolo_home_control/__init__.py @@ -4,7 +4,7 @@ from functools import partial from devolo_home_control_api.homecontrol import HomeControl from devolo_home_control_api.mydevolo import Mydevolo -from homeassistant.components import switch as ha_switch +from homeassistant.components import zeroconf from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, EVENT_HOMEASSISTANT_STOP from homeassistant.exceptions import ConfigEntryNotReady @@ -12,8 +12,6 @@ from homeassistant.helpers.typing import HomeAssistantType from .const import CONF_HOMECONTROL, CONF_MYDEVOLO, DOMAIN, PLATFORMS -SUPPORTED_PLATFORMS = [ha_switch.DOMAIN] - async def async_setup(hass, config): """Get all devices and add them to hass.""" @@ -32,7 +30,6 @@ async def async_setup_entry(hass: HomeAssistantType, entry: ConfigEntry) -> bool mydevolo.user = conf[CONF_USERNAME] mydevolo.password = conf[CONF_PASSWORD] mydevolo.url = conf[CONF_MYDEVOLO] - mydevolo.mprm = conf[CONF_HOMECONTROL] credentials_valid = await hass.async_add_executor_job(mydevolo.credentials_valid) @@ -44,11 +41,16 @@ async def async_setup_entry(hass: HomeAssistantType, entry: ConfigEntry) -> bool gateway_ids = await hass.async_add_executor_job(mydevolo.get_gateway_ids) gateway_id = gateway_ids[0] - mprm_url = mydevolo.mprm try: + zeroconf_instance = await zeroconf.async_get_instance(hass) hass.data[DOMAIN]["homecontrol"] = await hass.async_add_executor_job( - partial(HomeControl, gateway_id=gateway_id, url=mprm_url) + partial( + HomeControl, + gateway_id=gateway_id, + zeroconf_instance=zeroconf_instance, + url=conf[CONF_HOMECONTROL], + ) ) except ConnectionError as err: raise ConfigEntryNotReady from err diff --git a/homeassistant/components/devolo_home_control/config_flow.py b/homeassistant/components/devolo_home_control/config_flow.py index ee11257369b..cde55ebb4bf 100644 --- a/homeassistant/components/devolo_home_control/config_flow.py +++ b/homeassistant/components/devolo_home_control/config_flow.py @@ -53,10 +53,10 @@ class DevoloHomeControlFlowHandler(config_entries.ConfigFlow, domain=DOMAIN): mydevolo.password = password if self.show_advanced_options: mydevolo.url = user_input[CONF_MYDEVOLO] - mydevolo.mprm = user_input[CONF_HOMECONTROL] + mprm = user_input[CONF_HOMECONTROL] else: mydevolo.url = DEFAULT_MYDEVOLO - mydevolo.mprm = DEFAULT_MPRM + mprm = DEFAULT_MPRM credentials_valid = await self.hass.async_add_executor_job( mydevolo.credentials_valid ) @@ -73,7 +73,7 @@ class DevoloHomeControlFlowHandler(config_entries.ConfigFlow, domain=DOMAIN): CONF_PASSWORD: password, CONF_USERNAME: user, CONF_MYDEVOLO: mydevolo.url, - CONF_HOMECONTROL: mydevolo.mprm, + CONF_HOMECONTROL: mprm, }, ) diff --git a/homeassistant/components/devolo_home_control/manifest.json b/homeassistant/components/devolo_home_control/manifest.json index d7bc4804ef2..359fc76b4f8 100644 --- a/homeassistant/components/devolo_home_control/manifest.json +++ b/homeassistant/components/devolo_home_control/manifest.json @@ -3,6 +3,7 @@ "name": "devolo Home Control", "documentation": "https://www.home-assistant.io/integrations/devolo_home_control", "requirements": ["devolo-home-control-api==0.15.0"], + "after_dependencies": ["zeroconf"], "config_flow": true, "codeowners": ["@2Fake", "@Shutgun"], "quality_scale": "silver"