Sonos Say

Here everything is fine

sorry, I was not specific enough.

HCS message:
Unfortunately, it is currently not possible to determine when the installation is complete.

Could it be that I have to deactivate the previous external node-sonos installation on my NAS first?

My fault.

The HCS app crashed with the old version yesterday and I forgot to restart it.

3.1.4 is installed now


Good to hear you found out what was causing the issue :wink:

After installing the latest version it’s working :slight_smile:.

I do like the Say option, especially the option to change the volume level.
I tried also the Say option from Athom, the dutch (male) voice sounds (to me) better and more natural. Can you get that voice aswell in your app?

In this app when using Say, it’s taking some time for the volume from the original source to be restored.
Is it possible to have the same function that the Athom app has, when the Say card starts the original volume is lowerd and when the say is done the volume is restored to the original level?

Yeah i worked on that, but only with the Sonos Say URL actioncard, which is to be used with my almost published app: Google Services, new App for new Text-to-Speech for any device with speaker output and url input - Apps - Homey Community Forum (

Although, your speakers should allready restore to there original state after Sonos Say (URL or Text).
But it edpends on your configuration.

I have a Sonos Playbar with Input SPDIF and grouped (as leader because of spdif) with livingroom.
SPDIF was not an option with node-sonos-http-api, so i wrote the Sonos Say URL action card “seperate” and build the functions to restore even with SPDIF!

But like i said, the restoring of previous settings depend greatly on your config.

I would very much like to use this app, but unfortunately it causes my Harmony Hub to end the current activity and turns my TV and STB off. :frowning:
Not sure exactly how it does this…

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!