zigbee-herdsman 3.0.3 → 3.1.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 (786) hide show
  1. package/.github/workflows/ci.yml +1 -1
  2. package/.release-please-manifest.json +1 -1
  3. package/CHANGELOG.md +25 -0
  4. package/package.json +12 -31
  5. package/tsconfig.json +3 -1
  6. package/.babelrc.js +0 -3
  7. package/dist/adapter/adapter.d.ts +0 -63
  8. package/dist/adapter/adapter.d.ts.map +0 -1
  9. package/dist/adapter/adapter.js +0 -88
  10. package/dist/adapter/adapter.js.map +0 -1
  11. package/dist/adapter/adapterDiscovery.d.ts +0 -22
  12. package/dist/adapter/adapterDiscovery.d.ts.map +0 -1
  13. package/dist/adapter/adapterDiscovery.js +0 -468
  14. package/dist/adapter/adapterDiscovery.js.map +0 -1
  15. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +0 -58
  16. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +0 -1
  17. package/dist/adapter/deconz/adapter/deconzAdapter.js +0 -634
  18. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +0 -1
  19. package/dist/adapter/deconz/adapter/index.d.ts +0 -3
  20. package/dist/adapter/deconz/adapter/index.d.ts.map +0 -1
  21. package/dist/adapter/deconz/adapter/index.js +0 -9
  22. package/dist/adapter/deconz/adapter/index.js.map +0 -1
  23. package/dist/adapter/deconz/driver/constants.d.ts +0 -152
  24. package/dist/adapter/deconz/driver/constants.d.ts.map +0 -1
  25. package/dist/adapter/deconz/driver/constants.js +0 -56
  26. package/dist/adapter/deconz/driver/constants.js.map +0 -1
  27. package/dist/adapter/deconz/driver/driver.d.ts +0 -79
  28. package/dist/adapter/deconz/driver/driver.d.ts.map +0 -1
  29. package/dist/adapter/deconz/driver/driver.js +0 -779
  30. package/dist/adapter/deconz/driver/driver.js.map +0 -1
  31. package/dist/adapter/deconz/driver/frame.d.ts +0 -6
  32. package/dist/adapter/deconz/driver/frame.d.ts.map +0 -1
  33. package/dist/adapter/deconz/driver/frame.js +0 -14
  34. package/dist/adapter/deconz/driver/frame.js.map +0 -1
  35. package/dist/adapter/deconz/driver/frameParser.d.ts +0 -5
  36. package/dist/adapter/deconz/driver/frameParser.d.ts.map +0 -1
  37. package/dist/adapter/deconz/driver/frameParser.js +0 -530
  38. package/dist/adapter/deconz/driver/frameParser.js.map +0 -1
  39. package/dist/adapter/deconz/driver/parser.d.ts +0 -10
  40. package/dist/adapter/deconz/driver/parser.d.ts.map +0 -1
  41. package/dist/adapter/deconz/driver/parser.js +0 -39
  42. package/dist/adapter/deconz/driver/parser.js.map +0 -1
  43. package/dist/adapter/deconz/driver/writer.d.ts +0 -8
  44. package/dist/adapter/deconz/driver/writer.d.ts.map +0 -1
  45. package/dist/adapter/deconz/driver/writer.js +0 -53
  46. package/dist/adapter/deconz/driver/writer.js.map +0 -1
  47. package/dist/adapter/ember/adapter/emberAdapter.d.ts +0 -337
  48. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +0 -1
  49. package/dist/adapter/ember/adapter/emberAdapter.js +0 -1662
  50. package/dist/adapter/ember/adapter/emberAdapter.js.map +0 -1
  51. package/dist/adapter/ember/adapter/endpoints.d.ts +0 -27
  52. package/dist/adapter/ember/adapter/endpoints.d.ts.map +0 -1
  53. package/dist/adapter/ember/adapter/endpoints.js +0 -69
  54. package/dist/adapter/ember/adapter/endpoints.js.map +0 -1
  55. package/dist/adapter/ember/adapter/index.d.ts +0 -3
  56. package/dist/adapter/ember/adapter/index.d.ts.map +0 -1
  57. package/dist/adapter/ember/adapter/index.js +0 -6
  58. package/dist/adapter/ember/adapter/index.js.map +0 -1
  59. package/dist/adapter/ember/adapter/oneWaitress.d.ts +0 -112
  60. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +0 -1
  61. package/dist/adapter/ember/adapter/oneWaitress.js +0 -231
  62. package/dist/adapter/ember/adapter/oneWaitress.js.map +0 -1
  63. package/dist/adapter/ember/adapter/tokensManager.d.ts +0 -69
  64. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +0 -1
  65. package/dist/adapter/ember/adapter/tokensManager.js +0 -689
  66. package/dist/adapter/ember/adapter/tokensManager.js.map +0 -1
  67. package/dist/adapter/ember/consts.d.ts +0 -105
  68. package/dist/adapter/ember/consts.d.ts.map +0 -1
  69. package/dist/adapter/ember/consts.js +0 -153
  70. package/dist/adapter/ember/consts.js.map +0 -1
  71. package/dist/adapter/ember/enums.d.ts +0 -1915
  72. package/dist/adapter/ember/enums.d.ts.map +0 -1
  73. package/dist/adapter/ember/enums.js +0 -2060
  74. package/dist/adapter/ember/enums.js.map +0 -1
  75. package/dist/adapter/ember/ezsp/buffalo.d.ts +0 -164
  76. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +0 -1
  77. package/dist/adapter/ember/ezsp/buffalo.js +0 -1122
  78. package/dist/adapter/ember/ezsp/buffalo.js.map +0 -1
  79. package/dist/adapter/ember/ezsp/consts.d.ts +0 -117
  80. package/dist/adapter/ember/ezsp/consts.d.ts.map +0 -1
  81. package/dist/adapter/ember/ezsp/consts.js +0 -129
  82. package/dist/adapter/ember/ezsp/consts.js.map +0 -1
  83. package/dist/adapter/ember/ezsp/enums.d.ts +0 -990
  84. package/dist/adapter/ember/ezsp/enums.d.ts.map +0 -1
  85. package/dist/adapter/ember/ezsp/enums.js +0 -1076
  86. package/dist/adapter/ember/ezsp/enums.js.map +0 -1
  87. package/dist/adapter/ember/ezsp/ezsp.d.ts +0 -2934
  88. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +0 -1
  89. package/dist/adapter/ember/ezsp/ezsp.js +0 -7039
  90. package/dist/adapter/ember/ezsp/ezsp.js.map +0 -1
  91. package/dist/adapter/ember/ezspError.d.ts +0 -6
  92. package/dist/adapter/ember/ezspError.d.ts.map +0 -1
  93. package/dist/adapter/ember/ezspError.js +0 -13
  94. package/dist/adapter/ember/ezspError.js.map +0 -1
  95. package/dist/adapter/ember/types.d.ts +0 -773
  96. package/dist/adapter/ember/types.d.ts.map +0 -1
  97. package/dist/adapter/ember/types.js +0 -3
  98. package/dist/adapter/ember/types.js.map +0 -1
  99. package/dist/adapter/ember/uart/ash.d.ts +0 -451
  100. package/dist/adapter/ember/uart/ash.d.ts.map +0 -1
  101. package/dist/adapter/ember/uart/ash.js +0 -1619
  102. package/dist/adapter/ember/uart/ash.js.map +0 -1
  103. package/dist/adapter/ember/uart/consts.d.ts +0 -91
  104. package/dist/adapter/ember/uart/consts.d.ts.map +0 -1
  105. package/dist/adapter/ember/uart/consts.js +0 -100
  106. package/dist/adapter/ember/uart/consts.js.map +0 -1
  107. package/dist/adapter/ember/uart/enums.d.ts +0 -191
  108. package/dist/adapter/ember/uart/enums.d.ts.map +0 -1
  109. package/dist/adapter/ember/uart/enums.js +0 -197
  110. package/dist/adapter/ember/uart/enums.js.map +0 -1
  111. package/dist/adapter/ember/uart/parser.d.ts +0 -8
  112. package/dist/adapter/ember/uart/parser.d.ts.map +0 -1
  113. package/dist/adapter/ember/uart/parser.js +0 -37
  114. package/dist/adapter/ember/uart/parser.js.map +0 -1
  115. package/dist/adapter/ember/uart/queues.d.ts +0 -84
  116. package/dist/adapter/ember/uart/queues.d.ts.map +0 -1
  117. package/dist/adapter/ember/uart/queues.js +0 -215
  118. package/dist/adapter/ember/uart/queues.js.map +0 -1
  119. package/dist/adapter/ember/uart/writer.d.ts +0 -14
  120. package/dist/adapter/ember/uart/writer.d.ts.map +0 -1
  121. package/dist/adapter/ember/uart/writer.js +0 -45
  122. package/dist/adapter/ember/uart/writer.js.map +0 -1
  123. package/dist/adapter/ember/utils/initters.d.ts +0 -20
  124. package/dist/adapter/ember/utils/initters.d.ts.map +0 -1
  125. package/dist/adapter/ember/utils/initters.js +0 -92
  126. package/dist/adapter/ember/utils/initters.js.map +0 -1
  127. package/dist/adapter/ember/utils/math.d.ts +0 -43
  128. package/dist/adapter/ember/utils/math.d.ts.map +0 -1
  129. package/dist/adapter/ember/utils/math.js +0 -83
  130. package/dist/adapter/ember/utils/math.js.map +0 -1
  131. package/dist/adapter/events.d.ts +0 -25
  132. package/dist/adapter/events.d.ts.map +0 -1
  133. package/dist/adapter/events.js +0 -3
  134. package/dist/adapter/events.js.map +0 -1
  135. package/dist/adapter/ezsp/adapter/backup.d.ts +0 -13
  136. package/dist/adapter/ezsp/adapter/backup.d.ts.map +0 -1
  137. package/dist/adapter/ezsp/adapter/backup.js +0 -135
  138. package/dist/adapter/ezsp/adapter/backup.js.map +0 -1
  139. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +0 -53
  140. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +0 -1
  141. package/dist/adapter/ezsp/adapter/ezspAdapter.js +0 -453
  142. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +0 -1
  143. package/dist/adapter/ezsp/adapter/index.d.ts +0 -3
  144. package/dist/adapter/ezsp/adapter/index.d.ts.map +0 -1
  145. package/dist/adapter/ezsp/adapter/index.js +0 -9
  146. package/dist/adapter/ezsp/adapter/index.js.map +0 -1
  147. package/dist/adapter/ezsp/driver/commands.d.ts +0 -37
  148. package/dist/adapter/ezsp/driver/commands.d.ts.map +0 -1
  149. package/dist/adapter/ezsp/driver/commands.js +0 -2387
  150. package/dist/adapter/ezsp/driver/commands.js.map +0 -1
  151. package/dist/adapter/ezsp/driver/consts.d.ts +0 -11
  152. package/dist/adapter/ezsp/driver/consts.d.ts.map +0 -1
  153. package/dist/adapter/ezsp/driver/consts.js +0 -14
  154. package/dist/adapter/ezsp/driver/consts.js.map +0 -1
  155. package/dist/adapter/ezsp/driver/driver.d.ts +0 -96
  156. package/dist/adapter/ezsp/driver/driver.d.ts.map +0 -1
  157. package/dist/adapter/ezsp/driver/driver.js +0 -856
  158. package/dist/adapter/ezsp/driver/driver.js.map +0 -1
  159. package/dist/adapter/ezsp/driver/ezsp.d.ts +0 -104
  160. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +0 -1
  161. package/dist/adapter/ezsp/driver/ezsp.js +0 -675
  162. package/dist/adapter/ezsp/driver/ezsp.js.map +0 -1
  163. package/dist/adapter/ezsp/driver/frame.d.ts +0 -39
  164. package/dist/adapter/ezsp/driver/frame.d.ts.map +0 -1
  165. package/dist/adapter/ezsp/driver/frame.js +0 -101
  166. package/dist/adapter/ezsp/driver/frame.js.map +0 -1
  167. package/dist/adapter/ezsp/driver/index.d.ts +0 -4
  168. package/dist/adapter/ezsp/driver/index.d.ts.map +0 -1
  169. package/dist/adapter/ezsp/driver/index.js +0 -8
  170. package/dist/adapter/ezsp/driver/index.js.map +0 -1
  171. package/dist/adapter/ezsp/driver/multicast.d.ts +0 -13
  172. package/dist/adapter/ezsp/driver/multicast.d.ts.map +0 -1
  173. package/dist/adapter/ezsp/driver/multicast.js +0 -74
  174. package/dist/adapter/ezsp/driver/multicast.js.map +0 -1
  175. package/dist/adapter/ezsp/driver/parser.d.ts +0 -9
  176. package/dist/adapter/ezsp/driver/parser.d.ts.map +0 -1
  177. package/dist/adapter/ezsp/driver/parser.js +0 -109
  178. package/dist/adapter/ezsp/driver/parser.js.map +0 -1
  179. package/dist/adapter/ezsp/driver/types/basic.d.ts +0 -62
  180. package/dist/adapter/ezsp/driver/types/basic.d.ts.map +0 -1
  181. package/dist/adapter/ezsp/driver/types/basic.js +0 -208
  182. package/dist/adapter/ezsp/driver/types/basic.js.map +0 -1
  183. package/dist/adapter/ezsp/driver/types/index.d.ts +0 -9
  184. package/dist/adapter/ezsp/driver/types/index.d.ts.map +0 -1
  185. package/dist/adapter/ezsp/driver/types/index.js +0 -138
  186. package/dist/adapter/ezsp/driver/types/index.js.map +0 -1
  187. package/dist/adapter/ezsp/driver/types/named.d.ts +0 -1287
  188. package/dist/adapter/ezsp/driver/types/named.d.ts.map +0 -1
  189. package/dist/adapter/ezsp/driver/types/named.js +0 -2340
  190. package/dist/adapter/ezsp/driver/types/named.js.map +0 -1
  191. package/dist/adapter/ezsp/driver/types/struct.d.ts +0 -270
  192. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +0 -1
  193. package/dist/adapter/ezsp/driver/types/struct.js +0 -876
  194. package/dist/adapter/ezsp/driver/types/struct.js.map +0 -1
  195. package/dist/adapter/ezsp/driver/uart.d.ts +0 -46
  196. package/dist/adapter/ezsp/driver/uart.d.ts.map +0 -1
  197. package/dist/adapter/ezsp/driver/uart.js +0 -379
  198. package/dist/adapter/ezsp/driver/uart.js.map +0 -1
  199. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +0 -5
  200. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +0 -1
  201. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +0 -55
  202. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +0 -1
  203. package/dist/adapter/ezsp/driver/utils/index.d.ts +0 -5
  204. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +0 -1
  205. package/dist/adapter/ezsp/driver/utils/index.js +0 -35
  206. package/dist/adapter/ezsp/driver/utils/index.js.map +0 -1
  207. package/dist/adapter/ezsp/driver/writer.d.ts +0 -12
  208. package/dist/adapter/ezsp/driver/writer.d.ts.map +0 -1
  209. package/dist/adapter/ezsp/driver/writer.js +0 -92
  210. package/dist/adapter/ezsp/driver/writer.js.map +0 -1
  211. package/dist/adapter/index.d.ts +0 -5
  212. package/dist/adapter/index.d.ts.map +0 -1
  213. package/dist/adapter/index.js +0 -46
  214. package/dist/adapter/index.js.map +0 -1
  215. package/dist/adapter/serialPort.d.ts +0 -19
  216. package/dist/adapter/serialPort.d.ts.map +0 -1
  217. package/dist/adapter/serialPort.js +0 -50
  218. package/dist/adapter/serialPort.js.map +0 -1
  219. package/dist/adapter/socketPortUtils.d.ts +0 -11
  220. package/dist/adapter/socketPortUtils.d.ts.map +0 -1
  221. package/dist/adapter/socketPortUtils.js +0 -17
  222. package/dist/adapter/socketPortUtils.js.map +0 -1
  223. package/dist/adapter/tstype.d.ts +0 -68
  224. package/dist/adapter/tstype.d.ts.map +0 -1
  225. package/dist/adapter/tstype.js +0 -3
  226. package/dist/adapter/tstype.js.map +0 -1
  227. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +0 -62
  228. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +0 -1
  229. package/dist/adapter/z-stack/adapter/adapter-backup.js +0 -491
  230. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +0 -1
  231. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +0 -150
  232. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +0 -1
  233. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +0 -278
  234. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +0 -1
  235. package/dist/adapter/z-stack/adapter/endpoints.d.ts +0 -12
  236. package/dist/adapter/z-stack/adapter/endpoints.d.ts.map +0 -1
  237. package/dist/adapter/z-stack/adapter/endpoints.js +0 -84
  238. package/dist/adapter/z-stack/adapter/endpoints.js.map +0 -1
  239. package/dist/adapter/z-stack/adapter/index.d.ts +0 -3
  240. package/dist/adapter/z-stack/adapter/index.d.ts.map +0 -1
  241. package/dist/adapter/z-stack/adapter/index.js +0 -9
  242. package/dist/adapter/z-stack/adapter/index.js.map +0 -1
  243. package/dist/adapter/z-stack/adapter/manager.d.ts +0 -86
  244. package/dist/adapter/z-stack/adapter/manager.d.ts.map +0 -1
  245. package/dist/adapter/z-stack/adapter/manager.js +0 -503
  246. package/dist/adapter/z-stack/adapter/manager.js.map +0 -1
  247. package/dist/adapter/z-stack/adapter/tstype.d.ts +0 -7
  248. package/dist/adapter/z-stack/adapter/tstype.d.ts.map +0 -1
  249. package/dist/adapter/z-stack/adapter/tstype.js +0 -10
  250. package/dist/adapter/z-stack/adapter/tstype.js.map +0 -1
  251. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +0 -72
  252. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +0 -1
  253. package/dist/adapter/z-stack/adapter/zStackAdapter.js +0 -805
  254. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +0 -1
  255. package/dist/adapter/z-stack/constants/af.d.ts +0 -24
  256. package/dist/adapter/z-stack/constants/af.d.ts.map +0 -1
  257. package/dist/adapter/z-stack/constants/af.js +0 -28
  258. package/dist/adapter/z-stack/constants/af.js.map +0 -1
  259. package/dist/adapter/z-stack/constants/common.d.ts +0 -279
  260. package/dist/adapter/z-stack/constants/common.d.ts.map +0 -1
  261. package/dist/adapter/z-stack/constants/common.js +0 -293
  262. package/dist/adapter/z-stack/constants/common.js.map +0 -1
  263. package/dist/adapter/z-stack/constants/dbg.d.ts +0 -23
  264. package/dist/adapter/z-stack/constants/dbg.d.ts.map +0 -1
  265. package/dist/adapter/z-stack/constants/dbg.js +0 -25
  266. package/dist/adapter/z-stack/constants/dbg.js.map +0 -1
  267. package/dist/adapter/z-stack/constants/index.d.ts +0 -11
  268. package/dist/adapter/z-stack/constants/index.d.ts.map +0 -1
  269. package/dist/adapter/z-stack/constants/index.js +0 -58
  270. package/dist/adapter/z-stack/constants/index.js.map +0 -1
  271. package/dist/adapter/z-stack/constants/mac.d.ts +0 -128
  272. package/dist/adapter/z-stack/constants/mac.d.ts.map +0 -1
  273. package/dist/adapter/z-stack/constants/mac.js +0 -130
  274. package/dist/adapter/z-stack/constants/mac.js.map +0 -1
  275. package/dist/adapter/z-stack/constants/sapi.d.ts +0 -25
  276. package/dist/adapter/z-stack/constants/sapi.d.ts.map +0 -1
  277. package/dist/adapter/z-stack/constants/sapi.js +0 -27
  278. package/dist/adapter/z-stack/constants/sapi.js.map +0 -1
  279. package/dist/adapter/z-stack/constants/sys.d.ts +0 -72
  280. package/dist/adapter/z-stack/constants/sys.d.ts.map +0 -1
  281. package/dist/adapter/z-stack/constants/sys.js +0 -74
  282. package/dist/adapter/z-stack/constants/sys.js.map +0 -1
  283. package/dist/adapter/z-stack/constants/util.d.ts +0 -82
  284. package/dist/adapter/z-stack/constants/util.d.ts.map +0 -1
  285. package/dist/adapter/z-stack/constants/util.js +0 -84
  286. package/dist/adapter/z-stack/constants/util.js.map +0 -1
  287. package/dist/adapter/z-stack/constants/utils.d.ts +0 -5
  288. package/dist/adapter/z-stack/constants/utils.d.ts.map +0 -1
  289. package/dist/adapter/z-stack/constants/utils.js +0 -14
  290. package/dist/adapter/z-stack/constants/utils.js.map +0 -1
  291. package/dist/adapter/z-stack/constants/zdo.d.ts +0 -103
  292. package/dist/adapter/z-stack/constants/zdo.d.ts.map +0 -1
  293. package/dist/adapter/z-stack/constants/zdo.js +0 -105
  294. package/dist/adapter/z-stack/constants/zdo.js.map +0 -1
  295. package/dist/adapter/z-stack/models/index.d.ts +0 -2
  296. package/dist/adapter/z-stack/models/index.d.ts.map +0 -1
  297. package/dist/adapter/z-stack/models/index.js +0 -18
  298. package/dist/adapter/z-stack/models/index.js.map +0 -1
  299. package/dist/adapter/z-stack/models/startup-options.d.ts +0 -13
  300. package/dist/adapter/z-stack/models/startup-options.d.ts.map +0 -1
  301. package/dist/adapter/z-stack/models/startup-options.js +0 -3
  302. package/dist/adapter/z-stack/models/startup-options.js.map +0 -1
  303. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +0 -23
  304. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +0 -1
  305. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +0 -44
  306. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +0 -1
  307. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +0 -10
  308. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +0 -1
  309. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +0 -25
  310. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +0 -1
  311. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +0 -10
  312. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +0 -1
  313. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +0 -17
  314. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +0 -1
  315. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +0 -10
  316. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +0 -1
  317. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +0 -26
  318. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +0 -1
  319. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +0 -10
  320. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts.map +0 -1
  321. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +0 -24
  322. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +0 -1
  323. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +0 -10
  324. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +0 -1
  325. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +0 -26
  326. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +0 -1
  327. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +0 -8
  328. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +0 -1
  329. package/dist/adapter/z-stack/structs/entries/channel-list.js +0 -13
  330. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +0 -1
  331. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +0 -8
  332. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +0 -1
  333. package/dist/adapter/z-stack/structs/entries/has-configured.js +0 -23
  334. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +0 -1
  335. package/dist/adapter/z-stack/structs/entries/index.d.ts +0 -17
  336. package/dist/adapter/z-stack/structs/entries/index.d.ts.map +0 -1
  337. package/dist/adapter/z-stack/structs/entries/index.js +0 -33
  338. package/dist/adapter/z-stack/structs/entries/index.js.map +0 -1
  339. package/dist/adapter/z-stack/structs/entries/nib.d.ts +0 -10
  340. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +0 -1
  341. package/dist/adapter/z-stack/structs/entries/nib.js +0 -73
  342. package/dist/adapter/z-stack/structs/entries/nib.js.map +0 -1
  343. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +0 -10
  344. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +0 -1
  345. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +0 -22
  346. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +0 -1
  347. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +0 -8
  348. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +0 -1
  349. package/dist/adapter/z-stack/structs/entries/nwk-key.js +0 -20
  350. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +0 -1
  351. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +0 -8
  352. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +0 -1
  353. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +0 -13
  354. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +0 -1
  355. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +0 -13
  356. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +0 -1
  357. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +0 -23
  358. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +0 -1
  359. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +0 -10
  360. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +0 -1
  361. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +0 -25
  362. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +0 -1
  363. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +0 -20
  364. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts.map +0 -1
  365. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +0 -36
  366. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +0 -1
  367. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +0 -10
  368. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +0 -1
  369. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +0 -26
  370. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +0 -1
  371. package/dist/adapter/z-stack/structs/index.d.ts +0 -5
  372. package/dist/adapter/z-stack/structs/index.d.ts.map +0 -1
  373. package/dist/adapter/z-stack/structs/index.js +0 -21
  374. package/dist/adapter/z-stack/structs/index.js.map +0 -1
  375. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +0 -13
  376. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts.map +0 -1
  377. package/dist/adapter/z-stack/structs/serializable-memory-object.js +0 -3
  378. package/dist/adapter/z-stack/structs/serializable-memory-object.js.map +0 -1
  379. package/dist/adapter/z-stack/structs/struct.d.ts +0 -99
  380. package/dist/adapter/z-stack/structs/struct.d.ts.map +0 -1
  381. package/dist/adapter/z-stack/structs/struct.js +0 -310
  382. package/dist/adapter/z-stack/structs/struct.js.map +0 -1
  383. package/dist/adapter/z-stack/structs/table.d.ts +0 -94
  384. package/dist/adapter/z-stack/structs/table.d.ts.map +0 -1
  385. package/dist/adapter/z-stack/structs/table.js +0 -168
  386. package/dist/adapter/z-stack/structs/table.js.map +0 -1
  387. package/dist/adapter/z-stack/unpi/constants.d.ts +0 -29
  388. package/dist/adapter/z-stack/unpi/constants.d.ts.map +0 -1
  389. package/dist/adapter/z-stack/unpi/constants.js +0 -40
  390. package/dist/adapter/z-stack/unpi/constants.js.map +0 -1
  391. package/dist/adapter/z-stack/unpi/frame.d.ts +0 -16
  392. package/dist/adapter/z-stack/unpi/frame.d.ts.map +0 -1
  393. package/dist/adapter/z-stack/unpi/frame.js +0 -54
  394. package/dist/adapter/z-stack/unpi/frame.js.map +0 -1
  395. package/dist/adapter/z-stack/unpi/index.d.ts +0 -6
  396. package/dist/adapter/z-stack/unpi/index.d.ts.map +0 -1
  397. package/dist/adapter/z-stack/unpi/index.js +0 -48
  398. package/dist/adapter/z-stack/unpi/index.js.map +0 -1
  399. package/dist/adapter/z-stack/unpi/parser.d.ts +0 -9
  400. package/dist/adapter/z-stack/unpi/parser.d.ts.map +0 -1
  401. package/dist/adapter/z-stack/unpi/parser.js +0 -86
  402. package/dist/adapter/z-stack/unpi/parser.js.map +0 -1
  403. package/dist/adapter/z-stack/unpi/writer.d.ts +0 -9
  404. package/dist/adapter/z-stack/unpi/writer.d.ts.map +0 -1
  405. package/dist/adapter/z-stack/unpi/writer.js +0 -52
  406. package/dist/adapter/z-stack/unpi/writer.js.map +0 -1
  407. package/dist/adapter/z-stack/utils/channel-list.d.ts +0 -21
  408. package/dist/adapter/z-stack/utils/channel-list.d.ts.map +0 -1
  409. package/dist/adapter/z-stack/utils/channel-list.js +0 -44
  410. package/dist/adapter/z-stack/utils/channel-list.js.map +0 -1
  411. package/dist/adapter/z-stack/utils/index.d.ts +0 -3
  412. package/dist/adapter/z-stack/utils/index.d.ts.map +0 -1
  413. package/dist/adapter/z-stack/utils/index.js +0 -19
  414. package/dist/adapter/z-stack/utils/index.js.map +0 -1
  415. package/dist/adapter/z-stack/utils/network-options.d.ts +0 -9
  416. package/dist/adapter/z-stack/utils/network-options.d.ts.map +0 -1
  417. package/dist/adapter/z-stack/utils/network-options.js +0 -22
  418. package/dist/adapter/z-stack/utils/network-options.js.map +0 -1
  419. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +0 -10
  420. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +0 -1
  421. package/dist/adapter/z-stack/znp/buffaloZnp.js +0 -148
  422. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +0 -1
  423. package/dist/adapter/z-stack/znp/definition.d.ts +0 -18
  424. package/dist/adapter/z-stack/znp/definition.d.ts.map +0 -1
  425. package/dist/adapter/z-stack/znp/definition.js +0 -2703
  426. package/dist/adapter/z-stack/znp/definition.js.map +0 -1
  427. package/dist/adapter/z-stack/znp/index.d.ts +0 -4
  428. package/dist/adapter/z-stack/znp/index.d.ts.map +0 -1
  429. package/dist/adapter/z-stack/znp/index.js +0 -11
  430. package/dist/adapter/z-stack/znp/index.js.map +0 -1
  431. package/dist/adapter/z-stack/znp/parameterType.d.ts +0 -19
  432. package/dist/adapter/z-stack/znp/parameterType.d.ts.map +0 -1
  433. package/dist/adapter/z-stack/znp/parameterType.js +0 -22
  434. package/dist/adapter/z-stack/znp/parameterType.js.map +0 -1
  435. package/dist/adapter/z-stack/znp/tstype.d.ts +0 -40
  436. package/dist/adapter/z-stack/znp/tstype.d.ts.map +0 -1
  437. package/dist/adapter/z-stack/znp/tstype.js +0 -3
  438. package/dist/adapter/z-stack/znp/tstype.js.map +0 -1
  439. package/dist/adapter/z-stack/znp/utils.d.ts +0 -4
  440. package/dist/adapter/z-stack/znp/utils.d.ts.map +0 -1
  441. package/dist/adapter/z-stack/znp/utils.js +0 -12
  442. package/dist/adapter/z-stack/znp/utils.js.map +0 -1
  443. package/dist/adapter/z-stack/znp/znp.d.ts +0 -42
  444. package/dist/adapter/z-stack/znp/znp.d.ts.map +0 -1
  445. package/dist/adapter/z-stack/znp/znp.js +0 -289
  446. package/dist/adapter/z-stack/znp/znp.js.map +0 -1
  447. package/dist/adapter/z-stack/znp/zpiObject.d.ts +0 -19
  448. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +0 -1
  449. package/dist/adapter/z-stack/znp/zpiObject.js +0 -121
  450. package/dist/adapter/z-stack/znp/zpiObject.js.map +0 -1
  451. package/dist/adapter/zboss/adapter/index.d.ts +0 -3
  452. package/dist/adapter/zboss/adapter/index.d.ts.map +0 -1
  453. package/dist/adapter/zboss/adapter/index.js +0 -6
  454. package/dist/adapter/zboss/adapter/index.js.map +0 -1
  455. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +0 -42
  456. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +0 -1
  457. package/dist/adapter/zboss/adapter/zbossAdapter.js +0 -350
  458. package/dist/adapter/zboss/adapter/zbossAdapter.js.map +0 -1
  459. package/dist/adapter/zboss/commands.d.ts +0 -22
  460. package/dist/adapter/zboss/commands.d.ts.map +0 -1
  461. package/dist/adapter/zboss/commands.js +0 -1107
  462. package/dist/adapter/zboss/commands.js.map +0 -1
  463. package/dist/adapter/zboss/consts.d.ts +0 -9
  464. package/dist/adapter/zboss/consts.d.ts.map +0 -1
  465. package/dist/adapter/zboss/consts.js +0 -12
  466. package/dist/adapter/zboss/consts.js.map +0 -1
  467. package/dist/adapter/zboss/driver.d.ts +0 -55
  468. package/dist/adapter/zboss/driver.d.ts.map +0 -1
  469. package/dist/adapter/zboss/driver.js +0 -356
  470. package/dist/adapter/zboss/driver.js.map +0 -1
  471. package/dist/adapter/zboss/enums.d.ts +0 -301
  472. package/dist/adapter/zboss/enums.d.ts.map +0 -1
  473. package/dist/adapter/zboss/enums.js +0 -359
  474. package/dist/adapter/zboss/enums.js.map +0 -1
  475. package/dist/adapter/zboss/frame.d.ts +0 -34
  476. package/dist/adapter/zboss/frame.d.ts.map +0 -1
  477. package/dist/adapter/zboss/frame.js +0 -200
  478. package/dist/adapter/zboss/frame.js.map +0 -1
  479. package/dist/adapter/zboss/reader.d.ts +0 -8
  480. package/dist/adapter/zboss/reader.d.ts.map +0 -1
  481. package/dist/adapter/zboss/reader.js +0 -58
  482. package/dist/adapter/zboss/reader.js.map +0 -1
  483. package/dist/adapter/zboss/types.d.ts +0 -1
  484. package/dist/adapter/zboss/types.d.ts.map +0 -1
  485. package/dist/adapter/zboss/types.js +0 -2
  486. package/dist/adapter/zboss/types.js.map +0 -1
  487. package/dist/adapter/zboss/uart.d.ts +0 -38
  488. package/dist/adapter/zboss/uart.d.ts.map +0 -1
  489. package/dist/adapter/zboss/uart.js +0 -372
  490. package/dist/adapter/zboss/uart.js.map +0 -1
  491. package/dist/adapter/zboss/utils.d.ts +0 -9
  492. package/dist/adapter/zboss/utils.d.ts.map +0 -1
  493. package/dist/adapter/zboss/utils.js +0 -56
  494. package/dist/adapter/zboss/utils.js.map +0 -1
  495. package/dist/adapter/zboss/writer.d.ts +0 -14
  496. package/dist/adapter/zboss/writer.d.ts.map +0 -1
  497. package/dist/adapter/zboss/writer.js +0 -43
  498. package/dist/adapter/zboss/writer.js.map +0 -1
  499. package/dist/adapter/zigate/adapter/index.d.ts +0 -3
  500. package/dist/adapter/zigate/adapter/index.d.ts.map +0 -1
  501. package/dist/adapter/zigate/adapter/index.js +0 -10
  502. package/dist/adapter/zigate/adapter/index.js.map +0 -1
  503. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.d.ts +0 -5
  504. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.d.ts.map +0 -1
  505. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js +0 -28
  506. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js.map +0 -1
  507. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +0 -63
  508. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +0 -1
  509. package/dist/adapter/zigate/adapter/zigateAdapter.js +0 -462
  510. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +0 -1
  511. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +0 -22
  512. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +0 -1
  513. package/dist/adapter/zigate/driver/buffaloZiGate.js +0 -182
  514. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +0 -1
  515. package/dist/adapter/zigate/driver/commandType.d.ts +0 -42
  516. package/dist/adapter/zigate/driver/commandType.d.ts.map +0 -1
  517. package/dist/adapter/zigate/driver/commandType.js +0 -383
  518. package/dist/adapter/zigate/driver/commandType.js.map +0 -1
  519. package/dist/adapter/zigate/driver/constants.d.ts +0 -289
  520. package/dist/adapter/zigate/driver/constants.d.ts.map +0 -1
  521. package/dist/adapter/zigate/driver/constants.js +0 -344
  522. package/dist/adapter/zigate/driver/constants.js.map +0 -1
  523. package/dist/adapter/zigate/driver/frame.d.ts +0 -26
  524. package/dist/adapter/zigate/driver/frame.d.ts.map +0 -1
  525. package/dist/adapter/zigate/driver/frame.js +0 -160
  526. package/dist/adapter/zigate/driver/frame.js.map +0 -1
  527. package/dist/adapter/zigate/driver/messageType.d.ts +0 -13
  528. package/dist/adapter/zigate/driver/messageType.d.ts.map +0 -1
  529. package/dist/adapter/zigate/driver/messageType.js +0 -282
  530. package/dist/adapter/zigate/driver/messageType.js.map +0 -1
  531. package/dist/adapter/zigate/driver/parameterType.d.ts +0 -25
  532. package/dist/adapter/zigate/driver/parameterType.d.ts.map +0 -1
  533. package/dist/adapter/zigate/driver/parameterType.js +0 -31
  534. package/dist/adapter/zigate/driver/parameterType.js.map +0 -1
  535. package/dist/adapter/zigate/driver/ziGateObject.d.ts +0 -23
  536. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +0 -1
  537. package/dist/adapter/zigate/driver/ziGateObject.js +0 -116
  538. package/dist/adapter/zigate/driver/ziGateObject.js.map +0 -1
  539. package/dist/adapter/zigate/driver/zigate.d.ts +0 -47
  540. package/dist/adapter/zigate/driver/zigate.d.ts.map +0 -1
  541. package/dist/adapter/zigate/driver/zigate.js +0 -361
  542. package/dist/adapter/zigate/driver/zigate.js.map +0 -1
  543. package/dist/buffalo/buffalo.d.ts +0 -62
  544. package/dist/buffalo/buffalo.d.ts.map +0 -1
  545. package/dist/buffalo/buffalo.js +0 -275
  546. package/dist/buffalo/buffalo.js.map +0 -1
  547. package/dist/buffalo/index.d.ts +0 -3
  548. package/dist/buffalo/index.d.ts.map +0 -1
  549. package/dist/buffalo/index.js +0 -9
  550. package/dist/buffalo/index.js.map +0 -1
  551. package/dist/controller/controller.d.ts +0 -142
  552. package/dist/controller/controller.d.ts.map +0 -1
  553. package/dist/controller/controller.js +0 -788
  554. package/dist/controller/controller.js.map +0 -1
  555. package/dist/controller/database.d.ts +0 -17
  556. package/dist/controller/database.d.ts.map +0 -1
  557. package/dist/controller/database.js +0 -103
  558. package/dist/controller/database.js.map +0 -1
  559. package/dist/controller/events.d.ts +0 -44
  560. package/dist/controller/events.d.ts.map +0 -1
  561. package/dist/controller/events.js +0 -3
  562. package/dist/controller/events.js.map +0 -1
  563. package/dist/controller/greenPower.d.ts +0 -17
  564. package/dist/controller/greenPower.d.ts.map +0 -1
  565. package/dist/controller/greenPower.js +0 -235
  566. package/dist/controller/greenPower.js.map +0 -1
  567. package/dist/controller/helpers/index.d.ts +0 -3
  568. package/dist/controller/helpers/index.d.ts.map +0 -1
  569. package/dist/controller/helpers/index.js +0 -39
  570. package/dist/controller/helpers/index.js.map +0 -1
  571. package/dist/controller/helpers/request.d.ts +0 -22
  572. package/dist/controller/helpers/request.d.ts.map +0 -1
  573. package/dist/controller/helpers/request.js +0 -75
  574. package/dist/controller/helpers/request.js.map +0 -1
  575. package/dist/controller/helpers/requestQueue.d.ts +0 -13
  576. package/dist/controller/helpers/requestQueue.d.ts.map +0 -1
  577. package/dist/controller/helpers/requestQueue.js +0 -105
  578. package/dist/controller/helpers/requestQueue.js.map +0 -1
  579. package/dist/controller/helpers/zclFrameConverter.d.ts +0 -9
  580. package/dist/controller/helpers/zclFrameConverter.d.ts.map +0 -1
  581. package/dist/controller/helpers/zclFrameConverter.js +0 -79
  582. package/dist/controller/helpers/zclFrameConverter.js.map +0 -1
  583. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +0 -6
  584. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts.map +0 -1
  585. package/dist/controller/helpers/zclTransactionSequenceNumber.js +0 -14
  586. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +0 -1
  587. package/dist/controller/index.d.ts +0 -6
  588. package/dist/controller/index.d.ts.map +0 -1
  589. package/dist/controller/index.js +0 -9
  590. package/dist/controller/index.js.map +0 -1
  591. package/dist/controller/model/device.d.ts +0 -150
  592. package/dist/controller/model/device.d.ts.map +0 -1
  593. package/dist/controller/model/device.js +0 -1046
  594. package/dist/controller/model/device.js.map +0 -1
  595. package/dist/controller/model/endpoint.d.ts +0 -137
  596. package/dist/controller/model/endpoint.d.ts.map +0 -1
  597. package/dist/controller/model/endpoint.js +0 -665
  598. package/dist/controller/model/endpoint.js.map +0 -1
  599. package/dist/controller/model/entity.d.ts +0 -13
  600. package/dist/controller/model/entity.d.ts.map +0 -1
  601. package/dist/controller/model/entity.js +0 -18
  602. package/dist/controller/model/entity.js.map +0 -1
  603. package/dist/controller/model/group.d.ts +0 -47
  604. package/dist/controller/model/group.d.ts.map +0 -1
  605. package/dist/controller/model/group.js +0 -249
  606. package/dist/controller/model/group.js.map +0 -1
  607. package/dist/controller/model/index.d.ts +0 -6
  608. package/dist/controller/model/index.d.ts.map +0 -1
  609. package/dist/controller/model/index.js +0 -15
  610. package/dist/controller/model/index.js.map +0 -1
  611. package/dist/controller/touchlink.d.ts +0 -20
  612. package/dist/controller/touchlink.d.ts.map +0 -1
  613. package/dist/controller/touchlink.js +0 -168
  614. package/dist/controller/touchlink.js.map +0 -1
  615. package/dist/controller/tstype.d.ts +0 -18
  616. package/dist/controller/tstype.d.ts.map +0 -1
  617. package/dist/controller/tstype.js +0 -3
  618. package/dist/controller/tstype.js.map +0 -1
  619. package/dist/index.d.ts +0 -6
  620. package/dist/index.d.ts.map +0 -1
  621. package/dist/index.js +0 -47
  622. package/dist/index.js.map +0 -1
  623. package/dist/models/backup-storage-legacy.d.ts +0 -27
  624. package/dist/models/backup-storage-legacy.d.ts.map +0 -1
  625. package/dist/models/backup-storage-legacy.js +0 -3
  626. package/dist/models/backup-storage-legacy.js.map +0 -1
  627. package/dist/models/backup-storage-unified.d.ts +0 -50
  628. package/dist/models/backup-storage-unified.d.ts.map +0 -1
  629. package/dist/models/backup-storage-unified.js +0 -3
  630. package/dist/models/backup-storage-unified.js.map +0 -1
  631. package/dist/models/backup.d.ts +0 -37
  632. package/dist/models/backup.d.ts.map +0 -1
  633. package/dist/models/backup.js +0 -3
  634. package/dist/models/backup.js.map +0 -1
  635. package/dist/models/index.d.ts +0 -5
  636. package/dist/models/index.d.ts.map +0 -1
  637. package/dist/models/index.js +0 -21
  638. package/dist/models/index.js.map +0 -1
  639. package/dist/models/network-options.d.ts +0 -12
  640. package/dist/models/network-options.d.ts.map +0 -1
  641. package/dist/models/network-options.js +0 -3
  642. package/dist/models/network-options.js.map +0 -1
  643. package/dist/utils/backup.d.ts +0 -21
  644. package/dist/utils/backup.d.ts.map +0 -1
  645. package/dist/utils/backup.js +0 -180
  646. package/dist/utils/backup.js.map +0 -1
  647. package/dist/utils/index.d.ts +0 -8
  648. package/dist/utils/index.d.ts.map +0 -1
  649. package/dist/utils/index.js +0 -52
  650. package/dist/utils/index.js.map +0 -1
  651. package/dist/utils/logger.d.ts +0 -9
  652. package/dist/utils/logger.d.ts.map +0 -1
  653. package/dist/utils/logger.js +0 -14
  654. package/dist/utils/logger.js.map +0 -1
  655. package/dist/utils/patchBigIntSerialization.d.ts +0 -2
  656. package/dist/utils/patchBigIntSerialization.d.ts.map +0 -1
  657. package/dist/utils/patchBigIntSerialization.js +0 -9
  658. package/dist/utils/patchBigIntSerialization.js.map +0 -1
  659. package/dist/utils/queue.d.ts +0 -12
  660. package/dist/utils/queue.d.ts.map +0 -1
  661. package/dist/utils/queue.js +0 -62
  662. package/dist/utils/queue.js.map +0 -1
  663. package/dist/utils/realpathSync.d.ts +0 -3
  664. package/dist/utils/realpathSync.d.ts.map +0 -1
  665. package/dist/utils/realpathSync.js +0 -13
  666. package/dist/utils/realpathSync.js.map +0 -1
  667. package/dist/utils/utils.d.ts +0 -5
  668. package/dist/utils/utils.d.ts.map +0 -1
  669. package/dist/utils/utils.js +0 -24
  670. package/dist/utils/utils.js.map +0 -1
  671. package/dist/utils/wait.d.ts +0 -3
  672. package/dist/utils/wait.d.ts.map +0 -1
  673. package/dist/utils/wait.js +0 -9
  674. package/dist/utils/wait.js.map +0 -1
  675. package/dist/utils/waitress.d.ts +0 -22
  676. package/dist/utils/waitress.d.ts.map +0 -1
  677. package/dist/utils/waitress.js +0 -69
  678. package/dist/utils/waitress.js.map +0 -1
  679. package/dist/zspec/consts.d.ts +0 -71
  680. package/dist/zspec/consts.d.ts.map +0 -1
  681. package/dist/zspec/consts.js +0 -75
  682. package/dist/zspec/consts.js.map +0 -1
  683. package/dist/zspec/enums.d.ts +0 -19
  684. package/dist/zspec/enums.d.ts.map +0 -1
  685. package/dist/zspec/enums.js +0 -27
  686. package/dist/zspec/enums.js.map +0 -1
  687. package/dist/zspec/index.d.ts +0 -4
  688. package/dist/zspec/index.d.ts.map +0 -1
  689. package/dist/zspec/index.js +0 -43
  690. package/dist/zspec/index.js.map +0 -1
  691. package/dist/zspec/tstypes.d.ts +0 -19
  692. package/dist/zspec/tstypes.d.ts.map +0 -1
  693. package/dist/zspec/tstypes.js +0 -3
  694. package/dist/zspec/tstypes.js.map +0 -1
  695. package/dist/zspec/utils.d.ts +0 -90
  696. package/dist/zspec/utils.d.ts.map +0 -1
  697. package/dist/zspec/utils.js +0 -269
  698. package/dist/zspec/utils.js.map +0 -1
  699. package/dist/zspec/zcl/buffaloZcl.d.ts +0 -41
  700. package/dist/zspec/zcl/buffaloZcl.d.ts.map +0 -1
  701. package/dist/zspec/zcl/buffaloZcl.js +0 -859
  702. package/dist/zspec/zcl/buffaloZcl.js.map +0 -1
  703. package/dist/zspec/zcl/definition/cluster.d.ts +0 -3
  704. package/dist/zspec/zcl/definition/cluster.d.ts.map +0 -1
  705. package/dist/zspec/zcl/definition/cluster.js +0 -5145
  706. package/dist/zspec/zcl/definition/cluster.js.map +0 -1
  707. package/dist/zspec/zcl/definition/consts.d.ts +0 -9
  708. package/dist/zspec/zcl/definition/consts.d.ts.map +0 -1
  709. package/dist/zspec/zcl/definition/consts.js +0 -27
  710. package/dist/zspec/zcl/definition/consts.js.map +0 -1
  711. package/dist/zspec/zcl/definition/enums.d.ts +0 -177
  712. package/dist/zspec/zcl/definition/enums.d.ts.map +0 -1
  713. package/dist/zspec/zcl/definition/enums.js +0 -187
  714. package/dist/zspec/zcl/definition/enums.js.map +0 -1
  715. package/dist/zspec/zcl/definition/foundation.d.ts +0 -10
  716. package/dist/zspec/zcl/definition/foundation.d.ts.map +0 -1
  717. package/dist/zspec/zcl/definition/foundation.js +0 -272
  718. package/dist/zspec/zcl/definition/foundation.js.map +0 -1
  719. package/dist/zspec/zcl/definition/manufacturerCode.d.ts +0 -727
  720. package/dist/zspec/zcl/definition/manufacturerCode.d.ts.map +0 -1
  721. package/dist/zspec/zcl/definition/manufacturerCode.js +0 -732
  722. package/dist/zspec/zcl/definition/manufacturerCode.js.map +0 -1
  723. package/dist/zspec/zcl/definition/status.d.ts +0 -69
  724. package/dist/zspec/zcl/definition/status.d.ts.map +0 -1
  725. package/dist/zspec/zcl/definition/status.js +0 -74
  726. package/dist/zspec/zcl/definition/status.js.map +0 -1
  727. package/dist/zspec/zcl/definition/tstype.d.ts +0 -114
  728. package/dist/zspec/zcl/definition/tstype.d.ts.map +0 -1
  729. package/dist/zspec/zcl/definition/tstype.js +0 -3
  730. package/dist/zspec/zcl/definition/tstype.js.map +0 -1
  731. package/dist/zspec/zcl/index.d.ts +0 -11
  732. package/dist/zspec/zcl/index.d.ts.map +0 -1
  733. package/dist/zspec/zcl/index.js +0 -57
  734. package/dist/zspec/zcl/index.js.map +0 -1
  735. package/dist/zspec/zcl/utils.d.ts +0 -10
  736. package/dist/zspec/zcl/utils.d.ts.map +0 -1
  737. package/dist/zspec/zcl/utils.js +0 -293
  738. package/dist/zspec/zcl/utils.js.map +0 -1
  739. package/dist/zspec/zcl/zclFrame.d.ts +0 -36
  740. package/dist/zspec/zcl/zclFrame.d.ts.map +0 -1
  741. package/dist/zspec/zcl/zclFrame.js +0 -306
  742. package/dist/zspec/zcl/zclFrame.js.map +0 -1
  743. package/dist/zspec/zcl/zclHeader.d.ts +0 -16
  744. package/dist/zspec/zcl/zclHeader.d.ts.map +0 -1
  745. package/dist/zspec/zcl/zclHeader.js +0 -88
  746. package/dist/zspec/zcl/zclHeader.js.map +0 -1
  747. package/dist/zspec/zcl/zclStatusError.d.ts +0 -6
  748. package/dist/zspec/zcl/zclStatusError.d.ts.map +0 -1
  749. package/dist/zspec/zcl/zclStatusError.js +0 -13
  750. package/dist/zspec/zcl/zclStatusError.js.map +0 -1
  751. package/dist/zspec/zdo/buffaloZdo.d.ts +0 -413
  752. package/dist/zspec/zdo/buffaloZdo.d.ts.map +0 -1
  753. package/dist/zspec/zdo/buffaloZdo.js +0 -1935
  754. package/dist/zspec/zdo/buffaloZdo.js.map +0 -1
  755. package/dist/zspec/zdo/definition/clusters.d.ts +0 -624
  756. package/dist/zspec/zdo/definition/clusters.d.ts.map +0 -1
  757. package/dist/zspec/zdo/definition/clusters.js +0 -686
  758. package/dist/zspec/zdo/definition/clusters.js.map +0 -1
  759. package/dist/zspec/zdo/definition/consts.d.ts +0 -13
  760. package/dist/zspec/zdo/definition/consts.d.ts.map +0 -1
  761. package/dist/zspec/zdo/definition/consts.js +0 -16
  762. package/dist/zspec/zdo/definition/consts.js.map +0 -1
  763. package/dist/zspec/zdo/definition/enums.d.ts +0 -85
  764. package/dist/zspec/zdo/definition/enums.d.ts.map +0 -1
  765. package/dist/zspec/zdo/definition/enums.js +0 -103
  766. package/dist/zspec/zdo/definition/enums.js.map +0 -1
  767. package/dist/zspec/zdo/definition/status.d.ts +0 -99
  768. package/dist/zspec/zdo/definition/status.d.ts.map +0 -1
  769. package/dist/zspec/zdo/definition/status.js +0 -108
  770. package/dist/zspec/zdo/definition/status.js.map +0 -1
  771. package/dist/zspec/zdo/definition/tstypes.d.ts +0 -955
  772. package/dist/zspec/zdo/definition/tstypes.d.ts.map +0 -1
  773. package/dist/zspec/zdo/definition/tstypes.js +0 -4
  774. package/dist/zspec/zdo/definition/tstypes.js.map +0 -1
  775. package/dist/zspec/zdo/index.d.ts +0 -8
  776. package/dist/zspec/zdo/index.d.ts.map +0 -1
  777. package/dist/zspec/zdo/index.js +0 -51
  778. package/dist/zspec/zdo/index.js.map +0 -1
  779. package/dist/zspec/zdo/utils.d.ts +0 -24
  780. package/dist/zspec/zdo/utils.d.ts.map +0 -1
  781. package/dist/zspec/zdo/utils.js +0 -74
  782. package/dist/zspec/zdo/utils.js.map +0 -1
  783. package/dist/zspec/zdo/zdoStatusError.d.ts +0 -6
  784. package/dist/zspec/zdo/zdoStatusError.d.ts.map +0 -1
  785. package/dist/zspec/zdo/zdoStatusError.js +0 -13
  786. package/dist/zspec/zdo/zdoStatusError.js.map +0 -1
