zigbee-herdsman 6.0.2 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +12 -3
  3. package/.github/ISSUE_TEMPLATE/config.yml +0 -5
  4. package/.github/dependabot.yml +0 -22
  5. package/.github/workflows/ci.yml +0 -69
  6. package/.github/workflows/release-please.yml +0 -18
  7. package/.github/workflows/stale.yml +0 -20
  8. package/.github/workflows/typedoc.yaml +0 -47
  9. package/.release-please-manifest.json +0 -3
  10. package/.vscode/extensions.json +0 -3
  11. package/.vscode/settings.json +0 -11
  12. package/biome.json +0 -98
  13. package/examples/join-and-log.js +0 -24
  14. package/release-please-config.json +0 -9
  15. package/src/adapter/adapter.ts +0 -189
  16. package/src/adapter/adapterDiscovery.ts +0 -666
  17. package/src/adapter/const.ts +0 -12
  18. package/src/adapter/deconz/adapter/deconzAdapter.ts +0 -877
  19. package/src/adapter/deconz/driver/constants.ts +0 -246
  20. package/src/adapter/deconz/driver/driver.ts +0 -1540
  21. package/src/adapter/deconz/driver/frame.ts +0 -11
  22. package/src/adapter/deconz/driver/frameParser.ts +0 -753
  23. package/src/adapter/deconz/driver/parser.ts +0 -45
  24. package/src/adapter/deconz/driver/writer.ts +0 -22
  25. package/src/adapter/deconz/types.d.ts +0 -13
  26. package/src/adapter/ember/adapter/emberAdapter.ts +0 -2265
  27. package/src/adapter/ember/adapter/endpoints.ts +0 -86
  28. package/src/adapter/ember/adapter/oneWaitress.ts +0 -324
  29. package/src/adapter/ember/adapter/tokensManager.ts +0 -782
  30. package/src/adapter/ember/consts.ts +0 -178
  31. package/src/adapter/ember/enums.ts +0 -1746
  32. package/src/adapter/ember/ezsp/buffalo.ts +0 -1392
  33. package/src/adapter/ember/ezsp/consts.ts +0 -148
  34. package/src/adapter/ember/ezsp/enums.ts +0 -1114
  35. package/src/adapter/ember/ezsp/ezsp.ts +0 -9061
  36. package/src/adapter/ember/ezspError.ts +0 -10
  37. package/src/adapter/ember/types.ts +0 -866
  38. package/src/adapter/ember/uart/ash.ts +0 -1960
  39. package/src/adapter/ember/uart/consts.ts +0 -109
  40. package/src/adapter/ember/uart/enums.ts +0 -192
  41. package/src/adapter/ember/uart/parser.ts +0 -48
  42. package/src/adapter/ember/uart/queues.ts +0 -247
  43. package/src/adapter/ember/uart/writer.ts +0 -53
  44. package/src/adapter/ember/utils/initters.ts +0 -58
  45. package/src/adapter/ember/utils/math.ts +0 -73
  46. package/src/adapter/events.ts +0 -21
  47. package/src/adapter/ezsp/adapter/backup.ts +0 -109
  48. package/src/adapter/ezsp/adapter/ezspAdapter.ts +0 -614
  49. package/src/adapter/ezsp/driver/commands.ts +0 -2497
  50. package/src/adapter/ezsp/driver/consts.ts +0 -11
  51. package/src/adapter/ezsp/driver/driver.ts +0 -1002
  52. package/src/adapter/ezsp/driver/ezsp.ts +0 -802
  53. package/src/adapter/ezsp/driver/frame.ts +0 -101
  54. package/src/adapter/ezsp/driver/index.ts +0 -4
  55. package/src/adapter/ezsp/driver/multicast.ts +0 -78
  56. package/src/adapter/ezsp/driver/parser.ts +0 -81
  57. package/src/adapter/ezsp/driver/types/basic.ts +0 -201
  58. package/src/adapter/ezsp/driver/types/index.ts +0 -239
  59. package/src/adapter/ezsp/driver/types/named.ts +0 -2330
  60. package/src/adapter/ezsp/driver/types/struct.ts +0 -844
  61. package/src/adapter/ezsp/driver/uart.ts +0 -460
  62. package/src/adapter/ezsp/driver/utils/crc16ccitt.ts +0 -44
  63. package/src/adapter/ezsp/driver/utils/index.ts +0 -32
  64. package/src/adapter/ezsp/driver/writer.ts +0 -64
  65. package/src/adapter/index.ts +0 -3
  66. package/src/adapter/serialPort.ts +0 -58
  67. package/src/adapter/socketPortUtils.ts +0 -16
  68. package/src/adapter/tstype.ts +0 -78
  69. package/src/adapter/z-stack/adapter/adapter-backup.ts +0 -519
  70. package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +0 -457
  71. package/src/adapter/z-stack/adapter/endpoints.ts +0 -57
  72. package/src/adapter/z-stack/adapter/manager.ts +0 -543
  73. package/src/adapter/z-stack/adapter/tstype.ts +0 -6
  74. package/src/adapter/z-stack/adapter/zStackAdapter.ts +0 -1190
  75. package/src/adapter/z-stack/constants/af.ts +0 -27
  76. package/src/adapter/z-stack/constants/common.ts +0 -285
  77. package/src/adapter/z-stack/constants/dbg.ts +0 -23
  78. package/src/adapter/z-stack/constants/index.ts +0 -11
  79. package/src/adapter/z-stack/constants/mac.ts +0 -128
  80. package/src/adapter/z-stack/constants/sapi.ts +0 -25
  81. package/src/adapter/z-stack/constants/sys.ts +0 -72
  82. package/src/adapter/z-stack/constants/util.ts +0 -82
  83. package/src/adapter/z-stack/constants/utils.ts +0 -14
  84. package/src/adapter/z-stack/constants/zdo.ts +0 -103
  85. package/src/adapter/z-stack/models/startup-options.ts +0 -13
  86. package/src/adapter/z-stack/structs/entries/address-manager-entry.ts +0 -44
  87. package/src/adapter/z-stack/structs/entries/address-manager-table.ts +0 -19
  88. package/src/adapter/z-stack/structs/entries/aps-link-key-data-entry.ts +0 -12
  89. package/src/adapter/z-stack/structs/entries/aps-link-key-data-table.ts +0 -21
  90. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-entry.ts +0 -19
  91. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-table.ts +0 -21
  92. package/src/adapter/z-stack/structs/entries/channel-list.ts +0 -8
  93. package/src/adapter/z-stack/structs/entries/has-configured.ts +0 -16
  94. package/src/adapter/z-stack/structs/entries/index.ts +0 -16
  95. package/src/adapter/z-stack/structs/entries/nib.ts +0 -66
  96. package/src/adapter/z-stack/structs/entries/nwk-key-descriptor.ts +0 -15
  97. package/src/adapter/z-stack/structs/entries/nwk-key.ts +0 -13
  98. package/src/adapter/z-stack/structs/entries/nwk-pan-id.ts +0 -8
  99. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.ts +0 -20
  100. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.ts +0 -19
  101. package/src/adapter/z-stack/structs/entries/security-manager-entry.ts +0 -33
  102. package/src/adapter/z-stack/structs/entries/security-manager-table.ts +0 -22
  103. package/src/adapter/z-stack/structs/index.ts +0 -4
  104. package/src/adapter/z-stack/structs/serializable-memory-object.ts +0 -14
  105. package/src/adapter/z-stack/structs/struct.ts +0 -367
  106. package/src/adapter/z-stack/structs/table.ts +0 -198
  107. package/src/adapter/z-stack/unpi/constants.ts +0 -33
  108. package/src/adapter/z-stack/unpi/frame.ts +0 -62
  109. package/src/adapter/z-stack/unpi/index.ts +0 -4
  110. package/src/adapter/z-stack/unpi/parser.ts +0 -56
  111. package/src/adapter/z-stack/unpi/writer.ts +0 -21
  112. package/src/adapter/z-stack/utils/channel-list.ts +0 -40
  113. package/src/adapter/z-stack/utils/index.ts +0 -2
  114. package/src/adapter/z-stack/utils/network-options.ts +0 -26
  115. package/src/adapter/z-stack/znp/buffaloZnp.ts +0 -175
  116. package/src/adapter/z-stack/znp/definition.ts +0 -2713
  117. package/src/adapter/z-stack/znp/index.ts +0 -2
  118. package/src/adapter/z-stack/znp/parameterType.ts +0 -22
  119. package/src/adapter/z-stack/znp/tstype.ts +0 -44
  120. package/src/adapter/z-stack/znp/utils.ts +0 -10
  121. package/src/adapter/z-stack/znp/znp.ts +0 -342
  122. package/src/adapter/z-stack/znp/zpiObject.ts +0 -148
  123. package/src/adapter/zboss/adapter/zbossAdapter.ts +0 -526
  124. package/src/adapter/zboss/commands.ts +0 -1184
  125. package/src/adapter/zboss/consts.ts +0 -9
  126. package/src/adapter/zboss/driver.ts +0 -422
  127. package/src/adapter/zboss/enums.ts +0 -360
  128. package/src/adapter/zboss/frame.ts +0 -227
  129. package/src/adapter/zboss/reader.ts +0 -65
  130. package/src/adapter/zboss/types.ts +0 -0
  131. package/src/adapter/zboss/uart.ts +0 -428
  132. package/src/adapter/zboss/utils.ts +0 -58
  133. package/src/adapter/zboss/writer.ts +0 -49
  134. package/src/adapter/zigate/adapter/patchZdoBuffaloBE.ts +0 -27
  135. package/src/adapter/zigate/adapter/zigateAdapter.ts +0 -618
  136. package/src/adapter/zigate/driver/LICENSE +0 -17
  137. package/src/adapter/zigate/driver/buffaloZiGate.ts +0 -212
  138. package/src/adapter/zigate/driver/commandType.ts +0 -418
  139. package/src/adapter/zigate/driver/constants.ts +0 -150
  140. package/src/adapter/zigate/driver/frame.ts +0 -197
  141. package/src/adapter/zigate/driver/messageType.ts +0 -287
  142. package/src/adapter/zigate/driver/parameterType.ts +0 -32
  143. package/src/adapter/zigate/driver/ziGateObject.ts +0 -146
  144. package/src/adapter/zigate/driver/zigate.ts +0 -423
  145. package/src/adapter/zoh/adapter/utils.ts +0 -27
  146. package/src/adapter/zoh/adapter/zohAdapter.ts +0 -838
  147. package/src/buffalo/buffalo.ts +0 -342
  148. package/src/buffalo/index.ts +0 -1
  149. package/src/controller/controller.ts +0 -1022
  150. package/src/controller/database.ts +0 -124
  151. package/src/controller/events.ts +0 -52
  152. package/src/controller/greenPower.ts +0 -603
  153. package/src/controller/helpers/index.ts +0 -1
  154. package/src/controller/helpers/installCodes.ts +0 -107
  155. package/src/controller/helpers/request.ts +0 -96
  156. package/src/controller/helpers/requestQueue.ts +0 -125
  157. package/src/controller/helpers/zclFrameConverter.ts +0 -47
  158. package/src/controller/helpers/zclTransactionSequenceNumber.ts +0 -19
  159. package/src/controller/index.ts +0 -6
  160. package/src/controller/model/device.ts +0 -1249
  161. package/src/controller/model/endpoint.ts +0 -1105
  162. package/src/controller/model/entity.ts +0 -23
  163. package/src/controller/model/group.ts +0 -424
  164. package/src/controller/model/index.ts +0 -5
  165. package/src/controller/model/zigbeeEntity.ts +0 -30
  166. package/src/controller/touchlink.ts +0 -189
  167. package/src/controller/tstype.ts +0 -274
  168. package/src/index.ts +0 -12
  169. package/src/models/backup-storage-legacy.ts +0 -48
  170. package/src/models/backup-storage-unified.ts +0 -47
  171. package/src/models/backup.ts +0 -37
  172. package/src/models/index.ts +0 -5
  173. package/src/models/network-options.ts +0 -11
  174. package/src/utils/backup.ts +0 -152
  175. package/src/utils/index.ts +0 -5
  176. package/src/utils/logger.ts +0 -20
  177. package/src/utils/patchBigIntSerialization.ts +0 -8
  178. package/src/utils/queue.ts +0 -76
  179. package/src/utils/types.d.ts +0 -3
  180. package/src/utils/utils.ts +0 -19
  181. package/src/utils/wait.ts +0 -5
  182. package/src/utils/waitress.ts +0 -96
  183. package/src/zspec/consts.ts +0 -84
  184. package/src/zspec/enums.ts +0 -22
  185. package/src/zspec/index.ts +0 -3
  186. package/src/zspec/tstypes.ts +0 -18
  187. package/src/zspec/utils.ts +0 -247
  188. package/src/zspec/zcl/buffaloZcl.ts +0 -1220
  189. package/src/zspec/zcl/definition/cluster.ts +0 -5915
  190. package/src/zspec/zcl/definition/clusters-typegen.ts +0 -588
  191. package/src/zspec/zcl/definition/clusters-types.ts +0 -7331
  192. package/src/zspec/zcl/definition/consts.ts +0 -24
  193. package/src/zspec/zcl/definition/enums.ts +0 -203
  194. package/src/zspec/zcl/definition/foundation.ts +0 -329
  195. package/src/zspec/zcl/definition/manufacturerCode.ts +0 -729
  196. package/src/zspec/zcl/definition/status.ts +0 -69
  197. package/src/zspec/zcl/definition/tstype.ts +0 -377
  198. package/src/zspec/zcl/index.ts +0 -11
  199. package/src/zspec/zcl/utils.ts +0 -321
  200. package/src/zspec/zcl/zclFrame.ts +0 -356
  201. package/src/zspec/zcl/zclHeader.ts +0 -102
  202. package/src/zspec/zcl/zclStatusError.ts +0 -10
  203. package/src/zspec/zdo/buffaloZdo.ts +0 -2336
  204. package/src/zspec/zdo/definition/clusters.ts +0 -722
  205. package/src/zspec/zdo/definition/consts.ts +0 -16
  206. package/src/zspec/zdo/definition/enums.ts +0 -99
  207. package/src/zspec/zdo/definition/status.ts +0 -105
  208. package/src/zspec/zdo/definition/tstypes.ts +0 -1062
  209. package/src/zspec/zdo/index.ts +0 -7
  210. package/src/zspec/zdo/utils.ts +0 -76
  211. package/src/zspec/zdo/zdoStatusError.ts +0 -10
  212. package/test/adapter/adapter.test.ts +0 -1062
  213. package/test/adapter/ember/ash.test.ts +0 -337
  214. package/test/adapter/ember/consts.ts +0 -131
  215. package/test/adapter/ember/emberAdapter.test.ts +0 -3449
  216. package/test/adapter/ember/ezsp.test.ts +0 -385
  217. package/test/adapter/ember/ezspBuffalo.test.ts +0 -93
  218. package/test/adapter/ember/ezspError.test.ts +0 -12
  219. package/test/adapter/ember/math.test.ts +0 -206
  220. package/test/adapter/ezsp/frame.test.ts +0 -30
  221. package/test/adapter/ezsp/uart.test.ts +0 -181
  222. package/test/adapter/z-stack/adapter.test.ts +0 -3984
  223. package/test/adapter/z-stack/constants.test.ts +0 -33
  224. package/test/adapter/z-stack/structs.test.ts +0 -115
  225. package/test/adapter/z-stack/unpi.test.ts +0 -213
  226. package/test/adapter/z-stack/znp.test.ts +0 -1284
  227. package/test/adapter/zboss/fixZdoResponse.test.ts +0 -179
  228. package/test/adapter/zigate/patchZdoBuffaloBE.test.ts +0 -81
  229. package/test/adapter/zigate/zdo.test.ts +0 -187
  230. package/test/adapter/zoh/utils.test.ts +0 -36
  231. package/test/adapter/zoh/zohAdapter.test.ts +0 -1307
  232. package/test/benchOptions.ts +0 -14
  233. package/test/buffalo.test.ts +0 -431
  234. package/test/controller.bench.ts +0 -214
  235. package/test/controller.test.ts +0 -8702
  236. package/test/greenpower.test.ts +0 -1408
  237. package/test/mockAdapters.ts +0 -65
  238. package/test/mockDevices.ts +0 -598
  239. package/test/requests.bench.ts +0 -229
  240. package/test/testUtils.ts +0 -20
  241. package/test/tsconfig.json +0 -9
  242. package/test/utils/math.ts +0 -19
  243. package/test/utils.test.ts +0 -279
  244. package/test/vitest.config.mts +0 -26
  245. package/test/zcl.test.ts +0 -2831
  246. package/test/zspec/utils.test.ts +0 -68
  247. package/test/zspec/zcl/buffalo.test.ts +0 -1374
  248. package/test/zspec/zcl/frame.test.ts +0 -960
  249. package/test/zspec/zcl/utils.test.ts +0 -273
  250. package/test/zspec/zdo/buffalo.test.ts +0 -1850
  251. package/test/zspec/zdo/utils.test.ts +0 -241
  252. package/tsconfig.json +0 -24
