Disable vs hide vs remove entities

What is the difference between disabling, hiding and removing entities?

Disable effectively makes an entity not exist. It technically still exists so Home Assistant and the integration that created it know it’s not missing and doesn’t try to recreate it but from the perspective of the user it doesn’t exist anymore. It won’t show up anywhere, it’s state is not being tracked and recorded, you can’t reference it in automations, scripts, templates, etc.

Remove actually deletes it. As you would expect it also no longer shows up anywhere. However if you somehow remove an entity that an integration expects to exist then it may come back. Generally remove is for entities that you yourself made directly (like helpers, automations and scripts) rather then things made for you (like sensors and such created by an integration).

Hide is really just for the UI. And specifically only for the autogenerated UI that you get when you first make a dashboard. Hidden entities won’t show up in autogenerated dashboards. But unlike disabled they do still show up everywhere else, their state is still being tracked and recorded and you can still use them in automations, scripts and anywhere else in HA like normal.

5 Likes

Cool that makes sense! So for entities that get added like “ping” or “node_status” those are all entities that clutter up the interface and I should probably “disabled” them (not delete)?

Well either that or hide. If you don’t use them at all then yea disable is best. But sometimes with entities like that you want to keep them around you just don’t want them to appear in your main UI. Some examples of when hide is better:

  1. You still want to be able to go to the device page and see those details when debugging something
  2. You have an admin/dev dashboard that displays tech details of things that you use for debugging
  3. You still want to be able to use those entities in an automation (like notify if ping speed becomes too low or if the node status is anything but available and healthy).

But yea both of those probably fit better then delete if the entity is made by an integration.

Oh! Something I forgot before (was just reading the section on this in the release notes) - hide also keeps an entity from being exposed to HomeKit, Alexa and Google Home by default. Figured I should mention that for completeness.

1 Like

How do you unhide ? If I select enable again HA reports it will available again — but remains hidden ?

Yes, My hidden entities are not being Unhid. I select them, click on ‘Enable Selected’, Box confirms will be added in 30 seconds - they aren’t.

you have to hit update after you enable it.

That message of being added is intended for entities previously being disabled. To have thenm added to an autogenerated dashboard, the dashboard needs to be fully refreshed.

you’ll know it’s unhidden when the status column shows a -. If it’s hidden it will show an eyeball thing. And as edwin said, you’ll have to refresh for it to add to your autogenerated ui.

Hello all,
I have hidden some entities but they are still present into the search of my dashboard.
I need this entities are invisible in this dashboard because I used them into a button with pin.
What I’m wrong? any way to fix it?