Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Sonos Driver
#1
Hi Dean. I know we've talked about this before and I just read your post on the new Sonos Amp API. 

One of the problems with the current driver is that it doesn't get metadata for the songs that stream from SiriusXM. Perhaps other streaming options as well. 

I pulled out my wireshark this morning and looked through the stream between my the sonos app (on my PC) and my sonos connect. Here is the pertinent data:
Quote:NOTIFY /notify HTTP/1.1
HOST: 10.0.1.102:3400
CONNECTION: close
CONTENT-TYPE: text/xml
CONTENT-LENGTH: 3010
NT: upnp:event
NTS: upnp:propchange
SID: uuid:RINCON_B8E937977DE401400_sub0000003808
SEQ: 35

<e:propertyset xmlns:e="urnConfusedchemas-upnp-org:event-1-0"><e:property><LastChange>&lt;Event xmlns=&quot;urnConfusedchemas-upnp-org:metadata-1-0/AVT/&quot; xmlns:r=&quot;urnConfusedchemas-rinconnetworks-com:metadata-1-0/&quot;&gt;&lt;InstanceID val=&quot;0&quot;&gt;&lt;TransportState val=&quot;PLAYING&quot;/&gt;&lt;CurrentPlayMode val=&quot;NORMAL&quot;/&gt;&lt;CurrentCrossfadeMode val=&quot;0&quot;/&gt;&lt;NumberOfTracks val=&quot;1&quot;/&gt;&lt;CurrentTrack val=&quot;1&quot;/&gt;&lt;CurrentSection val=&quot;0&quot;/&gt;&lt;CurrentTrackURI val=&quot;x-sonosapi-hls:live%3a9420?sid=37&amp;amp;flags=8480&amp;amp;sn=1&quot;/&gt;&lt;CurrentTrackDuration val=&quot;0:00:00&quot;/&gt;&lt;CurrentTrackMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urnConfusedchemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urnConfusedchemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urnConfusedchemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;res protocolInfo=&amp;quot;sonos.com-http:*:application/x-mpegURL:*&amp;quot;&amp;gt;x-sonosapi-hls:live%3a9420?sid=37&amp;amp;amp;flags=8480&amp;amp;amp;sn=1&amp;lt;/res&amp;gt;&amp;lt;rConfusedtreamContent&amp;gt;BR P|TYPE=SNG|TITLE Every Kinda People|ARTIST Robert Palmer|ALBUM &amp;lt;/rConfusedtreamContent&amp;gt;&amp;lt;r:radioShowMd&amp;gt;&amp;lt;/r:radioShowMd&amp;gt;&amp;lt;upnp:albumArtURI&amp;gt;http://albumart.siriusxm.com/albumart/2000/NDCA-000031560-001_m.jpg&amp;lt;/upnp:albumArtURI&amp;gt;&amp;lt;dc:title&amp;gt;x-sonosapi-hls:live:9420?sid=37&amp;amp;amp;flags=8480&amp;amp;amp;sn=1&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item.audioItem.musicTrack&amp;lt;/upnp:class&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;r:NextTrackURI val=&quot;&quot;/&gt;&lt;r:NextTrackMetaData val=&quot;&quot;/&gt;&lt;r:EnqueuedTransportURI val=&quot;x-sonosapi-hls:live%3a9420?sid=37&amp;amp;flags=8480&amp;amp;sn=1&quot;/&gt;&lt;r:EnqueuedTransportURIMetaData val=&quot;&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urnConfusedchemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:r=&amp;quot;urnConfusedchemas-rinconnetworks-com:metadata-1-0/&amp;quot; xmlns=&amp;quot;urnConfusedchemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;&amp;lt;item id=&amp;quot;-1&amp;quot; parentID=&amp;quot;-1&amp;quot; restricted=&amp;quot;true&amp;quot;&amp;gt;&amp;lt;dc:title&amp;gt;311 - Yacht Rock Radio&amp;lt;/dc:title&amp;gt;&amp;lt;upnp:class&amp;gt;object.item.audioItem.audioBroadcast&amp;lt;/upnp:class&amp;gt;&amp;lt;desc id=&amp;quot;cdudn&amp;quot; nameSpace=&amp;quot;urnConfusedchemas-rinconnetworks-com:metadata-1-0/&amp;quot;&amp;gt;SA_RINCON9479_Zra1974&amp;lt;/desc&amp;gt;&amp;lt;/item&amp;gt;&amp;lt;/DIDL-Lite&amp;gt;&quot;/&gt;&lt;/InstanceID&gt;&lt;/Event&gt;</LastChange></e:property></e:propertyset>HTTP/1.1 200 OK
Server: Linux UPnP/1.0 Sonos/44.2-55120 (WDCR:Microsoft Windows NT 6.1.7601 Service Pack 1)
Connection: close

BR P|TYPE=SNG|TITLE Every Kinda People|ARTIST Robert Palmer|ALBUM 

Here you can see the metadata for the current playing track. 

Is this something you'd be willing to take a hack at with the current driver? It would be a big improvement. 
Reply
#2
I'll put it on the list for things to look at in this release cycle after the big ticket items have begun to solidify. I guess one problem is that there' snot standard scheme for the metadata for these streaming services. So it becomes a bit of an ad hoc operation. I don't know you are listening to a particular channel or service per se, so I don't know to look for this or that format of data. I might have to just try to find various things to see if I can figure out what's there. And of course it could change at any time I imagine.

I sort of wonder how much extra effort the current Sonos boxes are worth, given that there's a new crop of them coming that have an open, well defined control protocol. If they have well defined meta-data provided in a consistent format, which I would hope they would address, that would be a big improvement.
Dean Roddey
Explorans limites defectum
Reply
#3
Gotcha. I would think SiriusXM is pretty popular. I'd mess with the driver myself, but it's C++ app, isn't it?
Reply
#4
Yeh, it's actually not even Sonos specific per se. It's built on top of a generic C++ UPnP media renderer driver, with some added stuff for UPnP bits that the Sonos implements above and beyond a standard UPnP media renderer.
Dean Roddey
Explorans limites defectum
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  ClickPLC driver now failing after upgrade znelbok 2 440 09-21-2020, 10:48 PM
Last Post: znelbok
  Pentair driver tom 5 1,092 08-02-2020, 11:29 PM
Last Post: kblagron
  Marantz receiver driver (IP) dlmorgan999 6 1,104 05-15-2020, 03:32 PM
Last Post: dlmorgan999
  Variables Driver Client gReatAutomation 4 877 04-25-2020, 12:46 PM
Last Post: gReatAutomation
  Reconfig of Driver Causes Built In Triggers to Fire gReatAutomation 2 680 03-25-2020, 04:09 PM
Last Post: gReatAutomation
  Lutron RadioRA2 Driver and Lutron Visor Control gReatAutomation 29 8,068 03-19-2020, 01:03 PM
Last Post: gReatAutomation
  Timers Driver / Field Time Image / Seconds gReatAutomation 1 643 03-16-2020, 05:48 PM
Last Post: Dean Roddey
  Problem with Accesssing Variables Driver Client Interface kblagron 5 1,241 03-05-2020, 02:24 PM
Last Post: kblagron
  ISYv2 Driver - FanLinc simplextech 4 1,340 02-04-2020, 06:55 PM
Last Post: simplextech
  SMS Driver / Sending MMS gReatAutomation 2 966 02-02-2020, 05:57 PM
Last Post: simplextech

Forum Jump:


Users browsing this thread: 1 Guest(s)