您好!
我们正在尝试将报告从 SampleSwitch 发送到网关。
我们可以发送 ON_OFF 报告(群集 ID 6)、并且可以在 HA 网关上看到消息、但是、如果我们选择的群集 ID 不是6、则不会发送报告。
zcl_SendReportCmd 的状态为0 (成功)、但我们在空中看不到任何消息。
您是否有任何有关如何进行报告的有效示例?
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.
您好!
我们正在尝试将报告从 SampleSwitch 发送到网关。
我们可以发送 ON_OFF 报告(群集 ID 6)、并且可以在 HA 网关上看到消息、但是、如果我们选择的群集 ID 不是6、则不会发送报告。
zcl_SendReportCmd 的状态为0 (成功)、但我们在空中看不到任何消息。
您是否有任何有关如何进行报告的有效示例?
您好!
以下是发送不起作用的占用报告的代码。 我们在 Ubiqua 中看不到该报告:
静态 Zstack_AFAddr_t zswDstAddr; zswDstAddr.addrMode = Zstack_AFAddrMode_none; zswDstAddr.adortAddr = 0;zswDstAddr.addr = 0; zswDstAddr.panID = 0; afAddrType_t dstAddr; dstAddr.addrMode =(afAddrMode_t) zswDstAddr.addrMode; dstAddr.addr.shortAddr = zswDstAddr.addr.addr.shortAddr; dstAddr.addr=zswDstAddr.adpoint.endpoint.endpoint; dstAddr.zstAddr.adr.shortAddr.adr.adId=zstAddr.adr.adr. zclReportCmd_t *pReportCmd; pReportCmd = iCall_malloc (sizeof (zclReportCmd_t)+ sizeof (zclReport_t))); if (pReportCmd!= NULL) { pReportCmd->numAttr = 1; pReportCmd->attrList[0].attrID = ATTRID_MS_LOAD_sensing_config_LOAD; pReportCmd->atList[0].datatype = ZCL_datatype_BITMAP8; pReportCmd->attrList[0].attrData =(void *)(&zoc_Occupied); zcl_SendReportCmd (switch_ep、&dstAddr、 ZCL_CLUSTER_ID_MS_LOAD_sensing、 pReportCmd、 ZCL_FRAME_SERVER_CLIENT_DIR、 错误、 1); }
我们在 zcl_SendReportCmd 的返回状态中有断点、状态为0x00。 我们在 Ubiqua 中看不到该消息。
如果我们将 ZCL_CLUSTER_ID_MS_LOAD_Sensing 更改为 ZCL_CL_CLUSTER_ID_GEN_ON_OFF、我们可以在 Ubiqua 中以及网关上看到报告(尽管值是关闭的、因为 ON_OFF 集群没有此属性)。 您知道什么会阻止数据包被发送吗?
您好!
我们做到了这一点:
dstAddr.addrMode =(afAddrMode_t) ZStack_AFAddrMode_Short; dstAddr.addr.shortAddr = 0x0000; dstAddr.endpoint = 0x08; dstAddr.panId = 0x185F; zclReportCmd_t *pReportCmd; pReportCmd = iCall_malloc (sizeof (zclReportCmd_t)+ sizeof (zclReport_t)); if (pReportCmd!=空) { pReportCmd->numAttr = 1; pReportCmd->attrList[0].attrID = ATTRID_MS_LOAD_sensing_config_LOAD; pReportCmd->atList[0].datatype = ZCL_datatype_uint8; pReportCmd->attrList[0].attrData =(void *)(&zoc占用); zcl_SendReportCmd (switch_ep、&dstAddr、 ZCL_CLUSTER_ID_MS_LOAD_sensing、 pReportCmd、 ZCL_FRAME_SERVER_CLIENT_DIR、 错误、 1);
现在我们可以在 Ubiqua 和网关中看到报告。 但是、我们需要准确指定目标地址、但我们需要发送绑定到的端点。
我们如何将报告发送到绑定的端点?
谢谢你。
是的。 绑定成功。
我们可以在 Ubiqua 中看到绑定、我们可以看到导通关闭命令、 如果使用 ZCL_cluster_ID_GEN_ON_OFF、我们可以使用 ZStack_AFAddrMode_none 发送报告。
但是、如果我们将调用 中的第3个参数 zcl_SendReportCmd 更改为 ZCL_cluster_ID_MS_en占据 栅格感应、函数返回成功(0x00)、但不会发送任何内容(Ubiqua 不会看到任何内容)。