【已解决】复杂协议解析,新人求助

Zigbee 子设备开发


Post Reply
pocket525
Posts: 14

我在开发一款两线冷暖光源,通过涂鸦app下发的情景模式数据,按照复杂协议解析说明解析出来的数据为什么不对?

Attachments
2.png
1.png
doufu
Posts: 18

Re: 复杂协议解析,新人求助

你好,请问你收到的数据是网关下发的吗?具体的数据和zigbee协议发一下。

pocket525
Posts: 14

Re: 复杂协议解析,新人求助

对,网关下发的,具体的协议版本我不清楚,
附件3 是我把下发每个字节数据都给打印出来了
附件4 代码中原本的数据解析,

Attachments
3.png
4.png
pocket525
Posts: 14

Re: 复杂协议解析,新人求助

doufu 2024年 Jan 24日 17:19

你好,请问你收到的数据是网关下发的吗?具体的数据和zigbee协议发一下。

附件中的是跳变模式数据,一共下发18个字节
这个图片是对应的APP功能界面

Attachments
微信图片_20240124173728.jpg
doufu
Posts: 18

Re: 复杂协议解析,新人求助

解析错误原因是网关下发的数据是经过压缩的,而你参照的协议是DP协议(未压缩的)。可以参考这个文档去解析网关下发的情景数据:https://developer.tuya.com/cn/docs/conn ... A%E6%99%AF

pocket525
Posts: 14

Re: 复杂协议解析,新人求助

doufu 2024年 Jan 24日 18:04

解析错误原因是网关下发的数据是经过压缩的,而你参照的协议是DP协议(未压缩的)。可以参考这个文档去解析网关下发的情景数据:https://developer.tuya.com/cn/docs/conn ... A%E6%99%AF

您好,请问这个情景模式 1变化模式中
Byte[1] 从左到右分别是情景 1-8 的 mode 高 bit,是什么意思?
我的情景模式中,晚安,阅读,工作,休闲,跳变,呼吸,阶梯变化,节奏呼吸,分别要怎么获取变换模式的值?情景1-8是这8种模式吗,还是说对应的是情景id1-id8?
麻烦您帮我解答一下这个亦疑惑,谢谢您。

Attachments
app情景模式页面
app情景模式页面
压缩协议解析  - 情景模式
压缩协议解析 - 情景模式
doufu
Posts: 18

Re: 复杂协议解析,新人求助

首先我们一个情景最少有一个单元,最多有八个单元。在zigbee网关和子设备的压缩算法中情景的每个单元占8个字节,所以你收到的数据长度应该是 2+8n(n是这个情景的单元个数)。其中“2”的组成部分为byte[0]是这个情景的情景号,byte[1]是1-8个单元的变化模式的高bit位。“从左到右分别是情景 1-8 的 mode 高 bit”的意思是说byte[1]的bit7是单元1的变化模式高bit位,byte[1]的bit6是单元2的变化模式高bit位,byte[1]的bit5是单元3的变化模式高bit位,以此类推,总共8个bit对应8个单元的变化模式高bit位。以上解释了 “ 2+8n”中的“2”。

doufu
Posts: 18

Re: 复杂协议解析,新人求助

情景每个单元的变化模式由2个bit组成。高bit刚才已经解释过了,是在byte[1]中获取。那么低bit是在每个单元的8个byte中的第1个byte的bit7获取。

pocket525
Posts: 14

Re: 复杂协议解析,新人求助

doufu 2024年 Jan 25日 09:41

情景每个单元的变化模式由2个bit组成。高bit刚才已经解释过了,是在byte[1]中获取。那么低bit是在每个单元的8个byte中的第1个byte的bit7获取。

您好,情景模式中单元切换间隔时间和单元变化时间
的单位是什么?

Attachments
5高级功能时间间隔.png
doufu
Posts: 18

Re: 复杂协议解析,新人求助

你好,单位是100ms。

Post Reply