TTS to google home and google home mini won't work

Hi! I have search the community but I can’t tts to google home and google home mini. When i try to send a text to my devices it’s react but I don’t hear any sound but In the folder tts mp3 files is saved. This is my config for tts and i have tried port 443 and 8123 with no luck.

- platform: google_translate
  cache: true
  cache_dir: /tmp/tts
  time_memory: 300
  base_url: http://[PUBLICIP]:8123

My router dosen’t support nat loopback and I have lets encrypt as an addon on hass.io

try removing http:// from the base_url

(I dont have it in my config)

No luck with that. I think that lets encrypt cases the problem.

my configuration.yaml

http:
  # Secrets are defined in the file secrets.yaml
  # api_password: !secret http_password
  # Uncomment this if you are using SSL/TLS, running in Docker container, etc.
  # base_url: example.duckdns.org:8123
  base_url: myorg.org
  ssl_certificate: /etc/letsencrypt/live/myorg.org/fullchain.pem
  ssl_key: /etc/letsencrypt/live/myorg.org/privkey.pem

# Text to speech
tts:
  - platform: google_translate
    service_name: google_say

(I’m not using hass.io though)

service is google_translate_say

1 Like

Ok, I am pretty much lost here to get this working…
I have nat loopback - but I installed dnsmasq (that is working)
I have tried with adding the base url
I am almost certain I have all ports forwarded
Just cant hear the TTS
I hear the chime that rings if you wake up the device, but it just cant find the mp3 file.

I am running hassio

somebody has more tips/hints?

Are the tts files being created? default directory is ~<hassuser>/tts

yes they do :frowning:

so you know that the mp3 files are ok, and thus the tts part works - just not playing the file on a home device.

is there anything in the logfiles once you try a speech? On my install (ubuntu + virtenv python), I get the standard home_assistant.log plus additional messages to /var/syslog…

Not sure if you have fixed this already, but @atomicpapa is right. The correct service to call is tts.google_translate_say instead of tts.google_say.

I am using tts.google_translate_say - but it is not working.
I have NAT Loopback, but I have successfully installed DNSMasq (other devices are working)

Reading in other treads and from input from a collegue,
I have installed a webserver and with link to the file location.
Now my files are accessible via http://xxx.xxx.x.xxx:21500/file-name.mp4

Yet, it is still not working as for some reason Home-Assistant looks for the file in:
http://xxx.xxx.x.xxx:21500/api/proxy/file-name.mp4

ok, I got it working…
I added a command line in my Apache Webserver so it relays any requests from
http://xxx.xxx.x.xxx:21500/api/proxy/file-name.mp4
to
http://xxx.xxx.x.xxx:21500/file-name.mp4

1 Like

Register a DuckDNS domain and set it to the local IP address of your HA server. Use that domain as your base_url under the tts config entry.

The Google Home Mini is hard-coded to use Google’s DNS servers. Google’s DNS servers will look up the IP associated with your DuckDNS domain and get a local IP address in return and give that to the Google Home Mini. The Google Home Mini can now find your HA server locally (which it needs to do to find the tts mp3 files).

1 Like

Will try this
Any port after base_url in my tts config?

Check out 3 solutions to TTS to google home and google home mini won’t work on this thread