Sonos 2.1 Stable Branch

As of today, the Sonos stable branch on Github contains the following:

  • The TTS UI now includes all action parameters, and shows the action generated.
  • New action urn:micasaverde-com:serviceId:Sonos1/AcquireGroupControl to become group controller of a zone’s current group.
  • New action urn:micasaverde-com:serviceId:Sonos1/DelegateGroupControl to delegate group controller authority to another zone (Zone parameter must contain a single zone UUID or zone name).
  • Azure TTS now works for Vera3/Lite. It is necessary to switch the “Requestor” in the TTS settings to “curl”.
  • Change the order of operations and use a temporary mute and volume ramp during post-TTS/alert recovery. It was reported that in some cases, the previous media was being resumed at excessive volume (TTS/alert volume) for a second or two before it recovered. This never happened to me, but I think these changes will fix it for those that do.
  • Support extra fields for MaryTTS, in case there’s more that needs to be passed on the URL that isn’t preconfigured/canned.
  • Remove bogus 1.x defaults from TTS initialization, masking real defaults now in effect.
  • Fix: soft-wrap text input field for TTS tab on Sonos device.
  • Improve media player display and queue contents accuracy.
  • Hotfix 20149-01 and -02: Fixes for parsing of lists (favorites, etc.) missing last entry (caused more streaming/radio problems).
  • Hotfix 20147-01: Fix for service metadata not being correctly reloaded (affects streaming/radio playback).

DEFEATURE: The setting of a chime volume as the third parameter of the TTSChime state variable will no longer be supported. The TTS chime sound will play at the specified volume for the speech audio. Users can control relative volume of the chime by ensuring that the amplitude of audio in the chime audio file is adequate (most audio editors will allow you to make this adjustment).

I’ve spent a good bit of time testing group functionality, and smoothing out some issues there. Sonos has some interesting behaviors, not the least of which includes some pregnant pauses when performing certain group operations. I’ve tried to “smarten up” the grouping as much as possible to minimize the number of interactions needed with the zone player(s), but there’s only so much I can do. These pauses affect the performance of all group operations, and in particular, may delay the start of TTS. But this version should do better than the prior version 2.0, in any case. I’ve also introduced two new actions to make group management easier if you choose to do it yourself.

Still on my plate before this version is released is a complete revision of the grouping UI. The current one is close to the original and I find it equally obtuse.

Some of you may already be on the new Sonos “S2” firmware. I can’t get there, because I have some old zone players that they will not support on S2, so for the moment, I will need to rely on community testing and remote debugging for S2. But so far, so good. I’m watching the other well-known Sonos open source projects for discussion of issues.


Is this where a new capability finally beats you? :wink:


Failure to anticipate consequences in this case. Given the structure of the plugin and its communication with the device, there is no earthly way for me to reliably change the volume from the chime level to the voice level at the right time. The Sonos itself can have delays in sending UPnP events, so the media change notification between the chime and speech audio can be delayed, so the volume will be wrong for part (or all) of the audio. Fixing that would not only require a complete rewrite of the plugin, but would also have side-effects that make the cure worse than the disease. So, off with it’s head.

Wow I thought it was a typo! Just looked it up. Every day’s a school day!


Yeah, maybe “un-feature” would be more appropriate…

1 Like

will test on S2

Testing with S2, no problems encountered so far.

Hello Patrick
So I now have added to my Sonos arsenal the new Sonos Arc and Move.
This forced me to use a new Sonos App S2. I see others here are using the Sonos S2 app succesfully for months.
I had to also factory reset 2 Sonos Play 1’s from the S1 App and reinclude them in the S2 App as the Arcs rear speakers. They were paired to my “Playbar” as rears in S1 and I am aware they group as 1 Speaker (unit) when paired with a Playbar or Arc.
My question is can the Arc and (more importantly) Move be used with your current 20314.1625 App? I want TTS to work on the Move grouped with my S1 TTS grouped speakers. Do I need to install the 2.1 Stable Branch I discovered in this thread in order to see the new Move and the Arc (with the hidden rear speakers)?
I tried adding the Arc to 20314.1625 from the Sonos System Settings …add Manual IP page.
It installed the Arc from my provided ip address but I have no control of the Arc or grouping capabilities. Also tried a test TTS on the manually IP installed Arc and had no success.
Hope I haven’t missed things up to bad!
This puts me at Sonos 10 devices. 6 in S1 and 4 in S2.
Can these 2 Sonos Apps work on Vera simultaneously providing TTS grouping via lua code?

I’m afraid I can’t provide any help here. I’m not going to be investing in any more Sonos hardware. For me, it’s all overpriced, and I’m tired of them locking me out of my zone players and apps every time they want to publish an upgrade. I’m still on S1, and I have no idea what capabilities or limitations are created by S2, but I can imagine given their track record, they’re going to make keeping the old devices as inconvenient (and expensive) as possible.

