cdybdahl, I’m now following this issue… https://github.com/home-assistant/home-assistant/issues/13442
Ah, interesting… that definitely looks familiar. Not a lot of activity in the past couple of weeks though… I’ll chime in over there a bit later on today, and encourage you to do the same.
Have you tried removing the port from base_url? I use ssl and when using a port in base_url, I get the sound from the google home but no message. When I remove the port it works fine.
Holy shit, that solved the problem for me! Assuming it had something to do with the cert matching the *.duckdns.org domain…
THANKS!
@cdybdahl Are you using 8123 forwarded to your Hass.io instance? Could you possibly share your whole ‘http’ config?
I tried this and it did not work for me Google TTS does not working when SSL is enabled · Issue #13442 · home-assistant/core · GitHub. Any other pointers?
Are you forwarding 443 to 8123?
My http config:
http:
api_password: !secret http_password
base_url: !secret public_url
ssl_certificate: /ssl/fullchain.pem
ssl_key: /ssl/privkey.pem
Base URL is REDACTED.duckdns.org (no port), and 443 is forwarded to 8123 in my router config.
@cdybdahl Thanks. I’ve now got the correct path (?) being shown in the developer/states page as below but I still get no speech. Media player turns on but nothing spoken. Now running 0.67.0.
volume_level: 0.7272727489471436
is_volume_muted: false
media_content_id: https://mydomain.duckdns.org/api/tts_proxy/2e871554f1f3e466dshjy282f6b2f308141e40112f_en_-_google.mp3
media_position: 0
media_position_updated_at: 2018-04-15T23:47:38.644053+00:00
app_id: CC1AD845
app_name: Default Media Receiver
friendly_name: Gaming Room Home
supported_features: 21437
What is your ‘media_content_id’ after you’ve got it to say something?
Hi, I’m running hassio 0.73.3 w/ SSL enabled via DuckDNS and Let’s Encrypt. I have removed port 8123 from my base URL and have port 443 forwarding to 8123 in my router’s config.
Also, I can see that the Google TTS mp3 files are being created and stored in 'config/tts". Finally, I can even see my Sonos speakers queue the TTS mp3 files to play. But for whatever reason, they won’t actually play.
Any ideas for troubleshooting?
I was having the same issue as you, solved it by adding this to the tts: config
tts:
- platform: google
base_url: https://<yours>.duckdns.org
I didnt, and still dont use “base_url” in the http component
Cool. Curious as to why you don’t use base_url in http component. Can you elaborate?
I was able to get it working by adding port forwarding 8123 > 8123
I had it commented out from over a year ago when I first setup HA and everything worked without it, not even sure what it does exactly, glad you got it working
I had the same issue. I had recently uncommented the base_url. Once I commented it out again, my TTS started working once more. I am using a Docker container.
I recently got this problem after adding home assistant behind an nginx reversed proxy. Fixed it by adding base_url in the tts section
HI, can you give me more information about configuration of nginx? wich home assistant version do you have?
I have Home Assistant Core 0.116.2 and when try to launch tts service i receive the error:
2020-10-18 18:43:39 ERROR (Thread-10) [homeassistant.components.cast.media_player] Failed to cast media http://<internal_IP>:8123/api/tts_proxy/6279886fde090b3038f267098bcca771a6efa946_en-us_a9c18110b0_cloud.mp3 from internal_url (http://<>internal_IP:8123). Please make sure the URL is: Reachable from the cast device and either a publicly resolvable hostname or an IP address
Here is my configuration. I’m running always the latest HA. I run this on Debian.
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
# Update this line to be your domain
listen 443;
server_name homeassistant.yourdomain.something;
# Ensure these lines point to your SSL certificate and key
ssl_certificate /etc/letsencrypt/live/homeassistant......../fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/homeassistant......./privkey.pem;
# Ensure this line points to your dhparams file
ssl_dhparam /etc/nginx/ssl/dhparams.pem;
# These shouldn't need to be changed
# listen [::]:443 default_server ipv6only=off; # if your nginx version is >= 1.9.5 you can also add the "http2" flag here
add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
ssl on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "EECDH,.................. More stuff.......RT:!DES:!MD5:!PSK:!RC4";
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
proxy_buffering off;
location / {
proxy_pass http://127.0.0.1:8123;
proxy_set_header Host $host;
proxy_redirect http:// https://;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
It does not matter. I use mine to get encryption and my own certificates. Also to use cnames.