Google Assistant Local SDK - Local Fulfillment

Nabucasa would be better if we could have some answers to our questions.
I cannot say it does not work, but it is half-working on my side.
I say half but maybe it works but as I cannot check it, I cannot know if it really works or not.

I have nothing in logbook when asking if a light is on.
Looks like nabu casa makes some thing unclear.

You can still use the local debugging to see if it is local.

chrome://inspect/#devices

image

You also see in HA itself, in the logbook, if commands are local

Like

image

Vs

image

@pergola.fabio yes but not for queries. I think that’s what he was asking about. btw, that image isn’t a local command. It should say local.

Ahh ok, indeed not for queries

Has anyone confirmed this is working with a Google Nest Hub? I’m having issues with that device doing anything local.

EDIT: It needed a restart. I don’t think I ever restarted it. Works okay.

Could someone link me to the official google docs that say we need to use HTTP and not HTTPS for local fullfillment? Having a tough time finding that requirement being listed.

When I look at this code lab it says HTTPS is fine

The app can use TCP/UDP sockets or HTTP(S) requests to communicate with local devices.

It’s not there yet @dshokouhi

There is a PR for it to update the docs

There is a PR for that. IT isn’t listed but i’ll link to the chat I had in one of the issues as well. One minute.

I am referring to docs by Google, not updated HA docs guys :wink: I wanna see it from the horses mouth lol

1 Like

The issue isn’t the capability on the Google Side. It is about the certificates being used for hte mDNs. When the device comunicates with HA on HTTPS, the certificates would not match the domain name and it would terminate its response. I’ll find the PR related to that.

1 Like

Unfortunately this is not doable with Nabucasa.
To be able to use it we have to be connected using the google account which is the developer for the Google Assistant actions, if Using with Nabu Casa only Nabu Casa developers can use the inspect button for each device and debug.

ok this makes some sense, I assume NAT loopback on a router doesn’t make a difference here?

No Unfortunately. Personally I want local HTTPS and wasn’t happy having to expose a non-HTTPS port internally and move to a proxy. The way it is written, it grabs the MDNS name and attempts connections from the home device to the MDNS name. In theory, you could have proper certs tied to the MDNS entries and then it would connect fine but the code would need to be rewritten to 1) allow it again (its specifically disabled now) and 2) to use a specific url as a config entry rather than use the baseUrl/external/internal to connect to and I’m sure other things.

1 Like

This is more in line with what you were looking for.

1 Like

That was indeed a heavy discussion :slight_smile:

1 Like

Yes and he’s not incorrect (both aren’t incorrect). In the current code and the way mDNS is derived, it can’t function. I really hope at some point enhancements are made to this to allow it to function securely. There should never be a reason to disable security. But its a pretty complicated fix.

3 Likes