I have a ZigBee device that supports the Analog Value Cluster, and whenever my Smartthings hub writes to the “Present Value” attribute, I always get an unable to parse warning.
Why is this so and how can I fix it?
Would this be device’s fault, Smartthings hub, or device handler?
I’d really appreciate any help.
So I’ve found out that whenever I send out a writeAttribute command from the Smartthings hub, I noticed that it always sayd “datatype: unknown”. My code is:
zigbee.writeAttribute(CLUSTER_ANALOG_VALUE, PRESENT_VALUE, 0x21, 0x03)
Why would I have this issue and how might I fix it?
0x21 is the data type of what you are writing to that attribute. The ZCL spec defines that attribute as a single precision floating point value which would be
DataType.FLOAT4 if you import it to your DTH using
import physicalgraph.zigbee.zcl.DataType I have not used that cluster (I’m assuming cluster
0x000E) personally before so I can’t be sure that will be sufficient. If you could post more complete error/log messages I might be able to help more.
I tried setting to 0x39, but it didn’t fix my problem. My logs are below.
So that warn message is just letting you know that our Zigbee library didn’t automatically parse that as an event. However, that response is a write attribute response (command
0x04) and write attribute responses have a body with one entry for each attribute written with the status followed by the attribute ID. In this case it is reporting
0x86 for the attribute
UNSUPPORTED_ATTRIBUTE so it appears that the device you are working with does not support that attribute.