TTS on Google Home - plays chime but does not speak

Hi,

I am trying to get my Google Home to speak via TTS but it is not working fully. It’s odd because I can hear the Google Home “chime” on when I send the service request, but it does not speak anything. Is there anything wrong in my screenshot below? Thanks!

I got the same issue in Kodi with Google TTS, which was working in the previous subversion (2 days ago), so I think, the problem could be in the Google TTS api request, but I will check and come back with the findings,

So, I tested the cached TTS mp3 file, it is ok, and also a squeezebox played it well.
Also tested the call service method, it is also working here.
I’m digging deeper…

Are you using SSL? If yes, you need to use the base_url (https://home-assistant.io/components/http/).

I am using duckdns and letsencrypt. I have the base_url set to my duckdns subdomain/domain. I’ve noticed a couple others saying they are having issues with SSL on the latest release. I wonder if it’s related?

If you go to the media player itself, and open the three dot menu on the right hand side, there should be an input line to type in text and send it via TTS.

If you type some text into that and press the submit arrow, does it speak?

I had similar issues, but everything is working well after I fixed the base_url.

base_url: https://bla.duckdns.org

I had this issue…I believe it was because I didn’t have my google home port forwarded to the port of my pi. Or it was upnp needs to be on.

Edit: that guy above me solution sounds familiar.

@rpitera No, it does not speak when entering via the media player window.

@arsaboo I do have the base_url set, but I do not have https:// in front of it. My external access is working fine so do I need to change that?

@Barzattacks Which ports do you have forwarded? I currently have discovery turned off.

Yes…add my TTS was not working until I added the https.

@arsaboo Still not working for me, unfortunately.

Also, if it matters - I have the emulated_hue bridge running and working via Google Home.

Have you tried updating your lets encrypt key. I have this kind of issue with just a normal chromecast audio and that seemed to fix the issue

@Mr_Elly_Font Is that really necessary? I just set up Lets Encrypt a week ago. According to them, my key expires every 90 days.

A slightly different question: how does the Google Home authenticate with my HA instance? The base_url must have an impact, but that is https and requires a password to access. Does Google Home work through local network or does it go through the internet? I’m confused on this bit…

No sure. I had issues like what you have and tried everything and nothing fixed it. But thought it might not have the right key so just update the key and then I could send voice over the chromecast. might just be luck t happened at the same time but worth a try surely as doesn’t take to long to redo

It doesn’t really authenticate anything; GH is seen as a media player. The base url is more so that the TTS service knows where to save the mp3 file to. Looking through the component code and I don’t see any authentication going on.

Just wanted to provide an update on this…

I found this thread: https://github.com/home-assistant/home-assistant/issues/5064#issuecomment-271069458

And changed my base_url to my local HASS IP and everything is working. Thanks everyone for their help!

1 Like

Hallo!
I got this in my config and at last it speaks. Running HA version 0.84.5

Uncomment this if you are using SSL/TLS, running in Docker container, etc.

http:
base_url: https://xxxxx.duckdns.org
ssl_certificate: /ssl/fullchain.pem
ssl_key: /ssl/privkey.pem

I still have this issue. I’m running HA in docker (no HASSIO) using my own personal domain (no duckdns.org) using my own external trusted certificate:

http:
base_url: https://home.mydomain.com:8888
server_port: 8888
ssl_certificate: /config/ssl/home_mydomain_com.pem
ssl_key: /config/ssl/home_mydomain_com.key

My HA is internally and externally reachable at home.mydomain.com on port 8888. Only when I set my base_url like above, I can see that my mp3 files are created in the /config/tts folder. As /config is mapped outside the container, this is a persistent folder.

Still, when I do a test I can hear Google Home chime (of I can see that Google Chromecast is starting to play), but I hear nothing. It is as if they cannot connect to the mp3 file to play it?