0
Can anyone tell me what is the data payload to change the system mode of the ZigBee based thermostat?

I have found the cluster ID and attribute ID for the system mode i.e 0x0201 (cluster ID) & 0x001C (attribute ID) but unable to frame the data payload.

Zigbee walker output

Digi International -- ZDO/ZCL Walker v1.03
Started at Mon Nov 11 10:14:28 2019
Performing discovery on 00-0d-6f-00-0a-93-e5-40.
Endpoint 0x01  Profile 0x0104  Device 0x0301  Ver 0x00
   input/server cluster 0x0000
      attr 0x0000, type 0x20 (UNSIGNED_8BIT) 0x01 = 1
      attr 0x0002, type 0x20 (UNSIGNED_8BIT) 0x02 = 2
      attr 0x0003, type 0x20 (UNSIGNED_8BIT) 0x03 = 3
      attr 0x0004, type 0x42 (STRING_CHAR) "Centralite"
      attr 0x0005, type 0x42 (STRING_CHAR) "3157100-E"
      attr 0x0007, type 0x30 (ENUM_8BIT) 0x81 = 129
   input/server cluster 0x0001
      attr 0x0020, type 0x20 (UNSIGNED_8BIT) 0x1C = 28
      attr 0x0036, type 0x20 (UNSIGNED_8BIT) 0x00 = 0
      attr 0x0037, type 0x20 (UNSIGNED_8BIT) 0x00 = 0
      attr 0x0038, type 0x20 (UNSIGNED_8BIT) 0x00 = 0
      attr 0x0039, type 0x20 (UNSIGNED_8BIT) 0x00 = 0
      attr 0x003E, type 0x1B (BITMAP_32BIT) 0x00000000
   input/server cluster 0x0003
      attr 0x0000, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
   input/server cluster 0x0020
      attr 0x0000, type 0x23 (UNSIGNED_32BIT) 0x00000000 = 0
      attr 0x0001, type 0x23 (UNSIGNED_32BIT) 0x0000001C = 28
      attr 0x0002, type 0x21 (UNSIGNED_16BIT) 0x0001 = 1
      attr 0x0003, type 0x21 (UNSIGNED_16BIT) 0x0014 = 20
      attr 0x0004, type 0x23 (UNSIGNED_32BIT) 0x000000F0 = 240
      attr 0x0005, type 0x23 (UNSIGNED_32BIT) 0x0000001C = 28
      attr 0x0006, type 0x21 (UNSIGNED_16BIT) 0x0078 = 120
   input/server cluster 0x0201
      attr 0x0000, type 0x29 (SIGNED_16BIT) 0x0B39 = 2873
      attr 0x0003, type 0x29 (SIGNED_16BIT) 0x02BC = 700
      attr 0x0004, type 0x29 (SIGNED_16BIT) 0x0BB8 = 3000
      attr 0x0005, type 0x29 (SIGNED_16BIT) 0x02BC = 700
      attr 0x0006, type 0x29 (SIGNED_16BIT) 0x0C80 = 3200
      attr 0x0009, type 0x18 (BITMAP_8BIT) 0xFF
      attr 0x0010, type 0x28 (SIGNED_8BIT) 0x00 = 0
      attr 0x0011, type 0x29 (SIGNED_16BIT) 0x029A = 666
      attr 0x0012, type 0x29 (SIGNED_16BIT) 0x029A = 666
      attr 0x0015, type 0x29 (SIGNED_16BIT) 0x02BC = 700
      attr 0x0016, type 0x29 (SIGNED_16BIT) 0x0BB8 = 3000
      attr 0x0017, type 0x29 (SIGNED_16BIT) 0x02BC = 700
      attr 0x0018, type 0x29 (SIGNED_16BIT) 0x0BB8 = 3000
      attr 0x0019, type 0x28 (SIGNED_8BIT) 0x0A = 10
      attr 0x001B, type 0x30 (ENUM_8BIT) 0x05 = 5
      attr 0x001C, type 0x30 (ENUM_8BIT) 0x00 = 0
      attr 0x001E, type 0x30 (ENUM_8BIT) 0x00 = 0
      attr 0x0023, type 0x30 (ENUM_8BIT) 0x00 = 0
      attr 0x0024, type 0x21 (UNSIGNED_16BIT) 0xFFFF = 65535
      attr 0x0025, type 0x18 (BITMAP_8BIT) 0x00
      attr 0x0029, type 0x19 (BITMAP_16BIT) 0x0000
      attr 0x0030, type 0x30 (ENUM_8BIT) 0x00 = 0
      attr 0x0031, type 0x29 (SIGNED_16BIT) 0x8000 = 32768
   input/server cluster 0x0202
      attr 0x0000, type 0x30 (ENUM_8BIT) 0x05 = 5
      attr 0x0001, type 0x30 (ENUM_8BIT) 0x04 = 4
   input/server cluster 0x0204
      attr 0x0000, type 0x30 (ENUM_8BIT) 0x00 = 0
      attr 0x0001, type 0x30 (ENUM_8BIT) 0x00 = 0
   input/server cluster 0x0B05
      attr 0x0100, type 0x23 (UNSIGNED_32BIT) 0x08000000 = 134217728
      attr 0x0101, type 0x23 (UNSIGNED_32BIT) 0x08000001 = 134217729
      attr 0x0102, type 0x23 (UNSIGNED_32BIT) 0x08000157 = 134218071
      attr 0x0103, type 0x23 (UNSIGNED_32BIT) 0x08006CA7 = 134245543
      attr 0x0104, type 0x21 (UNSIGNED_16BIT) 0x01ED = 493
      attr 0x0105, type 0x21 (UNSIGNED_16BIT) 0x01EF = 495
      attr 0x0106, type 0x21 (UNSIGNED_16BIT) 0x023E = 574
      attr 0x0107, type 0x21 (UNSIGNED_16BIT) 0x0218 = 536
      attr 0x0108, type 0x21 (UNSIGNED_16BIT) 0x0050 = 80
      attr 0x0109, type 0x21 (UNSIGNED_16BIT) 0x0048 = 72
      attr 0x010A, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x010B, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x010C, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x010D, type 0x21 (UNSIGNED_16BIT) 0x0003 = 3
      attr 0x010E, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x010F, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x0110, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x0111, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x0112, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x0113, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x0114, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x0115, type 0x21 (UNSIGNED_16BIT) 0x0001 = 1
      attr 0x0116, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x0117, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x0118, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x0119, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x011A, type 0x21 (UNSIGNED_16BIT) 0x0000 = 0
      attr 0x011B, type 0x21 (UNSIGNED_16BIT) 0x2401 = 9217
      attr 0x011C, type 0x20 (UNSIGNED_8BIT) 0xFF = 255
      attr 0x011D, type 0x28 (SIGNED_8BIT) 0xDA = 218
  output/client cluster 0x000A
    no attributes
  output/client cluster 0x0019
      attr 0x0000, type 0xF0 (IEEE_ADDR) ff-ff-ff-ff-ff-ff-ff-ff
      attr 0x0001, type 0x23 (UNSIGNED_32BIT) 0xFFFFFFFF = 4294967295
      attr 0x0002, type 0x23 (UNSIGNED_32BIT) 0x04045010 = 67391504
      attr 0x0004, type 0x23 (UNSIGNED_32BIT) 0xFFFFFFFF = 4294967295
      attr 0x0006, type 0x30 (ENUM_8BIT) 0x00 = 0
      attr 0x0007, type 0x21 (UNSIGNED_16BIT) 0xC2DF = 49887
      attr 0x0008, type 0x21 (UNSIGNED_16BIT) 0x0023 = 35
      attr 0x0009, type 0x21 (UNSIGNED_16BIT) 0x1388 = 5000
      attr 0x000A, type 0x23 (UNSIGNED_32BIT) 0x5BAF4865 = 1538213989
