If you have a moment, try this experiment and let me know its result. Caution, you may need to restart Home Assistant as a result of this experiment.
All you need to do is disable an entity and then re-enable it. Entities that permit this operation are created by integrations that are configured via config-flow. Theoretically, the re-enabled entity should be restored to full functionality, immediately. In practice, it minimally loses its friendly_name and often is no longer restored as a functional entity.
Go to Configuration > Integrations
Pick an integration and click its link indicating the number of entities it contains.
Now youâre in Configuration > Entities and itâs showing only the selected integrationâs entities.
Click the filter icon in the upper right hand corner and select âShow disabled entitiesâ.
Click one of the entities, set Enable_entity to off, then click Update.
The entity will now appear in the list with its friendly_name set to Unavailable and, in the Status columns, thereâs an icon indicating the entity is disabled. It has also been removed from the Developer Tools > States view and the auto-configured Lovelace UI. All of this is expected behavior, so far.
Click the disabled entity, set Enable_entity to on, then click Update.
For the integrations I have tested, the friendly_name remains Unavailable. Thatâs not expected behavior.
Iâve performed this experiment with:
Input_numbers and other âHelpersâ created via the UI.
Requires restarting Home Assistant to restore the re-enabled entityâs full functionality.
MQTT
Requires restarting.
Google Cast
Requires restarting.
Brother Printer
Corrects itself after about a minuteâs delay.
Philips Hue
Corrects itself after a delay of a few seconds.
NOTE
In case youâre wondering, refreshing the web page doesnât fix the problem. For some integrations, the re-enabled entity no longer exists in the States view and a restart is required to bring it back.
Tuya
Every step behaved as you described except refreshing the page did bring back the friendly_name in my case.
Google Cast
When disabled the entity disappeared entirely from the list rather than displaying Unavailable. I had to switch to the Entities tab to re-enable and when I switched back to the Devices tab the friendly_name did reappear.
Hope this helps. Let me know if youâd like me to try anything else.
Iâve also seen what you observed where the name simply disappears instead of appearing as Unavailable.
For the Tuya integration, instead of refreshing the page, simply wait for about a minute and see if it updates the name automatically.
This experiment is to determine if the bug affects only the few integrations I have or is part of a more comprehensive phenomenon. My personal theory (more of a wild guess) is that the name re-appears (and the entity re-appears in the States view) only if and when the integration does a poll of its entities. If the integration performs no polling, like the MQTT integration, then a restart is needed to force a complete refresh of the integrationâs entities.
OK, I got a little different behavior this time. When I disabled the same Tuya entity it disappeared altogether, just like the previous Cast entity. So again, I had to go to the Entities tab to re-enable, but when I switched back to Devices it appeared as Unavailable for roughly 10 seconds then the friendly_name did reappear on its own (as you predicted).
Integrations that use polling will eventually refresh the re-enabled entityâs information (depends on their polling interval).
Integrations that use push never refresh the re-enabled entityâs information (only happens on startup).
Integration
IoT Class
Tuya
Cloud Polling
Brother Printer
Local Polling
Philips Hue
Local Polling
Google Cast
Local Polling
MQTT
Local Push
Not included in that list of integrations are input_numbers, input_text, input_boolean, etc, basically âHelpersâ created via the UI. They arenât assigned an IoT Class in the documentation but it stands to reason that they perform no polling and are updated only when a user or automation/script acts on them (which means, after being re-enabled, the only way they can be refreshed is by restarting).
If anyone uses âLocal pushâ integrations, I would appreciate if you could take a moment to perform this simple experiment and report your results.