@@ -1,1935 +0,0 @@
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 () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.BuffaloZdo = void 0;
40
- const buffalo_1 = __importDefault(require("../../buffalo/buffalo"));
41
- const logger_1 = require("../../utils/logger");
42
- const consts_1 = require("../consts");
43
- const ZSpecUtils = __importStar(require("../utils"));
44
- const clusters_1 = require("./definition/clusters");
45
- const consts_2 = require("./definition/consts");
46
- const enums_1 = require("./definition/enums");
47
- const status_1 = require("./definition/status");
48
- const Utils = __importStar(require("./utils"));
49
- const zdoStatusError_1 = require("./zdoStatusError");
50
- const NS = 'zh:zdo:buffalo';
51
- const MAX_BUFFER_SIZE = 255;
52
- class BuffaloZdo extends buffalo_1.default {
53
- /**
54
- * Set the position of the internal position tracker.
55
- * TODO: move to base `Buffalo` class
56
- * @param position
57
- */
58
- setPosition(position) {
59
- this.position = position;
60
- }
61
- /**
62
- * Set the byte at given position without affecting the internal position tracker.
63
- * TODO: move to base `Buffalo` class
64
- * @param position
65
- * @param value
66
- */
67
- setByte(position, value) {
68
- this.buffer.writeUInt8(value, position);
69
- }
70
- /**
71
- * Get the byte at given position without affecting the internal position tracker.
72
- * TODO: move to base `Buffalo` class
73
- * @param position
74
- * @returns
75
- */
76
- getByte(position) {
77
- return this.buffer.readUInt8(position);
78
- }
79
- /**
80
- * Check if internal buffer has enough bytes to satisfy: (current position + given count).
81
- * TODO: move to base `Buffalo` class
82
- * @param count
83
- * @returns True if has given more bytes
84
- */
85
- isMoreBy(count) {
86
- return this.position + count <= this.buffer.length;
87
- }
88
- //-- GLOBAL TLVS
89
- writeManufacturerSpecificGlobalTLV(tlv) {
90
- this.writeUInt16(tlv.zigbeeManufacturerId);
91
- this.writeBuffer(tlv.additionalData, tlv.additionalData.length);
92
- }
93
- readManufacturerSpecificGlobalTLV(length) {
94
- logger_1.logger.debug(`readManufacturerSpecificGlobalTLV with length=${length}`, NS);
95
- if (length < 2) {
96
- throw new Error(`Malformed TLV. Invalid length '${length}', expected at least 2.`);
97
- }
98
- const zigbeeManufacturerId = this.readUInt16();
99
- const additionalData = this.readBuffer(length - 2);
100
- return {
101
- zigbeeManufacturerId,
102
- additionalData,
103
- };
104
- }
105
- writeSupportedKeyNegotiationMethodsGlobalTLV(tlv) {
106
- this.writeUInt8(tlv.keyNegotiationProtocolsBitmask);
107
- this.writeUInt8(tlv.preSharedSecretsBitmask);
108
- if (tlv.sourceDeviceEui64) {
109
- this.writeIeeeAddr(tlv.sourceDeviceEui64);
110
- }
111
- }
112
- readSupportedKeyNegotiationMethodsGlobalTLV(length) {
113
- logger_1.logger.debug(`readSupportedKeyNegotiationMethodsGlobalTLV with length=${length}`, NS);
114
- if (length < 2) {
115
- throw new Error(`Malformed TLV. Invalid length '${length}', expected at least 2.`);
116
- }
117
- const keyNegotiationProtocolsBitmask = this.readUInt8();
118
- const preSharedSecretsBitmask = this.readUInt8();
119
- let sourceDeviceEui64;
120
- if (length >= 2 + consts_1.EUI64_SIZE) {
121
- sourceDeviceEui64 = this.readIeeeAddr();
122
- }
123
- return {
124
- keyNegotiationProtocolsBitmask,
125
- preSharedSecretsBitmask,
126
- sourceDeviceEui64,
127
- };
128
- }
129
- writePanIdConflictReportGlobalTLV(tlv) {
130
- this.writeUInt16(tlv.nwkPanIdConflictCount);
131
- }
132
- readPanIdConflictReportGlobalTLV(length) {
133
- logger_1.logger.debug(`readPanIdConflictReportGlobalTLV with length=${length}`, NS);
134
- if (length < 2) {
135
- throw new Error(`Malformed TLV. Invalid length '${length}', expected at least 2.`);
136
- }
137
- const nwkPanIdConflictCount = this.readUInt16();
138
- return {
139
- nwkPanIdConflictCount,
140
- };
141
- }
142
- writeNextPanIdChangeGlobalTLV(tlv) {
143
- this.writeUInt16(tlv.panId);
144
- }
145
- readNextPanIdChangeGlobalTLV(length) {
146
- logger_1.logger.debug(`readNextPanIdChangeGlobalTLV with length=${length}`, NS);
147
- if (length < consts_1.PAN_ID_SIZE) {
148
- throw new Error(`Malformed TLV. Invalid length '${length}', expected at least ${consts_1.PAN_ID_SIZE}.`);
149
- }
150
- const panId = this.readUInt16();
151
- return {
152
- panId,
153
- };
154
- }
155
- writeNextChannelChangeGlobalTLV(tlv) {
156
- this.writeUInt32(tlv.channel);
157
- }
158
- readNextChannelChangeGlobalTLV(length) {
159
- logger_1.logger.debug(`readNextChannelChangeGlobalTLV with length=${length}`, NS);
160
- if (length < 4) {
161
- throw new Error(`Malformed TLV. Invalid length '${length}', expected at least 4.`);
162
- }
163
- const channel = this.readUInt32();
164
- return {
165
- channel,
166
- };
167
- }
168
- writeSymmetricPassphraseGlobalTLV(tlv) {
169
- this.writeBuffer(tlv.passphrase, consts_1.DEFAULT_ENCRYPTION_KEY_SIZE);
170
- }
171
- readSymmetricPassphraseGlobalTLV(length) {
172
- logger_1.logger.debug(`readSymmetricPassphraseGlobalTLV with length=${length}`, NS);
173
- if (length < consts_1.DEFAULT_ENCRYPTION_KEY_SIZE) {
174
- throw new Error(`Malformed TLV. Invalid length '${length}', expected at least ${consts_1.DEFAULT_ENCRYPTION_KEY_SIZE}.`);
175
- }
176
- const passphrase = this.readBuffer(consts_1.DEFAULT_ENCRYPTION_KEY_SIZE);
177
- return {
178
- passphrase,
179
- };
180
- }
181
- writeRouterInformationGlobalTLV(tlv) {
182
- this.writeUInt16(tlv.bitmask);
183
- }
184
- readRouterInformationGlobalTLV(length) {
185
- logger_1.logger.debug(`readRouterInformationGlobalTLV with length=${length}`, NS);
186
- if (length < 2) {
187
- throw new Error(`Malformed TLV. Invalid length '${length}', expected at least 2.`);
188
- }
189
- const bitmask = this.readUInt16();
190
- return {
191
- bitmask,
192
- };
193
- }
194
- writeFragmentationParametersGlobalTLV(tlv) {
195
- this.writeUInt16(tlv.nwkAddress);
196
- if (tlv.fragmentationOptions != undefined) {
197
- this.writeUInt8(tlv.fragmentationOptions);
198
- }
199
- if (tlv.maxIncomingTransferUnit != undefined) {
200
- this.writeUInt16(tlv.maxIncomingTransferUnit);
201
- }
202
- }
203
- readFragmentationParametersGlobalTLV(length) {
204
- logger_1.logger.debug(`readFragmentationParametersGlobalTLV with length=${length}`, NS);
205
- if (length < 2) {
206
- throw new Error(`Malformed TLV. Invalid length '${length}', expected at least 2.`);
207
- }
208
- const nwkAddress = this.readUInt16();
209
- let fragmentationOptions;
210
- let maxIncomingTransferUnit;
211
- if (length >= 3) {
212
- fragmentationOptions = this.readUInt8();
213
- }
214
- if (length >= 5) {
215
- maxIncomingTransferUnit = this.readUInt16();
216
- }
217
- return {
218
- nwkAddress,
219
- fragmentationOptions,
220
- maxIncomingTransferUnit,
221
- };
222
- }
223
- writeJoinerEncapsulationGlobalTLV(encapsulationTLV) {
224
- this.writeGlobalTLVs(encapsulationTLV.additionalTLVs);
225
- }
226
- readJoinerEncapsulationGlobalTLV(length) {
227
- logger_1.logger.debug(`readJoinerEncapsulationGlobalTLV with length=${length}`, NS);
228
- // at least the length of tagId+length for first encapsulated tlv, doesn't make sense otherwise
229
- if (length < 2) {
230
- throw new Error(`Malformed TLV. Invalid length '${length}', expected at least 2.`);
231
- }
232
- const encapsulationBuffalo = new BuffaloZdo(this.readBuffer(length));
233
- const additionalTLVs = encapsulationBuffalo.readTLVs(undefined, true);
234
- return {
235
- additionalTLVs,
236
- };
237
- }
238
- writeBeaconAppendixEncapsulationGlobalTLV(encapsulationTLV) {
239
- this.writeGlobalTLVs(encapsulationTLV.additionalTLVs);
240
- }
241
- readBeaconAppendixEncapsulationGlobalTLV(length) {
242
- logger_1.logger.debug(`readBeaconAppendixEncapsulationGlobalTLV with length=${length}`, NS);
243
- // at least the length of tagId+length for first encapsulated tlv, doesn't make sense otherwise
244
- if (length < 2) {
245
- throw new Error(`Malformed TLV. Invalid length '${length}', expected at least 2.`);
246
- }
247
- const encapsulationBuffalo = new BuffaloZdo(this.readBuffer(length));
248
- // Global: SupportedKeyNegotiationMethodsGlobalTLV
249
- // Global: FragmentationParametersGlobalTLV
250
- const additionalTLVs = encapsulationBuffalo.readTLVs(undefined, true);
251
- return {
252
- additionalTLVs,
253
- };
254
- }
255
- writeConfigurationParametersGlobalTLV(configurationParameters) {
256
- this.writeUInt16(configurationParameters.configurationParameters);
257
- }
258
- readConfigurationParametersGlobalTLV(length) {
259
- logger_1.logger.debug(`readConfigurationParametersGlobalTLV with length=${length}`, NS);
260
- if (length < 2) {
261
- throw new Error(`Malformed TLV. Invalid length '${length}', expected at least 2.`);
262
- }
263
- const configurationParameters = this.readUInt16();
264
- return {
265
- configurationParameters,
266
- };
267
- }
268
- writeDeviceCapabilityExtensionGlobalTLV(tlv) {
269
- this.writeBuffer(tlv.data, tlv.data.length);
270
- }
271
- readDeviceCapabilityExtensionGlobalTLV(length) {
272
- logger_1.logger.debug(`readDeviceCapabilityExtensionGlobalTLV with length=${length}`, NS);
273
- const data = this.readBuffer(length);
274
- return {
275
- data,
276
- };
277
- }
278
- writeGlobalTLV(tlv) {
279
- this.writeUInt8(tlv.tagId);
280
- this.writeUInt8(tlv.length - 1); // remove offset (spec quirk...)
281
- switch (tlv.tagId) {
282
- case enums_1.GlobalTLV.MANUFACTURER_SPECIFIC: {
283
- this.writeManufacturerSpecificGlobalTLV(tlv.tlv);
284
- break;
285
- }
286
- case enums_1.GlobalTLV.SUPPORTED_KEY_NEGOTIATION_METHODS: {
287
- this.writeSupportedKeyNegotiationMethodsGlobalTLV(tlv.tlv);
288
- break;
289
- }
290
- case enums_1.GlobalTLV.PAN_ID_CONFLICT_REPORT: {
291
- this.writePanIdConflictReportGlobalTLV(tlv.tlv);
292
- break;
293
- }
294
- case enums_1.GlobalTLV.NEXT_PAN_ID_CHANGE: {
295
- this.writeNextPanIdChangeGlobalTLV(tlv.tlv);
296
- break;
297
- }
298
- case enums_1.GlobalTLV.NEXT_CHANNEL_CHANGE: {
299
- this.writeNextChannelChangeGlobalTLV(tlv.tlv);
300
- break;
301
- }
302
- case enums_1.GlobalTLV.SYMMETRIC_PASSPHRASE: {
303
- this.writeSymmetricPassphraseGlobalTLV(tlv.tlv);
304
- break;
305
- }
306
- case enums_1.GlobalTLV.ROUTER_INFORMATION: {
307
- this.writeRouterInformationGlobalTLV(tlv.tlv);
308
- break;
309
- }
310
- case enums_1.GlobalTLV.FRAGMENTATION_PARAMETERS: {
311
- this.writeFragmentationParametersGlobalTLV(tlv.tlv);
312
- break;
313
- }
314
- case enums_1.GlobalTLV.JOINER_ENCAPSULATION: {
315
- this.writeJoinerEncapsulationGlobalTLV(tlv.tlv);
316
- break;
317
- }
318
- case enums_1.GlobalTLV.BEACON_APPENDIX_ENCAPSULATION: {
319
- this.writeBeaconAppendixEncapsulationGlobalTLV(tlv.tlv);
320
- break;
321
- }
322
- case enums_1.GlobalTLV.CONFIGURATION_PARAMETERS: {
323
- this.writeConfigurationParametersGlobalTLV(tlv.tlv);
324
- break;
325
- }
326
- case enums_1.GlobalTLV.DEVICE_CAPABILITY_EXTENSION: {
327
- this.writeDeviceCapabilityExtensionGlobalTLV(tlv.tlv);
328
- break;
329
- }
330
- default: {
331
- throw new zdoStatusError_1.ZdoStatusError(status_1.Status.NOT_SUPPORTED);
332
- }
333
- }
334
- }
335
- readGlobalTLV(tagId, length) {
336
- switch (tagId) {
337
- case enums_1.GlobalTLV.MANUFACTURER_SPECIFIC: {
338
- return this.readManufacturerSpecificGlobalTLV(length);
339
- }
340
- case enums_1.GlobalTLV.SUPPORTED_KEY_NEGOTIATION_METHODS: {
341
- return this.readSupportedKeyNegotiationMethodsGlobalTLV(length);
342
- }
343
- case enums_1.GlobalTLV.PAN_ID_CONFLICT_REPORT: {
344
- return this.readPanIdConflictReportGlobalTLV(length);
345
- }
346
- case enums_1.GlobalTLV.NEXT_PAN_ID_CHANGE: {
347
- return this.readNextPanIdChangeGlobalTLV(length);
348
- }
349
- case enums_1.GlobalTLV.NEXT_CHANNEL_CHANGE: {
350
- return this.readNextChannelChangeGlobalTLV(length);
351
- }
352
- case enums_1.GlobalTLV.SYMMETRIC_PASSPHRASE: {
353
- return this.readSymmetricPassphraseGlobalTLV(length);
354
- }
355
- case enums_1.GlobalTLV.ROUTER_INFORMATION: {
356
- return this.readRouterInformationGlobalTLV(length);
357
- }
358
- case enums_1.GlobalTLV.FRAGMENTATION_PARAMETERS: {
359
- return this.readFragmentationParametersGlobalTLV(length);
360
- }
361
- case enums_1.GlobalTLV.JOINER_ENCAPSULATION: {
362
- return this.readJoinerEncapsulationGlobalTLV(length);
363
- }
364
- case enums_1.GlobalTLV.BEACON_APPENDIX_ENCAPSULATION: {
365
- return this.readBeaconAppendixEncapsulationGlobalTLV(length);
366
- }
367
- case enums_1.GlobalTLV.CONFIGURATION_PARAMETERS: {
368
- return this.readConfigurationParametersGlobalTLV(length);
369
- }
370
- case enums_1.GlobalTLV.DEVICE_CAPABILITY_EXTENSION: {
371
- return this.readDeviceCapabilityExtensionGlobalTLV(length);
372
- }
373
- default: {
374
- // validation: unknown tag shall be ignored
375
- return undefined;
376
- }
377
- }
378
- }
379
- writeGlobalTLVs(tlvs) {
380
- for (const tlv of tlvs) {
381
- this.writeGlobalTLV(tlv);
382
- }
383
- }
384
- //-- LOCAL TLVS
385
- // write only
386
- // private readBeaconSurveyConfigurationTLV(length: number): BeaconSurveyConfigurationTLV {
387
- // logger.debug(`readBeaconSurveyConfigurationTLV with length=${length}`, NS);
388
- // const count = this.readUInt8();
389
- // /* istanbul ignore else */
390
- // if (length !== (1 + (count * 4) + 1)) {
391
- // throw new Error(`Malformed TLV. Invalid length '${length}', expected ${(1 + (count * 4) + 1)}.`);
392
- // }
393
- // const scanChannelList = this.readListUInt32(count);
394
- // const configurationBitmask = this.readUInt8();
395
- // return {
396
- // scanChannelList,
397
- // configurationBitmask,
398
- // };
399
- // }
400
- readCurve25519PublicPointTLV(length) {
401
- logger_1.logger.debug(`readCurve25519PublicPointTLV with length=${length}`, NS);
402
- if (length !== consts_1.EUI64_SIZE + consts_2.CURVE_PUBLIC_POINT_SIZE) {
403
- throw new Error(`Malformed TLV. Invalid length '${length}', expected ${consts_1.EUI64_SIZE + consts_2.CURVE_PUBLIC_POINT_SIZE}.`);
404
- }
405
- const eui64 = this.readIeeeAddr();
406
- const publicPoint = this.readBuffer(consts_2.CURVE_PUBLIC_POINT_SIZE);
407
- return {
408
- eui64,
409
- publicPoint,
410
- };
411
- }
412
- // write only
413
- // private readTargetIEEEAddressTLV(length: number): TargetIEEEAddressTLV {
414
- // logger.debug(`readTargetIEEEAddressTLV with length=${length}`, NS);
415
- // /* istanbul ignore else */
416
- // if (length !== EUI64_SIZE) {
417
- // throw new Error(`Malformed TLV. Invalid length '${length}', expected ${EUI64_SIZE}.`);
418
- // }
419
- // const ieee = this.readIeeeAddr();
420
- // return {
421
- // ieee,
422
- // };
423
- // }
424
- // write only
425
- // private readSelectedKeyNegotiationMethodTLV(length: number): SelectedKeyNegotiationMethodTLV {
426
- // logger.debug(`readSelectedKeyNegotiationMethodTLV with length=${length}`, NS);
427
- // /* istanbul ignore else */
428
- // if (length !== 10) {
429
- // throw new Error(`Malformed TLV. Invalid length '${length}', expected 10.`);
430
- // }
431
- // const protocol = this.readUInt8();
432
- // const presharedSecret = this.readUInt8();
433
- // const sendingDeviceEui64 = this.readIeeeAddr();
434
- // return {
435
- // protocol,
436
- // presharedSecret,
437
- // sendingDeviceEui64,
438
- // };
439
- // }
440
- // write only
441
- // private readDeviceEUI64ListTLV(length: number): DeviceEUI64ListTLV {
442
- // logger.debug(`readDeviceEUI64ListTLV with length=${length}`, NS);
443
- // const count = this.readUInt8();
444
- // /* istanbul ignore else */
445
- // if (length !== (1 + (count * EUI64_SIZE))) {
446
- // throw new Error(`Malformed TLV. Invalid length '${length}', expected ${(1 + (count * EUI64_SIZE))}.`);
447
- // }
448
- // const eui64List: DeviceEUI64ListTLV['eui64List'] = [];
449
- // for (let i = 0; i < count; i++) {
450
- // const eui64 = this.readIeeeAddr();
451
- // eui64List.push(eui64);
452
- // }
453
- // return {
454
- // eui64List,
455
- // };
456
- // }
457
- readAPSFrameCounterResponseTLV(length) {
458
- logger_1.logger.debug(`readAPSFrameCounterResponseTLV with length=${length}`, NS);
459
- if (length !== 32) {
460
- throw new Error(`Malformed TLV. Invalid length '${length}', expected 32.`);
461
- }
462
- const responderEui64 = this.readIeeeAddr();
463
- const receivedChallengeValue = this.readBuffer(consts_2.CHALLENGE_VALUE_SIZE);
464
- const apsFrameCounter = this.readUInt32();
465
- const challengeSecurityFrameCounter = this.readUInt32();
466
- const mic = this.readBuffer(8);
467
- return {
468
- responderEui64,
469
- receivedChallengeValue,
470
- apsFrameCounter,
471
- challengeSecurityFrameCounter,
472
- mic,
473
- };
474
- }
475
- readBeaconSurveyResultsTLV(length) {
476
- logger_1.logger.debug(`readBeaconSurveyResultsTLV with length=${length}`, NS);
477
- if (length !== 4) {
478
- throw new Error(`Malformed TLV. Invalid length '${length}', expected 4.`);
479
- }
480
- const totalBeaconsReceived = this.readUInt8();
481
- const onNetworkBeacons = this.readUInt8();
482
- const potentialParentBeacons = this.readUInt8();
483
- const otherNetworkBeacons = this.readUInt8();
484
- return {
485
- totalBeaconsReceived,
486
- onNetworkBeacons,
487
- potentialParentBeacons,
488
- otherNetworkBeacons,
489
- };
490
- }
491
- readPotentialParentsTLV(length) {
492
- logger_1.logger.debug(`readPotentialParentsTLV with length=${length}`, NS);
493
- if (length < 4) {
494
- throw new Error(`Malformed TLV. Invalid length '${length}', expected at least 4.`);
495
- }
496
- const currentParentNwkAddress = this.readUInt16();
497
- const currentParentLQA = this.readUInt8();
498
- // [0x00 - 0x05]
499
- const entryCount = this.readUInt8();
500
- if (length !== 4 + entryCount * 3) {
501
- throw new Error(`Malformed TLV. Invalid length '${length}', expected ${4 + entryCount * 3}.`);
502
- }
503
- const potentialParents = [];
504
- for (let i = 0; i < entryCount; i++) {
505
- const nwkAddress = this.readUInt16();
506
- const lqa = this.readUInt8();
507
- potentialParents.push({
508
- nwkAddress,
509
- lqa,
510
- });
511
- }
512
- return {
513
- currentParentNwkAddress,
514
- currentParentLQA,
515
- entryCount,
516
- potentialParents,
517
- };
518
- }
519
- readDeviceAuthenticationLevelTLV(length) {
520
- logger_1.logger.debug(`readDeviceAuthenticationLevelTLV with length=${length}`, NS);
521
- if (length !== 10) {
522
- throw new Error(`Malformed TLV. Invalid length '${length}', expected 10.`);
523
- }
524
- const remoteNodeIeee = this.readIeeeAddr();
525
- const initialJoinMethod = this.readUInt8();
526
- const activeLinkKeyType = this.readUInt8();
527
- return {
528
- remoteNodeIeee,
529
- initialJoinMethod,
530
- activeLinkKeyType,
531
- };
532
- }
533
- readProcessingStatusTLV(length) {
534
- logger_1.logger.debug(`readProcessingStatusTLV with length=${length}`, NS);
535
- const count = this.readUInt8();
536
- if (length !== 1 + count * 2) {
537
- throw new Error(`Malformed TLV. Invalid length '${length}', expected ${1 + count * 2}.`);
538
- }
539
- const tlvs = [];
540
- for (let i = 0; i < count; i++) {
541
- const tagId = this.readUInt8();
542
- const processingStatus = this.readUInt8();
543
- tlvs.push({
544
- tagId,
545
- processingStatus,
546
- });
547
- }
548
- return {
549
- count,
550
- tlvs,
551
- };
552
- }
553
- /**
554
- * ANNEX I ZIGBEE TLV DEFINITIONS AND FORMAT
555
- *
556
- * Unknown tags => TLV ignored
557
- * Duplicate tags => reject message except for MANUFACTURER_SPECIFIC_GLOBAL_TLV
558
- * Malformed TLVs => reject message
559
- *
560
- * @param localTLVReaders Mapping of tagID to local TLV reader function
561
- * @param encapsulated Default false. If true, this is reading inside an encapsuled TLV (excludes further encapsulation)
562
- * @returns
563
- */
564
- readTLVs(localTLVReaders, encapsulated = false) {
565
- const tlvs = [];
566
- while (this.isMore()) {
567
- const tagId = this.readUInt8();
568
- // validation: cannot have duplicate tagId, except MANUFACTURER_SPECIFIC_GLOBAL_TLV
569
- if (tagId !== enums_1.GlobalTLV.MANUFACTURER_SPECIFIC && tlvs.findIndex((tlv) => tlv.tagId === tagId) !== -1) {
570
- throw new Error(`Duplicate tag. Cannot have more than one of tagId=${tagId}.`);
571
- }
572
- // validation: encapsulation TLV cannot contain another encapsulation TLV, outer considered malformed, reject message
573
- if (encapsulated && (tagId === enums_1.GlobalTLV.BEACON_APPENDIX_ENCAPSULATION || tagId === enums_1.GlobalTLV.JOINER_ENCAPSULATION)) {
574
- throw new Error(`Invalid nested encapsulation for tagId=${tagId}.`);
575
- }
576
- const length = this.readUInt8() + 1; // add offset (spec quirk...)
577
- // validation: invalid if not at least ${length} bytes to read
578
- if (!this.isMoreBy(length)) {
579
- throw new Error(`Malformed TLV. Invalid data length for tagId=${tagId}, expected ${length}.`);
580
- }
581
- const nextTLVStart = this.getPosition() + length;
582
- // undefined == unknown tag
583
- let tlv;
584
- if (tagId < enums_1.GlobalTLV.MANUFACTURER_SPECIFIC) {
585
- /* istanbul ignore else */
586
- if (localTLVReaders) {
587
- const localTLVReader = localTLVReaders.get(tagId);
588
- /* istanbul ignore else */
589
- if (localTLVReader) {
590
- tlv = localTLVReader.call(this, length);
591
- }
592
- else {
593
- logger_1.logger.debug(`Local TLV found tagId=${tagId} but no reader given for it. Ignoring it.`, NS);
594
- }
595
- }
596
- else {
597
- logger_1.logger.debug(`Local TLV found tagId=${tagId} but no reader available. Ignoring it.`, NS);
598
- }
599
- }
600
- else {
601
- tlv = this.readGlobalTLV(tagId, length);
602
- }
603
- // validation: unknown tag shall be ignored
604
- /* istanbul ignore else */
605
- if (tlv) {
606
- tlvs.push({
607
- tagId,
608
- length,
609
- tlv,
610
- });
611
- }
612
- else {
613
- logger_1.logger.debug(`Unknown TLV tagId=${tagId}. Ignoring it.`, NS);
614
- }
615
- // ensure we're at the right position as dictated by the tlv length field, and not the tlv reader (should be the same if proper)
616
- this.setPosition(nextTLVStart);
617
- }
618
- return tlvs;
619
- }
620
- //-- REQUESTS
621
- static buildRequest(hasZdoMessageOverhead, clusterId, ...args) {
622
- const buffalo = new BuffaloZdo(Buffer.alloc(MAX_BUFFER_SIZE), hasZdoMessageOverhead ? consts_2.ZDO_MESSAGE_OVERHEAD : 0);
623
- switch (clusterId) {
624
- case clusters_1.ClusterId.NETWORK_ADDRESS_REQUEST: {
625
- return buffalo.buildNetworkAddressRequest(...args);
626
- }
627
- case clusters_1.ClusterId.IEEE_ADDRESS_REQUEST: {
628
- return buffalo.buildIeeeAddressRequest(...args);
629
- }
630
- case clusters_1.ClusterId.NODE_DESCRIPTOR_REQUEST: {
631
- return buffalo.buildNodeDescriptorRequest(...args);
632
- }
633
- case clusters_1.ClusterId.POWER_DESCRIPTOR_REQUEST: {
634
- return buffalo.buildPowerDescriptorRequest(...args);
635
- }
636
- case clusters_1.ClusterId.SIMPLE_DESCRIPTOR_REQUEST: {
637
- return buffalo.buildSimpleDescriptorRequest(...args);
638
- }
639
- case clusters_1.ClusterId.ACTIVE_ENDPOINTS_REQUEST: {
640
- return buffalo.buildActiveEndpointsRequest(...args);
641
- }
642
- case clusters_1.ClusterId.MATCH_DESCRIPTORS_REQUEST: {
643
- return buffalo.buildMatchDescriptorRequest(...args);
644
- }
645
- case clusters_1.ClusterId.SYSTEM_SERVER_DISCOVERY_REQUEST: {
646
- return buffalo.buildSystemServiceDiscoveryRequest(...args);
647
- }
648
- case clusters_1.ClusterId.PARENT_ANNOUNCE: {
649
- return buffalo.buildParentAnnounce(...args);
650
- }
651
- case clusters_1.ClusterId.BIND_REQUEST: {
652
- return buffalo.buildBindRequest(...args);
653
- }
654
- case clusters_1.ClusterId.UNBIND_REQUEST: {
655
- return buffalo.buildUnbindRequest(...args);
656
- }
657
- case clusters_1.ClusterId.CLEAR_ALL_BINDINGS_REQUEST: {
658
- return buffalo.buildClearAllBindingsRequest(...args);
659
- }
660
- case clusters_1.ClusterId.LQI_TABLE_REQUEST: {
661
- return buffalo.buildLqiTableRequest(...args);
662
- }
663
- case clusters_1.ClusterId.ROUTING_TABLE_REQUEST: {
664
- return buffalo.buildRoutingTableRequest(...args);
665
- }
666
- case clusters_1.ClusterId.BINDING_TABLE_REQUEST: {
667
- return buffalo.buildBindingTableRequest(...args);
668
- }
669
- case clusters_1.ClusterId.LEAVE_REQUEST: {
670
- return buffalo.buildLeaveRequest(...args);
671
- }
672
- case clusters_1.ClusterId.PERMIT_JOINING_REQUEST: {
673
- return buffalo.buildPermitJoining(...args);
674
- }
675
- case clusters_1.ClusterId.NWK_UPDATE_REQUEST: {
676
- return buffalo.buildNwkUpdateRequest(...args);
677
- }
678
- case clusters_1.ClusterId.NWK_ENHANCED_UPDATE_REQUEST: {
679
- return buffalo.buildNwkEnhancedUpdateRequest(...args);
680
- }
681
- case clusters_1.ClusterId.NWK_IEEE_JOINING_LIST_REQUEST: {
682
- return buffalo.buildNwkIEEEJoiningListRequest(...args);
683
- }
684
- case clusters_1.ClusterId.NWK_BEACON_SURVEY_REQUEST: {
685
- return buffalo.buildNwkBeaconSurveyRequest(...args);
686
- }
687
- case clusters_1.ClusterId.START_KEY_NEGOTIATION_REQUEST: {
688
- return buffalo.buildStartKeyNegotiationRequest(...args);
689
- }
690
- case clusters_1.ClusterId.RETRIEVE_AUTHENTICATION_TOKEN_REQUEST: {
691
- return buffalo.buildRetrieveAuthenticationTokenRequest(...args);
692
- }
693
- case clusters_1.ClusterId.GET_AUTHENTICATION_LEVEL_REQUEST: {
694
- return buffalo.buildGetAuthenticationLevelRequest(...args);
695
- }
696
- case clusters_1.ClusterId.SET_CONFIGURATION_REQUEST: {
697
- return buffalo.buildSetConfigurationRequest(...args);
698
- }
699
- case clusters_1.ClusterId.GET_CONFIGURATION_REQUEST: {
700
- return buffalo.buildGetConfigurationRequest(...args);
701
- }
702
- case clusters_1.ClusterId.START_KEY_UPDATE_REQUEST: {
703
- return buffalo.buildStartKeyUpdateRequest(...args);
704
- }
705
- case clusters_1.ClusterId.DECOMMISSION_REQUEST: {
706
- return buffalo.buildDecommissionRequest(...args);
707
- }
708
- case clusters_1.ClusterId.CHALLENGE_REQUEST: {
709
- return buffalo.buildChallengeRequest(...args);
710
- }
711
- default: {
712
- throw new Error(`Unsupported request building for cluster ID '${clusterId}'.`);
713
- }
714
- }
715
- }
716
- /**
717
- * @see ClusterId.NETWORK_ADDRESS_REQUEST
718
- * @param target IEEE address for the request
719
- * @param reportKids True to request that the target list their children in the response. [request type = 0x01]
720
- * @param childStartIndex The index of the first child to list in the response. Ignored if reportKids is false.
721
- */
722
- buildNetworkAddressRequest(target, reportKids, childStartIndex) {
723
- this.writeIeeeAddr(target);
724
- this.writeUInt8(reportKids ? 1 : 0);
725
- this.writeUInt8(childStartIndex);
726
- return this.getWritten();
727
- }
728
- /**
729
- * @see ClusterId.IEEE_ADDRESS_REQUEST
730
- * Can be sent to target, or to another node that will send to target.
731
- * @param target NWK address for the request
732
- * @param reportKids True to request that the target list their children in the response. [request type = 0x01]
733
- * @param childStartIndex The index of the first child to list in the response. Ignored if reportKids is false.
734
- */
735
- buildIeeeAddressRequest(target, reportKids, childStartIndex) {
736
- this.writeUInt16(target);
737
- this.writeUInt8(reportKids ? 1 : 0);
738
- this.writeUInt8(childStartIndex);
739
- return this.getWritten();
740
- }
741
- /**
742
- * @see ClusterId.NODE_DESCRIPTOR_REQUEST
743
- * @param target NWK address for the request
744
- */
745
- buildNodeDescriptorRequest(target, fragmentationParameters) {
746
- this.writeUInt16(target);
747
- if (fragmentationParameters) {
748
- let length = 2;
749
- /* istanbul ignore else */
750
- if (fragmentationParameters.fragmentationOptions) {
751
- length += 1;
752
- }
753
- /* istanbul ignore else */
754
- if (fragmentationParameters.maxIncomingTransferUnit) {
755
- length += 2;
756
- }
757
- this.writeGlobalTLV({ tagId: enums_1.GlobalTLV.FRAGMENTATION_PARAMETERS, length, tlv: fragmentationParameters });
758
- }
759
- return this.getWritten();
760
- }
761
- /**
762
- * @see ClusterId.POWER_DESCRIPTOR_REQUEST
763
- * @param target NWK address for the request
764
- */
765
- buildPowerDescriptorRequest(target) {
766
- this.writeUInt16(target);
767
- return this.getWritten();
768
- }
769
- /**
770
- * @see ClusterId.SIMPLE_DESCRIPTOR_REQUEST
771
- * @param target NWK address for the request
772
- * @param targetEndpoint The endpoint on the destination
773
- */
774
- buildSimpleDescriptorRequest(target, targetEndpoint) {
775
- this.writeUInt16(target);
776
- this.writeUInt8(targetEndpoint);
777
- return this.getWritten();
778
- }
779
- /**
780
- * @see ClusterId.ACTIVE_ENDPOINTS_REQUEST
781
- * @param target NWK address for the request
782
- */
783
- buildActiveEndpointsRequest(target) {
784
- this.writeUInt16(target);
785
- return this.getWritten();
786
- }
787
- /**
788
- * @see ClusterId.MATCH_DESCRIPTORS_REQUEST
789
- * @param target NWK address for the request
790
- * @param profileId Profile ID to be matched at the destination
791
- * @param inClusterList List of Input ClusterIDs to be used for matching
792
- * @param outClusterList List of Output ClusterIDs to be used for matching
793
- */
794
- buildMatchDescriptorRequest(target, profileId, inClusterList, outClusterList) {
795
- this.writeUInt16(target);
796
- this.writeUInt16(profileId);
797
- this.writeUInt8(inClusterList.length);
798
- this.writeListUInt16(inClusterList);
799
- this.writeUInt8(outClusterList.length);
800
- this.writeListUInt16(outClusterList);
801
- return this.getWritten();
802
- }
803
- /**
804
- * @see ClusterId.SYSTEM_SERVER_DISCOVERY_REQUEST
805
- * @param serverMask See Table 2-34 for bit assignments.
806
- */
807
- buildSystemServiceDiscoveryRequest(serverMask) {
808
- this.writeUInt16(Utils.createServerMask(serverMask));
809
- return this.getWritten();
810
- }
811
- /**
812
- * @see ClusterId.PARENT_ANNOUNCE
813
- * @param children The IEEE addresses of the children bound to the parent.
814
- */
815
- buildParentAnnounce(children) {
816
- this.writeUInt8(children.length);
817
- for (const child of children) {
818
- this.writeIeeeAddr(child);
819
- }
820
- return this.getWritten();
821
- }
822
- /**
823
- * @see ClusterId.BIND_REQUEST
824
- *
825
- * @param source The IEEE address for the source.
826
- * @param sourceEndpoint The source endpoint for the binding entry.
827
- * @param clusterId The identifier of the cluster on the source device that is bound to the destination.
828
- * @param type The addressing mode for the destination address used in this command, either ::UNICAST_BINDING, ::MULTICAST_BINDING.
829
- * @param destination The destination address for the binding entry. IEEE for ::UNICAST_BINDING.
830
- * @param groupAddress The destination address for the binding entry. Group ID for ::MULTICAST_BINDING.
831
- * @param destinationEndpoint The destination endpoint for the binding entry. Only if ::UNICAST_BINDING.
832
- */
833
- buildBindRequest(source, sourceEndpoint, clusterId, type, destination, groupAddress, destinationEndpoint) {
834
- this.writeIeeeAddr(source);
835
- this.writeUInt8(sourceEndpoint);
836
- this.writeUInt16(clusterId);
837
- this.writeUInt8(type);
838
- switch (type) {
839
- case consts_2.UNICAST_BINDING: {
840
- this.writeIeeeAddr(destination);
841
- this.writeUInt8(destinationEndpoint);
842
- break;
843
- }
844
- case consts_2.MULTICAST_BINDING: {
845
- this.writeUInt16(groupAddress);
846
- break;
847
- }
848
- default:
849
- throw new zdoStatusError_1.ZdoStatusError(status_1.Status.NOT_SUPPORTED);
850
- }
851
- return this.getWritten();
852
- }
853
- /**
854
- * @see ClusterId.UNBIND_REQUEST
855
- *
856
- * @param source The IEEE address for the source.
857
- * @param sourceEndpoint The source endpoint for the binding entry.
858
- * @param clusterId The identifier of the cluster on the source device that is bound to the destination.
859
- * @param type The addressing mode for the destination address used in this command, either ::UNICAST_BINDING, ::MULTICAST_BINDING.
860
- * @param destination The destination address for the binding entry. IEEE for ::UNICAST_BINDING.
861
- * @param groupAddress The destination address for the binding entry. Group ID for ::MULTICAST_BINDING.
862
- * @param destinationEndpoint The destination endpoint for the binding entry. Only if ::UNICAST_BINDING.
863
- */
864
- buildUnbindRequest(source, sourceEndpoint, clusterId, type, destination, groupAddress, destinationEndpoint) {
865
- this.writeIeeeAddr(source);
866
- this.writeUInt8(sourceEndpoint);
867
- this.writeUInt16(clusterId);
868
- this.writeUInt8(type);
869
- switch (type) {
870
- case consts_2.UNICAST_BINDING: {
871
- this.writeIeeeAddr(destination);
872
- this.writeUInt8(destinationEndpoint);
873
- break;
874
- }
875
- case consts_2.MULTICAST_BINDING: {
876
- this.writeUInt16(groupAddress);
877
- break;
878
- }
879
- default:
880
- throw new zdoStatusError_1.ZdoStatusError(status_1.Status.NOT_SUPPORTED);
881
- }
882
- return this.getWritten();
883
- }
884
- /**
885
- * @see ClusterId.CLEAR_ALL_BINDINGS_REQUEST
886
- */
887
- buildClearAllBindingsRequest(tlv) {
888
- // ClearAllBindingsReqEUI64TLV: Local: ID: 0x00
889
- this.writeUInt8(0x00);
890
- this.writeUInt8(tlv.eui64List.length * consts_1.EUI64_SIZE + 1 - 1);
891
- this.writeUInt8(tlv.eui64List.length);
892
- for (const entry of tlv.eui64List) {
893
- this.writeIeeeAddr(entry);
894
- }
895
- return this.getWritten();
896
- }
897
- /**
898
- * @see ClusterId.LQI_TABLE_REQUEST
899
- * @param startIndex Starting Index for the requested elements of the Neighbor Table.
900
- */
901
- buildLqiTableRequest(startIndex) {
902
- this.writeUInt8(startIndex);
903
- return this.getWritten();
904
- }
905
- /**
906
- * @see ClusterId.ROUTING_TABLE_REQUEST
907
- * @param startIndex Starting Index for the requested elements of the Neighbor Table.
908
- */
909
- buildRoutingTableRequest(startIndex) {
910
- this.writeUInt8(startIndex);
911
- return this.getWritten();
912
- }
913
- /**
914
- * @see ClusterId.BINDING_TABLE_REQUEST
915
- * @param startIndex Starting Index for the requested elements of the Neighbor Table.
916
- */
917
- buildBindingTableRequest(startIndex) {
918
- this.writeUInt8(startIndex);
919
- return this.getWritten();
920
- }
921
- /**
922
- * @see ClusterId.LEAVE_REQUEST
923
- * @param deviceAddress All zeros if the target is to remove itself from the network or
924
- * the EUI64 of a child of the target device to remove that child.
925
- * @param leaveRequestFlags A bitmask of leave options. Include ::AND_REJOIN if the target is to rejoin the network immediately after leaving.
926
- */
927
- buildLeaveRequest(deviceAddress, leaveRequestFlags) {
928
- this.writeIeeeAddr(deviceAddress);
929
- this.writeUInt8(leaveRequestFlags);
930
- return this.getWritten();
931
- }
932
- /**
933
- * @see ClusterId.PERMIT_JOINING_REQUEST
934
- * @param duration A value of 0x00 disables joining. A value of 0xFF enables joining. Any other value enables joining for that number of seconds.
935
- * @param authentication Controls Trust Center authentication behavior.
936
- * This field SHALL always have a value of 1, indicating a request to change the Trust Center policy.
937
- * If a frame is received with a value of 0, it shall be treated as having a value of 1.
938
- */
939
- buildPermitJoining(duration, authentication, tlvs) {
940
- this.writeUInt8(duration);
941
- this.writeUInt8(authentication);
942
- // BeaconAppendixEncapsulationGlobalTLV
943
- // - SupportedKeyNegotiationMethodsGlobalTLV
944
- // - FragmentationParametersGlobalTLV
945
- this.writeGlobalTLVs(tlvs);
946
- return this.getWritten();
947
- }
948
- /**
949
- * @see ClusterId.NWK_UPDATE_REQUEST
950
- * @param channels See Table 3-7 for details on the 32-bit field structure..
951
- * @param duration A value used to calculate the length of time to spend scanning each channel.
952
- * The time spent scanning each channel is (aBaseSuperframeDuration * (2n + 1)) symbols, where n is the value of the duration parameter.
953
- * If has a value of 0xfe this is a request for channel change.
954
- * If has a value of 0xff this is a request to change the apsChannelMaskList and nwkManagerAddr attributes.
955
- * @param count This field represents the number of energy scans to be conducted and reported.
956
- * This field SHALL be present only if the duration is within the range of 0x00 to 0x05.
957
- * @param nwkUpdateId The value of the nwkUpdateId contained in this request.
958
- * This value is set by the Network Channel Manager prior to sending the message.
959
- * This field SHALL only be present if the duration is 0xfe or 0xff.
960
- * If the ScanDuration is 0xff, then the value in the nwkUpdateID SHALL be ignored.
961
- * @param nwkManagerAddr This field SHALL be present only if the duration is set to 0xff, and, where present,
962
- * indicates the NWK address for the device with the Network Manager bit set in its Node Descriptor.
963
- */
964
- buildNwkUpdateRequest(channels, duration, count, nwkUpdateId, nwkManagerAddr) {
965
- this.writeUInt32(ZSpecUtils.channelsToUInt32Mask(channels));
966
- this.writeUInt8(duration);
967
- if (count !== undefined && duration >= 0x00 && duration <= 0x05) {
968
- this.writeUInt8(count);
969
- }
970
- // TODO: What does "This value is set by the Network Channel Manager prior to sending the message." mean exactly??
971
- // (isn't used/mentioned in EmberZNet, confirmed working if not set at all for channel change)
972
- // for now, allow to bypass with undefined, otherwise should throw if undefined and duration passes below conditions (see NwkEnhancedUpdateRequest)
973
- if (nwkUpdateId !== undefined && (duration === 0xfe || duration === 0xff)) {
974
- this.writeUInt8(nwkUpdateId);
975
- }
976
- if (nwkManagerAddr !== undefined && duration === 0xff) {
977
- this.writeUInt16(nwkManagerAddr);
978
- }
979
- return this.getWritten();
980
- }
981
- // /**
982
- // * Shortcut for @see BuffaloZdo.buildNwkUpdateRequest
983
- // */
984
- // private buildScanChannelsRequest(scanChannels: number[], duration: number, count: number): Buffer {
985
- // return this.buildNwkUpdateRequest(scanChannels, duration, count, undefined, undefined);
986
- // }
987
- // /**
988
- // * Shortcut for @see BuffaloZdo.buildNwkUpdateRequest
989
- // */
990
- // private buildChannelChangeRequest(channel: number, nwkUpdateId: number | undefined): Buffer {
991
- // return this.buildNwkUpdateRequest([channel], 0xfe, undefined, nwkUpdateId, undefined);
992
- // }
993
- // /**
994
- // * Shortcut for @see BuffaloZdo.buildNwkUpdateRequest
995
- // */
996
- // private buildSetActiveChannelsAndNwkManagerIdRequest(channels: number[], nwkUpdateId: number | undefined, nwkManagerAddr: NodeId): Buffer {
997
- // return this.buildNwkUpdateRequest(channels, 0xff, undefined, nwkUpdateId, nwkManagerAddr);
998
- // }
999
- /**
1000
- * @see ClusterId.NWK_ENHANCED_UPDATE_REQUEST
1001
- * @param channelPages The set of channels (32-bit bitmap) for each channel page.
1002
- * The five most significant bits (b27,..., b31) represent the binary encoded Channel Page.
1003
- * The 27 least significant bits (b0, b1,... b26) indicate which channels are to be scanned
1004
- * (1 = scan, 0 = do not scan) for each of the 27 valid channels
1005
- * If duration is in the range 0x00 to 0x05, SHALL be restricted to a single page.
1006
- * @param duration A value used to calculate the length of time to spend scanning each channel.
1007
- * The time spent scanning each channel is (aBaseSuperframeDuration * (2n + 1)) symbols, where n is the value of the duration parameter.
1008
- * If has a value of 0xfe this is a request for channel change.
1009
- * If has a value of 0xff this is a request to change the apsChannelMaskList and nwkManagerAddr attributes.
1010
- * @param count This field represents the number of energy scans to be conducted and reported.
1011
- * This field SHALL be present only if the duration is within the range of 0x00 to 0x05.
1012
- * @param nwkUpdateId The value of the nwkUpdateId contained in this request.
1013
- * This value is set by the Network Channel Manager prior to sending the message.
1014
- * This field SHALL only be present if the duration is 0xfe or 0xff.
1015
- * If the ScanDuration is 0xff, then the value in the nwkUpdateID SHALL be ignored.
1016
- * @param nwkManagerAddr This field SHALL be present only if the duration is set to 0xff, and, where present,
1017
- * indicates the NWK address for the device with the Network Manager bit set in its Node Descriptor.
1018
- * @param configurationBitmask Defined in defined in section 2.4.3.3.12.
1019
- * The configurationBitmask must be added to the end of the list of parameters.
1020
- * This octet may or may not be present.
1021
- * If not present then assumption should be that it is enhanced active scan.
1022
- * Bit 0: This bit determines whether to do an Active Scan or Enhanced Active Scan.
1023
- * When the bit is set to 1 it indicates an Enhanced Active Scan.
1024
- * And in case of Enhanced Active scan EBR shall be sent with EPID filter instead of PJOIN filter.
1025
- * Bit 1-7: Reserved
1026
- */
1027
- buildNwkEnhancedUpdateRequest(channelPages, duration, count, nwkUpdateId, nwkManagerAddr, configurationBitmask) {
1028
- this.writeUInt8(channelPages.length);
1029
- for (const channelPage of channelPages) {
1030
- this.writeUInt32(channelPage);
1031
- }
1032
- this.writeUInt8(duration);
1033
- if (count !== undefined && duration >= 0x00 && duration <= 0x05) {
1034
- this.writeUInt8(count);
1035
- }
1036
- if (nwkUpdateId !== undefined && (duration === 0xfe || duration === 0xff)) {
1037
- this.writeUInt8(nwkUpdateId);
1038
- }
1039
- if (nwkManagerAddr !== undefined && duration === 0xff) {
1040
- this.writeUInt16(nwkManagerAddr);
1041
- }
1042
- /* istanbul ignore else */
1043
- if (configurationBitmask !== undefined) {
1044
- this.writeUInt8(configurationBitmask);
1045
- }
1046
- return this.getWritten();
1047
- }
1048
- // /**
1049
- // * Shortcut for @see BuffaloZdo.buildNwkEnhancedUpdateRequest
1050
- // */
1051
- // private buildEnhancedScanChannelsRequest(channelPages: number[], duration: number, count: number, configurationBitmask: number | undefined): Buffer {
1052
- // return this.buildNwkEnhancedUpdateRequest(channelPages, duration, count, undefined, undefined, configurationBitmask);
1053
- // }
1054
- // /**
1055
- // * Shortcut for @see BuffaloZdo.buildNwkEnhancedUpdateRequest
1056
- // */
1057
- // private buildEnhancedChannelChangeRequest(channelPage: number, nwkUpdateId: number | undefined, configurationBitmask: number | undefined): Buffer {
1058
- // return this.buildNwkEnhancedUpdateRequest([channelPage], 0xfe, undefined, nwkUpdateId, undefined, configurationBitmask);
1059
- // }
1060
- // /**
1061
- // * Shortcut for @see BuffaloZdo.buildNwkEnhancedUpdateRequest
1062
- // */
1063
- // private buildEnhancedSetActiveChannelsAndNwkManagerIdRequest(
1064
- // channelPages: number[],
1065
- // nwkUpdateId: number | undefined,
1066
- // nwkManagerAddr: NodeId,
1067
- // configurationBitmask: number | undefined,
1068
- // ): Buffer {
1069
- // return this.buildNwkEnhancedUpdateRequest(channelPages, 0xff, undefined, nwkUpdateId, nwkManagerAddr, configurationBitmask);
1070
- // }
1071
- /**
1072
- * @see ClusterId.NWK_IEEE_JOINING_LIST_REQUEST
1073
- * @param startIndex The starting index into the receiving device’s nwkIeeeJoiningList that SHALL be sent back.
1074
- */
1075
- buildNwkIEEEJoiningListRequest(startIndex) {
1076
- this.writeUInt8(startIndex);
1077
- return this.getWritten();
1078
- }
1079
- /**
1080
- * @see ClusterId.NWK_BEACON_SURVEY_REQUEST
1081
- */
1082
- buildNwkBeaconSurveyRequest(tlv) {
1083
- // BeaconSurveyConfigurationTLV: Local: ID: 0x00
1084
- this.writeUInt8(0x00);
1085
- this.writeUInt8(2 + tlv.scanChannelList.length * 4 - 1);
1086
- this.writeUInt8(tlv.scanChannelList.length);
1087
- this.writeListUInt32(tlv.scanChannelList);
1088
- this.writeUInt8(tlv.configurationBitmask);
1089
- return this.getWritten();
1090
- }
1091
- /**
1092
- * @see ClusterId.START_KEY_NEGOTIATION_REQUEST
1093
- */
1094
- buildStartKeyNegotiationRequest(tlv) {
1095
- // Curve25519PublicPointTLV: Local: ID: 0x00
1096
- this.writeUInt8(0x00);
1097
- this.writeUInt8(consts_1.EUI64_SIZE + consts_2.CURVE_PUBLIC_POINT_SIZE - 1);
1098
- this.writeIeeeAddr(tlv.eui64);
1099
- this.writeBuffer(tlv.publicPoint, consts_2.CURVE_PUBLIC_POINT_SIZE);
1100
- return this.getWritten();
1101
- }
1102
- /**
1103
- * @see ClusterId.RETRIEVE_AUTHENTICATION_TOKEN_REQUEST
1104
- */
1105
- buildRetrieveAuthenticationTokenRequest(tlv) {
1106
- // AuthenticationTokenIdTLV: Local: ID: 0x00
1107
- this.writeUInt8(0x00);
1108
- this.writeUInt8(1 - 1);
1109
- this.writeUInt8(tlv.tlvTypeTagId);
1110
- return this.getWritten();
1111
- }
1112
- /**
1113
- * @see ClusterId.GET_AUTHENTICATION_LEVEL_REQUEST
1114
- */
1115
- buildGetAuthenticationLevelRequest(tlv) {
1116
- // TargetIEEEAddressTLV: Local: ID: 0x00
1117
- this.writeUInt8(0x00);
1118
- this.writeUInt8(consts_1.EUI64_SIZE - 1);
1119
- this.writeIeeeAddr(tlv.ieee);
1120
- return this.getWritten();
1121
- }
1122
- /**
1123
- * @see ClusterId.SET_CONFIGURATION_REQUEST
1124
- */
1125
- buildSetConfigurationRequest(nextPanIdChange, nextChannelChange, configurationParameters) {
1126
- this.writeGlobalTLV({ tagId: enums_1.GlobalTLV.NEXT_PAN_ID_CHANGE, length: consts_1.PAN_ID_SIZE, tlv: nextPanIdChange });
1127
- this.writeGlobalTLV({ tagId: enums_1.GlobalTLV.NEXT_CHANNEL_CHANGE, length: 4, tlv: nextChannelChange });
1128
- this.writeGlobalTLV({ tagId: enums_1.GlobalTLV.CONFIGURATION_PARAMETERS, length: 2, tlv: configurationParameters });
1129
- return this.getWritten();
1130
- }
1131
- /**
1132
- * @see ClusterId.GET_CONFIGURATION_REQUEST
1133
- * @param tlvIds The IDs of each TLV that are being requested.
1134
- * Maximum number dependent on the underlying maximum size of the message as allowed by fragmentation.
1135
- */
1136
- buildGetConfigurationRequest(tlvIds) {
1137
- this.writeUInt8(tlvIds.length);
1138
- for (const tlvId of tlvIds) {
1139
- this.writeUInt8(tlvId);
1140
- }
1141
- return this.getWritten();
1142
- }
1143
- /**
1144
- * @see ClusterId.START_KEY_UPDATE_REQUEST
1145
- */
1146
- buildStartKeyUpdateRequest(selectedKeyNegotiationMethod, fragmentationParameters) {
1147
- // SelectedKeyNegotiationMethodTLV: Local: ID: 0x00
1148
- this.writeUInt8(0x00);
1149
- this.writeUInt8(consts_1.EUI64_SIZE + 2 - 1);
1150
- this.writeUInt8(selectedKeyNegotiationMethod.protocol);
1151
- this.writeUInt8(selectedKeyNegotiationMethod.presharedSecret);
1152
- this.writeIeeeAddr(selectedKeyNegotiationMethod.sendingDeviceEui64);
1153
- {
1154
- let length = 2;
1155
- /* istanbul ignore else */
1156
- if (fragmentationParameters.fragmentationOptions) {
1157
- length += 1;
1158
- }
1159
- /* istanbul ignore else */
1160
- if (fragmentationParameters.maxIncomingTransferUnit) {
1161
- length += 2;
1162
- }
1163
- this.writeGlobalTLV({ tagId: enums_1.GlobalTLV.FRAGMENTATION_PARAMETERS, length, tlv: fragmentationParameters });
1164
- }
1165
- return this.getWritten();
1166
- }
1167
- /**
1168
- * @see ClusterId.DECOMMISSION_REQUEST
1169
- */
1170
- buildDecommissionRequest(tlv) {
1171
- // DeviceEUI64ListTLV: Local: ID: 0x00
1172
- this.writeUInt8(0x00);
1173
- this.writeUInt8(tlv.eui64List.length * consts_1.EUI64_SIZE + 1 - 1);
1174
- this.writeUInt8(tlv.eui64List.length);
1175
- for (const eui64 of tlv.eui64List) {
1176
- this.writeIeeeAddr(eui64);
1177
- }
1178
- return this.getWritten();
1179
- }
1180
- /**
1181
- * @see ClusterId.CHALLENGE_REQUEST
1182
- */
1183
- buildChallengeRequest(tlv) {
1184
- // APSFrameCounterChallengeTLV: Local: ID: 0x00
1185
- this.writeUInt8(0x00);
1186
- this.writeUInt8(consts_1.EUI64_SIZE + consts_2.CHALLENGE_VALUE_SIZE - 1);
1187
- this.writeIeeeAddr(tlv.senderEui64);
1188
- this.writeBuffer(tlv.challengeValue, consts_2.CHALLENGE_VALUE_SIZE);
1189
- return this.getWritten();
1190
- }
1191
- //-- RESPONSES
1192
- static checkStatus(result) {
1193
- return result[0] === status_1.Status.SUCCESS;
1194
- }
1195
- static readResponse(hasZdoMessageOverhead, clusterId, buffer) {
1196
- const buffalo = new BuffaloZdo(buffer, hasZdoMessageOverhead ? consts_2.ZDO_MESSAGE_OVERHEAD : 0); // set pos to skip `transaction sequence number`
1197
- switch (clusterId) {
1198
- case clusters_1.ClusterId.NETWORK_ADDRESS_RESPONSE: {
1199
- return buffalo.readNetworkAddressResponse();
1200
- }
1201
- case clusters_1.ClusterId.IEEE_ADDRESS_RESPONSE: {
1202
- return buffalo.readIEEEAddressResponse();
1203
- }
1204
- case clusters_1.ClusterId.NODE_DESCRIPTOR_RESPONSE: {
1205
- return buffalo.readNodeDescriptorResponse();
1206
- }
1207
- case clusters_1.ClusterId.POWER_DESCRIPTOR_RESPONSE: {
1208
- return buffalo.readPowerDescriptorResponse();
1209
- }
1210
- case clusters_1.ClusterId.SIMPLE_DESCRIPTOR_RESPONSE: {
1211
- return buffalo.readSimpleDescriptorResponse();
1212
- }
1213
- case clusters_1.ClusterId.ACTIVE_ENDPOINTS_RESPONSE: {
1214
- return buffalo.readActiveEndpointsResponse();
1215
- }
1216
- case clusters_1.ClusterId.MATCH_DESCRIPTORS_RESPONSE: {
1217
- return buffalo.readMatchDescriptorsResponse();
1218
- }
1219
- case clusters_1.ClusterId.END_DEVICE_ANNOUNCE: {
1220
- return buffalo.readEndDeviceAnnounce();
1221
- }
1222
- case clusters_1.ClusterId.SYSTEM_SERVER_DISCOVERY_RESPONSE: {
1223
- return buffalo.readSystemServerDiscoveryResponse();
1224
- }
1225
- case clusters_1.ClusterId.PARENT_ANNOUNCE_RESPONSE: {
1226
- return buffalo.readParentAnnounceResponse();
1227
- }
1228
- case clusters_1.ClusterId.BIND_RESPONSE: {
1229
- return buffalo.readBindResponse();
1230
- }
1231
- case clusters_1.ClusterId.UNBIND_RESPONSE: {
1232
- return buffalo.readUnbindResponse();
1233
- }
1234
- case clusters_1.ClusterId.CLEAR_ALL_BINDINGS_RESPONSE: {
1235
- return buffalo.readClearAllBindingsResponse();
1236
- }
1237
- case clusters_1.ClusterId.LQI_TABLE_RESPONSE: {
1238
- return buffalo.readLQITableResponse();
1239
- }
1240
- case clusters_1.ClusterId.ROUTING_TABLE_RESPONSE: {
1241
- return buffalo.readRoutingTableResponse();
1242
- }
1243
- case clusters_1.ClusterId.BINDING_TABLE_RESPONSE: {
1244
- return buffalo.readBindingTableResponse();
1245
- }
1246
- case clusters_1.ClusterId.LEAVE_RESPONSE: {
1247
- return buffalo.readLeaveResponse();
1248
- }
1249
- case clusters_1.ClusterId.PERMIT_JOINING_RESPONSE: {
1250
- return buffalo.readPermitJoiningResponse();
1251
- }
1252
- case clusters_1.ClusterId.NWK_UPDATE_RESPONSE: {
1253
- return buffalo.readNwkUpdateResponse();
1254
- }
1255
- case clusters_1.ClusterId.NWK_ENHANCED_UPDATE_RESPONSE: {
1256
- return buffalo.readNwkEnhancedUpdateResponse();
1257
- }
1258
- case clusters_1.ClusterId.NWK_IEEE_JOINING_LIST_RESPONSE: {
1259
- return buffalo.readNwkIEEEJoiningListResponse();
1260
- }
1261
- case clusters_1.ClusterId.NWK_UNSOLICITED_ENHANCED_UPDATE_RESPONSE: {
1262
- return buffalo.readNwkUnsolicitedEnhancedUpdateResponse();
1263
- }
1264
- case clusters_1.ClusterId.NWK_BEACON_SURVEY_RESPONSE: {
1265
- return buffalo.readNwkBeaconSurveyResponse();
1266
- }
1267
- case clusters_1.ClusterId.START_KEY_NEGOTIATION_RESPONSE: {
1268
- return buffalo.readStartKeyNegotiationResponse();
1269
- }
1270
- case clusters_1.ClusterId.RETRIEVE_AUTHENTICATION_TOKEN_RESPONSE: {
1271
- return buffalo.readRetrieveAuthenticationTokenResponse();
1272
- }
1273
- case clusters_1.ClusterId.GET_AUTHENTICATION_LEVEL_RESPONSE: {
1274
- return buffalo.readGetAuthenticationLevelResponse();
1275
- }
1276
- case clusters_1.ClusterId.SET_CONFIGURATION_RESPONSE: {
1277
- return buffalo.readSetConfigurationResponse();
1278
- }
1279
- case clusters_1.ClusterId.GET_CONFIGURATION_RESPONSE: {
1280
- return buffalo.readGetConfigurationResponse();
1281
- }
1282
- case clusters_1.ClusterId.START_KEY_UPDATE_RESPONSE: {
1283
- return buffalo.readStartKeyUpdateResponse();
1284
- }
1285
- case clusters_1.ClusterId.DECOMMISSION_RESPONSE: {
1286
- return buffalo.readDecommissionResponse();
1287
- }
1288
- case clusters_1.ClusterId.CHALLENGE_RESPONSE: {
1289
- return buffalo.readChallengeResponse();
1290
- }
1291
- default: {
1292
- throw new Error(`Unsupported response reading for cluster ID '${clusterId}'.`);
1293
- }
1294
- }
1295
- }
1296
- /**
1297
- * @see ClusterId.NETWORK_ADDRESS_RESPONSE
1298
- */
1299
- readNetworkAddressResponse() {
1300
- // INV_REQUESTTYPE or DEVICE_NOT_FOUND
1301
- const status = this.readUInt8();
1302
- let result;
1303
- if (status == status_1.Status.SUCCESS) {
1304
- const eui64 = this.readIeeeAddr();
1305
- const nwkAddress = this.readUInt16();
1306
- let assocDevCount = 0;
1307
- let startIndex = 0;
1308
- let assocDevList = [];
1309
- if (this.isMore()) {
1310
- assocDevCount = this.readUInt8();
1311
- startIndex = this.readUInt8();
1312
- assocDevList = this.readListUInt16(assocDevCount);
1313
- }
1314
- result = {
1315
- eui64,
1316
- nwkAddress,
1317
- startIndex,
1318
- assocDevList,
1319
- };
1320
- }
1321
- return [status, result];
1322
- }
1323
- /**
1324
- * @see ClusterId.IEEE_ADDRESS_RESPONSE
1325
- */
1326
- readIEEEAddressResponse() {
1327
- // INV_REQUESTTYPE or DEVICE_NOT_FOUND
1328
- const status = this.readUInt8();
1329
- let result;
1330
- if (status === status_1.Status.SUCCESS) {
1331
- const eui64 = this.readIeeeAddr();
1332
- const nwkAddress = this.readUInt16();
1333
- let assocDevCount = 0;
1334
- let startIndex = 0;
1335
- let assocDevList = [];
1336
- if (this.isMore()) {
1337
- assocDevCount = this.readUInt8();
1338
- startIndex = this.readUInt8();
1339
- assocDevList = this.readListUInt16(assocDevCount);
1340
- }
1341
- result = {
1342
- eui64,
1343
- nwkAddress,
1344
- startIndex,
1345
- assocDevList,
1346
- };
1347
- }
1348
- return [status, result];
1349
- }
1350
- /**
1351
- * @see ClusterId.NODE_DESCRIPTOR_RESPONSE
1352
- */
1353
- readNodeDescriptorResponse() {
1354
- // DEVICE_NOT_FOUND, INV_REQUESTTYPE, or NO_DESCRIPTOR
1355
- const status = this.readUInt8();
1356
- let result;
1357
- if (status === status_1.Status.SUCCESS) {
1358
- const nwkAddress = this.readUInt16();
1359
- // in bits: [logical type: 3] [deprecated: 1] [deprecated: 1] [fragmentation supported (R23): 1] [reserved/unused: 2]
1360
- const nodeDescByte1 = this.readUInt8();
1361
- // in bits: [aps flags: 3] [frequency band: 5]
1362
- const nodeDescByte2 = this.readUInt8();
1363
- const macCapFlags = Utils.getMacCapFlags(this.readUInt8());
1364
- const manufacturerCode = this.readUInt16();
1365
- const maxBufSize = this.readUInt8();
1366
- const maxIncTxSize = this.readUInt16();
1367
- const serverMask = Utils.getServerMask(this.readUInt16());
1368
- const maxOutTxSize = this.readUInt16();
1369
- const deprecated1 = this.readUInt8();
1370
- // Global: FragmentationParametersGlobalTLV
1371
- const tlvs = this.readTLVs();
1372
- result = {
1373
- nwkAddress,
1374
- logicalType: nodeDescByte1 & 0x07,
1375
- fragmentationSupported: serverMask.stackComplianceRevision >= 23 ? (nodeDescByte1 & 0x20) >> 5 === 1 : undefined,
1376
- apsFlags: nodeDescByte2 & 0x07,
1377
- frequencyBand: (nodeDescByte2 & 0xf8) >> 3,
1378
- capabilities: macCapFlags,
1379
- manufacturerCode,
1380
- maxBufSize,
1381
- maxIncTxSize,
1382
- serverMask,
1383
- maxOutTxSize,
1384
- deprecated1,
1385
- tlvs,
1386
- };
1387
- }
1388
- return [status, result];
1389
- }
1390
- /**
1391
- * @see ClusterId.POWER_DESCRIPTOR_RESPONSE
1392
- */
1393
- readPowerDescriptorResponse() {
1394
- // DEVICE_NOT_FOUND, INV_REQUESTTYPE, or NO_DESCRIPTOR
1395
- const status = this.readUInt8();
1396
- let result;
1397
- if (status === status_1.Status.SUCCESS) {
1398
- const nwkAddress = this.readUInt16();
1399
- const byte1 = this.readUInt8();
1400
- const byte2 = this.readUInt8();
1401
- result = {
1402
- nwkAddress,
1403
- currentPowerMode: byte1 & 0xf,
1404
- availPowerSources: (byte1 >> 4) & 0xf,
1405
- currentPowerSource: byte2 & 0xf,
1406
- currentPowerSourceLevel: (byte2 >> 4) & 0xf,
1407
- };
1408
- }
1409
- return [status, result];
1410
- }
1411
- /**
1412
- * @see ClusterId.SIMPLE_DESCRIPTOR_RESPONSE
1413
- */
1414
- readSimpleDescriptorResponse() {
1415
- // INVALID_EP, NOT_ACTIVE, DEVICE_NOT_FOUND, INV_REQUESTTYPE or NO_DESCRIPTOR
1416
- const status = this.readUInt8();
1417
- let result;
1418
- if (status === status_1.Status.SUCCESS) {
1419
- const nwkAddress = this.readUInt16();
1420
- // Length in bytes of the Simple Descriptor to follow. [0x00-0xff]
1421
- const length = this.readUInt8();
1422
- const endpoint = this.readUInt8();
1423
- const profileId = this.readUInt16();
1424
- const deviceId = this.readUInt16();
1425
- const deviceVersion = this.readUInt8();
1426
- const inClusterCount = this.readUInt8();
1427
- const inClusterList = this.readListUInt16(inClusterCount); // empty if inClusterCount==0
1428
- const outClusterCount = this.readUInt8();
1429
- const outClusterList = this.readListUInt16(outClusterCount); // empty if outClusterCount==0
1430
- result = {
1431
- nwkAddress,
1432
- length,
1433
- endpoint,
1434
- profileId,
1435
- deviceId,
1436
- deviceVersion,
1437
- inClusterList,
1438
- outClusterList,
1439
- };
1440
- }
1441
- return [status, result];
1442
- }
1443
- /**
1444
- * @see ClusterId.ACTIVE_ENDPOINTS_RESPONSE
1445
- */
1446
- readActiveEndpointsResponse() {
1447
- // DEVICE_NOT_FOUND, INV_REQUESTTYPE, or NO_DESCRIPTOR
1448
- const status = this.readUInt8();
1449
- let result;
1450
- if (status === status_1.Status.SUCCESS) {
1451
- const nwkAddress = this.readUInt16();
1452
- const endpointCount = this.readUInt8();
1453
- const endpointList = this.readListUInt8(endpointCount);
1454
- result = {
1455
- nwkAddress,
1456
- endpointList,
1457
- };
1458
- }
1459
- return [status, result];
1460
- }
1461
- /**
1462
- * @see ClusterId.MATCH_DESCRIPTORS_RESPONSE
1463
- */
1464
- readMatchDescriptorsResponse() {
1465
- // DEVICE_NOT_FOUND, INV_REQUESTTYPE, or NO_DESCRIPTOR
1466
- const status = this.readUInt8();
1467
- let result;
1468
- if (status === status_1.Status.SUCCESS) {
1469
- const nwkAddress = this.readUInt16();
1470
- const endpointCount = this.readUInt8();
1471
- const endpointList = this.readListUInt8(endpointCount);
1472
- result = {
1473
- nwkAddress,
1474
- endpointList,
1475
- };
1476
- }
1477
- return [status, result];
1478
- }
1479
- /**
1480
- * @see ClusterId.END_DEVICE_ANNOUNCE
1481
- */
1482
- readEndDeviceAnnounce() {
1483
- const nwkAddress = this.readUInt16();
1484
- const eui64 = this.readIeeeAddr();
1485
- /** @see MACCapabilityFlags */
1486
- const capabilities = this.readUInt8();
1487
- return [status_1.Status.SUCCESS, { nwkAddress, eui64, capabilities: Utils.getMacCapFlags(capabilities) }];
1488
- }
1489
- /**
1490
- * @see ClusterId.SYSTEM_SERVER_DISCOVERY_RESPONSE
1491
- */
1492
- readSystemServerDiscoveryResponse() {
1493
- // never expected !== SUCCESS
1494
- const status = this.readUInt8();
1495
- let result;
1496
- if (status === status_1.Status.SUCCESS) {
1497
- const serverMask = Utils.getServerMask(this.readUInt16());
1498
- result = {
1499
- serverMask,
1500
- };
1501
- }
1502
- return [status, result];
1503
- }
1504
- /**
1505
- * @see ClusterId.PARENT_ANNOUNCE_RESPONSE
1506
- */
1507
- readParentAnnounceResponse() {
1508
- // NOT_SUPPORTED
1509
- const status = this.readUInt8();
1510
- let result;
1511
- if (status === status_1.Status.SUCCESS) {
1512
- const numberOfChildren = this.readUInt8();
1513
- const children = [];
1514
- for (let i = 0; i < numberOfChildren; i++) {
1515
- const childEui64 = this.readIeeeAddr();
1516
- children.push(childEui64);
1517
- }
1518
- result = { children };
1519
- }
1520
- return [status, result];
1521
- }
1522
- /**
1523
- * @see ClusterId.BIND_RESPONSE
1524
- * @returns No response payload, throws if not success
1525
- */
1526
- readBindResponse() {
1527
- // NOT_SUPPORTED, INVALID_EP, TABLE_FULL, or NOT_AUTHORIZED
1528
- const status = this.readUInt8();
1529
- return [status, undefined];
1530
- }
1531
- /**
1532
- * @see ClusterId.UNBIND_RESPONSE
1533
- * @returns No response payload, throws if not success
1534
- */
1535
- readUnbindResponse() {
1536
- // NOT_SUPPORTED, INVALID_EP, NO_ENTRY or NOT_AUTHORIZED
1537
- const status = this.readUInt8();
1538
- return [status, undefined];
1539
- }
1540
- /**
1541
- * @see ClusterId.CLEAR_ALL_BINDINGS_RESPONSE
1542
- * @returns No response payload, throws if not success
1543
- */
1544
- readClearAllBindingsResponse() {
1545
- // NOT_SUPPORTED, NOT_AUTHORIZED, INV_REQUESTTYPE, or NO_MATCH.
1546
- const status = this.readUInt8();
1547
- return [status, undefined];
1548
- }
1549
- /**
1550
- * @see ClusterId.LQI_TABLE_RESPONSE
1551
- */
1552
- readLQITableResponse() {
1553
- // NOT_SUPPORTED or any status code returned from the NLME-GET.confirm primitive.
1554
- const status = this.readUInt8();
1555
- let result;
1556
- if (status === status_1.Status.SUCCESS) {
1557
- const neighborTableEntries = this.readUInt8();
1558
- const startIndex = this.readUInt8();
1559
- // [0x00-0x02]
1560
- const entryCount = this.readUInt8();
1561
- const entryList = [];
1562
- for (let i = 0; i < entryCount; i++) {
1563
- const extendedPanId = this.readListUInt8(consts_1.EXTENDED_PAN_ID_SIZE);
1564
- const eui64 = this.readIeeeAddr();
1565
- const nwkAddress = this.readUInt16();
1566
- const deviceTypeByte = this.readUInt8();
1567
- const permitJoiningByte = this.readUInt8();
1568
- const depth = this.readUInt8();
1569
- const lqi = this.readUInt8();
1570
- entryList.push({
1571
- extendedPanId,
1572
- eui64,
1573
- nwkAddress,
1574
- deviceType: deviceTypeByte & 0x03,
1575
- rxOnWhenIdle: (deviceTypeByte & 0x0c) >> 2,
1576
- relationship: (deviceTypeByte & 0x70) >> 4,
1577
- reserved1: (deviceTypeByte & 0x10) >> 7,
1578
- permitJoining: permitJoiningByte & 0x03,
1579
- reserved2: (permitJoiningByte & 0xfc) >> 2,
1580
- depth,
1581
- lqi,
1582
- });
1583
- }
1584
- result = {
1585
- neighborTableEntries,
1586
- startIndex,
1587
- entryList,
1588
- };
1589
- }
1590
- return [status, result];
1591
- }
1592
- /**
1593
- * @see ClusterId.ROUTING_TABLE_RESPONSE
1594
- */
1595
- readRoutingTableResponse() {
1596
- // NOT_SUPPORTED or any status code returned from the NLMEGET.confirm primitive.
1597
- const status = this.readUInt8();
1598
- let result;
1599
- if (status === status_1.Status.SUCCESS) {
1600
- const routingTableEntries = this.readUInt8();
1601
- const startIndex = this.readUInt8();
1602
- // [0x00-0xFF]
1603
- const entryCount = this.readUInt8();
1604
- const entryList = [];
1605
- for (let i = 0; i < entryCount; i++) {
1606
- const destinationAddress = this.readUInt16();
1607
- const statusByte = this.readUInt8();
1608
- const nextHopAddress = this.readUInt16();
1609
- entryList.push({
1610
- destinationAddress,
1611
- status: enums_1.RoutingTableStatus[statusByte & 0x07],
1612
- memoryConstrained: (statusByte & 0x08) >> 3,
1613
- manyToOne: (statusByte & 0x10) >> 4,
1614
- routeRecordRequired: (statusByte & 0x20) >> 5,
1615
- reserved1: (statusByte & 0xc0) >> 6,
1616
- nextHopAddress,
1617
- });
1618
- }
1619
- result = {
1620
- routingTableEntries,
1621
- startIndex,
1622
- entryList,
1623
- };
1624
- }
1625
- return [status, result];
1626
- }
1627
- /**
1628
- * @see ClusterId.BINDING_TABLE_RESPONSE
1629
- */
1630
- readBindingTableResponse() {
1631
- // NOT_SUPPORTED or any status code returned from the APSMEGET.confirm primitive.
1632
- const status = this.readUInt8();
1633
- let result;
1634
- if (status === status_1.Status.SUCCESS) {
1635
- const bindingTableEntries = this.readUInt8();
1636
- const startIndex = this.readUInt8();
1637
- // [0x00-0xFF]
1638
- const entryCount = this.readUInt8();
1639
- const entryList = [];
1640
- for (let i = 0; i < entryCount; i++) {
1641
- const sourceEui64 = this.readIeeeAddr();
1642
- const sourceEndpoint = this.readUInt8();
1643
- const clusterId = this.readUInt16();
1644
- const destAddrMode = this.readUInt8();
1645
- const dest = destAddrMode === 0x01 ? this.readUInt16() : destAddrMode === 0x03 ? this.readIeeeAddr() : undefined;
1646
- const destEndpoint = destAddrMode === 0x03 ? this.readUInt8() : undefined;
1647
- if (dest === undefined) {
1648
- // not supported (using reserved value)
1649
- continue;
1650
- }
1651
- entryList.push({
1652
- sourceEui64,
1653
- sourceEndpoint,
1654
- clusterId,
1655
- destAddrMode,
1656
- dest,
1657
- destEndpoint,
1658
- });
1659
- }
1660
- result = {
1661
- bindingTableEntries,
1662
- startIndex,
1663
- entryList,
1664
- };
1665
- }
1666
- return [status, result];
1667
- }
1668
- /**
1669
- * @see ClusterId.LEAVE_RESPONSE
1670
- * @returns No response payload, throws if not success
1671
- */
1672
- readLeaveResponse() {
1673
- // NOT_SUPPORTED, NOT_AUTHORIZED or any status code returned from the NLMELEAVE.confirm primitive.
1674
- const status = this.readUInt8();
1675
- return [status, undefined];
1676
- }
1677
- /**
1678
- * @see ClusterId.PERMIT_JOINING_RESPONSE
1679
- * @returns No response payload, throws if not success
1680
- */
1681
- readPermitJoiningResponse() {
1682
- // INV_REQUESTTYPE, NOT_AUTHORIZED, or any status code returned from the NLME-PERMIT-JOINING.confirm primitive.
1683
- const status = this.readUInt8();
1684
- return [status, undefined];
1685
- }
1686
- /**
1687
- * @see ClusterId.NWK_UPDATE_RESPONSE
1688
- */
1689
- readNwkUpdateResponse() {
1690
- // INV_REQUESTTYPE, NOT_SUPPORTED, or any status values returned from the MLME-SCAN.confirm primitive
1691
- const status = this.readUInt8();
1692
- let result;
1693
- if (status === status_1.Status.SUCCESS) {
1694
- const scannedChannels = this.readUInt32();
1695
- const totalTransmissions = this.readUInt16();
1696
- const totalFailures = this.readUInt16();
1697
- // [0x00-0xFF]
1698
- const entryCount = this.readUInt8();
1699
- const entryList = this.readListUInt8(entryCount);
1700
- result = {
1701
- scannedChannels,
1702
- totalTransmissions,
1703
- totalFailures,
1704
- entryList,
1705
- };
1706
- }
1707
- return [status, result];
1708
- }
1709
- /**
1710
- * @see ClusterId.NWK_ENHANCED_UPDATE_RESPONSE
1711
- */
1712
- readNwkEnhancedUpdateResponse() {
1713
- // INV_REQUESTTYPE, NOT_SUPPORTED, or any status values returned from the MLME-SCAN.confirm primitive.
1714
- const status = this.readUInt8();
1715
- let result;
1716
- if (status === status_1.Status.SUCCESS) {
1717
- const scannedChannels = this.readUInt32();
1718
- const totalTransmissions = this.readUInt16();
1719
- const totalFailures = this.readUInt16();
1720
- // [0x00-0xFF]
1721
- const entryCount = this.readUInt8();
1722
- const entryList = this.readListUInt8(entryCount);
1723
- result = {
1724
- scannedChannels,
1725
- totalTransmissions,
1726
- totalFailures,
1727
- entryList,
1728
- };
1729
- }
1730
- return [status, result];
1731
- }
1732
- /**
1733
- * @see ClusterId.NWK_IEEE_JOINING_LIST_REPONSE
1734
- */
1735
- readNwkIEEEJoiningListResponse() {
1736
- // INV_REQUESTTYPE, or NOT_SUPPORTED
1737
- const status = this.readUInt8();
1738
- let result;
1739
- if (status === status_1.Status.SUCCESS) {
1740
- const updateId = this.readUInt8();
1741
- const joiningPolicy = this.readUInt8();
1742
- // [0x00-0xFF]
1743
- const entryListTotal = this.readUInt8();
1744
- let startIndex;
1745
- let entryList;
1746
- if (entryListTotal > 0) {
1747
- startIndex = this.readUInt8();
1748
- const entryCount = this.readUInt8();
1749
- entryList = [];
1750
- for (let i = 0; i < entryCount; i++) {
1751
- const ieee = this.readIeeeAddr();
1752
- entryList.push(ieee);
1753
- }
1754
- }
1755
- result = {
1756
- updateId,
1757
- joiningPolicy,
1758
- entryListTotal,
1759
- startIndex,
1760
- entryList,
1761
- };
1762
- }
1763
- return [status, result];
1764
- }
1765
- /**
1766
- * @see ClusterId.NWK_UNSOLICITED_ENHANCED_UPDATE_RESPONSE
1767
- */
1768
- readNwkUnsolicitedEnhancedUpdateResponse() {
1769
- // ??
1770
- const status = this.readUInt8();
1771
- let result;
1772
- if (status === status_1.Status.SUCCESS) {
1773
- const channelInUse = this.readUInt32();
1774
- const macTxUCastTotal = this.readUInt16();
1775
- const macTxUCastFailures = this.readUInt16();
1776
- const macTxUCastRetries = this.readUInt16();
1777
- const timePeriod = this.readUInt8();
1778
- result = {
1779
- channelInUse,
1780
- macTxUCastTotal,
1781
- macTxUCastFailures,
1782
- macTxUCastRetries,
1783
- timePeriod,
1784
- };
1785
- }
1786
- return [status, result];
1787
- }
1788
- /**
1789
- * @see ClusterId.NWK_BEACON_SURVEY_RESPONSE
1790
- */
1791
- readNwkBeaconSurveyResponse() {
1792
- // INV_REQUESTTYPE, or NOT_SUPPORTED
1793
- const status = this.readUInt8();
1794
- let result;
1795
- if (status === status_1.Status.SUCCESS) {
1796
- const localTLVs = new Map([
1797
- // Local: ID: 0x01: BeaconSurveyResultsTLV
1798
- [0x01, this.readBeaconSurveyResultsTLV],
1799
- // Local: ID: 0x02: PotentialParentsTLV
1800
- [0x02, this.readPotentialParentsTLV],
1801
- ]);
1802
- const tlvs = this.readTLVs(localTLVs);
1803
- result = {
1804
- tlvs,
1805
- };
1806
- }
1807
- return [status, result];
1808
- }
1809
- /**
1810
- * @see ClusterId.START_KEY_NEGOTIATION_RESPONSE
1811
- */
1812
- readStartKeyNegotiationResponse() {
1813
- // INVALID_TLV, MISSING_TLV, TEMPORARY_FAILURE, NOT_AUTHORIZED
1814
- const status = this.readUInt8();
1815
- let result;
1816
- if (status === status_1.Status.SUCCESS) {
1817
- const localTLVs = new Map([
1818
- // Local: ID: 0x00: Curve25519PublicPointTLV
1819
- [0x00, this.readCurve25519PublicPointTLV],
1820
- ]);
1821
- const tlvs = this.readTLVs(localTLVs);
1822
- result = {
1823
- tlvs,
1824
- };
1825
- }
1826
- return [status, result];
1827
- }
1828
- /**
1829
- * @see ClusterId.RETRIEVE_AUTHENTICATION_TOKEN_RESPONSE
1830
- */
1831
- readRetrieveAuthenticationTokenResponse() {
1832
- const status = this.readUInt8();
1833
- let result;
1834
- if (status === status_1.Status.SUCCESS) {
1835
- // no local TLV
1836
- const tlvs = this.readTLVs();
1837
- result = {
1838
- tlvs,
1839
- };
1840
- }
1841
- return [status, result];
1842
- }
1843
- /**
1844
- * @see ClusterId.GET_AUTHENTICATION_LEVEL_RESPONSE
1845
- */
1846
- readGetAuthenticationLevelResponse() {
1847
- // NOT_SUPPORTED, INV_REQUESTTYPE, MISSING_TLV, and NOT_AUTHORIZED
1848
- const status = this.readUInt8();
1849
- let result;
1850
- if (status === status_1.Status.SUCCESS) {
1851
- const localTLVs = new Map([
1852
- // Local: ID: 0x00: DeviceAuthenticationLevelTLV
1853
- [0x00, this.readDeviceAuthenticationLevelTLV],
1854
- ]);
1855
- const tlvs = this.readTLVs(localTLVs);
1856
- result = {
1857
- tlvs,
1858
- };
1859
- }
1860
- return [status, result];
1861
- }
1862
- /**
1863
- * @see ClusterId.SET_CONFIGURATION_RESPONSE
1864
- */
1865
- readSetConfigurationResponse() {
1866
- // INV_REQUESTTYPE, or NOT_SUPPORTED
1867
- const status = this.readUInt8();
1868
- let result;
1869
- if (status === status_1.Status.SUCCESS) {
1870
- const localTLVs = new Map([
1871
- // Local: ID: 0x00: ProcessingStatusTLV
1872
- [0x00, this.readProcessingStatusTLV],
1873
- ]);
1874
- const tlvs = this.readTLVs(localTLVs);
1875
- result = {
1876
- tlvs,
1877
- };
1878
- }
1879
- return [status, result];
1880
- }
1881
- /**
1882
- * @see ClusterId.GET_CONFIGURATION_RESPONSE
1883
- */
1884
- readGetConfigurationResponse() {
1885
- // INV_REQUESTTYPE, or NOT_SUPPORTED
1886
- const status = this.readUInt8();
1887
- let result;
1888
- if (status === status_1.Status.SUCCESS) {
1889
- // Global: IDs: x, y, z
1890
- const tlvs = this.readTLVs();
1891
- result = {
1892
- tlvs,
1893
- };
1894
- }
1895
- return [status, result];
1896
- }
1897
- /**
1898
- * @see ClusterId.START_KEY_UPDATE_RESPONSE
1899
- * @returns No response payload, throws if not success
1900
- */
1901
- readStartKeyUpdateResponse() {
1902
- // INV_REQUESTTYPE, NOT_AUTHORIZED or NOT_SUPPORTED
1903
- const status = this.readUInt8();
1904
- return [status, undefined];
1905
- }
1906
- /**
1907
- * @see ClusterId.DECOMMISSION_RESPONSE
1908
- * @returns No response payload, throws if not success
1909
- */
1910
- readDecommissionResponse() {
1911
- // INV_REQUESTTYPE, NOT_AUTHORIZED or NOT_SUPPORTED
1912
- const status = this.readUInt8();
1913
- return [status, undefined];
1914
- }
1915
- /**
1916
- * @see ClusterId.CHALLENGE_RESPONSE
1917
- */
1918
- readChallengeResponse() {
1919
- const status = this.readUInt8();
1920
- let result;
1921
- if (status === status_1.Status.SUCCESS) {
1922
- const localTLVs = new Map([
1923
- // Local: ID: 0x00: APSFrameCounterResponseTLV
1924
- [0x00, this.readAPSFrameCounterResponseTLV],
1925
- ]);
1926
- const tlvs = this.readTLVs(localTLVs);
1927
- result = {
1928
- tlvs,
1929
- };
1930
- }
1931
- return [status, result];
1932
- }
1933
- }
1934
- exports.BuffaloZdo = BuffaloZdo;
1935
- //# sourceMappingURL=buffaloZdo.js.map