TTS not working with LetsEncrypt

Sup guys.
After I updated to 0.48 and everything went bonkers, I decided to start from scratch and reinstalled everything on my Rpi 3 with Bruh’s Video tutorial. but this time I decided to install Letsencrypt,
The problem is that if I turn lets encrypt on. all my tts automations stop to work . let me try to explain.
I have this automation to let me know when the patio door is open:

  • alias: back door
    trigger:
    • platform: state
      entity_id: binary_sensor.patio_door_opened
      to: ‘on’
      action:
      service: tts.google_say
      entity_id: media_player.home
      data:
      message: Back door Open

But if I leave Letsencrypt on. all it happens is that Google Home does the initial chime but no speech comes out. and the chime only works around every 5min or so.

I have searched all over for a fix and couldnt find one, even reformated the whole thing and reinstalled from the beguining again, but it didnt help.
any sugestions.

Working fine here.

Please confirm that you have set base_url in http section of configuration.yaml , and post any relevant configuration entries.

1 Like

…also, I don’t use cache on mine, but if you do have you whitelisted the tts directory?

Ive tried many different combinations of base_url and none of them worked. even got this script on my frontpage to test:

test_tts:
alias: Test for TTS
sequence:
- service: tts.google_say
entity_id: media_player.home
data:
message: Hello. This is a test of Home Assistant Voice. Cheers!

and still is a no go.
my configs are as follow:

tts:

  • platform: google
    cache: true
    cache_dir: /tmp/tts
    time_memory: 300

but also tried

tts:

  • platform: google

http:
api_password: !secret api_password
ssl_certificate: !secret ssl_certificate
ssl_key: !secret ssl_key
base_url: !secret base_url

tried with

  1. https://my.domain.com
  2. my.domain.com
  3. my.domain.com:8123
  4. https://my.domain.com:8123
  5. 192.168.1.41:8123
  6. 192.168.1.41
  7. localhost
    and every other combination found online, none of them work
    thought it was a error on installation, so I reformated the whole thing and installed it again, and not even that worked

2 is the correct format for base_url

Can you try cache: false out of curiosity?

What device is media player home?

google home

Correct is not the first
https://xxx…duckdns.org

?

I guess either 1 or 2, 2 is what I have here I’m sure.

Have you tried with the message in quotes?

That’s the only difference I can see, and my devices are Chromecasts so there’s no reason this shouldn’t be working for you.

can you post your configs please, Imma try to match it. to see if it works

In my configuration.yaml:

http:
  api_password: !secret api_password
  ssl_certificate: !secret ssl_certificate
  ssl_key: !secret ssl_key
  trusted_networks: 127.0.0.1
  base_url: !secret base_url
  ip_ban_enabled: True
  login_attempts_threshold: 3

tts:
  - platform: google
    cache: false

media_player:
  - platform: cast

Format of the secrets…

ssl_certificate: /etc/letsencrypt/live/MY-URL.duckdns.org/fullchain.pem
ssl_key: /etc/letsencrypt/live/MY-URL.duckdns.org/privkey.pem
base_url: MY-URL.duckdns.org

An automation that utilises it…

- alias: "timer execute"
  trigger:
    platform: state
    entity_id: input_slider.timer_minutes
  condition:
    - condition: template
      value_template: '{{ states.input_slider.timer_minutes.state|float == 0.25}}'
  action:
    - service: tts.google_say
      entity_id: media_player.ccagroup
      data:
        message: 'The timer has expired, The timer has expired'

(don’t worry about the trigger and conditions, you can manually trigger the automation from the interface).

Hope this helps.

No luck, tried everything, even took out google home and tried with only chromecast and had the same result.

Im sure is something simple that has to do with letsencrypt, because if I turn it off, everything works fine. but I been working on this for the last 3 days with no luck, my brain cant think of anything anymore.

maybe someone with show up with the same problem and a solution.

thanks for the help though! I appreciate it.

1 Like

Totally random thought, but are you setting the volume first? It’s not that it’s working fine but the volume is on zero is it? Obviously you would get the wake-up chime because the speaker is waking up, but then if the volume is zero you wouldn’t hear the TTS.

yeah, i thought of that too, but the initial chime from google home comes on, only the speech that gets lost. I even set the volume to max just in case.

1 Like

I’m at a loss then, sorry. All I can say is it is definitely working here with the settings as posted.

:thumbsup:

Same issue here - it has never worked with letsencrypt.

I gave up in the end :frowning:

same, using without it until they fix it

I think I may have found the problem (In my case)

Checking the log shows…

2017-07-14 22:16:54 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: new_state=<state media_player.living_room_home=off; friendly_name=Living room Home, supported_features=21437 @ 2017-07-14T23:16:54.172914+01:00>, old_state=<state media_player.living_room_home=idle; media_content_id=https://mydomain.ddns:8123/api/tts_proxy/bac9388d0498fb378e528d35abd05792291af182_en_-_google.mp3, media_position_updated_at=2017-07-14T23:11:52.502595+01:00, supported_features=21437, volume_level=0.7300000190734863, app_name=Default Media Receiver, app_id=CC1AD845, is_volume_muted=False, friendly_name=Living room Home, media_position=0 @ 2017-07-14T23:11:52.506981+01:00>, entity_id=media_player.living_room_home>

I can see the mp3 is being successfully downloaded, but trying the https link directly in a web browser gives a DNS error.

Then I noticed the domain is incorrect!!!
Log shows https://mydomain.ddns/8123
Should be https://mydomain.ddns.net/8123

Adding the .net to the link and trying again in a web browser works as expected, so I’m guessing the issue is long domain names?

nah, thats not it, I never tried using mp3s but normal tts from google home does not work, only the inicial turn on chime come on when the device is in sleep mode.

The mp3 file is the sound file sent to google home.

Look in > \HASSBIAN\home assistant\tts