From c86565b9bc730c33cefd8a24817d5073e52a203f Mon Sep 17 00:00:00 2001 From: Florent Thiery Date: Mon, 21 Aug 2023 17:45:15 +0200 Subject: [PATCH] Reduce Freebox router Raid warning to one occurence (#98740) * consider Freebox router does not support Raid if the first enumeration raised an http error, fixes #98274 * add router name to warning message * reduce log level to info, remove details --- homeassistant/components/freebox/router.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/freebox/router.py b/homeassistant/components/freebox/router.py index 6111eb85b4c..f42a386087f 100644 --- a/homeassistant/components/freebox/router.py +++ b/homeassistant/components/freebox/router.py @@ -71,6 +71,7 @@ class FreeboxRouter: self.devices: dict[str, dict[str, Any]] = {} self.disks: dict[int, dict[str, Any]] = {} + self.supports_raid = True self.raids: dict[int, dict[str, Any]] = {} self.sensors_temperature: dict[str, int] = {} self.sensors_connection: dict[str, float] = {} @@ -159,14 +160,21 @@ class FreeboxRouter: async def _update_raids_sensors(self) -> None: """Update Freebox raids.""" - # None at first request + if not self.supports_raid: + return + try: fbx_raids: list[dict[str, Any]] = await self._api.storage.get_raids() or [] except HttpRequestError: - _LOGGER.warning("Unable to enumerate raid disks") - else: - for fbx_raid in fbx_raids: - self.raids[fbx_raid["id"]] = fbx_raid + self.supports_raid = False + _LOGGER.info( + "Router %s API does not support RAID", + self.name, + ) + return + + for fbx_raid in fbx_raids: + self.raids[fbx_raid["id"]] = fbx_raid async def update_home_devices(self) -> None: """Update Home devices (alarm, light, sensor, switch, remote ...)."""