soffes/sonos — pull request #1 by gotwalt (2012-12-24 17:25:19+00:00)
Title: Added discovery, fixed bug in Speaker class

Discovery is done using simple UDPSockets and a blocking loop for now. Performs pretty well and is stable as far as I can tell. Also allows for multiple device discovery. It may be worth parsing out the responses more fully - the devices return an X-HEADER indicating which 'family' they're a part of - from what I understand, it's the set of linked Sonos devices on a given network. If you had multiple independent systems, you'd be able to detect them in this way.

Also explicitly included open-uri in Sonos::Speaker, as without it the class wouldn't load the xml correctly for me.