Completed at Mon Nov 11 10:15:02 2019
(34 seconds elapsed)

我正在按照这个构建框架 - [使用 API 发送 Zigbee 集群库 (ZCL) 命令][1]

以下是我构建的用于更改恒温器系统模式的框架,但下面的框架并未更改系统模式(关闭、加热、冷却)。

7E 00 19 11 01 00 0D 6F 00 0A 93 E5 40 FF FE 01 01 02 01 01 04 00 00 00 01 00 00 1C 8B

有人可以帮助我使用正确的框架,尤其是数据有效负载部分来更改恒温器的系统模式吗?

4

1 回答 1

1

您是否确认可以加入 Nest 恒温器的网络?您需要手动组装 ZCL(Zigbee 集群库)框架来读取或写入该属性 ID。

如果您有 802.15.4 嗅探器,您可能能够监控恒温器和另一个设备之间的通信以确定发生了什么,并可能弄清楚如何从 XBee 重现这些帧。自从我使用 Zigbee 网络已经有一段时间了,所以我不知道现在家庭自动化的标准是什么,以及加入现有的 HA 网络有多困难。

您没有指定语言,但 Digi 提供了一个开源XBee 主机 C 库来与其 XBee 模块(您在标签中指定)接口,它包括 ZCL 和 ZDO/ZDP(Zigbee 数据对象/配置文件)层。其中一个示例(Zigbee Walker)使用 ZDO 和 ZCL 发现来转储设备上的端点、集群和属性列表。

于 2019-10-10T21:19:17.173 回答