Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Sonos - How Are You Doing It?
#1
I've spend months working on my Sonos setup in CQC - I was wondering today how everyone else is setting theirs up?

I have two buttons on my screen - one labelled Albums and one Radio. If you select Albums, the system sets Sonos up with the CQC drivers, and you can browse and play your music.

If you select Radio, I kill any CQC divers, and set up the Sonos Zone drivers. I have a popup which has a list of my favorite radio stations.

This means I get full use of my Sonos.

However, the thing that is driving me crazy is the grouping. I've got it working, but it's taken a ton of code and more than a few sizzled brain cells.
Has anyone got an elegant way of grouping/ungrouping that they can share?

Also, I've just bought the Sonos sound bar for our TV and there are a couple of extra options on there - wondering if the Sonos driver can be updated sometime to take advantage of these? Basically, a night mode and a clear speech mode.

Thanks
Karen
Reply
#2
If anyone has any bright ideas, I'm happy to try provide something to support it. Maybe a file of groupings (and the primary of each group) which can be read in by the driver and used in grouping commands or some such thing.

I mean the issue, if I remember correctly, is that you both have to group them, but also know which is the group leader because commands have to be sent to it, right?
Dean Roddey
Software Geek Extraordinaire
Reply
#3
Yes, that's why it's taken me forever.

You have to constantly check which is the group coordinator, and only send some commands such as Play or Stop to that speaker as the others in the group are just dumb speakers. So if your bedroom speaker is the current coordinator and you send the Transport.Play command, it will work, but if the living speaker is the coordinator, you will get an error. Anytime you ungroup then regroup, the coordinator can change.

I issue a group-to-self command (makes that speaker a stand-alone) then group the other speakers to that speaker which turns it into the group coordinator.
Reply
#4
I guess one option we could explore is that each one can get the device id of its group coordinator. So I guess it could keep around the UPnP resources for the group coordinator and actually send any commands other than 'group to self' to the coordinator instead of itself. Are there any other commands that would need to be excepted and sent to the actual player if we did such a thing?
Dean Roddey
Software Geek Extraordinaire
Reply
#5
Would something like the above provide a good solution? I.e. the driver for any Sonos box that is grouped would pass through any commands/field writes sent to it to the group coordinator player instead of to itself, excepting any that we determine need to be always handled by the target player itself.

Then you could probably avoid the kind of weirdness you are dealing with, I think.
Dean Roddey
Software Geek Extraordinaire
Reply
#6
I know this wasn't what you were looking for, but mine is intentionally separate from CQC. I use the CQC android/iPhone app to turn on various speakers, set volumes & source zones. But then I switch to the Sonos android/iphone app to actually pick what to play. its pretty rich, can select a radio station, song, amazon play list, whatever. I didn't see the point in replicating that functionality.
------------------------------------
Some of my devices: Sonos, Aeotec zWave, Nest, Rain8Net, Various H/T
What's next: CQC-Voice, Brultech GEM
My vlogs: https://www.youtube.com/c/IVBsHomeAutomation
Reply
#7
IVB Wrote:I know this wasn't what you were looking for, but mine is intentionally separate from CQC. I use the CQC android/iPhone app to turn on various speakers, set volumes & source zones. But then I switch to the Sonos android/iphone app to actually pick what to play. its pretty rich, can select a radio station, song, amazon play list, whatever. I didn't see the point in replicating that functionality.

Exactly the reason I would like to see a VNC widget in CQC. Wink Of course, this would probably only be useful when using the Interface Viewer in Windows.
Reply
#8
IVB Wrote:I know this wasn't what you were looking for, but mine is intentionally separate from CQC. I use the CQC android/iPhone app to turn on various speakers, set volumes & source zones. But then I switch to the Sonos android/iphone app to actually pick what to play. its pretty rich, can select a radio station, song, amazon play list, whatever. I didn't see the point in replicating that functionality.

What's the user experience when switching between the CQC android/iOS app and the Sonos android/iOS app? I would imagine there might a need to switch back and forth for volume/zone changes.
Reply
#9
I prefer to have my Sonos wholly controllable within CQC. I love the album selection functionality, it looks great on my wall (iPad), and plays just fine with the CQC driver. I use the radio for my alarm in the morning - I have a task that switches on the lights and radio at 7am, and also just before I get home, so it's more welcoming after a hard day. For interactive use, I have a button on my Ipad CQC app to select and play a radio station. The way I have done it, I have no need at all for using the actual Sonos app.

Dean, in terms of the grouping, when I send a command to a speaker, I grab the DevUID and compare it to the GroupCoord ID. If they are the same then I know I send a command to it. If not, I interrogate the other speakers to find out 'who' the GroupCoord is, and send the instructions there.

However, it's not as simple as it sounds. At any given time, a speaker can be a master of itself (ie standalone), a master of one or more of the other speakers (ie Group Coordinator), or it can be a slave to either of the other two speakers.

Everytime I think I have it taped, it goes tits up. Actually it was working fine with just 2 speakers, but then I had to go and buy a soundbar, didn't I? Which resulted in me having to rewrite everything I had done from scratch, moving from an 'if-else' situation with 2 speakers to a more object orientated approach, trying to get each speaker to just worry about itself. But I'm having issues... (only just got the soundbar a couple of weeks ago).

The worst issue I'm having is that, if I'm playing an album through the soundbar and my husband hits the TV remote button, the TV grabs the soundbar which causes my CQC driver to hang with a 'can't connect' kind of message, which then freaks out the rest of my system. This doesn't happen when the radio is playing, which uses the Zone Player driver.
Reply
#10
In theory, if the driver was changed so that any time an incoming command or field write occurred, it looked at the dev and coordinator id and, if they were the same sends that to the player controlled by that driver, or if they are different sends it to the group coordinator driver, it seems like that would remove the need for this type of manual work, right?

With the exception of the group command, which has to always go to the player controlled by that driver, so that you can always change the grouping. And maybe there might be some other commands that would need to be excepted.
Dean Roddey
Software Geek Extraordinaire
Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  New Sonos amp Dean Roddey 3 9,133 09-06-2018, 09:57 PM
Last Post: Dean Roddey
  Sonos going public? Dean Roddey 0 2,499 07-07-2018, 10:08 PM
Last Post: Dean Roddey
  Scheduling next webinar (Sonos/TTS) IVB 6 2,700 02-04-2018, 10:51 PM
Last Post: IVB
  Uverse and Sonos kblagron 5 2,902 01-20-2017, 11:29 AM
Last Post: Dean Roddey
  Lutron adds support for Alexa and Sonos ControlFreak 2 2,519 12-10-2016, 08:47 AM
Last Post: dgage
  Sonos opens its platform to Spotify Connect and Amazon's Alexa batwater 14 4,644 09-06-2016, 02:41 PM
Last Post: potts.mike
  Sonos TTS potts.mike 35 6,782 03-25-2016, 10:46 AM
Last Post: batwater
  CQC Media Repo - Sonos potts.mike 15 4,458 03-10-2016, 12:28 PM
Last Post: Dean Roddey
  Sonos Opinions zra 51 9,791 01-30-2016, 06:16 PM
Last Post: jkmonroe
  Question for Sonos Owners jkmonroe 23 7,674 09-27-2015, 11:11 AM
Last Post: kfly

Forum Jump:


Users browsing this thread: 1 Guest(s)