@willieee802/zigbee-herdsman 0.48.3 → 0.49.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 (1045) hide show
  1. package/.github/ISSUE_TEMPLATE/config.yml +5 -0
  2. package/.github/copilot-instructions.md +689 -0
  3. package/.github/dependabot.yml +22 -0
  4. package/.github/prompts/copilot-instructions-blueprint-generator.prompt.md +294 -0
  5. package/.github/prompts/create-agentsmd.prompt.md +249 -0
  6. package/.github/prompts/create-specification.prompt.md +127 -0
  7. package/.github/prompts/review-and-refactor.prompt.md +15 -0
  8. package/.github/prompts/update-specification.prompt.md +127 -0
  9. package/.github/workflows/ci.yml +70 -0
  10. package/.github/workflows/release-please.yml +18 -0
  11. package/.github/workflows/stale.yml +20 -0
  12. package/.github/workflows/typedoc.yaml +47 -0
  13. package/.release-please-manifest.json +2 -2
  14. package/.vscode/extensions.json +3 -0
  15. package/.vscode/settings.json +11 -0
  16. package/AGENTS.md +441 -0
  17. package/CHANGELOG.md +1283 -0
  18. package/README.md +1 -1
  19. package/biome.json +103 -0
  20. package/dist/adapter/adapter.d.ts.map +1 -1
  21. package/dist/adapter/adapterDiscovery.d.ts.map +1 -0
  22. package/dist/adapter/const.d.ts.map +1 -0
  23. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  24. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  25. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
  26. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  27. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
  28. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  29. package/dist/adapter/ember/utils/initters.d.ts.map +1 -1
  30. package/dist/adapter/events.d.ts.map +1 -1
  31. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  32. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  33. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  34. package/dist/adapter/ezsp/driver/index.d.ts.map +1 -1
  35. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
  36. package/dist/adapter/index.d.ts.map +1 -1
  37. package/dist/adapter/z-stack/adapter/endpoints.d.ts.map +1 -1
  38. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  39. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  40. package/dist/adapter/z-stack/models/startup-options.d.ts.map +1 -1
  41. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -0
  42. package/dist/adapter/zboss/driver.d.ts.map +1 -0
  43. package/dist/adapter/zboss/frame.d.ts.map +1 -0
  44. package/dist/adapter/zboss/frame.js +200 -0
  45. package/dist/adapter/zboss/frame.js.map +1 -0
  46. package/dist/adapter/zboss/uart.d.ts.map +1 -0
  47. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  48. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
  49. package/dist/adapter/zigate/driver/buffaloZiGate.js +70 -62
  50. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  51. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
  52. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  53. package/dist/adapter/zoh/adapter/zohAdapter.d.ts.map +1 -0
  54. package/dist/controller/controller.d.ts.map +1 -1
  55. package/dist/controller/controller.js +524 -350
  56. package/dist/controller/controller.js.map +1 -1
  57. package/dist/controller/database.d.ts.map +1 -1
  58. package/dist/controller/events.d.ts.map +1 -1
  59. package/dist/controller/events.js +0 -110
  60. package/dist/controller/events.js.map +1 -1
  61. package/dist/controller/greenPower.d.ts.map +1 -1
  62. package/dist/controller/greenPower.js +330 -121
  63. package/dist/controller/greenPower.js.map +1 -1
  64. package/dist/controller/helpers/index.d.ts.map +1 -1
  65. package/dist/controller/helpers/ota.d.ts.map +1 -0
  66. package/dist/controller/helpers/ota.js +467 -0
  67. package/dist/controller/helpers/ota.js.map +1 -0
  68. package/dist/controller/helpers/request.d.ts.map +1 -1
  69. package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
  70. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  71. package/dist/controller/helpers/zclFrameConverter.js +36 -22
  72. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  73. package/dist/controller/index.d.ts.map +1 -1
  74. package/dist/controller/model/device.d.ts.map +1 -1
  75. package/dist/controller/model/device.js +1052 -402
  76. package/dist/controller/model/device.js.map +1 -1
  77. package/dist/controller/model/endpoint.d.ts.map +1 -1
  78. package/dist/controller/model/endpoint.js +447 -292
  79. package/dist/controller/model/endpoint.js.map +1 -1
  80. package/dist/controller/model/entity.d.ts.map +1 -1
  81. package/dist/controller/model/group.d.ts.map +1 -1
  82. package/dist/controller/model/group.js +202 -85
  83. package/dist/controller/model/group.js.map +1 -1
  84. package/dist/controller/model/index.d.ts.map +1 -1
  85. package/dist/controller/model/zigbeeEntity.d.ts.map +1 -0
  86. package/dist/controller/touchlink.d.ts.map +1 -1
  87. package/dist/controller/tstype.d.ts.map +1 -1
  88. package/dist/controller/tstype.js +0 -6
  89. package/dist/controller/tstype.js.map +1 -1
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/utils/timeService.d.ts.map +1 -0
  92. package/dist/utils/timeService.js +127 -0
  93. package/dist/utils/timeService.js.map +1 -0
  94. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
  95. package/dist/zspec/zcl/buffaloZcl.js +327 -287
  96. package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
  97. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  98. package/dist/zspec/zcl/definition/cluster.js +6050 -4043
  99. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  100. package/dist/zspec/zcl/definition/clusters-types.d.ts +8135 -0
  101. package/dist/zspec/zcl/definition/clusters-types.d.ts.map +1 -0
  102. package/dist/zspec/zcl/definition/clusters-types.js +3 -0
  103. package/dist/zspec/zcl/definition/clusters-types.js.map +1 -0
  104. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
  105. package/dist/zspec/zcl/definition/foundation.js +170 -99
  106. package/dist/zspec/zcl/definition/foundation.js.map +1 -1
  107. package/dist/zspec/zcl/definition/tstype.d.ts +190 -31
  108. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  109. package/dist/zspec/zcl/definition/tstype.js +0 -1
  110. package/dist/zspec/zcl/definition/tstype.js.map +1 -1
  111. package/dist/zspec/zcl/index.d.ts.map +1 -1
  112. package/dist/zspec/zcl/index.js +23 -13
  113. package/dist/zspec/zcl/index.js.map +1 -1
  114. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  115. package/dist/zspec/zcl/utils.js +288 -103
  116. package/dist/zspec/zcl/utils.js.map +1 -1
  117. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
  118. package/dist/zspec/zcl/zclFrame.js +121 -97
  119. package/dist/zspec/zcl/zclFrame.js.map +1 -1
  120. package/dist/zspec/zcl/zclHeader.d.ts.map +1 -1
  121. package/dist/zspec/zcl/zclHeader.js +13 -13
  122. package/dist/zspec/zcl/zclHeader.js.map +1 -1
  123. package/examples/join-and-log.js +18 -18
  124. package/package.json +23 -3
  125. package/release-please-config.json +8 -8
  126. package/scripts/check-clusters-changes.ts +328 -0
  127. package/scripts/clusters-changes.log +584 -0
  128. package/scripts/clusters-typegen.ts +608 -0
  129. package/scripts/utils.ts +88 -0
  130. package/scripts/zap-update-clusters-report.json +303 -0
  131. package/scripts/zap-update-clusters.ts +1520 -0
  132. package/scripts/zap-update-types.ts +707 -0
  133. package/scripts/zap-xml-clusters-overrides-data.ts +52 -0
  134. package/scripts/zap-xml-clusters-overrides.ts +400 -0
  135. package/scripts/zap-xml-types.ts +146 -0
  136. package/src/adapter/adapter.ts +210 -0
  137. package/src/adapter/adapterDiscovery.ts +736 -0
  138. package/src/adapter/const.ts +12 -0
  139. package/src/adapter/deconz/adapter/deconzAdapter.ts +888 -0
  140. package/src/adapter/deconz/driver/constants.ts +246 -0
  141. package/src/adapter/deconz/driver/driver.ts +1528 -0
  142. package/src/adapter/deconz/driver/frame.ts +11 -0
  143. package/src/adapter/deconz/driver/frameParser.ts +766 -0
  144. package/src/adapter/deconz/driver/parser.ts +45 -0
  145. package/src/adapter/deconz/driver/writer.ts +22 -0
  146. package/src/adapter/deconz/types.d.ts +13 -0
  147. package/src/adapter/ember/adapter/emberAdapter.ts +2262 -0
  148. package/src/adapter/ember/adapter/endpoints.ts +86 -0
  149. package/src/adapter/ember/adapter/oneWaitress.ts +324 -0
  150. package/src/adapter/ember/adapter/tokensManager.ts +780 -0
  151. package/src/adapter/ember/consts.ts +178 -0
  152. package/src/adapter/ember/enums.ts +1746 -0
  153. package/src/adapter/ember/ezsp/buffalo.ts +1392 -0
  154. package/src/adapter/ember/ezsp/consts.ts +148 -0
  155. package/src/adapter/ember/ezsp/enums.ts +1114 -0
  156. package/src/adapter/ember/ezsp/ezsp.ts +9073 -0
  157. package/src/adapter/ember/ezspError.ts +10 -0
  158. package/src/adapter/ember/types.ts +866 -0
  159. package/src/adapter/ember/uart/ash.ts +1933 -0
  160. package/src/adapter/ember/uart/consts.ts +109 -0
  161. package/src/adapter/ember/uart/enums.ts +192 -0
  162. package/src/adapter/ember/uart/parser.ts +42 -0
  163. package/src/adapter/ember/uart/queues.ts +247 -0
  164. package/src/adapter/ember/uart/writer.ts +50 -0
  165. package/src/adapter/ember/utils/initters.ts +58 -0
  166. package/src/adapter/ember/utils/math.ts +71 -0
  167. package/src/adapter/events.ts +21 -0
  168. package/src/adapter/ezsp/adapter/backup.ts +100 -0
  169. package/src/adapter/ezsp/adapter/ezspAdapter.ts +632 -0
  170. package/src/adapter/ezsp/driver/commands.ts +2497 -0
  171. package/src/adapter/ezsp/driver/consts.ts +11 -0
  172. package/src/adapter/ezsp/driver/driver.ts +1002 -0
  173. package/src/adapter/ezsp/driver/ezsp.ts +802 -0
  174. package/src/adapter/ezsp/driver/frame.ts +101 -0
  175. package/src/adapter/ezsp/driver/index.ts +4 -0
  176. package/src/adapter/ezsp/driver/multicast.ts +78 -0
  177. package/src/adapter/ezsp/driver/parser.ts +81 -0
  178. package/src/adapter/ezsp/driver/types/basic.ts +201 -0
  179. package/src/adapter/ezsp/driver/types/index.ts +239 -0
  180. package/src/adapter/ezsp/driver/types/named.ts +2330 -0
  181. package/src/adapter/ezsp/driver/types/struct.ts +844 -0
  182. package/src/adapter/ezsp/driver/uart.ts +460 -0
  183. package/src/adapter/ezsp/driver/utils/crc16ccitt.ts +44 -0
  184. package/src/adapter/ezsp/driver/utils/index.ts +32 -0
  185. package/src/adapter/ezsp/driver/writer.ts +64 -0
  186. package/src/adapter/index.ts +3 -0
  187. package/src/adapter/serialPort.ts +58 -0
  188. package/src/adapter/tstype.ts +57 -0
  189. package/src/adapter/utils.ts +41 -0
  190. package/src/adapter/z-stack/adapter/adapter-backup.ts +509 -0
  191. package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +457 -0
  192. package/src/adapter/z-stack/adapter/endpoints.ts +60 -0
  193. package/src/adapter/z-stack/adapter/manager.ts +543 -0
  194. package/src/adapter/z-stack/adapter/tstype.ts +6 -0
  195. package/src/adapter/z-stack/adapter/zStackAdapter.ts +1350 -0
  196. package/src/adapter/z-stack/constants/af.ts +27 -0
  197. package/src/adapter/z-stack/constants/common.ts +285 -0
  198. package/src/adapter/z-stack/constants/dbg.ts +23 -0
  199. package/src/adapter/z-stack/constants/index.ts +11 -0
  200. package/src/adapter/z-stack/constants/mac.ts +128 -0
  201. package/src/adapter/z-stack/constants/sapi.ts +25 -0
  202. package/src/adapter/z-stack/constants/sys.ts +72 -0
  203. package/src/adapter/z-stack/constants/util.ts +82 -0
  204. package/src/adapter/z-stack/constants/utils.ts +14 -0
  205. package/src/adapter/z-stack/constants/zdo.ts +103 -0
  206. package/src/adapter/z-stack/models/startup-options.ts +13 -0
  207. package/src/adapter/z-stack/structs/entries/address-manager-entry.ts +44 -0
  208. package/src/adapter/z-stack/structs/entries/address-manager-table.ts +19 -0
  209. package/src/adapter/z-stack/structs/entries/aps-link-key-data-entry.ts +12 -0
  210. package/src/adapter/z-stack/structs/entries/aps-link-key-data-table.ts +21 -0
  211. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-entry.ts +19 -0
  212. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-table.ts +21 -0
  213. package/src/adapter/z-stack/structs/entries/channel-list.ts +8 -0
  214. package/src/adapter/z-stack/structs/entries/has-configured.ts +16 -0
  215. package/src/adapter/z-stack/structs/entries/index.ts +16 -0
  216. package/src/adapter/z-stack/structs/entries/nib.ts +66 -0
  217. package/src/adapter/z-stack/structs/entries/nwk-key-descriptor.ts +15 -0
  218. package/src/adapter/z-stack/structs/entries/nwk-key.ts +13 -0
  219. package/src/adapter/z-stack/structs/entries/nwk-pan-id.ts +8 -0
  220. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.ts +20 -0
  221. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.ts +19 -0
  222. package/src/adapter/z-stack/structs/entries/security-manager-entry.ts +33 -0
  223. package/src/adapter/z-stack/structs/entries/security-manager-table.ts +22 -0
  224. package/src/adapter/z-stack/structs/index.ts +4 -0
  225. package/src/adapter/z-stack/structs/serializable-memory-object.ts +14 -0
  226. package/src/adapter/z-stack/structs/struct.ts +367 -0
  227. package/src/adapter/z-stack/structs/table.ts +198 -0
  228. package/src/adapter/z-stack/unpi/constants.ts +33 -0
  229. package/src/adapter/z-stack/unpi/frame.ts +62 -0
  230. package/src/adapter/z-stack/unpi/index.ts +4 -0
  231. package/src/adapter/z-stack/unpi/parser.ts +67 -0
  232. package/src/adapter/z-stack/unpi/writer.ts +37 -0
  233. package/src/adapter/z-stack/utils/channel-list.ts +40 -0
  234. package/src/adapter/z-stack/utils/index.ts +2 -0
  235. package/src/adapter/z-stack/utils/network-options.ts +26 -0
  236. package/src/adapter/z-stack/znp/buffaloZnp.ts +175 -0
  237. package/src/adapter/z-stack/znp/definition.ts +2713 -0
  238. package/src/adapter/z-stack/znp/index.ts +2 -0
  239. package/src/adapter/z-stack/znp/parameterType.ts +22 -0
  240. package/src/adapter/z-stack/znp/tstype.ts +44 -0
  241. package/src/adapter/z-stack/znp/utils.ts +10 -0
  242. package/src/adapter/z-stack/znp/znp.ts +345 -0
  243. package/src/adapter/z-stack/znp/zpiObject.ts +148 -0
  244. package/src/adapter/zboss/adapter/zbossAdapter.ts +535 -0
  245. package/src/adapter/zboss/commands.ts +1184 -0
  246. package/src/adapter/zboss/consts.ts +9 -0
  247. package/src/adapter/zboss/driver.ts +422 -0
  248. package/src/adapter/zboss/enums.ts +360 -0
  249. package/src/adapter/zboss/frame.ts +227 -0
  250. package/src/adapter/zboss/reader.ts +65 -0
  251. package/src/adapter/zboss/types.ts +0 -0
  252. package/src/adapter/zboss/uart.ts +428 -0
  253. package/src/adapter/zboss/utils.ts +58 -0
  254. package/src/adapter/zboss/writer.ts +49 -0
  255. package/src/adapter/zigate/adapter/patchZdoBuffaloBE.ts +25 -0
  256. package/src/adapter/zigate/adapter/zigateAdapter.ts +633 -0
  257. package/src/adapter/zigate/driver/LICENSE +17 -0
  258. package/src/adapter/zigate/driver/buffaloZiGate.ts +210 -0
  259. package/src/adapter/zigate/driver/commandType.ts +418 -0
  260. package/src/adapter/zigate/driver/constants.ts +150 -0
  261. package/src/adapter/zigate/driver/frame.ts +197 -0
  262. package/src/adapter/zigate/driver/messageType.ts +287 -0
  263. package/src/adapter/zigate/driver/parameterType.ts +32 -0
  264. package/src/adapter/zigate/driver/ziGateObject.ts +146 -0
  265. package/src/adapter/zigate/driver/zigate.ts +422 -0
  266. package/src/adapter/zoh/adapter/utils.ts +27 -0
  267. package/src/adapter/zoh/adapter/zohAdapter.ts +931 -0
  268. package/src/buffalo/buffalo.ts +336 -0
  269. package/src/buffalo/index.ts +1 -0
  270. package/src/controller/controller.ts +1159 -0
  271. package/src/controller/database.ts +148 -0
  272. package/src/controller/events.ts +52 -0
  273. package/src/controller/greenPower.ts +613 -0
  274. package/src/controller/helpers/index.ts +1 -0
  275. package/src/controller/helpers/installCodes.ts +107 -0
  276. package/src/controller/helpers/ota.ts +578 -0
  277. package/src/controller/helpers/request.ts +96 -0
  278. package/src/controller/helpers/requestQueue.ts +126 -0
  279. package/src/controller/helpers/zclFrameConverter.ts +64 -0
  280. package/src/controller/helpers/zclTransactionSequenceNumber.ts +15 -0
  281. package/src/controller/index.ts +6 -0
  282. package/src/controller/model/device.ts +1791 -0
  283. package/src/controller/model/endpoint.ts +1235 -0
  284. package/src/controller/model/entity.ts +43 -0
  285. package/src/controller/model/group.ts +446 -0
  286. package/src/controller/model/index.ts +5 -0
  287. package/src/controller/model/konnextConfig.ts +6 -0
  288. package/src/controller/model/zigbeeEntity.ts +30 -0
  289. package/src/controller/touchlink.ts +195 -0
  290. package/src/controller/tstype.ts +374 -0
  291. package/src/index.ts +14 -0
  292. package/src/models/backup-storage-legacy.ts +48 -0
  293. package/src/models/backup-storage-unified.ts +47 -0
  294. package/src/models/backup.ts +37 -0
  295. package/src/models/index.ts +5 -0
  296. package/src/models/network-options.ts +11 -0
  297. package/src/utils/aes.ts +218 -0
  298. package/src/utils/async-mutex.ts +31 -0
  299. package/src/utils/backup.ts +152 -0
  300. package/src/utils/index.ts +5 -0
  301. package/src/utils/logger.ts +20 -0
  302. package/src/utils/patchBigIntSerialization.ts +8 -0
  303. package/src/utils/queue.ts +79 -0
  304. package/src/utils/timeService.ts +139 -0
  305. package/src/utils/utils.ts +19 -0
  306. package/src/utils/wait.ts +5 -0
  307. package/src/utils/waitress.ts +96 -0
  308. package/src/zspec/consts.ts +89 -0
  309. package/src/zspec/enums.ts +22 -0
  310. package/src/zspec/index.ts +3 -0
  311. package/src/zspec/tstypes.ts +18 -0
  312. package/src/zspec/utils.ts +247 -0
  313. package/src/zspec/zcl/buffaloZcl.ts +1073 -0
  314. package/src/zspec/zcl/definition/cluster.ts +7554 -0
  315. package/src/zspec/zcl/definition/clusters-types.ts +8228 -0
  316. package/src/zspec/zcl/definition/consts.ts +24 -0
  317. package/src/zspec/zcl/definition/datatypes.ts +2454 -0
  318. package/src/zspec/zcl/definition/enums.ts +224 -0
  319. package/src/zspec/zcl/definition/foundation.ts +342 -0
  320. package/src/zspec/zcl/definition/manufacturerCode.ts +730 -0
  321. package/src/zspec/zcl/definition/status.ts +69 -0
  322. package/src/zspec/zcl/definition/tstype.ts +432 -0
  323. package/src/zspec/zcl/index.ts +11 -0
  324. package/src/zspec/zcl/utils.ts +504 -0
  325. package/src/zspec/zcl/zclFrame.ts +383 -0
  326. package/src/zspec/zcl/zclHeader.ts +102 -0
  327. package/src/zspec/zcl/zclStatusError.ts +10 -0
  328. package/src/zspec/zdo/buffaloZdo.ts +2336 -0
  329. package/src/zspec/zdo/definition/clusters.ts +722 -0
  330. package/src/zspec/zdo/definition/consts.ts +16 -0
  331. package/src/zspec/zdo/definition/enums.ts +99 -0
  332. package/src/zspec/zdo/definition/status.ts +105 -0
  333. package/src/zspec/zdo/definition/tstypes.ts +1062 -0
  334. package/src/zspec/zdo/index.ts +7 -0
  335. package/src/zspec/zdo/utils.ts +76 -0
  336. package/src/zspec/zdo/zdoStatusError.ts +10 -0
  337. package/test/adapter/adapter.test.ts +1276 -0
  338. package/test/adapter/ember/ash.test.ts +337 -0
  339. package/test/adapter/ember/consts.ts +131 -0
  340. package/test/adapter/ember/emberAdapter.test.ts +3447 -0
  341. package/test/adapter/ember/ezsp.test.ts +389 -0
  342. package/test/adapter/ember/ezspBuffalo.test.ts +93 -0
  343. package/test/adapter/ember/ezspError.test.ts +12 -0
  344. package/test/adapter/ember/math.test.ts +190 -0
  345. package/test/adapter/ezsp/frame.test.ts +30 -0
  346. package/test/adapter/ezsp/uart.test.ts +181 -0
  347. package/test/adapter/z-stack/adapter.test.ts +4260 -0
  348. package/test/adapter/z-stack/constants.test.ts +33 -0
  349. package/test/adapter/z-stack/structs.test.ts +115 -0
  350. package/test/adapter/z-stack/unpi.test.ts +213 -0
  351. package/test/adapter/z-stack/znp.test.ts +1288 -0
  352. package/test/adapter/zboss/fixZdoResponse.test.ts +179 -0
  353. package/test/adapter/zigate/patchZdoBuffaloBE.test.ts +81 -0
  354. package/test/adapter/zigate/zdo.test.ts +187 -0
  355. package/test/adapter/zoh/utils.test.ts +36 -0
  356. package/test/adapter/zoh/zohAdapter.test.ts +1451 -0
  357. package/test/benchOptions.ts +14 -0
  358. package/test/buffalo.test.ts +431 -0
  359. package/test/controller.bench.ts +215 -0
  360. package/test/controller.test.ts +10038 -0
  361. package/test/data/integrity-code-1166-012B-24031511-upgradeMe-RB 249 T.zigbee +0 -0
  362. package/test/data/manuf-tags-tradfri-cv-cct-unified_release_prod_v587757105_33e34452-9267-4665-bc5a-844c8f61f063.ota +0 -0
  363. package/test/data/padded-tretakt_smart_plug_soc-0x1100-2.4.25-prod.ota.ota.signed +0 -0
  364. package/test/data/telink-aes-A60_RGBW_T-0x00B6-0x03483712-MF_DIS.OTA +0 -0
  365. package/test/data/zbminir2_v1.0.8.ota +0 -0
  366. package/test/device-ota.test.ts +3332 -0
  367. package/test/greenpower.test.ts +1409 -0
  368. package/test/mockAdapters.ts +95 -0
  369. package/test/mockDevices.ts +623 -0
  370. package/test/requests.bench.ts +321 -0
  371. package/test/testUtils.ts +20 -0
  372. package/test/timeService.test.ts +214 -0
  373. package/test/tsconfig.json +9 -0
  374. package/test/utils/math.ts +19 -0
  375. package/test/utils.test.ts +352 -0
  376. package/test/vitest.config.mts +28 -0
  377. package/test/vitest.ts +9 -0
  378. package/test/zcl.test.ts +2887 -0
  379. package/test/zspec/utils.test.ts +68 -0
  380. package/test/zspec/zcl/buffalo.test.ts +1316 -0
  381. package/test/zspec/zcl/frame.test.ts +1056 -0
  382. package/test/zspec/zcl/utils.test.ts +650 -0
  383. package/test/zspec/zdo/buffalo.test.ts +1850 -0
  384. package/test/zspec/zdo/utils.test.ts +241 -0
  385. package/tsconfig.json +8 -10
  386. package/.babelrc.js +0 -6
  387. package/.eslintignore +0 -3
  388. package/dist/adapter/adapter.d.ts +0 -64
  389. package/dist/adapter/adapter.js +0 -157
  390. package/dist/adapter/adapter.js.map +0 -1
  391. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +0 -71
  392. package/dist/adapter/deconz/adapter/deconzAdapter.js +0 -1072
  393. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +0 -1
  394. package/dist/adapter/deconz/adapter/index.d.ts +0 -3
  395. package/dist/adapter/deconz/adapter/index.d.ts.map +0 -1
  396. package/dist/adapter/deconz/adapter/index.js +0 -11
  397. package/dist/adapter/deconz/adapter/index.js.map +0 -1
  398. package/dist/adapter/deconz/driver/constants.d.ts +0 -105
  399. package/dist/adapter/deconz/driver/constants.d.ts.map +0 -1
  400. package/dist/adapter/deconz/driver/constants.js +0 -56
  401. package/dist/adapter/deconz/driver/constants.js.map +0 -1
  402. package/dist/adapter/deconz/driver/driver.d.ts +0 -82
  403. package/dist/adapter/deconz/driver/driver.d.ts.map +0 -1
  404. package/dist/adapter/deconz/driver/driver.js +0 -751
  405. package/dist/adapter/deconz/driver/driver.js.map +0 -1
  406. package/dist/adapter/deconz/driver/frame.d.ts +0 -7
  407. package/dist/adapter/deconz/driver/frame.d.ts.map +0 -1
  408. package/dist/adapter/deconz/driver/frame.js +0 -14
  409. package/dist/adapter/deconz/driver/frame.js.map +0 -1
  410. package/dist/adapter/deconz/driver/frameParser.d.ts +0 -3
  411. package/dist/adapter/deconz/driver/frameParser.d.ts.map +0 -1
  412. package/dist/adapter/deconz/driver/frameParser.js +0 -444
  413. package/dist/adapter/deconz/driver/frameParser.js.map +0 -1
  414. package/dist/adapter/deconz/driver/parser.d.ts +0 -13
  415. package/dist/adapter/deconz/driver/parser.d.ts.map +0 -1
  416. package/dist/adapter/deconz/driver/parser.js +0 -64
  417. package/dist/adapter/deconz/driver/parser.js.map +0 -1
  418. package/dist/adapter/deconz/driver/writer.d.ts +0 -9
  419. package/dist/adapter/deconz/driver/writer.d.ts.map +0 -1
  420. package/dist/adapter/deconz/driver/writer.js +0 -45
  421. package/dist/adapter/deconz/driver/writer.js.map +0 -1
  422. package/dist/adapter/ember/adapter/emberAdapter.d.ts +0 -806
  423. package/dist/adapter/ember/adapter/emberAdapter.js +0 -2942
  424. package/dist/adapter/ember/adapter/emberAdapter.js.map +0 -1
  425. package/dist/adapter/ember/adapter/endpoints.d.ts +0 -27
  426. package/dist/adapter/ember/adapter/endpoints.js +0 -68
  427. package/dist/adapter/ember/adapter/endpoints.js.map +0 -1
  428. package/dist/adapter/ember/adapter/index.d.ts +0 -3
  429. package/dist/adapter/ember/adapter/index.d.ts.map +0 -1
  430. package/dist/adapter/ember/adapter/index.js +0 -6
  431. package/dist/adapter/ember/adapter/index.js.map +0 -1
  432. package/dist/adapter/ember/adapter/oneWaitress.d.ts +0 -108
  433. package/dist/adapter/ember/adapter/oneWaitress.js +0 -241
  434. package/dist/adapter/ember/adapter/oneWaitress.js.map +0 -1
  435. package/dist/adapter/ember/adapter/requestQueue.d.ts +0 -57
  436. package/dist/adapter/ember/adapter/requestQueue.d.ts.map +0 -1
  437. package/dist/adapter/ember/adapter/requestQueue.js +0 -139
  438. package/dist/adapter/ember/adapter/requestQueue.js.map +0 -1
  439. package/dist/adapter/ember/adapter/tokensManager.d.ts +0 -69
  440. package/dist/adapter/ember/adapter/tokensManager.js +0 -688
  441. package/dist/adapter/ember/adapter/tokensManager.js.map +0 -1
  442. package/dist/adapter/ember/consts.d.ts +0 -191
  443. package/dist/adapter/ember/consts.d.ts.map +0 -1
  444. package/dist/adapter/ember/consts.js +0 -246
  445. package/dist/adapter/ember/consts.js.map +0 -1
  446. package/dist/adapter/ember/enums.d.ts +0 -2172
  447. package/dist/adapter/ember/enums.d.ts.map +0 -1
  448. package/dist/adapter/ember/enums.js +0 -2375
  449. package/dist/adapter/ember/enums.js.map +0 -1
  450. package/dist/adapter/ember/ezsp/buffalo.d.ts +0 -156
  451. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +0 -1
  452. package/dist/adapter/ember/ezsp/buffalo.js +0 -1033
  453. package/dist/adapter/ember/ezsp/buffalo.js.map +0 -1
  454. package/dist/adapter/ember/ezsp/consts.d.ts +0 -116
  455. package/dist/adapter/ember/ezsp/consts.d.ts.map +0 -1
  456. package/dist/adapter/ember/ezsp/consts.js +0 -128
  457. package/dist/adapter/ember/ezsp/consts.js.map +0 -1
  458. package/dist/adapter/ember/ezsp/enums.d.ts +0 -879
  459. package/dist/adapter/ember/ezsp/enums.d.ts.map +0 -1
  460. package/dist/adapter/ember/ezsp/enums.js +0 -948
  461. package/dist/adapter/ember/ezsp/enums.js.map +0 -1
  462. package/dist/adapter/ember/ezsp/ezsp.d.ts +0 -2662
  463. package/dist/adapter/ember/ezsp/ezsp.js +0 -6454
  464. package/dist/adapter/ember/ezsp/ezsp.js.map +0 -1
  465. package/dist/adapter/ember/types.d.ts +0 -733
  466. package/dist/adapter/ember/types.d.ts.map +0 -1
  467. package/dist/adapter/ember/types.js +0 -3
  468. package/dist/adapter/ember/types.js.map +0 -1
  469. package/dist/adapter/ember/uart/ash.d.ts +0 -464
  470. package/dist/adapter/ember/uart/ash.d.ts.map +0 -1
  471. package/dist/adapter/ember/uart/ash.js +0 -1633
  472. package/dist/adapter/ember/uart/ash.js.map +0 -1
  473. package/dist/adapter/ember/uart/consts.d.ts +0 -91
  474. package/dist/adapter/ember/uart/consts.d.ts.map +0 -1
  475. package/dist/adapter/ember/uart/consts.js +0 -100
  476. package/dist/adapter/ember/uart/consts.js.map +0 -1
  477. package/dist/adapter/ember/uart/enums.d.ts +0 -191
  478. package/dist/adapter/ember/uart/enums.d.ts.map +0 -1
  479. package/dist/adapter/ember/uart/enums.js +0 -197
  480. package/dist/adapter/ember/uart/enums.js.map +0 -1
  481. package/dist/adapter/ember/uart/parser.d.ts +0 -10
  482. package/dist/adapter/ember/uart/parser.d.ts.map +0 -1
  483. package/dist/adapter/ember/uart/parser.js +0 -37
  484. package/dist/adapter/ember/uart/parser.js.map +0 -1
  485. package/dist/adapter/ember/uart/queues.d.ts +0 -85
  486. package/dist/adapter/ember/uart/queues.d.ts.map +0 -1
  487. package/dist/adapter/ember/uart/queues.js +0 -214
  488. package/dist/adapter/ember/uart/queues.js.map +0 -1
  489. package/dist/adapter/ember/uart/writer.d.ts +0 -15
  490. package/dist/adapter/ember/uart/writer.d.ts.map +0 -1
  491. package/dist/adapter/ember/uart/writer.js +0 -46
  492. package/dist/adapter/ember/uart/writer.js.map +0 -1
  493. package/dist/adapter/ember/utils/initters.d.ts +0 -20
  494. package/dist/adapter/ember/utils/initters.js +0 -58
  495. package/dist/adapter/ember/utils/initters.js.map +0 -1
  496. package/dist/adapter/ember/utils/math.d.ts +0 -51
  497. package/dist/adapter/ember/utils/math.d.ts.map +0 -1
  498. package/dist/adapter/ember/utils/math.js +0 -102
  499. package/dist/adapter/ember/utils/math.js.map +0 -1
  500. package/dist/adapter/ember/zdo.d.ts +0 -925
  501. package/dist/adapter/ember/zdo.d.ts.map +0 -1
  502. package/dist/adapter/ember/zdo.js +0 -723
  503. package/dist/adapter/ember/zdo.js.map +0 -1
  504. package/dist/adapter/events.d.ts +0 -42
  505. package/dist/adapter/events.js +0 -13
  506. package/dist/adapter/events.js.map +0 -1
  507. package/dist/adapter/ezsp/adapter/backup.d.ts +0 -13
  508. package/dist/adapter/ezsp/adapter/backup.js +0 -101
  509. package/dist/adapter/ezsp/adapter/backup.js.map +0 -1
  510. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +0 -65
  511. package/dist/adapter/ezsp/adapter/ezspAdapter.js +0 -634
  512. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +0 -1
  513. package/dist/adapter/ezsp/adapter/index.d.ts +0 -3
  514. package/dist/adapter/ezsp/adapter/index.d.ts.map +0 -1
  515. package/dist/adapter/ezsp/adapter/index.js +0 -11
  516. package/dist/adapter/ezsp/adapter/index.js.map +0 -1
  517. package/dist/adapter/ezsp/driver/commands.d.ts +0 -37
  518. package/dist/adapter/ezsp/driver/commands.d.ts.map +0 -1
  519. package/dist/adapter/ezsp/driver/commands.js +0 -2387
  520. package/dist/adapter/ezsp/driver/commands.js.map +0 -1
  521. package/dist/adapter/ezsp/driver/consts.d.ts +0 -11
  522. package/dist/adapter/ezsp/driver/consts.d.ts.map +0 -1
  523. package/dist/adapter/ezsp/driver/consts.js +0 -14
  524. package/dist/adapter/ezsp/driver/consts.js.map +0 -1
  525. package/dist/adapter/ezsp/driver/driver.d.ts +0 -109
  526. package/dist/adapter/ezsp/driver/driver.js +0 -796
  527. package/dist/adapter/ezsp/driver/driver.js.map +0 -1
  528. package/dist/adapter/ezsp/driver/ezsp.d.ts +0 -106
  529. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +0 -1
  530. package/dist/adapter/ezsp/driver/ezsp.js +0 -664
  531. package/dist/adapter/ezsp/driver/ezsp.js.map +0 -1
  532. package/dist/adapter/ezsp/driver/frame.d.ts +0 -40
  533. package/dist/adapter/ezsp/driver/frame.d.ts.map +0 -1
  534. package/dist/adapter/ezsp/driver/frame.js +0 -101
  535. package/dist/adapter/ezsp/driver/frame.js.map +0 -1
  536. package/dist/adapter/ezsp/driver/index.d.ts +0 -4
  537. package/dist/adapter/ezsp/driver/index.js +0 -9
  538. package/dist/adapter/ezsp/driver/index.js.map +0 -1
  539. package/dist/adapter/ezsp/driver/multicast.d.ts +0 -13
  540. package/dist/adapter/ezsp/driver/multicast.js +0 -74
  541. package/dist/adapter/ezsp/driver/multicast.js.map +0 -1
  542. package/dist/adapter/ezsp/driver/parser.d.ts +0 -12
  543. package/dist/adapter/ezsp/driver/parser.d.ts.map +0 -1
  544. package/dist/adapter/ezsp/driver/parser.js +0 -105
  545. package/dist/adapter/ezsp/driver/parser.js.map +0 -1
  546. package/dist/adapter/ezsp/driver/types/basic.d.ts +0 -63
  547. package/dist/adapter/ezsp/driver/types/basic.d.ts.map +0 -1
  548. package/dist/adapter/ezsp/driver/types/basic.js +0 -209
  549. package/dist/adapter/ezsp/driver/types/basic.js.map +0 -1
  550. package/dist/adapter/ezsp/driver/types/index.d.ts +0 -10
  551. package/dist/adapter/ezsp/driver/types/index.d.ts.map +0 -1
  552. package/dist/adapter/ezsp/driver/types/index.js +0 -139
  553. package/dist/adapter/ezsp/driver/types/index.js.map +0 -1
  554. package/dist/adapter/ezsp/driver/types/named.d.ts +0 -1288
  555. package/dist/adapter/ezsp/driver/types/named.d.ts.map +0 -1
  556. package/dist/adapter/ezsp/driver/types/named.js +0 -2330
  557. package/dist/adapter/ezsp/driver/types/named.js.map +0 -1
  558. package/dist/adapter/ezsp/driver/types/struct.d.ts +0 -271
  559. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +0 -1
  560. package/dist/adapter/ezsp/driver/types/struct.js +0 -804
  561. package/dist/adapter/ezsp/driver/types/struct.js.map +0 -1
  562. package/dist/adapter/ezsp/driver/uart.d.ts +0 -49
  563. package/dist/adapter/ezsp/driver/uart.d.ts.map +0 -1
  564. package/dist/adapter/ezsp/driver/uart.js +0 -383
  565. package/dist/adapter/ezsp/driver/uart.js.map +0 -1
  566. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +0 -3
  567. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +0 -1
  568. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +0 -56
  569. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +0 -1
  570. package/dist/adapter/ezsp/driver/utils/index.d.ts +0 -20
  571. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +0 -1
  572. package/dist/adapter/ezsp/driver/utils/index.js +0 -73
  573. package/dist/adapter/ezsp/driver/utils/index.js.map +0 -1
  574. package/dist/adapter/ezsp/driver/writer.d.ts +0 -14
  575. package/dist/adapter/ezsp/driver/writer.d.ts.map +0 -1
  576. package/dist/adapter/ezsp/driver/writer.js +0 -83
  577. package/dist/adapter/ezsp/driver/writer.js.map +0 -1
  578. package/dist/adapter/index.d.ts +0 -5
  579. package/dist/adapter/index.js +0 -36
  580. package/dist/adapter/index.js.map +0 -1
  581. package/dist/adapter/serialPort.d.ts +0 -14
  582. package/dist/adapter/serialPort.d.ts.map +0 -1
  583. package/dist/adapter/serialPort.js +0 -47
  584. package/dist/adapter/serialPort.js.map +0 -1
  585. package/dist/adapter/serialPortUtils.d.ts +0 -13
  586. package/dist/adapter/serialPortUtils.d.ts.map +0 -1
  587. package/dist/adapter/serialPortUtils.js +0 -19
  588. package/dist/adapter/serialPortUtils.js.map +0 -1
  589. package/dist/adapter/socketPortUtils.d.ts +0 -11
  590. package/dist/adapter/socketPortUtils.d.ts.map +0 -1
  591. package/dist/adapter/socketPortUtils.js +0 -17
  592. package/dist/adapter/socketPortUtils.js.map +0 -1
  593. package/dist/adapter/tstype.d.ts +0 -86
  594. package/dist/adapter/tstype.d.ts.map +0 -1
  595. package/dist/adapter/tstype.js +0 -3
  596. package/dist/adapter/tstype.js.map +0 -1
  597. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +0 -62
  598. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +0 -1
  599. package/dist/adapter/z-stack/adapter/adapter-backup.js +0 -459
  600. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +0 -1
  601. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +0 -151
  602. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +0 -1
  603. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +0 -259
  604. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +0 -1
  605. package/dist/adapter/z-stack/adapter/endpoints.d.ts +0 -12
  606. package/dist/adapter/z-stack/adapter/endpoints.js +0 -74
  607. package/dist/adapter/z-stack/adapter/endpoints.js.map +0 -1
  608. package/dist/adapter/z-stack/adapter/index.d.ts +0 -3
  609. package/dist/adapter/z-stack/adapter/index.d.ts.map +0 -1
  610. package/dist/adapter/z-stack/adapter/index.js +0 -9
  611. package/dist/adapter/z-stack/adapter/index.js.map +0 -1
  612. package/dist/adapter/z-stack/adapter/manager.d.ts +0 -84
  613. package/dist/adapter/z-stack/adapter/manager.js +0 -474
  614. package/dist/adapter/z-stack/adapter/manager.js.map +0 -1
  615. package/dist/adapter/z-stack/adapter/tstype.d.ts +0 -7
  616. package/dist/adapter/z-stack/adapter/tstype.d.ts.map +0 -1
  617. package/dist/adapter/z-stack/adapter/tstype.js +0 -10
  618. package/dist/adapter/z-stack/adapter/tstype.js.map +0 -1
  619. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +0 -86
  620. package/dist/adapter/z-stack/adapter/zStackAdapter.js +0 -912
  621. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +0 -1
  622. package/dist/adapter/z-stack/constants/af.d.ts +0 -24
  623. package/dist/adapter/z-stack/constants/af.d.ts.map +0 -1
  624. package/dist/adapter/z-stack/constants/af.js +0 -28
  625. package/dist/adapter/z-stack/constants/af.js.map +0 -1
  626. package/dist/adapter/z-stack/constants/common.d.ts +0 -279
  627. package/dist/adapter/z-stack/constants/common.d.ts.map +0 -1
  628. package/dist/adapter/z-stack/constants/common.js +0 -293
  629. package/dist/adapter/z-stack/constants/common.js.map +0 -1
  630. package/dist/adapter/z-stack/constants/dbg.d.ts +0 -23
  631. package/dist/adapter/z-stack/constants/dbg.d.ts.map +0 -1
  632. package/dist/adapter/z-stack/constants/dbg.js +0 -25
  633. package/dist/adapter/z-stack/constants/dbg.js.map +0 -1
  634. package/dist/adapter/z-stack/constants/index.d.ts +0 -11
  635. package/dist/adapter/z-stack/constants/index.d.ts.map +0 -1
  636. package/dist/adapter/z-stack/constants/index.js +0 -48
  637. package/dist/adapter/z-stack/constants/index.js.map +0 -1
  638. package/dist/adapter/z-stack/constants/mac.d.ts +0 -128
  639. package/dist/adapter/z-stack/constants/mac.d.ts.map +0 -1
  640. package/dist/adapter/z-stack/constants/mac.js +0 -130
  641. package/dist/adapter/z-stack/constants/mac.js.map +0 -1
  642. package/dist/adapter/z-stack/constants/sapi.d.ts +0 -25
  643. package/dist/adapter/z-stack/constants/sapi.d.ts.map +0 -1
  644. package/dist/adapter/z-stack/constants/sapi.js +0 -27
  645. package/dist/adapter/z-stack/constants/sapi.js.map +0 -1
  646. package/dist/adapter/z-stack/constants/sys.d.ts +0 -72
  647. package/dist/adapter/z-stack/constants/sys.d.ts.map +0 -1
  648. package/dist/adapter/z-stack/constants/sys.js +0 -74
  649. package/dist/adapter/z-stack/constants/sys.js.map +0 -1
  650. package/dist/adapter/z-stack/constants/util.d.ts +0 -82
  651. package/dist/adapter/z-stack/constants/util.d.ts.map +0 -1
  652. package/dist/adapter/z-stack/constants/util.js +0 -84
  653. package/dist/adapter/z-stack/constants/util.js.map +0 -1
  654. package/dist/adapter/z-stack/constants/utils.d.ts +0 -5
  655. package/dist/adapter/z-stack/constants/utils.d.ts.map +0 -1
  656. package/dist/adapter/z-stack/constants/utils.js +0 -15
  657. package/dist/adapter/z-stack/constants/utils.js.map +0 -1
  658. package/dist/adapter/z-stack/constants/zdo.d.ts +0 -103
  659. package/dist/adapter/z-stack/constants/zdo.d.ts.map +0 -1
  660. package/dist/adapter/z-stack/constants/zdo.js +0 -105
  661. package/dist/adapter/z-stack/constants/zdo.js.map +0 -1
  662. package/dist/adapter/z-stack/models/index.d.ts +0 -2
  663. package/dist/adapter/z-stack/models/index.d.ts.map +0 -1
  664. package/dist/adapter/z-stack/models/index.js +0 -18
  665. package/dist/adapter/z-stack/models/index.js.map +0 -1
  666. package/dist/adapter/z-stack/models/startup-options.d.ts +0 -13
  667. package/dist/adapter/z-stack/models/startup-options.js +0 -3
  668. package/dist/adapter/z-stack/models/startup-options.js.map +0 -1
  669. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +0 -24
  670. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +0 -1
  671. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +0 -46
  672. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +0 -1
  673. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +0 -11
  674. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +0 -1
  675. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +0 -23
  676. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +0 -1
  677. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +0 -11
  678. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +0 -1
  679. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +0 -22
  680. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +0 -1
  681. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +0 -11
  682. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +0 -1
  683. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +0 -24
  684. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +0 -1
  685. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +0 -11
  686. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts.map +0 -1
  687. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +0 -25
  688. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +0 -1
  689. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +0 -11
  690. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +0 -1
  691. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +0 -24
  692. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +0 -1
  693. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +0 -9
  694. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +0 -1
  695. package/dist/adapter/z-stack/structs/entries/channel-list.js +0 -16
  696. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +0 -1
  697. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +0 -9
  698. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +0 -1
  699. package/dist/adapter/z-stack/structs/entries/has-configured.js +0 -17
  700. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +0 -1
  701. package/dist/adapter/z-stack/structs/entries/index.d.ts +0 -17
  702. package/dist/adapter/z-stack/structs/entries/index.d.ts.map +0 -1
  703. package/dist/adapter/z-stack/structs/entries/index.js +0 -33
  704. package/dist/adapter/z-stack/structs/entries/index.js.map +0 -1
  705. package/dist/adapter/z-stack/structs/entries/nib.d.ts +0 -11
  706. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +0 -1
  707. package/dist/adapter/z-stack/structs/entries/nib.js +0 -69
  708. package/dist/adapter/z-stack/structs/entries/nib.js.map +0 -1
  709. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +0 -11
  710. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +0 -1
  711. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +0 -19
  712. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +0 -1
  713. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +0 -9
  714. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +0 -1
  715. package/dist/adapter/z-stack/structs/entries/nwk-key.js +0 -16
  716. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +0 -1
  717. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +0 -9
  718. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +0 -1
  719. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +0 -16
  720. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +0 -1
  721. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +0 -14
  722. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +0 -1
  723. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +0 -24
  724. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +0 -1
  725. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +0 -11
  726. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +0 -1
  727. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +0 -23
  728. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +0 -1
  729. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +0 -21
  730. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts.map +0 -1
  731. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +0 -37
  732. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +0 -1
  733. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +0 -11
  734. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +0 -1
  735. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +0 -25
  736. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +0 -1
  737. package/dist/adapter/z-stack/structs/index.d.ts +0 -5
  738. package/dist/adapter/z-stack/structs/index.d.ts.map +0 -1
  739. package/dist/adapter/z-stack/structs/index.js +0 -21
  740. package/dist/adapter/z-stack/structs/index.js.map +0 -1
  741. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +0 -14
  742. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts.map +0 -1
  743. package/dist/adapter/z-stack/structs/serializable-memory-object.js +0 -3
  744. package/dist/adapter/z-stack/structs/serializable-memory-object.js.map +0 -1
  745. package/dist/adapter/z-stack/structs/struct.d.ts +0 -100
  746. package/dist/adapter/z-stack/structs/struct.d.ts.map +0 -1
  747. package/dist/adapter/z-stack/structs/struct.js +0 -297
  748. package/dist/adapter/z-stack/structs/struct.js.map +0 -1
  749. package/dist/adapter/z-stack/structs/table.d.ts +0 -95
  750. package/dist/adapter/z-stack/structs/table.d.ts.map +0 -1
  751. package/dist/adapter/z-stack/structs/table.js +0 -164
  752. package/dist/adapter/z-stack/structs/table.js.map +0 -1
  753. package/dist/adapter/z-stack/unpi/constants.d.ts +0 -29
  754. package/dist/adapter/z-stack/unpi/constants.d.ts.map +0 -1
  755. package/dist/adapter/z-stack/unpi/constants.js +0 -40
  756. package/dist/adapter/z-stack/unpi/constants.js.map +0 -1
  757. package/dist/adapter/z-stack/unpi/frame.d.ts +0 -17
  758. package/dist/adapter/z-stack/unpi/frame.d.ts.map +0 -1
  759. package/dist/adapter/z-stack/unpi/frame.js +0 -55
  760. package/dist/adapter/z-stack/unpi/frame.js.map +0 -1
  761. package/dist/adapter/z-stack/unpi/index.d.ts +0 -6
  762. package/dist/adapter/z-stack/unpi/index.d.ts.map +0 -1
  763. package/dist/adapter/z-stack/unpi/index.js +0 -38
  764. package/dist/adapter/z-stack/unpi/index.js.map +0 -1
  765. package/dist/adapter/z-stack/unpi/parser.d.ts +0 -13
  766. package/dist/adapter/z-stack/unpi/parser.d.ts.map +0 -1
  767. package/dist/adapter/z-stack/unpi/parser.js +0 -86
  768. package/dist/adapter/z-stack/unpi/parser.js.map +0 -1
  769. package/dist/adapter/z-stack/unpi/writer.d.ts +0 -12
  770. package/dist/adapter/z-stack/unpi/writer.d.ts.map +0 -1
  771. package/dist/adapter/z-stack/unpi/writer.js +0 -55
  772. package/dist/adapter/z-stack/unpi/writer.js.map +0 -1
  773. package/dist/adapter/z-stack/utils/channel-list.d.ts +0 -21
  774. package/dist/adapter/z-stack/utils/channel-list.d.ts.map +0 -1
  775. package/dist/adapter/z-stack/utils/channel-list.js +0 -41
  776. package/dist/adapter/z-stack/utils/channel-list.js.map +0 -1
  777. package/dist/adapter/z-stack/utils/index.d.ts +0 -3
  778. package/dist/adapter/z-stack/utils/index.d.ts.map +0 -1
  779. package/dist/adapter/z-stack/utils/index.js +0 -19
  780. package/dist/adapter/z-stack/utils/index.js.map +0 -1
  781. package/dist/adapter/z-stack/utils/network-options.d.ts +0 -9
  782. package/dist/adapter/z-stack/utils/network-options.d.ts.map +0 -1
  783. package/dist/adapter/z-stack/utils/network-options.js +0 -23
  784. package/dist/adapter/z-stack/utils/network-options.js.map +0 -1
  785. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +0 -14
  786. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +0 -1
  787. package/dist/adapter/z-stack/znp/buffaloZnp.js +0 -243
  788. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +0 -1
  789. package/dist/adapter/z-stack/znp/definition.d.ts +0 -6
  790. package/dist/adapter/z-stack/znp/definition.d.ts.map +0 -1
  791. package/dist/adapter/z-stack/znp/definition.js +0 -3052
  792. package/dist/adapter/z-stack/znp/definition.js.map +0 -1
  793. package/dist/adapter/z-stack/znp/index.d.ts +0 -4
  794. package/dist/adapter/z-stack/znp/index.d.ts.map +0 -1
  795. package/dist/adapter/z-stack/znp/index.js +0 -11
  796. package/dist/adapter/z-stack/znp/index.js.map +0 -1
  797. package/dist/adapter/z-stack/znp/parameterType.d.ts +0 -23
  798. package/dist/adapter/z-stack/znp/parameterType.d.ts.map +0 -1
  799. package/dist/adapter/z-stack/znp/parameterType.js +0 -26
  800. package/dist/adapter/z-stack/znp/parameterType.js.map +0 -1
  801. package/dist/adapter/z-stack/znp/tstype.d.ts +0 -23
  802. package/dist/adapter/z-stack/znp/tstype.d.ts.map +0 -1
  803. package/dist/adapter/z-stack/znp/tstype.js +0 -3
  804. package/dist/adapter/z-stack/znp/tstype.js.map +0 -1
  805. package/dist/adapter/z-stack/znp/znp.d.ts +0 -47
  806. package/dist/adapter/z-stack/znp/znp.d.ts.map +0 -1
  807. package/dist/adapter/z-stack/znp/znp.js +0 -322
  808. package/dist/adapter/z-stack/znp/znp.js.map +0 -1
  809. package/dist/adapter/z-stack/znp/zpiObject.d.ts +0 -20
  810. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +0 -1
  811. package/dist/adapter/z-stack/znp/zpiObject.js +0 -103
  812. package/dist/adapter/z-stack/znp/zpiObject.js.map +0 -1
  813. package/dist/adapter/zigate/adapter/index.d.ts +0 -3
  814. package/dist/adapter/zigate/adapter/index.d.ts.map +0 -1
  815. package/dist/adapter/zigate/adapter/index.js +0 -11
  816. package/dist/adapter/zigate/adapter/index.js.map +0 -1
  817. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +0 -72
  818. package/dist/adapter/zigate/adapter/zigateAdapter.js +0 -681
  819. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +0 -1
  820. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +0 -18
  821. package/dist/adapter/zigate/driver/commandType.d.ts +0 -43
  822. package/dist/adapter/zigate/driver/commandType.d.ts.map +0 -1
  823. package/dist/adapter/zigate/driver/commandType.js +0 -390
  824. package/dist/adapter/zigate/driver/commandType.js.map +0 -1
  825. package/dist/adapter/zigate/driver/constants.d.ts +0 -277
  826. package/dist/adapter/zigate/driver/constants.d.ts.map +0 -1
  827. package/dist/adapter/zigate/driver/constants.js +0 -372
  828. package/dist/adapter/zigate/driver/constants.js.map +0 -1
  829. package/dist/adapter/zigate/driver/frame.d.ts +0 -27
  830. package/dist/adapter/zigate/driver/frame.d.ts.map +0 -1
  831. package/dist/adapter/zigate/driver/frame.js +0 -173
  832. package/dist/adapter/zigate/driver/frame.js.map +0 -1
  833. package/dist/adapter/zigate/driver/messageType.d.ts +0 -13
  834. package/dist/adapter/zigate/driver/messageType.d.ts.map +0 -1
  835. package/dist/adapter/zigate/driver/messageType.js +0 -284
  836. package/dist/adapter/zigate/driver/messageType.js.map +0 -1
  837. package/dist/adapter/zigate/driver/parameterType.d.ts +0 -28
  838. package/dist/adapter/zigate/driver/parameterType.d.ts.map +0 -1
  839. package/dist/adapter/zigate/driver/parameterType.js +0 -33
  840. package/dist/adapter/zigate/driver/parameterType.js.map +0 -1
  841. package/dist/adapter/zigate/driver/ziGateObject.d.ts +0 -24
  842. package/dist/adapter/zigate/driver/ziGateObject.js +0 -111
  843. package/dist/adapter/zigate/driver/ziGateObject.js.map +0 -1
  844. package/dist/adapter/zigate/driver/zigate.d.ts +0 -50
  845. package/dist/adapter/zigate/driver/zigate.js +0 -289
  846. package/dist/adapter/zigate/driver/zigate.js.map +0 -1
  847. package/dist/buffalo/buffalo.d.ts +0 -55
  848. package/dist/buffalo/buffalo.d.ts.map +0 -1
  849. package/dist/buffalo/buffalo.js +0 -230
  850. package/dist/buffalo/buffalo.js.map +0 -1
  851. package/dist/buffalo/index.d.ts +0 -3
  852. package/dist/buffalo/index.d.ts.map +0 -1
  853. package/dist/buffalo/index.js +0 -9
  854. package/dist/buffalo/index.js.map +0 -1
  855. package/dist/controller/controller.d.ts +0 -119
  856. package/dist/controller/database.d.ts +0 -20
  857. package/dist/controller/database.js +0 -94
  858. package/dist/controller/database.js.map +0 -1
  859. package/dist/controller/events.d.ts +0 -59
  860. package/dist/controller/greenPower.d.ts +0 -14
  861. package/dist/controller/helpers/index.d.ts +0 -3
  862. package/dist/controller/helpers/index.js +0 -29
  863. package/dist/controller/helpers/index.js.map +0 -1
  864. package/dist/controller/helpers/request.d.ts +0 -22
  865. package/dist/controller/helpers/request.js +0 -78
  866. package/dist/controller/helpers/request.js.map +0 -1
  867. package/dist/controller/helpers/requestQueue.d.ts +0 -13
  868. package/dist/controller/helpers/requestQueue.js +0 -106
  869. package/dist/controller/helpers/requestQueue.js.map +0 -1
  870. package/dist/controller/helpers/zclFrameConverter.d.ts +0 -9
  871. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +0 -6
  872. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts.map +0 -1
  873. package/dist/controller/helpers/zclTransactionSequenceNumber.js +0 -14
  874. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +0 -1
  875. package/dist/controller/index.d.ts +0 -6
  876. package/dist/controller/index.js +0 -9
  877. package/dist/controller/index.js.map +0 -1
  878. package/dist/controller/model/device.d.ts +0 -140
  879. package/dist/controller/model/endpoint.d.ts +0 -134
  880. package/dist/controller/model/entity.d.ts +0 -15
  881. package/dist/controller/model/entity.js +0 -27
  882. package/dist/controller/model/entity.js.map +0 -1
  883. package/dist/controller/model/group.d.ts +0 -39
  884. package/dist/controller/model/index.d.ts +0 -6
  885. package/dist/controller/model/index.js +0 -15
  886. package/dist/controller/model/index.js.map +0 -1
  887. package/dist/controller/model/konnextConfig.d.ts +0 -7
  888. package/dist/controller/model/konnextConfig.d.ts.map +0 -1
  889. package/dist/controller/model/konnextConfig.js +0 -3
  890. package/dist/controller/model/konnextConfig.js.map +0 -1
  891. package/dist/controller/touchlink.d.ts +0 -20
  892. package/dist/controller/touchlink.js +0 -157
  893. package/dist/controller/touchlink.js.map +0 -1
  894. package/dist/controller/tstype.d.ts +0 -21
  895. package/dist/index.d.ts +0 -6
  896. package/dist/index.js +0 -37
  897. package/dist/index.js.map +0 -1
  898. package/dist/models/backup-storage-legacy.d.ts +0 -27
  899. package/dist/models/backup-storage-legacy.d.ts.map +0 -1
  900. package/dist/models/backup-storage-legacy.js +0 -3
  901. package/dist/models/backup-storage-legacy.js.map +0 -1
  902. package/dist/models/backup-storage-unified.d.ts +0 -50
  903. package/dist/models/backup-storage-unified.d.ts.map +0 -1
  904. package/dist/models/backup-storage-unified.js +0 -3
  905. package/dist/models/backup-storage-unified.js.map +0 -1
  906. package/dist/models/backup.d.ts +0 -38
  907. package/dist/models/backup.d.ts.map +0 -1
  908. package/dist/models/backup.js +0 -3
  909. package/dist/models/backup.js.map +0 -1
  910. package/dist/models/index.d.ts +0 -5
  911. package/dist/models/index.d.ts.map +0 -1
  912. package/dist/models/index.js +0 -21
  913. package/dist/models/index.js.map +0 -1
  914. package/dist/models/network-options.d.ts +0 -13
  915. package/dist/models/network-options.d.ts.map +0 -1
  916. package/dist/models/network-options.js +0 -3
  917. package/dist/models/network-options.js.map +0 -1
  918. package/dist/utils/aes.d.ts +0 -40
  919. package/dist/utils/aes.d.ts.map +0 -1
  920. package/dist/utils/aes.js +0 -198
  921. package/dist/utils/aes.js.map +0 -1
  922. package/dist/utils/assertString.d.ts +0 -3
  923. package/dist/utils/assertString.d.ts.map +0 -1
  924. package/dist/utils/assertString.js +0 -9
  925. package/dist/utils/assertString.js.map +0 -1
  926. package/dist/utils/backup.d.ts +0 -21
  927. package/dist/utils/backup.d.ts.map +0 -1
  928. package/dist/utils/backup.js +0 -190
  929. package/dist/utils/backup.js.map +0 -1
  930. package/dist/utils/equalsPartial.d.ts +0 -3
  931. package/dist/utils/equalsPartial.d.ts.map +0 -1
  932. package/dist/utils/equalsPartial.js +0 -12
  933. package/dist/utils/equalsPartial.js.map +0 -1
  934. package/dist/utils/index.d.ts +0 -10
  935. package/dist/utils/index.d.ts.map +0 -1
  936. package/dist/utils/index.js +0 -46
  937. package/dist/utils/index.js.map +0 -1
  938. package/dist/utils/isNumberArray.d.ts +0 -3
  939. package/dist/utils/isNumberArray.d.ts.map +0 -1
  940. package/dist/utils/isNumberArray.js +0 -7
  941. package/dist/utils/isNumberArray.js.map +0 -1
  942. package/dist/utils/logger.d.ts +0 -9
  943. package/dist/utils/logger.d.ts.map +0 -1
  944. package/dist/utils/logger.js +0 -14
  945. package/dist/utils/logger.js.map +0 -1
  946. package/dist/utils/queue.d.ts +0 -12
  947. package/dist/utils/queue.d.ts.map +0 -1
  948. package/dist/utils/queue.js +0 -62
  949. package/dist/utils/queue.js.map +0 -1
  950. package/dist/utils/realpathSync.d.ts +0 -3
  951. package/dist/utils/realpathSync.d.ts.map +0 -1
  952. package/dist/utils/realpathSync.js +0 -13
  953. package/dist/utils/realpathSync.js.map +0 -1
  954. package/dist/utils/wait.d.ts +0 -3
  955. package/dist/utils/wait.d.ts.map +0 -1
  956. package/dist/utils/wait.js +0 -9
  957. package/dist/utils/wait.js.map +0 -1
  958. package/dist/utils/waitress.d.ts +0 -22
  959. package/dist/utils/waitress.d.ts.map +0 -1
  960. package/dist/utils/waitress.js +0 -69
  961. package/dist/utils/waitress.js.map +0 -1
  962. package/dist/zspec/consts.d.ts +0 -60
  963. package/dist/zspec/consts.d.ts.map +0 -1
  964. package/dist/zspec/consts.js +0 -64
  965. package/dist/zspec/consts.js.map +0 -1
  966. package/dist/zspec/enums.d.ts +0 -19
  967. package/dist/zspec/enums.d.ts.map +0 -1
  968. package/dist/zspec/enums.js +0 -28
  969. package/dist/zspec/enums.js.map +0 -1
  970. package/dist/zspec/index.d.ts +0 -4
  971. package/dist/zspec/index.d.ts.map +0 -1
  972. package/dist/zspec/index.js +0 -43
  973. package/dist/zspec/index.js.map +0 -1
  974. package/dist/zspec/tstypes.d.ts +0 -19
  975. package/dist/zspec/tstypes.d.ts.map +0 -1
  976. package/dist/zspec/tstypes.js +0 -3
  977. package/dist/zspec/tstypes.js.map +0 -1
  978. package/dist/zspec/utils.d.ts +0 -14
  979. package/dist/zspec/utils.d.ts.map +0 -1
  980. package/dist/zspec/utils.js +0 -29
  981. package/dist/zspec/utils.js.map +0 -1
  982. package/dist/zspec/zcl/buffaloZcl.d.ts +0 -55
  983. package/dist/zspec/zcl/definition/cluster.d.ts +0 -3
  984. package/dist/zspec/zcl/definition/consts.d.ts +0 -9
  985. package/dist/zspec/zcl/definition/consts.d.ts.map +0 -1
  986. package/dist/zspec/zcl/definition/consts.js +0 -27
  987. package/dist/zspec/zcl/definition/consts.js.map +0 -1
  988. package/dist/zspec/zcl/definition/enums.d.ts +0 -177
  989. package/dist/zspec/zcl/definition/enums.d.ts.map +0 -1
  990. package/dist/zspec/zcl/definition/enums.js +0 -187
  991. package/dist/zspec/zcl/definition/enums.js.map +0 -1
  992. package/dist/zspec/zcl/definition/foundation.d.ts +0 -11
  993. package/dist/zspec/zcl/definition/manufacturerCode.d.ts +0 -727
  994. package/dist/zspec/zcl/definition/manufacturerCode.d.ts.map +0 -1
  995. package/dist/zspec/zcl/definition/manufacturerCode.js +0 -733
  996. package/dist/zspec/zcl/definition/manufacturerCode.js.map +0 -1
  997. package/dist/zspec/zcl/definition/status.d.ts +0 -69
  998. package/dist/zspec/zcl/definition/status.d.ts.map +0 -1
  999. package/dist/zspec/zcl/definition/status.js +0 -74
  1000. package/dist/zspec/zcl/definition/status.js.map +0 -1
  1001. package/dist/zspec/zcl/index.d.ts +0 -11
  1002. package/dist/zspec/zcl/utils.d.ts +0 -7
  1003. package/dist/zspec/zcl/zclFrame.d.ts +0 -36
  1004. package/dist/zspec/zcl/zclHeader.d.ts +0 -17
  1005. package/dist/zspec/zcl/zclStatusError.d.ts +0 -6
  1006. package/dist/zspec/zcl/zclStatusError.d.ts.map +0 -1
  1007. package/dist/zspec/zcl/zclStatusError.js +0 -13
  1008. package/dist/zspec/zcl/zclStatusError.js.map +0 -1
  1009. package/dist/zspec/zdo/buffaloZdo.d.ts +0 -438
  1010. package/dist/zspec/zdo/buffaloZdo.d.ts.map +0 -1
  1011. package/dist/zspec/zdo/buffaloZdo.js +0 -1892
  1012. package/dist/zspec/zdo/buffaloZdo.js.map +0 -1
  1013. package/dist/zspec/zdo/definition/clusters.d.ts +0 -624
  1014. package/dist/zspec/zdo/definition/clusters.d.ts.map +0 -1
  1015. package/dist/zspec/zdo/definition/clusters.js +0 -687
  1016. package/dist/zspec/zdo/definition/clusters.js.map +0 -1
  1017. package/dist/zspec/zdo/definition/consts.d.ts +0 -13
  1018. package/dist/zspec/zdo/definition/consts.d.ts.map +0 -1
  1019. package/dist/zspec/zdo/definition/consts.js +0 -16
  1020. package/dist/zspec/zdo/definition/consts.js.map +0 -1
  1021. package/dist/zspec/zdo/definition/enums.d.ts +0 -75
  1022. package/dist/zspec/zdo/definition/enums.d.ts.map +0 -1
  1023. package/dist/zspec/zdo/definition/enums.js +0 -97
  1024. package/dist/zspec/zdo/definition/enums.js.map +0 -1
  1025. package/dist/zspec/zdo/definition/status.d.ts +0 -99
  1026. package/dist/zspec/zdo/definition/status.d.ts.map +0 -1
  1027. package/dist/zspec/zdo/definition/status.js +0 -109
  1028. package/dist/zspec/zdo/definition/status.js.map +0 -1
  1029. package/dist/zspec/zdo/definition/tstypes.d.ts +0 -787
  1030. package/dist/zspec/zdo/definition/tstypes.d.ts.map +0 -1
  1031. package/dist/zspec/zdo/definition/tstypes.js +0 -3
  1032. package/dist/zspec/zdo/definition/tstypes.js.map +0 -1
  1033. package/dist/zspec/zdo/index.d.ts +0 -7
  1034. package/dist/zspec/zdo/index.d.ts.map +0 -1
  1035. package/dist/zspec/zdo/index.js +0 -39
  1036. package/dist/zspec/zdo/index.js.map +0 -1
  1037. package/dist/zspec/zdo/utils.d.ts +0 -25
  1038. package/dist/zspec/zdo/utils.d.ts.map +0 -1
  1039. package/dist/zspec/zdo/utils.js +0 -75
  1040. package/dist/zspec/zdo/utils.js.map +0 -1
  1041. package/dist/zspec/zdo/zdoStatusError.d.ts +0 -6
  1042. package/dist/zspec/zdo/zdoStatusError.d.ts.map +0 -1
  1043. package/dist/zspec/zdo/zdoStatusError.js +0 -13
  1044. package/dist/zspec/zdo/zdoStatusError.js.map +0 -1
  1045. package/typedoc-tsconfig.json +0 -44
