How to unexpose all entities at once

Hi,

I tried to switch off HA voice assistant, as I do not have any use for it and for sure do not want it active. When I enroll a new device and entities get created they automatically get ‘exposed’ to voice assistant. I can set it off by clicking each entity and tap the 2 slide bars:

As there are still 59 entities this seems like a lot of clicking and not efficient at all…

I tried to select all entities but that does not work. I have encountered this before trying to select multiple entities to perform an action but HA does not allow it or not capable (at least to my knowledge, simpel HA user).
By having to click over 200 times to get this set takes away the automation part …
Would be great as per default new entities would not be enrolled to the HA voice assistant or any other voice assistant.

Please let me know if there is a simple way to get this fixed. Thank you very much for the support.

Bernard

1 Like

I doubt there is a way to do it.

this should be submitted as a Feature Request.

Wow that surprises me, simple basic feature as setting multiple entities is not available. Well I will look into how to file a feature request.

A very hacky way is to modify .storage\homeassistant.exposed_entities with a quick find “should_expose”: true to replace “should_expose”: false and restart homeassistant.

I was at this point a while ago, where all new entities are being exposed to assist which I disabled adding

"assistants": {
  "conversation": {
    "expose_new": false
  }
},

But this surely is a feature request.

Thanks for this hack to get what I need :slight_smile:

Tried to locate the .storage\homeassistant.exposed_entities but could not find it (I know human interface error on my part).

This piece of code

"assistants": {
  "conversation": {
    "expose_new": false
  }
},

Do I need to add this to the configuration.yaml or that exposed entities file?

Thanks!

You’d have to add it to .storage\homeassistant.exposed_entities

As far as I remember, you might already have “assistants”: {

you’d have to add

“conversation”: {
“expose_new”: false
}

Id not, just add the entire thing at the start of the file, make sure you follow syntax, else homeassistant will just replace the entire file with scratch again after reboot.

If you do not want the assist integration (or any other of the default integrations) you can choose to remove default_config and only list the integrations you do want. But the downside is, when new integrations are added, you will need to add them yourself:

Having said that, if you do not use assist at all, why configure each and every entity for it? Simply do not use it. What is there to gain from what you are doing? Assist is local, so it is not like exposing things to Google or anything like it.

Indeed simply do not use it, that is what I do. What concerns me is that per default this integration is enabled for all entities I have running. If I do not use it then for me it would be logical to have it per default disabled and not have entities in my home ‘exposed’.
I am probably old in my thinking that when not used it should not be installed, when that is not possible it should be switched/not enabled.
I notice that these days the thinking is wow we can do this so it is on and we believe it is so great you cannot switch it of or configure to your personal needs.
I will look into how I will do this. Thank you all for the advise and options.

The reasoning is probably: there’s no harm in exposing entities to assist if assist is not used. But excluding everything by default would be a major pain if at some point you decide to start using assist. Because then you’d you need to enable them one by one.

Maybe the pain is not default enable / disable but no capability in setting multiple entities at once into a certain state / configuration / delete…