Sonos Say

Let me check what else was missing, I’ll report back.

Just checked, the things I was missing are:

  • Volume_up
  • Volume_down
  • Toggle_mute


Haven’t checked your app yet, so maybe you already have implemented these. Especially volume up and down are a bit silly they aren’t available within the sonos app.

And how much should it go up then?
AFAIK there is only volume set, not up or down?

There is , in node, a volume up, and it goes up one point


Hey Jeroen,

My new Google Service App is Live and you can use to get a better voice on your Sonos (or TV/phone/whatever).
Google Services, new App for new Text-to-Speech for any device with speaker output and url input - Apps - Homey Community Forum (

BTW, i allready have a registered issue about the volume going back to slow. I also have that issue and as soon as i have time, i will put time in solving it (need it myself to ;))

Hi @Ludvig, @Arie_J_Godschalk

I think this here is a bug regarding grouped Sonos speakers.

Bug description:
Group of sonos speakers (5 in my case) exists in the S1 Sonos Controller. The selection card (say text …) of sonos say shows the group leading Sonos speaker only, the others aren’t visible (seems to be ok). After playing a sound with sonos say to the group leading Sonos speaker sonos say degroup all sonos speakers automatically. This should’t happen.

I investigate it myself today :wink:

The described behavior results in how node-sonos-http-api handles the say command. The say command splits a group after playing a sound even if the group existed before.

A solution could be to use the sayall command if the usecase based on a group which contains all speakers. Compared to the say command, in my tests sayall left a group complete after execution if it existed before.

A workaround in the meantime is to use the node-sonos-http-api which is installed with sonos say and send a http get ( But this is a little bit dirty in my eyes if we could use sonos say directly.

@Ludvig : I couldn’t found an implementation of the sayall command in your sonos say app. Is it possible to add the sayall command with TTS.


Hey Joka,

That could very well be true.
I added the Announce(URL) action card, and added extra files in the node-api (to make sure not to mess with original Say) to handle the grouping, and indeed: the node-api has a different sayAll.
I use the normal Say and developed/checked that my (main) group is broken up correct and then reset correct after it (which also doesn’t work correct always yet, don’t know why, but if system is on mute it can break group).

I im going into Sonos Say right now to create an extra action card Announce All URL.

Wait… i read your message above again, and please confirm for me that you are talking about Send Announcement or Say Text.
Because Say Text i didn’t change anything on. The Send (URL) as Announcement i made for the Google Services App and that one works with groups.

Ill add both cards… SayAll and AnnounceAll.

And when developing i noticed that I broke Sonos Say functionality when improving the sourcecode structure. There was a All option in the old Sonos Say speaker list.
I just fixed it and updated it to the Repo of @Ludvig.

So you need to update from my repo XeroxQ/com.svipler.athom.sonos-say: Sonos Say Athom Homey App ( or wait for Ludvig to updated it into his and to the Homey Community Store.

To be clear: You then have (again) an option in Say/SendUrl in the speaker list for All Speakers. Select that one to use the node-api version of SayAll/SayUrlAll.

1 Like

Yes the (old) Say (Text) will indeed break your grouping.
That is why I rebuild the Send Announcement background node-api methods/functions to better fix the grouping. I didn’t change anything with the say text cards (except for just fixing the All Speaker option back into the list of speakers).

For beter reaction with grouping, try the Send URL card.

Thanks for your help.
I have updated the code. Have also added toggle mute to it and we have german translation added. Its on its way out too community store.


Thank’s for your @Arie_J_Godschalk @Ludvig quick response, I will test the fix as soon as it is available.

Edit: All Speakers → works again!

I noted that the sonos app now has its own “Say message” flow card, you can select the speaker and volume and the message. I do not have the sonos say app installed. Did you already see that? So no need anymore for a node server etc. Is this sonos say app now integrated somehow or is it an other implementation?

I don’t have the “say” option, would that be a limitation of an S1 system?

Now that will be correct!

I just checked my Sonos system: all S2, so that can’t be the cause … I also don’t have the option to play a soundboard sound :slightly_frowning_face:

And what type of speaker on which Sonos Homey version app on which Homey fw version?

FW 5.0.1, App 6.0.9

Only thing to try is to re-add a speaker and see if that solves it.
I have the say option on all capable speakers, even connected to the S1 app.
But further problems with this should be discussed in the proper channels. This is all about the Sonos say app, has nothing to do with the say option in the Homey Sonos app!

Well what i am just trying to get accross is that the sonos say app seems to be obsolete since the latest homey updates, because the new sonos app itself can now say messages, without the need of running a text te speech process on a nas.