Scripts not showing in Google Assistant with Google Assistant component

Hey Everyone so I setup the Google Assistant component via https://www.home-assistant.io/components/google_assistant/. All is working well but my scripts (the main thing I wanted) don’t show up in my Google Assistant app. As a test I exposed everything and I still don’t see scripts or automations. I see a switch for all scripts but that’s not what I want. Is this a know issue. I also removed all my scripts from HA and added a simple one that just sends an email and still no luck (ran resync after).

No matter what I do I can’t get them to show up. Any help is appreciated thanks!!

Edit: Just realized automations shouldn’t show up (why would you need them to right?) so yeah it’s just the scripts. I verified the documentation does list them as an available domain.

1 Like

impossible to help without posting the configuration

Make sure that your configuration has something similar to this:

google_assistant:
  project_id: !secret ga_project_id
  client_id: !secret ga_client_id
  access_token: !secret ga_access_token
  agent_user_id: !secret ga_agent_user_id
  api_key: !secret ga_api_key
  expose_by_default: true
  exposed_domains:
    - switch
    - light
    - climate
    - cover
  entity_config:
    script.1511119598308:
      name: System Check
      expose: true
    script.1529255636787:
      name: TV Mute on-off
      expose: true

After a restart of Home Assistant, synchronize your devices in Google Assistant (Voice command “Hey Google, synchronize my devices”)
Then the exposed scripts should appear in your Smarthome section in Google Assistant.

Now you can use shortcuts to fire the scripts. Saying “Hey Google, activate TV Mute on off” doesn’t sound very natural. I use the shortcut “hey google , mute the tv”

4 Likes

@hiscorebob That did the trick thanks for the help. It seems like a bug to me that putting the domain script does not pull in all scripts. The official HA skill/app has this behavior. Seems like I’ll have to add every script I want but again thanks so much for the help!

On a side note do you know of anyway to make the Google Assistant not say “Okay activating the…”. That just ruins the whole experience for me and is why I’ve used IFTTT up till now.

Thanks again!

As far as I know there is no way to silence it completely. You can however enable “night mode” which lowers the speech volume a bit.
I’ve heard that using Google Allo to control Google Assistant mutes its output, but I’ve never tried it.

Alright thanks for the info and the help again!

@hiscorebob So I believe I figured it out. If you add the script as a scene change (a default option) it doesn’t say anything. So instead of adding an extra action for turn on x just do it as a scense. Seems to work perfect. Hope this helps!

@codymhorton Thanks for the info, but I’m not sure that I got you right. Could you please be more specific on how to add a script as a scene change?

@hiscorebob sure thing I’ll attach some screenshots. So when you add scripts via HA to the Google Assistant they show up as scenes (little video icon). You can select to use a scene in any routine and Google doesn’t say turning on the… anymore.

3 Likes

Ha, I learned something new. Thanks for sharing this!

Hi, hope you guys can help since i have a similar issue where the script does not show up but switches do. Here is my config, any help would be great

google_assistant:
project_id: XXXXXX
api_key: XXXXXXXXXXXXXXX
exposed_domains:
- script
- input boolean
- switch
entity_config:
scripts.doors_chk:
name: Check my doors
aliases:
- Check all my doors
expose: true

scripts.yaml
doors_chk:
alias: Check all my doors
sequence:
- service: tts.google_say
entity_id: media_player.family_room_speaker
data_template:
message: >
{% set open_doors = states | selectattr(‘entity_id’, ‘in’, state_attr(‘group.all_doors’,‘entity_id’)) | selectattr(‘state’,‘in’,[‘on’,‘open’]) | map(attribute=‘name’) | list %}
{% if open_doors | length == 0 %}
All doors are closed.
{% elif open_doors | length == 1 %}
The {{ open_doors[0] }} door is open.
{% else %}
The {{ open_doors[:-1] | join(’ door, ‘) }}{{’ door,’ if open_doors | length > 2 else ’ door’}} and {{ open_doors[-1]}} door are open.
{% endif %}

Scripts don’t show up on the front end of the Google Home app. If you want to see them go to Google Home APP > Account icon(on the bottom) > Settings > Assistant(tab) > Home Control

You have to say “Hey Google, activate Script name”. Google assistants response will be “Activating Script name”

If you dont want to say activate, then go Google Home APP > House icon(on the bottom) > Routines > Manage routines > + >
Add commands = Script name (this can be anything)
Add action = Activate Script name

Now you can say “Hey Google, Script name
Assistance response will be nothing unless you set a Say action

8 Likes

Hi I having some issues with “adding” scripts to google assistant from hassio.
my configutation looks like this, can’t se what i doing wrong.

google_assistant:
    project_id:
    service_account: 
    exposed_domains:
    - switch
    - light
    - fan
    - script
    - input boolean
    entity_config:
    script.tv_turn_on:
      name: turn on tv
      expose: true

I’d guess that you have to indent the script part properly.

Scripts show up as Scenes in Google Assistant’s Routines.

2 Likes

Thanks, that actually helped me a lot