Google Assistant Keeps losing connection with Home Assistant

I did all the steps (nginx addon etc.) and restarted everything several times and we’re a day later but it still only shows Cloud in those metrics.
What could I’ve done wrong?

Here also.

There’s a number of potential hiccups in the process, but if you are separating your network on two different VLANs (ie IOT network vs trusted devices) then you may need a mDNS repeater to bridge the local communication between your google home/nest, HA, and the devices. I’m using Avahi on OpenWRT. Your router will need to not prohibit mDNS broadcasting (ie no device isolation). Not sure if just having your HA server and Google Assistant devices on the same VLAN is sufficient. I’m also not sure if all generations of google assistant devices do local control - likely the non-Google branded devices will not. Seemingly all of my devices were labeled as fulfillment hubs when using the developer tools from Chrome, but you may want to explore the documentation in full.

I have the same problem with home assistant and duckdns. My doubt is that from the app or the PC I can access it perfectly with the external url, I only have a problem with Google Assistant which, for a month or so, has been working intermittently. Could it really be a duckdns problem when only the Google Assistant fails?
Thank you

I confirm that what @User87 described SOLVED the problem. Many many thx as this was very annoying for too long now.

1 Like

Sadly yes. The problem is DuckDNS’s latency and Google’s API configuration timing out.

I think I have solved this problem for my environment, all while still using duckdns.
What changed:

  1. I removed the ssl_certificate from the http: integration. It just works over NGINX. It has been working for sometime, but I had leftovers in my configuration.yaml.

  2. I followed the steps to enable the local fulfilment for google assistant.

Since then, the issues have stopped and I am getting repliable connection to google assistant.

hello,
I’m also using duckdns. I saw this discussion and enabled the local fulfilment for google assistant.
Now, when it works “in local” the response is faster and reliable.
But now I see that it works sometimes “in cloud” with a Fulfillment Success Rate very low (I ask 10 times and it works about 1 time) and sometimes in local…
I don’t know why it doesn’t work always “in local”

For example:
yesterday until 17.00 it worked “in cloud”, after that always in local and this morning again in cloud…

So I need a little help with this one I removed the ssl_certificate line from the http integration but once I do that I am not able to reach my HA from outside the network or from the duckdns address. And I am not sure how to setup NGINX correctly to resolve this issues I would appreciate some help on this one.

I have read this entire thread from 2022 to date. I am a newbie to HA, but I have been able to watch videos, get DuckDNS working, integrate Google Assistant, and do the long process of making “free method” Google Assistant connect with HA.

I also have an issue when I speak the command “Hey, google active light,” Google Assistant tells me HA is unavailable for any command spoken. Yet when using the HA app and running those same commands as scripts they work each time.

What is the true fix or issue? DuckDNS does work so is that the issue? Or it is really on Google side. I am using OpenDNS for my Unifi setup so could that be the issue vs using ATT broadband DNS.

So much here hard as a newbie to figure out how to fix

Did you follow everything here: addon-cloudflared/cloudflared/DOCS.md at 15322ccd275bc9ced13c208c451a2aac83c572a0 · brenner-tobias/addon-cloudflared · GitHub ?

When I first set it up I added another range than what is mentioned here, but adding it exactly like it’s written here (Home Assistant configuration) solved that for me: addon-cloudflared/cloudflared/DOCS.md at 15322ccd275bc9ced13c208c451a2aac83c572a0 · brenner-tobias/addon-cloudflared · GitHub

From experience I can say that the true solution is to move away from DuckDNS.
I’ve setup the Cloudflare method and since then zero issues with Google Assistant.

So the issue was with DuckDNS and not Google Assistant.

1 Like

Local fulfillment did the trick for me. Everything works fine and the latency is much better now, too. And I am still using duckdns.

@PuckStar and others. Yes, dropping my DuckDNS for CloudFlared is working great. I’m so happy it is. It’s faster, and voice commands work each time. It’s still free. Well, I did need to pay for a CloudFlared domain for $8yr, but it’s still good.

I can’t do it work. I have changed to local but my Google Home can’t sync with Home assistant. I’m a bit confused about this setup

“1. Set MDNS service name to _home-assistant._tcp.local
2. Select Add field, then under Select a field, choose Name.
3. Enter a new Value field set to .*\._home-assistant\._tcp\.local

It means that I must change “_home-assistant._tcp.local” to my local IP or must copy exactly that _home-assistant._tcp.local?
Thanks

Just to add my 2 cents. I only just started trying to use google_assistant and immediately found it to be very unreliable. I have been accessing my ha through duckdns with https for months but google_assistant just didn’t work well.

I spent the morning setting up cloudflared and it works amazing. Luckily I already had a domain for my personal website, I migrated the nameservers to cloudfare and was up and running. I know nothing about this stuff so if I can do it, anyone can!

1 Like

You can trace the issues at https://console.cloud.google.com/logs/query

After I did, I realized Google reports:

externalDebugString: "Error querying agent backend. State: URL_TIMEOUT, reason: TIMEOUT_DNSLOOKUP"
isSuccess: false
statusType: "EXECUTION_BACKEND_FAILURE_URL_TIMEOUT"

Checking with https://www.dnswatch.info/ it shows that the DuckDNS name servers tend to take too long (over 2000 milliseconds).

Google appears to have a very short TTL (time-to-live) for the records. Or maybe it’s DuckDNS.

Either way, DuckDNS doesn’t respond fast enough for Google, so it stops working.