@willieee802/zigbee-herdsman 0.19.21 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/.babelrc.js +0 -4
  2. package/.release-please-manifest.json +1 -2
  3. package/CHANGELOG.md +462 -0
  4. package/README.md +1 -1
  5. package/dist/adapter/adapter.d.ts +61 -61
  6. package/dist/adapter/adapter.d.ts.map +1 -1
  7. package/dist/adapter/adapter.js +158 -153
  8. package/dist/adapter/adapter.js.map +1 -1
  9. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +68 -68
  10. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  11. package/dist/adapter/deconz/adapter/deconzAdapter.js +1081 -1060
  12. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  13. package/dist/adapter/deconz/adapter/index.d.ts +2 -2
  14. package/dist/adapter/deconz/adapter/index.js +10 -10
  15. package/dist/adapter/deconz/driver/constants.d.ts +104 -104
  16. package/dist/adapter/deconz/driver/constants.js +55 -55
  17. package/dist/adapter/deconz/driver/driver.d.ts +81 -81
  18. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  19. package/dist/adapter/deconz/driver/driver.js +750 -732
  20. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  21. package/dist/adapter/deconz/driver/frame.d.ts +6 -6
  22. package/dist/adapter/deconz/driver/frame.js +13 -13
  23. package/dist/adapter/deconz/driver/frameParser.d.ts +2 -2
  24. package/dist/adapter/deconz/driver/frameParser.js +443 -443
  25. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  26. package/dist/adapter/deconz/driver/parser.d.ts +12 -12
  27. package/dist/adapter/deconz/driver/parser.js +63 -61
  28. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  29. package/dist/adapter/deconz/driver/writer.d.ts +8 -8
  30. package/dist/adapter/deconz/driver/writer.js +44 -44
  31. package/dist/adapter/ember/adapter/emberAdapter.d.ts +810 -0
  32. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -0
  33. package/dist/adapter/ember/adapter/emberAdapter.js +2970 -0
  34. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -0
  35. package/dist/adapter/ember/adapter/endpoints.d.ts +25 -0
  36. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -0
  37. package/dist/adapter/ember/adapter/endpoints.js +66 -0
  38. package/dist/adapter/ember/adapter/endpoints.js.map +1 -0
  39. package/dist/adapter/ember/adapter/index.d.ts +3 -0
  40. package/dist/adapter/ember/adapter/index.d.ts.map +1 -0
  41. package/dist/adapter/ember/adapter/index.js +6 -0
  42. package/dist/adapter/ember/adapter/index.js.map +1 -0
  43. package/dist/adapter/ember/adapter/oneWaitress.d.ts +100 -0
  44. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -0
  45. package/dist/adapter/ember/adapter/oneWaitress.js +227 -0
  46. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -0
  47. package/dist/adapter/ember/adapter/requestQueue.d.ts +59 -0
  48. package/dist/adapter/ember/adapter/requestQueue.d.ts.map +1 -0
  49. package/dist/adapter/ember/adapter/requestQueue.js +144 -0
  50. package/dist/adapter/ember/adapter/requestQueue.js.map +1 -0
  51. package/dist/adapter/ember/adapter/tokensManager.d.ts +69 -0
  52. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -0
  53. package/dist/adapter/ember/adapter/tokensManager.js +685 -0
  54. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -0
  55. package/dist/adapter/ember/consts.d.ts +198 -0
  56. package/dist/adapter/ember/consts.d.ts.map +1 -0
  57. package/dist/adapter/ember/consts.js +253 -0
  58. package/dist/adapter/ember/consts.js.map +1 -0
  59. package/dist/adapter/ember/enums.d.ts +2174 -0
  60. package/dist/adapter/ember/enums.d.ts.map +1 -0
  61. package/dist/adapter/ember/enums.js +2377 -0
  62. package/dist/adapter/ember/enums.js.map +1 -0
  63. package/dist/adapter/ember/ezsp/buffalo.d.ts +156 -0
  64. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -0
  65. package/dist/adapter/ember/ezsp/buffalo.js +1033 -0
  66. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -0
  67. package/dist/adapter/ember/ezsp/consts.d.ts +116 -0
  68. package/dist/adapter/ember/ezsp/consts.d.ts.map +1 -0
  69. package/dist/adapter/ember/ezsp/consts.js +128 -0
  70. package/dist/adapter/ember/ezsp/consts.js.map +1 -0
  71. package/dist/adapter/ember/ezsp/enums.d.ts +879 -0
  72. package/dist/adapter/ember/ezsp/enums.d.ts.map +1 -0
  73. package/dist/adapter/ember/ezsp/enums.js +948 -0
  74. package/dist/adapter/ember/ezsp/enums.js.map +1 -0
  75. package/dist/adapter/ember/ezsp/ezsp.d.ts +2663 -0
  76. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -0
  77. package/dist/adapter/ember/ezsp/ezsp.js +6435 -0
  78. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -0
  79. package/dist/adapter/ember/types.d.ts +733 -0
  80. package/dist/adapter/ember/types.d.ts.map +1 -0
  81. package/dist/adapter/ember/types.js +3 -0
  82. package/dist/adapter/ember/types.js.map +1 -0
  83. package/dist/adapter/ember/uart/ash.d.ts +458 -0
  84. package/dist/adapter/ember/uart/ash.d.ts.map +1 -0
  85. package/dist/adapter/ember/uart/ash.js +1601 -0
  86. package/dist/adapter/ember/uart/ash.js.map +1 -0
  87. package/dist/adapter/ember/uart/consts.d.ts +91 -0
  88. package/dist/adapter/ember/uart/consts.d.ts.map +1 -0
  89. package/dist/adapter/ember/uart/consts.js +100 -0
  90. package/dist/adapter/ember/uart/consts.js.map +1 -0
  91. package/dist/adapter/ember/uart/enums.d.ts +191 -0
  92. package/dist/adapter/ember/uart/enums.d.ts.map +1 -0
  93. package/dist/adapter/ember/uart/enums.js +197 -0
  94. package/dist/adapter/ember/uart/enums.js.map +1 -0
  95. package/dist/adapter/ember/uart/parser.d.ts +10 -0
  96. package/dist/adapter/ember/uart/parser.d.ts.map +1 -0
  97. package/dist/adapter/ember/uart/parser.js +41 -0
  98. package/dist/adapter/ember/uart/parser.js.map +1 -0
  99. package/dist/adapter/ember/uart/queues.d.ts +85 -0
  100. package/dist/adapter/ember/uart/queues.d.ts.map +1 -0
  101. package/dist/adapter/ember/uart/queues.js +212 -0
  102. package/dist/adapter/ember/uart/queues.js.map +1 -0
  103. package/dist/adapter/ember/uart/writer.d.ts +15 -0
  104. package/dist/adapter/ember/uart/writer.d.ts.map +1 -0
  105. package/dist/adapter/ember/uart/writer.js +48 -0
  106. package/dist/adapter/ember/uart/writer.js.map +1 -0
  107. package/dist/adapter/ember/utils/initters.d.ts +20 -0
  108. package/dist/adapter/ember/utils/initters.d.ts.map +1 -0
  109. package/dist/adapter/ember/utils/initters.js +58 -0
  110. package/dist/adapter/ember/utils/initters.js.map +1 -0
  111. package/dist/adapter/ember/utils/math.d.ts +51 -0
  112. package/dist/adapter/ember/utils/math.d.ts.map +1 -0
  113. package/dist/adapter/ember/utils/math.js +102 -0
  114. package/dist/adapter/ember/utils/math.js.map +1 -0
  115. package/dist/adapter/ember/zdo.d.ts +921 -0
  116. package/dist/adapter/ember/zdo.d.ts.map +1 -0
  117. package/dist/adapter/ember/zdo.js +723 -0
  118. package/dist/adapter/ember/zdo.js.map +1 -0
  119. package/dist/adapter/events.d.ts +47 -47
  120. package/dist/adapter/events.js +13 -14
  121. package/dist/adapter/events.js.map +1 -1
  122. package/dist/adapter/ezsp/adapter/backup.d.ts +13 -9
  123. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  124. package/dist/adapter/ezsp/adapter/backup.js +104 -53
  125. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  126. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +61 -60
  127. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  128. package/dist/adapter/ezsp/adapter/ezspAdapter.js +626 -608
  129. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  130. package/dist/adapter/ezsp/adapter/index.d.ts +2 -2
  131. package/dist/adapter/ezsp/adapter/index.js +10 -10
  132. package/dist/adapter/ezsp/driver/commands.d.ts +36 -36
  133. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
  134. package/dist/adapter/ezsp/driver/commands.js +2388 -2359
  135. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  136. package/dist/adapter/ezsp/driver/consts.d.ts +10 -10
  137. package/dist/adapter/ezsp/driver/consts.js +13 -13
  138. package/dist/adapter/ezsp/driver/driver.d.ts +111 -101
  139. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  140. package/dist/adapter/ezsp/driver/driver.js +816 -638
  141. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  142. package/dist/adapter/ezsp/driver/ezsp.d.ts +105 -96
  143. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  144. package/dist/adapter/ezsp/driver/ezsp.js +652 -586
  145. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  146. package/dist/adapter/ezsp/driver/frame.d.ts +40 -0
  147. package/dist/adapter/ezsp/driver/frame.d.ts.map +1 -0
  148. package/dist/adapter/ezsp/driver/frame.js +101 -0
  149. package/dist/adapter/ezsp/driver/frame.js.map +1 -0
  150. package/dist/adapter/ezsp/driver/index.d.ts +3 -3
  151. package/dist/adapter/ezsp/driver/index.js +8 -8
  152. package/dist/adapter/ezsp/driver/multicast.d.ts +12 -12
  153. package/dist/adapter/ezsp/driver/multicast.js +77 -72
  154. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  155. package/dist/adapter/ezsp/driver/parser.d.ts +11 -12
  156. package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -1
  157. package/dist/adapter/ezsp/driver/parser.js +104 -111
  158. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  159. package/dist/adapter/ezsp/driver/types/basic.d.ts +62 -62
  160. package/dist/adapter/ezsp/driver/types/basic.js +208 -208
  161. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  162. package/dist/adapter/ezsp/driver/types/index.d.ts +9 -9
  163. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
  164. package/dist/adapter/ezsp/driver/types/index.js +138 -133
  165. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  166. package/dist/adapter/ezsp/driver/types/named.d.ts +1287 -697
  167. package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -1
  168. package/dist/adapter/ezsp/driver/types/named.js +2329 -1726
  169. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  170. package/dist/adapter/ezsp/driver/types/struct.d.ts +270 -251
  171. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
  172. package/dist/adapter/ezsp/driver/types/struct.js +803 -708
  173. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  174. package/dist/adapter/ezsp/driver/uart.d.ts +48 -44
  175. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  176. package/dist/adapter/ezsp/driver/uart.js +382 -368
  177. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  178. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +2 -2
  179. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +55 -55
  180. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
  181. package/dist/adapter/ezsp/driver/utils/index.d.ts +19 -18
  182. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -1
  183. package/dist/adapter/ezsp/driver/utils/index.js +72 -67
  184. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  185. package/dist/adapter/ezsp/driver/writer.d.ts +13 -13
  186. package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -1
  187. package/dist/adapter/ezsp/driver/writer.js +85 -88
  188. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  189. package/dist/adapter/index.d.ts +4 -4
  190. package/dist/adapter/index.js +35 -35
  191. package/dist/adapter/serialPort.d.ts +13 -8
  192. package/dist/adapter/serialPort.d.ts.map +1 -1
  193. package/dist/adapter/serialPort.js +46 -22
  194. package/dist/adapter/serialPort.js.map +1 -1
  195. package/dist/adapter/serialPortUtils.d.ts +12 -12
  196. package/dist/adapter/serialPortUtils.js +18 -18
  197. package/dist/adapter/serialPortUtils.js.map +1 -1
  198. package/dist/adapter/socketPortUtils.d.ts +10 -10
  199. package/dist/adapter/socketPortUtils.js +16 -16
  200. package/dist/adapter/tstype.d.ts +85 -85
  201. package/dist/adapter/tstype.d.ts.map +1 -1
  202. package/dist/adapter/tstype.js +2 -2
  203. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +62 -62
  204. package/dist/adapter/z-stack/adapter/adapter-backup.js +462 -461
  205. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  206. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +150 -150
  207. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +258 -258
  208. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  209. package/dist/adapter/z-stack/adapter/endpoints.d.ts +11 -11
  210. package/dist/adapter/z-stack/adapter/endpoints.js +73 -73
  211. package/dist/adapter/z-stack/adapter/index.d.ts +2 -2
  212. package/dist/adapter/z-stack/adapter/index.js +8 -8
  213. package/dist/adapter/z-stack/adapter/manager.d.ts +86 -86
  214. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  215. package/dist/adapter/z-stack/adapter/manager.js +482 -476
  216. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  217. package/dist/adapter/z-stack/adapter/tstype.d.ts +6 -6
  218. package/dist/adapter/z-stack/adapter/tstype.js +9 -10
  219. package/dist/adapter/z-stack/adapter/tstype.js.map +1 -1
  220. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +81 -81
  221. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  222. package/dist/adapter/z-stack/adapter/zStackAdapter.js +885 -868
  223. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  224. package/dist/adapter/z-stack/constants/af.d.ts +23 -23
  225. package/dist/adapter/z-stack/constants/af.js +27 -27
  226. package/dist/adapter/z-stack/constants/common.d.ts +278 -278
  227. package/dist/adapter/z-stack/constants/common.d.ts.map +1 -1
  228. package/dist/adapter/z-stack/constants/common.js +292 -289
  229. package/dist/adapter/z-stack/constants/common.js.map +1 -1
  230. package/dist/adapter/z-stack/constants/dbg.d.ts +22 -22
  231. package/dist/adapter/z-stack/constants/dbg.js +24 -24
  232. package/dist/adapter/z-stack/constants/index.d.ts +10 -10
  233. package/dist/adapter/z-stack/constants/index.js +47 -47
  234. package/dist/adapter/z-stack/constants/mac.d.ts +127 -127
  235. package/dist/adapter/z-stack/constants/mac.js +129 -129
  236. package/dist/adapter/z-stack/constants/sapi.d.ts +24 -24
  237. package/dist/adapter/z-stack/constants/sapi.js +26 -26
  238. package/dist/adapter/z-stack/constants/sys.d.ts +71 -71
  239. package/dist/adapter/z-stack/constants/sys.js +73 -73
  240. package/dist/adapter/z-stack/constants/util.d.ts +81 -81
  241. package/dist/adapter/z-stack/constants/util.js +83 -83
  242. package/dist/adapter/z-stack/constants/utils.d.ts +4 -4
  243. package/dist/adapter/z-stack/constants/utils.js +14 -14
  244. package/dist/adapter/z-stack/constants/zdo.d.ts +102 -102
  245. package/dist/adapter/z-stack/constants/zdo.js +104 -104
  246. package/dist/adapter/z-stack/models/index.d.ts +1 -1
  247. package/dist/adapter/z-stack/models/index.js +17 -17
  248. package/dist/adapter/z-stack/models/startup-options.d.ts +12 -12
  249. package/dist/adapter/z-stack/models/startup-options.js +2 -2
  250. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +23 -23
  251. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +45 -45
  252. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  253. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +10 -10
  254. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +22 -22
  255. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +10 -10
  256. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +21 -21
  257. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +10 -10
  258. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +23 -23
  259. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +10 -10
  260. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +24 -24
  261. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +10 -10
  262. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +23 -23
  263. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +8 -8
  264. package/dist/adapter/z-stack/structs/entries/channel-list.js +15 -15
  265. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +8 -8
  266. package/dist/adapter/z-stack/structs/entries/has-configured.js +16 -16
  267. package/dist/adapter/z-stack/structs/entries/index.d.ts +16 -16
  268. package/dist/adapter/z-stack/structs/entries/index.js +32 -32
  269. package/dist/adapter/z-stack/structs/entries/nib.d.ts +10 -10
  270. package/dist/adapter/z-stack/structs/entries/nib.js +68 -68
  271. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +10 -10
  272. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +18 -18
  273. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +8 -8
  274. package/dist/adapter/z-stack/structs/entries/nwk-key.js +15 -15
  275. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +8 -8
  276. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +15 -15
  277. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +13 -13
  278. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +23 -23
  279. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +10 -10
  280. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +22 -22
  281. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +20 -20
  282. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +36 -36
  283. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
  284. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +10 -10
  285. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +24 -24
  286. package/dist/adapter/z-stack/structs/index.d.ts +4 -4
  287. package/dist/adapter/z-stack/structs/index.js +20 -20
  288. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +13 -13
  289. package/dist/adapter/z-stack/structs/serializable-memory-object.js +2 -2
  290. package/dist/adapter/z-stack/structs/struct.d.ts +99 -99
  291. package/dist/adapter/z-stack/structs/struct.js +296 -295
  292. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  293. package/dist/adapter/z-stack/structs/table.d.ts +94 -94
  294. package/dist/adapter/z-stack/structs/table.js +163 -161
  295. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  296. package/dist/adapter/z-stack/unpi/constants.d.ts +28 -28
  297. package/dist/adapter/z-stack/unpi/constants.js +39 -41
  298. package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
  299. package/dist/adapter/z-stack/unpi/frame.d.ts +16 -16
  300. package/dist/adapter/z-stack/unpi/frame.js +54 -48
  301. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  302. package/dist/adapter/z-stack/unpi/index.d.ts +5 -5
  303. package/dist/adapter/z-stack/unpi/index.js +37 -37
  304. package/dist/adapter/z-stack/unpi/parser.d.ts +10 -10
  305. package/dist/adapter/z-stack/unpi/parser.js +75 -74
  306. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  307. package/dist/adapter/z-stack/unpi/writer.d.ts +10 -10
  308. package/dist/adapter/z-stack/unpi/writer.js +44 -44
  309. package/dist/adapter/z-stack/utils/channel-list.d.ts +20 -20
  310. package/dist/adapter/z-stack/utils/channel-list.js +40 -40
  311. package/dist/adapter/z-stack/utils/channel-list.js.map +1 -1
  312. package/dist/adapter/z-stack/utils/index.d.ts +2 -2
  313. package/dist/adapter/z-stack/utils/index.js +18 -18
  314. package/dist/adapter/z-stack/utils/network-options.d.ts +8 -8
  315. package/dist/adapter/z-stack/utils/network-options.js +22 -22
  316. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +11 -11
  317. package/dist/adapter/z-stack/znp/buffaloZnp.js +113 -113
  318. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  319. package/dist/adapter/z-stack/znp/definition.d.ts +5 -5
  320. package/dist/adapter/z-stack/znp/definition.js +3050 -3050
  321. package/dist/adapter/z-stack/znp/index.d.ts +3 -3
  322. package/dist/adapter/z-stack/znp/index.js +10 -10
  323. package/dist/adapter/z-stack/znp/parameterType.d.ts +22 -22
  324. package/dist/adapter/z-stack/znp/parameterType.js +25 -25
  325. package/dist/adapter/z-stack/znp/tstype.d.ts +21 -21
  326. package/dist/adapter/z-stack/znp/tstype.js +2 -2
  327. package/dist/adapter/z-stack/znp/znp.d.ts +44 -43
  328. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  329. package/dist/adapter/z-stack/znp/znp.js +326 -325
  330. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  331. package/dist/adapter/z-stack/znp/zpiObject.d.ts +19 -19
  332. package/dist/adapter/z-stack/znp/zpiObject.js +102 -96
  333. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  334. package/dist/adapter/zigate/adapter/index.d.ts +2 -2
  335. package/dist/adapter/zigate/adapter/index.js +10 -10
  336. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +70 -70
  337. package/dist/adapter/zigate/adapter/zigateAdapter.js +689 -684
  338. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  339. package/dist/adapter/zigate/debug.d.ts +7 -7
  340. package/dist/adapter/zigate/debug.d.ts.map +1 -1
  341. package/dist/adapter/zigate/debug.js +19 -22
  342. package/dist/adapter/zigate/debug.js.map +1 -1
  343. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +18 -18
  344. package/dist/adapter/zigate/driver/buffaloZiGate.js +139 -139
  345. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  346. package/dist/adapter/zigate/driver/commandType.d.ts +41 -41
  347. package/dist/adapter/zigate/driver/commandType.js +385 -385
  348. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  349. package/dist/adapter/zigate/driver/constants.d.ts +276 -276
  350. package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
  351. package/dist/adapter/zigate/driver/constants.js +371 -371
  352. package/dist/adapter/zigate/driver/constants.js.map +1 -1
  353. package/dist/adapter/zigate/driver/frame.d.ts +26 -26
  354. package/dist/adapter/zigate/driver/frame.js +172 -172
  355. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  356. package/dist/adapter/zigate/driver/messageType.d.ts +11 -11
  357. package/dist/adapter/zigate/driver/messageType.js +278 -278
  358. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  359. package/dist/adapter/zigate/driver/parameterType.d.ts +20 -20
  360. package/dist/adapter/zigate/driver/parameterType.js +23 -23
  361. package/dist/adapter/zigate/driver/ziGateObject.d.ts +23 -23
  362. package/dist/adapter/zigate/driver/ziGateObject.js +110 -106
  363. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  364. package/dist/adapter/zigate/driver/zigate.d.ts +49 -49
  365. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  366. package/dist/adapter/zigate/driver/zigate.js +296 -303
  367. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  368. package/dist/buffalo/buffalo.d.ts +50 -50
  369. package/dist/buffalo/buffalo.js +324 -322
  370. package/dist/buffalo/buffalo.js.map +1 -1
  371. package/dist/buffalo/index.d.ts +3 -3
  372. package/dist/buffalo/index.js +33 -33
  373. package/dist/buffalo/tstype.d.ts +8 -8
  374. package/dist/buffalo/tstype.js +2 -2
  375. package/dist/controller/controller.d.ts +113 -113
  376. package/dist/controller/controller.d.ts.map +1 -1
  377. package/dist/controller/controller.js +641 -619
  378. package/dist/controller/controller.js.map +1 -1
  379. package/dist/controller/database.d.ts +18 -18
  380. package/dist/controller/database.js +96 -93
  381. package/dist/controller/database.js.map +1 -1
  382. package/dist/controller/events.d.ts +58 -58
  383. package/dist/controller/events.d.ts.map +1 -1
  384. package/dist/controller/events.js +108 -102
  385. package/dist/controller/events.js.map +1 -1
  386. package/dist/controller/greenPower.d.ts +12 -12
  387. package/dist/controller/greenPower.js +221 -220
  388. package/dist/controller/greenPower.js.map +1 -1
  389. package/dist/controller/helpers/index.d.ts +2 -2
  390. package/dist/controller/helpers/index.js +28 -28
  391. package/dist/controller/helpers/request.d.ts +21 -22
  392. package/dist/controller/helpers/request.d.ts.map +1 -1
  393. package/dist/controller/helpers/request.js +77 -71
  394. package/dist/controller/helpers/request.js.map +1 -1
  395. package/dist/controller/helpers/requestQueue.d.ts +13 -0
  396. package/dist/controller/helpers/requestQueue.d.ts.map +1 -0
  397. package/dist/controller/helpers/requestQueue.js +116 -0
  398. package/dist/controller/helpers/requestQueue.js.map +1 -0
  399. package/dist/controller/helpers/zclFrameConverter.d.ts +7 -7
  400. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  401. package/dist/controller/helpers/zclFrameConverter.js +50 -31
  402. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  403. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +5 -5
  404. package/dist/controller/helpers/zclTransactionSequenceNumber.js +13 -13
  405. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -1
  406. package/dist/controller/index.d.ts +5 -5
  407. package/dist/controller/index.js +8 -8
  408. package/dist/controller/logger-stub.d.ts +6 -6
  409. package/dist/controller/logger-stub.js +2 -2
  410. package/dist/controller/model/device.d.ts +132 -133
  411. package/dist/controller/model/device.d.ts.map +1 -1
  412. package/dist/controller/model/device.js +726 -717
  413. package/dist/controller/model/device.js.map +1 -1
  414. package/dist/controller/model/endpoint.d.ts +128 -131
  415. package/dist/controller/model/endpoint.d.ts.map +1 -1
  416. package/dist/controller/model/endpoint.js +755 -821
  417. package/dist/controller/model/endpoint.js.map +1 -1
  418. package/dist/controller/model/entity.d.ts +14 -14
  419. package/dist/controller/model/entity.js +26 -26
  420. package/dist/controller/model/entity.js.map +1 -1
  421. package/dist/controller/model/group.d.ts +38 -38
  422. package/dist/controller/model/group.d.ts.map +1 -1
  423. package/dist/controller/model/group.js +225 -221
  424. package/dist/controller/model/group.js.map +1 -1
  425. package/dist/controller/model/index.d.ts +5 -5
  426. package/dist/controller/model/index.js +14 -14
  427. package/dist/controller/touchlink.d.ts +19 -19
  428. package/dist/controller/touchlink.js +159 -157
  429. package/dist/controller/touchlink.js.map +1 -1
  430. package/dist/controller/tstype.d.ts +20 -21
  431. package/dist/controller/tstype.d.ts.map +1 -1
  432. package/dist/controller/tstype.js +8 -9
  433. package/dist/controller/tstype.js.map +1 -1
  434. package/dist/index.d.ts +3 -3
  435. package/dist/index.js +33 -33
  436. package/dist/models/backup-storage-legacy.d.ts +26 -26
  437. package/dist/models/backup-storage-legacy.js +2 -2
  438. package/dist/models/backup-storage-unified.d.ts +49 -49
  439. package/dist/models/backup-storage-unified.js +2 -2
  440. package/dist/models/backup.d.ts +37 -37
  441. package/dist/models/backup.js +2 -2
  442. package/dist/models/index.d.ts +4 -4
  443. package/dist/models/index.js +20 -20
  444. package/dist/models/network-options.d.ts +12 -12
  445. package/dist/models/network-options.js +2 -2
  446. package/dist/utils/assertString.d.ts +2 -2
  447. package/dist/utils/assertString.js +8 -8
  448. package/dist/utils/assertString.js.map +1 -1
  449. package/dist/utils/backup.d.ts +20 -20
  450. package/dist/utils/backup.d.ts.map +1 -1
  451. package/dist/utils/backup.js +189 -187
  452. package/dist/utils/backup.js.map +1 -1
  453. package/dist/utils/equalsPartial.d.ts +2 -2
  454. package/dist/utils/equalsPartial.js +11 -11
  455. package/dist/utils/index.d.ts +9 -9
  456. package/dist/utils/index.js +45 -45
  457. package/dist/utils/isNumberArray.d.ts +2 -2
  458. package/dist/utils/isNumberArray.js +6 -6
  459. package/dist/utils/queue.d.ts +11 -11
  460. package/dist/utils/queue.d.ts.map +1 -1
  461. package/dist/utils/queue.js +61 -50
  462. package/dist/utils/queue.js.map +1 -1
  463. package/dist/utils/realpathSync.d.ts +2 -2
  464. package/dist/utils/realpathSync.js +12 -12
  465. package/dist/utils/wait.d.ts +2 -2
  466. package/dist/utils/wait.js +8 -8
  467. package/dist/utils/waitress.d.ts +21 -21
  468. package/dist/utils/waitress.d.ts.map +1 -1
  469. package/dist/utils/waitress.js +68 -61
  470. package/dist/utils/waitress.js.map +1 -1
  471. package/dist/zcl/buffaloZcl.d.ts +41 -41
  472. package/dist/zcl/buffaloZcl.d.ts.map +1 -1
  473. package/dist/zcl/buffaloZcl.js +594 -591
  474. package/dist/zcl/buffaloZcl.js.map +1 -1
  475. package/dist/zcl/definition/buffaloZclDataType.d.ts +17 -17
  476. package/dist/zcl/definition/buffaloZclDataType.js +20 -20
  477. package/dist/zcl/definition/cluster.d.ts +29 -29
  478. package/dist/zcl/definition/cluster.d.ts.map +1 -1
  479. package/dist/zcl/definition/cluster.js +5530 -5335
  480. package/dist/zcl/definition/cluster.js.map +1 -1
  481. package/dist/zcl/definition/dataType.d.ts +59 -59
  482. package/dist/zcl/definition/dataType.js +64 -64
  483. package/dist/zcl/definition/direction.d.ts +5 -5
  484. package/dist/zcl/definition/direction.js +8 -8
  485. package/dist/zcl/definition/endpointDeviceType.d.ts +4 -4
  486. package/dist/zcl/definition/endpointDeviceType.js +15 -15
  487. package/dist/zcl/definition/foundation.d.ts +11 -11
  488. package/dist/zcl/definition/foundation.js +167 -167
  489. package/dist/zcl/definition/frameControl.d.ts +10 -10
  490. package/dist/zcl/definition/frameControl.js +2 -2
  491. package/dist/zcl/definition/frameType.d.ts +5 -5
  492. package/dist/zcl/definition/frameType.js +8 -8
  493. package/dist/zcl/definition/index.d.ts +13 -13
  494. package/dist/zcl/definition/index.js +51 -51
  495. package/dist/zcl/definition/manufacturerCode.d.ts +1077 -1074
  496. package/dist/zcl/definition/manufacturerCode.d.ts.map +1 -1
  497. package/dist/zcl/definition/manufacturerCode.js +1082 -1079
  498. package/dist/zcl/definition/manufacturerCode.js.map +1 -1
  499. package/dist/zcl/definition/powerSource.d.ts +4 -4
  500. package/dist/zcl/definition/powerSource.js +12 -12
  501. package/dist/zcl/definition/status.d.ts +38 -38
  502. package/dist/zcl/definition/status.js +41 -41
  503. package/dist/zcl/definition/tstype.d.ts +16 -16
  504. package/dist/zcl/definition/tstype.js +2 -2
  505. package/dist/zcl/index.d.ts +16 -16
  506. package/dist/zcl/index.js +55 -55
  507. package/dist/zcl/tstype.d.ts +56 -56
  508. package/dist/zcl/tstype.js +9 -10
  509. package/dist/zcl/tstype.js.map +1 -1
  510. package/dist/zcl/utils.d.ts +6 -6
  511. package/dist/zcl/utils.js +164 -165
  512. package/dist/zcl/utils.js.map +1 -1
  513. package/dist/zcl/zclFrame.d.ts +40 -40
  514. package/dist/zcl/zclFrame.js +351 -347
  515. package/dist/zcl/zclFrame.js.map +1 -1
  516. package/dist/zcl/zclHeader.d.ts +8 -8
  517. package/dist/zcl/zclHeader.js +2 -2
  518. package/dist/zcl/zclStatusError.d.ts +5 -5
  519. package/dist/zcl/zclStatusError.js +14 -13
  520. package/dist/zcl/zclStatusError.js.map +1 -1
  521. package/package.json +11 -11
  522. package/release-please-config.json +1 -5
  523. package/tsconfig.json +4 -2
