Cloud say / TTS stopped working after I moved HA to a NUC

So I moved my HA setup from a PI4 to a Intel Nuc yesterday. Means it also got a new IP address.I restored my snapshot, so everything is configured exactly the same way as it was before.

I have a bunch of “Cloud Say” stuff configured in NodeRed which worked perfectly. Now, after the move, I only hear the initial chime from my google home mini and thats it. No message whatsoever. I cant find the problem, no matter what I do.

The configuration.yaml entry that worked for months is this:

Text to speech

tts:

  • platform: google_cloud
    key_file: googlecloud.json
    voice: en-GB-Wavenet-C
    encoding: mp3
    speed: 1.1
    pitch: 0
    gain: 0

Heres an example flow:

[{"id":"30d4ea36.f44086","type":"server-state-changed","z":"57a31531.a6deb4","name":"León Just Arrived","server":"54470db4.36cb74","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"input_select.leon","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"Just Arrived","halt_if_type":"str","halt_if_compare":"is","outputs":2,"output_only_on_state_change":true,"for":"","forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":180,"y":500,"wires":[["fe233b48.455fc"],[]]},{"id":"fe233b48.455fc","type":"ha-wait-until","z":"57a31531.a6deb4","name":"Wait: Door Opened","server":"54470db4.36cb74","outputs":1,"entityId":"binary_sensor.penthouse_door","entityIdFilterType":"exact","property":"state","comparator":"is","value":"on","valueType":"str","timeout":0,"timeoutType":"num","timeoutUnits":"seconds","entityLocation":"","entityLocationType":"none","checkCurrentState":true,"blockInputOverrides":true,"x":370,"y":500,"wires":[["e3080b01.4b31a"]]},{"id":"686c73fe.9cdc5c","type":"api-render-template","z":"57a31531.a6deb4","name":"Randomizer","server":"54470db4.36cb74","template":"{{ [\n\"Welcome Home Leon!\",\n\"Leon you are home, I missed you so much!\",\n\"Welcome back!\",\n\"Hey there Leon, welcome Home!\",\n\"Leon cant hide from the system. Welcome home!\",\n\"Just a quick announcement. Leon has arrived!\",\n\"My systems are picking up the presence of an additional human. Leon has been identified as home!\"\n ] | random }}","resultsLocation":"payload","resultsLocationType":"msg","templateLocation":"template","templateLocationType":"msg","x":710,"y":500,"wires":[["4d9941f4.877e5"]]},{"id":"4d9941f4.877e5","type":"api-call-service","z":"57a31531.a6deb4","name":"GCS: Welcome Home","server":"54470db4.36cb74","version":1,"debugenabled":true,"service_domain":"tts","service":"cloud_say","entityId":"media_player.kitchen_speaker","data":"{\"message\":\"{{payload}} Currently in Paderborn it is {{entity.weather.dwd_weather_paderborn.attributes.temperature}} degrees and {{entity.weather.dwd_weather_paderborn}}\",\"language\":\"en-IE\",\"options\":{\"gender\":\"female\"}}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":900,"y":500,"wires":[[]]},{"id":"e3080b01.4b31a","type":"time-range-switch","z":"57a31531.a6deb4","name":"7:00-23:59","lat":"51.760502","lon":"8.749600","startTime":"07:00","endTime":"23:59","startOffset":0,"endOffset":0,"x":550,"y":500,"wires":[["686c73fe.9cdc5c"],[]]},{"id":"54470db4.36cb74","type":"server","name":"Home Assistant | Leon","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Solved this by adding the address for external remote control (nabu casa) as a base_url. I have absolutely no idea why I suddenly need this, but it works.

So my config.yaml now looks like this:

Text to speech

tts:

1 Like

Thank you for this! Was having the same problem and this fixed it.

1 Like