diff --git a/homeassistant/components/mullvad/config_flow.py b/homeassistant/components/mullvad/config_flow.py index 55957f160a3..0ffcc11c97e 100644 --- a/homeassistant/components/mullvad/config_flow.py +++ b/homeassistant/components/mullvad/config_flow.py @@ -1,5 +1,7 @@ """Config flow for Mullvad VPN integration.""" +from typing import Any + from mullvad_api import MullvadAPI, MullvadAPIError from homeassistant.config_entries import ConfigFlow, ConfigFlowResult @@ -12,10 +14,10 @@ class MullvadConfigFlow(ConfigFlow, domain=DOMAIN): VERSION = 1 - async def async_step_user(self, user_input=None) -> ConfigFlowResult: + async def async_step_user( + self, user_input: dict[str, Any] | None = None + ) -> ConfigFlowResult: """Handle the initial step.""" - self._async_abort_entries_match() - errors = {} if user_input is not None: try: diff --git a/homeassistant/components/mullvad/manifest.json b/homeassistant/components/mullvad/manifest.json index 13dd27375cf..fc3faefe1e3 100644 --- a/homeassistant/components/mullvad/manifest.json +++ b/homeassistant/components/mullvad/manifest.json @@ -5,5 +5,6 @@ "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/mullvad", "iot_class": "cloud_polling", - "requirements": ["mullvad-api==1.0.0"] + "requirements": ["mullvad-api==1.0.0"], + "single_config_entry": true } diff --git a/homeassistant/components/mullvad/strings.json b/homeassistant/components/mullvad/strings.json index 3e029184155..d3f757e829c 100644 --- a/homeassistant/components/mullvad/strings.json +++ b/homeassistant/components/mullvad/strings.json @@ -1,8 +1,5 @@ { "config": { - "abort": { - "already_configured": "[%key:common::config_flow::abort::already_configured_device%]" - }, "error": { "cannot_connect": "[%key:common::config_flow::error::cannot_connect%]", "unknown": "[%key:common::config_flow::error::unknown%]" diff --git a/homeassistant/generated/integrations.json b/homeassistant/generated/integrations.json index 7c068de51ba..c30f22acc6e 100644 --- a/homeassistant/generated/integrations.json +++ b/homeassistant/generated/integrations.json @@ -3815,7 +3815,8 @@ "name": "Mullvad VPN", "integration_type": "hub", "config_flow": true, - "iot_class": "cloud_polling" + "iot_class": "cloud_polling", + "single_config_entry": true }, "mutesync": { "name": "mutesync", diff --git a/tests/components/mullvad/test_config_flow.py b/tests/components/mullvad/test_config_flow.py index e1e6570fa67..da9ce91eeed 100644 --- a/tests/components/mullvad/test_config_flow.py +++ b/tests/components/mullvad/test_config_flow.py @@ -51,7 +51,7 @@ async def test_form_user_only_once(hass: HomeAssistant) -> None: DOMAIN, context={"source": config_entries.SOURCE_USER} ) assert result["type"] == FlowResultType.ABORT - assert result["reason"] == "already_configured" + assert result["reason"] == "single_instance_allowed" async def test_connection_error(hass: HomeAssistant) -> None: