async def on_config_updated(self) -> None:
"""Handle logic when the player is loaded or updated."""
# Config is only available after the player was registered
+ self._cache.clear() # clear to prevent loading old is_dynamic
static_members = cast("list[str]", self.config.get_value(CONF_GROUP_MEMBERS, []))
- self._attr_static_group_members = static_members.copy()
- if not self.powered:
- self._attr_group_members = static_members.copy()
if self.is_dynamic:
+ self._attr_static_group_members = []
self._attr_supported_features.add(PlayerFeature.SET_MEMBERS)
else:
+ self._attr_static_group_members = static_members.copy()
self._attr_supported_features.discard(PlayerFeature.SET_MEMBERS)
+ if not self.powered:
+ self._attr_group_members = static_members.copy()
@property
def supported_features(self) -> set[PlayerFeature]: