Remove exposed domain from Google Actions

When I set up Google Actions (something I’m kinda regretting I bothered with as it’s no more functionality at the moment than I had with IFTTT) I followed the instructions to the letter.

I then see that my Wemo switch which is already supported automatically by Google Assistant natively is also in the Google Actions integration in HA. This has had an unexpected consequence of Google being unable to differentiate which switch I am addressing. I did set a different nickname for the switch in Google Actions but it I use the original Wemo name, Google is still confused (I don’t know which switch you are talking about’)

So I’d just like to remove the exposed Switch domain from Google Actions. I’m thinking this is not as simple as just editing configuration.yaml and I will somehow need to remove the switch from my Google Actions app? I saw another thread where someone mentioned unlinking the app but I’m not exactly sure what they mean. I currently only have the one switch so I don’t need t have the domain exposed anymore so what is the best way to kill it off?

i am pretty sure you could hide that identity from being used with the google_asssistant true or false setting

google_assistant: True exposes entity, false will hide it

that way you could hide it from the HA intergration

I’m not sure where to find that setting. I’ve looked in the App but I don’t see it.

ah - do you mean in the customize section? in configuration.yaml?
I might give that a try.

yeah thats it mate

That actually worked.

I ended up putting these lines in customize.yaml which was included by default in the configuration.yaml.

switch.coffeemaker:
  google_assistant: false

I also added scenes to the domain I was exposing to Google Assistant viz:

# Google Assistant
google_assistant:
  project_id: !secret ga_project
  client_id: !secret ga_client
  access_token: !secret ga_access
  exposed_domains:
    - switch
    - light
    - group
    - scene

This did add the scenes and deleted the coffee maker from the Google Assistant but Google assistant is ignoring my scene - how exactly do I tell it to activate a scene? I’m clearly doing it wrong because it’s not working. I see the scenes when I re-link the app to Google Assistant but can’t activate them.

My own approach to customize for Google Actions and Homebridge is to start with:

customize_glob:
  "*":
    homebridge_hidden: true
    google_assistant: false

This ensures that all entities are by default hidden from homebridge and google assistant with no additional configuration in those platforms. Then, for entities I want to expose to either homebridge or google I add a customize entry with homebridge_hidden: false or google_assistant: true. Because customize entries are evaluated in order, the second, entity specific entry overrides the first, blanket entry.

3 Likes

OK but that doesn’t tell me how to tell GA to use a scene - or am I misunderstanding you?

No it doesn’t. That was directed to your first issue. As to the second, according to google’s documentation you should be able to use either “Start” or “Activate”. E.g. Hey google, activate night mode where night mode is the name of the scene.

1 Like

Cheers Mate! That works.
Now if ONLY I can work out why the lights in the Lounge Room keep coming on blue and I have to activate the exact same command AGAIN to get it to change colour…

@marthocoo if I use your method, how do I enable media entities e.g. TVs that are not in the customise file? If I just use the google_assistant: false method for each entity, how do I disable groups? everything is showing up in Google assistant home control app.

Also if I put the below in configuration.yaml the check config doesn’t display result, the loading icon just spins

customize_glob:
  "*":
    homebridge_hidden: true
    google_assistant: false

You can tell Home Assistant not to expose groups to Google and can then also expose individual entities. The docs are your friend.

Thanks @DavidFW1960 can you give me an example please. I don’t have groups in customize file, and I tried the google_assistant: false option but I can still see the entities in Google home app

You can see my Google Assistant yaml file here… and also my whole Home Assistant setup

Thanks David. I don’t have Google home assistant yaml file did you create that? I’m using Hassio 0.69 and Google home is integrated in the UI

Thank you very much for sharing your config file.

Yes I created it. My config yaml file was getting too long. See the config yaml for how it references the google yaml.

@DavidFW1960 I use Hassio, and I followed the Hassio Google home assistant doc. The below works for me now.

I’m able to use Google home speaker to turn on/lights, TVs etc. I have one problem, “switch.switch_2” is Back lights switch, and 1 of 4 lights in Home Assistant. When I tell Google home assistant to turn on Back lights, it turns on all 4 lights!

# Cloud
cloud:
  google_actions:
    filter:
      include_entities:
        - switch.aeotec_zw132_dual_nano_switch_switch
        - switch.aeotec_zw132_dual_nano_switch_switch_2
        - switch.fibaro_system_fgs223_double_relay_switch
        - switch.switch_2
        - media_player.living_room_tv
        - media_player.lounge_tv
      include_domains:
        - switch
      exclude_entities:
        - group.all_automations
        - switch.switch
1 Like