A little confused by there being no GUI management of entities being shown to Google Home/ Alexa without paying for cloud subscription. (Any solutions?)- I currently use google asst integration

Am I missing something on the subject possibly? Or directing the frustration to the wrong area? This is something that has confused me a little bit by home assistant over the past year or so.

In my instance, I am running duckdns and have it integrated with google home in order to have my home assistant entities be useable by voice in google home.

The thing that has always confused me is why there is no GUI control to turn on/ off entities for usage within google home from home assistant.

Is this something that would need to be requested from the google assistant/ voice integration? And not really a home assistant issue?

I know home assistant has their cloud service to interact with google voice and it seems very polished but also cost $/ monthly (unlike many closed source competitors- smarthings, etc. that offer the same service but at the cost of their device and much more closed in general)

My frustration is that I guess I have just learned that fumbling around with text files is not very user friendly and can be error prone since there is nothing ensuring what is being typed into the file is valid with relation to what is really in the system.

Does anyone have any guidance they can give or self built tools that can help with this data validation.

For example, below is my current google_assistant.yaml file.

project_id: REDACTED
  secure_devices_pin: "****"
  service_account: !include service_account.json
  expose_by_default: false
  report_state: true
  exposed_domains:
    - alarm control panel
    - binary_sensor
    - light
    - cover
    - climate
    - fan
    - switch
    - lock
    - scene
    - sensor
    - script
  entity_config:
    alarm_control_panel.alarmo:
      name: "Alarmo"
      aliases:
        - Alarm System
        - Security System
      room: "Living Room"
      expose: true
    binary_sensor.den_door:
      name: "Den Door"
      room: "Den"
      expose: true
    binary_sensor.front_door:
      name: "Front Door"
      room: "Living Room"
      expose: true
    binary_sensor.garage_entry_door:
      name: "Garage Entry Door"
      room: "Laundry Room"
      expose: true
    binary_sensor.gym_door:
      name: "Gym Door"
      room: "Gym"
      expose: true
    binary_sensor.kitchenette_door:
      name: "Kitchenette Door"
      room: "Kitchenette"
      expose: true
    binary_sensor.living_room_door:
      name: "Living Room Door"
      room: "Living Room"
      expose: true
    binary_sensor.master_bedroom_door:
      name: "Master Bedroom Door"
      room: "Master Bedroom"
      expose: true
    binary_sensor.washer_door:
      name: "Washer Door"
      room: "Laundry Room"
      expose: true
    cover.dining_room_blinds:
      name: "Dining Room Blinds"
      room: "Dining Room"
      expose: true
    cover.garage_door:
      name: "Garage Door"
      room: "Garage"
      expose: true
    fan.living_room_ceiling_fan:
      name: "Living Room Ceiling Fan"
      room: "Living Room"
      expose: true
    fan.master_bedroom_ceiling_fan:
      name: "Master Bedroom Ceiling Fan"
      room: "Master Bedroom"
      expose: true
    fan.master_bedroom_floor_fan:
      name: "Master Bedroom Floor Fan"
      room: "Master Bedroom"
      expose: true
    fan.wrigleys_fan:
      name: "Wrigleys Fan"
      room: "Guest Bedroom"
      expose: true
    light.garage_accents:
      name: "Garage Accents"
      room: "Garage"
      expose: true
    light.gym_cabinet:
      name: "Gym Cabinet"
      room: "Gym"
      expose: true
    light.gym_power_rack:
      name: "Gym Power Rack"
      room: "Gym"
      expose: true
    light.left_vols_light:
      name: "Left Vols Light"
      room: "Gym"
      expose: true
    light.living_room_light:
      name: "Living Room Light"
      room: "Living Room"
      expose: true
    light.living_room_christmas_tree:
      name: "Living Room Christmas Tree"
      room: "Living Room"
      expose: true
    light.master_bedroom_bed_accents:
      name: "Master Bedroom Bed Accents"
      room: "Kitchen"
      expose: true
    light.master_bedroom_light:
      name: "Master Bedroom Light"
      room: "Master Bedroom"
      expose: true
    light.playstation_sign:
      name: "Playstation Sign"
      room: "Office"
      expose: true
    light.right_vols_light:
      name: "Right Vols Light"
      room: "Gym"
      expose: true
    light.back_deck_security_light:
      name: "Back Deck Security Light"
      room: "Den"
      expose: true
    light.back_deck_light:
      name: "Back Deck Light"
      room: "Back Porch"
      expose: true
    light.back_patio_light:
      name: "Back Patio Light"
      room: "Back Patio"
      expose: true
    light.den_entry_light:
      name: "Den Entry Light"
      room: "Den"
      expose: true
    light.den_main_lights:
      name: "Den Main Lights"
      room: "Den"
      expose: true
    light.den_picture_light:
      name: "Den Picture Light"
      room: "Den"
      expose: true
    light.den_stairway:
      name: "Den Stairway"
      room: "Den"
      expose: true
    light.den_utility_light:
      name: "Den Utility Light"
      room: "Den"
      expose: true
    light.dining_room_light:
      name: "Dining Room Light"
      room: "Dining Room"
      expose: true
    light.exterior_gym_light:
      name: "Exterior Gym Light"
      room: "Back Patio"
      expose: true
    light.garage_lights:
      name: "Garage Lights"
      room: "Garage"
      expose: true
    light.gym_lights:
      name: "Gym Lights"
      room: "Living Room"
      expose: true
    light.hallway_lights:
      name: "Hallway Lights"
      room: "Kitchen"
      expose: true
    light.kitchen_hallway_light:
      name: "Kitchen Hallway Light"
      room: "Kitchen"
      expose: true
    light.kitchen_light:
      name: "Kitchen Light"
      room: "Kitchen"
      expose: true
    light.kitchenette_lights:
      name: "Kitchenette Lights"
      room: "Kitchenette"
      expose: true
    light.laundry_room_light:
      name: "Laundry Room Light"
      room: "Laundry Room"
      expose: true
    light.living_room_lights:
      name: "Living Room Lights"
      room: "Living Room"
      expose: true
    light.master_bathroom_lights:
      name: "Master Bathroom Lights"
      room: "Master Bathroom"
      expose: true
    light.master_bathroom_vanity_light:
      name: "Master Bathroom Vanity Light"
      room: "Master Bathroom"
      expose: true
    light.master_bathroom_closet_light:
      name: "Master Bathroom Closet Light"
      room: "Master Bedroom"
      expose: true
    light.entry_chandalier:
      name: "Entry Chandalier"
      room: "Living Room"
      expose: true
    light.front_porch_light:
      name: "Front Porch Light"
      room: "Front Porch"
      expose: true
    light.master_bedroom_back_deck_light:
      name: "Master Bedroom Back Deck Light"
      room: "Back Porch"
      expose: true
    light.master_bedroom_picture_light:
      name: "Master Bedroom Picture Light"
      room: "Master Bedroom"
      expose: true
    light.master_bathroom_toilet_light:
      name: "Master Bathroom Toilet Light"
      room: "Master Bathroom"
      expose: true
    lock.den_door_lock:
      name: "Den Door Lock"
      room: "Den"
      expose: true
    lock.front_door_lock:
      name: "Front Door Lock"
      room: "Living Room"
      expose: true
    lock.garage_entry_door_lock:
      name: "Garage Entry Door Lock"
      room: "Laundry Room"
      expose: true
    lock.kitchenette_door_lock:
      name: "Kitchenette Door Lock"
      room: "Kitchenette"
      expose: true
    # script.homeassistantgoodmorning:
    #   name: "Home Assistant Good Morning"
    #   room: "Master Bedroom"
    #   expose: true
    # script.homeassistantgoodnight:
    #   name: "Home Assistant Goodnight"
    #   room: "Master Bedroom"
    #   expose: true
    script.start_muscle_hustle:
      name: "Start Muscle Hustle"
      room: "Gym"
      expose: true
    script.start_pandora_gym_tv:
      name: "Start Pandora Gym Tv"
      room: "Gym"
      expose: true
    script.stop_muscle_hustle:
      name: "Stop Muscle Hustle"
      room: "Gym"
      expose: true
    switch.back_hallway_outlet:
      name: "Back Hallway Outlet"
      room: "Living Room"
      expose: true
    switch.hallway_outlet:
      name: "Hallway Outlet"
      room: "Living Room"
      expose: true
    switch.back_porch_fountain:
      name: "Back Porch Fountain"
      room: "Back Porch"
      expose: true
    switch.back_porch_speaker_power:
      name: "Back Porch Speaker Power"
      room: "Back Porch"
      expose: true
    switch.back_patio_fountain:
      name: "Back Patio Fountain"
      room: "Back Patio"
      expose: true
    switch.back_patio_speaker_power:
      name: "Back Patio Speaker Power"
      room: "Back Patio"
      expose: true
    switch.guest_bedroom_outlet_left:
      name: "Guest Bedroom Outlet Left"
      room: "Guest Bedroom"
      expose: true
    switch.guest_bedroom_outlet_right:
      name: "Guest Bedroom Outlet Right"
      room: "Guest Bedroom"
      expose: true
    # switch.gym_outlet_left_right:
    #   name: "Gym Outlet Left Right"
    #   room: "Gym"
    #   expose: true
    # switch.gym_outlet_right_left:
    #   name: "Gym Outlet Right Left"
    #   room: "Gym"
    #   expose: true
    switch.master_bedroom_floor_fan_power:
      name: "Master Bedroom Floor Fan Power"
      room: "Master Bedroom"
      expose: true
    light.master_bedroom_christmas_tree:
      name: "Master Bedroom Christmas Tree"
      room: "Master Bedroom"
      expose: true

