Can't cast TTS to Google Home

Hi everybody,

I’m trying to setup Google TTS to send voice messages to my Google Home.
I can send sounds to Google Home from the “cast” media player platform, however it looks like it doesn’t work for TTS.
I just hear a beep sound telling me it can’t play what I asked.

I don’t know how TTS service works, but I think it should expose a public sound file to make it works with the cast platform.
Even if I set the cache folder on something public it doesn’t work. :frowning:

Did someone successfully configured a TTS to Google Home setup? :

Thanks

Mine just worked with my Google Home Mini. No extra config needed…

Which TTS platform are you using?

I use Hass.io for my setup, may it comes from this?

Did you set the base_url entry in the configuration of the http component? I remember having some trouble with that. Also, remember that the URL you set here is properly resolved with the Google DNS server (8.8.8.8), as it’s hardcoded in the Google Home settings, and it will use it and silently ignore whatever your DHCP provided.

1 Like

Oh gosh… I forgot to set the port to my base_url setting…

Thanks you, it works perfectly now!

1 Like

Hi,

I am also having trouble sending TTS to my Google Home Mini, and just like @fantoine wrote I just here a beep sound.

I have the correct base_url.
I have checked that Google DNS is pointing at the correct IP.
I have no problem sending TTS to Chrome Cast.
There is a file ending up in /tts (I have not set up anything else than platform and language)

My Google Home is auto discovered and I have no entries in configuration.yaml about either the Chrome Casts or Google Home.

Any ideas?

Yes, if the Google home mini behaves in a similar way to what Sonos does, you will need your complete certificate in order to be validated by the device. Take a look at this thread:

Hope it helps you.

Thanks for the tip, but that is not it.

I already use a full chain certificate.

Hi all, yesterday I installed mi google home mini and I have the same problem with tts… The baseurl is ok also the link to mp3 file in the developer tools/states is working but the mini don’t speak. Any idea?

:sleepy: no solution for this problem?

TL:DR = Use application filter on your router and block all chromecasts’ dns traffic.

The same problem for me rise for this reason:
My router does not provide the nat loopback service. So my homeassistant can be reached from outside the network with https://xxxx.ddns.net, as the router just forwards the 443 to 8123 and everything is fine but from inside as there is no nat loopback the router can not forward the 443 to 8123 and you have to use https://“homeassistant ip”:8123. On ios devices this means a invalid certificate so they just don’t open the webpage. Other pc browsers just complain and the you can just choose “continue anyway”. In order to fix this I use a dnsmasq server on the raspberry pi and just forward the xxxx.ddns.net to “homeassistant ip”.

The problem rises as google chromecasts only use a fixed dns server which is 8.8.8.8. The solution to this is to forward all 53 port requests to your dnsmasq running raspberry pi. But unfortunately my router has that option blocked.

But in the end I was able to fix this by using the Application Filter property of the router and blocking the dns traffic of all chromecast devices. I think when the dns request fails the chromecasts just fallback to the dns of the router which points to the dnsmasq running raspberry pi.

What router do you have?

I have a huawei hg255s.

I have Huawei E5573Cs-322 but I can’t find this option, maybe mine doesn’t support this option.

You might have nat forwarding. Have you looked for that? That will also work.