WTH don't entities have a description of what they do?

I have some entities that I have no idea what they do:
select.ikea_of_sweden_tradfri_control_outlet_18c147fe_on_off_startuponoff
number.study_lamp_level_start_up_current_level
sensor.tze200_cwnjrr72_ts0601_6bef52fe_basic_rssi
sensor.pixel5_sleep_segment
sensor.pixel5_beacon_monitor
sensor.pixel5_app_standby_bucket
button.lumi_lumi_sensor_magnet_aq2_identify

And yes I did try to read the docs :slight_smile: and google. And I still donā€™t fully understand them and Iā€™m a power user/contributor.

Related to WTH are some entity names so long and ugly

These are device specific. Integrations typically donā€™t know device information and just present what the device offers via itā€™s api. E.g. integrations say ā€œGive me your informationā€ and the device just plops all the functions it can do without any indication what it is or what it does. Adding things like this would be a feature request, not really a WTH.

True in some cases, especially for sensors.
But not so for modifiable entities. In the integrations I have written/edited when I create an entity it is because I have used a particular API call or calls in the underlying python lib. I nearly always know what that API call should do.

But thatā€™s not true for all APIs. Zwave attempts to manage this but there is still a ton of devices that do not have this information. Itā€™s literally a fulltime job for 1 guy, and no, itā€™s not just sensors. Itā€™s pretty much any configuration option for any smart device.

Hmmm, I guess. And particularly true for HAā€™s implementation of open standards ZigBee, Z-Wave, Thread, Bluetooth where it may not really ā€˜understandā€™ what the device it is interacting with actually does beyond how the client implements the standard (device classes etc). The dev could still offer (an admittedly not very helpful) description like A cover entity associated with {device} which supports {[features]...}. Or a generic description like {device} makes available the ZigBee identify standard, this is usually a flashing status light or some obvious fluctuation in state which draws attention to the device

That is perhaps a reason we couldnā€™t have a useful autogenerated description for every entity. But perhaps, in the absence of a general solution, we could still ask devs to generate descriptions where possible. Or even have the community generate them in a blueprint-like wayā€¦

example: Hereā€™s a basic config for a single switch, these are all the manufacturer specific configuration options that come through to home assistant that do not share any configuration options with other devices from other manufacturers.

Hereā€™s the library of files that just manages the descriptions you seeā€¦

https://devices.zwave-js.io/

Itā€™s HUGE. Now imagine that for every integrationā€¦

Doesnā€™t really belong as a WTH, more a feature requestā€¦ that I donā€™t think anyone will want to manage.

OK, I can see that for very open standards- like Z-wave then you are completely at the mercy of the manufacturer to have descriptive names - or some massive database.

However, I think my point still stands for other non-implementation-of-an-open-standard integrations.

Said in a more direct way, and from the perspective of a user. I think it should be considered basic functionality of a product (HA) for its functions to be obvious to its user.

Speaking as an (amateur) dev I appreciate that that can be a very hard problem to solve in all cases.

P.S I have edited my reply above to include some examples of what might be achievable in open standards.

Your edits are already being done through the entity name btw. Itā€™s just not carried out on older integrations that donā€™t use devices. Everything is split out into context on the deviceā€™s page.

Maybe we should just improve the docs instead (and add more documentation links to the frontend?) instead of adding documentation to the backend too.

Probably a better and more centralised solution! Would require a whole new subsection called ā€˜indexā€™ or ā€˜glossaryā€™ of the docs for each integration though.

1 Like