Other Parts Discussed in Thread: SIMPLELINK-CC13X2-26X2-SDK
主题中讨论的其他器件:SIMPLELINK-CC13X2-26X2-SDK
我不熟悉 ZigBee。 我有一个 TI 器件在模仿光线。 我正在尝试运行 gw_set_attribute_reporting_Req 命令、使其向网关发送常规属性报告。
当我立即收到 STATUS_SUCCESS 响应时、该命令似乎起作用、但没有报告进入。
此外、我可以发送命令以返回光的单个属性报告、并返回正确的结果、因此我知道参数是正确的。
你能告诉我我我出了什么问题吗? 非常感谢。
以下是我的代码:
public int hagwSetAttributeReportReq (final long devIee、final int EP、final short att吸引人 ReqClusterId、
final short attrReqAttrId、final int attype、final int minInterval、
final int maxInterval、HagatewayZclCallback zclCallback ){
final GwSetAttributeReportingReq.Builder gwSetAttrReportingReq = GwSetAttributeReportingReq.newBuilder ();
gwSetAttrReportingReq.clear();
gwSetAttrReportingReq.setCmdId(gwCmdId_t.GW_SET_ATTRIBUTE_REPORTING_REQ);
gwSetAttrReportingReq.setClusterId(attrReqClusterId);
//set dst addr
gwSetAttrReportingReq.getDstAddressBuilder ().setAddressType (gwAddressType_t.unicast);
gwSetAttrReportingReq.getDstAddressBuilder ().setIeeAddr (devIeee);
gwSetAttrReportingReq.getDstAddressBuilder ().setEndpointId (EP);
gwAttributeReport_t.Builder attr = gwAttributeReport_t.newBuilder ();
attr.setAttributeId(attrReqAttrId);
attr.setAttributeType(gwZclAttributeDataTypes_t.forNumber(attrType));
attr.setMinReportInterval(minInterval);
attr.setMaxReportInterval(maxInterval);
attr.addReportableChange (0);
attr.setReportableChange(0,0);
gwSetAttrReportingReq.addAttributeReportList(attr);
<String>= gwSetAttrReportingReq.findInitializationErrors();
如果(!err.IsEmpty()){
system.out.println ("hagwWriteAttrReq 错误-"+ err.toString());
返回-1;
}
最终字节 pkt[]=新字节[gwSetAttrReportingReq.build()。getSerializedSize()
+ PKT_HEADER_SIZE];
PKT[PKT_HEADER_LEN_FIELD]=(字节)(gwSetAttrReportingReq.build()
.getSerializedSize()& 0xFF);
PKT[PKT_HEADER_LEN_FIELD +1]=(字节)((gwSetAttrReportingReq.build ()
.getSerializedSize()& 0xFF00)<<8);
PKT[PKT_HEADER_SUBSYS_FIELD]= zStackGwSysId_t.RPC_SYS_PB_GW_VALUE;
PKT[PKT_HEADER_CMDID 字段]= gwCmdId_t.gw_set_attribute_reporting_Req_value;
for (int pktIdx=0;pktIdx<gwSetAttrReportingReq.build().toByteArray().length;pktIdx++){
pkt[PKT_HEADER_DATA_FIELD + pktIdx]= gwSetAttrReportingReq.build()
toByteArray()[pktIdx];
}
sendMessage (pktt);
}