Sonos A PHP library for interacting with Sonos speakers

Getting Started

Usage

Controllers

Services

Fun Stuff

Version 2.0

Version 2.0 contains many breaking changes to make the library more robust and allowing you to safely hack together new features.
The main change is that everything has an interface now, meaning you can swap out any class for a version of your own.

Network Constructor

The biggest change is how you instantiate a Network instance.

For most common usage, nothing has changed, you still do: `new Network` and everything else is taken care of

The Network constructor no longer accepts a cache or logger instance, just a CollectionInterface.

If you want to use logging then your logger can be injected using Network::setLogger().

The cache is now managed by a CachedCollection and a Device Factory.
By default all Devices will use an array based cache, so it will only persist for the duration of the current php execution. And the standard Collection class does not cache at all, this is to avoid many bugs that were seen with frequently changing groupings, etc.