Huge UPnP Deployment under my nose: Sonos

So we got this interesting internet controlled speaker system at work called Sonos. They turned it on for the first time tonight and started playing some house music.  Neat.

That got me wondering — multiple people all controlling a media server transparently over the network… I wonder….

A quick apt-get install gupnp-tools away and I had gupnp-universal-cp up and running and, well what do you know, Sonos is using UPnP in a major way.  They seem to follow the standard MediaServer / MediaRenderer spec (with AVTransports, ContentDirectories etc.) but also some nifty goodies: AlarmClock, ZoneGroupTopology, GroupManagement service set etc.  They took the standard UPnP specs and added about 10 new services to fulfill all their needs.  Awesome!

I was able to control the Sonos player using the standard AVTransport actions that I know and love via the universal control point.  Things like GetPositionInfo etc. also worked like a charm.  I’m downloading the needed repos now to install Zhaan and see if that can control Sonos and add yet another feature to Zhaan’s belt.

2 thoughts on “Huge UPnP Deployment under my nose: Sonos”

  1. Hey, hope all is good.

    Came across your blog when looking for ways to integrate control of sonos through home automation on os x. Just wondered if you progressed very far with a upnp controller?

    I found this perl script used to control the upnp but can only get it to run on windows. Keep getting ssdp error in os x (whatever that means lol).

    Anyway thought it might be of interest to you

    Take care

Leave a Reply

Your email address will not be published. Required fields are marked *