zigbee-herdsman 0.56.0 → 0.57.0

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 (288) hide show
  1. package/.github/workflows/typedoc.yaml +38 -0
  2. package/.github/workflows/update_deps.yml +1 -1
  3. package/.prettierrc +18 -1
  4. package/.release-please-manifest.json +1 -1
  5. package/CHANGELOG.md +31 -0
  6. package/README.md +1 -1
  7. package/dist/adapter/adapter.d.ts.map +1 -1
  8. package/dist/adapter/adapter.js +10 -2
  9. package/dist/adapter/adapter.js.map +1 -1
  10. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +1 -1
  11. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  12. package/dist/adapter/deconz/adapter/deconzAdapter.js +9 -19
  13. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  14. package/dist/adapter/deconz/driver/driver.d.ts +1 -1
  15. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  16. package/dist/adapter/deconz/driver/driver.js +2 -2
  17. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  18. package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
  19. package/dist/adapter/deconz/driver/frameParser.js +21 -11
  20. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  21. package/dist/adapter/deconz/driver/parser.d.ts.map +1 -1
  22. package/dist/adapter/deconz/driver/parser.js +2 -2
  23. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  24. package/dist/adapter/deconz/driver/writer.d.ts.map +1 -1
  25. package/dist/adapter/deconz/driver/writer.js +2 -2
  26. package/dist/adapter/deconz/driver/writer.js.map +1 -1
  27. package/dist/adapter/ember/adapter/emberAdapter.d.ts +4 -13
  28. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  29. package/dist/adapter/ember/adapter/emberAdapter.js +17 -48
  30. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
  31. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  32. package/dist/adapter/ember/adapter/oneWaitress.js +1 -1
  33. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
  34. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
  35. package/dist/adapter/ember/adapter/tokensManager.js +1 -1
  36. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
  37. package/dist/adapter/ember/enums.d.ts +22 -0
  38. package/dist/adapter/ember/enums.d.ts.map +1 -1
  39. package/dist/adapter/ember/enums.js +24 -1
  40. package/dist/adapter/ember/enums.js.map +1 -1
  41. package/dist/adapter/ember/ezsp/buffalo.d.ts +1 -1
  42. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -1
  43. package/dist/adapter/ember/ezsp/buffalo.js +5 -3
  44. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
  45. package/dist/adapter/ember/ezsp/ezsp.d.ts +3 -3
  46. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  47. package/dist/adapter/ember/ezsp/ezsp.js +32 -8
  48. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
  49. package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
  50. package/dist/adapter/ember/uart/ash.js +3 -2
  51. package/dist/adapter/ember/uart/ash.js.map +1 -1
  52. package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
  53. package/dist/adapter/ember/uart/parser.js +1 -1
  54. package/dist/adapter/ember/uart/parser.js.map +1 -1
  55. package/dist/adapter/ember/uart/queues.d.ts.map +1 -1
  56. package/dist/adapter/ember/uart/queues.js +1 -1
  57. package/dist/adapter/ember/uart/queues.js.map +1 -1
  58. package/dist/adapter/ember/uart/writer.d.ts.map +1 -1
  59. package/dist/adapter/ember/uart/writer.js +1 -1
  60. package/dist/adapter/ember/uart/writer.js.map +1 -1
  61. package/dist/adapter/ember/utils/initters.d.ts.map +1 -1
  62. package/dist/adapter/ember/utils/initters.js +1 -1
  63. package/dist/adapter/ember/utils/initters.js.map +1 -1
  64. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  65. package/dist/adapter/ezsp/adapter/backup.js +27 -4
  66. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  67. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +1 -1
  68. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  69. package/dist/adapter/ezsp/adapter/ezspAdapter.js +12 -17
  70. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  71. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
  72. package/dist/adapter/ezsp/driver/commands.js +1 -1
  73. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  74. package/dist/adapter/ezsp/driver/driver.d.ts +2 -2
  75. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  76. package/dist/adapter/ezsp/driver/driver.js +1 -2
  77. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  78. package/dist/adapter/ezsp/driver/ezsp.d.ts +1 -1
  79. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  80. package/dist/adapter/ezsp/driver/ezsp.js +1 -2
  81. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  82. package/dist/adapter/ezsp/driver/frame.d.ts.map +1 -1
  83. package/dist/adapter/ezsp/driver/frame.js +1 -1
  84. package/dist/adapter/ezsp/driver/frame.js.map +1 -1
  85. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
  86. package/dist/adapter/ezsp/driver/multicast.js +2 -2
  87. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  88. package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -1
  89. package/dist/adapter/ezsp/driver/parser.js +1 -1
  90. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  91. package/dist/adapter/ezsp/driver/types/index.d.ts +3 -3
  92. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
  93. package/dist/adapter/ezsp/driver/types/index.js +85 -85
  94. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  95. package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -1
  96. package/dist/adapter/ezsp/driver/types/named.js +1 -2
  97. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  98. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
  99. package/dist/adapter/ezsp/driver/types/struct.js +1 -2
  100. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  101. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  102. package/dist/adapter/ezsp/driver/uart.js +1 -1
  103. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  104. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +1 -1
  105. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +1 -2
  106. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
  107. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -1
  108. package/dist/adapter/ezsp/driver/utils/index.js +1 -2
  109. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  110. package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -1
  111. package/dist/adapter/ezsp/driver/writer.js +1 -1
  112. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  113. package/dist/adapter/serialPort.js +1 -2
  114. package/dist/adapter/serialPort.js.map +1 -1
  115. package/dist/adapter/tstype.d.ts +1 -1
  116. package/dist/adapter/tstype.d.ts.map +1 -1
  117. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  118. package/dist/adapter/z-stack/adapter/adapter-backup.js +3 -4
  119. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  120. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +1 -1
  121. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +0 -2
  122. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  123. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  124. package/dist/adapter/z-stack/adapter/manager.js +0 -1
  125. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  126. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +1 -1
  127. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  128. package/dist/adapter/z-stack/adapter/zStackAdapter.js +3 -1
  129. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  130. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +1 -1
  131. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +1 -1
  132. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  133. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +1 -1
  134. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +1 -1
  135. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -1
  136. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts.map +1 -1
  137. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +1 -1
  138. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +1 -1
  139. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +1 -1
  140. package/dist/adapter/z-stack/structs/entries/channel-list.js +1 -1
  141. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -1
  142. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +1 -1
  143. package/dist/adapter/z-stack/structs/entries/has-configured.js +1 -1
  144. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -1
  145. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +1 -1
  146. package/dist/adapter/z-stack/structs/entries/nib.js +1 -1
  147. package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -1
  148. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +1 -1
  149. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +1 -1
  150. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -1
  151. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +1 -1
  152. package/dist/adapter/z-stack/structs/entries/nwk-key.js +1 -1
  153. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -1
  154. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +1 -1
  155. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +1 -1
  156. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -1
  157. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +1 -1
  158. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +1 -1
  159. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -1
  160. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts.map +1 -1
  161. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +1 -1
  162. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
  163. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +1 -1
  164. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +0 -1
  165. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -1
  166. package/dist/adapter/z-stack/structs/struct.d.ts.map +1 -1
  167. package/dist/adapter/z-stack/structs/struct.js +5 -3
  168. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  169. package/dist/adapter/z-stack/structs/table.d.ts.map +1 -1
  170. package/dist/adapter/z-stack/structs/table.js +0 -1
  171. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  172. package/dist/adapter/z-stack/unpi/frame.d.ts +1 -1
  173. package/dist/adapter/z-stack/unpi/frame.d.ts.map +1 -1
  174. package/dist/adapter/z-stack/utils/network-options.d.ts.map +1 -1
  175. package/dist/adapter/z-stack/utils/network-options.js +0 -1
  176. package/dist/adapter/z-stack/utils/network-options.js.map +1 -1
  177. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  178. package/dist/adapter/z-stack/znp/znp.js +2 -2
  179. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  180. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +1 -1
  181. package/dist/adapter/zboss/adapter/index.d.ts +3 -0
  182. package/dist/adapter/zboss/adapter/index.d.ts.map +1 -0
  183. package/dist/adapter/zboss/adapter/index.js +6 -0
  184. package/dist/adapter/zboss/adapter/index.js.map +1 -0
  185. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +55 -0
  186. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -0
  187. package/dist/adapter/zboss/adapter/zbossAdapter.js +391 -0
  188. package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -0
  189. package/dist/adapter/zboss/commands.d.ts +19 -0
  190. package/dist/adapter/zboss/commands.d.ts.map +1 -0
  191. package/dist/adapter/zboss/commands.js +1064 -0
  192. package/dist/adapter/zboss/commands.js.map +1 -0
  193. package/dist/adapter/zboss/consts.d.ts +9 -0
  194. package/dist/adapter/zboss/consts.d.ts.map +1 -0
  195. package/dist/adapter/zboss/consts.js +12 -0
  196. package/dist/adapter/zboss/consts.js.map +1 -0
  197. package/dist/adapter/zboss/driver.d.ts +62 -0
  198. package/dist/adapter/zboss/driver.d.ts.map +1 -0
  199. package/dist/adapter/zboss/driver.js +332 -0
  200. package/dist/adapter/zboss/driver.js.map +1 -0
  201. package/dist/adapter/zboss/enums.d.ts +279 -0
  202. package/dist/adapter/zboss/enums.d.ts.map +1 -0
  203. package/dist/adapter/zboss/enums.js +327 -0
  204. package/dist/adapter/zboss/enums.js.map +1 -0
  205. package/dist/adapter/zboss/frame.d.ts +29 -0
  206. package/dist/adapter/zboss/frame.d.ts.map +1 -0
  207. package/dist/adapter/zboss/frame.js +155 -0
  208. package/dist/adapter/zboss/frame.js.map +1 -0
  209. package/dist/adapter/zboss/reader.d.ts +8 -0
  210. package/dist/adapter/zboss/reader.d.ts.map +1 -0
  211. package/dist/adapter/zboss/reader.js +58 -0
  212. package/dist/adapter/zboss/reader.js.map +1 -0
  213. package/dist/adapter/zboss/types.d.ts +1 -0
  214. package/dist/adapter/zboss/types.d.ts.map +1 -0
  215. package/dist/adapter/zboss/types.js +2 -0
  216. package/dist/adapter/zboss/types.js.map +1 -0
  217. package/dist/adapter/zboss/uart.d.ts +37 -0
  218. package/dist/adapter/zboss/uart.d.ts.map +1 -0
  219. package/dist/adapter/zboss/uart.js +369 -0
  220. package/dist/adapter/zboss/uart.js.map +1 -0
  221. package/dist/adapter/zboss/utils.d.ts +9 -0
  222. package/dist/adapter/zboss/utils.d.ts.map +1 -0
  223. package/dist/adapter/zboss/utils.js +56 -0
  224. package/dist/adapter/zboss/utils.js.map +1 -0
  225. package/dist/adapter/zboss/writer.d.ts +14 -0
  226. package/dist/adapter/zboss/writer.d.ts.map +1 -0
  227. package/dist/adapter/zboss/writer.js +43 -0
  228. package/dist/adapter/zboss/writer.js.map +1 -0
  229. package/dist/adapter/zigate/adapter/index.js +1 -2
  230. package/dist/adapter/zigate/adapter/index.js.map +1 -1
  231. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  232. package/dist/adapter/zigate/adapter/zigateAdapter.js +1 -1
  233. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  234. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
  235. package/dist/adapter/zigate/driver/buffaloZiGate.js +1 -1
  236. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  237. package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
  238. package/dist/adapter/zigate/driver/frame.js +1 -1
  239. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  240. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
  241. package/dist/adapter/zigate/driver/ziGateObject.js +1 -1
  242. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  243. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  244. package/dist/adapter/zigate/driver/zigate.js +4 -3
  245. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  246. package/dist/controller/controller.d.ts.map +1 -1
  247. package/dist/controller/controller.js.map +1 -1
  248. package/dist/controller/greenPower.d.ts.map +1 -1
  249. package/dist/controller/greenPower.js +9 -3
  250. package/dist/controller/greenPower.js.map +1 -1
  251. package/dist/controller/index.d.ts.map +1 -1
  252. package/dist/controller/index.js.map +1 -1
  253. package/dist/controller/model/device.d.ts +1 -1
  254. package/dist/controller/model/device.d.ts.map +1 -1
  255. package/dist/controller/model/device.js +1 -1
  256. package/dist/controller/model/device.js.map +1 -1
  257. package/dist/controller/model/endpoint.js +5 -5
  258. package/dist/controller/model/endpoint.js.map +1 -1
  259. package/dist/utils/backup.d.ts.map +1 -1
  260. package/dist/utils/backup.js +2 -3
  261. package/dist/utils/backup.js.map +1 -1
  262. package/dist/utils/realpathSync.d.ts.map +1 -1
  263. package/dist/utils/realpathSync.js +1 -1
  264. package/dist/utils/realpathSync.js.map +1 -1
  265. package/dist/zspec/consts.d.ts +1 -0
  266. package/dist/zspec/consts.d.ts.map +1 -1
  267. package/dist/zspec/consts.js +2 -1
  268. package/dist/zspec/consts.js.map +1 -1
  269. package/dist/zspec/zcl/buffaloZcl.js +1 -1
  270. package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
  271. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  272. package/dist/zspec/zcl/definition/cluster.js +1 -116
  273. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  274. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
  275. package/dist/zspec/zcl/definition/foundation.js +1 -1
  276. package/dist/zspec/zcl/definition/foundation.js.map +1 -1
  277. package/dist/zspec/zcl/definition/tstype.d.ts +2 -2
  278. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  279. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  280. package/dist/zspec/zcl/zclFrame.d.ts +1 -1
  281. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
  282. package/dist/zspec/zdo/buffaloZdo.d.ts +1 -1
  283. package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -1
  284. package/dist/zspec/zdo/definition/tstypes.d.ts +1 -1
  285. package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -1
  286. package/eslint.config.mjs +32 -0
  287. package/package.json +14 -13
  288. package/.eslintignore +0 -3
@@ -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