From ba69301dda6f25a3fc07580ad63149d6a72e8326 Mon Sep 17 00:00:00 2001 From: peteS-UK <64092177+peteS-UK@users.noreply.github.com> Date: Wed, 11 Jun 2025 15:34:08 +0100 Subject: [PATCH] Move available property to entity.py for Squeezebox (#146531) --- homeassistant/components/squeezebox/button.py | 5 ----- homeassistant/components/squeezebox/entity.py | 7 +++++++ homeassistant/components/squeezebox/media_player.py | 5 ----- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/homeassistant/components/squeezebox/button.py b/homeassistant/components/squeezebox/button.py index 88018e4f9a9..887151036aa 100644 --- a/homeassistant/components/squeezebox/button.py +++ b/homeassistant/components/squeezebox/button.py @@ -153,11 +153,6 @@ class SqueezeboxButtonEntity(SqueezeboxEntity, ButtonEntity): f"{format_mac(self._player.player_id)}_{entity_description.key}" ) - @property - def available(self) -> bool: - """Return True if entity is available.""" - return self.coordinator.available and super().available - async def async_press(self) -> None: """Execute the button action.""" await self._player.async_query("button", self.entity_description.press_action) diff --git a/homeassistant/components/squeezebox/entity.py b/homeassistant/components/squeezebox/entity.py index 2c443c24ffd..95fd2d60461 100644 --- a/homeassistant/components/squeezebox/entity.py +++ b/homeassistant/components/squeezebox/entity.py @@ -33,6 +33,13 @@ class SqueezeboxEntity(CoordinatorEntity[SqueezeBoxPlayerUpdateCoordinator]): manufacturer=self._player.creator, ) + @property + def available(self) -> bool: + """Return True if entity is available.""" + # super().available refers to CoordinatorEntity.available (self.coordinator.last_update_success) + # self.coordinator.available is the custom availability flag from SqueezeBoxPlayerUpdateCoordinator + return self.coordinator.available and super().available + class LMSStatusEntity(CoordinatorEntity[LMSStatusDataUpdateCoordinator]): """Defines a base status sensor entity.""" diff --git a/homeassistant/components/squeezebox/media_player.py b/homeassistant/components/squeezebox/media_player.py index 1e803c0e1ef..b29e19c1e3c 100644 --- a/homeassistant/components/squeezebox/media_player.py +++ b/homeassistant/components/squeezebox/media_player.py @@ -246,11 +246,6 @@ class SqueezeBoxMediaPlayerEntity(SqueezeboxEntity, MediaPlayerEntity): CONF_BROWSE_LIMIT, DEFAULT_BROWSE_LIMIT ) - @property - def available(self) -> bool: - """Return True if entity is available.""" - return self.coordinator.available and super().available - @property def extra_state_attributes(self) -> dict[str, Any]: """Return device-specific attributes."""