Google tts plays already cached text to speech files but not new text to speech requests?

Googling for hours but no fix for me. I’ll preface this with my understanding of how tts works. Correct me if I’m wrong here. When I call the tts service with some text its sent out to google who converts it to a sound file then is sent back to home assistant who then sends it to the media player, in my case google homes/minis. From reading the homes assistant page it seems most problems stem from using ssl and certificates to secure our remote connections to hass. The google home will not accept the file sent with the self signed certificate. In this case you set a a base url option under tts in your config.yaml file which is just the non-secured local ip address (http:your.local.ip.address). So now when you send out the sound file the google home/mini accepts it.

My problem is that old phrases that I input into the service work and google home replays the already cached file but new sayings I input to the service do not work. Any ideas. Here is some relevant info from my config
Im on hassbian Home Assistant 0.78.0


  api_password: !secret api_password
  ssl_certificate: /home/homeassistant/dehydrated/certs/redacted/fullchain.pem
  ssl_key: /home/homeassistant/dehydrated/certs/redacted/privkey.pem
  base_url: redacted:8123

  - platform: google

log errors

Error executing service <ServiceCall tts.google_say (c:redacted): entity_id=['media_player.bathroom_speaker'], message=help me help me>

Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.5/site-packages/homeassistant/”, line 1127, in _event_to_service_call
await service_handler.func(service_call)
File “/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/tts/”, line 137, in async_say_handle
File “/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/tts/”, line 306, in async_get_url
engine, key, message, use_cache, language, options)
File “/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/tts/”, line 318, in async_get_tts_audio
message, language, options)
File “/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/tts/”, line 83, in async_get_tts_audio
token.calculate_token, part)
File “/usr/lib/python3.5/asyncio/”, line 380, in iter
yield self # This tells Task to wait for completion.
File “/usr/lib/python3.5/asyncio/”, line 304, in _wakeup
File “/usr/lib/python3.5/asyncio/”, line 293, in result
raise self._exception
File “/usr/lib/python3.5/concurrent/futures/”, line 55, in run
result = self.fn(*self.args, **self.kwargs)
File “/srv/homeassistant/lib/python3.5/site-packages/gtts_token/”, line 28, in calculate_token
seed = self._get_token_key()
File “/srv/homeassistant/lib/python3.5/site-packages/gtts_token/”, line 62, in _get_token_key
a =“a\\x3d(-?\d+);”, tkk_expr).group(1)
AttributeError: ‘NoneType’ object has no attribute ‘group’

I was seeing some pychromecast errors too but I dont have any in my logs since a recent restart

Let me know if I can provide anymore info

The problem resolved for now without my intervention? Maybe I should cache everything I need to have spoken now.

Did you ever figure this one out? I am experiencing the same problems now: cached phrases work very quickly, non-cached phrases don’t at all.

For reference: [TTS] ~3 minute delay when sending text to Google cast / home · Issue #46631 · home-assistant/core · GitHub