This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

zstack3.0子设备恢复网络时,如何更新协调器中该子设备的逻辑类型?

子设备切换逻辑设备后(终端,路由),软复位,接着恢复网络时,在协调器的AssociatedDevList中显示的该子设备的设备类型并没有改变。

(如切换前是路由,切换后是路由nodeRelation)

  • nodeRelation 可选值如下:
    // Node Relations

     #define PARENT  0//父节点 一般指协调器
     #define CHILD_RFD  1//简功能节点 一般指终端
     #define CHILD_RFD_RX_IDLE  2//简功能节点(空闭进 RF 接收开启) 一般指终端
     #define CHILD_FFD  3//全功能节点 一般指路由器
     #define CHILD_FFD_RX_IDLE  4//全功能节点(空闭进 RF 接收开启) 一般指路由器
     #define NEIGHBOR  5//邻居设备
     #define OTHER  6//其它设备
     #define NOTUSED  0xFF //没有使用

    您的nodeRelatio是如何改变的?您是如何改变设备类型的?确认改变成功?

  • 1.子设备的设备类型切换成功,并且和协调器的交互也是对应的,比如切换成终端就会定期发送datarequest给协调器,协调器也会回应。

    可是在协调器的关联表中的nodeRelation选项中设备类型没有跟着改变。

    2. 从nv中修改ZCD_NV_LOGICAL_TYPE,之后软复位

    3. 确认改变成功,交互形式和从机设备状态显示都改变了

    我希望的是改变设备类型后,不需要协调器重新允许入网!

  • 这种情况在入网时,使用的入网模式为MODE_REJOIN和MODE_RESUME;

    协调器似乎没有识别到我已经切换了设备类型。