ZHA: Add ability to add cluster attributes as entity to a device via UI/Config

I often come across that certain cluster attributes would proof useful in automation. Sadly there is no way in the UI of the ZHA integration (or in the configuration file) to expose certain cluster attributes as an entity. One example for me personally would be with my Danfoss Ally TRV which have the following cluster attributes: 0x4031 Heat Supply Request, Indicating to the heater that the radiator needs heat.

In the Github Issues a user wrote a PR that got denied in which he wanted to have the window detection attribute exposed. I can imagine many other users would benefit from the ability to somehow expose cluster attributes as entities.

I especially wonder about this, since many of these attributes are already logged in the zigbee.db. For which an unelegant exists anyway (See here:ZIGBEE (ZHA): Get a Cluster Attribute that isn't normally tracked)

I’m also very interested in this, for cover position (not listed as entity, therefore existing as cluster attribute)


Yes it would be very useful to be able to define new entities based on accessible clusters and attributes, because you can’t predict all the usage of attributes for each hardware.
For example on my Linkee counter I have a BBR contract (which mean Blue, White and red days) combined with daylight and night hours with different prices for each combination (So 6 in total). The consumption values are stored in the ZLinkyTICMetering (Endpoint id: 1, Id: 0x0702) cluster in attributes from current_tier1_summ_delivered (id: 0x0100) to current_tier6_summ_delivered (id: 0x010a). But to be able to have those attributes in Energy tab I had to install zha_toolkit, define 6 templates entities and make one time triggered automation to fill those entities with the attributes read from a service call to aha_toolkit. It’s really a shame, knowing that doing this is so easy in jeedom for example.

1 Like

Instead of turning them into entities, I was actually hoping that they could merely be put into a more friendly looking presentation like ZwaveJS’ “Configure” section.