zigbee 子设备怎么获取网关下发的用户数据

Zigbee 子设备开发


Post Reply
oliver
Posts: 3

DP ID 功能点名称 标识符 数据传输类型 数据类型 功能点属性
1 开关 switch_led 可下发可上报(rw) bool
2 模式 work_mode 可下发可上报(rw) enum 枚举值: white, colour, scene, music
3 亮度值 bright_value 可下发可上报(rw) value "数值范围: 0-1000,
间距: 1, 倍数: 0,
单位: "
4 冷暖值 temp_value 可下发可上报(rw) value "数值范围: 0-1000,
间距: 1, 倍数: 0,
单位: "
6 场景 scene_data 可下发可上报(rw) string
7 倒计时 countdown 可下发可上报(rw) value "数值范围: 0-86400,
间距: 1, 倍数: 0,
单位: s"
9 调节 control_data 只下发(wr) string
30 生物节律 rhythm_mode 可下发可上报(rw) raw
31 入睡计划 sleep_mode 可下发可上报(rw) raw
32 唤醒计划 wakeup_mode 可下发可上报(rw) raw
33 通电反应 power_memory 可下发可上报(rw) raw
34 通电勿扰 do_not_disturb 可下发可上报(rw) bool
35 开关渐变 switch_gradient 可下发可上报(rw) raw
81 zigbee light link阀值 zll_value 可下发可上报(rw) value "数值范围: -65--45,
间距: 1, 倍数: 0,
单位: dBm"
103 定时状态上报 timer_report 可下发可上报(rw) raw
104 Rtc定时 rtc_timer 可下发可上报(rw) raw
210 随机定时 random_timing 可下发可上报(rw) raw
101 DUV sdw 可下发可上报(rw) enum 枚举值: 1, 2, 3, 4, 5

功能表如上,在tal_zcl_specific_msg_recv_callback回调函数中我能获取到亮度值,冷暖值,当我用同样的办法“msg->payload[0]+msg->payload[1]”去获取DUV时,DUV类型是enum,我获取到的数据并不是协议显示的,请提供详细的说明怎么解析payload里的数据string 、bool 、raw 、enum 数据类型

oliver
Posts: 3

Re: zigbee 子设备怎么获取网关下发的用户数据

[2023-03-21 23:19:56.154]# RECV ASCII>
[0732755904 TUYA D][tuya_sdk_callback.c:492] app spec msg cb: cluster 0xef00, cmd 0x04,payload:
[0732755904 TUYA D][tuya_sdk_callback.c:498] receive single message
[0732755904 TUYA D][tuya_sdk_callback.c:550] DUV 0,a9,65,4

[2023-03-21 23:20:06.197]# RECV ASCII>
[0732755914 TUYA D][tuya_sdk_callback.c:492] app spec msg cb: cluster 0xef00, cmd 0x04,payload:
[0732755914 TUYA D][tuya_sdk_callback.c:498] receive single message
[0732755914 TUYA D][tuya_sdk_callback.c:550] DUV 0,aa,65,4

[2023-03-21 23:20:16.242]# RECV ASCII>
[0732755925 TUYA D][tuya_sdk_callback.c:492] app spec msg cb: cluster 0xef00, cmd 0x04,payload:
[0732755925 TUYA D][tuya_sdk_callback.c:498] receive single message
[0732755925 TUYA D][tuya_sdk_callback.c:550] DUV 0,ab,65,4
每次收到的自定义DP数据 只有第二个字节在变化,而且变化与APP上的操作无关了

User avatar
心_远
Posts: 14

Re: zigbee 子设备怎么获取网关下发的用户数据

请参考这篇帖子: viewtopic.php?t=994

oliver
Posts: 3

Re: zigbee 子设备怎么获取网关下发的用户数据

然来绕去并没有解决我的问题,
[2023-03-21 23:19:56.154]# RECV ASCII>
[0732755904 TUYA D][tuya_sdk_callback.c:492] app spec msg cb: cluster 0xef00, cmd 0x04,payload:
[0732755904 TUYA D][tuya_sdk_callback.c:498] receive single message
[0732755904 TUYA D][tuya_sdk_callback.c:550] DUV 0,a9,65,4

我的Cluster 已经是ef00,cmd 0X04都已经正常回调,说明我的DP注册没问题,产品能力值配置也没有错,否则我是触发不了这个回调的对不对?所以我的需求是怎么解析payload的每个byte,针对每种数据类型,每个byte的功能是什么,以便能正确的取到相应的数据。我的问题跟您们推荐的那个帖子并不是是一个类型,那个帖子是说怎么收到自定义的数据。我是已经能收到自定义数据,我咨询的是收到后怎么有效的解析,而不是我靠调试分析才能确定payload的那个byte是我需要的数据

User avatar
心_远
Posts: 14

Re: zigbee 子设备怎么获取网关下发的用户数据

可以把无线抓包截个图吗? viewtopic.php?t=994 这个帖子中已经介绍了 自定义 DP 的数据格式和解析方法的

Post Reply