/
/
# What does this implement/fix? A Sonos Connect or Port that is set to fixed volume output (wired into an amplifier that does the volume) plays out at a fixed level and rejects any volume command. The S1 provider still offered those speakers a volume slider and a mute button, which could only fail. It also dragged along the volume of any group they were part of. There is already a check for this in the provider, but it never did anything: the volume features were listed in the base feature set, so the "add them only when the volume is not fixed" branch had nothing left to add. Sonos S2 already handles this correctly; S1 now matches. **Related issue (if applicable):** - n/a (found while fixing #5736) ## Types of changes - [ ] Bugfix (non-breaking change which fixes an issue) — `bugfix` - [ ] New feature (non-breaking change which adds functionality) — `new-feature` - [ ] Enhancement to an existing feature — `enhancement` - [ ] New music/player/metadata/plugin provider — `new-provider` - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) — `breaking-change` - [ ] Refactor (no behaviour change) — `refactor` - [ ] Documentation only — `documentation` - [x] Maintenance / chore — `maintenance` - [ ] CI / workflow change — `ci` - [ ] Dependencies bump — `dependencies` Changes: - Speakers with fixed volume output no longer advertise volume or mute support, so they show no volume slider and no mute button, and can be given an external volume control instead. - The feature set is now assembled in the player itself, from the fixed volume mode discovery already reads. - Tests for both the fixed and the regular volume path. ## Checklist - [x] The code change is tested and works locally. - [x] `pre-commit run --all-files` passes. - [x] `pytest` passes, and tests have been added/updated under `tests/` where applicable. - [ ] For changes to shared models, the companion PR in `music-assistant/models` is linked. - [ ] For changes affecting the UI, the companion PR in `music-assistant/frontend` is linked. - [x] I have read and complied with the project's [AI Policy](https://github.com/music-assistant/.github/blob/main/AI_POLICY.md) for any AI-assisted contributions. - [ ] I have [raised a PR against the documentation repository](https://github.com/music-assistant/music-assistant.io/blob/main/CONTRIBUTING.md) targeting the main or beta branch as appropriate.