volume_dif = new_volume - cur_volume
coros = []
for child_player in self.iter_group_members(group_player, True):
+ if PlayerFeature.VOLUME_SET not in child_player.supported_features:
+ continue
cur_child_volume = child_player.volume_level
new_child_volume = int(cur_child_volume + volume_dif)
new_child_volume = max(0, new_child_volume)
group_volume = 0
active_players = 0
for child_player in self.iter_group_members(player, True):
+ if PlayerFeature.VOLUME_SET not in child_player.supported_features:
+ continue
group_volume += child_player.volume_level or 0
active_players += 1
if active_players:
soco=soco,
mass_player=mass_player,
)
+ if soco.fixed_volume:
+ mass_player.supported_features = tuple(
+ x for x in mass_player.supported_features if x != PlayerFeature.VOLUME_SET
+ )
sonos_player.setup()
self.mass.loop.call_soon_threadsafe(
self.mass.players.register_or_update, sonos_player.mass_player