Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Sonos specific UPnP driver
#1
OK, I just posted the 4.1.908 beta which has a Sonos specific UPnP driver in it. This is for folks who don't want to use the CQC media repo/renderer scheme to drive their Sonos boxes but still want to interact with them via CQC. There's a good bit of functoinality in the initial version, though I'm sure more will be added, and I'm sure quirks will be found. UPnP is a fairly loose standard and a lot of it is Sonos specific functionality not defined by the UPnP organization and those parts are not documented.

I'll get a driver doc up here in a bit. I need to go get some food.
Dean Roddey
Software Geek Extraordinaire
Reply
#2
I've provided a driver doc page for this one to cover the current functionality. It's in the Media Players section of the drivers, but here's the link to the page itself:

http://www.charmedquark.com/Web2/ExtCont...ZPProp.htm
Dean Roddey
Software Geek Extraordinaire
Reply
#3
As per 4.1.909, I've added some new general purpose functionality that will serve some of the functionality needed by users of this driver. You will obviously often want to show a list of available players for selection. To do that there is a new action command:

Code:
Devices::FindDrivers(make,model,devcategory,vartofill)

So you can provide a make, model and device category filter. The make and model can be regular expressions if desired. The device category is the category info used in the driver manifests, e.g. HVAC, MediaRepository, LightingSystem, and so forth.

It returns a list of driver monikers in the quoted comma list form, so you can load that into a static list browser to let the user make selections. Since grouping (and anything else in future that refers to other players) will work on the device moniker, that's all you need now. To find a list of the Sonos specific drivers and display them in a static list browser named MyList, you'd do:

Code:
Devices::FindDrivers(Sonos, Sonos ZP Prop, , LVar:List);
MyList::SetBrowserList(%(LVar:List))

You don't need to provide a device category here, you are filtering by the make and model, which is unique to a given type of driver.

You can then select one and, for instance, do the GroupTo command to group the target player to the indicated new group coordinator, or you could link the target player to the indicated player's analog input and so forth.
Dean Roddey
Software Geek Extraordinaire
Reply
#4
And I just posted 4.1.910, which has some improvements and fixes for this driver. You can now associate players to the analog input of another player (or its own as well of course.) And you can query the list of available playlists and show them in a list browser to select from, and you can easily of course then load the selected playlist to the queue.
Dean Roddey
Software Geek Extraordinaire
Reply
#5
In version 4.1.911 I've added a new command to the InvokeCmd field, which is:

Code:
SetTransURI : "uri", "artist", "title", "track", "tracknum", "year"

This one is a bit unusual in that it requires a quoted comma list. It allows you to set arbitrary transport URIs on the player. The primary purpose is to allow you to look up the URI for Pandora stations, so that you can set them again later.

We can't browse those stations via the UPnP interface. But, if you select a station via the Sonos software, then look at the AVTransportURI field of the driver, that's the URI required to select that station again. So you can use this command to pass it back in later.

You have to provide metadata when setting the transport URI. You can provide bogus info but it has to be there. Generally, for the radio station scenario, just put bogus info in everything but the track name. For that one, set it to the name of the radio station. That's what'll show up in the Sonos software as the station name, under the Pandora Radio label.


* BTW, the AVTransportURI field is broken in the current driver. That's also fixed in this version I'm going to upload here in a bit. So you won't see anything in the current driver if you select a Pandora station.
Dean Roddey
Software Geek Extraordinaire
Reply
#6
4.1.911 is now posted, which has the above in it.
Dean Roddey
Software Geek Extraordinaire
Reply
#7
Hi - is there any solution for playing Spotify playlists? The AVTransportURI is the same no matter the playlist. Not sure if different for rd.io? Thx in advance--
Reply
#8
Sometimes its the current URI, not the transport URI, so check that one as well.
Dean Roddey
Software Geek Extraordinaire
Reply
#9
Hi Dean - unfortunately curtrack shows the track itself - changes with the song.

I think the uri is something like:

x-sonos-spotifyConfusedpotify%3aplaylist%3a6rz7p5m6tRQ8hy6mQpkJQX?sid=12&flags=0

but i can't get it to take.. sonos client reports it as invalid when triggered by cqc..
Reply
#10
In some cases the query parameters are meaningless in terms of getting back to the same 'channel', so you might try removing those and doing it. Probably won't help but worth a try.
Dean Roddey
Software Geek Extraordinaire
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Sony Bravia TV Driver znelbok 12 711 06-11-2018, 09:19 AM
Last Post: Dean Roddey
  XBMC Driver wuench 427 141,600 05-29-2018, 03:02 AM
Last Post: znelbok
  OpenHAB Driver whozeawhat 5 245 05-28-2018, 08:50 AM
Last Post: whozeawhat
  Pushbullet Driver whozeawhat 1 183 05-13-2018, 07:27 AM
Last Post: whozeawhat
  Monoprice Blackbird 4x4 HDMI Switcher - Driver request batwater 14 6,886 02-10-2018, 02:29 PM
Last Post: batwater
  LIFX Driver bobskie708 9 892 01-30-2018, 12:34 PM
Last Post: jkmonroe
  SNMP Driver wuench 115 262,312 01-01-2018, 05:18 PM
Last Post: Dean Roddey
  CBUS CGate Driver martinmcc 46 16,545 12-18-2017, 01:19 AM
Last Post: znelbok
  Samsung SmartTV driver? sic0048 3 626 12-17-2017, 11:51 AM
Last Post: Dean Roddey
  Vantage Controls Driver for Infusion System KenC 3 1,473 10-23-2017, 12:10 PM
Last Post: Dean Roddey

Forum Jump:


Users browsing this thread: 1 Guest(s)