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.

自建绑定表被zstack 删除 的问题?

Expert 1850 points

有两个设备, 一个是协调器灯, 一个是终端设备开关。

想实现 开关入网后 自动在本地端建立绑定表(协调器的EP 是固定的), 代码放置在应用层的loop   ZDO_STATE_CHANGE 中

if(zclSampleswitch_NwkState == DEV_END_DEVICE)
{
建立 自定义绑定表

static uint16 BindClusterIds[] = { ZCL_CLUSTER_ID_GEN_ON_OFF };
  zAddrType_t ZC_DstAddr;
  ZC_DstAddr.addrMode = Addr16Bit;
  ZC_DstAddr.addr.shortAddr = 0x0000;
  
  bindAddEntry( SAMPLEswitch_ENDPOINT,&ZC_DstAddr,
                          SAMPLELIGHT_ENDPOINT,1, BindClusterIds );  
}

但是多次试验发现, 如果 自定义的绑定 是在收到 transport key 前建立, 那么 收到transport key 之后 就会被擦除, 用该绑定地址发消息 是发不出去的

如果做个延时,尽量等收到transport key 之后 再建立 绑定表, 那么后续就可以用该绑定地址发消息~~~~

请问 zstack中 收到transport key 是否会自动删除 所有的绑定表信息~~~???具体在代码哪里? 能否修改?

还是必须延时 处理?