Use the newest Google Cloud Services, starting with the new Text-to-Speech and Translate.
U can make a Google Translate device and use it as a condition to translate, of which the transalation will be available as a tokenvalue of the device.
For this you will need the below descripted JSON and setup the API at Setup | Cloud Translation | Google Cloud
Useable with each device that takes an URL.
All languages that Google supports, are supported, because the settings are build from live data, so when a new language becames available, it will be for this App also.
Currently you can only set the Voice in the settings, but it will be setable per device in the near future.
You can set Pitch and Speed per device (will be overruled by flows with pitch and/or speed).
SSML coding is accepted now, like: <speak>Here are <say-as interpret-as=“characters”>SSML</say-as> samples.<break time=“3s” />. And continue</speak>
You get a URL for the audio that will be streamed through Homey, so the device eventually playing the mp3 file should be in the same network and have access.
The last 100 transcripts are stored in Homey’s Memory for speed and less requests to Google Cloud (restart of app or Homey means reset of memory).
Create a House device that triggers all applicable devices to say “Dinner is ready!” or just a device for the main room to say “The doorbell is ringing”.
You can add “devices” as many times as you would like, each with its own trigger.
Conditions are also available! You can let a flow wait in de condition till speech is finished before turning to the Then part of the flow.
This works great with other Apps like Sonos (Play Audio Clip), Samsung Smart TV (Launch Browser with URL), Sonos Say (Url) and IFTTT.
For this you wil need to generate your own Google Cloud Service Account at
and fill-in the JSON in the settings.
Also you need to activate/add the “Cloud Text-to-Speech API” library in cloud.google.com.
In total, above is the same as step 1 , 2, 3, and 4 of Quickstart: Using the client libraries
Easiest way to enter the JSON in the settings would be throught the developer site: Homey Developer - App Settings
It’s free upto 4 million characters per month for non-Wavenet voices AND 1 million characters per month for Wavenet voices.
To see how many characters you have used up, goto the Google Cloud Console homepage, and to the right click on View detailed charges (the filter Group By SKU should be on)
As of release 1.6.3, if everything is set correctly, but during translation an error is given by Google Cloud, the message wil me given as notification.
Bandwidth excausted, meaning quota reached, is useally not about the monthly quota, but the minutes quota which you can set yourself in you own Google Cloud Console (account).
There is the also old Google TTS device, with a max. 200 characters and limited options.
You do not need a Google Cloud account for that.
These languages are currently supported in Non-Cloud:
This works great voor a PA system:
How to make a Great Public Announcement (PA) System with any device! - Apps - Homey Community Forum (athom.com)
Create a Google TTS Cloud Device.
In Homey, create a Device, select the Google Service App and then select the Text-ToSpeech device.
Setup a trigger for the TTS Device with a actioncard that send the Url token to the device you want to hear to voice on.
Start a speech condition/action (And or Then part) with a text (and it wil trigger the flow from step 2)