The plugin was originally someone else’s work that I took on just to provide a TTS alternative to the now-dead ResponsiveVoice. I had and have no desire to be a Sonos expert, or to make any effort toward supporting their products and their awful business practices. In fact, I’m pretty sure I’ve not even gotten one donation attributed to the plugin – not that I care or need it, it just points to how few people use it or find it valuable enough to support.

I’ve been waiting for this day, when the wave of new devices starts the migration to S2 and the incompatibilities start showing. Adding new zone players and trying to keep both S1 and S2 configurations, as well as possible hybrid, for development and testing is well beyond the effort I intended to expend, and cost-wise it’s unjustifiable. It seems like this is a good time to call it quits. Sonos has already moved toward a new API and new generation of firmware, and eventually Vera/eZLO will. too, so the handwriting is on the wall. I’m stopping it here. Sorry, the current 2.1 stable and 2.0 release and hotfix are probably as far as this thing is going to go with me.


No one currently hanging on or that has left this forum can disagree with you. You have been a champion of resources for anyone that asks. Hopefully the technology Gods will send us a product that is user friendly from a company that appreciates talented people like you as friendly assets to their company’s vision. Sonos has definitely become a giant that is showing little loyalty to its owners. I fell into the “30% off” trap of replacing something that was working fine but now realize I have created a monster with the need for 2 apps.

If you would be kind enough
to offer me the following advice.
Is the 2.1 Stable Branch something you created?
Do both the 2.0 and 2.1 work as seperate apps in Vera or do I need to choose one?
I use the Sonos app you have so patiently helped me with 95 percent for TTS not for music listening in my home or studio. (BTW I did donate a case of Smithwicks …not that thats enough gratitude :slight_smile:
How do I delete the Arc sound bar I entered into the 2.0 app. If it possible.
Be well and Thanks.

Yes, the 2.1 stable branch is my output. I’ve an evolution of 2.0, and it’s an either-or – you can run 2.0 or 2.1, but not both.

Version 2.1 (stable branch) for the most part fixes errors in the UI that were left untouched since 1.5 (the first of my transitional versions). It attempts to improve the responsiveness of the “Player” tab, in particular, and errors in the handling of various lists (queues, favorites, etc.) that would cause it to display incorrect data, drop the last entry from the list display, etc. The grouping jobs also got some work, and some new grouping actions were added (AcquireGroupControl and DelegateGroupControl). The handling of published services was operating more by luck than intent, and this was fixed. There were a handful of other small convenience changes, like using volume ramping when restoring playback after TTS/alert (to try to ensure that music doesn’t resume at TTS volume level for a moment). A number of TTS fixes are already well-known as they were published as 2.0 hotfixes (handling very long bearer tokens, etc.) (some of the other fixes mentioned were also published earlier as hotfixes).

I would have to make some additional changes to stable 2.1 to allow you to run two Sonos master devices at the same time. The plugin explicitly prevents that, as part of its protections for making the upgrades needed to device structures going from 1.x to 2.0. I can at least make those changes before shutting work down, as I think many users would find themselves in your same position. But since I don’t have both S1 and S2 on my network to test with, I have no idea if that will work or not. What I know will not work about it is that it will not be possible to group S1 and S2 zones together (so music, TTS and alerts will not sync between the networks, etc.), and any actions you send to the either network will need to be separately sent in duplicate to the other (including TTS). But, at least you’d have both sets of zone players in the Vera ecosystem. I’ll go ahead and start making those changes; I think that would be a useful last step. It may be a bit before I get them done, though, and again, since I can’t test the environment, it’s a big (forum won’t let me post the name of a popular casino dice game) shoot as to whether it works at all.

I was worriod I pissed you off further then just my typical Sonos issues.
Remember …companies always can force some type of change over but “people with integrity” can still be themselves during that change over. I look to communicate with those type of people.
Like I said you are an ace and our champion.
Some thoughts…
( :crazy_face:)

  1. Perhaps taking on the entire Vera line is too much.
    Would having seperate apps for (fewer) seperate speakers or connects prove less troublesome?
  2. Previously my Sonos Play 1’s worked in conjunction on S1 with my Playbar as rear speakers.
    After I activated the new Arc in S2 Sonos had me reset the the Play 1’s and enroll them in the S2 app in order for them to function in S2.
    But they needed an update in order to work.
    I’m thinking that perhaps that update is what makes S2 “special”.
    I still have Play 1’s on my S1 app. In a previous thread you asked to use me as a ginny pig to look at the S2 app.
    If looking at the differences between the same speakers in the S1 & S2 appications would be benificial just ask and show me the way. I would also allow you to do a remote session if that would help expidite your time…
  3. Is it a priority to remove the Arc device that I added to 2.0 by IP address?
    I don’t want to stress my Vera memory or network traffic.