diff --git a/homeassistant/components/adguard/__init__.py b/homeassistant/components/adguard/__init__.py index 84e86bfcaba..71dff2ab6ee 100644 --- a/homeassistant/components/adguard/__init__.py +++ b/homeassistant/components/adguard/__init__.py @@ -1,5 +1,4 @@ """Support for AdGuard Home.""" -from distutils.version import LooseVersion import logging from typing import Any, Dict @@ -11,7 +10,6 @@ from homeassistant.components.adguard.const import ( DATA_ADGUARD_CLIENT, DATA_ADGUARD_VERION, DOMAIN, - MIN_ADGUARD_HOME_VERSION, SERVICE_ADD_URL, SERVICE_DISABLE_URL, SERVICE_ENABLE_URL, @@ -67,16 +65,10 @@ async def async_setup_entry(hass: HomeAssistantType, entry: ConfigEntry) -> bool hass.data.setdefault(DOMAIN, {})[DATA_ADGUARD_CLIENT] = adguard try: - version = await adguard.version() + await adguard.version() except AdGuardHomeConnectionError as exception: raise ConfigEntryNotReady from exception - if version and LooseVersion(MIN_ADGUARD_HOME_VERSION) > LooseVersion(version): - _LOGGER.error( - "This integration requires AdGuard Home v0.99.0 or higher to work correctly" - ) - raise ConfigEntryNotReady - for component in "sensor", "switch": hass.async_create_task( hass.config_entries.async_forward_entry_setup(entry, component) diff --git a/homeassistant/components/adguard/config_flow.py b/homeassistant/components/adguard/config_flow.py index ede01706c5d..a0ace623862 100644 --- a/homeassistant/components/adguard/config_flow.py +++ b/homeassistant/components/adguard/config_flow.py @@ -1,12 +1,11 @@ """Config flow to configure the AdGuard Home integration.""" -from distutils.version import LooseVersion import logging from adguardhome import AdGuardHome, AdGuardHomeConnectionError import voluptuous as vol from homeassistant import config_entries -from homeassistant.components.adguard.const import DOMAIN, MIN_ADGUARD_HOME_VERSION +from homeassistant.components.adguard.const import DOMAIN from homeassistant.config_entries import ConfigFlow from homeassistant.const import ( CONF_HOST, @@ -79,20 +78,11 @@ class AdGuardHomeFlowHandler(ConfigFlow): ) try: - version = await adguard.version() + await adguard.version() except AdGuardHomeConnectionError: errors["base"] = "connection_error" return await self._show_setup_form(errors) - if version and LooseVersion(MIN_ADGUARD_HOME_VERSION) > LooseVersion(version): - return self.async_abort( - reason="adguard_home_outdated", - description_placeholders={ - "current_version": version, - "minimal_version": MIN_ADGUARD_HOME_VERSION, - }, - ) - return self.async_create_entry( title=user_input[CONF_HOST], data={ @@ -160,20 +150,11 @@ class AdGuardHomeFlowHandler(ConfigFlow): ) try: - version = await adguard.version() + await adguard.version() except AdGuardHomeConnectionError: errors["base"] = "connection_error" return await self._show_hassio_form(errors) - if LooseVersion(MIN_ADGUARD_HOME_VERSION) > LooseVersion(version): - return self.async_abort( - reason="adguard_home_addon_outdated", - description_placeholders={ - "current_version": version, - "minimal_version": MIN_ADGUARD_HOME_VERSION, - }, - ) - return self.async_create_entry( title=self._hassio_discovery["addon"], data={ diff --git a/homeassistant/components/adguard/const.py b/homeassistant/components/adguard/const.py index eb12a9c163f..c77d76a70cf 100644 --- a/homeassistant/components/adguard/const.py +++ b/homeassistant/components/adguard/const.py @@ -7,8 +7,6 @@ DATA_ADGUARD_VERION = "adguard_version" CONF_FORCE = "force" -MIN_ADGUARD_HOME_VERSION = "v0.99.0" - SERVICE_ADD_URL = "add_url" SERVICE_DISABLE_URL = "disable_url" SERVICE_ENABLE_URL = "enable_url" diff --git a/homeassistant/components/adguard/strings.json b/homeassistant/components/adguard/strings.json index f5f780c70b5..f010f9e2ade 100644 --- a/homeassistant/components/adguard/strings.json +++ b/homeassistant/components/adguard/strings.json @@ -19,8 +19,6 @@ }, "error": { "connection_error": "Failed to connect." }, "abort": { - "adguard_home_outdated": "This integration requires AdGuard Home {minimal_version} or higher, you have {current_version}.", - "adguard_home_addon_outdated": "This integration requires AdGuard Home {minimal_version} or higher, you have {current_version}. Please update your Hass.io AdGuard Home add-on.", "existing_instance_updated": "Updated existing configuration.", "single_instance_allowed": "Only a single configuration of AdGuard Home is allowed." } diff --git a/tests/components/adguard/test_config_flow.py b/tests/components/adguard/test_config_flow.py index d0e874bacdc..69e1285889b 100644 --- a/tests/components/adguard/test_config_flow.py +++ b/tests/components/adguard/test_config_flow.py @@ -4,7 +4,7 @@ import aiohttp from homeassistant import config_entries, data_entry_flow from homeassistant.components.adguard import config_flow -from homeassistant.components.adguard.const import DOMAIN, MIN_ADGUARD_HOME_VERSION +from homeassistant.components.adguard.const import DOMAIN from homeassistant.const import ( CONF_HOST, CONF_PASSWORD, @@ -229,52 +229,3 @@ async def test_hassio_connection_error(hass, aioclient_mock): assert result["type"] == data_entry_flow.RESULT_TYPE_FORM assert result["step_id"] == "hassio_confirm" assert result["errors"] == {"base": "connection_error"} - - -async def test_outdated_adguard_version(hass, aioclient_mock): - """Test we show abort when connecting with unsupported AdGuard version.""" - aioclient_mock.get( - f"{'https' if FIXTURE_USER_INPUT[CONF_SSL] else 'http'}" - f"://{FIXTURE_USER_INPUT[CONF_HOST]}" - f":{FIXTURE_USER_INPUT[CONF_PORT]}/control/status", - json={"version": "v0.98.0"}, - headers={"Content-Type": "application/json"}, - ) - - flow = config_flow.AdGuardHomeFlowHandler() - flow.hass = hass - result = await flow.async_step_user(user_input=None) - assert result["type"] == data_entry_flow.RESULT_TYPE_FORM - assert result["step_id"] == "user" - - result = await flow.async_step_user(user_input=FIXTURE_USER_INPUT) - assert result["type"] == data_entry_flow.RESULT_TYPE_ABORT - assert result["reason"] == "adguard_home_outdated" - assert result["description_placeholders"] == { - "current_version": "v0.98.0", - "minimal_version": MIN_ADGUARD_HOME_VERSION, - } - - -async def test_outdated_adguard_addon_version(hass, aioclient_mock): - """Test we show abort when connecting with unsupported AdGuard add-on version.""" - aioclient_mock.get( - "http://mock-adguard:3000/control/status", - json={"version": "v0.98.0"}, - headers={"Content-Type": "application/json"}, - ) - - result = await hass.config_entries.flow.async_init( - "adguard", - data={"addon": "AdGuard Home Addon", "host": "mock-adguard", "port": 3000}, - context={"source": "hassio"}, - ) - - result = await hass.config_entries.flow.async_configure(result["flow_id"], {}) - - assert result["type"] == data_entry_flow.RESULT_TYPE_ABORT - assert result["reason"] == "adguard_home_addon_outdated" - assert result["description_placeholders"] == { - "current_version": "v0.98.0", - "minimal_version": MIN_ADGUARD_HOME_VERSION, - }