zigbee-herdsman 0.56.2 → 0.57.1

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 (75) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +23 -0
  3. package/dist/adapter/adapter.d.ts.map +1 -1
  4. package/dist/adapter/adapter.js +9 -1
  5. package/dist/adapter/adapter.js.map +1 -1
  6. package/dist/adapter/tstype.d.ts +1 -1
  7. package/dist/adapter/tstype.d.ts.map +1 -1
  8. package/dist/adapter/zboss/adapter/index.d.ts +3 -0
  9. package/dist/adapter/zboss/adapter/index.d.ts.map +1 -0
  10. package/dist/adapter/zboss/adapter/index.js +6 -0
  11. package/dist/adapter/zboss/adapter/index.js.map +1 -0
  12. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +55 -0
  13. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -0
  14. package/dist/adapter/zboss/adapter/zbossAdapter.js +399 -0
  15. package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -0
  16. package/dist/adapter/zboss/commands.d.ts +19 -0
  17. package/dist/adapter/zboss/commands.d.ts.map +1 -0
  18. package/dist/adapter/zboss/commands.js +1064 -0
  19. package/dist/adapter/zboss/commands.js.map +1 -0
  20. package/dist/adapter/zboss/consts.d.ts +9 -0
  21. package/dist/adapter/zboss/consts.d.ts.map +1 -0
  22. package/dist/adapter/zboss/consts.js +12 -0
  23. package/dist/adapter/zboss/consts.js.map +1 -0
  24. package/dist/adapter/zboss/driver.d.ts +62 -0
  25. package/dist/adapter/zboss/driver.d.ts.map +1 -0
  26. package/dist/adapter/zboss/driver.js +332 -0
  27. package/dist/adapter/zboss/driver.js.map +1 -0
  28. package/dist/adapter/zboss/enums.d.ts +279 -0
  29. package/dist/adapter/zboss/enums.d.ts.map +1 -0
  30. package/dist/adapter/zboss/enums.js +327 -0
  31. package/dist/adapter/zboss/enums.js.map +1 -0
  32. package/dist/adapter/zboss/frame.d.ts +29 -0
  33. package/dist/adapter/zboss/frame.d.ts.map +1 -0
  34. package/dist/adapter/zboss/frame.js +155 -0
  35. package/dist/adapter/zboss/frame.js.map +1 -0
  36. package/dist/adapter/zboss/reader.d.ts +8 -0
  37. package/dist/adapter/zboss/reader.d.ts.map +1 -0
  38. package/dist/adapter/zboss/reader.js +58 -0
  39. package/dist/adapter/zboss/reader.js.map +1 -0
  40. package/dist/adapter/zboss/types.d.ts +1 -0
  41. package/dist/adapter/zboss/types.d.ts.map +1 -0
  42. package/dist/adapter/zboss/types.js +2 -0
  43. package/dist/adapter/zboss/types.js.map +1 -0
  44. package/dist/adapter/zboss/uart.d.ts +37 -0
  45. package/dist/adapter/zboss/uart.d.ts.map +1 -0
  46. package/dist/adapter/zboss/uart.js +369 -0
  47. package/dist/adapter/zboss/uart.js.map +1 -0
  48. package/dist/adapter/zboss/utils.d.ts +9 -0
  49. package/dist/adapter/zboss/utils.d.ts.map +1 -0
  50. package/dist/adapter/zboss/utils.js +56 -0
  51. package/dist/adapter/zboss/utils.js.map +1 -0
  52. package/dist/adapter/zboss/writer.d.ts +14 -0
  53. package/dist/adapter/zboss/writer.d.ts.map +1 -0
  54. package/dist/adapter/zboss/writer.js +43 -0
  55. package/dist/adapter/zboss/writer.js.map +1 -0
  56. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +6 -1
  57. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
  58. package/dist/adapter/zigate/driver/buffaloZiGate.js +34 -26
  59. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  60. package/dist/adapter/zigate/driver/commandType.js +15 -15
  61. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  62. package/dist/adapter/zigate/driver/messageType.js +18 -18
  63. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  64. package/dist/adapter/zigate/driver/parameterType.d.ts +0 -3
  65. package/dist/adapter/zigate/driver/parameterType.d.ts.map +1 -1
  66. package/dist/adapter/zigate/driver/parameterType.js +1 -3
  67. package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
  68. package/dist/adapter/zigate/driver/zigate.js +2 -2
  69. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  70. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  71. package/dist/zspec/zcl/definition/cluster.js +11 -128
  72. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  73. package/dist/zspec/zcl/definition/tstype.d.ts +1 -1
  74. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  75. package/package.json +7 -8
