Google Cloud TTS error

Hello,

I just set up GC TTS for the first time, and am getting following error in the log:

Logger: homeassistant.components.tts
Source: util/async_.py:161
Integration: Text-to-Speech (TTS) (documentation, issues)
First occurred: 10:59:50 (1 occurrences)
Last logged: 10:59:50

Error setting up platform: google_cloud
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/tts/init.py”, line 176, in async_setup_platform
provider = await platform.async_get_engine(
File “/usr/src/homeassistant/homeassistant/components/google_cloud/tts.py”, line 158, in async_get_engine
return GoogleCloudTTSProvider(
File “/usr/src/homeassistant/homeassistant/components/google_cloud/tts.py”, line 208, in init
self._client = texttospeech.TextToSpeechClient()
File “/usr/local/lib/python3.9/site-packages/google/cloud/texttospeech_v1/services/text_to_speech/client.py”, line 388, in init
self._transport = Transport(
File “/usr/local/lib/python3.9/site-packages/google/cloud/texttospeech_v1/services/text_to_speech/transports/grpc.py”, line 148, in init
super().init(
File “/usr/local/lib/python3.9/site-packages/google/cloud/texttospeech_v1/services/text_to_speech/transports/base.py”, line 105, in init
credentials, _ = google.auth.default(
File “/usr/local/lib/python3.9/site-packages/google/auth/_default.py”, line 546, in default
credentials, project_id = checker()
File “/usr/local/lib/python3.9/site-packages/google/auth/_default.py”, line 542, in
lambda: _get_gce_credentials(request),
File “/usr/local/lib/python3.9/site-packages/google/auth/_default.py”, line 274, in _get_gce_credentials
if _metadata.ping(request=request):
File “/usr/local/lib/python3.9/site-packages/google/auth/compute_engine/_metadata.py”, line 85, in ping
response = request(
File “/usr/local/lib/python3.9/site-packages/google/auth/transport/_http_client.py”, line 106, in call
connection.request(method, path, body=body, headers=headers, **kwargs)
File “/usr/local/lib/python3.9/http/client.py”, line 1285, in request
self.send_request(method, url, body, headers, encode_chunked)
File “/usr/local/lib/python3.9/http/client.py”, line 1296, in send_request
self.putrequest(method, url, **skips)
File "/usr/src/homeassistant/homeassistant/util/async
.py", line 173, in protected_loop_func
check_loop(func, strict=strict)
File "/usr/src/homeassistant/homeassistant/util/async
.py", line 161, in check_loop
raise RuntimeError(
RuntimeError: Blocking calls must be done in the executor or a separate thread; Use await hass.async_add_executor_job() at homeassistant/components/google_cloud/tts.py, line 208: self._client = texttospeech.TextToSpeechClient()

Any ideas?

I’m having the same problem.

There is no /usr/src/homeassistant directory

@wptracy, If you are using duckdns, make sure the certificate is still valid and that you can connect to the nabu casa external url that they provide for you.

I had to sign out (config/cloud/account) then reconnect to get it working again.

Thanks xairrick,

I got it working. I hadn’t created a service account in https://console.cloud.google.com/

step 6.2 in Google Cloud Platform - Home Assistant