Zigbee Thermostat Cluster

Zigbee device Development


Post Reply
firmware@nuos.in
Posts: 19

Hi,

I am using Zigbee Thermostat showing current temperature and setting tempertaure, mode and on-off.
when i change temperature from 16 to 23 from smart life app, then i receive following commands "0x3 0xb1 0x32 0x2 0x0 0x4 0x0 0x0 0x0 0x16" on tuya cluster 0xEF00. But temperature is not set back to 16 and not 23.
What response i have to send back. can you send me the frame. what will be command Id and other data struct is to respond back? I also dont know the attribute id of 0xEF00 clusters.

User avatar
huanghuan
Posts: 265

Re: Zigbee Thermostat Cluster

1.Hello, in order to facilitate our troubleshooting, please provide the device id and operation time of the corresponding gateway and Zigbee Thermostat
2.If available, please provide wireless capture file

shiliang
Posts: 41

Re: Zigbee Thermostat Cluster

Hello, The parsing format of this data is as follows:
2 bytes seq number
1 byte DP id 0x03 0xb1
1 byte DP type 0x02
2 bytes DP length 0x00 0x04
4 bytes DP value 0x00 0x00 0x00 0x16

firmware@nuos.in
Posts: 19

Re: Zigbee Thermostat Cluster

Ok, but in order to set back temperature value or mode or fan speed from my device(server cluster) to smart life app(client clusters), what will be the command_id for setting temperature, mode, fan speed and state onoff.

firmware@nuos.in
Posts: 19

Re: Zigbee Thermostat Cluster

My device id is d7c9098f9b75359e07yuav

Ok, but in order to set back temperature value or mode or fan speed from my device(server cluster) to smart life app(client clusters), what will be the command_id for setting temperature, mode, fan speed and state onoff.

Due to lack of tuya thermostat documentation on internet, i am unable to crack the solution.

Last edited by firmware@nuos.in on 2025年 Mar 21日 14:45, edited 1 time in total.
User avatar
huanghuan
Posts: 265

Re: Zigbee Thermostat Cluster

1.Hello, I think you have questions about how to use the command under the EF00 cluster, you can see the usage of this demo

Attachments
tuyaos_serial_demo.7z
(7.67 KiB) Downloaded 8 times
firmware@nuos.in
Posts: 19

Re: Zigbee Thermostat Cluster

Thanks for the code, but i am unable to found usage of EF00 cluster in all files

User avatar
huanghuan
Posts: 265

Re: Zigbee Thermostat Cluster

You can look at how this function handles tal_zcl_specific_msg_recv_callback

firmware@nuos.in
Posts: 19

Re: Zigbee Thermostat Cluster

Now i only successfully able to send the command of type_id(data frame size) <= 8, above 8, my no other enum defined type_id is working. In your code, you passed ZG_ZCL_FRAME_TYPE_SPEC_TO_CLUSTER to type_id.

So what is the value of "ZG_ZCL_FRAME_TYPE_SPEC_TO_CLUSTER". Is this the type_id?

STATIC VOID_T send_dp_read_data(UINT8_T *data, UINT8_T data_len)
{
TAL_ZG_SEND_DATA_T send_data;


if((data == NULL)||(data_len > 62)){
return;
}


tal_system_memset(&send_data, 0, sizeof(TAL_ZG_SEND_DATA_T));


send_data.zcl_id = (UINT8_T)app_seq_num_get();
send_data.qos = QOS_0;
send_data.addr.mode = SEND_MODE_DEV;
send_data.addr.type.dev.cluster_id = CLUSTER_PRIVATE_TUYA_CLUSTER_ID;
send_data.addr.type.dev.src_ep = 0X01;
send_data.delay_time = 0;
send_data.random_time = 0;
send_data.frame_type = ZG_ZCL_FRAME_TYPE_SPEC_TO_CLUSTER;
send_data.direction = ZG_ZCL_DATA_SERVER_TO_CLIENT;


send_data.command_id = SERIAL_PROTOCOL_DATA_RSP;
send_data.data.private.data[0] = 0;
send_data.data.private.data[1] = send_data.zcl_id;


tal_system_memcpy(&send_data.data.private.data[2], data, data_len);
send_data.data.private.len = data_len+2;


tal_zg_send_data(&send_data, NULL, 1000);
}

Post Reply