@@ -0,0 +1,1064 @@
1
+ "use strict";
2
+ /* istanbul ignore file */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.FRAMES = void 0;
5
+ const enums_1 = require("../../zspec/zcl/definition/enums");
6
+ const enums_2 = require("./enums");
7
+ const commonResponse = [
8
+ { name: 'category', type: enums_1.DataType.UINT8, typed: enums_2.StatusCategory },
9
+ { name: 'status', type: enums_1.DataType.UINT8, typed: [enums_2.StatusCodeGeneric, enums_2.StatusCodeAPS, enums_2.StatusCodeCBKE] },
10
+ ];
11
+ exports.FRAMES = {
12
+ // ------------------------------------------
13
+ // NCP config
14
+ // ------------------------------------------
15
+ // Requests firmware, stack and protocol versions from NCP
16
+ [enums_2.CommandId.GET_MODULE_VERSION]: {
17
+ request: [],
18
+ response: [
19
+ ...commonResponse,
20
+ { name: 'fwVersion', type: enums_1.DataType.UINT32 },
21
+ { name: 'stackVersion', type: enums_1.DataType.UINT32 },
22
+ { name: 'protocolVersion', type: enums_1.DataType.UINT32 },
23
+ ],
24
+ },
25
+ // Force NCP module reboot
26
+ [enums_2.CommandId.NCP_RESET]: {
27
+ request: [{ name: 'options', type: enums_1.DataType.UINT8, typed: enums_2.ResetOptions }],
28
+ response: [...commonResponse],
29
+ },
30
+ // Requests current Zigbee role of the local device
31
+ [enums_2.CommandId.GET_ZIGBEE_ROLE]: {
32
+ request: [],
33
+ response: [...commonResponse, { name: 'role', type: enums_1.DataType.UINT8, typed: enums_2.DeviceType }],
34
+ },
35
+ // Set Zigbee role of the local device
36
+ [enums_2.CommandId.SET_ZIGBEE_ROLE]: {
37
+ request: [{ name: 'role', type: enums_1.DataType.UINT8, typed: enums_2.DeviceType }],
38
+ response: [...commonResponse],
39
+ },
40
+ // Get Zigbee channels page and mask of the local device
41
+ [enums_2.CommandId.GET_ZIGBEE_CHANNEL_MASK]: {
42
+ request: [],
43
+ response: [
44
+ ...commonResponse,
45
+ { name: 'len', type: enums_1.DataType.UINT8 },
46
+ {
47
+ name: 'channels',
48
+ type: enums_2.BuffaloZBOSSDataType.LIST_TYPED,
49
+ typed: [
50
+ { name: 'page', type: enums_1.DataType.UINT8 },
51
+ { name: 'mask', type: enums_1.DataType.UINT32 },
52
+ ],
53
+ },
54
+ ],
55
+ },
56
+ // Set Zigbee channels page and mask
57
+ [enums_2.CommandId.SET_ZIGBEE_CHANNEL_MASK]: {
58
+ request: [
59
+ { name: 'page', type: enums_1.DataType.UINT8 },
60
+ { name: 'mask', type: enums_1.DataType.UINT32 },
61
+ ],
62
+ response: [...commonResponse],
63
+ },
64
+ // Get Zigbee channel
65
+ [enums_2.CommandId.GET_ZIGBEE_CHANNEL]: {
66
+ request: [],
67
+ response: [...commonResponse, { name: 'page', type: enums_1.DataType.UINT8 }, { name: 'channel', type: enums_1.DataType.UINT8 }],
68
+ },
69
+ // Requests current short PAN ID
70
+ [enums_2.CommandId.GET_PAN_ID]: {
71
+ request: [],
72
+ response: [...commonResponse, { name: 'panID', type: enums_1.DataType.UINT16 }],
73
+ },
74
+ // Set short PAN ID
75
+ [enums_2.CommandId.SET_PAN_ID]: {
76
+ request: [{ name: 'panID', type: enums_1.DataType.UINT16 }],
77
+ response: [...commonResponse],
78
+ },
79
+ // Requests local IEEE address
80
+ [enums_2.CommandId.GET_LOCAL_IEEE_ADDR]: {
81
+ request: [{ name: 'mac', type: enums_1.DataType.UINT8 }],
82
+ response: [...commonResponse, { name: 'mac', type: enums_1.DataType.UINT8 }, { name: 'ieee', type: enums_1.DataType.IEEE_ADDR }],
83
+ },
84
+ // Set local IEEE address
85
+ [enums_2.CommandId.SET_LOCAL_IEEE_ADDR]: {
86
+ request: [
87
+ { name: 'mac', type: enums_1.DataType.UINT8 },
88
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
89
+ ],
90
+ response: [...commonResponse],
91
+ },
92
+ // Get Transmit Power
93
+ [enums_2.CommandId.GET_TX_POWER]: {
94
+ request: [],
95
+ response: [...commonResponse, { name: 'txPower', type: enums_1.DataType.UINT8 }],
96
+ },
97
+ // Set Transmit Power
98
+ [enums_2.CommandId.SET_TX_POWER]: {
99
+ request: [{ name: 'txPower', type: enums_1.DataType.UINT8 }],
100
+ response: [...commonResponse, { name: 'txPower', type: enums_1.DataType.UINT8 }],
101
+ },
102
+ // Requests RxOnWhenIdle PIB attribute
103
+ [enums_2.CommandId.GET_RX_ON_WHEN_IDLE]: {
104
+ request: [],
105
+ response: [...commonResponse, { name: 'rxOn', type: enums_1.DataType.UINT8 }],
106
+ },
107
+ // Sets Rx On When Idle PIB attribute
108
+ [enums_2.CommandId.SET_RX_ON_WHEN_IDLE]: {
109
+ request: [{ name: 'rxOn', type: enums_1.DataType.UINT8 }],
110
+ response: [...commonResponse],
111
+ },
112
+ // Requests current join status of the device
113
+ [enums_2.CommandId.GET_JOINED]: {
114
+ request: [],
115
+ response: [...commonResponse, { name: 'joined', type: enums_1.DataType.UINT8 }],
116
+ },
117
+ // Requests current authentication status of the device
118
+ [enums_2.CommandId.GET_AUTHENTICATED]: {
119
+ request: [],
120
+ response: [...commonResponse, { name: 'authenticated', type: enums_1.DataType.UINT8 }],
121
+ },
122
+ // Requests current End Device timeout
123
+ [enums_2.CommandId.GET_ED_TIMEOUT]: {
124
+ request: [],
125
+ response: [...commonResponse, { name: 'timeout', type: enums_1.DataType.UINT8 }],
126
+ },
127
+ // Sets End Device timeout
128
+ [enums_2.CommandId.SET_ED_TIMEOUT]: {
129
+ request: [{ name: 'timeout', type: enums_1.DataType.UINT8 }],
130
+ response: [...commonResponse],
131
+ },
132
+ // Set NWK Key
133
+ [enums_2.CommandId.SET_NWK_KEY]: {
134
+ request: [
135
+ { name: 'nwkKey', type: enums_1.DataType.SEC_KEY },
136
+ { name: 'index', type: enums_1.DataType.UINT8 },
137
+ ],
138
+ response: [...commonResponse],
139
+ },
140
+ // Get list of NWK keys
141
+ [enums_2.CommandId.GET_NWK_KEYS]: {
142
+ request: [],
143
+ response: [
144
+ ...commonResponse,
145
+ { name: 'nwkKey1', type: enums_1.DataType.SEC_KEY },
146
+ { name: 'index1', type: enums_1.DataType.UINT8 },
147
+ { name: 'nwkKey2', type: enums_1.DataType.SEC_KEY },
148
+ { name: 'index2', type: enums_1.DataType.UINT8 },
149
+ { name: 'nwkKey3', type: enums_1.DataType.SEC_KEY },
150
+ { name: 'index3', type: enums_1.DataType.UINT8 },
151
+ ],
152
+ },
153
+ // Get APS key by IEEE
154
+ [enums_2.CommandId.GET_APS_KEY_BY_IEEE]: {
155
+ request: [{ name: 'ieee', type: enums_1.DataType.IEEE_ADDR }],
156
+ response: [...commonResponse, { name: 'apsKey', type: enums_1.DataType.SEC_KEY }],
157
+ },
158
+ // Get Parent short address
159
+ [enums_2.CommandId.GET_PARENT_ADDRESS]: {
160
+ request: [],
161
+ response: [...commonResponse, { name: 'parent', type: enums_1.DataType.UINT16 }],
162
+ },
163
+ // Get Extended Pan ID
164
+ [enums_2.CommandId.GET_EXTENDED_PAN_ID]: {
165
+ request: [],
166
+ response: [...commonResponse, { name: 'extendedPanID', type: enums_2.BuffaloZBOSSDataType.EXTENDED_PAN_ID }],
167
+ },
168
+ // Get Coordinator version
169
+ [enums_2.CommandId.GET_COORDINATOR_VERSION]: {
170
+ request: [],
171
+ response: [...commonResponse, { name: 'version', type: enums_1.DataType.UINT8 }],
172
+ },
173
+ // Get Short Address of the device
174
+ [enums_2.CommandId.GET_SHORT_ADDRESS]: {
175
+ request: [],
176
+ response: [...commonResponse, { name: 'nwk', type: enums_1.DataType.UINT16 }],
177
+ },
178
+ // Get Trust Center IEEE Address
179
+ [enums_2.CommandId.GET_TRUST_CENTER_ADDRESS]: {
180
+ request: [],
181
+ response: [...commonResponse, { name: 'ieee', type: enums_1.DataType.IEEE_ADDR }],
182
+ },
183
+ // Device Reset Indication with reset source
184
+ [enums_2.CommandId.NCP_RESET_IND]: {
185
+ request: [],
186
+ response: [...commonResponse],
187
+ indication: [{ name: 'source', type: enums_1.DataType.UINT8, typed: enums_2.ResetSource }],
188
+ },
189
+ // Writes NVRAM datasets
190
+ [enums_2.CommandId.NVRAM_WRITE]: {
191
+ request: [
192
+ { name: 'len', type: enums_1.DataType.UINT8 },
193
+ { name: 'data', type: enums_1.BuffaloZclDataType.LIST_UINT8, options: (payload, options) => (options.length = payload.len) },
194
+ ],
195
+ response: [...commonResponse],
196
+ },
197
+ // Reads an NVRAM dataset
198
+ [enums_2.CommandId.NVRAM_READ]: {
199
+ request: [{ name: 'type', type: enums_1.DataType.UINT8 }],
200
+ response: [
201
+ ...commonResponse,
202
+ { name: 'nvVersion', type: enums_1.DataType.UINT16 },
203
+ { name: 'type', type: enums_1.DataType.UINT16 },
204
+ { name: 'version', type: enums_1.DataType.UINT16 },
205
+ { name: 'len', type: enums_1.DataType.UINT16 },
206
+ { name: 'data', type: enums_1.BuffaloZclDataType.LIST_UINT8, options: (payload, options) => (options.length = payload.len) },
207
+ ],
208
+ },
209
+ // Erases all datasets in NVRAM
210
+ [enums_2.CommandId.NVRAM_ERASE]: {
211
+ request: [],
212
+ response: [...commonResponse],
213
+ },
214
+ // Erases all datasets in NVRAM except ZB_NVRAM_RESERVED, ZB_IB_COUNTERS and application datasets
215
+ [enums_2.CommandId.NVRAM_CLEAR]: {
216
+ request: [],
217
+ response: [...commonResponse],
218
+ },
219
+ // Sets TC Policy
220
+ [enums_2.CommandId.SET_TC_POLICY]: {
221
+ request: [
222
+ { name: 'type', type: enums_1.DataType.UINT16, typed: enums_2.PolicyType },
223
+ { name: 'value', type: enums_1.DataType.UINT8 },
224
+ ],
225
+ response: [...commonResponse],
226
+ },
227
+ // Sets an extended PAN ID
228
+ [enums_2.CommandId.SET_EXTENDED_PAN_ID]: {
229
+ request: [{ name: 'extendedPanID', type: enums_2.BuffaloZBOSSDataType.EXTENDED_PAN_ID }],
230
+ response: [...commonResponse],
231
+ },
232
+ // Sets the maximum number of children
233
+ [enums_2.CommandId.SET_MAX_CHILDREN]: {
234
+ request: [{ name: 'children', type: enums_1.DataType.UINT8 }],
235
+ response: [...commonResponse],
236
+ },
237
+ // Gets the maximum number of children
238
+ [enums_2.CommandId.GET_MAX_CHILDREN]: {
239
+ request: [],
240
+ response: [...commonResponse, { name: 'children', type: enums_1.DataType.UINT8 }],
241
+ },
242
+ // ------------------------------------------
243
+ // Application Framework
244
+ // ------------------------------------------
245
+ // Add or update Simple descriptor for a specified endpoint
246
+ [enums_2.CommandId.AF_SET_SIMPLE_DESC]: {
247
+ request: [
248
+ { name: 'endpoint', type: enums_1.DataType.UINT8 },
249
+ { name: 'profileID', type: enums_1.DataType.UINT16 },
250
+ { name: 'deviceID', type: enums_1.DataType.UINT16 },
251
+ { name: 'version', type: enums_1.DataType.UINT8 },
252
+ { name: 'inputClusterCount', type: enums_1.DataType.UINT8 },
253
+ { name: 'outputClusterCount', type: enums_1.DataType.UINT8 },
254
+ {
255
+ name: 'inputClusters',
256
+ type: enums_1.BuffaloZclDataType.LIST_UINT16,
257
+ options: (payload, options) => (options.length = payload.inputClusterCount),
258
+ },
259
+ {
260
+ name: 'outputClusters',
261
+ type: enums_1.BuffaloZclDataType.LIST_UINT16,
262
+ options: (payload, options) => (options.length = payload.outputClusterCount),
263
+ },
264
+ ],
265
+ response: [...commonResponse],
266
+ },
267
+ // Delete Simple Descriptor for a specified endpoint
268
+ [enums_2.CommandId.AF_DEL_SIMPLE_DESC]: {
269
+ request: [{ name: 'endpoint', type: enums_1.DataType.UINT8 }],
270
+ response: [...commonResponse],
271
+ },
272
+ // Set Node Descriptor
273
+ [enums_2.CommandId.AF_SET_NODE_DESC]: {
274
+ request: [
275
+ { name: 'type', type: enums_1.DataType.UINT8, typed: enums_2.DeviceType },
276
+ { name: 'macCapabilities', type: enums_1.DataType.UINT8 },
277
+ { name: 'manufacturerCode', type: enums_1.DataType.UINT16 },
278
+ ],
279
+ response: [...commonResponse],
280
+ },
281
+ // Set power descriptor for the device
282
+ [enums_2.CommandId.AF_SET_POWER_DESC]: {
283
+ request: [
284
+ { name: 'powerMode', type: enums_1.DataType.UINT8 },
285
+ { name: 'powerSources', type: enums_1.DataType.UINT8 },
286
+ { name: 'powerSource', type: enums_1.DataType.UINT8 },
287
+ { name: 'powerSourceLevel', type: enums_1.DataType.UINT8 },
288
+ ],
289
+ response: [...commonResponse],
290
+ },
291
+ // ------------------------------------------
292
+ // Zigbee Device Object
293
+ // ------------------------------------------
294
+ // Request for a remote device NWK address
295
+ [enums_2.CommandId.ZDO_NWK_ADDR_REQ]: {
296
+ request: [
297
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
298
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
299
+ { name: 'type', type: enums_1.DataType.UINT8 },
300
+ { name: 'startIndex', type: enums_1.DataType.UINT8 },
301
+ ],
302
+ response: [
303
+ ...commonResponse,
304
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
305
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
306
+ { name: 'num', type: enums_1.DataType.UINT8, condition: (payload, buffalo) => buffalo && buffalo.isMore() },
307
+ { name: 'startIndex', type: enums_1.DataType.UINT8, condition: (payload, buffalo) => buffalo && buffalo.isMore() },
308
+ { name: 'nwks', type: enums_1.BuffaloZclDataType.LIST_UINT16, options: (payload, options) => (options.length = payload.num) },
309
+ ],
310
+ },
311
+ // Request for a remote device IEEE address
312
+ [enums_2.CommandId.ZDO_IEEE_ADDR_REQ]: {
313
+ request: [
314
+ { name: 'destNwk', type: enums_1.DataType.UINT16 },
315
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
316
+ { name: 'type', type: enums_1.DataType.UINT8 },
317
+ { name: 'startIndex', type: enums_1.DataType.UINT8 },
318
+ ],
319
+ response: [
320
+ ...commonResponse,
321
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
322
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
323
+ { name: 'num', type: enums_1.DataType.UINT8, condition: (payload, buffalo) => buffalo && buffalo.isMore() },
324
+ { name: 'startIndex', type: enums_1.DataType.UINT8, condition: (payload, buffalo) => buffalo && buffalo.isMore() },
325
+ { name: 'nwks', type: enums_1.BuffaloZclDataType.LIST_UINT16, options: (payload, options) => (options.length = payload.num) },
326
+ ],
327
+ },
328
+ // Get the Power Descriptor from a remote device
329
+ [enums_2.CommandId.ZDO_POWER_DESC_REQ]: {
330
+ request: [{ name: 'nwk', type: enums_1.DataType.UINT16 }],
331
+ response: [...commonResponse, { name: 'powerDescriptor', type: enums_1.DataType.UINT16 }, { name: 'nwk', type: enums_1.DataType.UINT16 }],
332
+ },
333
+ // Get the Node Descriptor from a remote device
334
+ [enums_2.CommandId.ZDO_NODE_DESC_REQ]: {
335
+ request: [{ name: 'nwk', type: enums_1.DataType.UINT16 }],
336
+ response: [
337
+ ...commonResponse,
338
+ { name: 'flags', type: enums_1.DataType.UINT16 },
339
+ { name: 'macCapabilities', type: enums_1.DataType.UINT8 },
340
+ { name: 'manufacturerCode', type: enums_1.DataType.UINT16 },
341
+ { name: 'bufferSize', type: enums_1.DataType.UINT8 },
342
+ { name: 'incomingSize', type: enums_1.DataType.UINT16 },
343
+ { name: 'serverMask', type: enums_1.DataType.UINT16 },
344
+ { name: 'outgoingSize', type: enums_1.DataType.UINT16 },
345
+ { name: 'descriptorCapabilities', type: enums_1.DataType.UINT8 },
346
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
347
+ ],
348
+ },
349
+ // Get the Simple Descriptor from a remote device
350
+ [enums_2.CommandId.ZDO_SIMPLE_DESC_REQ]: {
351
+ request: [
352
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
353
+ { name: 'endpoint', type: enums_1.DataType.UINT8 },
354
+ ],
355
+ response: [
356
+ ...commonResponse,
357
+ { name: 'endpoint', type: enums_1.DataType.UINT8 },
358
+ { name: 'profileID', type: enums_1.DataType.UINT16 },
359
+ { name: 'deviceID', type: enums_1.DataType.UINT16 },
360
+ { name: 'version', type: enums_1.DataType.UINT8 },
361
+ { name: 'inputClusterCount', type: enums_1.DataType.UINT8 },
362
+ { name: 'outputClusterCount', type: enums_1.DataType.UINT8 },
363
+ {
364
+ name: 'inputClusters',
365
+ type: enums_1.BuffaloZclDataType.LIST_UINT16,
366
+ options: (payload, options) => (options.length = payload.inputClusterCount),
367
+ },
368
+ {
369
+ name: 'outputClusters',
370
+ type: enums_1.BuffaloZclDataType.LIST_UINT16,
371
+ options: (payload, options) => (options.length = payload.outputClusterCount),
372
+ },
373
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
374
+ ],
375
+ },
376
+ // Get a list of Active Endpoints from a remote device
377
+ [enums_2.CommandId.ZDO_ACTIVE_EP_REQ]: {
378
+ request: [{ name: 'nwk', type: enums_1.DataType.UINT16 }],
379
+ response: [
380
+ ...commonResponse,
381
+ { name: 'len', type: enums_1.DataType.UINT8 },
382
+ { name: 'endpoints', type: enums_1.BuffaloZclDataType.LIST_UINT8, options: (payload, options) => (options.length = payload.len) },
383
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
384
+ ],
385
+ },
386
+ // Send Match Descriptor request to a remote device
387
+ [enums_2.CommandId.ZDO_MATCH_DESC_REQ]: {
388
+ request: [
389
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
390
+ { name: 'profileID', type: enums_1.DataType.UINT16 },
391
+ { name: 'inputClusterCount', type: enums_1.DataType.UINT8 },
392
+ { name: 'outputClusterCount', type: enums_1.DataType.UINT8 },
393
+ {
394
+ name: 'inputClusters',
395
+ type: enums_1.BuffaloZclDataType.LIST_UINT16,
396
+ options: (payload, options) => (options.length = payload.inputClusterCount),
397
+ },
398
+ {
399
+ name: 'outputClusters',
400
+ type: enums_1.BuffaloZclDataType.LIST_UINT16,
401
+ options: (payload, options) => (options.length = payload.outputClusterCount),
402
+ },
403
+ ],
404
+ response: [
405
+ ...commonResponse,
406
+ { name: 'len', type: enums_1.DataType.UINT8 },
407
+ { name: 'endpoints', type: enums_1.BuffaloZclDataType.LIST_UINT8, options: (payload, options) => (options.length = payload.len) },
408
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
409
+ ],
410
+ },
411
+ // Send Bind request to a remote device
412
+ [enums_2.CommandId.ZDO_BIND_REQ]: {
413
+ request: [
414
+ { name: 'target', type: enums_1.DataType.UINT16 },
415
+ { name: 'srcIeee', type: enums_1.DataType.IEEE_ADDR },
416
+ { name: 'srcEP', type: enums_1.DataType.UINT8 },
417
+ { name: 'clusterID', type: enums_1.DataType.UINT16 },
418
+ { name: 'addrMode', type: enums_1.DataType.UINT8 },
419
+ { name: 'dstIeee', type: enums_1.DataType.IEEE_ADDR },
420
+ { name: 'dstEP', type: enums_1.DataType.UINT8 },
421
+ ],
422
+ response: [...commonResponse],
423
+ },
424
+ // Send Unbind request to a remote device
425
+ [enums_2.CommandId.ZDO_UNBIND_REQ]: {
426
+ request: [
427
+ { name: 'target', type: enums_1.DataType.UINT16 },
428
+ { name: 'srcIeee', type: enums_1.DataType.IEEE_ADDR },
429
+ { name: 'srcEP', type: enums_1.DataType.UINT8 },
430
+ { name: 'clusterID', type: enums_1.DataType.UINT16 },
431
+ { name: 'addrMode', type: enums_1.DataType.UINT8 },
432
+ { name: 'dstIeee', type: enums_1.DataType.IEEE_ADDR },
433
+ { name: 'dstEP', type: enums_1.DataType.UINT8 },
434
+ ],
435
+ response: [...commonResponse],
436
+ },
437
+ // Request that a Remote Device leave the network
438
+ [enums_2.CommandId.ZDO_MGMT_LEAVE_REQ]: {
439
+ request: [
440
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
441
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
442
+ { name: 'flags', type: enums_1.DataType.UINT8 },
443
+ ],
444
+ response: [...commonResponse],
445
+ },
446
+ // Request a remote device or devices to allow or disallow association
447
+ [enums_2.CommandId.ZDO_PERMIT_JOINING_REQ]: {
448
+ request: [
449
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
450
+ { name: 'duration', type: enums_1.DataType.UINT8 },
451
+ { name: 'tcSignificance', type: enums_1.DataType.UINT8 },
452
+ ],
453
+ response: [...commonResponse],
454
+ },
455
+ // Device announce indication
456
+ [enums_2.CommandId.ZDO_DEV_ANNCE_IND]: {
457
+ request: [],
458
+ response: [],
459
+ indication: [
460
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
461
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
462
+ { name: 'macCapabilities', type: enums_1.DataType.UINT8 },
463
+ ],
464
+ },
465
+ // Rejoin to remote network even if joined already. If joined, clear internal data structures prior to joining. That call is useful for rejoin after parent loss.
466
+ [enums_2.CommandId.ZDO_REJOIN]: {
467
+ request: [
468
+ { name: 'extendedPanID', type: enums_2.BuffaloZBOSSDataType.EXTENDED_PAN_ID },
469
+ { name: 'len', type: enums_1.DataType.UINT8 },
470
+ {
471
+ name: 'channels',
472
+ type: enums_2.BuffaloZBOSSDataType.LIST_TYPED,
473
+ typed: [
474
+ { name: 'page', type: enums_1.DataType.UINT8 },
475
+ { name: 'mask', type: enums_1.DataType.UINT32 },
476
+ ],
477
+ },
478
+ { name: 'secure', type: enums_1.DataType.UINT8 },
479
+ ],
480
+ response: [...commonResponse, { name: 'flags', type: enums_1.DataType.UINT8 }],
481
+ },
482
+ // Sends a ZDO system server discovery request
483
+ [enums_2.CommandId.ZDO_SYSTEM_SRV_DISCOVERY_REQ]: {
484
+ request: [{ name: 'serverMask', type: enums_1.DataType.UINT16 }],
485
+ response: [...commonResponse],
486
+ },
487
+ // Sends a ZDO Mgmt Bind request to a remote device
488
+ [enums_2.CommandId.ZDO_MGMT_BIND_REQ]: {
489
+ request: [
490
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
491
+ { name: 'startIndex', type: enums_1.DataType.UINT8 },
492
+ ],
493
+ response: [...commonResponse],
494
+ },
495
+ // Sends a ZDO Mgmt LQI request to a remote device
496
+ [enums_2.CommandId.ZDO_MGMT_LQI_REQ]: {
497
+ request: [
498
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
499
+ { name: 'startIndex', type: enums_1.DataType.UINT8 },
500
+ ],
501
+ response: [
502
+ ...commonResponse,
503
+ { name: 'entries', type: enums_1.DataType.UINT8 },
504
+ { name: 'startIndex', type: enums_1.DataType.UINT8 },
505
+ { name: 'len', type: enums_1.DataType.UINT8 },
506
+ {
507
+ name: 'neighbors',
508
+ type: enums_2.BuffaloZBOSSDataType.LIST_TYPED,
509
+ typed: [
510
+ { name: 'extendedPanID', type: enums_2.BuffaloZBOSSDataType.EXTENDED_PAN_ID },
511
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
512
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
513
+ { name: 'relationship', type: enums_1.DataType.UINT8 },
514
+ { name: 'joining', type: enums_1.DataType.UINT8 },
515
+ { name: 'depth', type: enums_1.DataType.UINT8 },
516
+ { name: 'lqi', type: enums_1.DataType.UINT8 },
517
+ ],
518
+ options: (payload, options) => (options.length = payload.len),
519
+ },
520
+ ],
521
+ },
522
+ // Sends a ZDO Mgmt NWK Update Request to a remote device
523
+ [enums_2.CommandId.ZDO_MGMT_NWK_UPDATE_REQ]: {
524
+ request: [
525
+ { name: 'channelMask', type: enums_1.DataType.UINT32 },
526
+ { name: 'duration', type: enums_1.DataType.UINT8 },
527
+ { name: 'count', type: enums_1.DataType.UINT8 },
528
+ { name: 'managerNwk', type: enums_1.DataType.UINT16 },
529
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
530
+ ],
531
+ response: [...commonResponse],
532
+ },
533
+ // Require statistics (last message LQI\RSSI, counters, etc.) from the ZDO level
534
+ [enums_2.CommandId.ZDO_GET_STATS]: {
535
+ request: [{ name: 'cleanup', type: enums_1.DataType.UINT8 }],
536
+ response: [
537
+ ...commonResponse,
538
+ { name: 'mac_rx_bcast', type: enums_1.DataType.UINT32 },
539
+ { name: 'mac_tx_bcast', type: enums_1.DataType.UINT32 },
540
+ { name: 'mac_rx_ucast', type: enums_1.DataType.UINT32 },
541
+ { name: 'mac_tx_ucast_total_zcl', type: enums_1.DataType.UINT32 },
542
+ { name: 'mac_tx_ucast_failures_zcl', type: enums_1.DataType.UINT16 },
543
+ { name: 'mac_tx_ucast_retries_zcl', type: enums_1.DataType.UINT16 },
544
+ { name: 'mac_tx_ucast_total', type: enums_1.DataType.UINT16 },
545
+ { name: 'mac_tx_ucast_failures', type: enums_1.DataType.UINT16 },
546
+ { name: 'mac_tx_ucast_retries', type: enums_1.DataType.UINT16 },
547
+ { name: 'phy_to_mac_que_lim_reached', type: enums_1.DataType.UINT16 },
548
+ { name: 'mac_validate_drop_cnt', type: enums_1.DataType.UINT16 },
549
+ { name: 'phy_cca_fail_count', type: enums_1.DataType.UINT16 },
550
+ { name: 'period_of_time', type: enums_1.DataType.UINT8 },
551
+ { name: 'last_msg_lqi', type: enums_1.DataType.UINT8 },
552
+ { name: 'last_msg_rssi', type: enums_1.DataType.UINT8 },
553
+ { name: 'number_of_resets', type: enums_1.DataType.UINT16 },
554
+ { name: 'aps_tx_bcast', type: enums_1.DataType.UINT16 },
555
+ { name: 'aps_tx_ucast_success', type: enums_1.DataType.UINT16 },
556
+ { name: 'aps_tx_ucast_retry', type: enums_1.DataType.UINT16 },
557
+ { name: 'aps_tx_ucast_fail', type: enums_1.DataType.UINT16 },
558
+ { name: 'route_disc_initiated', type: enums_1.DataType.UINT16 },
559
+ { name: 'nwk_neighbor_added', type: enums_1.DataType.UINT16 },
560
+ { name: 'nwk_neighbor_removed', type: enums_1.DataType.UINT16 },
561
+ { name: 'nwk_neighbor_stale', type: enums_1.DataType.UINT16 },
562
+ { name: 'join_indication', type: enums_1.DataType.UINT16 },
563
+ { name: 'childs_removed', type: enums_1.DataType.UINT16 },
564
+ { name: 'nwk_fc_failure', type: enums_1.DataType.UINT16 },
565
+ { name: 'aps_fc_failure', type: enums_1.DataType.UINT16 },
566
+ { name: 'aps_unauthorized_key', type: enums_1.DataType.UINT16 },
567
+ { name: 'nwk_decrypt_failure', type: enums_1.DataType.UINT16 },
568
+ { name: 'aps_decrypt_failure', type: enums_1.DataType.UINT16 },
569
+ { name: 'packet_buffer_allocate_failures', type: enums_1.DataType.UINT16 },
570
+ { name: 'average_mac_retry_per_aps_message_sent', type: enums_1.DataType.UINT16 },
571
+ { name: 'nwk_retry_overflow', type: enums_1.DataType.UINT16 },
572
+ { name: 'nwk_bcast_table_full', type: enums_1.DataType.UINT16 },
573
+ { name: 'status', type: enums_1.DataType.UINT8 },
574
+ ],
575
+ },
576
+ // Indicates some device in the network was authorized (e.g. received TCLK)
577
+ [enums_2.CommandId.ZDO_DEV_AUTHORIZED_IND]: {
578
+ request: [],
579
+ response: [],
580
+ indication: [
581
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
582
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
583
+ { name: 'authType', type: enums_1.DataType.UINT8 },
584
+ { name: 'authStatus', type: enums_1.DataType.UINT8 },
585
+ ],
586
+ },
587
+ // Indicates some device joined the network
588
+ [enums_2.CommandId.ZDO_DEV_UPDATE_IND]: {
589
+ request: [],
590
+ response: [],
591
+ indication: [
592
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
593
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
594
+ { name: 'status', type: enums_1.DataType.UINT8, typed: enums_2.DeviceUpdateStatus },
595
+ ],
596
+ },
597
+ // Sets manufacturer code field in the node descriptor
598
+ [enums_2.CommandId.ZDO_SET_NODE_DESC_MANUF_CODE]: {
599
+ request: [{ name: 'manufacturerCode', type: enums_1.DataType.UINT16 }],
600
+ response: [...commonResponse],
601
+ },
602
+ // ------------------------------------------
603
+ // Application Support Sub-layer
604
+ // ------------------------------------------
605
+ // APSDE-DATA.request
606
+ [enums_2.CommandId.APSDE_DATA_REQ]: {
607
+ request: [
608
+ { name: 'paramLength', type: enums_1.DataType.UINT8 },
609
+ { name: 'dataLength', type: enums_1.DataType.UINT16 },
610
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
611
+ { name: 'profileID', type: enums_1.DataType.UINT16 },
612
+ { name: 'clusterID', type: enums_1.DataType.UINT16 },
613
+ //{name: 'dstEndpoint', type: DataType.UINT8, condition: (payload) => ![2,3].includes(payload.dstAddrMode)},
614
+ { name: 'dstEndpoint', type: enums_1.DataType.UINT8 },
615
+ { name: 'srcEndpoint', type: enums_1.DataType.UINT8 },
616
+ { name: 'radius', type: enums_1.DataType.UINT8 },
617
+ { name: 'dstAddrMode', type: enums_1.DataType.UINT8 },
618
+ { name: 'txOptions', type: enums_1.DataType.UINT8 },
619
+ { name: 'useAlias', type: enums_1.DataType.UINT8 },
620
+ //{name: 'aliasAddr', type: DataType.UINT16, condition: (payload) => payload.useAlias !== 0},
621
+ { name: 'aliasAddr', type: enums_1.DataType.UINT16 },
622
+ { name: 'aliasSequence', type: enums_1.DataType.UINT8 },
623
+ { name: 'data', type: enums_1.BuffaloZclDataType.LIST_UINT8, options: (payload, options) => (options.length = payload.dataLength) },
624
+ ],
625
+ response: [
626
+ ...commonResponse,
627
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
628
+ { name: 'dstEndpoint', type: enums_1.DataType.UINT8, condition: (payload) => ![2, 3].includes(payload.dstAddrMode) },
629
+ { name: 'srcEndpoint', type: enums_1.DataType.UINT8 },
630
+ { name: 'txTime', type: enums_1.DataType.UINT32 },
631
+ { name: 'dstAddrMode', type: enums_1.DataType.UINT8 },
632
+ ],
633
+ },
634
+ // APSME-BIND.Request
635
+ [enums_2.CommandId.APSME_BIND]: {
636
+ request: [
637
+ { name: 'srcIeee', type: enums_1.DataType.IEEE_ADDR },
638
+ { name: 'srcEndpoint', type: enums_1.DataType.UINT8 },
639
+ { name: 'clusterID', type: enums_1.DataType.UINT16 },
640
+ { name: 'dstAddrMode', type: enums_1.DataType.UINT8 },
641
+ { name: 'dstIeee', type: enums_1.DataType.IEEE_ADDR },
642
+ { name: 'dstEndpoint', type: enums_1.DataType.UINT8 },
643
+ ],
644
+ response: [...commonResponse, { name: 'index', type: enums_1.DataType.UINT8 }],
645
+ },
646
+ // APSME-UNBIND.request
647
+ [enums_2.CommandId.APSME_UNBIND]: {
648
+ request: [
649
+ { name: 'srcIeee', type: enums_1.DataType.IEEE_ADDR },
650
+ { name: 'srcEndpoint', type: enums_1.DataType.UINT8 },
651
+ { name: 'clusterID', type: enums_1.DataType.UINT16 },
652
+ { name: 'dstAddrMode', type: enums_1.DataType.UINT8 },
653
+ { name: 'dstIeee', type: enums_1.DataType.IEEE_ADDR },
654
+ { name: 'dstEndpoint', type: enums_1.DataType.UINT8 },
655
+ ],
656
+ response: [...commonResponse, { name: 'index', type: enums_1.DataType.UINT8 }],
657
+ },
658
+ // APSME-ADD-GROUP.request
659
+ [enums_2.CommandId.APSME_ADD_GROUP]: {
660
+ request: [
661
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
662
+ { name: 'endpoint', type: enums_1.DataType.UINT8 },
663
+ ],
664
+ response: [...commonResponse],
665
+ },
666
+ // APSME-REMOVE-GROUP.request
667
+ [enums_2.CommandId.APSME_RM_GROUP]: {
668
+ request: [
669
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
670
+ { name: 'endpoint', type: enums_1.DataType.UINT8 },
671
+ ],
672
+ response: [...commonResponse],
673
+ },
674
+ // APSDE-DATA.indication
675
+ [enums_2.CommandId.APSDE_DATA_IND]: {
676
+ request: [],
677
+ response: [],
678
+ indication: [
679
+ { name: 'paramLength', type: enums_1.DataType.UINT8 },
680
+ { name: 'dataLength', type: enums_1.DataType.UINT16 },
681
+ { name: 'apsFC', type: enums_1.DataType.UINT8 },
682
+ { name: 'srcNwk', type: enums_1.DataType.UINT16 },
683
+ { name: 'dstNwk', type: enums_1.DataType.UINT16 },
684
+ { name: 'grpNwk', type: enums_1.DataType.UINT16 },
685
+ { name: 'dstEndpoint', type: enums_1.DataType.UINT8 },
686
+ { name: 'srcEndpoint', type: enums_1.DataType.UINT8 },
687
+ { name: 'clusterID', type: enums_1.DataType.UINT16 },
688
+ { name: 'profileID', type: enums_1.DataType.UINT16 },
689
+ { name: 'apsCounter', type: enums_1.DataType.UINT8 },
690
+ { name: 'srcMAC', type: enums_1.DataType.UINT16 },
691
+ { name: 'dstMAC', type: enums_1.DataType.UINT16 },
692
+ { name: 'lqi', type: enums_1.DataType.UINT8 },
693
+ { name: 'rssi', type: enums_1.DataType.UINT8 },
694
+ { name: 'apsKey', type: enums_1.DataType.UINT8 },
695
+ { name: 'data', type: enums_1.BuffaloZclDataType.BUFFER, options: (payload, options) => (options.length = payload.dataLength) },
696
+ ],
697
+ },
698
+ // APSME-REMOVE-ALL-GROUPS.request
699
+ [enums_2.CommandId.APSME_RM_ALL_GROUPS]: {
700
+ request: [{ name: 'endpoint', type: enums_1.DataType.UINT8 }],
701
+ response: [...commonResponse],
702
+ },
703
+ // Checks if there are any bindings for specified endpoint and cluster
704
+ [enums_2.CommandId.APS_CHECK_BINDING]: {
705
+ request: [
706
+ { name: 'endpoint', type: enums_1.DataType.UINT8 },
707
+ { name: 'clusterID', type: enums_1.DataType.UINT16 },
708
+ ],
709
+ response: [...commonResponse, { name: 'exists', type: enums_1.DataType.UINT8 }],
710
+ },
711
+ // Gets the APS Group Table
712
+ [enums_2.CommandId.APS_GET_GROUP_TABLE]: {
713
+ request: [],
714
+ response: [
715
+ ...commonResponse,
716
+ { name: 'length', type: enums_1.DataType.UINT16 },
717
+ { name: 'groups', type: enums_1.BuffaloZclDataType.LIST_UINT16, options: (payload, options) => (options.length = payload.length) },
718
+ ],
719
+ },
720
+ // Removes all bindings
721
+ [enums_2.CommandId.APSME_UNBIND_ALL]: {
722
+ request: [],
723
+ response: [...commonResponse],
724
+ },
725
+ // ------------------------------------------
726
+ // NWK Management API
727
+ // ------------------------------------------
728
+ // NLME-NETWORK-FORMATION.request
729
+ [enums_2.CommandId.NWK_FORMATION]: {
730
+ request: [
731
+ { name: 'len', type: enums_1.DataType.UINT8 },
732
+ {
733
+ name: 'channels',
734
+ type: enums_2.BuffaloZBOSSDataType.LIST_TYPED,
735
+ typed: [
736
+ { name: 'page', type: enums_1.DataType.UINT8 },
737
+ { name: 'mask', type: enums_1.DataType.UINT32 },
738
+ ],
739
+ },
740
+ { name: 'duration', type: enums_1.DataType.UINT8 },
741
+ { name: 'distribFlag', type: enums_1.DataType.UINT8 },
742
+ { name: 'distribNwk', type: enums_1.DataType.UINT16 },
743
+ { name: 'extendedPanID', type: enums_2.BuffaloZBOSSDataType.EXTENDED_PAN_ID },
744
+ ],
745
+ response: [...commonResponse, { name: 'nwk', type: enums_1.DataType.UINT16 }],
746
+ },
747
+ // NLME-NETWORK-DISCOVERY.request
748
+ [enums_2.CommandId.NWK_DISCOVERY]: {
749
+ request: [
750
+ { name: 'len', type: enums_1.DataType.UINT8 },
751
+ {
752
+ name: 'channels',
753
+ type: enums_2.BuffaloZBOSSDataType.LIST_TYPED,
754
+ typed: [
755
+ { name: 'page', type: enums_1.DataType.UINT8 },
756
+ { name: 'mask', type: enums_1.DataType.UINT32 },
757
+ ],
758
+ },
759
+ { name: 'duration', type: enums_1.DataType.UINT8 },
760
+ { name: 'macCapabilities', type: enums_1.DataType.UINT8 },
761
+ { name: 'security', type: enums_1.DataType.UINT8 },
762
+ ],
763
+ response: [
764
+ ...commonResponse,
765
+ { name: 'extendedPanID', type: enums_2.BuffaloZBOSSDataType.EXTENDED_PAN_ID },
766
+ { name: 'panID', type: enums_1.DataType.UINT16 },
767
+ { name: 'nwkUpdateID', type: enums_1.DataType.UINT8 },
768
+ { name: 'page', type: enums_1.DataType.UINT8 },
769
+ { name: 'channel', type: enums_1.DataType.UINT8 },
770
+ { name: 'flags', type: enums_1.DataType.UINT8 },
771
+ { name: 'lqi', type: enums_1.DataType.UINT8 },
772
+ { name: 'rssi', type: enums_1.DataType.INT8 },
773
+ ],
774
+ },
775
+ // Join network, do basic post-join actions
776
+ [enums_2.CommandId.NWK_NLME_JOIN]: {
777
+ request: [
778
+ { name: 'extendedPanID', type: enums_2.BuffaloZBOSSDataType.EXTENDED_PAN_ID },
779
+ { name: 'rejoin', type: enums_1.DataType.UINT8 },
780
+ { name: 'len', type: enums_1.DataType.UINT8 },
781
+ {
782
+ name: 'channels',
783
+ type: enums_2.BuffaloZBOSSDataType.LIST_TYPED,
784
+ typed: [
785
+ { name: 'page', type: enums_1.DataType.UINT8 },
786
+ { name: 'mask', type: enums_1.DataType.UINT32 },
787
+ ],
788
+ },
789
+ ],
790
+ response: [
791
+ ...commonResponse,
792
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
793
+ { name: 'extendedPanID', type: enums_2.BuffaloZBOSSDataType.EXTENDED_PAN_ID },
794
+ { name: 'page', type: enums_1.DataType.UINT8 },
795
+ { name: 'channel', type: enums_1.DataType.UINT8 },
796
+ { name: 'beacon', type: enums_1.DataType.UINT8 },
797
+ { name: 'macInterface', type: enums_1.DataType.UINT8 },
798
+ ],
799
+ },
800
+ // NLME-PERMIT-JOINING.request
801
+ [enums_2.CommandId.NWK_PERMIT_JOINING]: {
802
+ request: [{ name: 'duration', type: enums_1.DataType.UINT8 }],
803
+ response: [...commonResponse],
804
+ },
805
+ // Get IEEE address by short address from the local address translation table
806
+ [enums_2.CommandId.NWK_GET_IEEE_BY_SHORT]: {
807
+ request: [{ name: 'nwk', type: enums_1.DataType.UINT16 }],
808
+ response: [...commonResponse, { name: 'ieee', type: enums_1.DataType.IEEE_ADDR }],
809
+ },
810
+ // Get short address by IEEE address from the local address translation table
811
+ [enums_2.CommandId.NWK_GET_SHORT_BY_IEEE]: {
812
+ request: [{ name: 'ieee', type: enums_1.DataType.IEEE_ADDR }],
813
+ response: [...commonResponse, { name: 'nwk', type: enums_1.DataType.UINT16 }],
814
+ },
815
+ // Get local neighbor table entry by IEEE address
816
+ [enums_2.CommandId.NWK_GET_NEIGHBOR_BY_IEEE]: {
817
+ request: [{ name: 'ieee', type: enums_1.DataType.IEEE_ADDR }],
818
+ response: [
819
+ ...commonResponse,
820
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
821
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
822
+ { name: 'role', type: enums_1.DataType.UINT8 },
823
+ { name: 'rxOnWhenIdle', type: enums_1.DataType.UINT8 },
824
+ { name: 'edConfig', type: enums_1.DataType.UINT16 },
825
+ { name: 'timeoutCounter', type: enums_1.DataType.UINT32 },
826
+ { name: 'deviceTimeout', type: enums_1.DataType.UINT32 },
827
+ { name: 'relationship', type: enums_1.DataType.UINT8 },
828
+ { name: 'failureCount', type: enums_1.DataType.UINT8 },
829
+ { name: 'lqi', type: enums_1.DataType.UINT8 },
830
+ { name: 'cost', type: enums_1.DataType.UINT8 },
831
+ { name: 'age', type: enums_1.DataType.UINT8 },
832
+ { name: 'keepalive', type: enums_1.DataType.UINT8 },
833
+ { name: 'macInterface', type: enums_1.DataType.UINT8 },
834
+ ],
835
+ },
836
+ // Indicates that network rejoining procedure has completed
837
+ [enums_2.CommandId.NWK_REJOINED_IND]: {
838
+ request: [],
839
+ response: [],
840
+ indication: [
841
+ { name: 'nwk', type: enums_1.DataType.UINT16 },
842
+ { name: 'extendedPanID', type: enums_2.BuffaloZBOSSDataType.EXTENDED_PAN_ID },
843
+ { name: 'page', type: enums_1.DataType.UINT8 },
844
+ { name: 'channel', type: enums_1.DataType.UINT8 },
845
+ { name: 'beacon', type: enums_1.DataType.UINT8 },
846
+ { name: 'macInterface', type: enums_1.DataType.UINT8 },
847
+ ],
848
+ },
849
+ // Indicates that network rejoining procedure has failed
850
+ [enums_2.CommandId.NWK_REJOIN_FAILED_IND]: {
851
+ request: [],
852
+ response: [],
853
+ indication: [...commonResponse],
854
+ },
855
+ // Network Leave indication
856
+ [enums_2.CommandId.NWK_LEAVE_IND]: {
857
+ request: [],
858
+ response: [],
859
+ indication: [
860
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
861
+ { name: 'rejoin', type: enums_1.DataType.UINT8 },
862
+ ],
863
+ },
864
+ // Set Fast Poll Interval PIM attribute
865
+ [enums_2.CommandId.PIM_SET_FAST_POLL_INTERVAL]: {
866
+ request: [{ name: 'interval', type: enums_1.DataType.UINT16 }],
867
+ response: [...commonResponse],
868
+ },
869
+ // Set Long Poll Interval PIM attribute
870
+ [enums_2.CommandId.PIM_SET_LONG_POLL_INTERVAL]: {
871
+ request: [{ name: 'interval', type: enums_1.DataType.UINT32 }],
872
+ response: [...commonResponse],
873
+ },
874
+ // Start poll with the Fast Poll Interval specified by PIM attribute
875
+ [enums_2.CommandId.PIM_START_FAST_POLL]: {
876
+ request: [],
877
+ response: [...commonResponse],
878
+ },
879
+ // Start Long Poll
880
+ [enums_2.CommandId.PIM_START_LONG_POLL]: {
881
+ request: [],
882
+ response: [...commonResponse],
883
+ },
884
+ // Start poll with the Long Poll Interval specified by PIM attribute
885
+ [enums_2.CommandId.PIM_START_POLL]: {
886
+ request: [],
887
+ response: [...commonResponse],
888
+ },
889
+ // Stop fast poll and restart it with the Long Poll Interval
890
+ [enums_2.CommandId.PIM_STOP_FAST_POLL]: {
891
+ request: [],
892
+ response: [...commonResponse, { name: 'result', type: enums_1.DataType.UINT8 }],
893
+ },
894
+ // Stop automatic ZBOSS poll
895
+ [enums_2.CommandId.PIM_STOP_POLL]: {
896
+ request: [],
897
+ response: [...commonResponse],
898
+ },
899
+ // Enable turbo poll for a given amount of time.
900
+ [enums_2.CommandId.PIM_ENABLE_TURBO_POLL]: {
901
+ request: [{ name: 'time', type: enums_1.DataType.UINT32 }],
902
+ response: [...commonResponse],
903
+ },
904
+ // Disable turbo poll for a given amount of time.
905
+ [enums_2.CommandId.PIM_DISABLE_TURBO_POLL]: {
906
+ request: [],
907
+ response: [...commonResponse],
908
+ },
909
+ // Disable turbo poll for a given amount of time.
910
+ [enums_2.CommandId.NWK_ADDRESS_UPDATE_IND]: {
911
+ request: [],
912
+ response: [],
913
+ indication: [{ name: 'nwk', type: enums_1.DataType.UINT16 }],
914
+ },
915
+ // Start without forming a new network.
916
+ [enums_2.CommandId.NWK_START_WITHOUT_FORMATION]: {
917
+ request: [],
918
+ response: [...commonResponse],
919
+ },
920
+ // NWK NLME start router request
921
+ [enums_2.CommandId.NWK_NLME_ROUTER_START]: {
922
+ request: [
923
+ { name: 'beaconOrder', type: enums_1.DataType.UINT8 },
924
+ { name: 'superframeOrder', type: enums_1.DataType.UINT8 },
925
+ { name: 'batteryLife', type: enums_1.DataType.UINT8 },
926
+ ],
927
+ response: [...commonResponse],
928
+ },
929
+ // Indicates that joined device has no parent
930
+ [enums_2.CommandId.PARENT_LOST_IND]: {
931
+ request: [],
932
+ response: [],
933
+ indication: [],
934
+ },
935
+ // PIM_START_TURBO_POLL_PACKETS
936
+ // PIM_START_TURBO_POLL_CONTINUOUS
937
+ // PIM_TURBO_POLL_CONTINUOUS_LEAVE
938
+ // PIM_TURBO_POLL_PACKETS_LEAVE
939
+ // PIM_PERMIT_TURBO_POLL
940
+ // PIM_SET_FAST_POLL_TIMEOUT
941
+ // PIM_GET_LONG_POLL_INTERVAL
942
+ // PIM_GET_IN_FAST_POLL_FLAG
943
+ // Sets keepalive mode
944
+ [enums_2.CommandId.SET_KEEPALIVE_MOVE]: {
945
+ request: [{ name: 'mode', type: enums_1.DataType.UINT8 }],
946
+ response: [...commonResponse],
947
+ },
948
+ // Starts a concentrator mode
949
+ [enums_2.CommandId.START_CONCENTRATOR_MODE]: {
950
+ request: [
951
+ { name: 'radius', type: enums_1.DataType.UINT8 },
952
+ { name: 'timeout', type: enums_1.DataType.UINT32 },
953
+ ],
954
+ response: [...commonResponse],
955
+ },
956
+ // Stops a concentrator mode
957
+ [enums_2.CommandId.STOP_CONCENTRATOR_MODE]: {
958
+ request: [],
959
+ response: [...commonResponse],
960
+ },
961
+ // Enables or disables PAN ID conflict resolution
962
+ [enums_2.CommandId.NWK_ENABLE_PAN_ID_CONFLICT_RESOLUTION]: {
963
+ request: [{ name: 'enable', type: enums_1.DataType.UINT8 }],
964
+ response: [...commonResponse],
965
+ },
966
+ // Enables or disables automatic PAN ID conflict resolution
967
+ [enums_2.CommandId.NWK_ENABLE_AUTO_PAN_ID_CONFLICT_RESOLUTION]: {
968
+ request: [{ name: 'enable', type: enums_1.DataType.UINT8 }],
969
+ response: [...commonResponse],
970
+ },
971
+ // PIM_TURBO_POLL_CANCEL_PACKET
972
+ // ------------------------------------------
973
+ // Security
974
+ // ------------------------------------------
975
+ // Set local device installcode to ZR/ZED
976
+ [enums_2.CommandId.SECUR_SET_LOCAL_IC]: {
977
+ request: [
978
+ { name: 'installCode', type: enums_1.BuffaloZclDataType.LIST_UINT8 }, //8, 10, 14 or 18Installcode, including trailing 2 bytes of CRC
979
+ ],
980
+ response: [...commonResponse],
981
+ },
982
+ // Set remote device installcode to ZC
983
+ [enums_2.CommandId.SECUR_ADD_IC]: {
984
+ request: [
985
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
986
+ { name: 'installCode', type: enums_1.BuffaloZclDataType.LIST_UINT8 }, //8, 10, 14 or 18Installcode, including trailing 2 bytes of CRC
987
+ ],
988
+ response: [...commonResponse],
989
+ },
990
+ // Delete remote device installcode from ZC
991
+ [enums_2.CommandId.SECUR_DEL_IC]: {
992
+ request: [{ name: 'ieee', type: enums_1.DataType.IEEE_ADDR }],
993
+ response: [...commonResponse],
994
+ },
995
+ // Get local device Installcode
996
+ [enums_2.CommandId.SECUR_GET_LOCAL_IC]: {
997
+ request: [],
998
+ response: [
999
+ ...commonResponse,
1000
+ { name: 'installCode', type: enums_1.BuffaloZclDataType.LIST_UINT8 }, //8, 10, 14 or 18Installcode, including trailing 2 bytes of CRC
1001
+ ],
1002
+ },
1003
+ // TCLK Indication
1004
+ [enums_2.CommandId.SECUR_TCLK_IND]: {
1005
+ request: [],
1006
+ response: [],
1007
+ indication: [
1008
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
1009
+ { name: 'keyType', type: enums_1.DataType.UINT8 },
1010
+ ],
1011
+ },
1012
+ // TCLK Exchange Indication Failed
1013
+ [enums_2.CommandId.SECUR_TCLK_EXCHANGE_FAILED_IND]: {
1014
+ request: [],
1015
+ response: [],
1016
+ indication: [...commonResponse],
1017
+ },
1018
+ // Initiates a key switch procedure
1019
+ [enums_2.CommandId.SECUR_NWK_INITIATE_KEY_SWITCH_PROCEDURE]: {
1020
+ request: [],
1021
+ response: [...commonResponse],
1022
+ },
1023
+ // Gets the IC list
1024
+ [enums_2.CommandId.SECUR_GET_IC_LIST]: {
1025
+ request: [{ name: 'startIndex', type: enums_1.DataType.UINT8 }],
1026
+ response: [
1027
+ ...commonResponse,
1028
+ { name: 'size', type: enums_1.DataType.UINT8 },
1029
+ { name: 'startIndex', type: enums_1.DataType.UINT8 },
1030
+ { name: 'count', type: enums_1.DataType.UINT8 },
1031
+ {
1032
+ name: 'table',
1033
+ type: enums_2.BuffaloZBOSSDataType.LIST_TYPED,
1034
+ typed: [
1035
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
1036
+ { name: 'type', type: enums_1.DataType.UINT8 },
1037
+ { name: 'installCode', type: enums_1.BuffaloZclDataType.LIST_UINT8 }, //8, 10, 14 or 18Installcode, including trailing 2 bytes of CRC
1038
+ ],
1039
+ },
1040
+ ],
1041
+ },
1042
+ // Get an IC table entry by index
1043
+ [enums_2.CommandId.SECUR_GET_IC_BY_IDX]: {
1044
+ request: [{ name: 'index', type: enums_1.DataType.UINT8 }],
1045
+ response: [
1046
+ ...commonResponse,
1047
+ { name: 'ieee', type: enums_1.DataType.IEEE_ADDR },
1048
+ { name: 'type', type: enums_1.DataType.UINT8 },
1049
+ { name: 'installCode', type: enums_1.BuffaloZclDataType.LIST_UINT8 }, //8, 10, 14 or 18Installcode, including trailing 2 bytes of CRC
1050
+ ],
1051
+ },
1052
+ // Removes all IC
1053
+ [enums_2.CommandId.SECUR_REMOVE_ALL_IC]: {
1054
+ request: [],
1055
+ response: [...commonResponse],
1056
+ },
1057
+ ///////////////////
1058
+ [enums_2.CommandId.UNKNOWN_1]: {
1059
+ request: [],
1060
+ response: [...commonResponse],
1061
+ indication: [{ name: 'data', type: enums_1.DataType.UINT8 }],
1062
+ },
1063
+ };
1064
+ //# sourceMappingURL=commands.js.map