How can I determine the cluster capabilities of a Zigbee device

I have a custom device and don't know all the attributes provided.

It is a basic analog device. I found the below table which does not shot anything that could be construed to be an address, yet the code I copied from seems to thing there is such an attribute.

So I was trying to add a bit of debug code to list all that is there. My attempt is the below line with all the = signs. However this code results in a null pointer exception.

Am I close or way off the track?


 if (descMap.cluster == "000C" && descMap.attrId == "0055"){     // zigbee spec 0x000C= read analog cluster  0x0055 = present value
        descMap.each{ k, v -> "${k}:${v}"}   <<========================
        BMEhexData = descMap.value
        SensorValue = ConvertHexToFloat(BMEhexData)                        //   <--- value as float

        def otherAttrs = descMap?.additionalAttrs
            BMEunitaddress = it.value