TI中文支持网
TI专业的中文技术问题搜集分享网站

一个ZLL的设备入到ZHA的网络中,profile ID发生了变化

协调器协议栈版本:ZHA1.2.2a

有几个外协的LED灯模块,用的ZLL的协议栈,加到我们现在的协调器网络中。

1、开始没问题,入网之后在描述符中读出来的profile ID=0xC05E,DEVICEID=0x0100;

2、后来网关有个改动,入网后在读取简单描述符之前,先读取了一下厂商名称,用的read attributes命令,读取后再获取的描述符中就变成了:

       profile ID=0x0104,DEVICEID=0x0100;

3、这样造成了一个问题:同样的DEVICEID(0x0100),在不同的profile ID下表示的设备类型是不同的,

      ZLL中:#define ZLL_DEVICEID_DIMMABLE_LIGHT                        0x0100

      ZHA中:#define ZCL_HA_DEVICEID_ON_OFF_LIGHT                    0x0100

4、这样在网关端生成的设备类型就不一样了,在APP的控制上就发生错误了。

请问下:为什么一个读取的操作,会影响设备本身的简单描述符中的信息?而且测试了号几家的LED模块,都是同样的现象,所以应该是ZLL设备加入到ZHA网络的统一现象。

下边两个抓包文件,一个是没有进行读取操作,一个是进行了读取操作的。可以看到,不读厂商名profile ID=0xC05E,读了之后profile ID=0x0104.

下边这个这个是profile ID没有变得:

外协调光灯profileC05E.rar

下边这个这个是profile ID变成0x0104得:

外协调光灯profile0104.rar

YiKai Chen:

建議你可以用設備支持的ZCL cluster來區分,應該就可以處理掉這個問題

user5020974:

回复 YiKai Chen:

这个做的话,就得在网关程序中做更改了,网关程序还是另外部门得人做的,他那边就只认DEVICEID……

Aries Lord:

回复 user5020974:

你们的设备端的端口是否有重复注册?

赞(0)
未经允许不得转载:TI中文支持网 » 一个ZLL的设备入到ZHA的网络中,profile ID发生了变化
分享到: 更多 (0)