This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Zigbee temperature cluster (0x0002) reading wrong values.

Other Parts Discussed in Thread: Z-STACK

Hi,

I am using Zstack and the sensor sending wrong temperature values for the temperature cluster (0x0002) ,attribute 0x0000 (CurrentTemperature).

As Zigbee spec talks about values between -200 to +200 but me getting values like 2190 etc which is essentially multiple of 100 of CurrentTemperature..

Now my query is:

- Does sensor should report values  only between -200 and 200 even if it reads till 2 decimal precision like 21.90.

- Does Zstack modifies the values before sent to host (multiply by 100)?

  • Hi,

    - Yes, according to the ZigBee Cluster Library specification if you are using cluster 0x0002, the data that you send over the air for CurrentTemperature will have to be formatted to be in the range between -200 to 200.

    -Z-Stack does not modify the values, you are the one that has to format and send the data accordingly.

    To solve this issue you could take a look at the sampleTemperatureSensor application in Z-Stack Home 1.2.1. In that example the cluster being used is Temperature Measurement cluster(0x0402) and if you look in the ZigBee Cluster Library specification, this cluster does support higher pressision values.

    Regards,
    Hector
  • Thanks Hector for the information,

    I have examples of 0x0402 cluster temperature readings . Do we have any examples or sensors exhibiting the behavior for 0x0002 cluster . I am not finding any.

    rgds,

    Shar

  • Hi,

    Unfortunately we do no have a sample application that uses the Device Temperature Configuration cluster (0x0002) in our Z-Stack Home but you can use the SampleTemperatureSensor app as a reference and modify it accordingly. One of the difference will be that now instead of sending a value like 2190 to represent 21.90 you will have to divide that value by 100 and just send 21 in order to comply with the ZigBee Cluster Library specifications. 

    Hector.