@willieee802/zigbee-herdsman 0.36.0 → 0.48.2

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 (441) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +317 -0
  3. package/dist/adapter/adapter.d.ts +15 -13
  4. package/dist/adapter/adapter.d.ts.map +1 -1
  5. package/dist/adapter/adapter.js +15 -17
  6. package/dist/adapter/adapter.js.map +1 -1
  7. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +14 -12
  8. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  9. package/dist/adapter/deconz/adapter/deconzAdapter.js +118 -128
  10. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  11. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  12. package/dist/adapter/deconz/driver/driver.js +44 -44
  13. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  14. package/dist/adapter/deconz/driver/frameParser.js +43 -43
  15. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  16. package/dist/adapter/deconz/driver/parser.js +6 -6
  17. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  18. package/dist/adapter/deconz/driver/writer.js +3 -3
  19. package/dist/adapter/deconz/driver/writer.js.map +1 -1
  20. package/dist/adapter/ember/adapter/emberAdapter.d.ts +32 -36
  21. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  22. package/dist/adapter/ember/adapter/emberAdapter.js +418 -446
  23. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
  24. package/dist/adapter/ember/adapter/endpoints.d.ts +5 -3
  25. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
  26. package/dist/adapter/ember/adapter/endpoints.js +33 -31
  27. package/dist/adapter/ember/adapter/endpoints.js.map +1 -1
  28. package/dist/adapter/ember/adapter/oneWaitress.d.ts +10 -2
  29. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  30. package/dist/adapter/ember/adapter/oneWaitress.js +19 -5
  31. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
  32. package/dist/adapter/ember/adapter/requestQueue.d.ts +2 -4
  33. package/dist/adapter/ember/adapter/requestQueue.d.ts.map +1 -1
  34. package/dist/adapter/ember/adapter/requestQueue.js +16 -21
  35. package/dist/adapter/ember/adapter/requestQueue.js.map +1 -1
  36. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
  37. package/dist/adapter/ember/adapter/tokensManager.js +23 -20
  38. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
  39. package/dist/adapter/ember/consts.d.ts +0 -7
  40. package/dist/adapter/ember/consts.d.ts.map +1 -1
  41. package/dist/adapter/ember/consts.js +2 -9
  42. package/dist/adapter/ember/consts.js.map +1 -1
  43. package/dist/adapter/ember/enums.d.ts +12 -14
  44. package/dist/adapter/ember/enums.d.ts.map +1 -1
  45. package/dist/adapter/ember/enums.js +12 -14
  46. package/dist/adapter/ember/enums.js.map +1 -1
  47. package/dist/adapter/ember/ezsp/buffalo.js +4 -4
  48. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
  49. package/dist/adapter/ember/ezsp/ezsp.d.ts +1 -2
  50. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  51. package/dist/adapter/ember/ezsp/ezsp.js +218 -199
  52. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
  53. package/dist/adapter/ember/types.d.ts +9 -9
  54. package/dist/adapter/ember/types.d.ts.map +1 -1
  55. package/dist/adapter/ember/uart/ash.d.ts +11 -5
  56. package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
  57. package/dist/adapter/ember/uart/ash.js +125 -93
  58. package/dist/adapter/ember/uart/ash.js.map +1 -1
  59. package/dist/adapter/ember/uart/consts.d.ts +1 -1
  60. package/dist/adapter/ember/uart/consts.js +1 -1
  61. package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
  62. package/dist/adapter/ember/uart/parser.js +5 -9
  63. package/dist/adapter/ember/uart/parser.js.map +1 -1
  64. package/dist/adapter/ember/uart/queues.d.ts.map +1 -1
  65. package/dist/adapter/ember/uart/queues.js +3 -1
  66. package/dist/adapter/ember/uart/queues.js.map +1 -1
  67. package/dist/adapter/ember/uart/writer.d.ts.map +1 -1
  68. package/dist/adapter/ember/uart/writer.js +4 -6
  69. package/dist/adapter/ember/uart/writer.js.map +1 -1
  70. package/dist/adapter/ember/utils/math.d.ts.map +1 -1
  71. package/dist/adapter/ember/zdo.d.ts +6 -2
  72. package/dist/adapter/ember/zdo.d.ts.map +1 -1
  73. package/dist/adapter/ember/zdo.js +2 -2
  74. package/dist/adapter/ember/zdo.js.map +1 -1
  75. package/dist/adapter/events.d.ts +17 -23
  76. package/dist/adapter/events.d.ts.map +1 -1
  77. package/dist/adapter/events.js +1 -2
  78. package/dist/adapter/events.js.map +1 -1
  79. package/dist/adapter/ezsp/adapter/backup.d.ts +0 -1
  80. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  81. package/dist/adapter/ezsp/adapter/backup.js +3 -7
  82. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  83. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +13 -10
  84. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  85. package/dist/adapter/ezsp/adapter/ezspAdapter.js +79 -72
  86. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  87. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
  88. package/dist/adapter/ezsp/driver/commands.js +3 -5
  89. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  90. package/dist/adapter/ezsp/driver/driver.d.ts +1 -4
  91. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  92. package/dist/adapter/ezsp/driver/driver.js +101 -122
  93. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  94. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  95. package/dist/adapter/ezsp/driver/ezsp.js +61 -50
  96. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  97. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
  98. package/dist/adapter/ezsp/driver/multicast.js +8 -12
  99. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  100. package/dist/adapter/ezsp/driver/parser.js +5 -5
  101. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  102. package/dist/adapter/ezsp/driver/types/basic.js +1 -1
  103. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  104. package/dist/adapter/ezsp/driver/types/named.js +2 -2
  105. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  106. package/dist/adapter/ezsp/driver/types/struct.js +2 -2
  107. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  108. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  109. package/dist/adapter/ezsp/driver/uart.js +46 -46
  110. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  111. package/dist/adapter/ezsp/driver/writer.js +3 -6
  112. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  113. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +0 -1
  114. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  115. package/dist/adapter/z-stack/adapter/adapter-backup.js +25 -29
  116. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  117. package/dist/adapter/z-stack/adapter/endpoints.js +4 -4
  118. package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -1
  119. package/dist/adapter/z-stack/adapter/manager.d.ts +1 -4
  120. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  121. package/dist/adapter/z-stack/adapter/manager.js +52 -61
  122. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  123. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +14 -10
  124. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  125. package/dist/adapter/z-stack/adapter/zStackAdapter.js +95 -69
  126. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  127. package/dist/adapter/z-stack/unpi/parser.d.ts +3 -1
  128. package/dist/adapter/z-stack/unpi/parser.d.ts.map +1 -1
  129. package/dist/adapter/z-stack/unpi/parser.js +18 -8
  130. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  131. package/dist/adapter/z-stack/unpi/writer.d.ts +3 -2
  132. package/dist/adapter/z-stack/unpi/writer.d.ts.map +1 -1
  133. package/dist/adapter/z-stack/unpi/writer.js +21 -11
  134. package/dist/adapter/z-stack/unpi/writer.js.map +1 -1
  135. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +4 -2
  136. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +1 -1
  137. package/dist/adapter/z-stack/znp/buffaloZnp.js +154 -25
  138. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  139. package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -1
  140. package/dist/adapter/z-stack/znp/definition.js +2 -1
  141. package/dist/adapter/z-stack/znp/definition.js.map +1 -1
  142. package/dist/adapter/z-stack/znp/tstype.d.ts +4 -3
  143. package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -1
  144. package/dist/adapter/z-stack/znp/znp.d.ts +3 -1
  145. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  146. package/dist/adapter/z-stack/znp/znp.js +27 -32
  147. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  148. package/dist/adapter/z-stack/znp/zpiObject.js +2 -2
  149. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  150. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +13 -12
  151. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  152. package/dist/adapter/zigate/adapter/zigateAdapter.js +81 -90
  153. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  154. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +7 -8
  155. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
  156. package/dist/adapter/zigate/driver/buffaloZiGate.js +150 -100
  157. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  158. package/dist/adapter/zigate/driver/commandType.d.ts +2 -1
  159. package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -1
  160. package/dist/adapter/zigate/driver/commandType.js +56 -52
  161. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  162. package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
  163. package/dist/adapter/zigate/driver/frame.js +8 -8
  164. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  165. package/dist/adapter/zigate/driver/messageType.d.ts +2 -1
  166. package/dist/adapter/zigate/driver/messageType.d.ts.map +1 -1
  167. package/dist/adapter/zigate/driver/messageType.js +113 -108
  168. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  169. package/dist/adapter/zigate/driver/parameterType.d.ts +8 -1
  170. package/dist/adapter/zigate/driver/parameterType.d.ts.map +1 -1
  171. package/dist/adapter/zigate/driver/parameterType.js +9 -0
  172. package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
  173. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
  174. package/dist/adapter/zigate/driver/ziGateObject.js +9 -9
  175. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  176. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  177. package/dist/adapter/zigate/driver/zigate.js +23 -31
  178. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  179. package/dist/buffalo/buffalo.d.ts +23 -19
  180. package/dist/buffalo/buffalo.d.ts.map +1 -1
  181. package/dist/buffalo/buffalo.js +74 -169
  182. package/dist/buffalo/buffalo.js.map +1 -1
  183. package/dist/buffalo/index.d.ts +1 -2
  184. package/dist/buffalo/index.d.ts.map +1 -1
  185. package/dist/buffalo/index.js +1 -26
  186. package/dist/buffalo/index.js.map +1 -1
  187. package/dist/controller/controller.d.ts +10 -5
  188. package/dist/controller/controller.d.ts.map +1 -1
  189. package/dist/controller/controller.js +184 -126
  190. package/dist/controller/controller.js.map +1 -1
  191. package/dist/controller/database.d.ts +1 -0
  192. package/dist/controller/database.d.ts.map +1 -1
  193. package/dist/controller/database.js +7 -10
  194. package/dist/controller/database.js.map +1 -1
  195. package/dist/controller/events.d.ts +2 -2
  196. package/dist/controller/events.d.ts.map +1 -1
  197. package/dist/controller/events.js +4 -0
  198. package/dist/controller/events.js.map +1 -1
  199. package/dist/controller/greenPower.d.ts +2 -1
  200. package/dist/controller/greenPower.d.ts.map +1 -1
  201. package/dist/controller/greenPower.js +51 -57
  202. package/dist/controller/greenPower.js.map +1 -1
  203. package/dist/controller/helpers/request.d.ts +3 -3
  204. package/dist/controller/helpers/request.d.ts.map +1 -1
  205. package/dist/controller/helpers/request.js +2 -2
  206. package/dist/controller/helpers/request.js.map +1 -1
  207. package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
  208. package/dist/controller/helpers/requestQueue.js +26 -36
  209. package/dist/controller/helpers/requestQueue.js.map +1 -1
  210. package/dist/controller/helpers/zclFrameConverter.d.ts +4 -3
  211. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  212. package/dist/controller/helpers/zclFrameConverter.js +33 -14
  213. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  214. package/dist/controller/model/device.d.ts +12 -5
  215. package/dist/controller/model/device.d.ts.map +1 -1
  216. package/dist/controller/model/device.js +105 -86
  217. package/dist/controller/model/device.js.map +1 -1
  218. package/dist/controller/model/endpoint.d.ts +22 -17
  219. package/dist/controller/model/endpoint.d.ts.map +1 -1
  220. package/dist/controller/model/endpoint.js +139 -228
  221. package/dist/controller/model/endpoint.js.map +1 -1
  222. package/dist/controller/model/group.d.ts +1 -1
  223. package/dist/controller/model/group.d.ts.map +1 -1
  224. package/dist/controller/model/group.js +18 -18
  225. package/dist/controller/model/group.js.map +1 -1
  226. package/dist/controller/model/konnextConfig.d.ts +7 -0
  227. package/dist/controller/model/konnextConfig.d.ts.map +1 -0
  228. package/dist/controller/{logger-stub.js → model/konnextConfig.js} +1 -1
  229. package/dist/controller/model/konnextConfig.js.map +1 -0
  230. package/dist/controller/touchlink.js +25 -28
  231. package/dist/controller/touchlink.js.map +1 -1
  232. package/dist/index.d.ts +5 -3
  233. package/dist/index.d.ts.map +1 -1
  234. package/dist/index.js +8 -5
  235. package/dist/index.js.map +1 -1
  236. package/dist/utils/aes.d.ts +40 -0
  237. package/dist/utils/aes.d.ts.map +1 -0
  238. package/dist/utils/aes.js +198 -0
  239. package/dist/utils/aes.js.map +1 -0
  240. package/dist/utils/logger.d.ts +9 -0
  241. package/dist/utils/logger.d.ts.map +1 -0
  242. package/dist/utils/logger.js +14 -0
  243. package/dist/utils/logger.js.map +1 -0
  244. package/dist/zspec/consts.d.ts +60 -0
  245. package/dist/zspec/consts.d.ts.map +1 -0
  246. package/dist/zspec/consts.js +64 -0
  247. package/dist/zspec/consts.js.map +1 -0
  248. package/dist/zspec/enums.d.ts +19 -0
  249. package/dist/zspec/enums.d.ts.map +1 -0
  250. package/dist/zspec/enums.js +28 -0
  251. package/dist/zspec/enums.js.map +1 -0
  252. package/dist/zspec/index.d.ts +4 -0
  253. package/dist/zspec/index.d.ts.map +1 -0
  254. package/dist/zspec/index.js +43 -0
  255. package/dist/zspec/index.js.map +1 -0
  256. package/dist/zspec/tstypes.d.ts +19 -0
  257. package/dist/zspec/tstypes.d.ts.map +1 -0
  258. package/dist/{buffalo/tstype.js → zspec/tstypes.js} +1 -1
  259. package/dist/zspec/tstypes.js.map +1 -0
  260. package/dist/zspec/utils.d.ts +14 -0
  261. package/dist/zspec/utils.d.ts.map +1 -0
  262. package/dist/zspec/utils.js +29 -0
  263. package/dist/zspec/utils.js.map +1 -0
  264. package/dist/zspec/zcl/buffaloZcl.d.ts +55 -0
  265. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -0
  266. package/dist/zspec/zcl/buffaloZcl.js +929 -0
  267. package/dist/zspec/zcl/buffaloZcl.js.map +1 -0
  268. package/dist/zspec/zcl/definition/cluster.d.ts +3 -0
  269. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -0
  270. package/dist/zspec/zcl/definition/cluster.js +5500 -0
  271. package/dist/zspec/zcl/definition/cluster.js.map +1 -0
  272. package/dist/zspec/zcl/definition/consts.d.ts +9 -0
  273. package/dist/zspec/zcl/definition/consts.d.ts.map +1 -0
  274. package/dist/zspec/zcl/definition/consts.js +27 -0
  275. package/dist/zspec/zcl/definition/consts.js.map +1 -0
  276. package/dist/zspec/zcl/definition/enums.d.ts +177 -0
  277. package/dist/zspec/zcl/definition/enums.d.ts.map +1 -0
  278. package/dist/zspec/zcl/definition/enums.js +187 -0
  279. package/dist/zspec/zcl/definition/enums.js.map +1 -0
  280. package/dist/zspec/zcl/definition/foundation.d.ts +11 -0
  281. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -0
  282. package/dist/zspec/zcl/definition/foundation.js +241 -0
  283. package/dist/zspec/zcl/definition/foundation.js.map +1 -0
  284. package/dist/zspec/zcl/definition/manufacturerCode.d.ts +727 -0
  285. package/dist/zspec/zcl/definition/manufacturerCode.d.ts.map +1 -0
  286. package/dist/zspec/zcl/definition/manufacturerCode.js +733 -0
  287. package/dist/zspec/zcl/definition/manufacturerCode.js.map +1 -0
  288. package/dist/zspec/zcl/definition/status.d.ts +69 -0
  289. package/dist/zspec/zcl/definition/status.d.ts.map +1 -0
  290. package/dist/zspec/zcl/definition/status.js +74 -0
  291. package/dist/zspec/zcl/definition/status.js.map +1 -0
  292. package/dist/zspec/zcl/definition/tstype.d.ts +114 -0
  293. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -0
  294. package/dist/{zcl/zclHeader.js → zspec/zcl/definition/tstype.js} +2 -1
  295. package/dist/zspec/zcl/definition/tstype.js.map +1 -0
  296. package/dist/zspec/zcl/index.d.ts +11 -0
  297. package/dist/zspec/zcl/index.d.ts.map +1 -0
  298. package/dist/zspec/zcl/index.js +47 -0
  299. package/dist/zspec/zcl/index.js.map +1 -0
  300. package/dist/zspec/zcl/utils.d.ts +7 -0
  301. package/dist/zspec/zcl/utils.d.ts.map +1 -0
  302. package/dist/zspec/zcl/utils.js +234 -0
  303. package/dist/zspec/zcl/utils.js.map +1 -0
  304. package/dist/zspec/zcl/zclFrame.d.ts +36 -0
  305. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -0
  306. package/dist/zspec/zcl/zclFrame.js +304 -0
  307. package/dist/zspec/zcl/zclFrame.js.map +1 -0
  308. package/dist/zspec/zcl/zclHeader.d.ts +17 -0
  309. package/dist/zspec/zcl/zclHeader.d.ts.map +1 -0
  310. package/dist/zspec/zcl/zclHeader.js +88 -0
  311. package/dist/zspec/zcl/zclHeader.js.map +1 -0
  312. package/dist/zspec/zcl/zclStatusError.d.ts +6 -0
  313. package/dist/zspec/zcl/zclStatusError.d.ts.map +1 -0
  314. package/dist/zspec/zcl/zclStatusError.js +13 -0
  315. package/dist/zspec/zcl/zclStatusError.js.map +1 -0
  316. package/dist/zspec/zdo/buffaloZdo.d.ts +438 -0
  317. package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -0
  318. package/dist/zspec/zdo/buffaloZdo.js +1892 -0
  319. package/dist/zspec/zdo/buffaloZdo.js.map +1 -0
  320. package/dist/zspec/zdo/definition/clusters.d.ts +624 -0
  321. package/dist/zspec/zdo/definition/clusters.d.ts.map +1 -0
  322. package/dist/zspec/zdo/definition/clusters.js +687 -0
  323. package/dist/zspec/zdo/definition/clusters.js.map +1 -0
  324. package/dist/zspec/zdo/definition/consts.d.ts +13 -0
  325. package/dist/zspec/zdo/definition/consts.d.ts.map +1 -0
  326. package/dist/zspec/zdo/definition/consts.js +16 -0
  327. package/dist/zspec/zdo/definition/consts.js.map +1 -0
  328. package/dist/zspec/zdo/definition/enums.d.ts +75 -0
  329. package/dist/zspec/zdo/definition/enums.d.ts.map +1 -0
  330. package/dist/zspec/zdo/definition/enums.js +97 -0
  331. package/dist/zspec/zdo/definition/enums.js.map +1 -0
  332. package/dist/zspec/zdo/definition/status.d.ts +99 -0
  333. package/dist/zspec/zdo/definition/status.d.ts.map +1 -0
  334. package/dist/zspec/zdo/definition/status.js +109 -0
  335. package/dist/zspec/zdo/definition/status.js.map +1 -0
  336. package/dist/zspec/zdo/definition/tstypes.d.ts +787 -0
  337. package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -0
  338. package/dist/{zcl/definition/tstype.js → zspec/zdo/definition/tstypes.js} +1 -1
  339. package/dist/zspec/zdo/definition/tstypes.js.map +1 -0
  340. package/dist/zspec/zdo/index.d.ts +7 -0
  341. package/dist/zspec/zdo/index.d.ts.map +1 -0
  342. package/dist/zspec/zdo/index.js +39 -0
  343. package/dist/zspec/zdo/index.js.map +1 -0
  344. package/dist/zspec/zdo/utils.d.ts +25 -0
  345. package/dist/zspec/zdo/utils.d.ts.map +1 -0
  346. package/dist/zspec/zdo/utils.js +75 -0
  347. package/dist/zspec/zdo/utils.js.map +1 -0
  348. package/dist/zspec/zdo/zdoStatusError.d.ts +6 -0
  349. package/dist/zspec/zdo/zdoStatusError.d.ts.map +1 -0
  350. package/dist/zspec/zdo/zdoStatusError.js +13 -0
  351. package/dist/zspec/zdo/zdoStatusError.js.map +1 -0
  352. package/examples/join-and-log.js +7 -12
  353. package/package.json +6 -6
  354. package/dist/adapter/zigate/debug.d.ts +0 -8
  355. package/dist/adapter/zigate/debug.d.ts.map +0 -1
  356. package/dist/adapter/zigate/debug.js +0 -20
  357. package/dist/adapter/zigate/debug.js.map +0 -1
  358. package/dist/buffalo/tstype.d.ts +0 -9
  359. package/dist/buffalo/tstype.d.ts.map +0 -1
  360. package/dist/buffalo/tstype.js.map +0 -1
  361. package/dist/controller/logger-stub.d.ts +0 -7
  362. package/dist/controller/logger-stub.d.ts.map +0 -1
  363. package/dist/controller/logger-stub.js.map +0 -1
  364. package/dist/zcl/buffaloZcl.d.ts +0 -42
  365. package/dist/zcl/buffaloZcl.d.ts.map +0 -1
  366. package/dist/zcl/buffaloZcl.js +0 -595
  367. package/dist/zcl/buffaloZcl.js.map +0 -1
  368. package/dist/zcl/definition/buffaloZclDataType.d.ts +0 -18
  369. package/dist/zcl/definition/buffaloZclDataType.d.ts.map +0 -1
  370. package/dist/zcl/definition/buffaloZclDataType.js +0 -21
  371. package/dist/zcl/definition/buffaloZclDataType.js.map +0 -1
  372. package/dist/zcl/definition/cluster.d.ts +0 -30
  373. package/dist/zcl/definition/cluster.d.ts.map +0 -1
  374. package/dist/zcl/definition/cluster.js +0 -5531
  375. package/dist/zcl/definition/cluster.js.map +0 -1
  376. package/dist/zcl/definition/dataType.d.ts +0 -60
  377. package/dist/zcl/definition/dataType.d.ts.map +0 -1
  378. package/dist/zcl/definition/dataType.js +0 -65
  379. package/dist/zcl/definition/dataType.js.map +0 -1
  380. package/dist/zcl/definition/direction.d.ts +0 -6
  381. package/dist/zcl/definition/direction.d.ts.map +0 -1
  382. package/dist/zcl/definition/direction.js +0 -9
  383. package/dist/zcl/definition/direction.js.map +0 -1
  384. package/dist/zcl/definition/endpointDeviceType.d.ts +0 -5
  385. package/dist/zcl/definition/endpointDeviceType.d.ts.map +0 -1
  386. package/dist/zcl/definition/endpointDeviceType.js +0 -16
  387. package/dist/zcl/definition/endpointDeviceType.js.map +0 -1
  388. package/dist/zcl/definition/foundation.d.ts +0 -12
  389. package/dist/zcl/definition/foundation.d.ts.map +0 -1
  390. package/dist/zcl/definition/foundation.js +0 -168
  391. package/dist/zcl/definition/foundation.js.map +0 -1
  392. package/dist/zcl/definition/frameControl.d.ts +0 -11
  393. package/dist/zcl/definition/frameControl.d.ts.map +0 -1
  394. package/dist/zcl/definition/frameControl.js +0 -3
  395. package/dist/zcl/definition/frameControl.js.map +0 -1
  396. package/dist/zcl/definition/frameType.d.ts +0 -6
  397. package/dist/zcl/definition/frameType.d.ts.map +0 -1
  398. package/dist/zcl/definition/frameType.js +0 -9
  399. package/dist/zcl/definition/frameType.js.map +0 -1
  400. package/dist/zcl/definition/index.d.ts +0 -14
  401. package/dist/zcl/definition/index.d.ts.map +0 -1
  402. package/dist/zcl/definition/index.js +0 -52
  403. package/dist/zcl/definition/index.js.map +0 -1
  404. package/dist/zcl/definition/manufacturerCode.d.ts +0 -1078
  405. package/dist/zcl/definition/manufacturerCode.d.ts.map +0 -1
  406. package/dist/zcl/definition/manufacturerCode.js +0 -1083
  407. package/dist/zcl/definition/manufacturerCode.js.map +0 -1
  408. package/dist/zcl/definition/powerSource.d.ts +0 -5
  409. package/dist/zcl/definition/powerSource.d.ts.map +0 -1
  410. package/dist/zcl/definition/powerSource.js +0 -13
  411. package/dist/zcl/definition/powerSource.js.map +0 -1
  412. package/dist/zcl/definition/status.d.ts +0 -39
  413. package/dist/zcl/definition/status.d.ts.map +0 -1
  414. package/dist/zcl/definition/status.js +0 -42
  415. package/dist/zcl/definition/status.js.map +0 -1
  416. package/dist/zcl/definition/tstype.d.ts +0 -17
  417. package/dist/zcl/definition/tstype.d.ts.map +0 -1
  418. package/dist/zcl/definition/tstype.js.map +0 -1
  419. package/dist/zcl/index.d.ts +0 -17
  420. package/dist/zcl/index.d.ts.map +0 -1
  421. package/dist/zcl/index.js +0 -56
  422. package/dist/zcl/index.js.map +0 -1
  423. package/dist/zcl/tstype.d.ts +0 -57
  424. package/dist/zcl/tstype.d.ts.map +0 -1
  425. package/dist/zcl/tstype.js +0 -10
  426. package/dist/zcl/tstype.js.map +0 -1
  427. package/dist/zcl/utils.d.ts +0 -7
  428. package/dist/zcl/utils.d.ts.map +0 -1
  429. package/dist/zcl/utils.js +0 -165
  430. package/dist/zcl/utils.js.map +0 -1
  431. package/dist/zcl/zclFrame.d.ts +0 -41
  432. package/dist/zcl/zclFrame.d.ts.map +0 -1
  433. package/dist/zcl/zclFrame.js +0 -352
  434. package/dist/zcl/zclFrame.js.map +0 -1
  435. package/dist/zcl/zclHeader.d.ts +0 -9
  436. package/dist/zcl/zclHeader.d.ts.map +0 -1
  437. package/dist/zcl/zclHeader.js.map +0 -1
  438. package/dist/zcl/zclStatusError.d.ts +0 -6
  439. package/dist/zcl/zclStatusError.d.ts.map +0 -1
  440. package/dist/zcl/zclStatusError.js +0 -15
  441. package/dist/zcl/zclStatusError.js.map +0 -1
