Hi Support Team,
I have gone through existing Zigbee 3.0 JN-SW-4270 SDK source code. Where I haven't found HVAC profile thermostat cluster full attribute support. I am referring ZCL 07-5123-06 specification.
Please refer below list of Missing Thermostat cluster attribute sets in JN-SW-4270 SDK source code. so NXP does have any planning to add those attribute set in upcoming release or something.
i.e:
6.3.2.2.1 Thermostat Information At tribute Set
0x0009 HVACSystemTypeConfiguration map8 00xxxxxx RW 00000000 O
6.3.2.2.2 Thermostat Settings Attribute Set
0x001e ThermostatRunningMode enum8 0x00 – 0x04 R 0x00 O
6.3.2.2.3 Thermostat Schedule & HVAC Relay Attribute Set
...
May I know NXP implemented Zigbee 3.0 SDK on which ZCL revision?
Thanks in Advance,
Best Regards,
Kanji Viroja.
Solved! Go to Solution.
Hi Kanji,
Please look at the 33.2 Thermostat Cluster Structure and Attributes, you will find the structure tsCLD_Thermostat.
Also, you could add the custom data structure for the cluster that you want.
Regards,
Mario
Hi Kanji,
Please look at the
https://www.nxp.com/docs/en/user-guide/JN-UG-3115.pdf
The SDK is based on the 075123 rev 6 ZigBee Cluster Library Specification [from ZigBee Alliance]
Look at the next Chapter 33.2 Thermostat Cluster Structure and Attributes
Regards,
Mario
Hi Mario,
Look at the next Chapter 33.2 Thermostat Cluster Structure and Attributes
Not able to find below a list of attribute support as already mentioned in thread details.
ZCL: http://www.zigbee.org/wp-content/uploads/2014/10/07-5123-06-zigbee-cluster-library-specification.pdf
Goto: 6.3.2.2.1 Thermostat Information Attribute Set
Details :
0x0009 HVACSystemTypeConfiguration map8 00xxxxxx RW 00000000 O
0x001e ThermostatRunningMode enum8 0x00 – 0x04 R 0x00 O
6.3.2.2.3 Thermostat Schedule & HVAC Relay Attribute Set
x0020 StartOfWeek enum8 0x00 – 0x06 R – O
x0021 NumberOfWeeklyTransitions uint8 0x00 – 0xff R N/A O
x0022 NumberOfDailyTransitions uint8 0x00 – 0xff R N/A O
x0023 TemperatureSetpointHold enum8 0x00 – 0x01 RW 0x00 O
x0024 TemperatureSetpointHoldDuration uint16 0xffff - 0x05a0 RW 0xffff O
x0025 ThermostatProgrammingOperationMode map8 00xxxxxx RW 00000000 O
x0029 ThermostatRunningState map16 R - O
As per my observation, Currently, Thermostat cluster does have support according to ZCL 07-5123-04(http://www.zigbee.org/wp-content/uploads/2014/11/docs-07-5123-04-zigbee-cluster-library-specificatio...). Please make sure at your end then let me know.
Thanks,
Best Regards,
Kanji Viroja.
Hi Kanji,
Please look at the 33.2 Thermostat Cluster Structure and Attributes, you will find the structure tsCLD_Thermostat.
Also, you could add the custom data structure for the cluster that you want.
Regards,
Mario
Thank you so much mario_castaneda for the quick response.
Also, you could add the custom data structure for the cluster that you want.
I have to add below a list of things in existing data structure:
1) Attribute enum in teCLD_Thermostat_AttributeID.
2) Attribute specific variable in tsCLD_Thermostat.
3) Attribute mapped in asCLD_ThermostatClusterAttributeDefinitions(enumID,Permission Flag read/write,shared structure variable).
4) Default value initializes of that variable in eCLD_ThermostatCreateThermostat.
One more question is in my mind, Do may I need to add read/write attribute handler separately or will handle itself by stack event?
Thank You!!
Regards,
Kanji Viroja.
Hi Kanji,
Depends on your application, you could set reporting with an individual attribute or by a stack event.
Regards,
Mario
mario_castaneda : Actually, I don't want to report attribute. If someone try to globally write attribute then how to handle them? Also wanna validate receive data and if that is incorrect then return invalid status of that global attribute write request response else success.
Hi Kanji,
Did you look at the eCLD_ThermostatSetAttribute API?
https://www.nxp.com/docs/en/user-guide/JN-UG-3115.pdf
Regards,
Mario
mario_castaneda : I have added custom attribute handler and whenever receive write request for thermostat cluster attribute that time it will first validate receive data then write. If any case validation failed then it will send invalid error code.