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.

[参考译文] CC2530:CC2530始终如上发送 ZCL 属性响应

Guru**** 2603845 points


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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/608773/cc2530-cc2530-always-sent-zcl-attributes-response-as-on

器件型号:CC2530

大家好、

我将继续设计我的器件。 我感谢叶凯先生。  

我的 ZCL 群集开/关(0x0006),在 HA 配置文件中,命令几乎运行良好....  我不知道发生了什么、我的器件始终通过 ZCL 命令报告:读取属性响应。  值打开(0x01)  

您可以看到、独立于 ZCL 命令(ON 或 OFF)、对 ZCL 读取属性的响应始终为 ON (0x01)。

在此 PIC 中、您可以看到在 ZCL CMD 关闭后、读取属性的响应仍然开启。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当您的设备收到关闭命令时、您是否将开/关属性更改为0?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    叶凯先生
    我需要定义它:zclSampleLight_Attrs =0;???

    我的 ZCL onoffCB 是:

    静态空 zclSampleLight_OnOffCB( uint8 cmd )

    //打开指示灯
    如果(cmd == COMMAND_ON)
    zclSampleLight_OnOff = Light_on;

    //关闭指示灯
    否则,如果(cmd == COMMAND_OFF)
    zclSampleLight_OnOff = Light_off;

    //切换光源
    其他

    if (zclSampleLight_OnOff = light_off)
    zclSampleLight_OnOff = Light_on;
    其他
    zclSampleLight_OnOff = Light_off;
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    否、您只需更改 zclSampleLight_OnOff 值。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yikai 先生。
    我更改了、但继续将 ZCL 读取属性响应(由我的器件发送)状态记录设置为0x01 (开启)。

    我在 ZCL zclSampleLight_OnOffCB 中´s 了、正如您告诉我的那样、正如您在下面看到的、但它仍然不起作用。 请帮帮我。

    静态空 zclSampleLight_OnOffCB( uint8 cmd )

    //打开指示灯
    如果(cmd == COMMAND_ON)
    {zclSampleLight_OnOff = Light_on;
    HalLedSet (HAL_LED_3、HAL_LED_MODE_ON);//由 ASA 编写

    //关闭指示灯
    否则,如果(cmd == COMMAND_OFF)
    zclSampleLight_OnOff = Light_off;

    //切换光源
    其他

    if (zclSampleLight_OnOff = light_off)
    zclSampleLight_OnOff = Light_Off;//将 ASA 强制为 Off
    其他
    zclSampleLight_OnOff = Light_Off;//将 ASA 强制设置为 Off


    //在此示例应用中,我们使用 LED3来模拟光源
    if (zclSampleLight_OnOff == light_on){
    HalLedSet (HAL_LED_3、HAL_LED_MODE_ON);
    HalLedSet (HAL_LED_1、HAL_LED_MODE_OFF);

    否则{
    HalLedSet (HAL_LED_3、HAL_LED_MODE_OFF);
    HalLedSet (HAL_LED_1、HAL_LED_MODE_ON);

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我建议您使用 IAR 进行调试、停止程序并在执行属性读取时在观察窗口中检查 zclSampleLight_OnOff。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yikai 先生、现在我的器件正确发送了 ZCL 读取属性响应。
    我进行了调试、发现在群集 ID 属性定义中定义一个输入错误时出错。

    当正确的集群 ID 为:ZCL_CLUSTER_ID_GEN_ON_OFF 时、我使用了错误的 ID ZCL_CLUSTER_ID_GEN_BASIC。

    您是否会看到以下正确的代码段:

    ZCL_CLUSTER_ID_GEN_BASIC、//
    {//属性记录
    ATTRID_BASICE_ZCL_VERSION、
    ZCL_datatype_uint8、
    ACCESS_CONTRAL_READ、
    (空*)&zclSampleLight_ZCLVersion

    非常感谢您的帮助。
    BR
    Alex
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我无法理解您希望我为您检查什么。 请详细说明。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Yikai 先生、您无需检查!
    Afetar 我更改了我在上一篇文章中编写的 ZCL claster 参数、我的器件开始正常运行!

    感谢你的帮助。
    BR
    Alex