UPnP Services
Sonos devices offer several UPnP services which are accessible from classes in
the soco.services module.
soco.services.AlarmClocksoco.services.MusicServicessoco.services.DevicePropertiessoco.services.SystemPropertiessoco.services.ZoneGroupTopologysoco.services.GroupManagementsoco.services.QPlaysoco.services.ContentDirectorysoco.services.MS_ConnectionManagersoco.services.RenderingControlsoco.services.MR_ConnectionManagersoco.services.AVTransportsoco.services.Queuesoco.services.GroupRenderingControl
All services take a soco.SoCo instance as their first parameter.
Inspecting
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:
Events
You can subscribe to the events of a service using the
soco.services.Service.subscribe() method. See Events for details.