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.

[参考译文] 报告属性失败问题

Guru**** 2585275 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/594133/report-attribute-failed-issue

大家好、

有人建议我这样做吗?

有时,当我报告属性时,它不会发出。

我创建了一个周期计时器(5s)来发送报告,每次超时处理它都会增加变量(ButCD),而主叫方发送报告(Switch_sendToggle)

似乎不会立即更新属性信息。

静态空 Switch_sendToggle (空)

   afAddrType_t dstAddr;
   zclReportCmd_t *pReportCmd;

   //生成 ZCL 温度读数并将其发送到匹配的器件
   pReportCmd = iCall_malloc (sizeof (zclReportCmd_t)+ sizeof (zclReport_t));
   if (pReportCmd!=空)
   {
       dstAddr.addrMode =(afAddrMode_t) zswDstAddr.addrMode;
       dstAddr.addr.shortAddr = zswDstAddr.addr.shortAddr;
       dstAddr.endpoint = zswDstAddr.endpoint;
       dstAddr.panId = zswDstAddr.panID;
       pReportCmd->numAttr = 1;
       pReportCmd->attrList[0].attrID = ATTRID_button_cd;
       pReportCmd->atList[0].datatype = ZCL_datatype_uint8;
       pReportCmd->attrList[0].attrData =(void *)(&ButCD);    
       //调用 ZCL 函数发送报告
       zcl_SendReportCmd (switch_ep、&dstAddr、
               zcl_cluster_ID_Amigo、pReportCmd、
               ZCL_FRAME_SERVER_CLIENT_DIR、TRUE、swTransID++);

       iCall_free (pReportCmd);        
   }


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在哪里增加变量并调用 Switch_sendToggle?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,YK,

    现在,我增加它在计时器事件句柄上的加法,然后增加调用方 Switch_sendToggle。

    我尝试检查 zstackmsg_CmdIDs_AF_DATA_CONFIRM_IND 事件、但似乎也有一些问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    它听起来应用程序错误、因此我建议您在增加它的位置设置断点、并设置 Switch_sendToggle 来调试它。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,YK,
    感谢您考虑我的请求。

    它似乎不是仅在一段时间内发送报告、
    并且变量一直在增加。

    我在监听器上看不到软件包。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当您在监听器上看不到软件包时、尝试检查 zcl_SendReportCmd 的返回值是多少?