Homey Community Forum

Google Services - App for Translate and new Text-to-Speech for any device with url input

Your right, my mistake!
This is indeed (my only) SDK2 app, so actually i dont know why i doesn’t install.
But im still pretty sure that if you update your Homey, it will be fixed/work.
It did for other people. If not let me know please, then we can fix it.

On Homey 5 now, crossed my fingers and all Zigbee just kept working :slight_smile:

But now, done al the necessary things but can’t find the JSON download function… stuck now. Can you show me the way?

Nevermind, worked it out, not really a beginner thing to do. Several different steps must be done in the right order. Could use a bit better instruction for noobs. Having to experiment because homey doesn’t support voice commands anymore, trying to let my new Google Nest Mini do all the feedback when events happen, talking, including all the messages and reminders for the kids etc.

Can you specify the pro’s and cons for the two card options Google Cloud TTS device VS Google TTS Device (non cloud)?

Ofcourse cloud, non cloud but wich one is faster? Takes less space? Need connection or not etc?

Hey RWin,

Indeed, setting up this app unfortunately is not very easy no. I still wanted to share this with the community, because at least (developer-)users who really want this can have it without having to program it all.

There is a big difference between Non-Cloud and Cloud

Non-Cloud is retrieved everytime from the (old) google translate/tts server, with only a language code (one voice per landcode, non-chooseable) with speed mode normal or slow.
Also it doesn’t support SSML.
I build this for people who dont want to get Google Cloud, but do want a simple TTS send to devices that take URLs, like TV’s, for which the current Apps (ofc) don’t provide TTS.

Cloud is build way smarter, having a memory of the last 100 transactions (putting every request (back) to the start of the memory, so the ones you repeat are “saved” in memory).
You can pick multiple voice per languagecode/country, you can adjust pitch and speed (in percentage up and down, not just normaal/slow). So Cloud will use less connection, but to be honest, both speech deliver very small files, mostly just a few KB, i mostly build it because it saves a lott of monthly characters (allthough i don’t even get close to the limit) and ofc also for the speed.
Also supports SSML which makes using this in Homey way easier with a much more natural output.

If you like me want a real P.A. system through the whole house with a good accepteable voice, Cloud is the way to go. :slight_smile:

Okay, thanks! I completely killed Homey speech now :slight_smile: Everything runs through Google Mini now. With the Google routine function i can let it trigger a flow with specific words. All messages homey gave are running through your app now.

Would be great if Athom adopt this function and users don’t have to go through all this work. Will cost Athom only a few bucks for the API usage.

Two other questions, is there a way to remove the notification before each message? Also the volume is around 25% less than the level set within the Google Mini / cast device. Can you solve this somehow?


Personally i have a TicWatch Pro 3 Wear OS operated smartwatch, and my own smartwatch App for Homey, Android en Wear OS. So i speak directly to my house by pressing a button on my watch (and holding it, or pressing it twice er shaking it in a certain way) and i can speak directly to homey. It uses the build in translate modules from Android, and then sends the recieved text to a custom capability of my Smartwatch device.
So i don’t have expirence with Google Home devices and i also will not be getting expirence with it.

I also re-wrote the (speech)text-to-action module on Homey, thats actually where my smartwatch app started, because in the old Homey world, if i said: turn on lights in livingroom; if it didn’t understand livingroom correctly, it would turn on all the lights in the house.
With 6 small kids, that was not ideal in the middle of the night…

After having the option to handle speechs my own way, you can understand my programming view of homey is probebly very different from yours. Where-ever I am (in the world) I can talk to Homey directly and within way less then a second it will respond. I completly use speech with my Homey, and it works so well now a days, that my wive even “requested” that i would put the tablet back on the wall and create a button for her to speech (she doesn’t want a watch on her wrist all day with the kids)., because she became dependend on my. She would come to me for asking to put stuff on the shopping list (wrote functionality to have lists in Homey). The Homey App is almost never opend on the phone: we have speech and (normal) buttons on the walls for lights and curtain’s and the rest is pretty much automated.
This is why i won’t be experementing with Google Home (would work with my kids in the house anyway :slight_smile: )

About Athom including it in there software, I doubt it; because if i was Athom, I propably would not do that. You say its only a few bucks, but even if that were true, it would stil be a few bucks…
But it aint a few bucks, because it is annual/repetitive. Meaning Athom would eather have to create subscriptions for it, or you are setting you company up to go bankrupt in 20-40 years… Not a very good idea :wink: .
Also, tracking of the usage per customer would be needed: else someone can (mis)use it for (in example) reading books out aloud. You can now do that (im working on a idea for that) because you can read out 5-6 books a month within your free usages. If Athom would get an paid account, there is no free part (well, a bit, but gonna be reached fast), they pay (extra) for each letter. So if someone writes a Read-Book-Aloud-App, man o man, Athom would financially be destroyed.

