diff --git a/homeassistant/components/overkiz/config_flow.py b/homeassistant/components/overkiz/config_flow.py index 2808c3099389d52a97a3102acee75434c5226945..d3ab9722fcab829199eb0009abde59e2a9ace46a 100644 --- a/homeassistant/components/overkiz/config_flow.py +++ b/homeassistant/components/overkiz/config_flow.py @@ -12,6 +12,7 @@ from pyoverkiz.exceptions import ( MaintenanceException, TooManyAttemptsBannedException, TooManyRequestsException, + UnknownUserException, ) from pyoverkiz.models import obfuscate_id import voluptuous as vol @@ -83,6 +84,8 @@ class ConfigFlow(config_entries.ConfigFlow, domain=DOMAIN): errors["base"] = "server_in_maintenance" except TooManyAttemptsBannedException: errors["base"] = "too_many_attempts" + except UnknownUserException: + errors["base"] = "unknown_user" except Exception as exception: # pylint: disable=broad-except errors["base"] = "unknown" LOGGER.exception(exception) diff --git a/homeassistant/components/overkiz/strings.json b/homeassistant/components/overkiz/strings.json index 9c64311a73e98d2e396eabee66cbdaa18b1fd3d3..ecc0329eb2a98c52b88f0ca8ac44c5fdf4d6d853 100644 --- a/homeassistant/components/overkiz/strings.json +++ b/homeassistant/components/overkiz/strings.json @@ -18,7 +18,8 @@ "server_in_maintenance": "Server is down for maintenance", "too_many_attempts": "Too many attempts with an invalid token, temporarily banned", "too_many_requests": "Too many requests, try again later", - "unknown": "[%key:common::config_flow::error::unknown%]" + "unknown": "[%key:common::config_flow::error::unknown%]", + "unknown_user": "Unknown user. Somfy Protect accounts are not supported by this integration." }, "abort": { "already_configured": "[%key:common::config_flow::abort::already_configured_account%]", diff --git a/homeassistant/components/overkiz/translations/en.json b/homeassistant/components/overkiz/translations/en.json index 9e24a9d3cb3049e1831989bc42bfb0525c53a722..9c8ad538695737f6b16c07001f502cb6c2fc6d82 100644 --- a/homeassistant/components/overkiz/translations/en.json +++ b/homeassistant/components/overkiz/translations/en.json @@ -11,7 +11,8 @@ "server_in_maintenance": "Server is down for maintenance", "too_many_attempts": "Too many attempts with an invalid token, temporarily banned", "too_many_requests": "Too many requests, try again later", - "unknown": "Unexpected error" + "unknown": "Unexpected error", + "unknown_user": "Unknown user. Somfy Protect accounts are not supported by this integration." }, "flow_title": "Gateway: {gateway_id}", "step": { diff --git a/tests/components/overkiz/test_config_flow.py b/tests/components/overkiz/test_config_flow.py index 0542f4dc9fc1574269bd3fcee2b478d245a1a757..940da7b39c2d67f720d333dee27e349ded81a757 100644 --- a/tests/components/overkiz/test_config_flow.py +++ b/tests/components/overkiz/test_config_flow.py @@ -9,6 +9,7 @@ from pyoverkiz.exceptions import ( MaintenanceException, TooManyAttemptsBannedException, TooManyRequestsException, + UnknownUserException, ) import pytest @@ -88,6 +89,7 @@ async def test_form(hass: HomeAssistant) -> None: (ClientError, "cannot_connect"), (MaintenanceException, "server_in_maintenance"), (TooManyAttemptsBannedException, "too_many_attempts"), + (UnknownUserException, "unknown_user"), (Exception, "unknown"), ], )