@@ -0,0 +1,1062 @@
1
+ import type {ClusterId, Eui64, ExtendedPanId, NodeId, PanId, ProfileId} from "../../tstypes";
2
+ import {ClusterId as ZdoClusterId} from "./clusters";
3
+ import type {
4
+ ActiveLinkKeyType,
5
+ InitialJoinMethod,
6
+ JoiningPolicy,
7
+ LeaveRequestFlags,
8
+ RoutingTableStatus,
9
+ SelectedKeyNegotiationProtocol,
10
+ SelectedPreSharedSecret,
11
+ } from "./enums";
12
+ import type {Status} from "./status";
13
+
14
+ /**
15
+ * Bits:
16
+ * - [alternatePANCoordinator: 1]
17
+ * - [deviceType: 1]
18
+ * - [powerSource: 1]
19
+ * - [rxOnWhenIdle: 1]
20
+ * - [reserved1: 1]
21
+ * - [reserved2: 1]
22
+ * - [securityCapability: 1]
23
+ * - [securityCapability: 1]
24
+ */
25
+ export type MACCapabilityFlags = {
26
+ /**
27
+ * The alternate PAN coordinator sub-field is one bit in length and shall be set to 1 if this node is capable of becoming a PAN coordinator.
28
+ * Otherwise, the alternative PAN coordinator sub-field shall be set to 0.
29
+ */
30
+ alternatePANCoordinator: number;
31
+ /**
32
+ * The device type sub-field is one bit in length and shall be set to 1 if this node is a full function device (FFD).
33
+ * Otherwise, the device type sub-field shall be set to 0, indicating a reduced function device (RFD).
34
+ */
35
+ deviceType: number;
36
+ /**
37
+ * The power source sub-field is one bit in length and shall be set to 1 if the current power source is mains power.
38
+ * Otherwise, the power source sub-field shall be set to 0.
39
+ * This information is derived from the node current power source field of the node power descriptor.
40
+ */
41
+ powerSource: number;
42
+ /**
43
+ * The receiver on when idle sub-field is one bit in length and shall be set to 1 if the device does not disable its receiver to
44
+ * conserve power during idle periods.
45
+ * Otherwise, the receiver on when idle sub-field shall be set to 0 (see also section 2.3.2.4.)
46
+ */
47
+ rxOnWhenIdle: number;
48
+ reserved1: number;
49
+ reserved2: number;
50
+ /**
51
+ * The security capability sub-field is one bit in length and shall be set to 1 if the device is capable of sending and receiving
52
+ * frames secured using the security suite specified in [B1].
53
+ * Otherwise, the security capability sub-field shall be set to 0.
54
+ */
55
+ securityCapability: number;
56
+ /** The allocate address sub-field is one bit in length and shall be set to 0 or 1. */
57
+ allocateAddress: number;
58
+ };
59
+
60
+ /**
61
+ * Bits:
62
+ * - [primaryTrustCenter: 1]
63
+ * - [backupTrustCenter: 1]
64
+ * - [deprecated1: 1]
65
+ * - [deprecated2: 1]
66
+ * - [deprecated3: 1]
67
+ * - [deprecated4: 1]
68
+ * - [networkManager: 1]
69
+ * - [reserved1: 1]
70
+ * - [reserved2: 1]
71
+ * - [stackComplianceRevision: 7]
72
+ */
73
+ export type ServerMask = {
74
+ primaryTrustCenter: number;
75
+ backupTrustCenter: number;
76
+ deprecated1: number;
77
+ deprecated2: number;
78
+ deprecated3: number;
79
+ deprecated4: number;
80
+ networkManager: number;
81
+ reserved1: number;
82
+ reserved2: number;
83
+ /**
84
+ * Indicate the Revision of the Zigbee Pro Core specification that the running stack is implemented to.
85
+ * Prior to Revision 21 of the specification these bits were reserved and thus set to 0.
86
+ * A stack that is compliant to Revision 23 would set these bits to 23 (0010111b).
87
+ * A stack SHALL indicate the Revision of the specification it is compliant to by setting these bits.
88
+ */
89
+ stackComplianceRevision: number;
90
+ };
91
+
92
+ //-------------------------------------------------------------------------------------------------
93
+ //-- Responses
94
+
95
+ export type LQITableEntry = {
96
+ /**
97
+ * The 64-bit extended PAN identifier of the neighboring device.
98
+ *
99
+ * 64-bit
100
+ */
101
+ extendedPanId: ExtendedPanId;
102
+ /**
103
+ * 64-bit IEEE address that is unique to every device.
104
+ * If this value is unknown at the time of the request, this field shall be set to 0xffffffffffffffff.
105
+ *
106
+ * 64-bit
107
+ */
108
+ eui64: Eui64;
109
+ /** The 16-bit network address of the neighboring device. 16-bit */
110
+ nwkAddress: NodeId;
111
+ /**
112
+ * The type of the neighbor device:
113
+ * 0x00 = Zigbee coordinator
114
+ * 0x01 = Zigbee router
115
+ * 0x02 = Zigbee end device
116
+ * 0x03 = Unknown
117
+ *
118
+ * 2-bit
119
+ */
120
+ deviceType: number;
121
+ /**
122
+ * Indicates if neighbor's receiver is enabled during idle portions of the CAP:
123
+ * 0x00 = Receiver is off
124
+ * 0x01 = Receiver is on
125
+ * 0x02 = unknown
126
+ *
127
+ * 2-bit
128
+ */
129
+ rxOnWhenIdle: number;
130
+ /**
131
+ * The relationship between the neighbor and the current device:
132
+ * 0x00 = neighbor is the parent
133
+ * 0x01 = neighbor is a child
134
+ * 0x02 = neighbor is a sibling
135
+ * 0x03 = None of the above
136
+ * 0x04 = previous child
137
+ *
138
+ * 3-bit
139
+ */
140
+ relationship: number;
141
+ /** This reserved bit shall be set to 0. 1-bit */
142
+ reserved1: number;
143
+ /**
144
+ * An indication of whether the neighbor device is accepting join requests:
145
+ * 0x00 = neighbor is not accepting join requests
146
+ * 0x01 = neighbor is accepting join requests
147
+ * 0x02 = unknown
148
+ *
149
+ * 2-bit
150
+ */
151
+ permitJoining: number;
152
+ /** Each of these reserved bits shall be set to 0. 6-bit */
153
+ reserved2: number;
154
+ /**
155
+ * The tree depth of the neighbor device.
156
+ * A value of 0x00 indicates that the device is the Zigbee coordinator for the network
157
+ *
158
+ * 8-bit
159
+ */
160
+ depth: number;
161
+ /**
162
+ * The estimated link quality for RF transmissions from this device.
163
+ * See [B1] for discussion of how this is calculated.
164
+ *
165
+ * 8-bit
166
+ */
167
+ lqi: number;
168
+ };
169
+
170
+ export type RoutingTableEntry = {
171
+ /** 16-bit network address of this route */
172
+ destinationAddress: NodeId;
173
+ /**
174
+ * Status of the route
175
+ * 0x0=ACTIVE.
176
+ * 0x1=DISCOVERY_UNDERWAY.
177
+ * 0x2=DISCOVERY_FAILED.
178
+ * 0x3=INACTIVE.
179
+ * 0x4=VALIDATION_UNDERWAY
180
+ * 0x5-0x7=RESERVED
181
+ *
182
+ * 3-bit
183
+ */
184
+ status: keyof typeof RoutingTableStatus | "UNKNOWN";
185
+ /**
186
+ * A flag indicating whether the device is a memory constrained concentrator
187
+ *
188
+ * 1-bit
189
+ */
190
+ memoryConstrained: number;
191
+ /**
192
+ * A flag indicating that the destination is a concentrator that issued a many-to-one request
193
+ *
194
+ * 1-bit
195
+ */
196
+ manyToOne: number;
197
+ /**
198
+ * A flag indicating that a route record command frame should be sent to the destination prior to the next data packet.
199
+ *
200
+ * 1-bit
201
+ */
202
+ routeRecordRequired: number;
203
+ /** 2-bit */
204
+ reserved1: number;
205
+ /** 16-bit network address of the next hop on the way to the destination. */
206
+ nextHopAddress: number;
207
+ };
208
+
209
+ export type BindingTableEntry = {
210
+ /** The source IEEE address for the binding entry. */
211
+ sourceEui64: Eui64;
212
+ /** The source endpoint for the binding entry. */
213
+ sourceEndpoint: number;
214
+ /** The identifier of the cluster on the source device that is bound to the destination device. */
215
+ clusterId: ClusterId;
216
+ /**
217
+ * The addressing mode for the destination address. This field can take one of the non-reserved values from the following list:
218
+ * - 0x00 = reserved
219
+ * - 0x01 = 16-bit group address for DstAddr and DstEndpoint not present
220
+ * - 0x02 = reserved
221
+ * - 0x03 = 64-bit extended address for DstAddr and DstEndp present
222
+ * - 0x04 – 0xff = reserved
223
+ */
224
+ destAddrMode: number;
225
+ /** The destination address for the binding entry. 2-byte or 8-byte */
226
+ dest: NodeId | Eui64;
227
+ /**
228
+ * This field shall be present only if the DstAddrMode field has a value of 0x03 and, if present,
229
+ * shall be the destination endpoint for the binding entry.
230
+ */
231
+ destEndpoint?: number;
232
+ };
233
+
234
+ export type NetworkAddressResponse = {
235
+ /** 64-bit address for the Remote Device. */
236
+ eui64: Eui64;
237
+ /** 16-bit address for the Remote Device. */
238
+ nwkAddress: NodeId;
239
+ /**
240
+ * Starting index into the list of associated devices for this report.
241
+ * If the RequestType in the request is Extended Response and there are no associated devices on the Remote Device,
242
+ * this field SHALL NOT be included in the frame.
243
+ * If an error occurs or the Request Type in the request is for a Single Device Response, this field SHALL NOT be included in the frame.
244
+ */
245
+ startIndex: number;
246
+ /**
247
+ * A list of 16-bit addresses, one corresponding to each associated device to Remote Device;
248
+ * The number of 16-bit network addresses contained in this field is specified in the NumAssocDev field.
249
+ * If the RequestType in the request is Extended Response and there are no associated devices on the Remote Device,
250
+ * this field SHALL NOT be included in the frame.
251
+ * If an error occurs or the Request Type in the request is for a Single Device Response, this field SHALL NOT be included in the frame.
252
+ */
253
+ assocDevList: NodeId[];
254
+ };
255
+
256
+ export type IEEEAddressResponse = {
257
+ /** @see NetworkAddressResponse.eui64 */
258
+ eui64: Eui64;
259
+ /** @see NetworkAddressResponse.nwkAddress */
260
+ nwkAddress: NodeId;
261
+ /** @see NetworkAddressResponse.startIndex */
262
+ startIndex: number;
263
+ /** @see NetworkAddressResponse.assocDevList */
264
+ assocDevList: NodeId[];
265
+ };
266
+
267
+ export type NodeDescriptorResponse = {
268
+ /** NWK address for the request. */
269
+ nwkAddress: NodeId;
270
+ /** 000 == Zigbee Coordinator, 001 == Zigbee Router, 010 === Zigbee End Device, 011-111 === Reserved */
271
+ logicalType: number;
272
+ /** R23 and above (determined via other means if not). Indicates whether the device supports fragmentation at the APS layer. */
273
+ fragmentationSupported: boolean | undefined;
274
+ /** Specifies the application support sub-layer capabilities of the node. Currently not supported, should be zero */
275
+ apsFlags: number;
276
+ /**
277
+ * Specifies the frequency bands that are supported by the underlying IEEE Std 802.15.4 radio(s) utilized by the node.
278
+ * Bits:
279
+ * - 0 = 868 – 868.6 MHz
280
+ * - 1 = Reserved
281
+ * - 2 = 902 – 928 MHz
282
+ * - 3 = 2400 – 2483.5 MHz
283
+ * - 4 = GB Smart Energy sub-GHz bands: (863-876MHz and 915-921MHz)
284
+ */
285
+ frequencyBand: number;
286
+ /** Specifies the node capabilities. */
287
+ capabilities: MACCapabilityFlags;
288
+ /** Specifies a manufacturer code that is allocated by the Connectivity Standards Alliance, relating the manufacturer to the device. */
289
+ manufacturerCode: number;
290
+ /**
291
+ * Specifies the maximum size, in octets, of the network sub-layer data unit (NSDU) for this node.
292
+ * This is the maximum size of data or commands passed to or from the application by the application support sub-layer,
293
+ * before any fragmentation or re-assembly.
294
+ * This field can be used as a high-level indication for network management.
295
+ * Valid range of 0x00-0x7f.
296
+ */
297
+ maxBufSize: number;
298
+ /**
299
+ * Indicates the device's apsMaxSizeASDU AIB value.
300
+ * Specifies the maximum size, in octets, of the application sub-layer data unit (ASDU) that can be transferred to this node
301
+ * in one single message transfer.
302
+ * This value can exceed the value of the node maximum buffer size field (see section 2.3.2.3.9) through the use of fragmentation.
303
+ * Valid range of 0x0000-0x7fff.
304
+ */
305
+ maxIncTxSize: number;
306
+ /** The system server capabilities of this node */
307
+ serverMask: ServerMask;
308
+ /**
309
+ * Specifies the maximum size, in octets, of the application sub-layer data unit (ASDU) that can be transferred
310
+ * from this node in one single message transfer.
311
+ * This value can exceed the value of the node 2777 maximum buffer size field (see section 2.3.2.3.9) through the use of fragmentation.
312
+ * Valid range of 0x0000-0x7fff.
313
+ */
314
+ maxOutTxSize: number;
315
+ deprecated1: number;
316
+ } & TLVs;
317
+
318
+ export type PowerDescriptorResponse = {
319
+ /** NWK address for the request. */
320
+ nwkAddress: NodeId;
321
+ /**
322
+ * - 0000 == receiver sync'ed with receiver on when idle subfield of the node descriptor
323
+ * - 0001 == receiver comes on periodically as defined by the node power descriptor
324
+ * - 0010 == receiver comes on when stimulated, for example, by a user pressing a button
325
+ * - 0011-1111 reserved
326
+ */
327
+ currentPowerMode: number;
328
+ /**
329
+ * Bits:
330
+ * - 0 == constants (mains) power
331
+ * - 1 == rechargeable battery
332
+ * - 2 == disposable battery
333
+ * - 3 == reserved
334
+ */
335
+ availPowerSources: number;
336
+ /**
337
+ * Bits:
338
+ * - 0 == constants (mains) power
339
+ * - 1 == rechargeable battery
340
+ * - 2 == disposable battery
341
+ * - 3 == reserved
342
+ */
343
+ currentPowerSource: number;
344
+ /**
345
+ * - 0000 == critical
346
+ * - 0100 == 33%
347
+ * - 1000 == 66%
348
+ * - 1100 == 100%
349
+ */
350
+ currentPowerSourceLevel: number;
351
+ };
352
+
353
+ export type SimpleDescriptorResponse = {
354
+ /** NWK address for the request. */
355
+ nwkAddress: NodeId;
356
+ /** Length of the descriptor */
357
+ length: number;
358
+ /**
359
+ * Specifies the endpoint within the node to which this description refers.
360
+ * Applications SHALL only use endpoints 1-254.
361
+ * Endpoints 241-254 SHALL be used only with the approval of the Connectivity Standards Alliance.
362
+ * The Green Power cluster, if implemented, SHALL use endpoint 242.
363
+ */
364
+ endpoint: number;
365
+ /**
366
+ * Specifies the profile that is supported on this endpoint.
367
+ * Profile identifiers SHALL be obtained from the Connectivity Standards Alliance.
368
+ */
369
+ profileId: ProfileId;
370
+ /**
371
+ * Specifies the device description supported on this endpoint.
372
+ * Device description identifiers SHALL be obtained from the Connectivity Standards Alliance.
373
+ */
374
+ deviceId: number;
375
+ /**
376
+ * Specifies the version of the device description supported on this endpoint.
377
+ * The application device version field SHALL be set to one of the non-reserved values listed in Table 2-41.
378
+ * Default SHALL be 0000 unless otherwise defined by the application profile.
379
+ * Valid range 0000-1111, others reserved
380
+ */
381
+ deviceVersion: number;
382
+ /**
383
+ * Specifies the list of input clusters supported on this endpoint, for use during the service discovery and binding procedures.
384
+ * The application input cluster list field SHALL be included only if the value of the application input cluster count field is greater than zero.
385
+ */
386
+ inClusterList: ClusterId[];
387
+ /**
388
+ * Specifies the list of output clusters supported on this endpoint, for use during the service discovery and binding procedures.
389
+ * The application output cluster list field SHALL be included only if the value of the application output cluster count field
390
+ * is greater than zero.
391
+ */
392
+ outClusterList: ClusterId[];
393
+ };
394
+
395
+ export type ActiveEndpointsResponse = {
396
+ /** NWK address for the request. */
397
+ nwkAddress: NodeId;
398
+ /** List of bytes each of which represents an 8-bit endpoint. */
399
+ endpointList: number[];
400
+ };
401
+
402
+ export type MatchDescriptorsResponse = {
403
+ /** NWK address for the request. */
404
+ nwkAddress: NodeId;
405
+ /** List of bytes each of which represents an 8-bit endpoint. */
406
+ endpointList: number[];
407
+ };
408
+
409
+ export type EndDeviceAnnounce = {
410
+ /** NWK address for the request. */
411
+ nwkAddress: NodeId;
412
+ eui64: Eui64;
413
+ capabilities: MACCapabilityFlags;
414
+ };
415
+
416
+ export type SystemServerDiscoveryResponse = {
417
+ /** The system server capabilities of this node */
418
+ serverMask: ServerMask;
419
+ };
420
+
421
+ export type ParentAnnounceResponse = {
422
+ children: Eui64[];
423
+ };
424
+
425
+ export type LQITableResponse = {
426
+ /** [0x00-0xFF] Total number of neighbor table entries within the remote device */
427
+ neighborTableEntries: number;
428
+ /** [0x00-0xFF] Starting index within the neighbor table to begin reporting for the NeighborTableList */
429
+ startIndex: number;
430
+ /**
431
+ * A list of descriptors, beginning with the StartIndex element and continuing for NeighborTableListCount,
432
+ * of the elements in the Remote Device's Neighbor Table including the device address and associated LQI ( @see LQITableEntry ).
433
+ */
434
+ entryList: LQITableEntry[];
435
+ };
436
+
437
+ export type RoutingTableResponse = {
438
+ /** [0x00-0xFF] Total number of Routing Table entries within the Remote Device. */
439
+ routingTableEntries: number;
440
+ /** [0x00-0xFF] Starting index within the Routing Table to begin reporting for the RoutingTableList. */
441
+ startIndex: number;
442
+ /**
443
+ * A list of descriptors, beginning with the StartIndex element and continuing for RoutingTableListCount,
444
+ * of the elements in the Remote Device's Routing Table ( @see RoutingTableEntry ).
445
+ */
446
+ entryList: RoutingTableEntry[];
447
+ };
448
+
449
+ export type BindingTableResponse = {
450
+ /** [0x00-0xFF] Total number of Binding Table entries within the Remote Device. */
451
+ bindingTableEntries: number;
452
+ /** [0x00-0xFF] Starting index within the Binding Table to begin reporting for the BindingTableList. */
453
+ startIndex: number;
454
+ /**
455
+ * A list of descriptors, beginning with the StartIndex element and continuing for BindingTableList- Count,
456
+ * of the elements in the Remote Device's Binding Table ( @see BindingTableEntry ).
457
+ */
458
+ entryList: BindingTableEntry[];
459
+ };
460
+
461
+ export type NwkUpdateResponse = {
462
+ /**
463
+ * The five most significant bits (b27,..., b31) represent the binary encoded Channel Page.
464
+ * The 27 least significant bits (b0, b1,... b26) indicate which channels were scanned (1 = scan, 0 = do not scan)
465
+ * for each of the 27 valid channels.
466
+ */
467
+ scannedChannels: number;
468
+ /** Count of the total transmissions reported by the device. */
469
+ totalTransmissions: number;
470
+ /** Sum of the total transmission failures reported by the device. */
471
+ totalFailures: number;
472
+ /**
473
+ * The result of an energy measurement made on this channel in accordance with [B1].
474
+ * 0xff if there is too much interference on this channel.
475
+ */
476
+ entryList: number[];
477
+ };
478
+
479
+ export type NwkEnhancedUpdateResponse = {
480
+ /**
481
+ * The five most significant bits (b27,..., b31) represent the binary encoded Channel Page.
482
+ * The 27 least significant bits (b0, b1,... b26) indicate which channels were scanned (1 = scan, 0 = do not scan)
483
+ * for each of the 27 valid channels.
484
+ */
485
+ scannedChannels: number;
486
+ /** Count of the total transmissions reported by the device. */
487
+ totalTransmissions: number;
488
+ /** Sum of the total transmission failures reported by the device. */
489
+ totalFailures: number;
490
+ /**
491
+ * The result of an energy measurement made on this channel in accordance with [B1].
492
+ * 0xff if there is too much interference on this channel.
493
+ */
494
+ entryList: number[];
495
+ };
496
+
497
+ export type NwkIEEEJoiningListResponse = {
498
+ /**
499
+ * The issue ID of the IeeeJoiningList.
500
+ * This field SHALL start at 0 and increment for each change to the IeeeJoiningList,
501
+ * or each change to the Joining Policy wrapping to 0 after 0xFF.
502
+ */
503
+ updateId: number;
504
+ /** This is an enumeration. */
505
+ joiningPolicy: JoiningPolicy;
506
+ /** The total number of IEEE Joining Addresses contained in the response. */
507
+ entryListTotal: number;
508
+ /** The starting index in the mibIeeeJoiningList. This field SHALL be omitted if the entryListTotal is 0. */
509
+ startIndex?: number;
510
+ /** A list of IEEE addresses from the mibIeeeJoiningList. This field SHALL be omitted if the entryListTotal is 0. */
511
+ entryList?: Eui64[];
512
+ };
513
+
514
+ export type NwkUnsolicitedEnhancedUpdateResponse = {
515
+ /**
516
+ * The five most significant bits (b27,..., b31) represent the binary encoded Channel Page.
517
+ * The 27 least significant bits (b0, b1,... b26) indicate which channels is in use (1 = in use, 0 = not in use)
518
+ * for each of the 27 valid channels.
519
+ */
520
+ channelInUse: number;
521
+ /**
522
+ * Total number of Mac Tx Transactions to attempt to send a message (but not counting retries)
523
+ */
524
+ macTxUCastTotal: number;
525
+ /**
526
+ * Total number of failed Tx Transactions. So if the Mac sent a single packet, it will be retried 4 times without ACK, that counts as 1 failure.
527
+ */
528
+ macTxUCastFailures: number;
529
+ /**
530
+ * Total number of Mac Retries regardless of whether the transaction resulted in success or failure.
531
+ */
532
+ macTxUCastRetries: number;
533
+ /** Time period over which MACTxyyy results are measured (in minutes) */
534
+ timePeriod: number;
535
+ };
536
+
537
+ export type NwkBeaconSurveyResponse = TLVs;
538
+
539
+ export type StartKeyNegotiationResponse = TLVs;
540
+
541
+ export type RetrieveAuthenticationTokenResponse = TLVs;
542
+
543
+ export type GetAuthenticationLevelResponse = TLVs;
544
+
545
+ export type SetConfigurationResponse = TLVs;
546
+
547
+ export type GetConfigurationResponse = TLVs;
548
+
549
+ export type ChallengeResponse = TLVs;
550
+
551
+ //-------------------------------------------------------------------------------------------------
552
+ //-- TLVs
553
+
554
+ //-- Global TLVs
555
+
556
+ /** Defined outside the Zigbee specification. Only TLV that can be added more than once to same frame. */
557
+ export type ManufacturerSpecificGlobalTLV = {
558
+ /** 2-byte */
559
+ zigbeeManufacturerId: number;
560
+ additionalData: Buffer;
561
+ };
562
+
563
+ export type SupportedKeyNegotiationMethodsGlobalTLV = {
564
+ /**
565
+ * Bits:
566
+ * - 0 Static Key Request (Zigbee 3.0 Mechanism)
567
+ * - 1 SPEKE using Curve25519 with Hash AES-MMO-128
568
+ * - 2 SPEKE using Curve25519 with Hash SHA-256
569
+ * - 3 – 7 Reserved
570
+ */
571
+ keyNegotiationProtocolsBitmask: number;
572
+ /**
573
+ * Bits:
574
+ * - 0 Symmetric Authentication Token
575
+ * - This is a token unique to the Trust Center and network that the device is running on, and is assigned by the Trust center after joining.
576
+ * The token is used to renegotiate a link key using the Key Negotiation protocol and is good for the life of the device on the network.
577
+ * - 1 Install Code Key
578
+ * - 128-bit pre-configured link-key derived from install code
579
+ * - 2 Passcode Key
580
+ * - A variable length passcode for PAKE protocols. This passcode can be shorter for easy entry by a user.
581
+ * - 3 Basic Access Key
582
+ * - This key is used by other Zigbee specifications for joining with an alternate pre-shared secret.
583
+ * The definition and usage is defined by those specifications. The usage is optional by the core Zigbee specification.
584
+ * - 4 Administrative Access Key
585
+ * - This key is used by other Zigbee specifications for joining with an alternate pre-shared secret.
586
+ * The definition and usage is defined by those specifications. The usage is optional by the core Zigbee specification.
587
+ * - 5-7 Reserved -
588
+ */
589
+ preSharedSecretsBitmask: number;
590
+ /** XXX: Assumed optional from minimum length of TLV in spec */
591
+ sourceDeviceEui64?: Eui64;
592
+ };
593
+
594
+ export type PanIdConflictReportGlobalTLV = {
595
+ /** 2-byte */
596
+ nwkPanIdConflictCount: number;
597
+ };
598
+
599
+ export type NextPanIdChangeGlobalTLV = {
600
+ /** 2-bytes in length and indicates the next channel that will be used once a Network Update command is received to change PAN IDs. */
601
+ panId: PanId;
602
+ };
603
+
604
+ export type NextChannelChangeGlobalTLV = {
605
+ /** 4-bytes in length and indicates the next channel that will be used once a start channel change command is received. */
606
+ channel: number;
607
+ };
608
+
609
+ export type SymmetricPassphraseGlobalTLV = {
610
+ /** 16-byte 128-bit */
611
+ passphrase: Buffer;
612
+ };
613
+
614
+ export type RouterInformationGlobalTLV = {
615
+ /**
616
+ * Bits:
617
+ * - 0 Hub Connectivity
618
+ * - This bit indicates the state of nwkHubConnectivity from the NIB of the local device.
619
+ * It advertises whether the router has connectivity to a Hub device as defined by the higher-level application layer.
620
+ * A value of 1 means there is connectivity, and a value of 0 means there is no current Hub connectivity.
621
+ * 1 Uptime
622
+ * - This 1-bit value indicates the uptime of the router. A value of 1 indicates the router has been up for more than 24 hours.
623
+ * A value of 0 indicates the router has been up for less than 24 hours.
624
+ * 2 Preferred Parent
625
+ * - This bit indicates the state of nwkPreferredParent from the NIB of the local device.
626
+ * When supported, it extends Hub Connecivity, advertising the devices capacity to be the parent for an additional device.
627
+ * A value of 1 means that this device should be preferred. A value of 0 indicates that it should not be preferred.
628
+ * Devices that do not make this determination SHALL always report a value of 0.
629
+ * 3 Battery Backup
630
+ * - This bit indicates that the router has battery backup and thus will not be affected by temporary losses in power.
631
+ * 4 Enhanced Beacon Request Support
632
+ * - When this bit is set to 1, it indicates that the router supports responding to Enhanced beacon requests as defined by IEEE Std 802.15.4.
633
+ * A zero for this bit indicates the device has no support for responding to enhanced beacon requests.
634
+ * 5 MAC Data Poll Keepalive Support
635
+ * - This indicates that the device has support for the MAC Data Poll Keepalive method for End Device timeouts.
636
+ * 6 End Device Keepalive Support
637
+ * - This indicates that the device has support for the End Device Keepalive method for End Device timeouts.
638
+ * 7 Power Negotiation Support
639
+ * - This indicates the device has support for Power Negotiation with end devices.
640
+ * 8-15 Reserved These bits SHALL be set to 0.
641
+ */
642
+ bitmask: number;
643
+ };
644
+
645
+ export type FragmentationParametersGlobalTLV = {
646
+ /** This indicates the node ID of the device that the subsequent fragmentation parameters apply to. */
647
+ nwkAddress: NodeId;
648
+ /**
649
+ * This bitfield indicates what fragmentation options are supported by the device.
650
+ * It has the following enumerated bits:
651
+ * - Bit 0 = APS Fragmentation Supported. Set to 1 to indicate support; 0 to indicate no support
652
+ * If set to 1, the maximum reassembled message size is indicated by the Maximum Incoming Transfer Unit.
653
+ * - Bit 1-7 = Reserved for future use
654
+ *
655
+ * XXX: Assumed optional from minimum length of TLV in spec
656
+ */
657
+ fragmentationOptions?: number;
658
+ /**
659
+ * This is a copy of the local device’s apsMaxSizeASDU AIB value.
660
+ * This indicates the maximum reassembled message size at the application layer after fragmentation has been applied
661
+ * on the message at the lower layers.
662
+ * A device supporting fragmentation would set this field to be larger than the normal payload size of the underlying NWK and MAC layer.
663
+ *
664
+ * XXX: Assumed optional from minimum length of TLV in spec
665
+ */
666
+ maxIncomingTransferUnit?: number;
667
+ };
668
+
669
+ export type JoinerEncapsulationGlobalTLV = {
670
+ additionalTLVs: Tlv[];
671
+ };
672
+
673
+ export type BeaconAppendixEncapsulationGlobalTLV = {
674
+ /** At least `SupportedKeyNegotiationMethodsGlobalTLV`, `FragmentationParametersGlobalTLV` */
675
+ additionalTLVs: Tlv[];
676
+ };
677
+
678
+ export type ConfigurationParametersGlobalTLV = {
679
+ /**
680
+ * 2-bytes in length and indicates various parameters about how the stack SHALL behave
681
+ * Bit:
682
+ * - 0 AIB apsZdoRestrictedMode
683
+ * - 1 Device Security Policy requireLinkKeyEncryptionForApsTransportKey
684
+ * - 2 NIB nwkLeaveRequestAllowed
685
+ * - 3–15 Reserved Reserved
686
+ */
687
+ configurationParameters: number;
688
+ };
689
+
690
+ export type DeviceCapabilityExtensionGlobalTLV = {
691
+ data: Buffer;
692
+ };
693
+
694
+ //-- Local TLVs
695
+
696
+ /**
697
+ * NOTE: The Maximum Transmission Unit (MTU) of the underlying message will limit the maximum range of this field.
698
+ */
699
+ export type ClearAllBindingsReqEUI64TLV = {
700
+ /** A list of EUI64 that SHALL trigger corresponding bindings to be deleted. */
701
+ eui64List: Eui64[];
702
+ };
703
+
704
+ export type BeaconSurveyConfigurationTLV = {
705
+ /**
706
+ * The list of channels and pages over which the scan is to be done.
707
+ * For more information on the Channel List structure see section 3.2.2.2.1.
708
+ */
709
+ scanChannelList: number[];
710
+ /**
711
+ * - 0 Active or Enhanced Scan This bit determines whether to do an Active Scan or Enhanced Active Scan.
712
+ * When the bit is set to 1 it indicates an Enhanced Active Scan.
713
+ * And in case of Enhanced Active scan EBR shall be sent with EPID filter instead of PJOIN filter.
714
+ * - 1 – 7 Reserved -
715
+ */
716
+ configurationBitmask: number;
717
+ };
718
+
719
+ export type Curve25519PublicPointTLV = {
720
+ /** This indicates the EUI64 of the device that generated the public point. */
721
+ eui64: Eui64;
722
+ /** The 32-byte Curve public point. */
723
+ publicPoint: Buffer;
724
+ };
725
+
726
+ export type AuthenticationTokenIdTLV = {
727
+ /** The Global TLV Type Tag ID being requested for an authentication token. */
728
+ tlvTypeTagId: number;
729
+ };
730
+
731
+ export type TargetIEEEAddressTLV = {
732
+ /** Extended address of the device whose security level is requested. */
733
+ ieee: Eui64;
734
+ };
735
+
736
+ export type SelectedKeyNegotiationMethodTLV = {
737
+ /**
738
+ * The enumeration of the key negotiation method the sender is requesting to use in key negotiation.
739
+ */
740
+ protocol: SelectedKeyNegotiationProtocol;
741
+ /**
742
+ * The enumeration indicating the pre-shared secret that the sending device is requesting to be used in the key negotiation.
743
+ */
744
+ presharedSecret: SelectedPreSharedSecret;
745
+ /** The value of the EUI64 of the device sending the message. This field SHALL always be present. */
746
+ sendingDeviceEui64: Eui64;
747
+ };
748
+
749
+ export type DeviceEUI64ListTLV = {
750
+ /** A list of EUI64 that shall trigger decommissioning operations. Count: [0x00-0xFF] */
751
+ eui64List: Eui64[];
752
+ };
753
+
754
+ export type APSFrameCounterChallengeTLV = {
755
+ /** The EUI64 of the device that generated the frame. */
756
+ senderEui64: Eui64;
757
+ /**
758
+ * A randomly generated 64-bit value sent to a device to prove they have the link key.
759
+ * This allows the initiator to detect replayed challenge response frames.
760
+ */
761
+ challengeValue: Buffer;
762
+ };
763
+
764
+ export type APSFrameCounterResponseTLV = {
765
+ /** The EUI64 of the device that is responding to the Security_Challenge_req with its own challenge. */
766
+ responderEui64: Eui64;
767
+ /** A randomly generated 64-bit value previously received in the APSFrameCounterChallengeTLV. */
768
+ receivedChallengeValue: Buffer;
769
+ /** The current outgoing APS security frame counter held by the Responder EUI64 device. */
770
+ apsFrameCounter: number;
771
+ /**
772
+ * The AES-CCM-128 outgoing frame counter used to generate the MIC over the octet sequence
773
+ * { tag || length || responder EUI-64 || received challenge value || APS frame counter }
774
+ * using the special nonce and AES-128 key for frame counter synchronization.
775
+ */
776
+ challengeSecurityFrameCounter: number;
777
+ /**
778
+ * The AES-128-CCM 64-bit MIC (security level 2) on all previous fields of this TLV,
779
+ * excluding the challenge security frame counter, including Tag ID and length fields.
780
+ */
781
+ mic: Buffer;
782
+ };
783
+
784
+ export type BeaconSurveyResultsTLV = {
785
+ /** The total number of IEEE Std 802.15.4 beacons received during the scan. */
786
+ totalBeaconsReceived: number;
787
+ /** The total number of Zigbee Network beacons where the Extended PAN ID matches the local device’s nwkExtendedPanId. */
788
+ onNetworkBeacons: number;
789
+ /**
790
+ * The total number of Zigbee Network beacons where the Extended PAN ID matches and the Zigbee Beacon payload indicates
791
+ * End Device Capacity = TRUE.
792
+ */
793
+ potentialParentBeacons: number;
794
+ /**
795
+ * The total number of IEEE Std 802.15.4 beacons from other Zigbee networks or other IEEE Std 802.15.4 networks.
796
+ * Other Zigbee network beacons are defined as when the Extended PAN ID does not match the local Extended PAN ID.
797
+ */
798
+ otherNetworkBeacons: number;
799
+ };
800
+
801
+ export type PotentialParentsTLV = {
802
+ /** The short address that is the current parent for the device. For a router or coordinator this value SHALL be set to 0xFFFF. */
803
+ currentParentNwkAddress: number;
804
+ /** The value of the LQA of the current parent. */
805
+ currentParentLQA: number;
806
+ /**
807
+ * This is the count of additional potential parent short addresses and their associated LQA.
808
+ * If there are no other potential parents this SHALL indicate 0. This value SHALL not be greater than 5.
809
+ */
810
+ entryCount: number;
811
+ potentialParents: {
812
+ /** The short address for a potential parent that the device can hear a beacon for. */
813
+ nwkAddress: number;
814
+ /** The LQA value of the associated potential parent. */
815
+ lqa: number;
816
+ }[];
817
+ };
818
+
819
+ export type DeviceAuthenticationLevelTLV = {
820
+ /** 64-bit address for the node that is being inquired about. */
821
+ remoteNodeIeee: Eui64;
822
+ /** This indicates the joining method that was used when the device joined the network. */
823
+ initialJoinMethod: InitialJoinMethod;
824
+ /** This indicates what Link Key update method was used to create the current active Link Key. */
825
+ activeLinkKeyType: ActiveLinkKeyType;
826
+ };
827
+
828
+ export type ProcessingStatusTLV = {
829
+ /**
830
+ * indicate the number of Tag ID and Processing Status pairs are present in the full TLV.
831
+ * The count may be zero, indicating that there were no known TLVs in the previous message that could be processed.
832
+ */
833
+ count: number;
834
+ tlvs: {
835
+ /** Indicate a previously received TLV tag ID */
836
+ tagId: number;
837
+ /** The associated status of whether it is processed */
838
+ processingStatus: Status.SUCCESS | Status.INV_REQUESTTYPE | Status.NOT_SUPPORTED;
839
+ }[];
840
+ };
841
+
842
+ export type LocalTLVType =
843
+ | ClearAllBindingsReqEUI64TLV
844
+ | BeaconSurveyConfigurationTLV
845
+ | Curve25519PublicPointTLV
846
+ | AuthenticationTokenIdTLV
847
+ | TargetIEEEAddressTLV
848
+ | SelectedKeyNegotiationMethodTLV
849
+ | DeviceEUI64ListTLV
850
+ | APSFrameCounterChallengeTLV
851
+ | APSFrameCounterResponseTLV
852
+ | BeaconSurveyResultsTLV
853
+ | PotentialParentsTLV
854
+ | DeviceAuthenticationLevelTLV
855
+ | ProcessingStatusTLV;
856
+
857
+ export type LocalTLVReader = (length: number) => LocalTLVType;
858
+
859
+ export type Tlv = {
860
+ /** 1-byte - 0-63: Local, 64-255: Global */
861
+ tagId: number;
862
+ /**
863
+ * The Length byte encodes the number of bytes in the value field -1.
864
+ * This means that a TLV with length field of 3 is expected to contain 4 bytes of data in the value field.
865
+ *
866
+ * WARNING: This field is assumed to always include the +1 offset, and logic should do the appropriate reversal when writing the actual buffer.
867
+ *
868
+ * 1-byte
869
+ */
870
+ length: number;
871
+ /** Size = ${length + 1} */
872
+ tlv:
873
+ | ManufacturerSpecificGlobalTLV
874
+ | SupportedKeyNegotiationMethodsGlobalTLV
875
+ | PanIdConflictReportGlobalTLV
876
+ | NextPanIdChangeGlobalTLV
877
+ | NextChannelChangeGlobalTLV
878
+ | SymmetricPassphraseGlobalTLV
879
+ | RouterInformationGlobalTLV
880
+ | FragmentationParametersGlobalTLV
881
+ | JoinerEncapsulationGlobalTLV
882
+ | BeaconAppendixEncapsulationGlobalTLV
883
+ | ConfigurationParametersGlobalTLV
884
+ | DeviceCapabilityExtensionGlobalTLV
885
+ | LocalTLVType;
886
+ };
887
+
888
+ export type TLVs = {
889
+ tlvs: Tlv[];
890
+ };
891
+
892
+ export interface RequestMap {
893
+ [ZdoClusterId.NETWORK_ADDRESS_REQUEST]: [target: Eui64, reportKids: boolean, childStartIndex: number];
894
+ [ZdoClusterId.IEEE_ADDRESS_REQUEST]: [target: NodeId, reportKids: boolean, childStartIndex: number];
895
+ [ZdoClusterId.NODE_DESCRIPTOR_REQUEST]: [target: NodeId, fragmentationParameters?: FragmentationParametersGlobalTLV];
896
+ [ZdoClusterId.POWER_DESCRIPTOR_REQUEST]: [target: NodeId];
897
+ [ZdoClusterId.SIMPLE_DESCRIPTOR_REQUEST]: [target: NodeId, targetEndpoint: number];
898
+ [ZdoClusterId.ACTIVE_ENDPOINTS_REQUEST]: [target: NodeId];
899
+ [ZdoClusterId.MATCH_DESCRIPTORS_REQUEST]: [target: NodeId, profileId: ProfileId, inClusterList: ClusterId[], outClusterList: ClusterId[]];
900
+ [ZdoClusterId.SYSTEM_SERVER_DISCOVERY_REQUEST]: [serverMask: ServerMask];
901
+ [ZdoClusterId.PARENT_ANNOUNCE]: [children: Eui64[]];
902
+ [ZdoClusterId.BIND_REQUEST]: [
903
+ source: Eui64,
904
+ sourceEndpoint: number,
905
+ clusterId: ClusterId,
906
+ type: number,
907
+ destination: Eui64,
908
+ groupAddress: number,
909
+ destinationEndpoint: number,
910
+ ];
911
+ [ZdoClusterId.UNBIND_REQUEST]: [
912
+ source: Eui64,
913
+ sourceEndpoint: number,
914
+ clusterId: ClusterId,
915
+ type: number,
916
+ destination: Eui64,
917
+ groupAddress: number,
918
+ destinationEndpoint: number,
919
+ ];
920
+ [ZdoClusterId.CLEAR_ALL_BINDINGS_REQUEST]: [tlv: ClearAllBindingsReqEUI64TLV];
921
+ [ZdoClusterId.LQI_TABLE_REQUEST]: [startIndex: number];
922
+ [ZdoClusterId.ROUTING_TABLE_REQUEST]: [startIndex: number];
923
+ [ZdoClusterId.BINDING_TABLE_REQUEST]: [startIndex: number];
924
+ [ZdoClusterId.LEAVE_REQUEST]: [deviceAddress: Eui64, leaveRequestFlags: LeaveRequestFlags];
925
+ [ZdoClusterId.PERMIT_JOINING_REQUEST]: [duration: number, authentication: number, tlvs: Tlv[]];
926
+ [ZdoClusterId.NWK_UPDATE_REQUEST]: [
927
+ channels: number[],
928
+ duration: number,
929
+ count: number | undefined,
930
+ nwkUpdateId: number | undefined,
931
+ nwkManagerAddr: number | undefined,
932
+ ];
933
+ [ZdoClusterId.NWK_ENHANCED_UPDATE_REQUEST]: [
934
+ channelPages: number[],
935
+ duration: number,
936
+ count: number | undefined,
937
+ nwkUpdateId: number | undefined,
938
+ nwkManagerAddr: NodeId | undefined,
939
+ configurationBitmask: number | undefined,
940
+ ];
941
+ [ZdoClusterId.NWK_IEEE_JOINING_LIST_REQUEST]: [startIndex: number];
942
+ [ZdoClusterId.NWK_BEACON_SURVEY_REQUEST]: [tlv: BeaconSurveyConfigurationTLV];
943
+ [ZdoClusterId.START_KEY_NEGOTIATION_REQUEST]: [tlv: Curve25519PublicPointTLV];
944
+ [ZdoClusterId.RETRIEVE_AUTHENTICATION_TOKEN_REQUEST]: [tlv: AuthenticationTokenIdTLV];
945
+ [ZdoClusterId.GET_AUTHENTICATION_LEVEL_REQUEST]: [tlv: TargetIEEEAddressTLV];
946
+ [ZdoClusterId.SET_CONFIGURATION_REQUEST]: [
947
+ nextPanIdChange: NextPanIdChangeGlobalTLV,
948
+ nextChannelChange: NextChannelChangeGlobalTLV,
949
+ configurationParameters: ConfigurationParametersGlobalTLV,
950
+ ];
951
+ [ZdoClusterId.GET_CONFIGURATION_REQUEST]: [tlvIds: number[]];
952
+ [ZdoClusterId.START_KEY_UPDATE_REQUEST]: [
953
+ selectedKeyNegotiationMethod: SelectedKeyNegotiationMethodTLV,
954
+ fragmentationParameters: FragmentationParametersGlobalTLV,
955
+ ];
956
+ [ZdoClusterId.DECOMMISSION_REQUEST]: [tlv: DeviceEUI64ListTLV];
957
+ [ZdoClusterId.CHALLENGE_REQUEST]: [tlv: APSFrameCounterChallengeTLV];
958
+ }
959
+
960
+ export type GenericZdoResponse = [Status, unknown | undefined];
961
+
962
+ export interface ResponseMap {
963
+ [ZdoClusterId.NETWORK_ADDRESS_RESPONSE]: [Status, NetworkAddressResponse | undefined];
964
+ [ZdoClusterId.IEEE_ADDRESS_RESPONSE]: [Status, IEEEAddressResponse | undefined];
965
+ [ZdoClusterId.NODE_DESCRIPTOR_RESPONSE]: [Status, NodeDescriptorResponse | undefined];
966
+ [ZdoClusterId.POWER_DESCRIPTOR_RESPONSE]: [Status, PowerDescriptorResponse | undefined];
967
+ [ZdoClusterId.SIMPLE_DESCRIPTOR_RESPONSE]: [Status, SimpleDescriptorResponse | undefined];
968
+ [ZdoClusterId.ACTIVE_ENDPOINTS_RESPONSE]: [Status, ActiveEndpointsResponse | undefined];
969
+ [ZdoClusterId.MATCH_DESCRIPTORS_RESPONSE]: [Status, MatchDescriptorsResponse | undefined];
970
+ [ZdoClusterId.END_DEVICE_ANNOUNCE]: [Status, EndDeviceAnnounce | undefined];
971
+ [ZdoClusterId.SYSTEM_SERVER_DISCOVERY_RESPONSE]: [Status, SystemServerDiscoveryResponse | undefined];
972
+ [ZdoClusterId.PARENT_ANNOUNCE_RESPONSE]: [Status, ParentAnnounceResponse | undefined];
973
+ [ZdoClusterId.BIND_RESPONSE]: [Status, undefined];
974
+ [ZdoClusterId.UNBIND_RESPONSE]: [Status, undefined];
975
+ [ZdoClusterId.CLEAR_ALL_BINDINGS_RESPONSE]: [Status, undefined];
976
+ [ZdoClusterId.LQI_TABLE_RESPONSE]: [Status, LQITableResponse | undefined];
977
+ [ZdoClusterId.ROUTING_TABLE_RESPONSE]: [Status, RoutingTableResponse | undefined];
978
+ [ZdoClusterId.BINDING_TABLE_RESPONSE]: [Status, BindingTableResponse | undefined];
979
+ [ZdoClusterId.LEAVE_RESPONSE]: [Status, undefined];
980
+ [ZdoClusterId.PERMIT_JOINING_RESPONSE]: [Status, undefined];
981
+ [ZdoClusterId.NWK_UPDATE_RESPONSE]: [Status, NwkUpdateResponse | undefined];
982
+ [ZdoClusterId.NWK_ENHANCED_UPDATE_RESPONSE]: [Status, NwkEnhancedUpdateResponse | undefined];
983
+ [ZdoClusterId.NWK_IEEE_JOINING_LIST_RESPONSE]: [Status, NwkIEEEJoiningListResponse | undefined];
984
+ [ZdoClusterId.NWK_UNSOLICITED_ENHANCED_UPDATE_RESPONSE]: [Status, NwkUnsolicitedEnhancedUpdateResponse | undefined];
985
+ [ZdoClusterId.NWK_BEACON_SURVEY_RESPONSE]: [Status, NwkBeaconSurveyResponse | undefined];
986
+ [ZdoClusterId.START_KEY_NEGOTIATION_RESPONSE]: [Status, StartKeyNegotiationResponse | undefined];
987
+ [ZdoClusterId.RETRIEVE_AUTHENTICATION_TOKEN_RESPONSE]: [Status, RetrieveAuthenticationTokenResponse | undefined];
988
+ [ZdoClusterId.GET_AUTHENTICATION_LEVEL_RESPONSE]: [Status, GetAuthenticationLevelResponse | undefined];
989
+ [ZdoClusterId.SET_CONFIGURATION_RESPONSE]: [Status, SetConfigurationResponse | undefined];
990
+ [ZdoClusterId.GET_CONFIGURATION_RESPONSE]: [Status, GetConfigurationResponse | undefined];
991
+ [ZdoClusterId.START_KEY_UPDATE_RESPONSE]: [Status, undefined];
992
+ [ZdoClusterId.DECOMMISSION_RESPONSE]: [Status, undefined];
993
+ [ZdoClusterId.CHALLENGE_RESPONSE]: [Status, ChallengeResponse | undefined];
994
+ // allow passing number to readResponse() from parsed payload without explicitly converting with `as`
995
+ [key: number]: GenericZdoResponse;
996
+ }
997
+
998
+ export interface ValidResponseMap {
999
+ [ZdoClusterId.NETWORK_ADDRESS_RESPONSE]: [Status.SUCCESS, NetworkAddressResponse];
1000
+ [ZdoClusterId.IEEE_ADDRESS_RESPONSE]: [Status.SUCCESS, IEEEAddressResponse];
1001
+ [ZdoClusterId.NODE_DESCRIPTOR_RESPONSE]: [Status.SUCCESS, NodeDescriptorResponse];
1002
+ [ZdoClusterId.POWER_DESCRIPTOR_RESPONSE]: [Status.SUCCESS, PowerDescriptorResponse];
1003
+ [ZdoClusterId.SIMPLE_DESCRIPTOR_RESPONSE]: [Status.SUCCESS, SimpleDescriptorResponse];
1004
+ [ZdoClusterId.ACTIVE_ENDPOINTS_RESPONSE]: [Status.SUCCESS, ActiveEndpointsResponse];
1005
+ [ZdoClusterId.MATCH_DESCRIPTORS_RESPONSE]: [Status.SUCCESS, MatchDescriptorsResponse];
1006
+ [ZdoClusterId.END_DEVICE_ANNOUNCE]: [Status.SUCCESS, EndDeviceAnnounce];
1007
+ [ZdoClusterId.SYSTEM_SERVER_DISCOVERY_RESPONSE]: [Status.SUCCESS, SystemServerDiscoveryResponse];
1008
+ [ZdoClusterId.PARENT_ANNOUNCE_RESPONSE]: [Status.SUCCESS, ParentAnnounceResponse];
1009
+ [ZdoClusterId.BIND_RESPONSE]: [Status.SUCCESS, undefined];
1010
+ [ZdoClusterId.UNBIND_RESPONSE]: [Status.SUCCESS, undefined];
1011
+ [ZdoClusterId.CLEAR_ALL_BINDINGS_RESPONSE]: [Status.SUCCESS, undefined];
1012
+ [ZdoClusterId.LQI_TABLE_RESPONSE]: [Status.SUCCESS, LQITableResponse];
1013
+ [ZdoClusterId.ROUTING_TABLE_RESPONSE]: [Status.SUCCESS, RoutingTableResponse];
1014
+ [ZdoClusterId.BINDING_TABLE_RESPONSE]: [Status.SUCCESS, BindingTableResponse];
1015
+ [ZdoClusterId.LEAVE_RESPONSE]: [Status.SUCCESS, undefined];
1016
+ [ZdoClusterId.PERMIT_JOINING_RESPONSE]: [Status.SUCCESS, undefined];
1017
+ [ZdoClusterId.NWK_UPDATE_RESPONSE]: [Status.SUCCESS, NwkUpdateResponse];
1018
+ [ZdoClusterId.NWK_ENHANCED_UPDATE_RESPONSE]: [Status.SUCCESS, NwkEnhancedUpdateResponse];
1019
+ [ZdoClusterId.NWK_IEEE_JOINING_LIST_RESPONSE]: [Status.SUCCESS, NwkIEEEJoiningListResponse];
1020
+ [ZdoClusterId.NWK_UNSOLICITED_ENHANCED_UPDATE_RESPONSE]: [Status.SUCCESS, NwkUnsolicitedEnhancedUpdateResponse];
1021
+ [ZdoClusterId.NWK_BEACON_SURVEY_RESPONSE]: [Status.SUCCESS, NwkBeaconSurveyResponse];
1022
+ [ZdoClusterId.START_KEY_NEGOTIATION_RESPONSE]: [Status.SUCCESS, StartKeyNegotiationResponse];
1023
+ [ZdoClusterId.RETRIEVE_AUTHENTICATION_TOKEN_RESPONSE]: [Status.SUCCESS, RetrieveAuthenticationTokenResponse];
1024
+ [ZdoClusterId.GET_AUTHENTICATION_LEVEL_RESPONSE]: [Status.SUCCESS, GetAuthenticationLevelResponse];
1025
+ [ZdoClusterId.SET_CONFIGURATION_RESPONSE]: [Status.SUCCESS, SetConfigurationResponse];
1026
+ [ZdoClusterId.GET_CONFIGURATION_RESPONSE]: [Status.SUCCESS, GetConfigurationResponse];
1027
+ [ZdoClusterId.START_KEY_UPDATE_RESPONSE]: [Status.SUCCESS, undefined];
1028
+ [ZdoClusterId.DECOMMISSION_RESPONSE]: [Status.SUCCESS, undefined];
1029
+ [ZdoClusterId.CHALLENGE_RESPONSE]: [Status.SUCCESS, ChallengeResponse];
1030
+ }
1031
+
1032
+ export interface RequestToResponseMap {
1033
+ [ZdoClusterId.NETWORK_ADDRESS_REQUEST]: ResponseMap[ZdoClusterId.NETWORK_ADDRESS_RESPONSE];
1034
+ [ZdoClusterId.IEEE_ADDRESS_REQUEST]: ResponseMap[ZdoClusterId.IEEE_ADDRESS_RESPONSE];
1035
+ [ZdoClusterId.NODE_DESCRIPTOR_REQUEST]: ResponseMap[ZdoClusterId.NODE_DESCRIPTOR_RESPONSE];
1036
+ [ZdoClusterId.POWER_DESCRIPTOR_REQUEST]: ResponseMap[ZdoClusterId.POWER_DESCRIPTOR_RESPONSE];
1037
+ [ZdoClusterId.SIMPLE_DESCRIPTOR_REQUEST]: ResponseMap[ZdoClusterId.SIMPLE_DESCRIPTOR_RESPONSE];
1038
+ [ZdoClusterId.ACTIVE_ENDPOINTS_REQUEST]: ResponseMap[ZdoClusterId.ACTIVE_ENDPOINTS_RESPONSE];
1039
+ [ZdoClusterId.MATCH_DESCRIPTORS_REQUEST]: ResponseMap[ZdoClusterId.MATCH_DESCRIPTORS_RESPONSE];
1040
+ [ZdoClusterId.SYSTEM_SERVER_DISCOVERY_REQUEST]: ResponseMap[ZdoClusterId.SYSTEM_SERVER_DISCOVERY_RESPONSE];
1041
+ [ZdoClusterId.PARENT_ANNOUNCE]: ResponseMap[ZdoClusterId.PARENT_ANNOUNCE_RESPONSE];
1042
+ [ZdoClusterId.BIND_REQUEST]: ResponseMap[ZdoClusterId.BIND_RESPONSE];
1043
+ [ZdoClusterId.UNBIND_REQUEST]: ResponseMap[ZdoClusterId.UNBIND_RESPONSE];
1044
+ [ZdoClusterId.CLEAR_ALL_BINDINGS_REQUEST]: ResponseMap[ZdoClusterId.CLEAR_ALL_BINDINGS_RESPONSE];
1045
+ [ZdoClusterId.LQI_TABLE_REQUEST]: ResponseMap[ZdoClusterId.LQI_TABLE_RESPONSE];
1046
+ [ZdoClusterId.ROUTING_TABLE_REQUEST]: ResponseMap[ZdoClusterId.ROUTING_TABLE_RESPONSE];
1047
+ [ZdoClusterId.BINDING_TABLE_REQUEST]: ResponseMap[ZdoClusterId.BINDING_TABLE_RESPONSE];
1048
+ [ZdoClusterId.LEAVE_REQUEST]: ResponseMap[ZdoClusterId.LEAVE_RESPONSE];
1049
+ [ZdoClusterId.PERMIT_JOINING_REQUEST]: ResponseMap[ZdoClusterId.PERMIT_JOINING_RESPONSE];
1050
+ [ZdoClusterId.NWK_UPDATE_REQUEST]: ResponseMap[ZdoClusterId.NWK_UPDATE_RESPONSE];
1051
+ [ZdoClusterId.NWK_ENHANCED_UPDATE_REQUEST]: ResponseMap[ZdoClusterId.NWK_ENHANCED_UPDATE_RESPONSE];
1052
+ [ZdoClusterId.NWK_IEEE_JOINING_LIST_REQUEST]: ResponseMap[ZdoClusterId.NWK_IEEE_JOINING_LIST_RESPONSE];
1053
+ [ZdoClusterId.NWK_BEACON_SURVEY_REQUEST]: ResponseMap[ZdoClusterId.NWK_BEACON_SURVEY_RESPONSE];
1054
+ [ZdoClusterId.START_KEY_NEGOTIATION_REQUEST]: ResponseMap[ZdoClusterId.START_KEY_NEGOTIATION_RESPONSE];
1055
+ [ZdoClusterId.RETRIEVE_AUTHENTICATION_TOKEN_REQUEST]: ResponseMap[ZdoClusterId.RETRIEVE_AUTHENTICATION_TOKEN_RESPONSE];
1056
+ [ZdoClusterId.GET_AUTHENTICATION_LEVEL_REQUEST]: ResponseMap[ZdoClusterId.GET_AUTHENTICATION_LEVEL_RESPONSE];
1057
+ [ZdoClusterId.SET_CONFIGURATION_REQUEST]: ResponseMap[ZdoClusterId.SET_CONFIGURATION_RESPONSE];
1058
+ [ZdoClusterId.GET_CONFIGURATION_REQUEST]: ResponseMap[ZdoClusterId.GET_CONFIGURATION_RESPONSE];
1059
+ [ZdoClusterId.START_KEY_UPDATE_REQUEST]: ResponseMap[ZdoClusterId.START_KEY_UPDATE_RESPONSE];
1060
+ [ZdoClusterId.DECOMMISSION_REQUEST]: ResponseMap[ZdoClusterId.DECOMMISSION_RESPONSE];
1061
+ [ZdoClusterId.CHALLENGE_REQUEST]: ResponseMap[ZdoClusterId.CHALLENGE_RESPONSE];
1062
+ }