2018-11-29 17:00:11 ERROR (MainThread) [homeassistant.core] Error executing service <ServiceCall tts.google_say (c:6ec27b9f9a3448e38d4e355e5c25ddf6): entity_id=['media_player.srsx77_mist_2'], message=Klockan är 17:00 och det är 1 grader ute., cache=False>
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/homeassistant/core.py", line 1177, in _event_to_service_call
await service_handler.func(service_call)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/tts/__init__.py", line 137, in async_say_handle
options=options
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/tts/__init__.py", line 306, in async_get_url
engine, key, message, use_cache, language, options)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/tts/__init__.py", line 318, in async_get_tts_audio
message, language, options)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/tts/google.py", line 83, in async_get_tts_audio
token.calculate_token, part)
File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.6/site-packages/gtts_token/gtts_token.py", line 28, in calculate_token
seed = self._get_token_key()
File "/usr/local/lib/python3.6/site-packages/gtts_token/gtts_token.py", line 57, in _get_token_key
tkk_expr = re.search(".*?(TKK=.*?;)W.*?", line).group(1)
AttributeError: 'NoneType' object has no attribute 'group'
vicom, did you change gtts_token.py only or something else? I’ve replaced gtts_token.py and I’m still getting this error.
Error executing service <ServiceCall tts.google_say (c:9fef305e47ed41a89faedac64d82c937): message=5 minutes, entity_id=['media_player.kitchen']>
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/homeassistant/core.py", line 1177, in _event_to_service_call
await service_handler.func(service_call)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/tts/__init__.py", line 137, in async_say_handle
options=options
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/tts/__init__.py", line 306, in async_get_url
engine, key, message, use_cache, language, options)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/tts/__init__.py", line 318, in async_get_tts_audio
message, language, options)
File "/config/custom_components/tts/google.py", line 83, in async_get_tts_audio
token.calculate_token, part)
File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/gtts_token/gtts_token.py", line 29, in calculate_token
seed = self._get_token_key()
File "/config/custom_components/gtts_token/gtts_token.py", line 58, in _get_token_key
tkk_expr = re.search(".*?(TKK=.*?;)W.*?", line).group(1)
AttributeError: 'NoneType' object has no attribute 'group'
I’m on 0.82.1, updated to gTTS-token-1.1.3 and TTS still not working. I’ve never ever had Google TTS work in Home Assistant, even when I was at version 0.5*.*. I’m tried to play TTS to Chromecast and a Google Home Mini, it’s just silent.
Edit, I decided to troubleshoot this and fixed this. I took the following steps:
1: Update gTTS-token (resolved the “AttributeError: ‘NoneType’ object has no attribute ‘group’” error)
2: Change base_url to remove trailing slash and port number (example: https://domain.com")
3: In case of my specific environment, I’m using split-brain DNS for https://domain.com so that the IP inside is a local reverse proxy and the external IP is on another reverse proxy). In my case, I am unable to access port 443 of my public IP which is what Google Home was trying to do. Why doesn’t it use internal DNS? Well its a known issue for Chromecasts so I decided to block Google Home from Google DNS and voila. After restarting it works. Alternatively if not using HTTPS internally, you can set base_url to an IP address to avoid DNS resolution.