Page 1 of 2

【TuyaOS SDK】zigbee Pan ID变化导致之前添加的子设备无法使用

Posted: 2023年 Jan 9日 14:46
by youngpe

hi,涂鸦工程师:
你好!
咨询zigbee网关Pan ID变化问题描述如下:
1) 开发包全名ty_integrated_sdk_arm-linux-androideabi-4.9-ndk-r18b_release-1.1.2
2)问题现象:
网关设备周末放着两天,这周回来看子设备都下线了。
zigbeeNetInfo.txt文件显示Pan ID为:0x3F2A,通过抓包看之前已添加的子设备发送的包的Destination Pan ID 也是0x3F2A,但是不知道为什么现在开启扫描的时候抓包,网关发出的包Pan ID变成了0x8E28,导致之前添加过的子设备无法使用了,可以确定没有重置过,zigbeeNetInfo.txt是正确的。

zigbeeNetInfo.txt:
Node ID:0
Pan ID:0x3F2A
Radio Channel:25
Radio Power:13
Extended Pan Id: 944A140A85F67B38
EUI64: A5AFFDFEFF15CD04
Global Key: 25 08 7F 52 77 19 FC 7F 82 BB 34 C1 F4 69 A5 33
Global FC:0x7FFFFFFF
Network Key: 57 57 69 7F 7B 11 C7 6A 40 ED 42 A8 7E 3B 7F 6D
Network FC:0x12BB0000
Network Sequence Number:0x00


Re: 【TuyaOS SDK】zigbee Pan ID变化导致之前添加的子设备无法使用

Posted: 2023年 Jan 9日 15:31
by Kyson

能提供一下完整的网关日志吗?包含变化前和变化后的。网关只有在没有添加子设备的情况,每次重启 SDK 都会选择最优的信道,会重新创建网络,这种情况 PANID 才会发生变化。按你的描述,之前添加了子设备,所以是不会出现 PANID 变化,建议提供下相关日志给我们看下。


Re: 【TuyaOS SDK】zigbee Pan ID变化导致之前添加的子设备无法使用

Posted: 2023年 Jan 9日 18:38
by youngpe

请问初始化过程中是如何判断是否有添加子设备的,通过什么文件内容还是什么。


Re: 【TuyaOS SDK】zigbee Pan ID变化导致之前添加的子设备无法使用

Posted: 2023年 Jan 10日 10:17
by Kyson

设备入网后设备信息会存到本地数据库,初始化的时候会统计接入的设备数量,如果是 0 就会重新创建 Zigbee 网络。日志里面可以搜 rcd_valid_cnt 这个关键字。


Re: 【TuyaOS SDK】zigbee Pan ID变化导致之前添加的子设备无法使用

Posted: 2023年 Jan 10日 14:58
by youngpe

udb->rcd_valid_cnt:0,是表示没有添加子设备吗,但是后面有user device list is not empty, dont re-create network。


Re: 【TuyaOS SDK】zigbee Pan ID变化导致之前添加的子设备无法使用

Posted: 2023年 Jan 10日 16:44
by Kyson

0 是表示没有接入子设备。

user device list is not empty,这个是用了接入三方生态功能才会有这个打印,你是网关使用了涂鸦模组接入三方生态 Zigbee 子设备吗?


Re: 【TuyaOS SDK】zigbee Pan ID变化导致之前添加的子设备无法使用

Posted: 2023年 Jan 10日 16:49
by youngpe

就接了几款海曼的传感器设备,应该都是涂鸦系的,海曼算三方生态设备吗


Re: 【TuyaOS SDK】zigbee Pan ID变化导致之前添加的子设备无法使用

Posted: 2023年 Jan 10日 17:17
by Kyson

涂鸦系的子设备 SDK 是默认支持的,不需要使用三方接入的接口进行开发,可以参考 Zigbee 网关

目前你这种情况,本地数据库读取出来的数量是 0,不清楚是你通过三方接入没有调用绑定接口,还是本地数据库文件丢失了导致的,得提供下异常上下文的日志进一步分析才行。如果是涂鸦生态的子设备,建议直接由 SDK 管理,不需要额外开发。


Re: 【TuyaOS SDK】zigbee Pan ID变化导致之前添加的子设备无法使用

Posted: 2023年 Jan 11日 15:32
by youngpe

我绑定了一个设备再看了下初始化的日志,sub_dev_ddi_s.rdb这个本地数据库对应的rcd_valid_cnt是1,但是sub_dev_schm.rdb、s_dev_schm_ver.rdb这两个对应的rcd_valid_cnt还是0,这样有问题吗,会判断为未添加设备,重新建立网络吗


Re: 【TuyaOS SDK】zigbee Pan ID变化导致之前添加的子设备无法使用

Posted: 2023年 Jan 11日 18:41
by Kyson

不会重新创建网络,这个是会打印多次的。你可以过滤 Begin Load Devices,这个会更直观一点。类型这样的:

Code: Select all

[01-01 00:00:03:119 TUYA D][subdev_bind.c:1570] Begin Load Devices
[01-01 00:00:03:119 TUYA D][subdev_sto_rcd.c:594] num is 0