I'm writing some VBScripts to control SONOS from HomeSeer, and have got the basics of play/stop/volume etc. for specified zones, but can't make sense of linked zones, and how they are managed by SONOS.
It seems a really fundamental step when wanting to switch zones to use speech from a HomSeer line-in source, then put things back how they were, so others must have been able to build a good understanding of this.
I can see the effect of BecomeCoordinatorOfStandaloneGroup, and recognise the source from GetMediaInfo when playing source from another linked zone, but haven't been able to fit together the overall picture for controlling them. Is there a simple explanation that anyone can offer?
> I'm writing some VBScripts to control SONOS from HomeSeer, and have got > the basics of play/stop/volume etc. for specified zones, but can't make > sense of linked zones, and how they are managed by SONOS.
> It seems a really fundamental step when wanting to switch zones to use > speech from a HomSeer line-in source, then put things back how they > were, so others must have been able to build a good understanding of > this.
> I can see the effect of BecomeCoordinatorOfStandaloneGroup, and > recognise the source from GetMediaInfo when playing source from another > linked zone, but haven't been able to fit together the overall picture > for controlling them. Is there a simple explanation that anyone can > offer?
Basically one zone is the group coordinator and the other zones in the group are simply streaming directly from that zone. So for linked zones you have to send commands (play, seek, whatever) to the coordinator. BecomeCoordinatorOfStandaloneGroup is basically "Leave Group". You join a group by setting your AVTransportURI to x-rincon:<uniqueDeviceName>. You can find a zone's current coordinator a few different ways, either through a query or by listening to events. There's some code in my .NET source (see earlier messages in this group) for managing groups... once you've grabbed the code, search for "GroupCoordinator" to see examples.
Steve
On 2/4/06, Peter White <pwhite8...@gmail.com> wrote:
> I can't help Mike, but I hope you're successful, this would be really > useful.
> Have you also asked the same thing on the Digital Expert forum at > sonos.com? There's a lot of developers on there.
> Pete
> On 2/3/06, MichaelD <mike.dewhu...@btinternet.com> wrote:
> > I'm writing some VBScripts to control SONOS from HomeSeer, and have got > > the basics of play/stop/volume etc. for specified zones, but can't make > > sense of linked zones, and how they are managed by SONOS.
> > It seems a really fundamental step when wanting to switch zones to use > > speech from a HomSeer line-in source, then put things back how they > > were, so others must have been able to build a good understanding of > > this.
> > I can see the effect of BecomeCoordinatorOfStandaloneGroup, and > > recognise the source from GetMediaInfo when playing source from another > > linked zone, but haven't been able to fit together the overall picture > > for controlling them. Is there a simple explanation that anyone can > > offer?
Steve, I had seen your code earlier, but as it was the first time I'd seen C, it left me a bit lost. However, a good brisk climb up the learning curve and it has started to make a lot of sense. Thanks for posting the code.
The confusing thing about the groups was all those Actions with 'group' in the name, and the GroupManagement Device that must have some purpose? But, like many things, handling groups is really simple, once you understand it.
The scripts I'm developing are now pretty close to being complete, I just need to do a bit of tidying-up, and some documentation, then they should be up on the HomeSeer notice board by the end of the month