I dont have an answer to your question but i noticed that your config is contradicting.

Expose by default and exposed domains are related to each other.

  • If you set expose by default as false, you are required to setup individual entities. Exposed domains would be useless here.
  • If you set expose by default as true, exposed domains are exposed by default, which means all type of entities you have listed there will be exposed without individually adding them, plus you can configure additional ones through individual entities.

Lastly, nabu casa allows you to have remote connection, alexa and google home integration. So it is not only google home you are paying for eventually

Ahh, I see what you are saying on the contradicting configuration.

So in my situation, would I be better to set expose by default to true and then turn off individual entities?

It just seems like a lot of working keeping up with these in text files and there being no GUI connection to home assistant.

Something as simple as adding a new device to home assistant turns into 5-10 min of editing various text files (homekit, google etc). One device in home assistant often has 3-7 entities which all have to be dealt with individually I feel like.

Maybe I’m making it more difficult than it is but it just seems like you should be able to manage from the UI rather than from a UI that isn’t synced with those text files.-- So any change has to be made in 3 seperate places in my situation. Homekit config, google asst config, and UI.

Also, I have the remote connection through duckdns proxy.

Fully agree on needing a GUI. let me see if i can come up with a hacky custom integration solution for this.

And yes, exposing by default would expose your domain specific entities automatically without defining them one by one in yaml file.

2 Likes

Oh, you don’t have to do that. I feel like a pain in the butt for you helping me.

I’m actually surprised others haven’t discussed this before.— I was thinking something similar to home assistant clouds checkbox idea for exposing entities but for us that are hosting our own instance through a DNS.

I tried to use excel to create the text files for me and get them to sync based on a master list but that was also to much work because it relied on an export of all of the entities oh home assistant each time I made changes.

Also ended up being too much overhead. Haha. So I gave up at this point.

Thank you for talking with me about this and thank you for the ideas and possible help in the future. I am very thankful for it.

Thank you again @anon63427907 !

1 Like

@anon63427907 Just checking in with you to see if you ended up having anytime to look into being able to work on this.

It would make things so much easier for people I believe.

I currently set down to start working on all of the smart home modifications I’ve made to home assistant lately and trying to get my google assistant and homekit integration config files to match what is really going on physically in the house.

This still seems like such a pain point, configuration by text files, it would be amazing if everyone had GUI management solution for their entities and the creation of the text files for homekit/ google assistant.