@@ -1,709 +1,804 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.EmberIeeeRawFrame = exports.EmberRawFrame = exports.EmberRoutingTable = exports.EmberRoutingTableEntry = exports.EmberNeighbors = exports.EmberNeighbor = exports.EmberMultiAddress = exports.EmberSimpleDescriptor = exports.EmberNodeDescriptor = exports.EmberGpSinkListEntry = exports.EmberGpAddress = exports.EmberRf4cePairingTableEntry = exports.EmberRf4ceApplicationInfo = exports.EmberRf4ceVendorInfo = exports.EmberTokTypeStackZllSecurity = exports.EmberTokTypeStackZllData = exports.EmberZllAddressAssignment = exports.EmberZllDeviceInfoRecord = exports.EmberZllInitialSecurityState = exports.EmberZllNetwork = exports.EmberZllSecurityAlgorithmData = exports.EmberNetworkInitStruct = exports.EmberKeyStruct = exports.EmberCurrentSecurityState = exports.EmberInitialSecurityState = exports.EmberRouteTableEntry = exports.EmberNeighborTableEntry = exports.EmberAesMmoHashContext = exports.EmberMessageDigest = exports.EmberSignature283k1Data = exports.EmberPrivateKey283k1Data = exports.EmberPublicKey283k1Data = exports.EmberCertificate283k1Data = exports.EmberSignatureData = exports.EmberSmacData = exports.EmberPrivateKeyData = exports.EmberPublicKeyData = exports.EmberCertificateData = exports.EmberKeyData = exports.EmberMulticastTableEntry = exports.EmberBindingTableEntry = exports.EmberApsFrame = exports.EmberZigbeeNetwork = exports.EmberNetworkParameters = exports.EzspStruct = void 0;
27
- /* istanbul ignore file */
28
- /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
29
- const basic = __importStar(require("./basic"));
30
- const named = __importStar(require("./named"));
31
- class EzspStruct {
32
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
33
- static serialize(cls, obj) {
34
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
35
- return Buffer.concat(cls._fields.map((field) => {
36
- const value = obj[field[0]];
37
- console.assert(field[1]);
38
- return field[1].serialize(field[1], value);
39
- }));
40
- }
41
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
42
- static deserialize(cls, data) {
43
- const r = new cls();
44
- for (const [field_name, field_type] of cls._fields) {
45
- let v;
46
- [v, data] = field_type.deserialize(field_type, data);
47
- r[field_name] = v;
48
- }
49
- return [r, data];
50
- }
51
- toString() {
52
- return `${this.constructor.name}: ${JSON.stringify(this)}`;
53
- }
54
- }
55
- exports.EzspStruct = EzspStruct;
56
- class EmberNetworkParameters extends EzspStruct {
57
- }
58
- exports.EmberNetworkParameters = EmberNetworkParameters;
59
- EmberNetworkParameters._fields = [
60
- // The network's extended PAN identifier.
61
- ['extendedPanId', basic.fixed_list(8, basic.uint8_t)],
62
- // The network's PAN identifier.
63
- ['panId', basic.uint16_t],
64
- // A power setting, in dBm.
65
- ['radioTxPower', basic.uint8_t],
66
- // A radio channel.
67
- ['radioChannel', basic.uint8_t],
68
- // The method used to initially join the network.
69
- ['joinMethod', named.EmberJoinMethod],
70
- // NWK Manager ID. The ID of the network manager in the current network.
71
- // This may only be set at joining when using USE_NWK_COMMISSIONING as
72
- // the join method.
73
- ['nwkManagerId', named.EmberNodeId],
74
- // NWK Update ID. The value of the ZigBee nwkUpdateId known by the
75
- // stack. This is used to determine the newest instance of the network
76
- // after a PAN ID or channel change. This may only be set at joining
77
- // when using USE_NWK_COMMISSIONING as the join method.
78
- ['nwkUpdateId', basic.uint8_t],
79
- // NWK channel mask. The list of preferred channels that the NWK manager
80
- // has told this device to use when searching for the network. This may
81
- // only be set at joining when using USE_NWK_COMMISSIONING as the join
82
- // method.
83
- ['channels', basic.uint32_t],
84
- ];
85
- class EmberZigbeeNetwork extends EzspStruct {
86
- }
87
- exports.EmberZigbeeNetwork = EmberZigbeeNetwork;
88
- // The parameters of a ZigBee network.
89
- EmberZigbeeNetwork._fields = [
90
- // The 802.15.4 channel associated with the network.
91
- ['channel', basic.uint8_t],
92
- // The network's PAN identifier.
93
- ['panId', basic.uint16_t],
94
- // The network's extended PAN identifier.
95
- ['extendedPanId', basic.fixed_list(8, basic.uint8_t)],
96
- // Whether the network is allowing MAC associations.
97
- ['allowingJoin', named.Bool],
98
- // The Stack Profile associated with the network.
99
- ['stackProfile', basic.uint8_t],
100
- // The instance of the Network.
101
- ['nwkUpdateId', basic.uint8_t],
102
- ];
103
- class EmberApsFrame extends EzspStruct {
104
- }
105
- exports.EmberApsFrame = EmberApsFrame;
106
- // ZigBee APS frame parameters.
107
- EmberApsFrame._fields = [
108
- // The application profile ID that describes the format of the message.
109
- ['profileId', basic.uint16_t],
110
- // The cluster ID for this message.
111
- ['clusterId', basic.uint16_t],
112
- // The source endpoint.
113
- ['sourceEndpoint', basic.uint8_t],
114
- // The destination endpoint.
115
- ['destinationEndpoint', basic.uint8_t],
116
- // A bitmask of options.
117
- ['options', named.EmberApsOption],
118
- // The group ID for this message, if it is multicast mode.
119
- ['groupId', basic.uint16_t],
120
- // The sequence number.
121
- ['sequence', basic.uint8_t],
122
- ];
123
- class EmberBindingTableEntry extends EzspStruct {
124
- }
125
- exports.EmberBindingTableEntry = EmberBindingTableEntry;
126
- // An entry in the binding table.
127
- EmberBindingTableEntry._fields = [
128
- // The type of binding.
129
- ['type', named.EmberBindingType],
130
- // The endpoint on the local node.
131
- ['local', basic.uint8_t],
132
- // A cluster ID that matches one from the local endpoint's simple
133
- // descriptor.This cluster ID is set by the provisioning application to
134
- // indicate which part an endpoint's functionality is bound to this
135
- // particular remote node and is used to distinguish between unicast and
136
- // multicast bindings.Note that a binding can be used to send messages
137
- // with any cluster ID, not just that listed in the binding.
138
- ['clusterId', basic.uint16_t],
139
- // The endpoint on the remote node [specified by identifier].
140
- ['remote', basic.uint8_t],
141
- // A 64- bit identifier.This is either the destination EUI64 [for
142
- // unicasts] or the 64- bit group address [for multicasts].
143
- ['identifier', named.EmberEUI64],
144
- // The index of the network the binding belongs to.
145
- ['networkIndex', basic.uint8_t],
146
- ];
147
- class EmberMulticastTableEntry extends EzspStruct {
148
- }
149
- exports.EmberMulticastTableEntry = EmberMulticastTableEntry;
150
- // A multicast table entry indicates that a particular endpoint is a member
151
- // of a particular multicast group.Only devices with an endpoint in a
152
- // multicast group will receive messages sent to that multicast group.
153
- EmberMulticastTableEntry._fields = [
154
- // The multicast group ID.
155
- ['multicastId', named.EmberMulticastId],
156
- // The endpoint that is a member, or 0 if this entry is not in use[the
157
- // ZDO is not a member of any multicast groups.]
158
- ['endpoint', basic.uint8_t],
159
- // The network index of the network the entry is related to.
160
- ['networkIndex', basic.uint8_t],
161
- ];
162
- class EmberKeyData extends EzspStruct {
163
- }
164
- exports.EmberKeyData = EmberKeyData;
165
- // A 128- bit key.
166
- EmberKeyData._fields = [
167
- // The key data.
168
- ['contents', basic.fixed_list(16, basic.uint8_t)],
169
- ];
170
- class EmberCertificateData extends EzspStruct {
171
- }
172
- exports.EmberCertificateData = EmberCertificateData;
173
- // The implicit certificate used in CBKE.
174
- EmberCertificateData._fields = [
175
- // The certificate data.
176
- ['contents', basic.fixed_list(48, basic.uint8_t)],
177
- ];
178
- class EmberPublicKeyData extends EzspStruct {
179
- }
180
- exports.EmberPublicKeyData = EmberPublicKeyData;
181
- // The public key data used in CBKE.
182
- EmberPublicKeyData._fields = [
183
- // The public key data.
184
- ['contents', basic.fixed_list(22, basic.uint8_t)],
185
- ];
186
- class EmberPrivateKeyData extends EzspStruct {
187
- }
188
- exports.EmberPrivateKeyData = EmberPrivateKeyData;
189
- // The private key data used in CBKE.
190
- EmberPrivateKeyData._fields = [
191
- // The private key data.
192
- ['contents', basic.fixed_list(21, basic.uint8_t)],
193
- ];
194
- class EmberSmacData extends EzspStruct {
195
- }
196
- exports.EmberSmacData = EmberSmacData;
197
- // The Shared Message Authentication Code data used in CBKE.
198
- EmberSmacData._fields = [
199
- // The Shared Message Authentication Code data.
200
- ['contents', basic.fixed_list(16, basic.uint8_t)],
201
- ];
202
- class EmberSignatureData extends EzspStruct {
203
- }
204
- exports.EmberSignatureData = EmberSignatureData;
205
- // An ECDSA signature
206
- EmberSignatureData._fields = [
207
- // The signature data.
208
- ['contents', basic.fixed_list(42, basic.uint8_t)],
209
- ];
210
- class EmberCertificate283k1Data extends EzspStruct {
211
- }
212
- exports.EmberCertificate283k1Data = EmberCertificate283k1Data;
213
- // The implicit certificate used in CBKE.
214
- EmberCertificate283k1Data._fields = [
215
- // The 283k1 certificate data.
216
- ['contents', basic.fixed_list(74, basic.uint8_t)],
217
- ];
218
- class EmberPublicKey283k1Data extends EzspStruct {
219
- }
220
- exports.EmberPublicKey283k1Data = EmberPublicKey283k1Data;
221
- // The public key data used in CBKE.
222
- EmberPublicKey283k1Data._fields = [
223
- // The 283k1 public key data.
224
- ['contents', basic.fixed_list(37, basic.uint8_t)],
225
- ];
226
- class EmberPrivateKey283k1Data extends EzspStruct {
227
- }
228
- exports.EmberPrivateKey283k1Data = EmberPrivateKey283k1Data;
229
- // The private key data used in CBKE.
230
- EmberPrivateKey283k1Data._fields = [
231
- // The 283k1 private key data.
232
- ['contents', basic.fixed_list(36, basic.uint8_t)],
233
- ];
234
- class EmberSignature283k1Data extends EzspStruct {
235
- }
236
- exports.EmberSignature283k1Data = EmberSignature283k1Data;
237
- // An ECDSA signature
238
- EmberSignature283k1Data._fields = [
239
- // The 283k1 signature data.
240
- ['contents', basic.fixed_list(72, basic.uint8_t)],
241
- ];
242
- class EmberMessageDigest extends EzspStruct {
243
- }
244
- exports.EmberMessageDigest = EmberMessageDigest;
245
- // The calculated digest of a message
246
- EmberMessageDigest._fields = [
247
- // The calculated digest of a message.
248
- ['contents', basic.fixed_list(16, basic.uint8_t)],
249
- ];
250
- class EmberAesMmoHashContext extends EzspStruct {
251
- }
252
- exports.EmberAesMmoHashContext = EmberAesMmoHashContext;
253
- // The hash context for an ongoing hash operation.
254
- EmberAesMmoHashContext._fields = [
255
- // The result of ongoing the hash operation.
256
- ['result', basic.fixed_list(16, basic.uint8_t)],
257
- // The total length of the data that has been hashed so far.
258
- ['length', basic.uint32_t],
259
- ];
260
- class EmberNeighborTableEntry extends EzspStruct {
261
- }
262
- exports.EmberNeighborTableEntry = EmberNeighborTableEntry;
263
- // A neighbor table entry stores information about the reliability of RF
264
- // links to and from neighboring nodes.
265
- EmberNeighborTableEntry._fields = [
266
- // The neighbor's two byte network id
267
- ['shortId', basic.uint16_t],
268
- // An exponentially weighted moving average of the link quality values
269
- // of incoming packets from this neighbor as reported by the PHY.
270
- ['averageLqi', basic.uint8_t],
271
- // The incoming cost for this neighbor, computed from the average LQI.
272
- // Values range from 1 for a good link to 7 for a bad link.
273
- ['inCost', basic.uint8_t],
274
- // The outgoing cost for this neighbor, obtained from the most recently
275
- // received neighbor exchange message from the neighbor. A value of zero
276
- // means that a neighbor exchange message from the neighbor has not been
277
- // received recently enough, or that our id was not present in the most
278
- // recently received one.
279
- ['outCost', basic.uint8_t],
280
- // The number of aging periods elapsed since a link status message was
281
- // last received from this neighbor. The aging period is 16 seconds.
282
- ['age', basic.uint8_t],
283
- // The 8 byte EUI64 of the neighbor.
284
- ['longId', named.EmberEUI64],
285
- ];
286
- class EmberRouteTableEntry extends EzspStruct {
287
- }
288
- exports.EmberRouteTableEntry = EmberRouteTableEntry;
289
- // A route table entry stores information about the next hop along the route
290
- // to the destination.
291
- EmberRouteTableEntry._fields = [
292
- // The short id of the destination. A value of 0xFFFF indicates the
293
- // entry is unused.
294
- ['destination', basic.uint16_t],
295
- // The short id of the next hop to this destination.
296
- ['nextHop', basic.uint16_t],
297
- // Indicates whether this entry is active [0], being discovered [1]],
298
- // unused [3], or validating [4].
299
- ['status', basic.uint8_t],
300
- // The number of seconds since this route entry was last used to send a
301
- // packet.
302
- ['age', basic.uint8_t],
303
- // Indicates whether this destination is a High RAM Concentrator [2], a
304
- // Low RAM Concentrator [1], or not a concentrator [0].
305
- ['concentratorType', basic.uint8_t],
306
- // For a High RAM Concentrator, indicates whether a route record is
307
- // needed [2], has been sent [1], or is no long needed [0] because a
308
- // source routed message from the concentrator has been received.
309
- ['routeRecordState', basic.uint8_t],
310
- ];
311
- class EmberInitialSecurityState extends EzspStruct {
312
- }
313
- exports.EmberInitialSecurityState = EmberInitialSecurityState;
314
- // The security data used to set the configuration for the stack, or the
315
- // retrieved configuration currently in use.
316
- EmberInitialSecurityState._fields = [
317
- // A bitmask indicating the security state used to indicate what the
318
- // security configuration will be when the device forms or joins the
319
- // network.
320
- ['bitmask', named.EmberInitialSecurityBitmask],
321
- // The pre-configured Key data that should be used when forming or
322
- // joining the network. The security bitmask must be set with the
323
- // HAVE_PRECONFIGURED_KEY bit to indicate that the key contains valid
324
- // data.
325
- ['preconfiguredKey', EmberKeyData],
326
- // The Network Key that should be used by the Trust Center when it forms
327
- // the network, or the Network Key currently in use by a joined device.
328
- // The security bitmask must be set with HAVE_NETWORK_KEY to indicate
329
- // that the key contains valid data.
330
- ['networkKey', EmberKeyData],
331
- // The sequence number associated with the network key. This is only
332
- // valid if the HAVE_NETWORK_KEY has been set in the security bitmask.
333
- ['networkKeySequenceNumber', basic.uint8_t],
334
- // This is the long address of the trust center on the network that will
335
- // be joined. It is usually NOT set prior to joining the network and
336
- // instead it is learned during the joining message exchange. This field
337
- // is only examined if HAVE_TRUST_CENTER_EUI64 is set in the
338
- // EmberInitialSecurityState::bitmask. Most devices should clear that
339
- // bit and leave this field alone. This field must be set when using
340
- // commissioning mode.
341
- ['preconfiguredTrustCenterEui64', named.EmberEUI64],
342
- ];
343
- class EmberCurrentSecurityState extends EzspStruct {
344
- }
345
- exports.EmberCurrentSecurityState = EmberCurrentSecurityState;
346
- // The security options and information currently used by the stack.
347
- EmberCurrentSecurityState._fields = [
348
- // A bitmask indicating the security options currently in use by a
349
- // device joined in the network.
350
- ['bitmask', named.EmberCurrentSecurityBitmask],
351
- // The IEEE Address of the Trust Center device.
352
- ['trustCenterLongAddress', named.EmberEUI64],
353
- ];
354
- class EmberKeyStruct extends EzspStruct {
355
- }
356
- exports.EmberKeyStruct = EmberKeyStruct;
357
- // A structure containing a key and its associated data.
358
- EmberKeyStruct._fields = [
359
- // A bitmask indicating the presence of data within the various fields
360
- // in the structure.
361
- ['bitmask', named.EmberKeyStructBitmask],
362
- // The type of the key.
363
- ['type', named.EmberKeyType],
364
- // The actual key data.
365
- ['key', EmberKeyData],
366
- // The outgoing frame counter associated with the key.
367
- ['outgoingFrameCounter', basic.uint32_t],
368
- // The frame counter of the partner device associated with the key.
369
- ['incomingFrameCounter', basic.uint32_t],
370
- // The sequence number associated with the key.
371
- ['sequenceNumber', basic.uint8_t],
372
- // The IEEE address of the partner device also in possession of the key.
373
- ['partnerEUI64', named.EmberEUI64],
374
- ];
375
- class EmberNetworkInitStruct extends EzspStruct {
376
- }
377
- exports.EmberNetworkInitStruct = EmberNetworkInitStruct;
378
- // Network Initialization parameters.
379
- EmberNetworkInitStruct._fields = [
380
- // Configuration options for network init.
381
- ['bitmask', named.EmberNetworkInitBitmask],
382
- ];
383
- class EmberZllSecurityAlgorithmData extends EzspStruct {
384
- }
385
- exports.EmberZllSecurityAlgorithmData = EmberZllSecurityAlgorithmData;
386
- // Data associated with the ZLL security algorithm.
387
- EmberZllSecurityAlgorithmData._fields = [
388
- // Transaction identifier.
389
- ['transactionId', basic.uint32_t],
390
- // Response identifier.
391
- ['responseId', basic.uint32_t],
392
- // Bitmask.
393
- ['bitmask', basic.uint16_t],
394
- ];
395
- class EmberZllNetwork extends EzspStruct {
396
- }
397
- exports.EmberZllNetwork = EmberZllNetwork;
398
- // The parameters of a ZLL network.
399
- EmberZllNetwork._fields = [
400
- // The parameters of a ZigBee network.
401
- ['zigbeeNetwork', EmberZigbeeNetwork],
402
- // Data associated with the ZLL security algorithm.
403
- ['securityAlgorithm', EmberZllSecurityAlgorithmData],
404
- // Associated EUI64.
405
- ['eui64', named.EmberEUI64],
406
- // The node id.
407
- ['nodeId', named.EmberNodeId],
408
- // The ZLL state.
409
- ['state', named.EmberZllState],
410
- // The node type.
411
- ['nodeType', named.EmberNodeType],
412
- // The number of sub devices.
413
- ['numberSubDevices', basic.uint8_t],
414
- // The total number of group identifiers.
415
- ['totalGroupIdentifiers', basic.uint8_t],
416
- // RSSI correction value.
417
- ['rssiCorrection', basic.uint8_t],
418
- ];
419
- class EmberZllInitialSecurityState extends EzspStruct {
420
- }
421
- exports.EmberZllInitialSecurityState = EmberZllInitialSecurityState;
422
- // Describes the initial security features and requirements that will be
423
- // used when forming or joining ZLL networks.
424
- EmberZllInitialSecurityState._fields = [
425
- // Unused bitmask; reserved for future use.
426
- ['bitmask', basic.uint32_t],
427
- // The key encryption algorithm advertised by the application.
428
- ['keyIndex', named.EmberZllKeyIndex],
429
- // The encryption key for use by algorithms that require it.
430
- ['encryptionKey', EmberKeyData],
431
- // The pre-configured link key used during classical ZigBee
432
- // commissioning.
433
- ['preconfiguredKey', EmberKeyData],
434
- ];
435
- class EmberZllDeviceInfoRecord extends EzspStruct {
436
- }
437
- exports.EmberZllDeviceInfoRecord = EmberZllDeviceInfoRecord;
438
- // Information about a specific ZLL Device.
439
- EmberZllDeviceInfoRecord._fields = [
440
- // EUI64 associated with the device.
441
- ['ieeeAddress', named.EmberEUI64],
442
- // Endpoint id.
443
- ['endpointId', basic.uint8_t],
444
- // Profile id.
445
- ['profileId', basic.uint16_t],
446
- // Device id.
447
- ['deviceId', basic.uint16_t],
448
- // Associated version.
449
- ['version', basic.uint8_t],
450
- // Number of relevant group ids.
451
- ['groupIdCount', basic.uint8_t],
452
- ];
453
- class EmberZllAddressAssignment extends EzspStruct {
454
- }
455
- exports.EmberZllAddressAssignment = EmberZllAddressAssignment;
456
- // ZLL address assignment data.
457
- EmberZllAddressAssignment._fields = [
458
- // Relevant node id.
459
- ['nodeId', named.EmberNodeId],
460
- // Minimum free node id.
461
- ['freeNodeIdMin', named.EmberNodeId],
462
- // Maximum free node id.
463
- ['freeNodeIdMax', named.EmberNodeId],
464
- // Minimum group id.
465
- ['groupIdMin', named.EmberMulticastId],
466
- // Maximum group id.
467
- ['groupIdMax', named.EmberMulticastId],
468
- // Minimum free group id.
469
- ['freeGroupIdMin', named.EmberMulticastId],
470
- // Maximum free group id.
471
- ['freeGroupIdMax', named.EmberMulticastId],
472
- ];
473
- class EmberTokTypeStackZllData extends EzspStruct {
474
- }
475
- exports.EmberTokTypeStackZllData = EmberTokTypeStackZllData;
476
- // Public API for ZLL stack data token.
477
- EmberTokTypeStackZllData._fields = [
478
- // Token bitmask.
479
- ['bitmask', basic.uint32_t],
480
- // Minimum free node id.
481
- ['freeNodeIdMin', basic.uint16_t],
482
- // Maximum free node id.
483
- ['freeNodeIdMax', basic.uint16_t],
484
- // Local minimum group id.
485
- ['myGroupIdMin', basic.uint16_t],
486
- // Minimum free group id.
487
- ['freeGroupIdMin', basic.uint16_t],
488
- // Maximum free group id.
489
- ['freeGroupIdMax', basic.uint16_t],
490
- // RSSI correction value.
491
- ['rssiCorrection', basic.uint8_t],
492
- ];
493
- class EmberTokTypeStackZllSecurity extends EzspStruct {
494
- }
495
- exports.EmberTokTypeStackZllSecurity = EmberTokTypeStackZllSecurity;
496
- // Public API for ZLL stack security token.
497
- EmberTokTypeStackZllSecurity._fields = [
498
- // Token bitmask.
499
- ['bitmask', basic.uint32_t],
500
- // Key index.
501
- ['keyIndex', basic.uint8_t],
502
- // Encryption key.
503
- ['encryptionKey', basic.fixed_list(16, basic.uint8_t)],
504
- // Preconfigured key.
505
- ['preconfiguredKey', basic.fixed_list(16, basic.uint8_t)],
506
- ];
507
- class EmberRf4ceVendorInfo extends EzspStruct {
508
- }
509
- exports.EmberRf4ceVendorInfo = EmberRf4ceVendorInfo;
510
- // The RF4CE vendor information block.
511
- EmberRf4ceVendorInfo._fields = [
512
- // The vendor identifier field shall contain the vendor identifier of
513
- // the node.
514
- ['vendorId', basic.uint16_t],
515
- // The vendor string field shall contain the vendor string of the node.
516
- ['vendorString', basic.fixed_list(7, basic.uint8_t)],
517
- ];
518
- class EmberRf4ceApplicationInfo extends EzspStruct {
519
- }
520
- exports.EmberRf4ceApplicationInfo = EmberRf4ceApplicationInfo;
521
- // The RF4CE application information block.
522
- EmberRf4ceApplicationInfo._fields = [
523
- // The application capabilities field shall contain information relating
524
- // to the capabilities of the application of the node.
525
- ['capabilities', named.EmberRf4ceApplicationCapabilities],
526
- // The user string field shall contain the user specified identification
527
- // string.
528
- ['userString', basic.fixed_list(15, basic.uint8_t)],
529
- // The device type list field shall contain the list of device types
530
- // supported by the node.
531
- ['deviceTypeList', basic.fixed_list(3, basic.uint8_t)],
532
- // The profile ID list field shall contain the list of profile
533
- // identifiers disclosed as supported by the node.
534
- ['profileIdList', basic.fixed_list(7, basic.uint8_t)],
535
- ];
536
- class EmberRf4cePairingTableEntry extends EzspStruct {
537
- }
538
- exports.EmberRf4cePairingTableEntry = EmberRf4cePairingTableEntry;
539
- // The internal representation of an RF4CE pairing table entry.
540
- EmberRf4cePairingTableEntry._fields = [
541
- // The link key to be used to secure this pairing link.
542
- ['securityLinkKey', EmberKeyData],
543
- // The IEEE address of the destination device.
544
- ['destLongId', named.EmberEUI64],
545
- // The frame counter last received from the recipient node.
546
- ['frameCounter', basic.uint32_t],
547
- // The network address to be assumed by the source device.
548
- ['sourceNodeId', named.EmberNodeId],
549
- // The PAN identifier of the destination device.
550
- ['destPanId', named.EmberPanId],
551
- // The network address of the destination device.
552
- ['destNodeId', named.EmberNodeId],
553
- // The vendor ID of the destination device.
554
- ['destVendorId', basic.uint16_t],
555
- // The list of profiles supported by the destination device.
556
- ['destProfileIdList', basic.fixed_list(7, basic.uint8_t)],
557
- // The length of the list of supported profiles.
558
- ['destProfileIdListLength', basic.uint8_t],
559
- // Info byte.
560
- ['info', basic.uint8_t],
561
- // The expected channel of the destination device.
562
- ['channel', basic.uint8_t],
563
- // The node capabilities of the recipient node.
564
- ['capabilities', basic.uint8_t],
565
- // Last MAC sequence number seen on this pairing link.
566
- ['lastSeqn', basic.uint8_t],
567
- ];
568
- class EmberGpAddress extends EzspStruct {
569
- }
570
- exports.EmberGpAddress = EmberGpAddress;
571
- // A GP address structure.
572
- EmberGpAddress._fields = [
573
- // The GPD's EUI64.
574
- ['gpdIeeeAddress', named.EmberEUI64],
575
- // The GPD's source ID.
576
- ['sourceId', basic.uint32_t],
577
- // The GPD Application ID.
578
- ['applicationId', basic.uint8_t],
579
- // The GPD endpoint.
580
- ['endpoint', basic.uint8_t],
581
- ];
582
- class EmberGpSinkListEntry extends EzspStruct {
583
- }
584
- exports.EmberGpSinkListEntry = EmberGpSinkListEntry;
585
- // A sink list entry
586
- EmberGpSinkListEntry._fields = [
587
- // The sink list type.
588
- ['type', basic.uint8_t],
589
- // The EUI64 of the target sink.
590
- ['sinkEUI', named.EmberEUI64],
591
- // The short address of the target sink.
592
- ['sinkNodeId', named.EmberNodeId],
593
- ];
594
- class EmberNodeDescriptor extends EzspStruct {
595
- }
596
- exports.EmberNodeDescriptor = EmberNodeDescriptor;
597
- EmberNodeDescriptor._fields = [
598
- ['byte1', basic.uint8_t],
599
- ['byte2', basic.uint8_t],
600
- ['mac_capability_flags', basic.uint8_t],
601
- ['manufacturer_code', basic.uint16_t],
602
- ['maximum_buffer_size', basic.uint8_t],
603
- ['maximum_incoming_transfer_size', basic.uint16_t],
604
- ['server_mask', basic.uint16_t],
605
- ['maximum_outgoing_transfer_size', basic.uint16_t],
606
- ['descriptor_capability_field', basic.uint8_t],
607
- ];
608
- class EmberSimpleDescriptor extends EzspStruct {
609
- }
610
- exports.EmberSimpleDescriptor = EmberSimpleDescriptor;
611
- EmberSimpleDescriptor._fields = [
612
- ['endpoint', basic.uint8_t],
613
- ['profileid', basic.uint16_t],
614
- ['deviceid', basic.uint16_t],
615
- ['deviceversion', basic.uint8_t],
616
- ['inclusterlist', basic.LVList(basic.uint16_t)],
617
- ['outclusterlist', basic.LVList(basic.uint16_t)],
618
- ];
619
- class EmberMultiAddress extends EzspStruct {
620
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
621
- static serialize(cls, obj) {
622
- const addrmode = obj['addrmode'];
623
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
624
- const fields = (addrmode == 3) ? cls.fields3 : cls.fields1;
625
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
626
- return Buffer.concat(fields.map((field) => {
627
- const value = obj[field[0]];
628
- console.assert(field[1]);
629
- return field[1].serialize(field[1], value);
630
- }));
631
- }
632
- }
633
- exports.EmberMultiAddress = EmberMultiAddress;
634
- EmberMultiAddress.fields3 = [
635
- ['addrmode', basic.uint8_t],
636
- ['ieee', named.EmberEUI64],
637
- ['endpoint', basic.uint8_t],
638
- ];
639
- EmberMultiAddress.fields1 = [
640
- ['addrmode', basic.uint8_t],
641
- ['nwk', named.EmberNodeId],
642
- ];
643
- class EmberNeighbor extends EzspStruct {
644
- }
645
- exports.EmberNeighbor = EmberNeighbor;
646
- EmberNeighbor._fields = [
647
- ['extendedpanid', basic.fixed_list(8, basic.uint8_t)],
648
- ['ieee', named.EmberEUI64],
649
- ['nodeid', named.EmberNodeId],
650
- ['packed', basic.uint8_t],
651
- ['permitjoining', basic.uint8_t],
652
- ['depth', basic.uint8_t],
653
- ['lqi', basic.uint8_t],
654
- ];
655
- class EmberNeighbors extends EzspStruct {
656
- }
657
- exports.EmberNeighbors = EmberNeighbors;
658
- EmberNeighbors._fields = [
659
- ['entries', basic.uint8_t],
660
- ['startindex', basic.uint8_t],
661
- ['neighbors', basic.LVList(EmberNeighbor)],
662
- ];
663
- class EmberRoutingTableEntry extends EzspStruct {
664
- }
665
- exports.EmberRoutingTableEntry = EmberRoutingTableEntry;
666
- EmberRoutingTableEntry._fields = [
667
- ['destination', basic.uint16_t],
668
- ['status', basic.uint8_t],
669
- ['nexthop', basic.uint16_t],
670
- ];
671
- class EmberRoutingTable extends EzspStruct {
672
- }
673
- exports.EmberRoutingTable = EmberRoutingTable;
674
- EmberRoutingTable._fields = [
675
- ['entries', basic.uint8_t],
676
- ['startindex', basic.uint8_t],
677
- ['table', basic.LVList(EmberRoutingTableEntry)],
678
- ];
679
- class EmberRawFrame extends EzspStruct {
680
- }
681
- exports.EmberRawFrame = EmberRawFrame;
682
- EmberRawFrame._fields = [
683
- ['ieeeFrameControl', basic.uint16_t],
684
- ['sequence', basic.uint8_t],
685
- ['destPanId', named.EmberPanId],
686
- ['destNodeId', named.EmberNodeId],
687
- ['sourcePanId', named.EmberPanId],
688
- ['ieeeAddress', named.EmberEUI64],
689
- ['nwkFrameControl', basic.uint16_t],
690
- ['appFrameControl', basic.uint8_t],
691
- ['clusterId', basic.uint16_t],
692
- ['profileId', basic.uint16_t],
693
- ];
694
- class EmberIeeeRawFrame extends EzspStruct {
695
- }
696
- exports.EmberIeeeRawFrame = EmberIeeeRawFrame;
697
- EmberIeeeRawFrame._fields = [
698
- ['ieeeFrameControl', basic.uint16_t],
699
- ['sequence', basic.uint8_t],
700
- ['destPanId', named.EmberPanId],
701
- ['destAddress', named.EmberEUI64],
702
- ['sourcePanId', named.EmberPanId],
703
- ['sourceAddress', named.EmberEUI64],
704
- ['nwkFrameControl', basic.uint16_t],
705
- ['appFrameControl', basic.uint8_t],
706
- ['clusterId', basic.uint16_t],
707
- ['profileId', basic.uint16_t],
708
- ];
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.EmberSecurityManagerNetworkKeyInfo = exports.EmberSecurityManagerContext = exports.EmberIeeeRawFrame = exports.EmberRawFrame = exports.EmberRoutingTable = exports.EmberRoutingTableEntry = exports.EmberNeighbors = exports.EmberNeighbor = exports.EmberMultiAddress = exports.EmberSimpleDescriptor = exports.EmberNodeDescriptor = exports.EmberGpSinkListEntry = exports.EmberGpAddress = exports.EmberRf4cePairingTableEntry = exports.EmberRf4ceApplicationInfo = exports.EmberRf4ceVendorInfo = exports.EmberTokTypeStackZllSecurity = exports.EmberTokTypeStackZllData = exports.EmberZllAddressAssignment = exports.EmberZllDeviceInfoRecord = exports.EmberZllInitialSecurityState = exports.EmberZllNetwork = exports.EmberZllSecurityAlgorithmData = exports.EmberNetworkInitStruct = exports.EmberKeyStruct = exports.EmberCurrentSecurityState = exports.EmberInitialSecurityState = exports.EmberRouteTableEntry = exports.EmberNeighborTableEntry = exports.EmberAesMmoHashContext = exports.EmberMessageDigest = exports.EmberSignature283k1Data = exports.EmberPrivateKey283k1Data = exports.EmberPublicKey283k1Data = exports.EmberCertificate283k1Data = exports.EmberSignatureData = exports.EmberSmacData = exports.EmberPrivateKeyData = exports.EmberPublicKeyData = exports.EmberCertificateData = exports.EmberKeyData = exports.EmberMulticastTableEntry = exports.EmberBindingTableEntry = exports.EmberApsFrame = exports.EmberZigbeeNetwork = exports.EmberNetworkParameters = exports.EzspStruct = void 0;
27
+ /* istanbul ignore file */
28
+ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
29
+ const basic = __importStar(require("./basic"));
30
+ const named = __importStar(require("./named"));
31
+ class EzspStruct {
32
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
33
+ static serialize(cls, obj) {
34
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
35
+ return Buffer.concat(cls._fields.map((field) => {
36
+ const value = obj[field[0]];
37
+ console.assert(field[1]);
38
+ return field[1].serialize(field[1], value);
39
+ }));
40
+ }
41
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
42
+ static deserialize(cls, data) {
43
+ const r = new cls();
44
+ for (const [field_name, field_type] of cls._fields) {
45
+ let v;
46
+ [v, data] = field_type.deserialize(field_type, data);
47
+ r[field_name] = v;
48
+ }
49
+ return [r, data];
50
+ }
51
+ toString() {
52
+ return `${this.constructor.name}: ${JSON.stringify(this)}`;
53
+ }
54
+ }
55
+ exports.EzspStruct = EzspStruct;
56
+ class EmberNetworkParameters extends EzspStruct {
57
+ extendedPanId;
58
+ panId;
59
+ radioTxPower;
60
+ radioChannel;
61
+ joinMethod;
62
+ nwkManagerId;
63
+ nwkUpdateId;
64
+ channels;
65
+ static _fields = [
66
+ // The network's extended PAN identifier.
67
+ ['extendedPanId', basic.fixed_list(8, basic.uint8_t)],
68
+ // The network's PAN identifier.
69
+ ['panId', basic.uint16_t],
70
+ // A power setting, in dBm.
71
+ ['radioTxPower', basic.uint8_t],
72
+ // A radio channel.
73
+ ['radioChannel', basic.uint8_t],
74
+ // The method used to initially join the network.
75
+ ['joinMethod', named.EmberJoinMethod],
76
+ // NWK Manager ID. The ID of the network manager in the current network.
77
+ // This may only be set at joining when using USE_NWK_COMMISSIONING as
78
+ // the join method.
79
+ ['nwkManagerId', named.EmberNodeId],
80
+ // NWK Update ID. The value of the ZigBee nwkUpdateId known by the
81
+ // stack. This is used to determine the newest instance of the network
82
+ // after a PAN ID or channel change. This may only be set at joining
83
+ // when using USE_NWK_COMMISSIONING as the join method.
84
+ ['nwkUpdateId', basic.uint8_t],
85
+ // NWK channel mask. The list of preferred channels that the NWK manager
86
+ // has told this device to use when searching for the network. This may
87
+ // only be set at joining when using USE_NWK_COMMISSIONING as the join
88
+ // method.
89
+ ['channels', basic.uint32_t],
90
+ ];
91
+ }
92
+ exports.EmberNetworkParameters = EmberNetworkParameters;
93
+ class EmberZigbeeNetwork extends EzspStruct {
94
+ // The parameters of a ZigBee network.
95
+ static _fields = [
96
+ // The 802.15.4 channel associated with the network.
97
+ ['channel', basic.uint8_t],
98
+ // The network's PAN identifier.
99
+ ['panId', basic.uint16_t],
100
+ // The network's extended PAN identifier.
101
+ ['extendedPanId', basic.fixed_list(8, basic.uint8_t)],
102
+ // Whether the network is allowing MAC associations.
103
+ ['allowingJoin', named.Bool],
104
+ // The Stack Profile associated with the network.
105
+ ['stackProfile', basic.uint8_t],
106
+ // The instance of the Network.
107
+ ['nwkUpdateId', basic.uint8_t],
108
+ ];
109
+ }
110
+ exports.EmberZigbeeNetwork = EmberZigbeeNetwork;
111
+ class EmberApsFrame extends EzspStruct {
112
+ profileId;
113
+ sequence;
114
+ clusterId;
115
+ sourceEndpoint;
116
+ destinationEndpoint;
117
+ groupId;
118
+ options;
119
+ // ZigBee APS frame parameters.
120
+ static _fields = [
121
+ // The application profile ID that describes the format of the message.
122
+ ['profileId', basic.uint16_t],
123
+ // The cluster ID for this message.
124
+ ['clusterId', basic.uint16_t],
125
+ // The source endpoint.
126
+ ['sourceEndpoint', basic.uint8_t],
127
+ // The destination endpoint.
128
+ ['destinationEndpoint', basic.uint8_t],
129
+ // A bitmask of options.
130
+ ['options', named.EmberApsOption],
131
+ // The group ID for this message, if it is multicast mode.
132
+ ['groupId', basic.uint16_t],
133
+ // The sequence number.
134
+ ['sequence', basic.uint8_t],
135
+ ];
136
+ }
137
+ exports.EmberApsFrame = EmberApsFrame;
138
+ class EmberBindingTableEntry extends EzspStruct {
139
+ // An entry in the binding table.
140
+ static _fields = [
141
+ // The type of binding.
142
+ ['type', named.EmberBindingType],
143
+ // The endpoint on the local node.
144
+ ['local', basic.uint8_t],
145
+ // A cluster ID that matches one from the local endpoint's simple
146
+ // descriptor.This cluster ID is set by the provisioning application to
147
+ // indicate which part an endpoint's functionality is bound to this
148
+ // particular remote node and is used to distinguish between unicast and
149
+ // multicast bindings.Note that a binding can be used to send messages
150
+ // with any cluster ID, not just that listed in the binding.
151
+ ['clusterId', basic.uint16_t],
152
+ // The endpoint on the remote node [specified by identifier].
153
+ ['remote', basic.uint8_t],
154
+ // A 64- bit identifier.This is either the destination EUI64 [for
155
+ // unicasts] or the 64- bit group address [for multicasts].
156
+ ['identifier', named.EmberEUI64],
157
+ // The index of the network the binding belongs to.
158
+ ['networkIndex', basic.uint8_t],
159
+ ];
160
+ }
161
+ exports.EmberBindingTableEntry = EmberBindingTableEntry;
162
+ class EmberMulticastTableEntry extends EzspStruct {
163
+ multicastId;
164
+ endpoint;
165
+ networkIndex;
166
+ // A multicast table entry indicates that a particular endpoint is a member
167
+ // of a particular multicast group.Only devices with an endpoint in a
168
+ // multicast group will receive messages sent to that multicast group.
169
+ static _fields = [
170
+ // The multicast group ID.
171
+ ['multicastId', named.EmberMulticastId],
172
+ // The endpoint that is a member, or 0 if this entry is not in use[the
173
+ // ZDO is not a member of any multicast groups.]
174
+ ['endpoint', basic.uint8_t],
175
+ // The network index of the network the entry is related to.
176
+ ['networkIndex', basic.uint8_t],
177
+ ];
178
+ }
179
+ exports.EmberMulticastTableEntry = EmberMulticastTableEntry;
180
+ class EmberKeyData extends EzspStruct {
181
+ contents;
182
+ // A 128- bit key.
183
+ static _fields = [
184
+ // The key data.
185
+ ['contents', basic.fixed_list(16, basic.uint8_t)],
186
+ ];
187
+ }
188
+ exports.EmberKeyData = EmberKeyData;
189
+ class EmberCertificateData extends EzspStruct {
190
+ contents;
191
+ // The implicit certificate used in CBKE.
192
+ static _fields = [
193
+ // The certificate data.
194
+ ['contents', basic.fixed_list(48, basic.uint8_t)],
195
+ ];
196
+ }
197
+ exports.EmberCertificateData = EmberCertificateData;
198
+ class EmberPublicKeyData extends EzspStruct {
199
+ contents;
200
+ // The public key data used in CBKE.
201
+ static _fields = [
202
+ // The public key data.
203
+ ['contents', basic.fixed_list(22, basic.uint8_t)],
204
+ ];
205
+ }
206
+ exports.EmberPublicKeyData = EmberPublicKeyData;
207
+ class EmberPrivateKeyData extends EzspStruct {
208
+ contents;
209
+ // The private key data used in CBKE.
210
+ static _fields = [
211
+ // The private key data.
212
+ ['contents', basic.fixed_list(21, basic.uint8_t)],
213
+ ];
214
+ }
215
+ exports.EmberPrivateKeyData = EmberPrivateKeyData;
216
+ class EmberSmacData extends EzspStruct {
217
+ // The Shared Message Authentication Code data used in CBKE.
218
+ static _fields = [
219
+ // The Shared Message Authentication Code data.
220
+ ['contents', basic.fixed_list(16, basic.uint8_t)],
221
+ ];
222
+ }
223
+ exports.EmberSmacData = EmberSmacData;
224
+ class EmberSignatureData extends EzspStruct {
225
+ // An ECDSA signature
226
+ static _fields = [
227
+ // The signature data.
228
+ ['contents', basic.fixed_list(42, basic.uint8_t)],
229
+ ];
230
+ }
231
+ exports.EmberSignatureData = EmberSignatureData;
232
+ class EmberCertificate283k1Data extends EzspStruct {
233
+ // The implicit certificate used in CBKE.
234
+ static _fields = [
235
+ // The 283k1 certificate data.
236
+ ['contents', basic.fixed_list(74, basic.uint8_t)],
237
+ ];
238
+ }
239
+ exports.EmberCertificate283k1Data = EmberCertificate283k1Data;
240
+ class EmberPublicKey283k1Data extends EzspStruct {
241
+ // The public key data used in CBKE.
242
+ static _fields = [
243
+ // The 283k1 public key data.
244
+ ['contents', basic.fixed_list(37, basic.uint8_t)],
245
+ ];
246
+ }
247
+ exports.EmberPublicKey283k1Data = EmberPublicKey283k1Data;
248
+ class EmberPrivateKey283k1Data extends EzspStruct {
249
+ // The private key data used in CBKE.
250
+ static _fields = [
251
+ // The 283k1 private key data.
252
+ ['contents', basic.fixed_list(36, basic.uint8_t)],
253
+ ];
254
+ }
255
+ exports.EmberPrivateKey283k1Data = EmberPrivateKey283k1Data;
256
+ class EmberSignature283k1Data extends EzspStruct {
257
+ // An ECDSA signature
258
+ static _fields = [
259
+ // The 283k1 signature data.
260
+ ['contents', basic.fixed_list(72, basic.uint8_t)],
261
+ ];
262
+ }
263
+ exports.EmberSignature283k1Data = EmberSignature283k1Data;
264
+ class EmberMessageDigest extends EzspStruct {
265
+ // The calculated digest of a message
266
+ static _fields = [
267
+ // The calculated digest of a message.
268
+ ['contents', basic.fixed_list(16, basic.uint8_t)],
269
+ ];
270
+ }
271
+ exports.EmberMessageDigest = EmberMessageDigest;
272
+ class EmberAesMmoHashContext extends EzspStruct {
273
+ result;
274
+ length;
275
+ // The hash context for an ongoing hash operation.
276
+ static _fields = [
277
+ // The result of ongoing the hash operation.
278
+ ['result', basic.fixed_list(16, basic.uint8_t)],
279
+ // The total length of the data that has been hashed so far.
280
+ ['length', basic.uint32_t],
281
+ ];
282
+ }
283
+ exports.EmberAesMmoHashContext = EmberAesMmoHashContext;
284
+ class EmberNeighborTableEntry extends EzspStruct {
285
+ // A neighbor table entry stores information about the reliability of RF
286
+ // links to and from neighboring nodes.
287
+ static _fields = [
288
+ // The neighbor's two byte network id
289
+ ['shortId', basic.uint16_t],
290
+ // An exponentially weighted moving average of the link quality values
291
+ // of incoming packets from this neighbor as reported by the PHY.
292
+ ['averageLqi', basic.uint8_t],
293
+ // The incoming cost for this neighbor, computed from the average LQI.
294
+ // Values range from 1 for a good link to 7 for a bad link.
295
+ ['inCost', basic.uint8_t],
296
+ // The outgoing cost for this neighbor, obtained from the most recently
297
+ // received neighbor exchange message from the neighbor. A value of zero
298
+ // means that a neighbor exchange message from the neighbor has not been
299
+ // received recently enough, or that our id was not present in the most
300
+ // recently received one.
301
+ ['outCost', basic.uint8_t],
302
+ // The number of aging periods elapsed since a link status message was
303
+ // last received from this neighbor. The aging period is 16 seconds.
304
+ ['age', basic.uint8_t],
305
+ // The 8 byte EUI64 of the neighbor.
306
+ ['longId', named.EmberEUI64],
307
+ ];
308
+ }
309
+ exports.EmberNeighborTableEntry = EmberNeighborTableEntry;
310
+ class EmberRouteTableEntry extends EzspStruct {
311
+ // A route table entry stores information about the next hop along the route
312
+ // to the destination.
313
+ static _fields = [
314
+ // The short id of the destination. A value of 0xFFFF indicates the
315
+ // entry is unused.
316
+ ['destination', basic.uint16_t],
317
+ // The short id of the next hop to this destination.
318
+ ['nextHop', basic.uint16_t],
319
+ // Indicates whether this entry is active [0], being discovered [1]],
320
+ // unused [3], or validating [4].
321
+ ['status', basic.uint8_t],
322
+ // The number of seconds since this route entry was last used to send a
323
+ // packet.
324
+ ['age', basic.uint8_t],
325
+ // Indicates whether this destination is a High RAM Concentrator [2], a
326
+ // Low RAM Concentrator [1], or not a concentrator [0].
327
+ ['concentratorType', basic.uint8_t],
328
+ // For a High RAM Concentrator, indicates whether a route record is
329
+ // needed [2], has been sent [1], or is no long needed [0] because a
330
+ // source routed message from the concentrator has been received.
331
+ ['routeRecordState', basic.uint8_t],
332
+ ];
333
+ }
334
+ exports.EmberRouteTableEntry = EmberRouteTableEntry;
335
+ class EmberInitialSecurityState extends EzspStruct {
336
+ bitmask;
337
+ preconfiguredKey;
338
+ networkKey;
339
+ networkKeySequenceNumber;
340
+ preconfiguredTrustCenterEui64;
341
+ // The security data used to set the configuration for the stack, or the
342
+ // retrieved configuration currently in use.
343
+ static _fields = [
344
+ // A bitmask indicating the security state used to indicate what the
345
+ // security configuration will be when the device forms or joins the
346
+ // network.
347
+ ['bitmask', named.EmberInitialSecurityBitmask],
348
+ // The pre-configured Key data that should be used when forming or
349
+ // joining the network. The security bitmask must be set with the
350
+ // HAVE_PRECONFIGURED_KEY bit to indicate that the key contains valid
351
+ // data.
352
+ ['preconfiguredKey', EmberKeyData],
353
+ // The Network Key that should be used by the Trust Center when it forms
354
+ // the network, or the Network Key currently in use by a joined device.
355
+ // The security bitmask must be set with HAVE_NETWORK_KEY to indicate
356
+ // that the key contains valid data.
357
+ ['networkKey', EmberKeyData],
358
+ // The sequence number associated with the network key. This is only
359
+ // valid if the HAVE_NETWORK_KEY has been set in the security bitmask.
360
+ ['networkKeySequenceNumber', basic.uint8_t],
361
+ // This is the long address of the trust center on the network that will
362
+ // be joined. It is usually NOT set prior to joining the network and
363
+ // instead it is learned during the joining message exchange. This field
364
+ // is only examined if HAVE_TRUST_CENTER_EUI64 is set in the
365
+ // EmberInitialSecurityState::bitmask. Most devices should clear that
366
+ // bit and leave this field alone. This field must be set when using
367
+ // commissioning mode.
368
+ ['preconfiguredTrustCenterEui64', named.EmberEUI64],
369
+ ];
370
+ }
371
+ exports.EmberInitialSecurityState = EmberInitialSecurityState;
372
+ class EmberCurrentSecurityState extends EzspStruct {
373
+ // The security options and information currently used by the stack.
374
+ static _fields = [
375
+ // A bitmask indicating the security options currently in use by a
376
+ // device joined in the network.
377
+ ['bitmask', named.EmberCurrentSecurityBitmask],
378
+ // The IEEE Address of the Trust Center device.
379
+ ['trustCenterLongAddress', named.EmberEUI64],
380
+ ];
381
+ }
382
+ exports.EmberCurrentSecurityState = EmberCurrentSecurityState;
383
+ class EmberKeyStruct extends EzspStruct {
384
+ key;
385
+ outgoingFrameCounter;
386
+ sequenceNumber;
387
+ // A structure containing a key and its associated data.
388
+ static _fields = [
389
+ // A bitmask indicating the presence of data within the various fields
390
+ // in the structure.
391
+ ['bitmask', named.EmberKeyStructBitmask],
392
+ // The type of the key.
393
+ ['type', named.EmberKeyType],
394
+ // The actual key data.
395
+ ['key', EmberKeyData],
396
+ // The outgoing frame counter associated with the key.
397
+ ['outgoingFrameCounter', basic.uint32_t],
398
+ // The frame counter of the partner device associated with the key.
399
+ ['incomingFrameCounter', basic.uint32_t],
400
+ // The sequence number associated with the key.
401
+ ['sequenceNumber', basic.uint8_t],
402
+ // The IEEE address of the partner device also in possession of the key.
403
+ ['partnerEUI64', named.EmberEUI64],
404
+ ];
405
+ }
406
+ exports.EmberKeyStruct = EmberKeyStruct;
407
+ class EmberNetworkInitStruct extends EzspStruct {
408
+ // Network Initialization parameters.
409
+ static _fields = [
410
+ // Configuration options for network init.
411
+ ['bitmask', named.EmberNetworkInitBitmask],
412
+ ];
413
+ }
414
+ exports.EmberNetworkInitStruct = EmberNetworkInitStruct;
415
+ class EmberZllSecurityAlgorithmData extends EzspStruct {
416
+ // Data associated with the ZLL security algorithm.
417
+ static _fields = [
418
+ // Transaction identifier.
419
+ ['transactionId', basic.uint32_t],
420
+ // Response identifier.
421
+ ['responseId', basic.uint32_t],
422
+ // Bitmask.
423
+ ['bitmask', basic.uint16_t],
424
+ ];
425
+ }
426
+ exports.EmberZllSecurityAlgorithmData = EmberZllSecurityAlgorithmData;
427
+ class EmberZllNetwork extends EzspStruct {
428
+ // The parameters of a ZLL network.
429
+ static _fields = [
430
+ // The parameters of a ZigBee network.
431
+ ['zigbeeNetwork', EmberZigbeeNetwork],
432
+ // Data associated with the ZLL security algorithm.
433
+ ['securityAlgorithm', EmberZllSecurityAlgorithmData],
434
+ // Associated EUI64.
435
+ ['eui64', named.EmberEUI64],
436
+ // The node id.
437
+ ['nodeId', named.EmberNodeId],
438
+ // The ZLL state.
439
+ ['state', named.EmberZllState],
440
+ // The node type.
441
+ ['nodeType', named.EmberNodeType],
442
+ // The number of sub devices.
443
+ ['numberSubDevices', basic.uint8_t],
444
+ // The total number of group identifiers.
445
+ ['totalGroupIdentifiers', basic.uint8_t],
446
+ // RSSI correction value.
447
+ ['rssiCorrection', basic.uint8_t],
448
+ ];
449
+ }
450
+ exports.EmberZllNetwork = EmberZllNetwork;
451
+ class EmberZllInitialSecurityState extends EzspStruct {
452
+ // Describes the initial security features and requirements that will be
453
+ // used when forming or joining ZLL networks.
454
+ static _fields = [
455
+ // Unused bitmask; reserved for future use.
456
+ ['bitmask', basic.uint32_t],
457
+ // The key encryption algorithm advertised by the application.
458
+ ['keyIndex', named.EmberZllKeyIndex],
459
+ // The encryption key for use by algorithms that require it.
460
+ ['encryptionKey', EmberKeyData],
461
+ // The pre-configured link key used during classical ZigBee
462
+ // commissioning.
463
+ ['preconfiguredKey', EmberKeyData],
464
+ ];
465
+ }
466
+ exports.EmberZllInitialSecurityState = EmberZllInitialSecurityState;
467
+ class EmberZllDeviceInfoRecord extends EzspStruct {
468
+ // Information about a specific ZLL Device.
469
+ static _fields = [
470
+ // EUI64 associated with the device.
471
+ ['ieeeAddress', named.EmberEUI64],
472
+ // Endpoint id.
473
+ ['endpointId', basic.uint8_t],
474
+ // Profile id.
475
+ ['profileId', basic.uint16_t],
476
+ // Device id.
477
+ ['deviceId', basic.uint16_t],
478
+ // Associated version.
479
+ ['version', basic.uint8_t],
480
+ // Number of relevant group ids.
481
+ ['groupIdCount', basic.uint8_t],
482
+ ];
483
+ }
484
+ exports.EmberZllDeviceInfoRecord = EmberZllDeviceInfoRecord;
485
+ class EmberZllAddressAssignment extends EzspStruct {
486
+ // ZLL address assignment data.
487
+ static _fields = [
488
+ // Relevant node id.
489
+ ['nodeId', named.EmberNodeId],
490
+ // Minimum free node id.
491
+ ['freeNodeIdMin', named.EmberNodeId],
492
+ // Maximum free node id.
493
+ ['freeNodeIdMax', named.EmberNodeId],
494
+ // Minimum group id.
495
+ ['groupIdMin', named.EmberMulticastId],
496
+ // Maximum group id.
497
+ ['groupIdMax', named.EmberMulticastId],
498
+ // Minimum free group id.
499
+ ['freeGroupIdMin', named.EmberMulticastId],
500
+ // Maximum free group id.
501
+ ['freeGroupIdMax', named.EmberMulticastId],
502
+ ];
503
+ }
504
+ exports.EmberZllAddressAssignment = EmberZllAddressAssignment;
505
+ class EmberTokTypeStackZllData extends EzspStruct {
506
+ // Public API for ZLL stack data token.
507
+ static _fields = [
508
+ // Token bitmask.
509
+ ['bitmask', basic.uint32_t],
510
+ // Minimum free node id.
511
+ ['freeNodeIdMin', basic.uint16_t],
512
+ // Maximum free node id.
513
+ ['freeNodeIdMax', basic.uint16_t],
514
+ // Local minimum group id.
515
+ ['myGroupIdMin', basic.uint16_t],
516
+ // Minimum free group id.
517
+ ['freeGroupIdMin', basic.uint16_t],
518
+ // Maximum free group id.
519
+ ['freeGroupIdMax', basic.uint16_t],
520
+ // RSSI correction value.
521
+ ['rssiCorrection', basic.uint8_t],
522
+ ];
523
+ }
524
+ exports.EmberTokTypeStackZllData = EmberTokTypeStackZllData;
525
+ class EmberTokTypeStackZllSecurity extends EzspStruct {
526
+ // Public API for ZLL stack security token.
527
+ static _fields = [
528
+ // Token bitmask.
529
+ ['bitmask', basic.uint32_t],
530
+ // Key index.
531
+ ['keyIndex', basic.uint8_t],
532
+ // Encryption key.
533
+ ['encryptionKey', basic.fixed_list(16, basic.uint8_t)],
534
+ // Preconfigured key.
535
+ ['preconfiguredKey', basic.fixed_list(16, basic.uint8_t)],
536
+ ];
537
+ }
538
+ exports.EmberTokTypeStackZllSecurity = EmberTokTypeStackZllSecurity;
539
+ class EmberRf4ceVendorInfo extends EzspStruct {
540
+ // The RF4CE vendor information block.
541
+ static _fields = [
542
+ // The vendor identifier field shall contain the vendor identifier of
543
+ // the node.
544
+ ['vendorId', basic.uint16_t],
545
+ // The vendor string field shall contain the vendor string of the node.
546
+ ['vendorString', basic.fixed_list(7, basic.uint8_t)],
547
+ ];
548
+ }
549
+ exports.EmberRf4ceVendorInfo = EmberRf4ceVendorInfo;
550
+ class EmberRf4ceApplicationInfo extends EzspStruct {
551
+ // The RF4CE application information block.
552
+ static _fields = [
553
+ // The application capabilities field shall contain information relating
554
+ // to the capabilities of the application of the node.
555
+ ['capabilities', named.EmberRf4ceApplicationCapabilities],
556
+ // The user string field shall contain the user specified identification
557
+ // string.
558
+ ['userString', basic.fixed_list(15, basic.uint8_t)],
559
+ // The device type list field shall contain the list of device types
560
+ // supported by the node.
561
+ ['deviceTypeList', basic.fixed_list(3, basic.uint8_t)],
562
+ // The profile ID list field shall contain the list of profile
563
+ // identifiers disclosed as supported by the node.
564
+ ['profileIdList', basic.fixed_list(7, basic.uint8_t)],
565
+ ];
566
+ }
567
+ exports.EmberRf4ceApplicationInfo = EmberRf4ceApplicationInfo;
568
+ class EmberRf4cePairingTableEntry extends EzspStruct {
569
+ // The internal representation of an RF4CE pairing table entry.
570
+ static _fields = [
571
+ // The link key to be used to secure this pairing link.
572
+ ['securityLinkKey', EmberKeyData],
573
+ // The IEEE address of the destination device.
574
+ ['destLongId', named.EmberEUI64],
575
+ // The frame counter last received from the recipient node.
576
+ ['frameCounter', basic.uint32_t],
577
+ // The network address to be assumed by the source device.
578
+ ['sourceNodeId', named.EmberNodeId],
579
+ // The PAN identifier of the destination device.
580
+ ['destPanId', named.EmberPanId],
581
+ // The network address of the destination device.
582
+ ['destNodeId', named.EmberNodeId],
583
+ // The vendor ID of the destination device.
584
+ ['destVendorId', basic.uint16_t],
585
+ // The list of profiles supported by the destination device.
586
+ ['destProfileIdList', basic.fixed_list(7, basic.uint8_t)],
587
+ // The length of the list of supported profiles.
588
+ ['destProfileIdListLength', basic.uint8_t],
589
+ // Info byte.
590
+ ['info', basic.uint8_t],
591
+ // The expected channel of the destination device.
592
+ ['channel', basic.uint8_t],
593
+ // The node capabilities of the recipient node.
594
+ ['capabilities', basic.uint8_t],
595
+ // Last MAC sequence number seen on this pairing link.
596
+ ['lastSeqn', basic.uint8_t],
597
+ ];
598
+ }
599
+ exports.EmberRf4cePairingTableEntry = EmberRf4cePairingTableEntry;
600
+ class EmberGpAddress extends EzspStruct {
601
+ // A GP address structure.
602
+ static _fields = [
603
+ // The GPD's EUI64.
604
+ ['gpdIeeeAddress', named.EmberEUI64],
605
+ // The GPD's source ID.
606
+ ['sourceId', basic.uint32_t],
607
+ // The GPD Application ID.
608
+ ['applicationId', basic.uint8_t],
609
+ // The GPD endpoint.
610
+ ['endpoint', basic.uint8_t],
611
+ ];
612
+ }
613
+ exports.EmberGpAddress = EmberGpAddress;
614
+ class EmberGpSinkListEntry extends EzspStruct {
615
+ // A sink list entry
616
+ static _fields = [
617
+ // The sink list type.
618
+ ['type', basic.uint8_t],
619
+ // The EUI64 of the target sink.
620
+ ['sinkEUI', named.EmberEUI64],
621
+ // The short address of the target sink.
622
+ ['sinkNodeId', named.EmberNodeId],
623
+ ];
624
+ }
625
+ exports.EmberGpSinkListEntry = EmberGpSinkListEntry;
626
+ class EmberNodeDescriptor extends EzspStruct {
627
+ static _fields = [
628
+ ['byte1', basic.uint8_t],
629
+ ['byte2', basic.uint8_t],
630
+ ['mac_capability_flags', basic.uint8_t],
631
+ ['manufacturer_code', basic.uint16_t],
632
+ ['maximum_buffer_size', basic.uint8_t],
633
+ ['maximum_incoming_transfer_size', basic.uint16_t],
634
+ ['server_mask', basic.uint16_t],
635
+ ['maximum_outgoing_transfer_size', basic.uint16_t],
636
+ ['descriptor_capability_field', basic.uint8_t],
637
+ ];
638
+ }
639
+ exports.EmberNodeDescriptor = EmberNodeDescriptor;
640
+ class EmberSimpleDescriptor extends EzspStruct {
641
+ static _fields = [
642
+ ['endpoint', basic.uint8_t],
643
+ ['profileid', basic.uint16_t],
644
+ ['deviceid', basic.uint16_t],
645
+ ['deviceversion', basic.uint8_t],
646
+ ['inclusterlist', basic.LVList(basic.uint16_t)],
647
+ ['outclusterlist', basic.LVList(basic.uint16_t)],
648
+ ];
649
+ }
650
+ exports.EmberSimpleDescriptor = EmberSimpleDescriptor;
651
+ class EmberMultiAddress extends EzspStruct {
652
+ static fields3 = [
653
+ ['addrmode', basic.uint8_t],
654
+ ['ieee', named.EmberEUI64],
655
+ ['endpoint', basic.uint8_t],
656
+ ];
657
+ static fields1 = [
658
+ ['addrmode', basic.uint8_t],
659
+ ['nwk', named.EmberNodeId],
660
+ ];
661
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
662
+ static serialize(cls, obj) {
663
+ const addrmode = obj['addrmode'];
664
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
665
+ const fields = (addrmode == 3) ? cls.fields3 : cls.fields1;
666
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
667
+ return Buffer.concat(fields.map((field) => {
668
+ const value = obj[field[0]];
669
+ console.assert(field[1]);
670
+ return field[1].serialize(field[1], value);
671
+ }));
672
+ }
673
+ }
674
+ exports.EmberMultiAddress = EmberMultiAddress;
675
+ class EmberNeighbor extends EzspStruct {
676
+ static _fields = [
677
+ ['extendedpanid', basic.fixed_list(8, basic.uint8_t)],
678
+ ['ieee', named.EmberEUI64],
679
+ ['nodeid', named.EmberNodeId],
680
+ ['packed', basic.uint8_t],
681
+ ['permitjoining', basic.uint8_t],
682
+ ['depth', basic.uint8_t],
683
+ ['lqi', basic.uint8_t],
684
+ ];
685
+ }
686
+ exports.EmberNeighbor = EmberNeighbor;
687
+ class EmberNeighbors extends EzspStruct {
688
+ static _fields = [
689
+ ['entries', basic.uint8_t],
690
+ ['startindex', basic.uint8_t],
691
+ ['neighbors', basic.LVList(EmberNeighbor)],
692
+ ];
693
+ }
694
+ exports.EmberNeighbors = EmberNeighbors;
695
+ class EmberRoutingTableEntry extends EzspStruct {
696
+ static _fields = [
697
+ ['destination', basic.uint16_t],
698
+ ['status', basic.uint8_t],
699
+ ['nexthop', basic.uint16_t],
700
+ ];
701
+ }
702
+ exports.EmberRoutingTableEntry = EmberRoutingTableEntry;
703
+ class EmberRoutingTable extends EzspStruct {
704
+ static _fields = [
705
+ ['entries', basic.uint8_t],
706
+ ['startindex', basic.uint8_t],
707
+ ['table', basic.LVList(EmberRoutingTableEntry)],
708
+ ];
709
+ }
710
+ exports.EmberRoutingTable = EmberRoutingTable;
711
+ class EmberRawFrame extends EzspStruct {
712
+ ieeeFrameControl;
713
+ sequence;
714
+ destPanId;
715
+ destNodeId;
716
+ sourcePanId;
717
+ ieeeAddress;
718
+ nwkFrameControl;
719
+ appFrameControl;
720
+ clusterId;
721
+ profileId;
722
+ static _fields = [
723
+ ['ieeeFrameControl', basic.uint16_t],
724
+ ['sequence', basic.uint8_t],
725
+ ['destPanId', named.EmberPanId],
726
+ ['destNodeId', named.EmberNodeId],
727
+ ['sourcePanId', named.EmberPanId],
728
+ ['ieeeAddress', named.EmberEUI64],
729
+ ['nwkFrameControl', basic.uint16_t],
730
+ ['appFrameControl', basic.uint8_t],
731
+ ['clusterId', basic.uint16_t],
732
+ ['profileId', basic.uint16_t],
733
+ ];
734
+ }
735
+ exports.EmberRawFrame = EmberRawFrame;
736
+ class EmberIeeeRawFrame extends EzspStruct {
737
+ ieeeFrameControl;
738
+ sequence;
739
+ destPanId;
740
+ destAddress;
741
+ sourcePanId;
742
+ sourceAddress;
743
+ nwkFrameControl;
744
+ appFrameControl;
745
+ clusterId;
746
+ profileId;
747
+ static _fields = [
748
+ ['ieeeFrameControl', basic.uint16_t],
749
+ ['sequence', basic.uint8_t],
750
+ ['destPanId', named.EmberPanId],
751
+ ['destAddress', named.EmberEUI64],
752
+ ['sourcePanId', named.EmberPanId],
753
+ ['sourceAddress', named.EmberEUI64],
754
+ ['nwkFrameControl', basic.uint16_t],
755
+ ['appFrameControl', basic.uint8_t],
756
+ ['clusterId', basic.uint16_t],
757
+ ['profileId', basic.uint16_t],
758
+ ];
759
+ }
760
+ exports.EmberIeeeRawFrame = EmberIeeeRawFrame;
761
+ class EmberSecurityManagerContext extends EzspStruct {
762
+ // Context for Zigbee Security Manager operations.
763
+ type;
764
+ index;
765
+ derivedType;
766
+ eui64;
767
+ multiNetworkIndex;
768
+ flags;
769
+ psaKeyAlgPermission;
770
+ static _fields = [
771
+ // The type of key being referenced.
772
+ ['type', named.EmberKeyType],
773
+ // The index of the referenced key.
774
+ ['index', basic.uint8_t],
775
+ // The type of key derivation operation to perform on a key.
776
+ ['derivedType', named.EmberDerivedKeyType],
777
+ // The EUI64 associated with this key.
778
+ ['eui64', named.EmberEUI64],
779
+ // Multi-network index.
780
+ ['multiNetworkIndex', basic.uint8_t],
781
+ // Flag bitmask.
782
+ ['flags', basic.uint8_t],
783
+ // Algorithm to use with this key (for PSA APIs)
784
+ ['psaKeyAlgPermission', basic.uint32_t],
785
+ ];
786
+ }
787
+ exports.EmberSecurityManagerContext = EmberSecurityManagerContext;
788
+ /** This data structure contains the metadata pertaining to an network key */
789
+ class EmberSecurityManagerNetworkKeyInfo extends EzspStruct {
790
+ networkKeySet; // boolean
791
+ alternateNetworkKeySet; // boolean
792
+ networkKeySequenceNumber;
793
+ altNetworkKeySequenceNumber;
794
+ networkKeyFrameCounter;
795
+ static _fields = [
796
+ ['networkKeySet', basic.uint8_t],
797
+ ['alternateNetworkKeySet', basic.uint8_t],
798
+ ['networkKeySequenceNumber', basic.uint8_t],
799
+ ['altNetworkKeySequenceNumber', basic.uint8_t],
800
+ ['networkKeyFrameCounter', basic.uint32_t],
801
+ ];
802
+ }
803
+ exports.EmberSecurityManagerNetworkKeyInfo = EmberSecurityManagerNetworkKeyInfo;
709
804
  //# sourceMappingURL=struct.js.map