For months, I’ve had a Google Home Mini that I used with Home Assistant for TTS notifications. Always worked, never an issue. Recently, I’ve added a Nest Mini (basically a Google Home Mini v2), but I can’t get the TTS to work on that one.
I fixed it. The problem was that the Nest mini uses the Google DNS (8.8.8.8 / 8.8.4.4) by default, which means it tries to access my HA instance by the external IP. My router doesn’t support NAT loopback, so that doesn’t work. The rest of my home network uses the internal Pihole DNS which resolves the HA hostname to a local (192.168.x.x) IP address.
I blocked access to the Google DNS servers on the router, causing the Nest mini to use the local DNS server as a fallback. This is a difference between the Google Home mini and the Nest mini, apparently.
If you’re in the same boat as I was, you already have a local DNS running (maybe Pi-hole) because you want your hostname (probably xxxxx.duckdns.org) to resolve internally to a different IP than externally. You want to make sure the the Nest Mini can’t reach Google’s DNS (block 8.8.8.8 and 8.8.4.4 in the router) and that it falls back to your local DNS. You can’t use Pi-hole to do this because it does not involve name resolution.
I think that is my issue. I dont have Pi-Hole DNS or a local DNS. All I have is Acher c1200 Router and a modem from my (dutch) internet provider. Besides that I am using DNSmasq to have my HA accessable from out and inside with the duckdns url. Quit complicated