Google Assistant Local SDK - Local Fulfillment

The new SDK for local integration of google assistant devices with home assistant hubs came out 2 days ago…

from the link above:

Local fulfillment

The Local Home SDK enhances your smart home integration with the Google Assistant by adding a local fulfillment path to route smart home intents.

The SDK lets you write a local fulfillment app, using TypeScript or JavaScript, that contains your smart home business logic. Google Home or Google Nest devices can load and run your app on-device. Your app communicates directly with your existing smart devices over Wi-Fi on a local area network (LAN) to fulfill user commands, over existing protocols.

Integration of the SDK offers performance improvements to your smart home Action, including lower latency and higher reliability. Local fulfillment is supported for all device types and device traits, except those that use two-factor authentication."

I have been super excited about this ever since they announced it (over a year ago now?)

1 Like

Anyone explored this? Is it possible to use local home assistant rest api as the google local home fullfilment url?

They currently are working on it:

Any update on it since Feb?

+1 … very excited about this :slight_smile:

Any news about this?

It looks like some people are using the google local sdk with home assistant but I can’t find any helpful guide.

I would like to connect my google assistant with Home Assistant to use it for speach control.
But can’t find a guide which would told me to do it without opening HA to the world wide web.

1 Like

Is there an update on this, Im really interested in getting this working?


Same would like to know also


Seems like the pull request has been stale for a while. :frowning:

I’m a Nabu Casa subscriber and where I live there’s a great delay between Google and HA, it’s a shame that this really neat implementation has been stale for so long.

It’s also one of the few things not running locally in my house.

Is the initiative “dead”, or just on extended pause?

I’m afraid it would take to much profit away from Nabu Casa. I’m surprised the community doesn’t join forces to get this working. I’d be willing to help where I can.

Also looking for a way to get local google assistant to avoid exposing home assistant to internet. I have it at least proxied via cloudflare. But with local google assistant I could then switch the access entirely to tailscale or cloudflare access like the rest of my self hosted services.

I see the PR is cancelled due to no activity on it. Anyone managed to find a solution for this ?

I got this to work with minor changes to Home Assistant Core yesterday :slight_smile:, now I only need to figure out how to get this into the actual Home Assistant Core code. I figure that is done with a pull request :wink: , but this is the first time I have written code for Home Assistant. I also need to clean up my code a bit first as I am hardcoding some setting I saw while ‘debugging’ and I need to figure out where to get the actual values from within HA as I want it to be a matter of only adding a setting in your configuration and uploading some .js files to your google actions setup.

Hopefully I will be able to finish this sometime this week, but we will see :slight_smile:


got this to work with minor changes to Home Assistant Core yesterday

Do you happen to have a forked repo with that change you’ve made? I believe it should be pretty straightforward to patch the core with it and perform some tests locally.
Cheers and good luck!

His Pull Request is here: Enable local fulfillment google assistant by LoekSangers · Pull Request #63218 · home-assistant/core · GitHub

Docs on “how to configure” are here: Google Assistant - Home Assistant

1 Like

Is this local SDK stuff also possible for nabucasa users?

Edit , if I setup local google assistant instead of nabucasa… What does that mean ? Port forwarding is not needed anymore? Only for setting up / linking first time?

The Home Assistant Cloud part already uses local fulfillments when detected possible. No additional configuration for that is needed.

Hmm, I don’t see it firing , how to troubleshoot this? I always see cloud in logbook… Do I need to enable something? All devices are in same local subnet, also discovered by cast