From 0c37a065addb53189817b129fbcef8527ee6e97d Mon Sep 17 00:00:00 2001 From: wittypluck Date: Tue, 21 May 2024 16:21:36 +0200 Subject: [PATCH] Add support for Glances v4 (#117664) --- homeassistant/components/glances/__init__.py | 4 ++-- homeassistant/components/glances/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- tests/components/glances/test_init.py | 5 +++-- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/glances/__init__.py b/homeassistant/components/glances/__init__.py index b6c4f477b46..437882e0135 100644 --- a/homeassistant/components/glances/__init__.py +++ b/homeassistant/components/glances/__init__.py @@ -73,7 +73,7 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def get_api(hass: HomeAssistant, entry_data: dict[str, Any]) -> Glances: """Return the api from glances_api.""" httpx_client = get_async_client(hass, verify_ssl=entry_data[CONF_VERIFY_SSL]) - for version in (3, 2): + for version in (4, 3, 2): api = Glances( host=entry_data[CONF_HOST], port=entry_data[CONF_PORT], @@ -100,7 +100,7 @@ async def get_api(hass: HomeAssistant, entry_data: dict[str, Any]) -> Glances: ) _LOGGER.debug("Connected to Glances API v%s", version) return api - raise ServerVersionMismatch("Could not connect to Glances API version 2 or 3") + raise ServerVersionMismatch("Could not connect to Glances API version 2, 3 or 4") class ServerVersionMismatch(HomeAssistantError): diff --git a/homeassistant/components/glances/manifest.json b/homeassistant/components/glances/manifest.json index 2fb5cf16996..68101583b48 100644 --- a/homeassistant/components/glances/manifest.json +++ b/homeassistant/components/glances/manifest.json @@ -6,5 +6,5 @@ "documentation": "https://www.home-assistant.io/integrations/glances", "iot_class": "local_polling", "loggers": ["glances_api"], - "requirements": ["glances-api==0.6.0"] + "requirements": ["glances-api==0.7.0"] } diff --git a/requirements_all.txt b/requirements_all.txt index 15c72d30788..d4cbee918cf 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -949,7 +949,7 @@ gios==4.0.0 gitterpy==0.1.7 # homeassistant.components.glances -glances-api==0.6.0 +glances-api==0.7.0 # homeassistant.components.goalzero goalzero==0.2.2 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 438f6865b4e..dad821e44b3 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -778,7 +778,7 @@ getmac==0.9.4 gios==4.0.0 # homeassistant.components.glances -glances-api==0.6.0 +glances-api==0.7.0 # homeassistant.components.goalzero goalzero==0.2.2 diff --git a/tests/components/glances/test_init.py b/tests/components/glances/test_init.py index 02fa6960c2f..553bd6f2089 100644 --- a/tests/components/glances/test_init.py +++ b/tests/components/glances/test_init.py @@ -38,8 +38,9 @@ async def test_entry_deprecated_version( entry.add_to_hass(hass) mock_api.return_value.get_ha_sensor_data.side_effect = [ - GlancesApiNoDataAvailable("endpoint: 'all' is not valid"), - HA_SENSOR_DATA, + GlancesApiNoDataAvailable("endpoint: 'all' is not valid"), # fail v4 + GlancesApiNoDataAvailable("endpoint: 'all' is not valid"), # fail v3 + HA_SENSOR_DATA, # success v2 HA_SENSOR_DATA, ]