zigbee-herdsman 6.0.1 → 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 (260) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/adapter/ezsp/driver/uart.js +1 -1
  3. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  4. package/dist/adapter/z-stack/adapter/zStackAdapter.js +4 -4
  5. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  6. package/dist/adapter/zigate/adapter/zigateAdapter.js +4 -4
  7. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  8. package/dist/controller/model/device.d.ts.map +1 -1
  9. package/dist/controller/model/device.js +1 -0
  10. package/dist/controller/model/device.js.map +1 -1
  11. package/package.json +14 -6
  12. package/.github/ISSUE_TEMPLATE/config.yml +0 -5
  13. package/.github/dependabot.yml +0 -22
  14. package/.github/workflows/ci.yml +0 -64
  15. package/.github/workflows/release-please.yml +0 -18
  16. package/.github/workflows/stale.yml +0 -20
  17. package/.github/workflows/typedoc.yaml +0 -47
  18. package/.release-please-manifest.json +0 -3
  19. package/.vscode/extensions.json +0 -3
  20. package/.vscode/settings.json +0 -11
  21. package/biome.json +0 -98
  22. package/examples/join-and-log.js +0 -24
  23. package/release-please-config.json +0 -9
  24. package/src/adapter/adapter.ts +0 -189
  25. package/src/adapter/adapterDiscovery.ts +0 -666
  26. package/src/adapter/const.ts +0 -12
  27. package/src/adapter/deconz/adapter/deconzAdapter.ts +0 -877
  28. package/src/adapter/deconz/driver/constants.ts +0 -246
  29. package/src/adapter/deconz/driver/driver.ts +0 -1540
  30. package/src/adapter/deconz/driver/frame.ts +0 -11
  31. package/src/adapter/deconz/driver/frameParser.ts +0 -753
  32. package/src/adapter/deconz/driver/parser.ts +0 -45
  33. package/src/adapter/deconz/driver/writer.ts +0 -22
  34. package/src/adapter/deconz/types.d.ts +0 -13
  35. package/src/adapter/ember/adapter/emberAdapter.ts +0 -2265
  36. package/src/adapter/ember/adapter/endpoints.ts +0 -86
  37. package/src/adapter/ember/adapter/oneWaitress.ts +0 -324
  38. package/src/adapter/ember/adapter/tokensManager.ts +0 -782
  39. package/src/adapter/ember/consts.ts +0 -178
  40. package/src/adapter/ember/enums.ts +0 -1746
  41. package/src/adapter/ember/ezsp/buffalo.ts +0 -1392
  42. package/src/adapter/ember/ezsp/consts.ts +0 -148
  43. package/src/adapter/ember/ezsp/enums.ts +0 -1114
  44. package/src/adapter/ember/ezsp/ezsp.ts +0 -9061
  45. package/src/adapter/ember/ezspError.ts +0 -10
  46. package/src/adapter/ember/types.ts +0 -866
  47. package/src/adapter/ember/uart/ash.ts +0 -1960
  48. package/src/adapter/ember/uart/consts.ts +0 -109
  49. package/src/adapter/ember/uart/enums.ts +0 -192
  50. package/src/adapter/ember/uart/parser.ts +0 -48
  51. package/src/adapter/ember/uart/queues.ts +0 -247
  52. package/src/adapter/ember/uart/writer.ts +0 -53
  53. package/src/adapter/ember/utils/initters.ts +0 -58
  54. package/src/adapter/ember/utils/math.ts +0 -73
  55. package/src/adapter/events.ts +0 -21
  56. package/src/adapter/ezsp/adapter/backup.ts +0 -109
  57. package/src/adapter/ezsp/adapter/ezspAdapter.ts +0 -614
  58. package/src/adapter/ezsp/driver/commands.ts +0 -2497
  59. package/src/adapter/ezsp/driver/consts.ts +0 -11
  60. package/src/adapter/ezsp/driver/driver.ts +0 -1002
  61. package/src/adapter/ezsp/driver/ezsp.ts +0 -802
  62. package/src/adapter/ezsp/driver/frame.ts +0 -101
  63. package/src/adapter/ezsp/driver/index.ts +0 -4
  64. package/src/adapter/ezsp/driver/multicast.ts +0 -78
  65. package/src/adapter/ezsp/driver/parser.ts +0 -81
  66. package/src/adapter/ezsp/driver/types/basic.ts +0 -201
  67. package/src/adapter/ezsp/driver/types/index.ts +0 -239
  68. package/src/adapter/ezsp/driver/types/named.ts +0 -2330
  69. package/src/adapter/ezsp/driver/types/struct.ts +0 -844
  70. package/src/adapter/ezsp/driver/uart.ts +0 -460
  71. package/src/adapter/ezsp/driver/utils/crc16ccitt.ts +0 -44
  72. package/src/adapter/ezsp/driver/utils/index.ts +0 -32
  73. package/src/adapter/ezsp/driver/writer.ts +0 -64
  74. package/src/adapter/index.ts +0 -3
  75. package/src/adapter/serialPort.ts +0 -58
  76. package/src/adapter/socketPortUtils.ts +0 -16
  77. package/src/adapter/tstype.ts +0 -78
  78. package/src/adapter/z-stack/adapter/adapter-backup.ts +0 -519
  79. package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +0 -457
  80. package/src/adapter/z-stack/adapter/endpoints.ts +0 -57
  81. package/src/adapter/z-stack/adapter/manager.ts +0 -543
  82. package/src/adapter/z-stack/adapter/tstype.ts +0 -6
  83. package/src/adapter/z-stack/adapter/zStackAdapter.ts +0 -1190
  84. package/src/adapter/z-stack/constants/af.ts +0 -27
  85. package/src/adapter/z-stack/constants/common.ts +0 -285
  86. package/src/adapter/z-stack/constants/dbg.ts +0 -23
  87. package/src/adapter/z-stack/constants/index.ts +0 -11
  88. package/src/adapter/z-stack/constants/mac.ts +0 -128
  89. package/src/adapter/z-stack/constants/sapi.ts +0 -25
  90. package/src/adapter/z-stack/constants/sys.ts +0 -72
  91. package/src/adapter/z-stack/constants/util.ts +0 -82
  92. package/src/adapter/z-stack/constants/utils.ts +0 -14
  93. package/src/adapter/z-stack/constants/zdo.ts +0 -103
  94. package/src/adapter/z-stack/models/startup-options.ts +0 -13
  95. package/src/adapter/z-stack/structs/entries/address-manager-entry.ts +0 -44
  96. package/src/adapter/z-stack/structs/entries/address-manager-table.ts +0 -19
  97. package/src/adapter/z-stack/structs/entries/aps-link-key-data-entry.ts +0 -12
  98. package/src/adapter/z-stack/structs/entries/aps-link-key-data-table.ts +0 -21
  99. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-entry.ts +0 -19
  100. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-table.ts +0 -21
  101. package/src/adapter/z-stack/structs/entries/channel-list.ts +0 -8
  102. package/src/adapter/z-stack/structs/entries/has-configured.ts +0 -16
  103. package/src/adapter/z-stack/structs/entries/index.ts +0 -16
  104. package/src/adapter/z-stack/structs/entries/nib.ts +0 -66
  105. package/src/adapter/z-stack/structs/entries/nwk-key-descriptor.ts +0 -15
  106. package/src/adapter/z-stack/structs/entries/nwk-key.ts +0 -13
  107. package/src/adapter/z-stack/structs/entries/nwk-pan-id.ts +0 -8
  108. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.ts +0 -20
  109. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.ts +0 -19
  110. package/src/adapter/z-stack/structs/entries/security-manager-entry.ts +0 -33
  111. package/src/adapter/z-stack/structs/entries/security-manager-table.ts +0 -22
  112. package/src/adapter/z-stack/structs/index.ts +0 -4
  113. package/src/adapter/z-stack/structs/serializable-memory-object.ts +0 -14
  114. package/src/adapter/z-stack/structs/struct.ts +0 -367
  115. package/src/adapter/z-stack/structs/table.ts +0 -198
  116. package/src/adapter/z-stack/unpi/constants.ts +0 -33
  117. package/src/adapter/z-stack/unpi/frame.ts +0 -62
  118. package/src/adapter/z-stack/unpi/index.ts +0 -4
  119. package/src/adapter/z-stack/unpi/parser.ts +0 -56
  120. package/src/adapter/z-stack/unpi/writer.ts +0 -21
  121. package/src/adapter/z-stack/utils/channel-list.ts +0 -40
  122. package/src/adapter/z-stack/utils/index.ts +0 -2
  123. package/src/adapter/z-stack/utils/network-options.ts +0 -26
  124. package/src/adapter/z-stack/znp/buffaloZnp.ts +0 -175
  125. package/src/adapter/z-stack/znp/definition.ts +0 -2713
  126. package/src/adapter/z-stack/znp/index.ts +0 -2
  127. package/src/adapter/z-stack/znp/parameterType.ts +0 -22
  128. package/src/adapter/z-stack/znp/tstype.ts +0 -44
  129. package/src/adapter/z-stack/znp/utils.ts +0 -10
  130. package/src/adapter/z-stack/znp/znp.ts +0 -342
  131. package/src/adapter/z-stack/znp/zpiObject.ts +0 -148
  132. package/src/adapter/zboss/adapter/zbossAdapter.ts +0 -526
  133. package/src/adapter/zboss/commands.ts +0 -1184
  134. package/src/adapter/zboss/consts.ts +0 -9
  135. package/src/adapter/zboss/driver.ts +0 -422
  136. package/src/adapter/zboss/enums.ts +0 -360
  137. package/src/adapter/zboss/frame.ts +0 -227
  138. package/src/adapter/zboss/reader.ts +0 -65
  139. package/src/adapter/zboss/types.ts +0 -0
  140. package/src/adapter/zboss/uart.ts +0 -428
  141. package/src/adapter/zboss/utils.ts +0 -58
  142. package/src/adapter/zboss/writer.ts +0 -49
  143. package/src/adapter/zigate/adapter/patchZdoBuffaloBE.ts +0 -27
  144. package/src/adapter/zigate/adapter/zigateAdapter.ts +0 -618
  145. package/src/adapter/zigate/driver/LICENSE +0 -17
  146. package/src/adapter/zigate/driver/buffaloZiGate.ts +0 -212
  147. package/src/adapter/zigate/driver/commandType.ts +0 -418
  148. package/src/adapter/zigate/driver/constants.ts +0 -150
  149. package/src/adapter/zigate/driver/frame.ts +0 -197
  150. package/src/adapter/zigate/driver/messageType.ts +0 -287
  151. package/src/adapter/zigate/driver/parameterType.ts +0 -32
  152. package/src/adapter/zigate/driver/ziGateObject.ts +0 -146
  153. package/src/adapter/zigate/driver/zigate.ts +0 -423
  154. package/src/adapter/zoh/adapter/utils.ts +0 -27
  155. package/src/adapter/zoh/adapter/zohAdapter.ts +0 -838
  156. package/src/buffalo/buffalo.ts +0 -342
  157. package/src/buffalo/index.ts +0 -1
  158. package/src/controller/controller.ts +0 -1022
  159. package/src/controller/database.ts +0 -124
  160. package/src/controller/events.ts +0 -52
  161. package/src/controller/greenPower.ts +0 -603
  162. package/src/controller/helpers/index.ts +0 -1
  163. package/src/controller/helpers/installCodes.ts +0 -107
  164. package/src/controller/helpers/request.ts +0 -96
  165. package/src/controller/helpers/requestQueue.ts +0 -125
  166. package/src/controller/helpers/zclFrameConverter.ts +0 -47
  167. package/src/controller/helpers/zclTransactionSequenceNumber.ts +0 -19
  168. package/src/controller/index.ts +0 -6
  169. package/src/controller/model/device.ts +0 -1248
  170. package/src/controller/model/endpoint.ts +0 -1105
  171. package/src/controller/model/entity.ts +0 -23
  172. package/src/controller/model/group.ts +0 -424
  173. package/src/controller/model/index.ts +0 -5
  174. package/src/controller/model/zigbeeEntity.ts +0 -30
  175. package/src/controller/touchlink.ts +0 -189
  176. package/src/controller/tstype.ts +0 -274
  177. package/src/index.ts +0 -12
  178. package/src/models/backup-storage-legacy.ts +0 -48
  179. package/src/models/backup-storage-unified.ts +0 -47
  180. package/src/models/backup.ts +0 -37
  181. package/src/models/index.ts +0 -5
  182. package/src/models/network-options.ts +0 -11
  183. package/src/utils/backup.ts +0 -152
  184. package/src/utils/index.ts +0 -5
  185. package/src/utils/logger.ts +0 -20
  186. package/src/utils/patchBigIntSerialization.ts +0 -8
  187. package/src/utils/queue.ts +0 -76
  188. package/src/utils/types.d.ts +0 -3
  189. package/src/utils/utils.ts +0 -19
  190. package/src/utils/wait.ts +0 -5
  191. package/src/utils/waitress.ts +0 -96
  192. package/src/zspec/consts.ts +0 -84
  193. package/src/zspec/enums.ts +0 -22
  194. package/src/zspec/index.ts +0 -3
  195. package/src/zspec/tstypes.ts +0 -18
  196. package/src/zspec/utils.ts +0 -247
  197. package/src/zspec/zcl/buffaloZcl.ts +0 -1220
  198. package/src/zspec/zcl/definition/cluster.ts +0 -5915
  199. package/src/zspec/zcl/definition/clusters-typegen.ts +0 -588
  200. package/src/zspec/zcl/definition/clusters-types.ts +0 -7331
  201. package/src/zspec/zcl/definition/consts.ts +0 -24
  202. package/src/zspec/zcl/definition/enums.ts +0 -203
  203. package/src/zspec/zcl/definition/foundation.ts +0 -329
  204. package/src/zspec/zcl/definition/manufacturerCode.ts +0 -729
  205. package/src/zspec/zcl/definition/status.ts +0 -69
  206. package/src/zspec/zcl/definition/tstype.ts +0 -377
  207. package/src/zspec/zcl/index.ts +0 -11
  208. package/src/zspec/zcl/utils.ts +0 -321
  209. package/src/zspec/zcl/zclFrame.ts +0 -356
  210. package/src/zspec/zcl/zclHeader.ts +0 -102
  211. package/src/zspec/zcl/zclStatusError.ts +0 -10
  212. package/src/zspec/zdo/buffaloZdo.ts +0 -2336
  213. package/src/zspec/zdo/definition/clusters.ts +0 -722
  214. package/src/zspec/zdo/definition/consts.ts +0 -16
  215. package/src/zspec/zdo/definition/enums.ts +0 -99
  216. package/src/zspec/zdo/definition/status.ts +0 -105
  217. package/src/zspec/zdo/definition/tstypes.ts +0 -1062
  218. package/src/zspec/zdo/index.ts +0 -7
  219. package/src/zspec/zdo/utils.ts +0 -76
  220. package/src/zspec/zdo/zdoStatusError.ts +0 -10
  221. package/test/adapter/adapter.test.ts +0 -1062
  222. package/test/adapter/ember/ash.test.ts +0 -337
  223. package/test/adapter/ember/consts.ts +0 -131
  224. package/test/adapter/ember/emberAdapter.test.ts +0 -3449
  225. package/test/adapter/ember/ezsp.test.ts +0 -385
  226. package/test/adapter/ember/ezspBuffalo.test.ts +0 -93
  227. package/test/adapter/ember/ezspError.test.ts +0 -12
  228. package/test/adapter/ember/math.test.ts +0 -206
  229. package/test/adapter/ezsp/frame.test.ts +0 -30
  230. package/test/adapter/ezsp/uart.test.ts +0 -181
  231. package/test/adapter/z-stack/adapter.test.ts +0 -3984
  232. package/test/adapter/z-stack/constants.test.ts +0 -33
  233. package/test/adapter/z-stack/structs.test.ts +0 -115
  234. package/test/adapter/z-stack/unpi.test.ts +0 -213
  235. package/test/adapter/z-stack/znp.test.ts +0 -1284
  236. package/test/adapter/zboss/fixZdoResponse.test.ts +0 -179
  237. package/test/adapter/zigate/patchZdoBuffaloBE.test.ts +0 -81
  238. package/test/adapter/zigate/zdo.test.ts +0 -187
  239. package/test/adapter/zoh/utils.test.ts +0 -36
  240. package/test/adapter/zoh/zohAdapter.test.ts +0 -1307
  241. package/test/buffalo.test.ts +0 -431
  242. package/test/controller.bench.ts +0 -193
  243. package/test/controller.test.ts +0 -8702
  244. package/test/greenpower.test.ts +0 -1408
  245. package/test/mockAdapters.ts +0 -65
  246. package/test/mockDevices.ts +0 -598
  247. package/test/requests.bench.ts +0 -206
  248. package/test/testUtils.ts +0 -20
  249. package/test/tsconfig.json +0 -9
  250. package/test/utils/math.ts +0 -19
  251. package/test/utils.test.ts +0 -279
  252. package/test/vitest.config.mts +0 -27
  253. package/test/zcl.test.ts +0 -2831
  254. package/test/zspec/utils.test.ts +0 -68
  255. package/test/zspec/zcl/buffalo.test.ts +0 -1374
  256. package/test/zspec/zcl/frame.test.ts +0 -960
  257. package/test/zspec/zcl/utils.test.ts +0 -273
  258. package/test/zspec/zdo/buffalo.test.ts +0 -1850
  259. package/test/zspec/zdo/utils.test.ts +0 -241
  260. 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
- }