hi,涂鸦工程师:
你好!
咨询问题描述如下:
1) 开发包全名ty_integrated_sdk_arm-linux-androideabi-4.9-ndk-r18b_release-1.1.2
2)问题现象:我们添加了一个3路的开关,3路开关的endpoint1,2,3分别支持了cluster id 0x0006,刚添加进去的时候3路开关控制都正常,放了一天后,再去控制开关2的时候变成控制开关3,控制开关3也是控制开关3,相当于开关2就无法控制了,抓包看控制开关2时destination endpoint是3,打日志分析,在发送数据接口tuya_zigbee_send_data前将frame.dst_endpoint打印出来就是2,问题就是frame里设置的dst_endpoint是2,为什么发出去的是3?
为了验证这个问题,我做了实验,在tuya_zigbee_send_data接口前最后一句,将frame.dst_endpoint设置成4,抓包看发出去的destination endpoint还是3,所以是否是SDK底层会对tuya_zigbee_send_data的参数frame.dst_endpoint做什么处理,请问这个可能是什么问题,该如何解决。
注:在3路开关上直接控制设备的开关2,开关的状态上报正常,上报包中destination endpoint是2。
【中控】【TuyaOS SDK】3路开关控制问题
【中控】【TuyaOS SDK】3路开关控制问题
Re: 【中控】【TuyaOS SDK】3路开关控制问题
麻烦上传一下网关的日志。
Re: 【中控】【TuyaOS SDK】3路开关控制问题
[01-01 18:14:03:161 TUYA D][tuya_zigbee_api.c:321] send zcl to device: a4c13833eb7abdd9
[01-01 18:14:03:161 TUYA D][tuya_zigbee_api.c:342] dev_id: a4c13833eb7abdd9, profile_id: 0x0104, cluster_id: 0x0006
[01-01 18:14:03:161 TUYA D][tuya_zigbee_api.c:345] src_ep[0x01] dst_ep[0x02] grp_id[0x0000] cmd_type[0x02] msg_len[0] cmd_id[0x00]
[01-01 18:14:03:164 TUYA D][z3_slabs.c:542] Error,dev a4c13833eb7abdd9 don't find endpoint.
[01-01 18:14:03:164 TUYA D][tuya_z3_api_tmp.c:6415] change dest endpoint, old:2, new:3.
[01-01 18:14:03:164 TUYA D][tuya_z3_api_tmp.c:6805] eui:a4c13833eb7abdd9, cmdType:2.
Re: 【中控】【TuyaOS SDK】3路开关控制问题
这个打印说明设备信息没有 endpoint 2 了,应该是当前只有 3,所以进行了强制转换。方便发一下存储路径下的 device.txt 和 device1.txt 文件看看?至于为什么设备信息丢了,需要复现一下提供下完整日志分析。
Code: Select all
[01-01 18:14:03:164 TUYA D][z3_slabs.c:542] Error,dev a4c13833eb7abdd9 don't find endpoint.
[01-01 18:14:03:164 TUYA D][tuya_z3_api_tmp.c:6415] change dest endpoint, old:2, new:3.