TI中文支持网
TI专业的中文技术问题搜集分享网站

父节点是路由的终端设备退网,协调器收不到退网数据

当一个终端设备使用zclSampleSw_BasicResetCB中的NLME_LeaveReq退网时候,只会给其父节点发送leave通知。(路由是发出广播的)

但其父节点路由没有广播,所以协调器收不到终端退网的数据。

经测试小米零火开关是可以的,测试多个ti方案的零火开关(路由设备)均有问题。我也尝试修改过但都无效。比如打开ZDO_MGMT_LEAVE_REQUEST和ZDO_MGMT_LEAVE_RESPONSE,断点调试也不进ZDO_LeaveCnf和ZDO_LeaveInd。

请大家分析,附件抓包   ti路由退网.zip小米路由退网.zip

user4381970:

求解!

xuezheng su:

回复 user4381970:

请问这位大神,你的问题解决了吗?我也遇到一样的问题?TI的各位大神能给点建议吗?

YiKai Chen:

回复 xuezheng su:

建議你用Z-Stack 3.0.2試試

xuezheng su:

回复 YiKai Chen:

嗯,这下动作就大了。我想问一下,你们是怎么处理的呢?

YiKai Chen:

回复 xuezheng su:

什麼怎么处理的呢?

xuezheng su:

回复 YiKai Chen:

嗯,我的意思是,这个问题应该很容易出现的。你们在做产品的时候应该会碰到,你们怎么处理的?

YiKai Chen:

回复 xuezheng su:

一般是建議由host/coordinator這一端下leave reqeust去移除設備

user4381970:

回复 YiKai Chen:

瞎说,一般都是终端侧退网,

协调器侧发送一般也是发zha中basic里面的restfactory。终端休眠根本收不到下行数据。

飞利浦hue就只能下行数据让灯泡退网,如果主机拿走或者坏掉,灯泡就不能重置了,只能拿遥控器了。这个设计特别蛋疼

其实就是路由有bug

YiKai Chen:

回复 user4381970:

您就當作我瞎說好了、協調器送leave request 給設備離網是很標準的作法、當然設備也是要有重置的能力、但你不能期待設備發出leave request 協調器一定會收到

Alvin Chen:

回复 YiKai Chen:

YK chen 说的很正常,一般来说由gateway或者coordinator管理网络中的设备。当你leave之后你的ZR应该发送UpdateDevice的命令,你可以根据这个ZDO_UPDATE_DEVICE_IND case in ZDApp_ProcessSecMsg处理。

赞(0)
未经允许不得转载:TI中文支持网 » 父节点是路由的终端设备退网,协调器收不到退网数据
分享到: 更多 (0)