SoCo 0.21 release notes
SoCo 0.21 (Released on 2021-01-17), contains significant improvements to the speaker discovery process, which should address most of the common problems that are encountered.
Multi-household Sonos systems can now be discovered and controlled.
The AudioIn
service has been added, providing access to Line In operations and events.
A number of additional miscellaneous speaker state controls have been provided, for speaker buttons, fixed volume output, and Trueplay. The battery status of Sonos Move speakers can also now be obtained. The music_source
property on SoCo objects provides a convenient way to determine what type of source is being played by a speaker.
SoCo 0.21 is now fully Python 3.9 compatible, requires Python 3.5+, and is no longer compatible with Python 2.x.
New Features and Improvements
Add support for network scan discovery, including allowing multi-household systems to be discovered: pull requests #733, #755, and #770.
Add the AudioIn service for access to Line In operations and events: PR #777.
Add the ability to inspect and set Fixed Volume output: PR #773.
Add the ability to inspect and set whether speaker buttons are enabled: PR #774.
Add the ability to inspect and set Trueplay enablement: PR #775.
Add the ability to determine the battery state of Sonos Move speakers: PR #756.
Bug Fixes
Improve zone group state caching to accommodate multi-household systems: PR #656. (Note: possible breaking change: if you’ve previously been setting the
soco.core.zone_group_state_shared_cache.enabled
property, this property is no longer global but is instead now a private property of SoCo instances.)When restoring snapshots, do not try to restore bass/treble/loudness on devices with fixed volume enabled: PR #772.
Ensure that all relevant NICs and IP addresses are included in multicast speaker discovery: PR #767.