Google Assistant Local SDK - Local Fulfillment

Hey @calisro ,
I dont think devices are relevant, like first gen second gen, firmware preview on/off, someone posted it worked also on first gen devices, even with preview program off, lets focus on HA config

Lets start with the yaml:
In config.yaml i have :

  name: Home Assistant
  auth_providers:
    - type: homeassistant

and:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 172.30.33.0/24
    - 192.168.0.0/24

In google_assistant:

  project_id: !secret google_proj
  service_account: !include xxx.json
  expose_by_default: false
  report_state: true
  entity_config:

Below is a screenshot of the develop page:

And here is a screenshow when i goto this page : chrome://inspect/#devices

Here is a screenshow from a tool i installed on windows : “bonjour browser”
In this case i have setup an internal/external url in yaml config
I also tried removing them, set to blanc, then only the internal address is discovered
you can also see my 3 google devices are discovered

image

and as you can see , no (local) command there:

image

is it maybe becayse my local instance is = hassio.local
and whe are all talking about homeassistant.local ??
EDIT: changed to hostname homeassistant.local , restarted HassOS + google devices , but no difference

image

i also see you posted this:

my base_url is indeed pointing to an https url? maybe thats indeed the cullprit?
how did you change base_url anyway? wasnt that deprectad since we now have internal/external ??

Edit: nm, removed the external, so now both base and internal url are local, but still no local command!!

image

Guys keep in mind the google devices can offload their app.js (local fullfilment) when they run low on memory !

everytime i do a change, i always reboot the device, always testing on a mini and a max device
dont think memory is the issue

i’m lost, i think i have tested everything, just doesnt work, no idea why

you do have entities listed for

google_assistant :
  entity_config:

and you did link your HA instance in the Google Home app ?
you don’t run 2FA in HA ?

yeah, i have about 70 entities exposed to GA, yes its linked :slight_smile:
No, no 2FA enabled

I see your MDNS HA instance is Home Assistant , try changing your Name: field in google actions to Home Assistant , might be case-sensitive

ok,gonna try

btw, that Name field, its not documented, should it be filled in or not?

Yes I believe someone posted a github issue about the google assistant integration documentation to be adjusted.
Did the trick for me and removed a bunch of errors from logs.

ok, changed name to:

.Home Assistant\._home-assistant\._tcp\.local

rebooted the google device/ also HA, did a sync devices, when i inspect, no error,but still command is not local…

My guess its just not implemented yet :slight_smile:

image

but in app.js, that baseurl is indeed interesting…
isnt that wrong? should that not be specified as internalUrl ?

i tried changing my baseurl to http , but stll didnt work

(!mdnsScanData.baseUrl || customData.baseUrl === mdnsScanData.baseUrl));

One more thing to try is changing you HA instance name , you now have a space, maybe google cant handle that.

Mine is simply: Huis
in HA settings → General

Wait! i have found something interesting, seems the app.js file is wrong!! He claimed after changing the .js file, it now works for him
also ‘support local query’ needs to be ticked
and offcourse the Name field, changed to below, so spaces/capitals doesnt mather anyway
.*\._home-assistant\._tcp\.local

all here… gonna try now the updates

1 Like

OMG , finally!!! its working NOW :slight_smile:
the docs were just wrong!!

image

image

1 Like

Was it the Name Field ?

i changed those 3 now, all working!

No, the .js file is just wrong, i uploaded a new one , a new version, and enabled “support local query”

this was NOT documented

i also see a lot of different stuff now, when i do a inspect devices, it was not there before

1 Like

Where did you download it , or is it adjusted in the docs page ?

Yes, it’s in the PR I posted earlier