Skip to main content
Hi everyone,

I need a way to determine if a sonos device is a coordinator or not. But I don't want to use the simple http request method where you just parse the response of /status/topology. Instead I need to know how this works with upnp.



Is there also a way to determine this in upnp?

Help would be much appreciated!
Could you clarify what you mean by "Coordinator'?

Do you mean if a Sonos component is the so called Root Bridge in the network?

Or are you referring to the Group Coordinator when you have multiple Zones grouped?
Hi i would like to know this as well..? Since the /status/topology doesn't give this information anymore...

I need to "ask" my connect who´s coordinating it´s playing status. And i´m looking for the answer, If it is it´s self or the IP-address of another Sonos device.
Hi i would like to know this as well..? Since the /status/topology doesn't give this information anymore...

I need to "ask" my connect who´s coordinating it´s playing status. And i´m looking for the answer, If it is it´s self or the IP-address of another Sonos device.


If you refer to the group coordinator: that is always the unit which is leading the group; i.e. the unit you started to create the group with.
In upnp, this is evented from every unit. You only need to listen for events from one unit to get the full topology, but listening to events is much more complex than simply asking for it.



Another approach, if you know all the players, is to query what everyone is actually playing (avtransporturi). With that information you can build your own topology, because any player that is grouped with a coordinator will reference the coordinator uuid in the uri, like x-rincon:000000000000001400



Hope that helps.


Another approach, if you know all the players, is to query what everyone is actually playing (avtransporturi). With that information you can build your own topology, because any player that is grouped with a coordinator will reference the coordinator uuid in the uri, like x-rincon:000000000000001400



Hope that helps.




hmm.. after some testing i think this is the easiest way to get the information needed, though this is not the dynamic solution i was hoping for :S

Thanks for the suggestion, it got me a bit closer to the end goal!
If you aren't using events, just call ZoneGroup.GetZoneGroupState and parse the xml (its the same format as the event).
If you aren't using events, just call ZoneGroup.GetZoneGroupState and parse the xml (its the same format as the event).



Thank you!! This was the information that i needed!
This API was introduced in Sonos Version 4.1.