So although setting up an account is a bit of work, this way we can all benefit from it (if we want) without someone paying extra money. And for people who can’t for some reason get a Google Cloud account, there are the Non-cloud devices and Say functions in multiple apps. I would say win/win for everyone.

About the volume, not i cannot help you directly (i have no control over the Google Home appliance app and no Google Home to test stuff (and i’m not gonna place a Google Home in my house, sorry), but yeah i am in the process of getting an app (re-)validated by Athom:
H.O.O.P. (Hope) - Homey Object Oriented Programming
Through this app (and its methods and overloads in this particular case) you can easily (i would say) create a method for when the Url is triggered, to save volume in variable, play tts (and wait to finish in condition part) and then reset the volume (if that can be done with Google Home app?).

Or, request to add an argument for volume to the Url actioncard of the Google ChromeCast app.

Setting the volume for urls would be tedious since not all urls are created equal. Is there no way to increase the volume in the audio stream Google creates? Google TTS has that option.

Yeah i believe there is an option in Google Cloud TTS for that.
I will look it up.

Perhaps you can create an issue-ticket on the support site?:

I will pick it up from there then, as soon as i am able.


Hey Edwin,

I just added Volume Gain (Db) and Device Profile in the Google Cloud TTS device.
I just submitted it to Athom, i think it will becaume available pretty fast probebly, its just a few lines of coded added.

I hope this solves the way you can use this App.

Im so envy, that this works for all of you. A truely great app for Homey that I have been looking for. Maybe my problem is easy and small, however I do not get what im doing wrong.

I have done the Google Service part and belive it is as expected. Can see the text to speech API is enabled. I have got the JSON file and it looks OK.

I have put the JSON file in the Homey app, and the project name and can save the configuration. However the “Voice” part os empty, I can not select any.

I can make the device and the flows, however the “Start Saying xx” do not work. The message is “Did you configure the JSON and Voice in the setings”. As the JSON is there, Im pretty sure it is because I do not have a Voice selected in the settings menu.
However, there is nothing to select in the menu?

I have already tried to restart app and even uninstall and reinstall. I end the same place. I have tried to create the JSON files again, no luck.

Any good ideas on why the Voice is missing?

I had similar effects when billing wasn’t set up.

Billing-detail has to be filled for TTS indeed.
You could test translate to see if you recieve a text (billing is not needed for this) to see if the token is correct, but without setting the account correctly up for TTS, tts won’t work :wink:

Hi Aries,

Think my problem is different, and not related to Google services. Have been in and check, and it looks like billing is set correctly.

The reason I belive this is not related to google services is the “Default Voice” to be set during setup is already “blank” before I start typing in the JSON fil information. Like you can see in this example.

There is no “voice” to choose from in the menu, and this is before any JSON information.

I got the idea that it was because you use Dutch as language, hence I tried to change my Homey from UK to Dutch. Did not solve it. I also tried with Danish, as my phone is using Danish as language. No difference.

Im not able to figure out what Im doing wrong, it is like the problem is in my Homey:-(

Before any JSON there are no voices to show, the JSON must first be set and then there should becaume a list of voices directly after filling the JSON and pushing save.

You are a star:-) Thanks.

Lost patience with the Google Services. Deleted the account and created a new with credit card from the beginning and no test period.

It works:-)

Now I just have to make sure I do the flows right, however I will read the above. Right now it repeates the text every 3 seconds:-) A little anoying.

1 Like

Then you need to use the other Sonos Card, not the URL one buth Play Audio Track.
That one the made so it doesn’t repeat.

Did the volume gain solved your issue?

Hi, I read that further up in the blog, however Im not able to do that, as my Sonos speaker in the hallway (where I need the sound) is a Play5, a S1 device. This old speaker do not have the Play Audio Track card, only the URL card.

However not a very big problem. I just put in a “pause” to the speaker after app 10 sek, depending a on the length of the text. Put this into the "flow that initiate the “say”, so the other flow can be the same for all sounds.

You could use the Sonos Say App from the Community Store (App) : I fixed that one, added an extra card to make it work perfectly with this app.
Sonos Say | Homey Community Store

Yes, I checked all the requirements in the solution, added the payment subscription and then the connection worked as advertised. I could also see al the voices.