@@ -0,0 +1,787 @@
1
+ /// <reference types="node" />
2
+ import { ClusterId, EUI64, ExtendedPanId, NodeId, PanId, ProfileId } from '../../tstypes';
3
+ import { JoiningPolicy, ActiveLinkKeyType, InitialJoinMethod, SelectedKeyNegotiationProtocol, SelectedPreSharedSecret } from './enums';
4
+ import { Status } from './status';
5
+ /**
6
+ * Bits:
7
+ * - [alternatePANCoordinator: 1]
8
+ * - [deviceType: 1]
9
+ * - [powerSource: 1]
10
+ * - [rxOnWhenIdle: 1]
11
+ * - [reserved1: 1]
12
+ * - [reserved2: 1]
13
+ * - [securityCapability: 1]
14
+ * - [securityCapability: 1]
15
+ */
16
+ export type MACCapabilityFlags = {
17
+ /**
18
+ * 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.
19
+ * Otherwise, the alternative PAN coordinator sub-field shall be set to 0.
20
+ */
21
+ alternatePANCoordinator: number;
22
+ /**
23
+ * 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).
24
+ * Otherwise, the device type sub-field shall be set to 0, indicating a reduced function device (RFD).
25
+ */
26
+ deviceType: number;
27
+ /**
28
+ * The power source sub-field is one bit in length and shall be set to 1 if the current power source is mains power.
29
+ * Otherwise, the power source sub-field shall be set to 0.
30
+ * This information is derived from the node current power source field of the node power descriptor.
31
+ */
32
+ powerSource: number;
33
+ /**
34
+ * 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
35
+ * conserve power during idle periods.
36
+ * Otherwise, the receiver on when idle sub-field shall be set to 0 (see also section 2.3.2.4.)
37
+ */
38
+ rxOnWhenIdle: number;
39
+ reserved1: number;
40
+ reserved2: number;
41
+ /**
42
+ * 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
43
+ * frames secured using the security suite specified in [B1].
44
+ * Otherwise, the security capability sub-field shall be set to 0.
45
+ */
46
+ securityCapability: number;
47
+ /** The allocate address sub-field is one bit in length and shall be set to 0 or 1. */
48
+ allocateAddress: number;
49
+ };
50
+ /**
51
+ * Bits:
52
+ * - [primaryTrustCenter: 1]
53
+ * - [backupTrustCenter: 1]
54
+ * - [deprecated1: 1]
55
+ * - [deprecated2: 1]
56
+ * - [deprecated3: 1]
57
+ * - [deprecated4: 1]
58
+ * - [networkManager: 1]
59
+ * - [reserved1: 1]
60
+ * - [reserved2: 1]
61
+ * - [stackComplianceResivion: 7]
62
+ */
63
+ export type ServerMask = {
64
+ primaryTrustCenter: number;
65
+ backupTrustCenter: number;
66
+ deprecated1: number;
67
+ deprecated2: number;
68
+ deprecated3: number;
69
+ deprecated4: number;
70
+ networkManager: number;
71
+ reserved1: number;
72
+ reserved2: number;
73
+ /**
74
+ * Indicate the Revision of the Zigbee Pro Core specification that the running stack is implemented to.
75
+ * Prior to Revision 21 of the specification these bits were reserved and thus set to 0.
76
+ * A stack that is compliant to Revision 23 would set these bits to 23 (0010111b).
77
+ * A stack SHALL indicate the Revision of the specification it is compliant to by setting these bits.
78
+ */
79
+ stackComplianceResivion: number;
80
+ };
81
+ export type LQITableEntry = {
82
+ /**
83
+ * The 64-bit extended PAN identifier of the neighboring device.
84
+ *
85
+ * 64-bit
86
+ */
87
+ extendedPanId: ExtendedPanId;
88
+ /**
89
+ * 64-bit IEEE address that is unique to every device.
90
+ * If this value is unknown at the time of the request, this field shall be set to 0xffffffffffffffff.
91
+ *
92
+ * 64-bit
93
+ */
94
+ eui64: EUI64;
95
+ /** The 16-bit network address of the neighboring device. 16-bit */
96
+ nwkAddress: NodeId;
97
+ /**
98
+ * The type of the neighbor device:
99
+ * 0x00 = ZigBee coordinator
100
+ * 0x01 = ZigBee router
101
+ * 0x02 = ZigBee end device
102
+ * 0x03 = Unknown
103
+ *
104
+ * 2-bit
105
+ */
106
+ deviceType: number;
107
+ /**
108
+ * Indicates if neighbor's receiver is enabled during idle portions of the CAP:
109
+ * 0x00 = Receiver is off
110
+ * 0x01 = Receiver is on
111
+ * 0x02 = unknown
112
+ *
113
+ * 2-bit
114
+ */
115
+ rxOnWhenIdle: number;
116
+ /**
117
+ * The relationship between the neighbor and the current device:
118
+ * 0x00 = neighbor is the parent
119
+ * 0x01 = neighbor is a child
120
+ * 0x02 = neighbor is a sibling
121
+ * 0x03 = None of the above
122
+ * 0x04 = previous child
123
+ *
124
+ * 3-bit
125
+ */
126
+ relationship: number;
127
+ /** This reserved bit shall be set to 0. 1-bit */
128
+ reserved1: number;
129
+ /**
130
+ * An indication of whether the neighbor device is accepting join requests:
131
+ * 0x00 = neighbor is not accepting join requests
132
+ * 0x01 = neighbor is accepting join requests
133
+ * 0x02 = unknown
134
+ *
135
+ * 2-bit
136
+ */
137
+ permitJoining: number;
138
+ /** Each of these reserved bits shall be set to 0. 6-bit */
139
+ reserved2: number;
140
+ /**
141
+ * The tree depth of the neighbor device.
142
+ * A value of 0x00 indicates that the device is the ZigBee coordinator for the network
143
+ *
144
+ * 8-bit
145
+ */
146
+ depth: number;
147
+ /**
148
+ * The estimated link quality for RF transmissions from this device.
149
+ * See [B1] for discussion of how this is calculated.
150
+ *
151
+ * 8-bit
152
+ */
153
+ lqi: number;
154
+ };
155
+ export type RoutingTableEntry = {
156
+ /** 16-bit network address of this route */
157
+ destinationAddress: NodeId;
158
+ /**
159
+ * Status of the route
160
+ * 0x0=ACTIVE.
161
+ * 0x1=DISCOVERY_UNDERWAY.
162
+ * 0x2=DISCOVERY_FAILED.
163
+ * 0x3=INACTIVE.
164
+ * 0x4=VALIDATION_UNDERWAY
165
+ * 0x5-0x7=RESERVED
166
+ *
167
+ * 3-bit
168
+ */
169
+ status: number;
170
+ /**
171
+ * A flag indicating whether the device is a memory constrained concentrator
172
+ *
173
+ * 1-bit
174
+ */
175
+ memoryConstrained: number;
176
+ /**
177
+ * A flag indicating that the destination is a concentrator that issued a many-to-one request
178
+ *
179
+ * 1-bit
180
+ */
181
+ manyToOne: number;
182
+ /**
183
+ * A flag indicating that a route record command frame should be sent to the destination prior to the next data packet.
184
+ *
185
+ * 1-bit
186
+ */
187
+ routeRecordRequired: number;
188
+ /** 2-bit */
189
+ reserved1: number;
190
+ /** 16-bit network address of the next hop on the way to the destination. */
191
+ nextHopAddress: number;
192
+ };
193
+ export type BindingTableEntry = {
194
+ /** The source IEEE address for the binding entry. */
195
+ sourceEui64: EUI64;
196
+ /** The source endpoint for the binding entry. */
197
+ sourceEndpoint: number;
198
+ /** The identifier of the cluster on the source device that is bound to the destination device. */
199
+ clusterId: ClusterId;
200
+ /**
201
+ * The addressing mode for the destination address. This field can take one of the non-reserved values from the following list:
202
+ * - 0x00 = reserved
203
+ * - 0x01 = 16-bit group address for DstAddr and DstEndpoint not present
204
+ * - 0x02 = reserved
205
+ * - 0x03 = 64-bit extended address for DstAddr and DstEndp present
206
+ * - 0x04 – 0xff = reserved
207
+ */
208
+ destAddrMode: number;
209
+ /** The destination address for the binding entry. 2-byte or 8-byte */
210
+ dest: NodeId | EUI64;
211
+ /**
212
+ * This field shall be present only if the DstAddrMode field has a value of 0x03 and, if present,
213
+ * shall be the destination endpoint for the binding entry.
214
+ */
215
+ destEndpoint?: number;
216
+ };
217
+ export type NetworkAddressResponse = {
218
+ /** 64-bit address for the Remote Device. */
219
+ eui64: EUI64;
220
+ /** 16-bit address for the Remote Device. */
221
+ nwkAddress: NodeId;
222
+ /**
223
+ * Starting index into the list of associated devices for this report.
224
+ * If the RequestType in the request is Extended Response and there are no associated devices on the Remote Device,
225
+ * this field SHALL NOT be included in the frame.
226
+ * 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.
227
+ */
228
+ startIndex: number;
229
+ /**
230
+ * A list of 16-bit addresses, one corresponding to each associated device to Remote Device;
231
+ * The number of 16-bit network addresses contained in this field is specified in the NumAssocDev field.
232
+ * If the RequestType in the request is Extended Response and there are no associated devices on the Remote Device,
233
+ * this field SHALL NOT be included in the frame.
234
+ * 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.
235
+ */
236
+ assocDevList: NodeId[];
237
+ };
238
+ export type IEEEAddressResponse = {
239
+ /** @see NetworkAddressResponse.eui64 */
240
+ eui64: EUI64;
241
+ /** @see NetworkAddressResponse.nwkAddress */
242
+ nwkAddress: NodeId;
243
+ /** @see NetworkAddressResponse.startIndex */
244
+ startIndex: number;
245
+ /** @see NetworkAddressResponse.assocDevList */
246
+ assocDevList: NodeId[];
247
+ };
248
+ export type NodeDescriptorResponse = {
249
+ /** NWK address for the request. */
250
+ nwkAddress: NodeId;
251
+ /** 000 == Zigbee Coordinator, 001 == Zigbee Router, 010 === Zigbee End Device, 011-111 === Reserved */
252
+ logicalType: number;
253
+ /** R23 and above (determined via other means if not). Indicates whether the device supports fragmentation at the APS layer. */
254
+ fragmentationSupported: boolean | null;
255
+ /** Specifies the application support sub-layer capabilities of the node. Currently not supported, should be zero */
256
+ apsFlags: number;
257
+ /**
258
+ * Specifies the frequency bands that are supported by the underlying IEEE Std 802.15.4 radio(s) utilized by the node.
259
+ * Bits:
260
+ * - 0 = 868 – 868.6 MHz
261
+ * - 1 = Reserved
262
+ * - 2 = 902 – 928 MHz
263
+ * - 3 = 2400 – 2483.5 MHz
264
+ * - 4 = GB Smart Energy sub-GHz bands: (863-876MHz and 915-921MHz)
265
+ */
266
+ frequencyBand: number;
267
+ /** Specifies the node capabilities. */
268
+ capabilities: MACCapabilityFlags;
269
+ /** Specifies a manufacturer code that is allocated by the Connectivity Standards Alliance, relating the manufacturer to the device. */
270
+ manufacturerCode: number;
271
+ /**
272
+ * Specifies the maximum size, in octets, of the network sub-layer data unit (NSDU) for this node.
273
+ * This is the maximum size of data or commands passed to or from the application by the application support sub-layer,
274
+ * before any fragmentation or re-assembly.
275
+ * This field can be used as a high-level indication for network management.
276
+ * Valid range of 0x00-0x7f.
277
+ */
278
+ maxBufSize: number;
279
+ /**
280
+ * Indicates the device's apsMaxSizeASDU AIB value.
281
+ * Specifies the maximum size, in octets, of the application sub-layer data unit (ASDU) that can be transferred to this node
282
+ * in one single message transfer.
283
+ * 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.
284
+ * Valid range of 0x0000-0x7fff.
285
+ */
286
+ maxIncTxSize: number;
287
+ /** The system server capabilities of this node */
288
+ serverMask: ServerMask;
289
+ /**
290
+ * Specifies the maximum size, in octets, of the application sub-layer data unit (ASDU) that can be transferred
291
+ * from this node in one single message transfer.
292
+ * 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.
293
+ * Valid range of 0x0000-0x7fff.
294
+ */
295
+ maxOutTxSize: number;
296
+ deprecated1: number;
297
+ } & TLVs;
298
+ export type PowerDescriptorResponse = {
299
+ /** NWK address for the request. */
300
+ nwkAddress: NodeId;
301
+ /**
302
+ * - 0000 == receiver sync'ed with receiver on when idle subfield of the node descriptor
303
+ * - 0001 == receiver comes on periodically as defined by the node power descriptor
304
+ * - 0010 == receiver comes on when stimulated, for example, by a user pressing a button
305
+ * - 0011-1111 reserved
306
+ */
307
+ currentPowerMode: number;
308
+ /**
309
+ * Bits:
310
+ * - 0 == constants (mains) power
311
+ * - 1 == rechargeable battery
312
+ * - 2 == disposable battery
313
+ * - 3 == reserved
314
+ */
315
+ availPowerSources: number;
316
+ /**
317
+ * Bits:
318
+ * - 0 == constants (mains) power
319
+ * - 1 == rechargeable battery
320
+ * - 2 == disposable battery
321
+ * - 3 == reserved
322
+ */
323
+ currentPowerSource: number;
324
+ /**
325
+ * - 0000 == critical
326
+ * - 0100 == 33%
327
+ * - 1000 == 66%
328
+ * - 1100 == 100%
329
+ */
330
+ currentPowerSourceLevel: number;
331
+ };
332
+ export type SimpleDescriptorResponse = {
333
+ /** NWK address for the request. */
334
+ nwkAddress: NodeId;
335
+ /**
336
+ * Specifies the endpoint within the node to which this description refers.
337
+ * Applications SHALL only use endpoints 1-254.
338
+ * Endpoints 241-254 SHALL be used only with the approval of the Connectivity Standards Alliance.
339
+ * The Green Power cluster, if implemented, SHALL use endpoint 242.
340
+ */
341
+ endpoint: number;
342
+ /**
343
+ * Specifies the profile that is supported on this endpoint.
344
+ * Profile identifiers SHALL be obtained from the Connectivity Standards Alliance.
345
+ */
346
+ profileId: ProfileId;
347
+ /**
348
+ * Specifies the device description supported on this endpoint.
349
+ * Device description identifiers SHALL be obtained from the Connectivity Standards Alliance.
350
+ */
351
+ deviceId: number;
352
+ /**
353
+ * Specifies the version of the device description supported on this endpoint.
354
+ * The application device version field SHALL be set to one of the non-reserved values listed in Table 2-41.
355
+ * Default SHALL be 0000 unless otherwise defined by the application profile.
356
+ * Valid range 0000-1111, others reserved
357
+ */
358
+ deviceVersion: number;
359
+ /**
360
+ * Specifies the list of input clusters supported on this endpoint, for use during the service discovery and binding procedures.
361
+ * The application input cluster list field SHALL be included only if the value of the application input cluster count field is greater than zero.
362
+ */
363
+ inClusterList: ClusterId[];
364
+ /**
365
+ * Specifies the list of output clusters supported on this endpoint, for use during the service discovery and binding procedures.
366
+ * The application output cluster list field SHALL be included only if the value of the application output cluster count field
367
+ * is greater than zero.
368
+ */
369
+ outClusterList: ClusterId[];
370
+ };
371
+ export type ActiveEndpointsResponse = {
372
+ /** NWK address for the request. */
373
+ nwkAddress: NodeId;
374
+ /** List of bytes each of which represents an 8-bit endpoint. */
375
+ endpointList: number[];
376
+ };
377
+ export type MatchDescriptorsResponse = {
378
+ /** NWK address for the request. */
379
+ nwkAddress: NodeId;
380
+ /** List of bytes each of which represents an 8-bit endpoint. */
381
+ endpointList: number[];
382
+ };
383
+ export type EndDeviceAnnounce = {
384
+ /** NWK address for the request. */
385
+ nwkAddress: NodeId;
386
+ eui64: EUI64;
387
+ capabilities: MACCapabilityFlags;
388
+ };
389
+ export type SystemServerDiscoveryResponse = {
390
+ /** The system server capabilities of this node */
391
+ serverMask: ServerMask;
392
+ };
393
+ export type ParentAnnounceResponse = {
394
+ children: EUI64[];
395
+ };
396
+ export type LQITableResponse = {
397
+ /** [0x00-0xFF] Total number of neighbor table entries within the remote device */
398
+ neighborTableEntries: number;
399
+ /** [0x00-0xFF] Starting index within the neighbor table to begin reporting for the NeighborTableList */
400
+ startIndex: number;
401
+ /**
402
+ * A list of descriptors, beginning with the StartIndex element and continuing for NeighborTableListCount,
403
+ * of the elements in the Remote Device's Neighbor Table including the device address and associated LQI ( @see LQITableEntry ).
404
+ */
405
+ entryList: LQITableEntry[];
406
+ };
407
+ export type RoutingTableResponse = {
408
+ /** [0x00-0xFF] Total number of Routing Table entries within the Remote Device. */
409
+ routingTableEntries: number;
410
+ /** [0x00-0xFF] Starting index within the Routing Table to begin reporting for the RoutingTableList. */
411
+ startIndex: number;
412
+ /**
413
+ * A list of descriptors, beginning with the StartIndex element and continuing for RoutingTableListCount,
414
+ * of the elements in the Remote Device's Routing Table ( @see RoutingTableEntry ).
415
+ */
416
+ entryList: RoutingTableEntry[];
417
+ };
418
+ export type BindingTableResponse = {
419
+ /** [0x00-0xFF] Total number of Binding Table entries within the Remote Device. */
420
+ bindingTableEntries: number;
421
+ /** [0x00-0xFF] Starting index within the Binding Table to begin reporting for the BindingTableList. */
422
+ startIndex: number;
423
+ /**
424
+ * A list of descriptors, beginning with the StartIndex element and continuing for BindingTableList- Count,
425
+ * of the elements in the Remote Device's Binding Table ( @see BindingTableEntry ).
426
+ */
427
+ entryList: BindingTableEntry[];
428
+ };
429
+ export type NwkUpdateResponse = {
430
+ /**
431
+ * The five most significant bits (b27,..., b31) represent the binary encoded Channel Page.
432
+ * The 27 least significant bits (b0, b1,... b26) indicate which channels were scanned (1 = scan, 0 = do not scan)
433
+ * for each of the 27 valid channels.
434
+ */
435
+ scannedChannels: number;
436
+ /** Count of the total transmissions reported by the device. */
437
+ totalTransmissions: number;
438
+ /** Sum of the total transmission failures reported by the device. */
439
+ totalFailures: number;
440
+ /**
441
+ * The result of an energy measurement made on this channel in accordance with [B1].
442
+ * 0xff if there is too much interference on this channel.
443
+ */
444
+ entryList: number[];
445
+ };
446
+ export type NwkEnhancedUpdateResponse = {
447
+ /**
448
+ * The five most significant bits (b27,..., b31) represent the binary encoded Channel Page.
449
+ * The 27 least significant bits (b0, b1,... b26) indicate which channels were scanned (1 = scan, 0 = do not scan)
450
+ * for each of the 27 valid channels.
451
+ */
452
+ scannedChannels: number;
453
+ /** Count of the total transmissions reported by the device. */
454
+ totalTransmissions: number;
455
+ /** Sum of the total transmission failures reported by the device. */
456
+ totalFailures: number;
457
+ /**
458
+ * The result of an energy measurement made on this channel in accordance with [B1].
459
+ * 0xff if there is too much interference on this channel.
460
+ */
461
+ entryList: number[];
462
+ };
463
+ export type NwkIEEEJoiningListResponse = {
464
+ /**
465
+ * The issue ID of the IeeeJoiningList.
466
+ * This field SHALL start at 0 and increment for each change to the IeeeJoiningList,
467
+ * or each change to the Joining Policy wrapping to 0 after 0xFF.
468
+ */
469
+ updateId: number;
470
+ /** This is an enumeration. */
471
+ joiningPolicy: JoiningPolicy;
472
+ /** The total number of IEEE Joining Addresses contained in the response. */
473
+ entryListTotal: number;
474
+ /** The starting index in the mibIeeeJoiningList. This field SHALL be omitted if the entryListTotal is 0. */
475
+ startIndex?: number;
476
+ /** A list of IEEE addresses from the mibIeeeJoiningList. This field SHALL be omitted if the entryListTotal is 0. */
477
+ entryList?: EUI64[];
478
+ };
479
+ export type NwkUnsolicitedEnhancedUpdateResponse = {
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 is in use (1 = in use, 0 = not in use)
483
+ * for each of the 27 valid channels.
484
+ */
485
+ channelInUse: number;
486
+ /**
487
+ * Total number of Mac Tx Transactions to attempt to send a message (but not counting retries)
488
+ */
489
+ macTxUCastTotal: number;
490
+ /**
491
+ * 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.
492
+ */
493
+ macTxUCastFailures: number;
494
+ /**
495
+ * Total number of Mac Retries regardless of whether the transaction resulted in success or failure.
496
+ */
497
+ macTxUCastRetries: number;
498
+ /** Time period over which MACTxyyy results are measured (in minutes) */
499
+ timePeriod: number;
500
+ };
501
+ export type NwkBeaconSurveyResponse = TLVs;
502
+ export type StartKeyNegotiationResponse = TLVs;
503
+ export type RetrieveAuthenticationTokenResponse = TLVs;
504
+ export type GetAuthenticationLevelResponse = TLVs;
505
+ export type SetConfigurationResponse = TLVs;
506
+ export type GetConfigurationResponse = TLVs;
507
+ export type ChallengeResponse = TLVs;
508
+ /** Defined outside the Zigbee specification. Only TLV that can be added more than once to same frame. */
509
+ export type ManufacturerSpecificGlobalTLV = {
510
+ /** 2-byte */
511
+ zigbeeManufacturerId: number;
512
+ additionalData: Buffer;
513
+ };
514
+ export type SupportedKeyNegotiationMethodsGlobalTLV = {
515
+ /**
516
+ * Bits:
517
+ * - 0 Static Key Request (Zigbee 3.0 Mechanism)
518
+ * - 1 SPEKE using Curve25519 with Hash AES-MMO-128
519
+ * - 2 SPEKE using Curve25519 with Hash SHA-256
520
+ * - 3 – 7 Reserved
521
+ */
522
+ keyNegotiationProtocolsBitmask: number;
523
+ /**
524
+ * Bits:
525
+ * - 0 Symmetric Authentication Token
526
+ * - 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.
527
+ * 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.
528
+ * - 1 Install Code Key
529
+ * - 128-bit pre-configured link-key derived from install code
530
+ * - 2 Passcode Key
531
+ * - A variable length passcode for PAKE protocols. This passcode can be shorter for easy entry by a user.
532
+ * - 3 Basic Access Key
533
+ * - This key is used by other Zigbee specifications for joining with an alternate pre-shared secret.
534
+ * The definition and usage is defined by those specifications. The usage is optional by the core Zigbee specification.
535
+ * - 4 Administrative Access Key
536
+ * - This key is used by other Zigbee specifications for joining with an alternate pre-shared secret.
537
+ * The definition and usage is defined by those specifications. The usage is optional by the core Zigbee specification.
538
+ * - 5-7 Reserved -
539
+ */
540
+ preSharedSecretsBitmask: number;
541
+ /** XXX: Assumed optional from minimum length of TLV in spec */
542
+ sourceDeviceEui64?: EUI64;
543
+ };
544
+ export type PanIdConflictReportGlobalTLV = {
545
+ /** 2-byte */
546
+ nwkPanIdConflictCount: number;
547
+ };
548
+ export type NextPanIdChangeGlobalTLV = {
549
+ /** 2-bytes in length and indicates the next channel that will be used once a Network Update command is received to change PAN IDs. */
550
+ panId: PanId;
551
+ };
552
+ export type NextChannelChangeGlobalTLV = {
553
+ /** 4-bytes in length and indicates the next channel that will be used once a start channel change command is received. */
554
+ channel: number;
555
+ };
556
+ export type SymmetricPassphraseGlobalTLV = {
557
+ /** 16-byte 128-bit */
558
+ passphrase: Buffer;
559
+ };
560
+ export type RouterInformationGlobalTLV = {
561
+ /**
562
+ * Bits:
563
+ * - 0 Hub Connectivity
564
+ * - This bit indicates the state of nwkHubConnectivity from the NIB of the local device.
565
+ * It advertises whether the router has connectivity to a Hub device as defined by the higher-level application layer.
566
+ * A value of 1 means there is connectivity, and a value of 0 means there is no current Hub connectivity.
567
+ * 1 Uptime
568
+ * - 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.
569
+ * A value of 0 indicates the router has been up for less than 24 hours.
570
+ * 2 Preferred Parent
571
+ * - This bit indicates the state of nwkPreferredParent from the NIB of the local device.
572
+ * When supported, it extends Hub Connecivity, advertising the devices capacity to be the parent for an additional device.
573
+ * A value of 1 means that this device should be preferred. A value of 0 indicates that it should not be preferred.
574
+ * Devices that do not make this determination SHALL always report a value of 0.
575
+ * 3 Battery Backup
576
+ * - This bit indicates that the router has battery backup and thus will not be affected by temporary losses in power.
577
+ * 4 Enhanced Beacon Request Support
578
+ * - 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.
579
+ * A zero for this bit indicates the device has no support for responding to enhanced beacon requests.
580
+ * 5 MAC Data Poll Keepalive Support
581
+ * - This indicates that the device has support for the MAC Data Poll Keepalive method for End Device timeouts.
582
+ * 6 End Device Keepalive Support
583
+ * - This indicates that the device has support for the End Device Keepalive method for End Device timeouts.
584
+ * 7 Power Negotiation Support
585
+ * - This indicates the device has support for Power Negotiation with end devices.
586
+ * 8-15 Reserved These bits SHALL be set to 0.
587
+ */
588
+ bitmask: number;
589
+ };
590
+ export type FragmentationParametersGlobalTLV = {
591
+ /** This indicates the node ID of the device that the subsequent fragmentation parameters apply to. */
592
+ nwkAddress: NodeId;
593
+ /**
594
+ * This bitfield indicates what fragmentation options are supported by the device.
595
+ * It has the following enumerated bits:
596
+ * - Bit 0 = APS Fragmentation Supported. Set to 1 to indicate support; 0 to indicate no support
597
+ * If set to 1, the maximum reassembled message size is indicated by the Maximum Incoming Transfer Unit.
598
+ * - Bit 1-7 = Reserved for future use
599
+ *
600
+ * XXX: Assumed optional from minimum length of TLV in spec
601
+ */
602
+ fragmentationOptions?: number;
603
+ /**
604
+ * This is a copy of the local device’s apsMaxSizeASDU AIB value.
605
+ * This indicates the maximum reassembled message size at the application layer after fragmentation has been applied
606
+ * on the message at the lower layers.
607
+ * A device supporting fragmentation would set this field to be larger than the normal payload size of the underlying NWK and MAC layer.
608
+ *
609
+ * XXX: Assumed optional from minimum length of TLV in spec
610
+ */
611
+ maxIncomingTransferUnit?: number;
612
+ };
613
+ export type JoinerEncapsulationGlobalTLV = {
614
+ additionalTLVs: TLV[];
615
+ };
616
+ export type BeaconAppendixEncapsulationGlobalTLV = {
617
+ /** At least `SupportedKeyNegotiationMethodsGlobalTLV`, `FragmentationParametersGlobalTLV` */
618
+ additionalTLVs: TLV[];
619
+ };
620
+ export type ConfigurationParametersGlobalTLV = {
621
+ /**
622
+ * 2-bytes in length and indicates various parameters about how the stack SHALL behave
623
+ * Bit:
624
+ * - 0 AIB apsZdoRestrictedMode
625
+ * - 1 Device Security Policy requireLinkKeyEncryptionForApsTransportKey
626
+ * - 2 NIB nwkLeaveRequestAllowed
627
+ * - 3–15 Reserved Reserved
628
+ */
629
+ configurationParameters: number;
630
+ };
631
+ export type DeviceCapabilityExtensionGlobalTLV = {
632
+ data: Buffer;
633
+ };
634
+ /**
635
+ * NOTE: The Maximum Transmission Unit (MTU) of the underlying message will limit the maximum range of this field.
636
+ */
637
+ export type ClearAllBindingsReqEUI64TLV = {
638
+ /** A list of EUI64 that SHALL trigger corresponding bindings to be deleted. */
639
+ eui64List: EUI64[];
640
+ };
641
+ export type BeaconSurveyConfigurationTLV = {
642
+ /**
643
+ * The list of channels and pages over which the scan is to be done.
644
+ * For more information on the Channel List structure see section 3.2.2.2.1.
645
+ */
646
+ scanChannelList: number[];
647
+ /**
648
+ * - 0 Active or Enhanced Scan This bit determines whether to do an Active Scan or Enhanced Active Scan.
649
+ * When the bit is set to 1 it indicates an Enhanced Active Scan.
650
+ * And in case of Enhanced Active scan EBR shall be sent with EPID filter instead of PJOIN filter.
651
+ * - 1 – 7 Reserved -
652
+ */
653
+ configurationBitmask: number;
654
+ };
655
+ export type Curve25519PublicPointTLV = {
656
+ /** This indicates the EUI64 of the device that generated the public point. */
657
+ eui64: EUI64;
658
+ /** The 32-byte Curve public point. */
659
+ publicPoint: Buffer;
660
+ };
661
+ export type AuthenticationTokenIdTLV = {
662
+ /** The Global TLV Type Tag ID being requested for an authentication token. */
663
+ tlvTypeTagId: number;
664
+ };
665
+ export type TargetIEEEAddressTLV = {
666
+ /** Extended address of the device whose security level is requested. */
667
+ ieee: EUI64;
668
+ };
669
+ export type SelectedKeyNegotiationMethodTLV = {
670
+ /**
671
+ * The enumeration of the key negotiation method the sender is requesting to use in key negotiation.
672
+ */
673
+ protocol: SelectedKeyNegotiationProtocol;
674
+ /**
675
+ * The enumeration indicating the pre-shared secret that the sending device is requesting to be used in the key negotiation.
676
+ */
677
+ presharedSecret: SelectedPreSharedSecret;
678
+ /** The value of the EUI64 of the device sending the message. This field SHALL always be present. */
679
+ sendingDeviceEui64: EUI64;
680
+ };
681
+ export type DeviceEUI64ListTLV = {
682
+ /** A list of EUI64 that shall trigger decommissioning operations. Count: [0x00-0xFF] */
683
+ eui64List: EUI64[];
684
+ };
685
+ export type APSFrameCounterChallengeTLV = {
686
+ /** The EUI64 of the device that generated the frame. */
687
+ senderEui64: EUI64;
688
+ /**
689
+ * A randomly generated 64-bit value sent to a device to prove they have the link key.
690
+ * This allows the initiator to detect replayed challenge response frames.
691
+ */
692
+ challengeValue: Buffer;
693
+ };
694
+ export type APSFrameCounterResponseTLV = {
695
+ /** The EUI64 of the device that is responding to the Security_Challenge_req with its own challenge. */
696
+ responderEui64: EUI64;
697
+ /** A randomly generated 64-bit value previously received in the APSFrameCounterChallengeTLV. */
698
+ receivedChallengeValue: Buffer;
699
+ /** The current outgoing APS security frame counter held by the Responder EUI64 device. */
700
+ apsFrameCounter: number;
701
+ /**
702
+ * The AES-CCM-128 outgoing frame counter used to generate the MIC over the octet sequence
703
+ * { tag || length || responder EUI-64 || received challenge value || APS frame counter }
704
+ * using the special nonce and AES-128 key for frame counter synchronization.
705
+ */
706
+ challengeSecurityFrameCounter: number;
707
+ /**
708
+ * The AES-128-CCM 64-bit MIC (security level 2) on all previous fields of this TLV,
709
+ * excluding the challenge security frame counter, including Tag ID and length fields.
710
+ */
711
+ mic: Buffer;
712
+ };
713
+ export type BeaconSurveyResultsTLV = {
714
+ /** The total number of IEEE Std 802.15.4 beacons received during the scan. */
715
+ totalBeaconsReceived: number;
716
+ /** The total number of Zigbee Network beacons where the Extended PAN ID matches the local device’s nwkExtendedPanId. */
717
+ onNetworkBeacons: number;
718
+ /**
719
+ * The total number of Zigbee Network beacons where the Extended PAN ID matches and the Zigbee Beacon payload indicates
720
+ * End Device Capacity = TRUE.
721
+ */
722
+ potentialParentBeacons: number;
723
+ /**
724
+ * The total number of IEEE Std 802.15.4 beacons from other Zigbee networks or other IEEE Std 802.15.4 networks.
725
+ * Other Zigbee network beacons are defined as when the Extended PAN ID does not match the local Extended PAN ID.
726
+ */
727
+ otherNetworkBeacons: number;
728
+ };
729
+ export type PotentialParentsTLV = {
730
+ /** The short address that is the current parent for the device. For a router or coordinator this value SHALL be set to 0xFFFF. */
731
+ currentParentNwkAddress: number;
732
+ /** The value of the LQA of the current parent. */
733
+ currentParentLQA: number;
734
+ /**
735
+ * This is the count of additional potential parent short addresses and their associated LQA.
736
+ * If there are no other potential parents this SHALL indicate 0. This value SHALL not be greater than 5.
737
+ */
738
+ entryCount: number;
739
+ potentialParents: {
740
+ /** The short address for a potential parent that the device can hear a beacon for. */
741
+ nwkAddress: number;
742
+ /** The LQA value of the associated potential parent. */
743
+ lqa: number;
744
+ }[];
745
+ };
746
+ export type DeviceAuthenticationLevelTLV = {
747
+ /** 64-bit address for the node that is being inquired about. */
748
+ remoteNodeIeee: EUI64;
749
+ /** This indicates the joining method that was used when the device joined the network. */
750
+ initialJoinMethod: InitialJoinMethod;
751
+ /** This indicates what Link Key update method was used to create the current active Link Key. */
752
+ activeLinkKeyType: ActiveLinkKeyType;
753
+ };
754
+ export type ProcessingStatusTLV = {
755
+ /**
756
+ * indicate the number of Tag ID and Processing Status pairs are present in the full TLV.
757
+ * The count may be zero, indicating that there were no known TLVs in the previous message that could be processed.
758
+ */
759
+ count: number;
760
+ tlvs: {
761
+ /** Indicate a previously received TLV tag ID */
762
+ tagId: number;
763
+ /** The associated status of whether it is processed */
764
+ processingStatus: Status.SUCCESS | Status.INV_REQUESTTYPE | Status.NOT_SUPPORTED;
765
+ }[];
766
+ };
767
+ export type LocalTLVType = (ClearAllBindingsReqEUI64TLV | BeaconSurveyConfigurationTLV | Curve25519PublicPointTLV | AuthenticationTokenIdTLV | TargetIEEEAddressTLV | SelectedKeyNegotiationMethodTLV | DeviceEUI64ListTLV | APSFrameCounterChallengeTLV | APSFrameCounterResponseTLV | BeaconSurveyResultsTLV | PotentialParentsTLV | DeviceAuthenticationLevelTLV | ProcessingStatusTLV);
768
+ export type LocalTLVReader = (length: number) => LocalTLVType;
769
+ export type TLV = {
770
+ /** 1-byte - 0-63: Local, 64-255: Global */
771
+ tagId: number;
772
+ /**
773
+ * The Length byte encodes the number of bytes in the value field -1.
774
+ * This means that a TLV with length field of 3 is expected to contain 4 bytes of data in the value field.
775
+ *
776
+ * WARNING: This field is assumed to always include the +1 offset, and logic should do the appropriate reversal when writing the actual buffer.
777
+ *
778
+ * 1-byte
779
+ */
780
+ length: number;
781
+ /** Size = ${length + 1} */
782
+ tlv: (ManufacturerSpecificGlobalTLV | SupportedKeyNegotiationMethodsGlobalTLV | PanIdConflictReportGlobalTLV | NextPanIdChangeGlobalTLV | NextChannelChangeGlobalTLV | SymmetricPassphraseGlobalTLV | RouterInformationGlobalTLV | FragmentationParametersGlobalTLV | JoinerEncapsulationGlobalTLV | BeaconAppendixEncapsulationGlobalTLV | ConfigurationParametersGlobalTLV | DeviceCapabilityExtensionGlobalTLV | LocalTLVType);
783
+ };
784
+ export type TLVs = {
785
+ tlvs: TLV[];
786
+ };
787
+ //# sourceMappingURL=tstypes.d.ts.map