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}]
1 Like

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

Doesn’t work for me.

Logger: homeassistant.components.hassio
Source: components/hassio/__init__.py:420 
Integration: Hass.io (documentation, issues) 
First occurred: 2:52:49 PM (1 occurrences) 
Last logged: 2:52:49 PM

Component error: base_url - Integration 'base_url' not found.

This thing is really annoying. I migrated my Home Assistant instance from a Raspberry Pi3b+ to a Pi4b - as with @Loony1, new IP address. Everything works well except for this.

My mini player still shows my old IP address while playing music. That IP address isn’t even on the network now. That Pi is sitting in a drawer right now.

Screen Shot 2021-03-19 at 12.34.42 AM

Screen Shot 2021-03-19 at 2.57.23 PM

I guess that explains why the tts.cloud_say in automations still perform the automations, but kick my music off the speakers, without saying a thing. Nabu Cloud is still trying to use my old IP address as a tts_proxy. I just don’t know how to set that to the new one.

I had a similar issue when I changed my networks base IP. What I saw is that in the core config (/core/config) the internal URL is filled and is probably the old one. If you are running your config in yaml mode you cannot change this. What I eventually did is go to .storage directory in the root config directory of Home Assistant. There I edited the core.config files and there I changed the internal url to the new IP address.

This worked for me :slight_smile:

Thanks @Wusser! That fixed it!

This is also the sollution for me added this and it works, GREAT!!!

Base_url: https://#redacted#.duckdns.org:8123