Google TTS has stopped working (Hassio)


#21

hi,

i have same problem,
google tts is not working…
here is my post en error log…

hope that fix is on the way…
by
kikan


#22

So I was able to narrow down the problem by looking at the error messages in the HA log. A search afterwards took me to this post

Following the instructions I was able to reach and get the TTS MP3 file generated, which was step one of my problem. Next up was the ability to throw/play the local media MP3 file from HA TTS folder on my google home mini.

To simplify the troubleshooting I am not using SSL or HTTPS, to trying to be as basic as possible. After some probing here and there I was able to play the sound on Google home with my following configruation setup. Hope it may come in handy for anyone else.

http:
    base_url: 192.168.10.24:8123 (my local IP, yours could be different)


# Text to speech
tts:
  - platform: google
    cache: true
    cache_dir: /config/www/tts
    time_memory: 120

I also found some “Morgan Freeman-ish (credits to the original producer)” notification sounds which could be a fun way to generate announce events either using google TTS on the fly MP3 generation or using prerecorded notifications, take a look here :slight_smile:

Shout out if the above was helpful for your to solve your TTS riddles.

Finding some troubles now in customizing automation for home sensor events, lets see if could make any headway over there.

Thanks.


Integrate HASS,IO + SmartThings with Google Home to announce Sensor Events or Variations
#23

Is this workaround with placing that token still needed in the latest Hass version?


#24

Apparently no, i had to reinstall my whole setup with 0.85.0 and I didnt use the token, now Google TTS works without token as normally as it should.

Thanks.


#25

The key to TTS on a google device is to get it to use an internal IP address, with no encryption. Google Home devices ALWAYS use google DNS servers, so if your router doesn’t support loopback, any internal DNS will be ignored. Additionally, any SSL certificate generated by letsencrypt will only be valid on your external IP address, so the google device won’t be able to verify the security certificate. Additionally, I believe they do not support self signed certificates.

My work around is:
I run duckdns, which handles my letsencrypt certificate, but in my configuration.yaml, I only have:
- http: mydomain.duckdns.org
note that I DO NOT have https:// nor any of the security certificates listed.
I can now access home assistant from inside my own network via: http://INTERNAL_IP_ADDRESS:8123

I then have NGINX add on installed. This provides me with SSL access to my home assistant from outside my network (Only port 443 needs to be forwarded)

then to get Google tts to work, you need:
tts:
- platform: google
base_url: http://INTERNAL_IP_ADDRESS:8123


#26

Thats it!

I follow your configuration (but without NGINX), and TTS worked with http://INTERNAL_IP_ADDRESS:8123 ofc.

After the test i revert my config to use ssl again. I was reading NGINX info to try to configure it, but looks a bit hard for me (and maybe using NGINX give other problems, i’m not sure).

But, there is another way to use google tts with my current config?:

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

I tried this with:

tts:
  - platform: google
  http://INTERNAL_IP_ADDRESS:8123

But don’t work.

Is there a way to get google tts work without leaving my current config?

Thanks


#27

I’m afraid it won’t work if you have ssl turned on because the Google devices won’t be able to verify the certificate.
You have to have SSL off in order to have google devices use tts.
NGINX is actually really easy to set up. Install the addon. Then in the addon configuration, you only need to put your domain in. It will initially show:

"domain": null

Change this to :

"domain": "domainname.duckdns.org"

Then simply remove the ssl_certificate and ssl_key lines from your http: section in configuration.yaml

That’s it!

If you have any issues, I’m happy to help!