@@ -1,722 +0,0 @@
1
- /**
2
- * Defines for ZigBee device profile cluster IDs follow.
3
- * These include descriptions of the formats of the messages.
4
- *
5
- * Note that each message starts with a 1-byte transaction sequence number.
6
- * This sequence number is used to match a response command frame to the request frame that it is replying to.
7
- * The application shall maintain a 1-byte counter that is copied into this field and incremented by one for each command sent.
8
- * When a value of 0xff is reached, the next command shall re-start the counter with a value of 0x00.
9
- *
10
- * The Device Profile describes devices in one of two configurations:
11
- * - Client: A client issues requests to the server via Device Profile messages.
12
- * - Server: A server issues responses to the client that initiated the Device Profile message.
13
- *
14
- * Restricted Mode (`apsZdoRestrictedMode`) is a mode where a device will conditionally accept specific ZDO commands,
15
- * depending on the restricted criteria, source address, and encryption policy of the incoming command.
16
- * If a command is accepted, it is subject to normal command processing.
17
- * The acceptance criteria is explain further below:
18
- * 1. If the command is marked as “Yes” in the Restricted Command column, do the following:
19
- * - a. If `apsZdoRestrictedMode` in the AIB is set to FALSE, the command is not restricted.
20
- * - i. Go to Step 2.
21
- * - b. If the sender is the Trust Center AND has APS encryption, the command is not restricted.
22
- * - i. Go to Step 2.
23
- * - c. Otherwise, the command SHALL NOT be processed. The receiver SHALL do the following:
24
- * - i. If the command was broadcast, no error is generated.
25
- * - No more processing is done.
26
- * - ii. If the command was unicast, generate an error message. Create the corresponding ZDO Response frame with a status of NOT_AUTHORIZED.
27
- * - No more processing is done.
28
- * 2. Continue processing the command normally.
29
- */
30
- export enum ClusterId {
31
- //-------------------------------------------------------------------------------------------------
32
- //-- Device and Service Discovery Client Services
33
-
34
- /**
35
- * Request: [transaction sequence number: 1]
36
- * [EUI64:8] [request type:1] [start index:1]
37
- * [request type] = 0x00 single address response, ignore the start index
38
- * = 0x01 extended response, sends kid's IDs as well
39
- */
40
- NETWORK_ADDRESS_REQUEST = 0x0000,
41
- /**
42
- * Response: [transaction sequence number: 1]
43
- * [status:1] [EUI64:8] [node ID:2]
44
- * [assoc dev count:1] [start index:1] [assoc dev list:2]*
45
- */
46
- NETWORK_ADDRESS_RESPONSE = 0x8000,
47
-
48
- /**
49
- * Request: [transaction sequence number: 1]
50
- * [node ID:2] [request type:1] [start index:1]
51
- * [request type] = 0x00 single address response, ignore the start index
52
- * = 0x01 extended response, sends kid's IDs as well
53
- */
54
- IEEE_ADDRESS_REQUEST = 0x0001,
55
- /**
56
- * Response: [transaction sequence number: 1]
57
- * [status:1] [EUI64:8] [node ID:2]
58
- * [assoc dev count:1] [start index:1] [assoc dev list:2]*
59
- */
60
- IEEE_ADDRESS_RESPONSE = 0x8001,
61
-
62
- /**
63
- * Request: [transaction sequence number: 1] [node ID:2] [tlvs: varies]
64
- */
65
- NODE_DESCRIPTOR_REQUEST = 0x0002,
66
- /**
67
- * Response: [transaction sequence number: 1] [status:1] [node ID:2]
68
- * [node descriptor: 13] [tlvs: varies]
69
- *
70
- * Node Descriptor field is divided into subfields of bitmasks as follows:
71
- * (Note: All lengths below are given in bits rather than bytes.)
72
- * Logical Type: 3
73
- * Complex Descriptor Available: 1
74
- * User Descriptor Available: 1
75
- * (reserved/unused): 3
76
- * APS Flags: 3
77
- * Frequency Band: 5
78
- * MAC capability flags: 8
79
- * Manufacturer Code: 16
80
- * Maximum buffer size: 8
81
- * Maximum incoming transfer size: 16
82
- * Server mask: 16
83
- * Maximum outgoing transfer size: 16
84
- * Descriptor Capability Flags: 8
85
- * See ZigBee document 053474, Section 2.3.2.3 for more details.
86
- */
87
- NODE_DESCRIPTOR_RESPONSE = 0x8002,
88
-
89
- /**
90
- * Request: [transaction sequence number: 1] [node ID:2]
91
- */
92
- POWER_DESCRIPTOR_REQUEST = 0x0003,
93
- /**
94
- * Response: [transaction sequence number: 1] [status:1] [node ID:2]
95
- * [current power mode, available power sources:1]
96
- * [current power source, current power source level:1]
97
- * See ZigBee document 053474, Section 2.3.2.4 for more details.
98
- */
99
- POWER_DESCRIPTOR_RESPONSE = 0x8003,
100
-
101
- /**
102
- * Request: [transaction sequence number: 1]
103
- * [node ID:2] [endpoint:1]
104
- */
105
- SIMPLE_DESCRIPTOR_REQUEST = 0x0004,
106
- /**
107
- * Response: [transaction sequence number: 1]
108
- * [status:1] [node ID:2] [length:1] [endpoint:1]
109
- * [app profile ID:2] [app device ID:2]
110
- * [app device version, app flags:1]
111
- * [input cluster count:1] [input cluster:2]*
112
- * [output cluster count:1] [output cluster:2]*
113
- */
114
- SIMPLE_DESCRIPTOR_RESPONSE = 0x8004,
115
-
116
- /**
117
- * Request: [transaction sequence number: 1] [node ID:2]
118
- */
119
- ACTIVE_ENDPOINTS_REQUEST = 0x0005,
120
- /**
121
- * Response: [transaction sequence number: 1]
122
- * [status:1] [node ID:2] [endpoint count:1] [endpoint:1]*
123
- */
124
- ACTIVE_ENDPOINTS_RESPONSE = 0x8005,
125
-
126
- /**
127
- * Request: [transaction sequence number: 1]
128
- * [node ID:2] [app profile ID:2]
129
- * [input cluster count:1] [input cluster:2]*
130
- * [output cluster count:1] [output cluster:2]*
131
- */
132
- MATCH_DESCRIPTORS_REQUEST = 0x0006,
133
- /**
134
- * Response: [transaction sequence number: 1]
135
- * [status:1] [node ID:2] [endpoint count:1] [endpoint:1]*
136
- */
137
- MATCH_DESCRIPTORS_RESPONSE = 0x8006,
138
-
139
- /** DEPRECATED */
140
- // COMPLEX_DESCRIPTOR_REQUEST = 0x0010,
141
- /** DEPRECATED */
142
- // COMPLEX_DESCRIPTOR_RESPONSE = 0x8010,
143
- /** DEPRECATED */
144
- // USER_DESCRIPTOR_REQUEST = 0x0011,
145
- /** DEPRECATED */
146
- // USER_DESCRIPTOR_RESPONSE = 0x8011,
147
- /** DEPRECATED */
148
- // DISCOVERY_REGISTER_REQUEST = 0x0012,
149
- /** DEPRECATED */
150
- // DISCOVERY_REGISTER_RESPONSE = 0x8012,
151
-
152
- /**
153
- * Request: [transaction sequence number: 1]
154
- * [node ID:2] [EUI64:8] [capabilities:1]
155
- */
156
- END_DEVICE_ANNOUNCE = 0x0013,
157
-
158
- /** DEPRECATED */
159
- // USER_DESCRIPTOR_SET = 0x0014,
160
- /** DEPRECATED */
161
- // USER_DESCRIPTOR_CONFIRM = 0x8014,
162
-
163
- /**
164
- * This is broadcast and only servers which have matching services respond.
165
- *
166
- * Request: [transaction sequence number: 1] [server mask:2]
167
- */
168
- SYSTEM_SERVER_DISCOVERY_REQUEST = 0x0015,
169
- /**
170
- * The response contains the request services that the recipient provides.
171
- *
172
- * Response: [transaction sequence number: 1]
173
- * [status (== EMBER_ZDP_SUCCESS):1] [server mask:2]
174
- */
175
- SYSTEM_SERVER_DISCOVERY_RESPONSE = 0x8015,
176
-
177
- /** DEPRECATED */
178
- // DISCOVERY_STORE_REQUEST = 0x0016,
179
- /** DEPRECATED */
180
- // DISCOVERY_STORE_RESPONSE = 0x8016,
181
- /** DEPRECATED */
182
- // NODE_DESCRIPTOR_STORE_REQUEST = 0x0017,
183
- /** DEPRECATED */
184
- // NODE_DESCRIPTOR_STORE_RESPONSE = 0x8017,
185
- /** DEPRECATED */
186
- // POWER_DESCRIPTOR_STORE_REQUEST = 0x0018,
187
- /** DEPRECATED */
188
- // POWER_DESCRIPTOR_STORE_RESPONSE = 0x8018,
189
- /** DEPRECATED */
190
- // ACTIVE_ENDPOINTS_STORE_REQUEST = 0x0019,
191
- /** DEPRECATED */
192
- // ACTIVE_ENDPOINTS_STORE_RESPONSE = 0x8019,
193
- /** DEPRECATED */
194
- // SIMPLE_DESCRIPTOR_STORE_REQUEST = 0x001A,
195
- /** DEPRECATED */
196
- // SIMPLE_DESCRIPTOR_STORE_RESPONSE = 0x801A,
197
- /** DEPRECATED */
198
- // REMOVE_NODE_CACHE_REQUEST = 0x001B,
199
- /** DEPRECATED */
200
- // REMOVE_NODE_CACHE_RESPONSE = 0x801B,
201
- /** DEPRECATED */
202
- // FIND_NODE_CACHE_REQUEST = 0x001C,
203
- /** DEPRECATED */
204
- // FIND_NODE_CACHE_RESPONSE = 0x801C,
205
- /** DEPRECATED */
206
- // EXTENDED_SIMPLE_DESCRIPTOR_REQUEST = 0x001D,
207
- /** DEPRECATED */
208
- // EXTENDED_SIMPLE_DESCRIPTOR_RESPONSE = 0x801D,
209
- /** DEPRECATED */
210
- // EXTENDED_ACTIVE_ENDPOINTS_REQUEST = 0x001E,
211
- /** DEPRECATED */
212
- // EXTENDED_ACTIVE_ENDPOINTS_RESPONSE = 0x801E,
213
-
214
- /**
215
- * This is broadcast and only servers which have matching children respond.
216
- *
217
- * Request: [transaction sequence number: 1]
218
- * [number of children:1] [child EUI64:8]*
219
- */
220
- PARENT_ANNOUNCE = 0x001f,
221
- /**
222
- * The response contains the list of children that the recipient now holds.
223
- *
224
- * Response: [transaction sequence number: 1]
225
- * [status: 1] [number of children:1] [child EUI64:8]*
226
- */
227
- PARENT_ANNOUNCE_RESPONSE = 0x801f,
228
-
229
- //-------------------------------------------------------------------------------------------------
230
- //-- Bind, Unbind, and Bind Management Client Services Primitives
231
-
232
- /** DEPRECATED */
233
- // END_DEVICE_BIND_REQUEST = 0x0020,
234
- /** DEPRECATED */
235
- // END_DEVICE_BIND_RESPONSE = 0x8020,
236
-
237
- /**
238
- * There are two possible formats, depending on whether the destination is a group address or a device address.
239
- * Device addresses include an endpoint, groups don't.
240
- *
241
- * Request: [transaction sequence number: 1]
242
- * [source EUI64:8] [source endpoint:1]
243
- * [cluster ID:2] [destination address:3 or 10]
244
- * Destination address:
245
- * [0x01:1] [destination group:2]
246
- * Or:
247
- * [0x03:1] [destination EUI64:8] [destination endpoint:1]
248
- *
249
- */
250
- BIND_REQUEST = 0x0021,
251
- /**
252
- * Response: [transaction sequence number: 1] [status:1]
253
- */
254
- BIND_RESPONSE = 0x8021,
255
- /**
256
- * There are two possible formats, depending on whether the destination is a group address or a device address.
257
- * Device addresses include an endpoint, groups don't.
258
- *
259
- * Request: [transaction sequence number: 1]
260
- * [source EUI64:8] [source endpoint:1]
261
- * [cluster ID:2] [destination address:3 or 10]
262
- * Destination address:
263
- * [0x01:1] [destination group:2]
264
- * Or:
265
- * [0x03:1] [destination EUI64:8] [destination endpoint:1]
266
- *
267
- */
268
- UNBIND_REQUEST = 0x0022,
269
- /**
270
- * Response: [transaction sequence number: 1] [status:1]
271
- */
272
- UNBIND_RESPONSE = 0x8022,
273
-
274
- /** DEPRECATED */
275
- // BIND_REGISTER_REQUEST = 0x0023,
276
- /** DEPRECATED */
277
- // BIND_REGISTER_RESPONSE = 0x8023,
278
- /** DEPRECATED */
279
- // REPLACE_DEVICE_REQUEST = 0x0024,
280
- /** DEPRECATED */
281
- // REPLACE_DEVICE_RESPONSE = 0x8024,
282
- /** DEPRECATED */
283
- // STORE_BACKUP_BIND_ENTRY_REQUEST = 0x0025,
284
- /** DEPRECATED */
285
- // STORE_BACKUP_BIND_ENTRY_RESPONSE = 0x8025,
286
- /** DEPRECATED */
287
- // REMOVE_BACKUP_BIND_ENTRY_REQUEST = 0x0026,
288
- /** DEPRECATED */
289
- // REMOVE_BACKUP_BIND_ENTRY_RESPONSE = 0x8026,
290
- /** DEPRECATED */
291
- // BACKUP_BIND_TABLE_REQUEST = 0x0027,
292
- /** DEPRECATED */
293
- // BACKUP_BIND_TABLE_RESPONSE = 0x8027,
294
- /** DEPRECATED */
295
- // RECOVER_BIND_TABLE_REQUEST = 0x0028,
296
- /** DEPRECATED */
297
- // RECOVER_BIND_TABLE_RESPONSE = 0x8028,
298
- /** DEPRECATED */
299
- // BACKUP_SOURCE_BIND_REQUEST = 0x0029,
300
- /** DEPRECATED */
301
- // BACKUP_SOURCE_BIND_RESPONSE = 0x8029,
302
- /** DEPRECATED */
303
- // RECOVER_SOURCE_BIND_REQUEST = 0x002A,
304
- /** DEPRECATED */
305
- // RECOVER_SOURCE_BIND_RESPONSE = 0x802A,
306
-
307
- /**
308
- * Request: [transaction sequence number: 1]
309
- * [tlvs: Variable]
310
- * tlvs: [Count N:1][EUI64 1:8]...[EUI64 N:8]
311
- */
312
- CLEAR_ALL_BINDINGS_REQUEST = 0x002b,
313
- /**
314
- * Response: [transaction sequence number: 1] [status:1]
315
- */
316
- CLEAR_ALL_BINDINGS_RESPONSE = 0x802b,
317
-
318
- //-------------------------------------------------------------------------------------------------
319
- //-- Network Management Client Services
320
-
321
- /** DEPRECATED */
322
- // NETWORK_DISCOVERY_REQUEST = 0x0030,
323
- /** DEPRECATED */
324
- // NETWORK_DISCOVERY_RESPONSE = 0x8030,
325
-
326
- /**
327
- * Request: [transaction sequence number: 1] [start index:1]
328
- */
329
- LQI_TABLE_REQUEST = 0x0031,
330
- /**
331
- * Response: [transaction sequence number: 1] [status:1]
332
- * [neighbor table entries:1] [start index:1]
333
- * [entry count:1] [entry:22]*
334
- * [entry] = [extended PAN ID:8] [EUI64:8] [node ID:2]
335
- * [device type, RX on when idle, relationship:1]
336
- * [permit joining:1] [depth:1] [LQI:1]
337
- *
338
- * The device-type byte has the following fields:
339
- *
340
- * Name Mask Values
341
- *
342
- * device type 0x03 0x00 coordinator
343
- * 0x01 router
344
- * 0x02 end device
345
- * 0x03 unknown
346
- *
347
- * rx mode 0x0C 0x00 off when idle
348
- * 0x04 on when idle
349
- * 0x08 unknown
350
- *
351
- * relationship 0x70 0x00 parent
352
- * 0x10 child
353
- * 0x20 sibling
354
- * 0x30 other
355
- * 0x40 previous child
356
- * reserved 0x10
357
- *
358
- * The permit-joining byte has the following fields
359
- *
360
- * Name Mask Values
361
- *
362
- * permit joining 0x03 0x00 not accepting join requests
363
- * 0x01 accepting join requests
364
- * 0x02 unknown
365
- * reserved 0xFC
366
- *
367
- */
368
- LQI_TABLE_RESPONSE = 0x8031,
369
-
370
- /**
371
- * Request: [transaction sequence number: 1] [start index:1]
372
- */
373
- ROUTING_TABLE_REQUEST = 0x0032,
374
- /**
375
- * Response: [transaction sequence number: 1] [status:1]
376
- * [routing table entries:1] [start index:1]
377
- * [entry count:1] [entry:5]*
378
- * [entry] = [destination address:2]
379
- * [status:1]
380
- * [next hop:2]
381
- *
382
- *
383
- * The status byte has the following fields:
384
- * Name Mask Values
385
- *
386
- * status 0x07 0x00 active
387
- * 0x01 discovery underway
388
- * 0x02 discovery failed
389
- * 0x03 inactive
390
- * 0x04 validation underway
391
- *
392
- * flags 0x38
393
- * 0x08 memory constrained
394
- * 0x10 many-to-one
395
- * 0x20 route record required
396
- *
397
- * reserved 0xC0
398
- */
399
- ROUTING_TABLE_RESPONSE = 0x8032,
400
-
401
- /**
402
- * Request: [transaction sequence number: 1] [start index:1]
403
- */
404
- BINDING_TABLE_REQUEST = 0x0033,
405
- /**
406
- * Response: [transaction sequence number: 1]
407
- * [status:1] [binding table entries:1] [start index:1]
408
- * [entry count:1] [entry:14/21]*
409
- * [entry] = [source EUI64:8] [source endpoint:1] [cluster ID:2]
410
- * [dest addr mode:1] [dest:2/8] [dest endpoint:0/1]
411
- *
412
- * @note If Dest. Address Mode = 0x03, then the Long Dest. Address will be
413
- * used and Dest. endpoint will be included. If Dest. Address Mode = 0x01,
414
- * then the Short Dest. Address will be used and there will be no Dest.
415
- * endpoint.
416
- */
417
- BINDING_TABLE_RESPONSE = 0x8033,
418
-
419
- /**
420
- * Stacks certified prior to Revision 21 MAY or MAY NOT support this command.
421
- * If this management command is not supported, a status of NOT_SUPPORTED SHALL be returned.
422
- * All stacks certified to Revision 21 and later SHALL support this command.
423
- *
424
- * Request: [transaction sequence number: 1] [EUI64:8] [flags:1]
425
- * The flag bits are:
426
- * 0x40 remove children
427
- * 0x80 rejoin
428
- */
429
- LEAVE_REQUEST = 0x0034,
430
- /**
431
- * Response: [transaction sequence number: 1] [status:1]
432
- */
433
- LEAVE_RESPONSE = 0x8034,
434
-
435
- /** DEPRECATED */
436
- // DIRECT_JOIN_REQUEST = 0x0035,
437
- /** DEPRECATED */
438
- // DIRECT_JOIN_RESPONSE = 0x8035,
439
-
440
- /**
441
- * Request: [transaction sequence number: 1]
442
- * [duration:1] [permit authentication:1]
443
- */
444
- PERMIT_JOINING_REQUEST = 0x0036,
445
- /**
446
- * No response if broadcasted to all routers.
447
- *
448
- * Response: [transaction sequence number: 1] [status:1]
449
- */
450
- PERMIT_JOINING_RESPONSE = 0x8036,
451
-
452
- /** DEPRECATED */
453
- // CACHE_REQUEST = 0x0037,
454
- /** DEPRECATED */
455
- // CACHE_RESPONSE = 0x8037,
456
-
457
- /**
458
- * Request: [transaction sequence number: 1]
459
- * [scan channels:4] [duration:1] [count:0/1] [nwkUpdateId:0/1] [manager:0/2]
460
- *
461
- * If the duration is in 0x00 ... 0x05, 'count' is present but
462
- * not 'manager'. Perform 'count' scans of the given duration on the
463
- * given channels.
464
- *
465
- * If duration is 0xFE, 'channels' should have a single channel
466
- * and 'count' and 'manager' are not present. Switch to the indicated
467
- * channel.
468
- *
469
- * If duration is 0xFF, 'count' is not present. Set the active
470
- * channels and the network manager ID to the values given.
471
- *
472
- * Unicast requests always get a response, which is INVALID_REQUEST if the
473
- * duration is not a legal value.
474
- */
475
- NWK_UPDATE_REQUEST = 0x0038,
476
- /**
477
- * Response: [transaction sequence number: 1] [status:1]
478
- * [scanned channels:4] [transmissions:2] [failures:2]
479
- * [energy count:1] [energy:1]*
480
- */
481
- NWK_UPDATE_RESPONSE = 0x8038,
482
-
483
- /**
484
- * Request: [transaction sequence number: 1]
485
- * [scan channels list structure: Variable] [duration:1] [count:0/1] [nwkUpdateId:0/1] [manager:0/2] [configuration bitmask:0/1]
486
- */
487
- NWK_ENHANCED_UPDATE_REQUEST = 0x0039,
488
- /**
489
- * Response: [transaction sequence number: 1] [status:1]
490
- * [scanned channels:4] [transmissions:2] [failures:2]
491
- * [energy count:1] [energy:1]*
492
- */
493
- NWK_ENHANCED_UPDATE_RESPONSE = 0x8039,
494
-
495
- /**
496
- * Request: [transaction sequence number: 1]
497
- * [start index: 1]
498
- */
499
- NWK_IEEE_JOINING_LIST_REQUEST = 0x003a,
500
- /**
501
- * Response: [transaction sequence number: 1] [status: 1] [ieee joining list update id: 1] [joining policy: 1]
502
- * [ieee joining list total: 1] [start index: 1] [ieee joining count: 1] [ieee:8]*
503
- */
504
- NWK_IEEE_JOINING_LIST_RESPONSE = 0x803a,
505
-
506
- /**
507
- * Response: [transaction sequence number: 1] [status: 1] [channel in use: 4] [mac tx ucast total: 2] [mac tx ucast failures: 2]
508
- * [mac tx ucast retries: 2] [period of time for results: 1]
509
- */
510
- NWK_UNSOLICITED_ENHANCED_UPDATE_RESPONSE = 0x803b,
511
-
512
- /**
513
- * This command can be used by a remote device to survey the end devices to determine how many potential parents they have access to.
514
- *
515
- * Request: [transaction sequence number: 1]
516
- * [TLVs: varies]
517
- *
518
- * Contains one Beacon Survey Configuration TLV (variable octets),
519
- * which contain the ScanChannelListStructure (variable length)
520
- * and the ConfigurationBitmask (1 octet). This information provides
521
- * the configuration for the end device's beacon survey.
522
- * See R23 spec section 2.4.3.3.12 for the request and 3.2.2.2.1
523
- * for the ChannelListStructure.
524
- */
525
- NWK_BEACON_SURVEY_REQUEST = 0x003c,
526
- /**
527
- *
528
- * Response: [transaction sequence number: 1]
529
- * [status: 1]
530
- * [TLVs: varies]
531
- *
532
- * Contains one Beacon Survey Results TLV (4 octets), which contain
533
- * the number of on-network, off-network, potential parent and total
534
- * beacons recorded. If the device that received the request is not a
535
- * router, a Potential Parent TLV (variable octects) will be found. This
536
- * will contain information on the device's current parent, as well as
537
- * any potential parents found via beacons (up to a maximum of 5). A
538
- * Pan ID Conflict TLV can also found in the response.
539
- * See R23 spec section 2.4.4.3.13 for the response.
540
- */
541
- NWK_BEACON_SURVEY_RESPONSE = 0x803c,
542
-
543
- //-------------------------------------------------------------------------------------------------
544
- //-- Security Client Services
545
-
546
- /**
547
- *
548
- * Request: [transaction sequence number: 1]
549
- * [TLVs: varies]
550
- *
551
- * Contains one or more Curve25519 Public Point TLVs (40 octets),
552
- * which contain an EUI64 and the 32-byte Curve public point.
553
- * See R23 spec section 2.4.3.4.1
554
- *
555
- * @note This command SHALL NOT be APS encrypted regardless of
556
- * whether sent before or after the device joins the network.
557
- * This command SHALL be network encrypted if the device has a
558
- * network key, i.e. it has joined the network earlier and wants
559
- * to negotiate or renegotiate a new link key; otherwise, if it
560
- * is used prior to joining the network, it SHALL NOT be network
561
- * encrypted.
562
- */
563
- START_KEY_NEGOTIATION_REQUEST = 0x0040,
564
- /**
565
- *
566
- * Response: [transaction sequence number: 1] [status:1]
567
- * [TLVs: varies]
568
- *
569
- * Contains one or more Curve25519 Public Point TLVs (40 octets),
570
- * which contain an EUI64 and the 32-byte Curve public point, or
571
- * Local TLVs.
572
- * See R23 spec section 2.4.4.4.1
573
- *
574
- * @note This command SHALL NOT be APS encrypted. When performing
575
- * Key Negotiation with an unauthenticated neighbor that is not
576
- * yet on the network, network layer encryption SHALL NOT be used
577
- * on the message. If the message is being sent to unauthenticated
578
- * device that is not on the network and is not a neighbor, it
579
- * SHALL be relayed as described in section 4.6.3.7.7. Otherwise
580
- * the message SHALL have network layer encryption.
581
- */
582
- START_KEY_NEGOTIATION_RESPONSE = 0x8040,
583
-
584
- /**
585
- *
586
- * Request: [transaction sequence number: 1]
587
- * [TLVs: varies]
588
- *
589
- * Contains one or more Authentication Token ID TLVs (1 octet),
590
- * which contain the TLV Type Tag ID of the source of the
591
- * authentication token. See R23 spec section 2.4.3.4.2
592
- */
593
- RETRIEVE_AUTHENTICATION_TOKEN_REQUEST = 0x0041,
594
- /**
595
- *
596
- * Response: [transaction sequence number: 1] [status:1]
597
- * [TLVs: varies]
598
- *
599
- * Contains one or more 128-bit Symmetric Passphrase Global TLVs
600
- * (16 octets), which contain the symmetric passphrase authentication
601
- * token. See R23 spec section 2.4.4.4.2
602
- */
603
- RETRIEVE_AUTHENTICATION_TOKEN_RESPONSE = 0x8041,
604
-
605
- /**
606
- *
607
- * Request: [transaction sequence number: 1]
608
- * [TLVs: varies]
609
- *
610
- * Contains one or more Target IEEE Address TLVs (8 octets),
611
- * which contain the EUI64 of the device of interest.
612
- * See R23 spec section 2.4.3.4.3
613
- */
614
- GET_AUTHENTICATION_LEVEL_REQUEST = 0x0042,
615
- /**
616
- *
617
- * Response: [transaction sequence number: 1] [status:1]
618
- * [TLVs: varies]
619
- *
620
- * Contains one or more Device Authentication Level TLVs
621
- * (10 octets), which contain the EUI64 of the inquired device,
622
- * along with the its initial join method and its active link
623
- * key update method.
624
- * See R23 spec section 2.4.4.4.3
625
- */
626
- GET_AUTHENTICATION_LEVEL_RESPONSE = 0x8042,
627
-
628
- /**
629
- *
630
- * Request: [transaction sequence number: 1]
631
- * [TLVs: varies]
632
- *
633
- * Contains one or more Global TLVs (1 octet),
634
- * which contain the TLV Type Tag ID, and their
635
- * value.
636
- */
637
- SET_CONFIGURATION_REQUEST = 0x0043,
638
- /**
639
- *
640
- * Response: [transaction sequence number: 1] [status:1]
641
- */
642
- SET_CONFIGURATION_RESPONSE = 0x8043,
643
-
644
- /**
645
- *
646
- * Request: [transaction sequence number: 1]
647
- * [TLVs: varies]
648
- *
649
- * Contains one or more TLVs (1 octet),
650
- * which the sender wants to get information
651
- */
652
- GET_CONFIGURATION_REQUEST = 0x0044,
653
- /**
654
- *
655
- * Response: [transaction sequence number: 1] [status:1]
656
- * [TLVs: varies]
657
- *
658
- * Contains one or more TLV tag Ids and their values
659
- * in response to the request
660
- */
661
- GET_CONFIGURATION_RESPONSE = 0x8044,
662
-
663
- /**
664
- *
665
- * Request: [transaction sequence number: 1]
666
- * [TLVs: varies]
667
- *
668
- * Contains one or more TLVs. These TLVs can be Selected Key
669
- * Negotiation Method TLVs (10 octets), Fragmentation Parameters
670
- * Global TLVs (5 octets), or other TLVs.
671
- * See R23 spec section 2.4.3.4.6
672
- *
673
- * @note This SHALL NOT be APS encrypted or NWK encrypted if the
674
- * link key update mechanism is done as part of the initial join
675
- * and before the receiving device has been issued a network
676
- * key. This SHALL be both APS encrypted and NWK encrypted if
677
- * the link key update mechanism is performed to refresh the
678
- * link key when the receiving device has the network key and
679
- * has previously successfully joined the network.
680
- */
681
- START_KEY_UPDATE_REQUEST = 0x0045,
682
- /**
683
- *
684
- * Response: [transaction sequence number: 1] [status:1]
685
- *
686
- * See R23 spec section 2.4.4.4.6
687
- *
688
- * @note This command SHALL be APS encrypted.
689
- */
690
- START_KEY_UPDATE_RESPONSE = 0x8045,
691
-
692
- /**
693
- * Request: [transaction sequence number: 1]
694
- * [security decommission request EUI64 TLV:Variable]
695
- * Security Decommission request EUI64 TLV:
696
- * [Count N:1][EUI64 1:8]...[EUI64 N:8]
697
- */
698
- DECOMMISSION_REQUEST = 0x0046,
699
- /**
700
- *
701
- * Response: [transaction sequence number: 1] [status:1]
702
- */
703
- DECOMMISSION_RESPONSE = 0x8046,
704
-
705
- /**
706
- * Request: [transaction sequence number: 1]
707
- * [TLVs: varies]
708
- *
709
- * Contains at least the APS Frame Counter Challenge TLV, which holds the
710
- * sender EUI and the 64 bit challenge value.
711
- */
712
- CHALLENGE_REQUEST = 0x0047,
713
- /**
714
- * Response: [transaction sequence number: 1]
715
- * [TLVs: varies]
716
- *
717
- * Contains at least the APS Frame Counter Response TLV, which holds the
718
- * sender EUI, received challenge value, APS frame counter, challenge
719
- * security frame counter, and 8-byte MIC.
720
- */
721
- CHALLENGE_RESPONSE = 0x8047,
722
- }