UPnP Services

Sonos devices offer several UPnP services which are accessible from classes in the soco.services module.

All services take a soco.SoCo instance as their first parameter.


To get a list of supported actions you can call the service’s soco.services.Service.iter_actions(). It yields the service’s actions with their in_arguments (ie parameters to pass to the action) and out_arguments (ie returned values).

Each action is an soco.services.Action namedtuple, consisting of action_name (a string), in_args (a list of soco.services.Argument namedtuples consisting of name and argtype), and out_args (ditto), eg:


You can subscribe to the events of a service using the soco.services.Service.subscribe() method. See Events for details.