我正在尝试创建一个 zigbee HA 设备。到目前为止,我已经使用https://nzfalco.jimdofree.com/electronic-projects/xbee-to-smartthings/以及 zigbee ZCL 规范来让我在 HA Basic 集群上发送命令。我正在使用 Digi XBee3 和他们的 xbee-java-library-1.3.0 库。
将响应发送到 SimpleDescriptor 后,我的 SmartThings 集线器向我发送了我认为该版本的 HA 读取请求:
[Thread-2] DEBUG com.digi.xbee.api.DataReader - [COM6 - 9600/8/N/1/N] Packet received:
Packet: 7E001791286D97000206071B0000010800000104110017000100E1
Start delimiter: 7E
Length: 00 17 (23)
Frame type: 91 (Explicit RX Indicator)
64-bit source address: 28 6D 97 00 02 06 07 1B
16-bit source address: 00 00
Source endpoint: 01
Dest. endpoint: 08
Cluster ID: 00 00
Profile ID: 01 04
Receive options: 11
RF data: 00 17 00 01 00
Checksum: E1
我将其解释为:
Profile 260 (HA), Cluster 0, frameControl=0, seq=97, command=0, attributes={1}
我用版本 0x20 回复:
[Thread-0] DEBUG com.digi.xbee.api.ZigBeeDevice - [COM6 - 9600/8/N/1/N] 0013A20041B76396 (Fred) - Sending XBee packet:
Packet: 7E001C1110286D97000206071B000001088000010400000017010100002020A1
Start delimiter: 7E
Length: 00 1C (28)
Frame type: 11 (Explicit Addressing Command Frame)
Frame ID: 10 (16)
64-bit dest. address: 28 6D 97 00 02 06 07 1B
16-bit dest. address: 00 00
Source endpoint: 01
Dest. endpoint: 08
Cluster ID: 80 00
Profile ID: 01 04
Broadcast radius: 00 (0)
Transmit options: 00
RF data: 00 17 01 01 00 00 20 20
Checksum: A1
在这一点上,规范有点令人困惑。ZCL Payload 中应该响应什么?集线器只是忽略我的响应并再次尝试读取。