From 5156dd9c89a92410d737205ea8f3af6f5742122d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 4 May 2025 14:21:49 +0300 Subject: [PATCH] Normalize action parameter URL For consistency with integration setup. --- homeassistant/components/huawei_lte/__init__.py | 5 +++-- tests/components/huawei_lte/test_button.py | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/huawei_lte/__init__.py b/homeassistant/components/huawei_lte/__init__.py index 679bf677cf4..1f037e5ac00 100644 --- a/homeassistant/components/huawei_lte/__init__.py +++ b/homeassistant/components/huawei_lte/__init__.py @@ -21,6 +21,7 @@ from huawei_lte_api.exceptions import ( ResponseErrorNotSupportedException, ) from requests.exceptions import Timeout +from url_normalize import url_normalize import voluptuous as vol from homeassistant.components.notify import DOMAIN as NOTIFY_DOMAIN @@ -125,7 +126,7 @@ CONFIG_SCHEMA = vol.Schema( extra=vol.ALLOW_EXTRA, ) -SERVICE_SCHEMA = vol.Schema({vol.Optional(CONF_URL): cv.url}) +SERVICE_SCHEMA = vol.Schema({vol.Optional(CONF_URL): cv.string}) PLATFORMS = [ Platform.BINARY_SENSOR, @@ -511,7 +512,7 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool: because the latter is not available anywhere in the UI. """ routers = hass.data[DOMAIN].routers - if url := service.data.get(CONF_URL): + if url := url_normalize(service.data.get(CONF_URL), default_scheme="http"): router = next( (router for router in routers.values() if router.url == url), None ) diff --git a/tests/components/huawei_lte/test_button.py b/tests/components/huawei_lte/test_button.py index c99c08c436c..46af9d7f69c 100644 --- a/tests/components/huawei_lte/test_button.py +++ b/tests/components/huawei_lte/test_button.py @@ -18,7 +18,7 @@ from . import magic_client from tests.common import MockConfigEntry -MOCK_CONF_URL = "http://huawei-lte.example.com" +MOCK_CONF_URL = "http://192.168.1.1/" @patch("homeassistant.components.huawei_lte.Connection", MagicMock())