ZHA and Analog In clusters

Does ZHA respond to analog_in clusters?

I have set up an end device that successfully provides temperature (0x0402), humidity 0x0405) and pressure (0x0403) clusters and these are all correctly picked up by ZHA (without a quirk).

However if I add an ‘analog_in’ cluster (0x000c) then it is simply ignored. I can see it in the signature:

but it does not show up as a sensor

What do I need to do to have the analog_in cluster show up?

Susan

How have you added the cluster without a quirk?

Normally a custom ZHA Device Handler (a.k.a. zha-quirk) is needed to add non-standard clusters and attributes to a device, and therefor it is best to post question like that as a new “device support request” issue to the “ZHA Device Handlers” (a.k.a. zha-quirks) repository on GitHub, see → https://www.home-assistant.io/integrations/zha#how-to-add-support-for-new-and-unsupported-devices

However, not everything can be solved by quirks alone today, and if you want to expose the new type of Zigbee attributes as entities that have previously not been exposed in the ZHA component then it will not be enough with a custom ZHA Device Handler (a.k.a. zha-quirk) as you will also need to extend code for each specific the device type in the zha component inside the Home Assistant core too, see → https://github.com/home-assistant/core/tree/dev/homeassistant/components/zha

There is a little more back-story here → https://www.home-assistant.io/integrations/zha#knowing-which-devices-are-supported

There is also a related ongoing discussion among ZHA and zigpy developers on possibly making it possible to extend devices with just quirks alone, so though that is not the case yet, but you can refer to this as well:

It is probably enough with a new quirk exposing those measurements through the standard cluster → https://www.home-assistant.io/integrations/zha#how-to-add-support-for-new-and-unsupported-devices

For reference see these pull requests for different analog input sensor devices as examples:

https://github.com/home-assistant/core/pulls?q=is%3Apr+zha+AND+analog

Thanks @Hedda.

One thing that bothers me about your answers - you keep mentioning ‘standard clusters’ which seems to imply that I’m not using standard clusters.

According to https://zigbeealliance.org/wp-content/uploads/2021/10/07-5123-08-Zigbee-Cluster-Library.pdf (which I think is the latest specification), section 3.14.2 covers the ‘Analog Input (Basic)’ cluster which is the one I’m trying to use. The cluster ID and attributes are ONLY those mentioned in the spec. Admittedly I am only providing the ‘mandatory’ attributes but the spec indicates that this is enough.

Is that not considered ‘standard’?

Susan

By non-standard I primarly mean ” manufacturer specific clusters” which is allowed but can not be predicted since the Zigbee specification is very flexiable around that, but non-standard can mean when a manufactur is not following the Zigbee specifications at all, or simple when it a unusual cluster and attribute that ZHA developers have not previously exposed in the zha component code (as when zha was first created they initially more or less started with just exposing the standard clusters and attributes from the Zigbee Home Automation 1.2 specification, hence the name ”ZHA” of the integration, so it has a legacy to build on, and then later they have exposed more and more as they stumbled onto devices in the wild that use other clusters and attributes).

Again, best is to post a new issue to the ZHA Device Handlers repository to start a discussion with the developers there about if it can be solved via just a new custom quirk for that specific device or if you also nedd to extend the zha component in Home Assistant core as well.

@AussieSusan you might also be interested is this discussion about the future of quirks that should make stuff like this easier → [RFC] Quirks v2 · zigpy/zigpy · Discussion #1312 · GitHub

But that is not available today, and depwnding on what you want to expose today in ZHA it might also be good to also post related questions to the zigpy repository as more ZHA developers are likley to spot such questions if create discussion there → GitHub - zigpy/zigpy: Library implementing a ZigBee stack