@willieee802/zigbee-herdsman 0.49.0 → 0.49.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (807) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +38 -0
  3. package/biome.json +1 -1
  4. package/dist/adapter/adapter.d.ts +66 -0
  5. package/dist/adapter/adapter.d.ts.map +1 -0
  6. package/dist/adapter/adapter.js +110 -0
  7. package/dist/adapter/adapter.js.map +1 -0
  8. package/dist/adapter/adapterDiscovery.d.ts +34 -0
  9. package/dist/adapter/adapterDiscovery.d.ts.map +1 -0
  10. package/dist/adapter/adapterDiscovery.js +646 -0
  11. package/dist/adapter/adapterDiscovery.js.map +1 -0
  12. package/dist/adapter/const.d.ts +9 -0
  13. package/dist/adapter/const.d.ts.map +1 -0
  14. package/dist/adapter/const.js +48 -0
  15. package/dist/adapter/const.js.map +1 -0
  16. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +61 -0
  17. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -0
  18. package/dist/adapter/deconz/adapter/deconzAdapter.js +719 -0
  19. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -0
  20. package/dist/adapter/deconz/driver/constants.d.ts +210 -0
  21. package/dist/adapter/deconz/driver/constants.d.ts.map +1 -0
  22. package/dist/adapter/deconz/driver/constants.js +139 -0
  23. package/dist/adapter/deconz/driver/constants.js.map +1 -0
  24. package/dist/adapter/deconz/driver/driver.d.ts +111 -0
  25. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -0
  26. package/dist/adapter/deconz/driver/driver.js +1362 -0
  27. package/dist/adapter/deconz/driver/driver.js.map +1 -0
  28. package/dist/adapter/deconz/driver/frame.d.ts +6 -0
  29. package/dist/adapter/deconz/driver/frame.d.ts.map +1 -0
  30. package/dist/adapter/deconz/driver/frame.js +13 -0
  31. package/dist/adapter/deconz/driver/frame.js.map +1 -0
  32. package/dist/adapter/deconz/driver/frameParser.d.ts +5 -0
  33. package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -0
  34. package/dist/adapter/deconz/driver/frameParser.js +700 -0
  35. package/dist/adapter/deconz/driver/frameParser.js.map +1 -0
  36. package/dist/adapter/deconz/driver/parser.d.ts +10 -0
  37. package/dist/adapter/deconz/driver/parser.d.ts.map +1 -0
  38. package/dist/adapter/deconz/driver/parser.js +39 -0
  39. package/dist/adapter/deconz/driver/parser.js.map +1 -0
  40. package/dist/adapter/deconz/driver/writer.d.ts +8 -0
  41. package/dist/adapter/deconz/driver/writer.d.ts.map +1 -0
  42. package/dist/adapter/deconz/driver/writer.js +53 -0
  43. package/dist/adapter/deconz/driver/writer.js.map +1 -0
  44. package/dist/adapter/ember/adapter/emberAdapter.d.ts +338 -0
  45. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -0
  46. package/dist/adapter/ember/adapter/emberAdapter.js +1663 -0
  47. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -0
  48. package/dist/adapter/ember/adapter/endpoints.d.ts +27 -0
  49. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -0
  50. package/dist/adapter/ember/adapter/endpoints.js +69 -0
  51. package/dist/adapter/ember/adapter/endpoints.js.map +1 -0
  52. package/dist/adapter/ember/adapter/oneWaitress.d.ts +112 -0
  53. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -0
  54. package/dist/adapter/ember/adapter/oneWaitress.js +233 -0
  55. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -0
  56. package/dist/adapter/ember/adapter/tokensManager.d.ts +69 -0
  57. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -0
  58. package/dist/adapter/ember/adapter/tokensManager.js +684 -0
  59. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -0
  60. package/dist/adapter/ember/consts.d.ts +107 -0
  61. package/dist/adapter/ember/consts.d.ts.map +1 -0
  62. package/dist/adapter/ember/consts.js +155 -0
  63. package/dist/adapter/ember/consts.js.map +1 -0
  64. package/dist/adapter/ember/enums.d.ts +1568 -0
  65. package/dist/adapter/ember/enums.d.ts.map +1 -0
  66. package/dist/adapter/ember/enums.js +1697 -0
  67. package/dist/adapter/ember/enums.js.map +1 -0
  68. package/dist/adapter/ember/ezsp/buffalo.d.ts +166 -0
  69. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -0
  70. package/dist/adapter/ember/ezsp/buffalo.js +1133 -0
  71. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -0
  72. package/dist/adapter/ember/ezsp/consts.d.ts +117 -0
  73. package/dist/adapter/ember/ezsp/consts.d.ts.map +1 -0
  74. package/dist/adapter/ember/ezsp/consts.js +129 -0
  75. package/dist/adapter/ember/ezsp/consts.js.map +1 -0
  76. package/dist/adapter/ember/ezsp/enums.d.ts +1016 -0
  77. package/dist/adapter/ember/ezsp/enums.d.ts.map +1 -0
  78. package/dist/adapter/ember/ezsp/enums.js +1103 -0
  79. package/dist/adapter/ember/ezsp/enums.js.map +1 -0
  80. package/dist/adapter/ember/ezsp/ezsp.d.ts +2951 -0
  81. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -0
  82. package/dist/adapter/ember/ezsp/ezsp.js +7119 -0
  83. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -0
  84. package/dist/adapter/ember/ezspError.d.ts +6 -0
  85. package/dist/adapter/ember/ezspError.d.ts.map +1 -0
  86. package/dist/adapter/ember/ezspError.js +13 -0
  87. package/dist/adapter/ember/ezspError.js.map +1 -0
  88. package/dist/adapter/ember/types.d.ts +787 -0
  89. package/dist/adapter/ember/types.d.ts.map +1 -0
  90. package/dist/adapter/ember/types.js +3 -0
  91. package/dist/adapter/ember/types.js.map +1 -0
  92. package/dist/adapter/ember/uart/ash.d.ts +434 -0
  93. package/dist/adapter/ember/uart/ash.d.ts.map +1 -0
  94. package/dist/adapter/ember/uart/ash.js +1561 -0
  95. package/dist/adapter/ember/uart/ash.js.map +1 -0
  96. package/dist/adapter/ember/uart/consts.d.ts +91 -0
  97. package/dist/adapter/ember/uart/consts.d.ts.map +1 -0
  98. package/dist/adapter/ember/uart/consts.js +100 -0
  99. package/dist/adapter/ember/uart/consts.js.map +1 -0
  100. package/dist/adapter/ember/uart/enums.d.ts +191 -0
  101. package/dist/adapter/ember/uart/enums.d.ts.map +1 -0
  102. package/dist/adapter/ember/uart/enums.js +156 -0
  103. package/dist/adapter/ember/uart/enums.js.map +1 -0
  104. package/dist/adapter/ember/uart/parser.d.ts +7 -0
  105. package/dist/adapter/ember/uart/parser.d.ts.map +1 -0
  106. package/dist/adapter/ember/uart/parser.js +32 -0
  107. package/dist/adapter/ember/uart/parser.js.map +1 -0
  108. package/dist/adapter/ember/uart/queues.d.ts +84 -0
  109. package/dist/adapter/ember/uart/queues.d.ts.map +1 -0
  110. package/dist/adapter/ember/uart/queues.js +213 -0
  111. package/dist/adapter/ember/uart/queues.js.map +1 -0
  112. package/dist/adapter/ember/uart/writer.d.ts +13 -0
  113. package/dist/adapter/ember/uart/writer.d.ts.map +1 -0
  114. package/dist/adapter/ember/uart/writer.js +42 -0
  115. package/dist/adapter/ember/uart/writer.js.map +1 -0
  116. package/dist/adapter/ember/utils/initters.d.ts +20 -0
  117. package/dist/adapter/ember/utils/initters.d.ts.map +1 -0
  118. package/dist/adapter/ember/utils/initters.js +92 -0
  119. package/dist/adapter/ember/utils/initters.js.map +1 -0
  120. package/dist/adapter/ember/utils/math.d.ts +41 -0
  121. package/dist/adapter/ember/utils/math.d.ts.map +1 -0
  122. package/dist/adapter/ember/utils/math.js +80 -0
  123. package/dist/adapter/ember/utils/math.js.map +1 -0
  124. package/dist/adapter/events.d.ts +24 -0
  125. package/dist/adapter/events.d.ts.map +1 -0
  126. package/dist/adapter/events.js +3 -0
  127. package/dist/adapter/events.js.map +1 -0
  128. package/dist/adapter/ezsp/adapter/backup.d.ts +13 -0
  129. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -0
  130. package/dist/adapter/ezsp/adapter/backup.js +89 -0
  131. package/dist/adapter/ezsp/adapter/backup.js.map +1 -0
  132. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +53 -0
  133. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -0
  134. package/dist/adapter/ezsp/adapter/ezspAdapter.js +464 -0
  135. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -0
  136. package/dist/adapter/ezsp/driver/commands.d.ts +37 -0
  137. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -0
  138. package/dist/adapter/ezsp/driver/commands.js +2387 -0
  139. package/dist/adapter/ezsp/driver/commands.js.map +1 -0
  140. package/dist/adapter/ezsp/driver/consts.d.ts +11 -0
  141. package/dist/adapter/ezsp/driver/consts.d.ts.map +1 -0
  142. package/dist/adapter/ezsp/driver/consts.js +14 -0
  143. package/dist/adapter/ezsp/driver/consts.js.map +1 -0
  144. package/dist/adapter/ezsp/driver/driver.d.ts +96 -0
  145. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -0
  146. package/dist/adapter/ezsp/driver/driver.js +852 -0
  147. package/dist/adapter/ezsp/driver/driver.js.map +1 -0
  148. package/dist/adapter/ezsp/driver/ezsp.d.ts +104 -0
  149. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -0
  150. package/dist/adapter/ezsp/driver/ezsp.js +678 -0
  151. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -0
  152. package/dist/adapter/ezsp/driver/frame.d.ts +39 -0
  153. package/dist/adapter/ezsp/driver/frame.d.ts.map +1 -0
  154. package/dist/adapter/ezsp/driver/frame.js +101 -0
  155. package/dist/adapter/ezsp/driver/frame.js.map +1 -0
  156. package/dist/adapter/ezsp/driver/index.d.ts +4 -0
  157. package/dist/adapter/ezsp/driver/index.d.ts.map +1 -0
  158. package/dist/adapter/ezsp/driver/index.js +8 -0
  159. package/dist/adapter/ezsp/driver/index.js.map +1 -0
  160. package/dist/adapter/ezsp/driver/multicast.d.ts +16 -0
  161. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -0
  162. package/dist/adapter/ezsp/driver/multicast.js +74 -0
  163. package/dist/adapter/ezsp/driver/multicast.js.map +1 -0
  164. package/dist/adapter/ezsp/driver/parser.d.ts +9 -0
  165. package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -0
  166. package/dist/adapter/ezsp/driver/parser.js +109 -0
  167. package/dist/adapter/ezsp/driver/parser.js.map +1 -0
  168. package/dist/adapter/ezsp/driver/types/basic.d.ts +62 -0
  169. package/dist/adapter/ezsp/driver/types/basic.d.ts.map +1 -0
  170. package/dist/adapter/ezsp/driver/types/basic.js +187 -0
  171. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -0
  172. package/dist/adapter/ezsp/driver/types/index.d.ts +9 -0
  173. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -0
  174. package/dist/adapter/ezsp/driver/types/index.js +137 -0
  175. package/dist/adapter/ezsp/driver/types/index.js.map +1 -0
  176. package/dist/adapter/ezsp/driver/types/named.d.ts +1287 -0
  177. package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -0
  178. package/dist/adapter/ezsp/driver/types/named.js +2337 -0
  179. package/dist/adapter/ezsp/driver/types/named.js.map +1 -0
  180. package/dist/adapter/ezsp/driver/types/struct.d.ts +270 -0
  181. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -0
  182. package/dist/adapter/ezsp/driver/types/struct.js +869 -0
  183. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -0
  184. package/dist/adapter/ezsp/driver/uart.d.ts +46 -0
  185. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -0
  186. package/dist/adapter/ezsp/driver/uart.js +390 -0
  187. package/dist/adapter/ezsp/driver/uart.js.map +1 -0
  188. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +5 -0
  189. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +1 -0
  190. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +37 -0
  191. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -0
  192. package/dist/adapter/ezsp/driver/utils/index.d.ts +5 -0
  193. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -0
  194. package/dist/adapter/ezsp/driver/utils/index.js +35 -0
  195. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -0
  196. package/dist/adapter/ezsp/driver/writer.d.ts +12 -0
  197. package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -0
  198. package/dist/adapter/ezsp/driver/writer.js +92 -0
  199. package/dist/adapter/ezsp/driver/writer.js.map +1 -0
  200. package/dist/adapter/index.d.ts +4 -0
  201. package/dist/adapter/index.d.ts.map +1 -0
  202. package/dist/adapter/index.js +41 -0
  203. package/dist/adapter/index.js.map +1 -0
  204. package/dist/adapter/serialPort.d.ts +19 -0
  205. package/dist/adapter/serialPort.d.ts.map +1 -0
  206. package/dist/adapter/serialPort.js +51 -0
  207. package/dist/adapter/serialPort.js.map +1 -0
  208. package/dist/adapter/tstype.d.ts +52 -0
  209. package/dist/adapter/tstype.d.ts.map +1 -0
  210. package/dist/adapter/tstype.js +3 -0
  211. package/dist/adapter/tstype.js.map +1 -0
  212. package/dist/adapter/utils.d.ts +8 -0
  213. package/dist/adapter/utils.d.ts.map +1 -0
  214. package/dist/adapter/utils.js +42 -0
  215. package/dist/adapter/utils.js.map +1 -0
  216. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +62 -0
  217. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -0
  218. package/dist/adapter/z-stack/adapter/adapter-backup.js +469 -0
  219. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -0
  220. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +150 -0
  221. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +1 -0
  222. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +279 -0
  223. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -0
  224. package/dist/adapter/z-stack/adapter/endpoints.d.ts +12 -0
  225. package/dist/adapter/z-stack/adapter/endpoints.d.ts.map +1 -0
  226. package/dist/adapter/z-stack/adapter/endpoints.js +87 -0
  227. package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -0
  228. package/dist/adapter/z-stack/adapter/manager.d.ts +86 -0
  229. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -0
  230. package/dist/adapter/z-stack/adapter/manager.js +493 -0
  231. package/dist/adapter/z-stack/adapter/manager.js.map +1 -0
  232. package/dist/adapter/z-stack/adapter/tstype.d.ts +7 -0
  233. package/dist/adapter/z-stack/adapter/tstype.d.ts.map +1 -0
  234. package/dist/adapter/z-stack/adapter/tstype.js +10 -0
  235. package/dist/adapter/z-stack/adapter/tstype.js.map +1 -0
  236. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +85 -0
  237. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -0
  238. package/dist/adapter/z-stack/adapter/zStackAdapter.js +924 -0
  239. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -0
  240. package/dist/adapter/z-stack/constants/af.d.ts +24 -0
  241. package/dist/adapter/z-stack/constants/af.d.ts.map +1 -0
  242. package/dist/adapter/z-stack/constants/af.js +28 -0
  243. package/dist/adapter/z-stack/constants/af.js.map +1 -0
  244. package/dist/adapter/z-stack/constants/common.d.ts +279 -0
  245. package/dist/adapter/z-stack/constants/common.d.ts.map +1 -0
  246. package/dist/adapter/z-stack/constants/common.js +290 -0
  247. package/dist/adapter/z-stack/constants/common.js.map +1 -0
  248. package/dist/adapter/z-stack/constants/dbg.d.ts +23 -0
  249. package/dist/adapter/z-stack/constants/dbg.d.ts.map +1 -0
  250. package/dist/adapter/z-stack/constants/dbg.js +25 -0
  251. package/dist/adapter/z-stack/constants/dbg.js.map +1 -0
  252. package/dist/adapter/z-stack/constants/index.d.ts +11 -0
  253. package/dist/adapter/z-stack/constants/index.d.ts.map +1 -0
  254. package/dist/adapter/z-stack/constants/index.js +58 -0
  255. package/dist/adapter/z-stack/constants/index.js.map +1 -0
  256. package/dist/adapter/z-stack/constants/mac.d.ts +128 -0
  257. package/dist/adapter/z-stack/constants/mac.d.ts.map +1 -0
  258. package/dist/adapter/z-stack/constants/mac.js +130 -0
  259. package/dist/adapter/z-stack/constants/mac.js.map +1 -0
  260. package/dist/adapter/z-stack/constants/sapi.d.ts +25 -0
  261. package/dist/adapter/z-stack/constants/sapi.d.ts.map +1 -0
  262. package/dist/adapter/z-stack/constants/sapi.js +27 -0
  263. package/dist/adapter/z-stack/constants/sapi.js.map +1 -0
  264. package/dist/adapter/z-stack/constants/sys.d.ts +72 -0
  265. package/dist/adapter/z-stack/constants/sys.d.ts.map +1 -0
  266. package/dist/adapter/z-stack/constants/sys.js +74 -0
  267. package/dist/adapter/z-stack/constants/sys.js.map +1 -0
  268. package/dist/adapter/z-stack/constants/util.d.ts +82 -0
  269. package/dist/adapter/z-stack/constants/util.d.ts.map +1 -0
  270. package/dist/adapter/z-stack/constants/util.js +84 -0
  271. package/dist/adapter/z-stack/constants/util.js.map +1 -0
  272. package/dist/adapter/z-stack/constants/utils.d.ts +5 -0
  273. package/dist/adapter/z-stack/constants/utils.d.ts.map +1 -0
  274. package/dist/adapter/z-stack/constants/utils.js +14 -0
  275. package/dist/adapter/z-stack/constants/utils.js.map +1 -0
  276. package/dist/adapter/z-stack/constants/zdo.d.ts +103 -0
  277. package/dist/adapter/z-stack/constants/zdo.d.ts.map +1 -0
  278. package/dist/adapter/z-stack/constants/zdo.js +105 -0
  279. package/dist/adapter/z-stack/constants/zdo.js.map +1 -0
  280. package/dist/adapter/z-stack/models/startup-options.d.ts +13 -0
  281. package/dist/adapter/z-stack/models/startup-options.d.ts.map +1 -0
  282. package/dist/adapter/z-stack/models/startup-options.js +3 -0
  283. package/dist/adapter/z-stack/models/startup-options.js.map +1 -0
  284. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +23 -0
  285. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +1 -0
  286. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +43 -0
  287. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -0
  288. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +10 -0
  289. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +1 -0
  290. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +24 -0
  291. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +1 -0
  292. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +10 -0
  293. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +1 -0
  294. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +16 -0
  295. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -0
  296. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +10 -0
  297. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +1 -0
  298. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +25 -0
  299. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +1 -0
  300. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +10 -0
  301. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts.map +1 -0
  302. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +23 -0
  303. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +1 -0
  304. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +10 -0
  305. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +1 -0
  306. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +25 -0
  307. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +1 -0
  308. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +8 -0
  309. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +1 -0
  310. package/dist/adapter/z-stack/structs/entries/channel-list.js +12 -0
  311. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -0
  312. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +8 -0
  313. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +1 -0
  314. package/dist/adapter/z-stack/structs/entries/has-configured.js +22 -0
  315. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -0
  316. package/dist/adapter/z-stack/structs/entries/index.d.ts +17 -0
  317. package/dist/adapter/z-stack/structs/entries/index.d.ts.map +1 -0
  318. package/dist/adapter/z-stack/structs/entries/index.js +33 -0
  319. package/dist/adapter/z-stack/structs/entries/index.js.map +1 -0
  320. package/dist/adapter/z-stack/structs/entries/nib.d.ts +10 -0
  321. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +1 -0
  322. package/dist/adapter/z-stack/structs/entries/nib.js +72 -0
  323. package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -0
  324. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +10 -0
  325. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +1 -0
  326. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +21 -0
  327. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -0
  328. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +8 -0
  329. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +1 -0
  330. package/dist/adapter/z-stack/structs/entries/nwk-key.js +19 -0
  331. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -0
  332. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +8 -0
  333. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +1 -0
  334. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +12 -0
  335. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -0
  336. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +13 -0
  337. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +1 -0
  338. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +22 -0
  339. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -0
  340. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +10 -0
  341. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +1 -0
  342. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +24 -0
  343. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +1 -0
  344. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +20 -0
  345. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts.map +1 -0
  346. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +35 -0
  347. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -0
  348. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +10 -0
  349. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +1 -0
  350. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +25 -0
  351. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -0
  352. package/dist/adapter/z-stack/structs/index.d.ts +5 -0
  353. package/dist/adapter/z-stack/structs/index.d.ts.map +1 -0
  354. package/dist/adapter/z-stack/structs/index.js +21 -0
  355. package/dist/adapter/z-stack/structs/index.js.map +1 -0
  356. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +13 -0
  357. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts.map +1 -0
  358. package/dist/adapter/z-stack/structs/serializable-memory-object.js +3 -0
  359. package/dist/adapter/z-stack/structs/serializable-memory-object.js.map +1 -0
  360. package/dist/adapter/z-stack/structs/struct.d.ts +99 -0
  361. package/dist/adapter/z-stack/structs/struct.d.ts.map +1 -0
  362. package/dist/adapter/z-stack/structs/struct.js +308 -0
  363. package/dist/adapter/z-stack/structs/struct.js.map +1 -0
  364. package/dist/adapter/z-stack/structs/table.d.ts +94 -0
  365. package/dist/adapter/z-stack/structs/table.d.ts.map +1 -0
  366. package/dist/adapter/z-stack/structs/table.js +167 -0
  367. package/dist/adapter/z-stack/structs/table.js.map +1 -0
  368. package/dist/adapter/z-stack/unpi/constants.d.ts +29 -0
  369. package/dist/adapter/z-stack/unpi/constants.d.ts.map +1 -0
  370. package/dist/adapter/z-stack/unpi/constants.js +40 -0
  371. package/dist/adapter/z-stack/unpi/constants.js.map +1 -0
  372. package/dist/adapter/z-stack/unpi/frame.d.ts +15 -0
  373. package/dist/adapter/z-stack/unpi/frame.d.ts.map +1 -0
  374. package/dist/adapter/z-stack/unpi/frame.js +53 -0
  375. package/dist/adapter/z-stack/unpi/frame.js.map +1 -0
  376. package/dist/adapter/z-stack/unpi/index.d.ts +5 -0
  377. package/dist/adapter/z-stack/unpi/index.d.ts.map +1 -0
  378. package/dist/adapter/z-stack/unpi/index.js +44 -0
  379. package/dist/adapter/z-stack/unpi/index.js.map +1 -0
  380. package/dist/adapter/z-stack/unpi/parser.d.ts +10 -0
  381. package/dist/adapter/z-stack/unpi/parser.d.ts.map +1 -0
  382. package/dist/adapter/z-stack/unpi/parser.js +94 -0
  383. package/dist/adapter/z-stack/unpi/parser.js.map +1 -0
  384. package/dist/adapter/z-stack/unpi/writer.d.ts +9 -0
  385. package/dist/adapter/z-stack/unpi/writer.d.ts.map +1 -0
  386. package/dist/adapter/z-stack/unpi/writer.js +66 -0
  387. package/dist/adapter/z-stack/unpi/writer.js.map +1 -0
  388. package/dist/adapter/z-stack/utils/channel-list.d.ts +21 -0
  389. package/dist/adapter/z-stack/utils/channel-list.d.ts.map +1 -0
  390. package/dist/adapter/z-stack/utils/channel-list.js +45 -0
  391. package/dist/adapter/z-stack/utils/channel-list.js.map +1 -0
  392. package/dist/adapter/z-stack/utils/index.d.ts +3 -0
  393. package/dist/adapter/z-stack/utils/index.d.ts.map +1 -0
  394. package/dist/adapter/z-stack/utils/index.js +19 -0
  395. package/dist/adapter/z-stack/utils/index.js.map +1 -0
  396. package/dist/adapter/z-stack/utils/network-options.d.ts +9 -0
  397. package/dist/adapter/z-stack/utils/network-options.d.ts.map +1 -0
  398. package/dist/adapter/z-stack/utils/network-options.js +22 -0
  399. package/dist/adapter/z-stack/utils/network-options.js.map +1 -0
  400. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +10 -0
  401. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +1 -0
  402. package/dist/adapter/z-stack/znp/buffaloZnp.js +162 -0
  403. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -0
  404. package/dist/adapter/z-stack/znp/definition.d.ts +18 -0
  405. package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -0
  406. package/dist/adapter/z-stack/znp/definition.js +2703 -0
  407. package/dist/adapter/z-stack/znp/definition.js.map +1 -0
  408. package/dist/adapter/z-stack/znp/index.d.ts +3 -0
  409. package/dist/adapter/z-stack/znp/index.d.ts.map +1 -0
  410. package/dist/adapter/z-stack/znp/index.js +8 -0
  411. package/dist/adapter/z-stack/znp/index.js.map +1 -0
  412. package/dist/adapter/z-stack/znp/parameterType.d.ts +19 -0
  413. package/dist/adapter/z-stack/znp/parameterType.d.ts.map +1 -0
  414. package/dist/adapter/z-stack/znp/parameterType.js +22 -0
  415. package/dist/adapter/z-stack/znp/parameterType.js.map +1 -0
  416. package/dist/adapter/z-stack/znp/tstype.d.ts +40 -0
  417. package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -0
  418. package/dist/adapter/z-stack/znp/tstype.js +3 -0
  419. package/dist/adapter/z-stack/znp/tstype.js.map +1 -0
  420. package/dist/adapter/z-stack/znp/utils.d.ts +4 -0
  421. package/dist/adapter/z-stack/znp/utils.d.ts.map +1 -0
  422. package/dist/adapter/z-stack/znp/utils.js +12 -0
  423. package/dist/adapter/z-stack/znp/utils.js.map +1 -0
  424. package/dist/adapter/z-stack/znp/znp.d.ts +43 -0
  425. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -0
  426. package/dist/adapter/z-stack/znp/znp.js +295 -0
  427. package/dist/adapter/z-stack/znp/znp.js.map +1 -0
  428. package/dist/adapter/z-stack/znp/zpiObject.d.ts +19 -0
  429. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +1 -0
  430. package/dist/adapter/z-stack/znp/zpiObject.js +121 -0
  431. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -0
  432. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +44 -0
  433. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -0
  434. package/dist/adapter/zboss/adapter/zbossAdapter.js +365 -0
  435. package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -0
  436. package/dist/adapter/zboss/commands.d.ts +20 -0
  437. package/dist/adapter/zboss/commands.d.ts.map +1 -0
  438. package/dist/adapter/zboss/commands.js +1141 -0
  439. package/dist/adapter/zboss/commands.js.map +1 -0
  440. package/dist/adapter/zboss/consts.d.ts +9 -0
  441. package/dist/adapter/zboss/consts.d.ts.map +1 -0
  442. package/dist/adapter/zboss/consts.js +12 -0
  443. package/dist/adapter/zboss/consts.js.map +1 -0
  444. package/dist/adapter/zboss/driver.d.ts +55 -0
  445. package/dist/adapter/zboss/driver.d.ts.map +1 -0
  446. package/dist/adapter/zboss/driver.js +358 -0
  447. package/dist/adapter/zboss/driver.js.map +1 -0
  448. package/dist/adapter/zboss/enums.d.ts +301 -0
  449. package/dist/adapter/zboss/enums.d.ts.map +1 -0
  450. package/dist/adapter/zboss/enums.js +359 -0
  451. package/dist/adapter/zboss/enums.js.map +1 -0
  452. package/dist/adapter/zboss/frame.d.ts +34 -0
  453. package/dist/adapter/zboss/frame.d.ts.map +1 -0
  454. package/dist/adapter/zboss/frame.js +200 -0
  455. package/dist/adapter/zboss/frame.js.map +1 -0
  456. package/dist/adapter/zboss/reader.d.ts +8 -0
  457. package/dist/adapter/zboss/reader.d.ts.map +1 -0
  458. package/dist/adapter/zboss/reader.js +59 -0
  459. package/dist/adapter/zboss/reader.js.map +1 -0
  460. package/dist/adapter/zboss/types.d.ts +2 -0
  461. package/dist/adapter/zboss/types.d.ts.map +1 -0
  462. package/dist/adapter/zboss/types.js +3 -0
  463. package/dist/adapter/zboss/types.js.map +1 -0
  464. package/dist/adapter/zboss/uart.d.ts +38 -0
  465. package/dist/adapter/zboss/uart.d.ts.map +1 -0
  466. package/dist/adapter/zboss/uart.js +373 -0
  467. package/dist/adapter/zboss/uart.js.map +1 -0
  468. package/dist/adapter/zboss/utils.d.ts +9 -0
  469. package/dist/adapter/zboss/utils.d.ts.map +1 -0
  470. package/dist/adapter/zboss/utils.js +56 -0
  471. package/dist/adapter/zboss/utils.js.map +1 -0
  472. package/dist/adapter/zboss/writer.d.ts +14 -0
  473. package/dist/adapter/zboss/writer.d.ts.map +1 -0
  474. package/dist/adapter/zboss/writer.js +41 -0
  475. package/dist/adapter/zboss/writer.js.map +1 -0
  476. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.d.ts +5 -0
  477. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.d.ts.map +1 -0
  478. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js +26 -0
  479. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js.map +1 -0
  480. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +63 -0
  481. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -0
  482. package/dist/adapter/zigate/adapter/zigateAdapter.js +462 -0
  483. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -0
  484. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +22 -0
  485. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -0
  486. package/dist/adapter/zigate/driver/buffaloZiGate.js +198 -0
  487. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -0
  488. package/dist/adapter/zigate/driver/commandType.d.ts +42 -0
  489. package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -0
  490. package/dist/adapter/zigate/driver/commandType.js +381 -0
  491. package/dist/adapter/zigate/driver/commandType.js.map +1 -0
  492. package/dist/adapter/zigate/driver/constants.d.ts +116 -0
  493. package/dist/adapter/zigate/driver/constants.d.ts.map +1 -0
  494. package/dist/adapter/zigate/driver/constants.js +147 -0
  495. package/dist/adapter/zigate/driver/constants.js.map +1 -0
  496. package/dist/adapter/zigate/driver/frame.d.ts +26 -0
  497. package/dist/adapter/zigate/driver/frame.d.ts.map +1 -0
  498. package/dist/adapter/zigate/driver/frame.js +161 -0
  499. package/dist/adapter/zigate/driver/frame.js.map +1 -0
  500. package/dist/adapter/zigate/driver/messageType.d.ts +13 -0
  501. package/dist/adapter/zigate/driver/messageType.d.ts.map +1 -0
  502. package/dist/adapter/zigate/driver/messageType.js +281 -0
  503. package/dist/adapter/zigate/driver/messageType.js.map +1 -0
  504. package/dist/adapter/zigate/driver/parameterType.d.ts +25 -0
  505. package/dist/adapter/zigate/driver/parameterType.d.ts.map +1 -0
  506. package/dist/adapter/zigate/driver/parameterType.js +31 -0
  507. package/dist/adapter/zigate/driver/parameterType.js.map +1 -0
  508. package/dist/adapter/zigate/driver/ziGateObject.d.ts +23 -0
  509. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -0
  510. package/dist/adapter/zigate/driver/ziGateObject.js +117 -0
  511. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -0
  512. package/dist/adapter/zigate/driver/zigate.d.ts +47 -0
  513. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -0
  514. package/dist/adapter/zigate/driver/zigate.js +364 -0
  515. package/dist/adapter/zigate/driver/zigate.js.map +1 -0
  516. package/dist/adapter/zoh/adapter/utils.d.ts +16 -0
  517. package/dist/adapter/zoh/adapter/utils.d.ts.map +1 -0
  518. package/dist/adapter/zoh/adapter/utils.js +31 -0
  519. package/dist/adapter/zoh/adapter/utils.js.map +1 -0
  520. package/dist/adapter/zoh/adapter/zohAdapter.d.ts +100 -0
  521. package/dist/adapter/zoh/adapter/zohAdapter.d.ts.map +1 -0
  522. package/dist/adapter/zoh/adapter/zohAdapter.js +715 -0
  523. package/dist/adapter/zoh/adapter/zohAdapter.js.map +1 -0
  524. package/dist/buffalo/buffalo.d.ts +67 -0
  525. package/dist/buffalo/buffalo.d.ts.map +1 -0
  526. package/dist/buffalo/buffalo.js +275 -0
  527. package/dist/buffalo/buffalo.js.map +1 -0
  528. package/dist/buffalo/index.d.ts +2 -0
  529. package/dist/buffalo/index.d.ts.map +1 -0
  530. package/dist/buffalo/index.js +6 -0
  531. package/dist/buffalo/index.js.map +1 -0
  532. package/dist/controller/controller.d.ts +155 -0
  533. package/dist/controller/controller.d.ts.map +1 -0
  534. package/dist/controller/controller.js +874 -0
  535. package/dist/controller/controller.js.map +1 -0
  536. package/dist/controller/database.d.ts +21 -0
  537. package/dist/controller/database.d.ts.map +1 -0
  538. package/dist/controller/database.js +128 -0
  539. package/dist/controller/database.js.map +1 -0
  540. package/dist/controller/events.d.ts +44 -0
  541. package/dist/controller/events.d.ts.map +1 -0
  542. package/dist/controller/events.js +3 -0
  543. package/dist/controller/events.js.map +1 -0
  544. package/dist/controller/greenPower.d.ts +78 -0
  545. package/dist/controller/greenPower.d.ts.map +1 -0
  546. package/dist/controller/greenPower.js +425 -0
  547. package/dist/controller/greenPower.js.map +1 -0
  548. package/dist/controller/helpers/index.d.ts +2 -0
  549. package/dist/controller/helpers/index.d.ts.map +1 -0
  550. package/dist/controller/helpers/index.js +38 -0
  551. package/dist/controller/helpers/index.js.map +1 -0
  552. package/dist/controller/helpers/installCodes.d.ts +27 -0
  553. package/dist/controller/helpers/installCodes.d.ts.map +1 -0
  554. package/dist/controller/helpers/installCodes.js +90 -0
  555. package/dist/controller/helpers/installCodes.js.map +1 -0
  556. package/dist/controller/helpers/ota.d.ts +53 -0
  557. package/dist/controller/helpers/ota.d.ts.map +1 -0
  558. package/dist/controller/helpers/ota.js +467 -0
  559. package/dist/controller/helpers/ota.js.map +1 -0
  560. package/dist/controller/helpers/request.d.ts +22 -0
  561. package/dist/controller/helpers/request.d.ts.map +1 -0
  562. package/dist/controller/helpers/request.js +82 -0
  563. package/dist/controller/helpers/request.js.map +1 -0
  564. package/dist/controller/helpers/requestQueue.d.ts +13 -0
  565. package/dist/controller/helpers/requestQueue.d.ts.map +1 -0
  566. package/dist/controller/helpers/requestQueue.js +109 -0
  567. package/dist/controller/helpers/requestQueue.js.map +1 -0
  568. package/dist/controller/helpers/zclFrameConverter.d.ts +7 -0
  569. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -0
  570. package/dist/controller/helpers/zclFrameConverter.js +84 -0
  571. package/dist/controller/helpers/zclFrameConverter.js.map +1 -0
  572. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +8 -0
  573. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts.map +1 -0
  574. package/dist/controller/helpers/zclTransactionSequenceNumber.js +14 -0
  575. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -0
  576. package/dist/controller/index.d.ts +6 -0
  577. package/dist/controller/index.d.ts.map +1 -0
  578. package/dist/controller/index.js +9 -0
  579. package/dist/controller/index.js.map +1 -0
  580. package/dist/controller/model/device.d.ts +150 -0
  581. package/dist/controller/model/device.d.ts.map +1 -0
  582. package/dist/controller/model/device.js +1396 -0
  583. package/dist/controller/model/device.js.map +1 -0
  584. package/dist/controller/model/endpoint.d.ts +150 -0
  585. package/dist/controller/model/endpoint.d.ts.map +1 -0
  586. package/dist/controller/model/endpoint.js +822 -0
  587. package/dist/controller/model/endpoint.js.map +1 -0
  588. package/dist/controller/model/entity.d.ts +18 -0
  589. package/dist/controller/model/entity.d.ts.map +1 -0
  590. package/dist/controller/model/entity.js +35 -0
  591. package/dist/controller/model/entity.js.map +1 -0
  592. package/dist/controller/model/group.d.ts +50 -0
  593. package/dist/controller/model/group.d.ts.map +1 -0
  594. package/dist/controller/model/group.js +343 -0
  595. package/dist/controller/model/group.js.map +1 -0
  596. package/dist/controller/model/index.d.ts +6 -0
  597. package/dist/controller/model/index.d.ts.map +1 -0
  598. package/dist/controller/model/index.js +14 -0
  599. package/dist/controller/model/index.js.map +1 -0
  600. package/dist/controller/model/konnextConfig.d.ts +7 -0
  601. package/dist/controller/model/konnextConfig.d.ts.map +1 -0
  602. package/dist/controller/model/konnextConfig.js +3 -0
  603. package/dist/controller/model/konnextConfig.js.map +1 -0
  604. package/dist/controller/model/zigbeeEntity.d.ts +8 -0
  605. package/dist/controller/model/zigbeeEntity.d.ts.map +1 -0
  606. package/dist/controller/model/zigbeeEntity.js +11 -0
  607. package/dist/controller/model/zigbeeEntity.js.map +1 -0
  608. package/dist/controller/touchlink.d.ts +20 -0
  609. package/dist/controller/touchlink.d.ts.map +1 -0
  610. package/dist/controller/touchlink.js +169 -0
  611. package/dist/controller/touchlink.js.map +1 -0
  612. package/dist/controller/tstype.d.ts +152 -0
  613. package/dist/controller/tstype.d.ts.map +1 -0
  614. package/dist/controller/tstype.js +3 -0
  615. package/dist/controller/tstype.js.map +1 -0
  616. package/dist/index.d.ts +13 -0
  617. package/dist/index.d.ts.map +1 -0
  618. package/dist/index.js +54 -0
  619. package/dist/index.js.map +1 -0
  620. package/dist/models/backup-storage-legacy.d.ts +25 -0
  621. package/dist/models/backup-storage-legacy.d.ts.map +1 -0
  622. package/dist/models/backup-storage-legacy.js +3 -0
  623. package/dist/models/backup-storage-legacy.js.map +1 -0
  624. package/dist/models/backup-storage-unified.d.ts +50 -0
  625. package/dist/models/backup-storage-unified.d.ts.map +1 -0
  626. package/dist/models/backup-storage-unified.js +3 -0
  627. package/dist/models/backup-storage-unified.js.map +1 -0
  628. package/dist/models/backup.d.ts +37 -0
  629. package/dist/models/backup.d.ts.map +1 -0
  630. package/dist/models/backup.js +3 -0
  631. package/dist/models/backup.js.map +1 -0
  632. package/dist/models/index.d.ts +5 -0
  633. package/dist/models/index.d.ts.map +1 -0
  634. package/dist/models/index.js +22 -0
  635. package/dist/models/index.js.map +1 -0
  636. package/dist/models/network-options.d.ts +12 -0
  637. package/dist/models/network-options.d.ts.map +1 -0
  638. package/dist/models/network-options.js +3 -0
  639. package/dist/models/network-options.js.map +1 -0
  640. package/dist/utils/aes.d.ts +40 -0
  641. package/dist/utils/aes.d.ts.map +1 -0
  642. package/dist/utils/aes.js +207 -0
  643. package/dist/utils/aes.js.map +1 -0
  644. package/dist/utils/async-mutex.d.ts +7 -0
  645. package/dist/utils/async-mutex.d.ts.map +1 -0
  646. package/dist/utils/async-mutex.js +31 -0
  647. package/dist/utils/async-mutex.js.map +1 -0
  648. package/dist/utils/backup.d.ts +21 -0
  649. package/dist/utils/backup.d.ts.map +1 -0
  650. package/dist/utils/backup.js +179 -0
  651. package/dist/utils/backup.js.map +1 -0
  652. package/dist/utils/index.d.ts +6 -0
  653. package/dist/utils/index.d.ts.map +1 -0
  654. package/dist/utils/index.js +45 -0
  655. package/dist/utils/index.js.map +1 -0
  656. package/dist/utils/logger.d.ts +9 -0
  657. package/dist/utils/logger.d.ts.map +1 -0
  658. package/dist/utils/logger.js +14 -0
  659. package/dist/utils/logger.js.map +1 -0
  660. package/dist/utils/patchBigIntSerialization.d.ts +2 -0
  661. package/dist/utils/patchBigIntSerialization.d.ts.map +1 -0
  662. package/dist/utils/patchBigIntSerialization.js +9 -0
  663. package/dist/utils/patchBigIntSerialization.js.map +1 -0
  664. package/dist/utils/queue.d.ts +8 -0
  665. package/dist/utils/queue.d.ts.map +1 -0
  666. package/dist/utils/queue.js +67 -0
  667. package/dist/utils/queue.js.map +1 -0
  668. package/dist/utils/timeService.d.ts +6 -0
  669. package/dist/utils/timeService.d.ts.map +1 -0
  670. package/dist/utils/timeService.js +127 -0
  671. package/dist/utils/timeService.js.map +1 -0
  672. package/dist/utils/utils.d.ts +5 -0
  673. package/dist/utils/utils.d.ts.map +1 -0
  674. package/dist/utils/utils.js +24 -0
  675. package/dist/utils/utils.js.map +1 -0
  676. package/dist/utils/wait.d.ts +2 -0
  677. package/dist/utils/wait.d.ts.map +1 -0
  678. package/dist/utils/wait.js +9 -0
  679. package/dist/utils/wait.js.map +1 -0
  680. package/dist/utils/waitress.d.ts +23 -0
  681. package/dist/utils/waitress.d.ts.map +1 -0
  682. package/dist/utils/waitress.js +76 -0
  683. package/dist/utils/waitress.js.map +1 -0
  684. package/dist/zspec/consts.d.ts +75 -0
  685. package/dist/zspec/consts.d.ts.map +1 -0
  686. package/dist/zspec/consts.js +79 -0
  687. package/dist/zspec/consts.js.map +1 -0
  688. package/dist/zspec/enums.d.ts +19 -0
  689. package/dist/zspec/enums.d.ts.map +1 -0
  690. package/dist/zspec/enums.js +27 -0
  691. package/dist/zspec/enums.js.map +1 -0
  692. package/dist/zspec/index.d.ts +4 -0
  693. package/dist/zspec/index.d.ts.map +1 -0
  694. package/dist/zspec/index.js +43 -0
  695. package/dist/zspec/index.js.map +1 -0
  696. package/dist/zspec/tstypes.d.ts +19 -0
  697. package/dist/zspec/tstypes.d.ts.map +1 -0
  698. package/dist/zspec/tstypes.js +3 -0
  699. package/dist/zspec/tstypes.js.map +1 -0
  700. package/dist/zspec/utils.d.ts +77 -0
  701. package/dist/zspec/utils.d.ts.map +1 -0
  702. package/dist/zspec/utils.js +217 -0
  703. package/dist/zspec/utils.js.map +1 -0
  704. package/dist/zspec/zcl/buffaloZcl.d.ts +43 -0
  705. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -0
  706. package/dist/zspec/zcl/buffaloZcl.js +969 -0
  707. package/dist/zspec/zcl/buffaloZcl.js.map +1 -0
  708. package/dist/zspec/zcl/definition/cluster.d.ts +3 -0
  709. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -0
  710. package/dist/zspec/zcl/definition/cluster.js +7507 -0
  711. package/dist/zspec/zcl/definition/cluster.js.map +1 -0
  712. package/dist/zspec/zcl/definition/clusters-types.d.ts +8135 -0
  713. package/dist/zspec/zcl/definition/clusters-types.d.ts.map +1 -0
  714. package/dist/zspec/zcl/definition/clusters-types.js +3 -0
  715. package/dist/zspec/zcl/definition/clusters-types.js.map +1 -0
  716. package/dist/zspec/zcl/definition/consts.d.ts +9 -0
  717. package/dist/zspec/zcl/definition/consts.d.ts.map +1 -0
  718. package/dist/zspec/zcl/definition/consts.js +27 -0
  719. package/dist/zspec/zcl/definition/consts.js.map +1 -0
  720. package/dist/zspec/zcl/definition/datatypes.d.ts +2173 -0
  721. package/dist/zspec/zcl/definition/datatypes.d.ts.map +1 -0
  722. package/dist/zspec/zcl/definition/datatypes.js +2315 -0
  723. package/dist/zspec/zcl/definition/datatypes.js.map +1 -0
  724. package/dist/zspec/zcl/definition/enums.d.ts +205 -0
  725. package/dist/zspec/zcl/definition/enums.d.ts.map +1 -0
  726. package/dist/zspec/zcl/definition/enums.js +218 -0
  727. package/dist/zspec/zcl/definition/enums.js.map +1 -0
  728. package/dist/zspec/zcl/definition/foundation.d.ts +10 -0
  729. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -0
  730. package/dist/zspec/zcl/definition/foundation.js +312 -0
  731. package/dist/zspec/zcl/definition/foundation.js.map +1 -0
  732. package/dist/zspec/zcl/definition/manufacturerCode.d.ts +729 -0
  733. package/dist/zspec/zcl/definition/manufacturerCode.d.ts.map +1 -0
  734. package/dist/zspec/zcl/definition/manufacturerCode.js +734 -0
  735. package/dist/zspec/zcl/definition/manufacturerCode.js.map +1 -0
  736. package/dist/zspec/zcl/definition/status.d.ts +69 -0
  737. package/dist/zspec/zcl/definition/status.d.ts.map +1 -0
  738. package/dist/zspec/zcl/definition/status.js +74 -0
  739. package/dist/zspec/zcl/definition/status.js.map +1 -0
  740. package/dist/zspec/zcl/definition/tstype.d.ts +273 -0
  741. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -0
  742. package/dist/zspec/zcl/definition/tstype.js +3 -0
  743. package/dist/zspec/zcl/definition/tstype.js.map +1 -0
  744. package/dist/zspec/zcl/index.d.ts +12 -0
  745. package/dist/zspec/zcl/index.d.ts.map +1 -0
  746. package/dist/zspec/zcl/index.js +57 -0
  747. package/dist/zspec/zcl/index.js.map +1 -0
  748. package/dist/zspec/zcl/utils.d.ts +15 -0
  749. package/dist/zspec/zcl/utils.d.ts.map +1 -0
  750. package/dist/zspec/zcl/utils.js +419 -0
  751. package/dist/zspec/zcl/utils.js.map +1 -0
  752. package/dist/zspec/zcl/zclFrame.d.ts +49 -0
  753. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -0
  754. package/dist/zspec/zcl/zclFrame.js +328 -0
  755. package/dist/zspec/zcl/zclFrame.js.map +1 -0
  756. package/dist/zspec/zcl/zclHeader.d.ts +16 -0
  757. package/dist/zspec/zcl/zclHeader.d.ts.map +1 -0
  758. package/dist/zspec/zcl/zclHeader.js +88 -0
  759. package/dist/zspec/zcl/zclHeader.js.map +1 -0
  760. package/dist/zspec/zcl/zclStatusError.d.ts +6 -0
  761. package/dist/zspec/zcl/zclStatusError.d.ts.map +1 -0
  762. package/dist/zspec/zcl/zclStatusError.js +13 -0
  763. package/dist/zspec/zcl/zclStatusError.js.map +1 -0
  764. package/dist/zspec/zdo/buffaloZdo.d.ts +407 -0
  765. package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -0
  766. package/dist/zspec/zdo/buffaloZdo.js +1919 -0
  767. package/dist/zspec/zdo/buffaloZdo.js.map +1 -0
  768. package/dist/zspec/zdo/definition/clusters.d.ts +624 -0
  769. package/dist/zspec/zdo/definition/clusters.d.ts.map +1 -0
  770. package/dist/zspec/zdo/definition/clusters.js +686 -0
  771. package/dist/zspec/zdo/definition/clusters.js.map +1 -0
  772. package/dist/zspec/zdo/definition/consts.d.ts +13 -0
  773. package/dist/zspec/zdo/definition/consts.d.ts.map +1 -0
  774. package/dist/zspec/zdo/definition/consts.js +16 -0
  775. package/dist/zspec/zdo/definition/consts.js.map +1 -0
  776. package/dist/zspec/zdo/definition/enums.d.ts +85 -0
  777. package/dist/zspec/zdo/definition/enums.d.ts.map +1 -0
  778. package/dist/zspec/zdo/definition/enums.js +103 -0
  779. package/dist/zspec/zdo/definition/enums.js.map +1 -0
  780. package/dist/zspec/zdo/definition/status.d.ts +99 -0
  781. package/dist/zspec/zdo/definition/status.d.ts.map +1 -0
  782. package/dist/zspec/zdo/definition/status.js +108 -0
  783. package/dist/zspec/zdo/definition/status.js.map +1 -0
  784. package/dist/zspec/zdo/definition/tstypes.d.ts +955 -0
  785. package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -0
  786. package/dist/zspec/zdo/definition/tstypes.js +4 -0
  787. package/dist/zspec/zdo/definition/tstypes.js.map +1 -0
  788. package/dist/zspec/zdo/index.d.ts +8 -0
  789. package/dist/zspec/zdo/index.d.ts.map +1 -0
  790. package/dist/zspec/zdo/index.js +51 -0
  791. package/dist/zspec/zdo/index.js.map +1 -0
  792. package/dist/zspec/zdo/utils.d.ts +24 -0
  793. package/dist/zspec/zdo/utils.d.ts.map +1 -0
  794. package/dist/zspec/zdo/utils.js +74 -0
  795. package/dist/zspec/zdo/utils.js.map +1 -0
  796. package/dist/zspec/zdo/zdoStatusError.d.ts +6 -0
  797. package/dist/zspec/zdo/zdoStatusError.d.ts.map +1 -0
  798. package/dist/zspec/zdo/zdoStatusError.js +13 -0
  799. package/dist/zspec/zdo/zdoStatusError.js.map +1 -0
  800. package/package.json +90 -83
  801. package/src/controller/helpers/ota.ts +5 -2
  802. package/src/zspec/zcl/definition/cluster.ts +3 -294
  803. package/src/zspec/zcl/definition/clusters-types.ts +6 -355
  804. package/src/zspec/zcl/definition/tstype.ts +0 -14
  805. package/src/zspec/zcl/utils.ts +14 -31
  806. package/test/controller.test.ts +16 -8
  807. package/test/zcl.test.ts +36 -7
@@ -0,0 +1,969 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.BuffaloZcl = void 0;
37
+ const buffalo_1 = require("../../buffalo");
38
+ const logger_1 = require("../../utils/logger");
39
+ const utils_1 = require("../../utils/utils");
40
+ const datatypes_1 = require("./definition/datatypes");
41
+ const enums_1 = require("./definition/enums");
42
+ const Utils = __importStar(require("./utils"));
43
+ const NS = "zh:zcl:buffalo";
44
+ const UINT8_NON_VALUE = datatypes_1.ZCL_TYPE_INVALID_BY_TYPE[datatypes_1.ZclType.Uint8];
45
+ const UINT16_NON_VALUE = datatypes_1.ZCL_TYPE_INVALID_BY_TYPE[datatypes_1.ZclType.Uint16];
46
+ const SEC_KEY_LENGTH = 16;
47
+ const EXTENSION_FIELD_SETS_DATA_TYPE = {
48
+ 6: [enums_1.DataType.UINT8],
49
+ 8: [enums_1.DataType.UINT8],
50
+ 258: [enums_1.DataType.UINT8, enums_1.DataType.UINT8],
51
+ 768: [enums_1.DataType.UINT16, enums_1.DataType.UINT16, enums_1.DataType.UINT16, enums_1.DataType.UINT8, enums_1.DataType.UINT8, enums_1.DataType.UINT8, enums_1.DataType.UINT16, enums_1.DataType.UINT16],
52
+ };
53
+ class BuffaloZcl extends buffalo_1.Buffalo {
54
+ readLengthUInt8() {
55
+ const value = this.readUInt8();
56
+ return value === UINT8_NON_VALUE ? Number.NaN : value;
57
+ }
58
+ readLengthUInt16() {
59
+ const value = this.readUInt16();
60
+ return value === UINT16_NON_VALUE ? Number.NaN : value;
61
+ }
62
+ writeOctetStr(value) {
63
+ if (value) {
64
+ this.writeUInt8(value.length);
65
+ this.writeBuffer(value, value.length);
66
+ }
67
+ else {
68
+ this.writeUInt8(UINT8_NON_VALUE);
69
+ }
70
+ }
71
+ readOctetStr() {
72
+ const length = this.readLengthUInt8();
73
+ return Number.isNaN(length) ? Buffer.from([]) : this.readBuffer(length);
74
+ }
75
+ // TODO: support read/write with specific `length` from attribute metadata (CHAR_STR & LONG_CHAR_STR)
76
+ writeCharStr(value) {
77
+ // In case of an empty string, send 0 length, from the spec:
78
+ // "Setting this sub-field to 0x00 represents a character string with no character data (an “empty string”). Setting
79
+ // this sub-field to 0xff represents the non-value. In both cases the character data sub-field has zero length."
80
+ if (value != null) {
81
+ if (typeof value === "string") {
82
+ this.writeUInt8(Buffer.byteLength(value, "utf8"));
83
+ this.writeUtf8String(value);
84
+ }
85
+ else {
86
+ // XXX: value.length not written?
87
+ this.writeBuffer(value, value.length);
88
+ }
89
+ }
90
+ else {
91
+ this.writeUInt8(UINT8_NON_VALUE);
92
+ }
93
+ }
94
+ readCharStr() {
95
+ const length = this.readLengthUInt8();
96
+ return Number.isNaN(length) ? "" : this.readUtf8String(length);
97
+ }
98
+ writeLongOctetStr(value) {
99
+ if (value) {
100
+ this.writeUInt16(value.length);
101
+ this.writeBuffer(value, value.length);
102
+ }
103
+ else {
104
+ this.writeUInt16(UINT16_NON_VALUE);
105
+ }
106
+ }
107
+ readLongOctetStr() {
108
+ const length = this.readLengthUInt16();
109
+ return Number.isNaN(length) ? Buffer.from([]) : this.readBuffer(length);
110
+ }
111
+ writeLongCharStr(value) {
112
+ // In case of an empty string, send 0 length, from the spec:
113
+ // "Setting this sub-field to 0x0000 represents a long character string with no character data (an “empty string”).
114
+ // Setting this sub-field to 0xffff represents an non-value long character string value. In both cases the character
115
+ // data sub-field has zero length"
116
+ if (value != null) {
117
+ this.writeUInt16(Buffer.byteLength(value, "utf8"));
118
+ this.writeUtf8String(value);
119
+ }
120
+ else {
121
+ this.writeUInt16(UINT16_NON_VALUE);
122
+ }
123
+ }
124
+ readLongCharStr() {
125
+ const length = this.readLengthUInt16();
126
+ return Number.isNaN(length) ? "" : this.readUtf8String(length);
127
+ }
128
+ writeArray(value) {
129
+ if (value) {
130
+ const elTypeNumeric = typeof value.elementType === "number" ? value.elementType : enums_1.DataType[value.elementType];
131
+ this.writeUInt8(elTypeNumeric);
132
+ this.writeUInt16(value.elements.length);
133
+ for (const element of value.elements) {
134
+ this.write(elTypeNumeric, element, {});
135
+ }
136
+ }
137
+ else {
138
+ this.writeUInt8(enums_1.DataType.NO_DATA); // XXX: correct value?
139
+ this.writeUInt16(UINT16_NON_VALUE);
140
+ }
141
+ }
142
+ // TODO: support read [] with specific length (`arrayLengthSize` & `arrayLengthField`) from parameter metadata
143
+ readArray() {
144
+ const values = [];
145
+ const elementType = this.readUInt8();
146
+ const numberOfElements = this.readLengthUInt16();
147
+ if (!Number.isNaN(numberOfElements)) {
148
+ // not non-value
149
+ for (let i = 0; i < numberOfElements; i++) {
150
+ const value = this.read(elementType, {});
151
+ values.push(value);
152
+ }
153
+ }
154
+ return values;
155
+ }
156
+ writeStruct(value) {
157
+ if (value) {
158
+ this.writeUInt16(value.length);
159
+ for (const v of value) {
160
+ this.writeUInt8(v.elmType);
161
+ this.write(v.elmType, v.elmVal, {});
162
+ }
163
+ }
164
+ else {
165
+ this.writeUInt16(UINT16_NON_VALUE);
166
+ }
167
+ }
168
+ readStruct() {
169
+ const values = [];
170
+ const numberOfElements = this.readLengthUInt16();
171
+ if (!Number.isNaN(numberOfElements)) {
172
+ // not non-value
173
+ for (let i = 0; i < numberOfElements; i++) {
174
+ const elementType = this.readUInt8();
175
+ const value = this.read(elementType, {});
176
+ values.push({ elmType: elementType, elmVal: value });
177
+ }
178
+ }
179
+ return values;
180
+ }
181
+ writeToD(value) {
182
+ this.writeUInt8(value.hours == null || Number.isNaN(value.hours) ? UINT8_NON_VALUE : value.hours);
183
+ this.writeUInt8(value.minutes == null || Number.isNaN(value.minutes) ? UINT8_NON_VALUE : value.minutes);
184
+ this.writeUInt8(value.seconds == null || Number.isNaN(value.seconds) ? UINT8_NON_VALUE : value.seconds);
185
+ this.writeUInt8(value.hundredths == null || Number.isNaN(value.hundredths) ? UINT8_NON_VALUE : value.hundredths);
186
+ }
187
+ readToD() {
188
+ const hours = this.readLengthUInt8();
189
+ const minutes = this.readLengthUInt8();
190
+ const seconds = this.readLengthUInt8();
191
+ const hundredths = this.readLengthUInt8();
192
+ return {
193
+ hours,
194
+ minutes,
195
+ seconds,
196
+ hundredths,
197
+ };
198
+ }
199
+ writeDate(value) {
200
+ this.writeUInt8(value.year == null || Number.isNaN(value.year) ? UINT8_NON_VALUE : value.year - 1900);
201
+ this.writeUInt8(value.month == null || Number.isNaN(value.month) ? UINT8_NON_VALUE : value.month);
202
+ this.writeUInt8(value.dayOfMonth == null || Number.isNaN(value.dayOfMonth) ? UINT8_NON_VALUE : value.dayOfMonth);
203
+ this.writeUInt8(value.dayOfWeek == null || Number.isNaN(value.dayOfWeek) ? UINT8_NON_VALUE : value.dayOfWeek);
204
+ }
205
+ readDate() {
206
+ const year = this.readLengthUInt8();
207
+ const month = this.readLengthUInt8();
208
+ const dayOfMonth = this.readLengthUInt8();
209
+ const dayOfWeek = this.readLengthUInt8();
210
+ return {
211
+ year: year + 1900, // remains NaN if year is NaN
212
+ month,
213
+ dayOfMonth,
214
+ dayOfWeek,
215
+ };
216
+ }
217
+ //--- BuffaloZclDataType
218
+ writeListZoneInfo(values) {
219
+ for (const value of values) {
220
+ this.writeUInt8(value.zoneID);
221
+ this.writeUInt16(value.zoneStatus);
222
+ }
223
+ }
224
+ readListZoneInfo(length) {
225
+ const value = [];
226
+ for (let i = 0; i < length; i++) {
227
+ value.push({
228
+ zoneID: this.readUInt8(),
229
+ zoneStatus: this.readUInt16(),
230
+ });
231
+ }
232
+ return value;
233
+ }
234
+ writeExtensionFieldSets(values) {
235
+ for (const value of values) {
236
+ this.writeUInt16(value.clstId);
237
+ this.writeUInt8(value.len);
238
+ let index = 0;
239
+ for (const entry of value.extField) {
240
+ this.write(EXTENSION_FIELD_SETS_DATA_TYPE[value.clstId][index], entry, {});
241
+ index++;
242
+ }
243
+ }
244
+ }
245
+ readExtensionFieldSets() {
246
+ const value = [];
247
+ // XXX: doesn't work if buffer has more unrelated fields after this one
248
+ while (this.isMore()) {
249
+ const clstId = this.readUInt16();
250
+ const len = this.readUInt8();
251
+ const end = this.getPosition() + len;
252
+ let index = 0;
253
+ const extField = [];
254
+ while (this.getPosition() < end) {
255
+ extField.push(this.read(EXTENSION_FIELD_SETS_DATA_TYPE[clstId][index], {}));
256
+ index++;
257
+ }
258
+ value.push({ extField, clstId, len });
259
+ }
260
+ return value;
261
+ }
262
+ writeListThermoTransitions(value) {
263
+ for (const entry of value) {
264
+ this.writeUInt16(entry.transitionTime);
265
+ if (entry.heatSetpoint != null) {
266
+ this.writeInt16(entry.heatSetpoint);
267
+ }
268
+ if (entry.coolSetpoint != null) {
269
+ this.writeInt16(entry.coolSetpoint);
270
+ }
271
+ }
272
+ }
273
+ readListThermoTransitions(options) {
274
+ if (options.payload == null || options.payload.mode == null || options.payload.numoftrans == null) {
275
+ throw new Error("Cannot read LIST_THERMO_TRANSITIONS without required payload options specified");
276
+ }
277
+ const heat = options.payload.mode & 1;
278
+ const cool = options.payload.mode & 2;
279
+ const result = [];
280
+ for (let i = 0; i < options.payload.numoftrans; i++) {
281
+ const entry = {
282
+ transitionTime: this.readUInt16(),
283
+ };
284
+ if (heat) {
285
+ entry.heatSetpoint = this.readInt16();
286
+ }
287
+ if (cool) {
288
+ entry.coolSetpoint = this.readInt16();
289
+ }
290
+ result.push(entry);
291
+ }
292
+ return result;
293
+ }
294
+ writeGpdFrame(value) {
295
+ if (value.commandID === 0xf0) {
296
+ // Commissioning Reply
297
+ const v = value;
298
+ const panIDPresent = Boolean(v.options & 0x1);
299
+ const gpdSecurityKeyPresent = Boolean(v.options & 0x2);
300
+ const gpdKeyEncryption = Boolean((v.options >> 2) & 0x1);
301
+ const securityLevel = (v.options >> 3) & 0x3;
302
+ const hasGPDKeyMIC = gpdKeyEncryption && gpdSecurityKeyPresent;
303
+ const hasFrameCounter = gpdSecurityKeyPresent && gpdKeyEncryption && (securityLevel === 0b10 || securityLevel === 0b11);
304
+ this.writeUInt8(1 + (panIDPresent ? 2 : 0) + (gpdSecurityKeyPresent ? 16 : 0) + (hasGPDKeyMIC ? 4 : 0) + (hasFrameCounter ? 4 : 0)); // Length
305
+ this.writeUInt8(v.options);
306
+ if (panIDPresent) {
307
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
308
+ this.writeUInt16(v.panID);
309
+ }
310
+ if (gpdSecurityKeyPresent) {
311
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
312
+ this.writeBuffer(v.securityKey, 16);
313
+ }
314
+ if (hasGPDKeyMIC) {
315
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
316
+ this.writeUInt32(v.keyMic);
317
+ }
318
+ if (hasFrameCounter) {
319
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
320
+ this.writeUInt32(v.frameCounter);
321
+ }
322
+ }
323
+ else if (value.commandID === 0xf3) {
324
+ // Channel configuration
325
+ const v = value;
326
+ this.writeUInt8(1);
327
+ this.writeUInt8((v.operationalChannel & 0xf) | ((v.basic ? 1 : 0) << 4));
328
+ }
329
+ else if (value.commandID === 0xf4 || value.commandID === 0xf5 || (value.commandID >= 0xf7 && value.commandID <= 0xff)) {
330
+ // Other commands sent to GPD
331
+ const v = value;
332
+ this.writeUInt8(v.buffer.length);
333
+ this.writeBuffer(v.buffer, v.buffer.length);
334
+ }
335
+ // 0xf1: Write Attributes
336
+ // 0xf2: Read Attributes
337
+ // 0xf6: ZCL Tunneling
338
+ }
339
+ readGpdFrame(options) {
340
+ if (options.payload?.payloadSize === undefined) {
341
+ throw new Error("Cannot read GPD_FRAME without required payload options specified");
342
+ }
343
+ if (Number.isNaN(options.payload.payloadSize) || options.payload.payloadSize === 0) {
344
+ return {}; // non-value, don't move position
345
+ }
346
+ // ensure offset by options.payload.payloadSize (if any) at end of parsing to not cause issues with spec changes (until supported)
347
+ const startPosition = this.position;
348
+ if (options.payload.commandID === 0xe0) {
349
+ // Commisioning
350
+ const frame = {
351
+ deviceID: this.readUInt8(),
352
+ options: this.readUInt8(),
353
+ extendedOptions: 0,
354
+ securityKey: Buffer.alloc(16),
355
+ keyMic: 0,
356
+ outgoingCounter: 0,
357
+ applicationInfo: 0,
358
+ manufacturerID: 0,
359
+ modelID: 0,
360
+ numGpdCommands: 0,
361
+ gpdCommandIdList: Buffer.alloc(0),
362
+ numServerClusters: 0,
363
+ numClientClusters: 0,
364
+ gpdServerClusters: Buffer.alloc(0),
365
+ gpdClientClusters: Buffer.alloc(0),
366
+ genericSwitchConfig: 0,
367
+ currentContactStatus: 0,
368
+ };
369
+ if (frame.options & 0x80) {
370
+ frame.extendedOptions = this.readUInt8();
371
+ }
372
+ if (frame.extendedOptions & 0x20) {
373
+ frame.securityKey = this.readBuffer(16);
374
+ }
375
+ if (frame.extendedOptions & 0x40) {
376
+ frame.keyMic = this.readUInt32();
377
+ }
378
+ if (frame.extendedOptions & 0x80) {
379
+ frame.outgoingCounter = this.readUInt32();
380
+ }
381
+ if (frame.options & 0x04) {
382
+ frame.applicationInfo = this.readUInt8();
383
+ }
384
+ if (frame.applicationInfo & 0x01) {
385
+ frame.manufacturerID = this.readUInt16();
386
+ }
387
+ if (frame.applicationInfo & 0x02) {
388
+ frame.modelID = this.readUInt16();
389
+ }
390
+ if (frame.applicationInfo & 0x04) {
391
+ frame.numGpdCommands = this.readUInt8();
392
+ frame.gpdCommandIdList = this.readBuffer(frame.numGpdCommands);
393
+ }
394
+ if (frame.applicationInfo & 0x08) {
395
+ const len = this.readUInt8();
396
+ frame.numServerClusters = len & 0xf;
397
+ frame.numClientClusters = (len >> 4) & 0xf;
398
+ frame.gpdServerClusters = this.readBuffer(2 * frame.numServerClusters);
399
+ frame.gpdClientClusters = this.readBuffer(2 * frame.numClientClusters);
400
+ }
401
+ if (frame.applicationInfo & 0x10) {
402
+ const len = this.readUInt8();
403
+ if (len >= 1) {
404
+ frame.genericSwitchConfig = this.readUInt8();
405
+ }
406
+ if (len >= 2) {
407
+ frame.currentContactStatus = this.readUInt8();
408
+ }
409
+ }
410
+ this.setPosition(startPosition + options.payload.payloadSize);
411
+ return frame;
412
+ }
413
+ if (options.payload.commandID === 0xe3) {
414
+ // Channel Request
415
+ const channelOpts = this.readUInt8();
416
+ this.setPosition(startPosition + options.payload.payloadSize);
417
+ return {
418
+ nextChannel: channelOpts & 0xf,
419
+ nextNextChannel: channelOpts >> 4,
420
+ };
421
+ }
422
+ if (options.payload.commandID === 0xa1) {
423
+ // Manufacturer-specific Attribute Reporting
424
+ const start = this.position;
425
+ const frame = {
426
+ manufacturerCode: this.readUInt16(),
427
+ clusterID: this.readUInt16(),
428
+ attributes: {},
429
+ };
430
+ const cluster = Utils.getCluster(frame.clusterID, frame.manufacturerCode, {});
431
+ while (this.position - start < options.payload.payloadSize) {
432
+ const attributeID = this.readUInt16();
433
+ const type = this.readUInt8();
434
+ /* v8 ignore next */
435
+ let attribute = cluster.getAttribute(attributeID)?.name;
436
+ // number type is only used when going into this if
437
+ if (!attribute) {
438
+ // this is spammy because of the many manufacturer-specific attributes not currently used
439
+ logger_1.logger.debug(`Unknown attribute ${attributeID} in cluster ${cluster.name}`, NS);
440
+ attribute = attributeID;
441
+ }
442
+ frame.attributes[attribute] = this.read(type, options);
443
+ }
444
+ this.setPosition(startPosition + options.payload.payloadSize);
445
+ return frame;
446
+ }
447
+ // might contain `gppNwkAddr`, `gppGpdLink` & `mic` from ZCL cluster after this, so limit by `payloadSize`
448
+ return { raw: this.readBuffer(options.payload.payloadSize) };
449
+ }
450
+ writeStructuredSelector(value) {
451
+ if (value != null) {
452
+ const indexes = value.indexes || [];
453
+ const indicatorType = value.indicatorType || enums_1.StructuredIndicatorType.Whole;
454
+ const indicator = indexes.length + indicatorType;
455
+ this.writeUInt8(indicator);
456
+ for (const index of indexes) {
457
+ this.writeUInt16(index);
458
+ }
459
+ }
460
+ }
461
+ readStructuredSelector() {
462
+ /** [0-15] range */
463
+ const indicator = this.readUInt8();
464
+ if (indicator === 0) {
465
+ // no indexes, whole attribute value is to be read
466
+ return { indicatorType: enums_1.StructuredIndicatorType.Whole };
467
+ }
468
+ if (indicator < enums_1.StructuredIndicatorType.WriteAdd) {
469
+ const indexes = [];
470
+ for (let i = 0; i < indicator; i++) {
471
+ const index = this.readUInt16();
472
+ indexes.push(index);
473
+ }
474
+ return { indexes };
475
+ }
476
+ throw new Error("Read structured selector was outside [0-15] range.");
477
+ }
478
+ writeListTuyaDataPointValues(dpValues) {
479
+ for (const dpValue of dpValues) {
480
+ this.writeUInt8(dpValue.dp);
481
+ this.writeUInt8(dpValue.datatype);
482
+ const dataLen = dpValue.data.length;
483
+ // UInt16BE
484
+ this.writeUInt8((dataLen >> 8) & 0xff);
485
+ this.writeUInt8(dataLen & 0xff);
486
+ this.writeBuffer(dpValue.data, dataLen);
487
+ }
488
+ }
489
+ readListTuyaDataPointValues() {
490
+ const value = [];
491
+ // XXX: doesn't work if buffer has more unrelated fields after this one
492
+ while (this.isMore()) {
493
+ try {
494
+ const dp = this.readUInt8();
495
+ const datatype = this.readUInt8();
496
+ const len_hi = this.readUInt8();
497
+ const len_lo = this.readUInt8();
498
+ const data = this.readBuffer(len_lo + (len_hi << 8));
499
+ value.push({ dp, datatype, data });
500
+ }
501
+ catch {
502
+ break;
503
+ }
504
+ }
505
+ return value;
506
+ }
507
+ writeListMiboxerZones(values) {
508
+ this.writeUInt8(values.length);
509
+ for (const value of values) {
510
+ this.writeUInt16(value.groupId);
511
+ this.writeUInt8(value.zoneNum);
512
+ }
513
+ }
514
+ readListMiboxerZones() {
515
+ const value = [];
516
+ const len = this.readUInt8();
517
+ for (let i = 0; i < len; i++) {
518
+ const groupId = this.readUInt16();
519
+ const zoneNum = this.readUInt8();
520
+ value.push({ groupId, zoneNum });
521
+ }
522
+ return value;
523
+ }
524
+ writeBigEndianUInt24(value) {
525
+ this.position = this.buffer.writeUIntBE(value, this.position, 3);
526
+ }
527
+ readBigEndianUInt24() {
528
+ const value = this.buffer.readUIntBE(this.position, 3);
529
+ this.position += 3;
530
+ return value;
531
+ }
532
+ // NOTE: writeMiStruct is not supported.
533
+ readMiStruct() {
534
+ const length = this.readUInt8();
535
+ const value = {};
536
+ if (length === UINT8_NON_VALUE) {
537
+ return value;
538
+ }
539
+ for (let i = 0; i < length; i++) {
540
+ const index = this.readUInt8();
541
+ const dataType = this.readUInt8();
542
+ value[index] = this.read(dataType, {});
543
+ const remaining = this.buffer.length - this.position;
544
+ if (remaining <= 1) {
545
+ if (remaining === 1) {
546
+ // Some Xiaomi structs have a trailing byte, skip it.
547
+ this.position += 1;
548
+ }
549
+ break;
550
+ }
551
+ }
552
+ return value;
553
+ }
554
+ // biome-ignore lint/suspicious/noExplicitAny: API
555
+ write(type, value, options) {
556
+ switch (type) {
557
+ case enums_1.DataType.NO_DATA:
558
+ case enums_1.DataType.UNKNOWN: {
559
+ return; // nothing to write
560
+ }
561
+ case enums_1.DataType.BOOLEAN:
562
+ case enums_1.DataType.DATA8:
563
+ case enums_1.DataType.BITMAP8:
564
+ case enums_1.DataType.UINT8:
565
+ case enums_1.DataType.ENUM8: {
566
+ this.writeUInt8(value);
567
+ break;
568
+ }
569
+ case enums_1.DataType.DATA16:
570
+ case enums_1.DataType.BITMAP16:
571
+ case enums_1.DataType.UINT16:
572
+ case enums_1.DataType.ENUM16:
573
+ case enums_1.DataType.CLUSTER_ID:
574
+ case enums_1.DataType.ATTR_ID: {
575
+ this.writeUInt16(value);
576
+ break;
577
+ }
578
+ case enums_1.DataType.DATA24:
579
+ case enums_1.DataType.BITMAP24:
580
+ case enums_1.DataType.UINT24: {
581
+ this.writeUInt24(value);
582
+ break;
583
+ }
584
+ case enums_1.DataType.DATA32:
585
+ case enums_1.DataType.BITMAP32:
586
+ case enums_1.DataType.UINT32:
587
+ case enums_1.DataType.UTC:
588
+ case enums_1.DataType.BAC_OID: {
589
+ this.writeUInt32(value);
590
+ break;
591
+ }
592
+ case enums_1.DataType.DATA40:
593
+ case enums_1.DataType.BITMAP40:
594
+ case enums_1.DataType.UINT40: {
595
+ this.writeUInt40(value);
596
+ break;
597
+ }
598
+ case enums_1.DataType.DATA48:
599
+ case enums_1.DataType.BITMAP48:
600
+ case enums_1.DataType.UINT48: {
601
+ this.writeUInt48(value);
602
+ break;
603
+ }
604
+ case enums_1.DataType.DATA56:
605
+ case enums_1.DataType.BITMAP56:
606
+ case enums_1.DataType.UINT56: {
607
+ this.writeUInt56(value);
608
+ break;
609
+ }
610
+ case enums_1.DataType.DATA64:
611
+ case enums_1.DataType.BITMAP64:
612
+ case enums_1.DataType.UINT64: {
613
+ this.writeUInt64(value);
614
+ break;
615
+ }
616
+ case enums_1.DataType.INT8: {
617
+ this.writeInt8(value);
618
+ break;
619
+ }
620
+ case enums_1.DataType.INT16: {
621
+ this.writeInt16(value);
622
+ break;
623
+ }
624
+ case enums_1.DataType.INT24: {
625
+ this.writeInt24(value);
626
+ break;
627
+ }
628
+ case enums_1.DataType.INT32: {
629
+ this.writeInt32(value);
630
+ break;
631
+ }
632
+ case enums_1.DataType.INT40: {
633
+ this.writeInt40(value);
634
+ break;
635
+ }
636
+ case enums_1.DataType.INT48: {
637
+ this.writeInt48(value);
638
+ break;
639
+ }
640
+ case enums_1.DataType.INT56: {
641
+ this.writeInt56(value);
642
+ break;
643
+ }
644
+ case enums_1.DataType.INT64: {
645
+ this.writeInt64(value);
646
+ break;
647
+ }
648
+ // case DataType.SEMI_PREC: {
649
+ // // https://tc39.es/proposal-float16array/
650
+ // // not currently used
651
+ // this.writeSemiFloatLE(value);
652
+ // break;
653
+ // }
654
+ case enums_1.DataType.SINGLE_PREC: {
655
+ this.writeFloatLE(value);
656
+ break;
657
+ }
658
+ case enums_1.DataType.DOUBLE_PREC: {
659
+ this.writeDoubleLE(value);
660
+ break;
661
+ }
662
+ case enums_1.DataType.OCTET_STR: {
663
+ this.writeOctetStr(value);
664
+ break;
665
+ }
666
+ case enums_1.DataType.CHAR_STR: {
667
+ this.writeCharStr(value);
668
+ break;
669
+ }
670
+ case enums_1.DataType.LONG_OCTET_STR: {
671
+ this.writeLongOctetStr(value);
672
+ break;
673
+ }
674
+ case enums_1.DataType.LONG_CHAR_STR: {
675
+ this.writeLongCharStr(value);
676
+ break;
677
+ }
678
+ case enums_1.DataType.ARRAY:
679
+ case enums_1.DataType.SET:
680
+ case enums_1.DataType.BAG: {
681
+ this.writeArray(value);
682
+ break;
683
+ }
684
+ case enums_1.DataType.STRUCT: {
685
+ this.writeStruct(value);
686
+ break;
687
+ }
688
+ case enums_1.DataType.TOD: {
689
+ this.writeToD(value);
690
+ break;
691
+ }
692
+ case enums_1.DataType.DATE: {
693
+ this.writeDate(value);
694
+ break;
695
+ }
696
+ case enums_1.DataType.IEEE_ADDR: {
697
+ this.writeIeeeAddr(value);
698
+ break;
699
+ }
700
+ case enums_1.DataType.SEC_KEY: {
701
+ this.writeBuffer(value, SEC_KEY_LENGTH);
702
+ break;
703
+ }
704
+ case enums_1.BuffaloZclDataType.USE_DATA_TYPE: {
705
+ if (options.dataType == null) {
706
+ if (Buffer.isBuffer(value) || (0, utils_1.isNumberArray)(value)) {
707
+ this.writeBuffer(value, value.length);
708
+ break;
709
+ }
710
+ throw new Error("Cannot write USE_DATA_TYPE without dataType option specified");
711
+ }
712
+ this.write(options.dataType, value, options);
713
+ break;
714
+ }
715
+ case enums_1.BuffaloZclDataType.LIST_UINT8: {
716
+ this.writeListUInt8(value);
717
+ break;
718
+ }
719
+ case enums_1.BuffaloZclDataType.LIST_UINT16: {
720
+ this.writeListUInt16(value);
721
+ break;
722
+ }
723
+ case enums_1.BuffaloZclDataType.LIST_UINT24: {
724
+ this.writeListUInt24(value);
725
+ break;
726
+ }
727
+ case enums_1.BuffaloZclDataType.LIST_UINT32: {
728
+ this.writeListUInt32(value);
729
+ break;
730
+ }
731
+ case enums_1.BuffaloZclDataType.LIST_ZONEINFO: {
732
+ this.writeListZoneInfo(value);
733
+ break;
734
+ }
735
+ case enums_1.BuffaloZclDataType.EXTENSION_FIELD_SETS: {
736
+ this.writeExtensionFieldSets(value);
737
+ break;
738
+ }
739
+ case enums_1.BuffaloZclDataType.LIST_THERMO_TRANSITIONS: {
740
+ this.writeListThermoTransitions(value);
741
+ break;
742
+ }
743
+ case enums_1.BuffaloZclDataType.BUFFER: {
744
+ // XXX: inconsistent with read that allows partial with options.length, here always "whole"
745
+ this.writeBuffer(value, value.length);
746
+ break;
747
+ }
748
+ case enums_1.BuffaloZclDataType.GPD_FRAME: {
749
+ this.writeGpdFrame(value);
750
+ break;
751
+ }
752
+ case enums_1.BuffaloZclDataType.STRUCTURED_SELECTOR: {
753
+ this.writeStructuredSelector(value);
754
+ break;
755
+ }
756
+ case enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES: {
757
+ this.writeListTuyaDataPointValues(value);
758
+ break;
759
+ }
760
+ case enums_1.BuffaloZclDataType.LIST_MIBOXER_ZONES: {
761
+ this.writeListMiboxerZones(value);
762
+ break;
763
+ }
764
+ case enums_1.BuffaloZclDataType.BIG_ENDIAN_UINT24: {
765
+ this.writeBigEndianUInt24(value);
766
+ break;
767
+ }
768
+ default: {
769
+ // In case the type is undefined, write it as a buffer to easily allow for custom types
770
+ // e.g. for https://github.com/Koenkk/zigbee-herdsman/issues/127
771
+ if (Buffer.isBuffer(value) || (0, utils_1.isNumberArray)(value)) {
772
+ this.writeBuffer(value, value.length);
773
+ break;
774
+ }
775
+ throw new Error(`Write for '${type}' not available`);
776
+ }
777
+ }
778
+ }
779
+ // biome-ignore lint/suspicious/noExplicitAny: API
780
+ read(type, options) {
781
+ switch (type) {
782
+ case enums_1.DataType.NO_DATA:
783
+ case enums_1.DataType.UNKNOWN: {
784
+ return; // nothing to write
785
+ }
786
+ case enums_1.DataType.BOOLEAN:
787
+ case enums_1.DataType.DATA8:
788
+ case enums_1.DataType.BITMAP8:
789
+ case enums_1.DataType.UINT8:
790
+ case enums_1.DataType.ENUM8: {
791
+ return this.readUInt8();
792
+ }
793
+ case enums_1.DataType.DATA16:
794
+ case enums_1.DataType.BITMAP16:
795
+ case enums_1.DataType.UINT16:
796
+ case enums_1.DataType.ENUM16:
797
+ case enums_1.DataType.CLUSTER_ID:
798
+ case enums_1.DataType.ATTR_ID: {
799
+ return this.readUInt16();
800
+ }
801
+ case enums_1.DataType.DATA24:
802
+ case enums_1.DataType.BITMAP24:
803
+ case enums_1.DataType.UINT24: {
804
+ return this.readUInt24();
805
+ }
806
+ case enums_1.DataType.DATA32:
807
+ case enums_1.DataType.BITMAP32:
808
+ case enums_1.DataType.UINT32:
809
+ case enums_1.DataType.UTC:
810
+ case enums_1.DataType.BAC_OID: {
811
+ return this.readUInt32();
812
+ }
813
+ case enums_1.DataType.DATA40:
814
+ case enums_1.DataType.BITMAP40:
815
+ case enums_1.DataType.UINT40: {
816
+ return this.readUInt40();
817
+ }
818
+ case enums_1.DataType.DATA48:
819
+ case enums_1.DataType.BITMAP48:
820
+ case enums_1.DataType.UINT48: {
821
+ return this.readUInt48();
822
+ }
823
+ case enums_1.DataType.DATA56:
824
+ case enums_1.DataType.BITMAP56:
825
+ case enums_1.DataType.UINT56: {
826
+ return this.readUInt56();
827
+ }
828
+ case enums_1.DataType.DATA64:
829
+ case enums_1.DataType.BITMAP64:
830
+ case enums_1.DataType.UINT64: {
831
+ return this.readUInt64();
832
+ }
833
+ case enums_1.DataType.INT8: {
834
+ return this.readInt8();
835
+ }
836
+ case enums_1.DataType.INT16: {
837
+ return this.readInt16();
838
+ }
839
+ case enums_1.DataType.INT24: {
840
+ return this.readInt24();
841
+ }
842
+ case enums_1.DataType.INT32: {
843
+ return this.readInt32();
844
+ }
845
+ case enums_1.DataType.INT40: {
846
+ return this.readInt40();
847
+ }
848
+ case enums_1.DataType.INT48: {
849
+ return this.readInt48();
850
+ }
851
+ case enums_1.DataType.INT56: {
852
+ return this.readInt56();
853
+ }
854
+ case enums_1.DataType.INT64: {
855
+ return this.readInt64();
856
+ }
857
+ // case DataType.SEMI_PREC: {
858
+ // // https://tc39.es/proposal-float16array/
859
+ // // not currently used
860
+ // return this.readSemiFloatLE();
861
+ // }
862
+ case enums_1.DataType.SINGLE_PREC: {
863
+ return this.readFloatLE();
864
+ }
865
+ case enums_1.DataType.DOUBLE_PREC: {
866
+ return this.readDoubleLE();
867
+ }
868
+ case enums_1.DataType.OCTET_STR: {
869
+ return this.readOctetStr();
870
+ }
871
+ case enums_1.DataType.CHAR_STR: {
872
+ return this.readCharStr();
873
+ }
874
+ case enums_1.DataType.LONG_OCTET_STR: {
875
+ return this.readLongOctetStr();
876
+ }
877
+ case enums_1.DataType.LONG_CHAR_STR: {
878
+ return this.readLongCharStr();
879
+ }
880
+ case enums_1.DataType.ARRAY:
881
+ case enums_1.DataType.SET:
882
+ case enums_1.DataType.BAG: {
883
+ return this.readArray();
884
+ }
885
+ case enums_1.DataType.STRUCT: {
886
+ return this.readStruct();
887
+ }
888
+ case enums_1.DataType.TOD: {
889
+ return this.readToD();
890
+ }
891
+ case enums_1.DataType.DATE: {
892
+ return this.readDate();
893
+ }
894
+ case enums_1.DataType.IEEE_ADDR: {
895
+ return this.readIeeeAddr();
896
+ }
897
+ case enums_1.DataType.SEC_KEY: {
898
+ return this.readBuffer(SEC_KEY_LENGTH);
899
+ }
900
+ case enums_1.BuffaloZclDataType.USE_DATA_TYPE: {
901
+ if (options.dataType == null) {
902
+ return this.readBuffer(options.length ?? this.buffer.length);
903
+ }
904
+ return this.read(options.dataType, options);
905
+ }
906
+ case enums_1.BuffaloZclDataType.LIST_UINT8: {
907
+ if (options.length == null) {
908
+ throw new Error("Cannot read LIST_UINT8 without length option specified");
909
+ }
910
+ return this.readListUInt8(options.length);
911
+ }
912
+ case enums_1.BuffaloZclDataType.LIST_UINT16: {
913
+ if (options.length == null) {
914
+ throw new Error("Cannot read LIST_UINT16 without length option specified");
915
+ }
916
+ return this.readListUInt16(options.length);
917
+ }
918
+ case enums_1.BuffaloZclDataType.LIST_UINT24: {
919
+ if (options.length == null) {
920
+ throw new Error("Cannot read LIST_UINT24 without length option specified");
921
+ }
922
+ return this.readListUInt24(options.length);
923
+ }
924
+ case enums_1.BuffaloZclDataType.LIST_UINT32: {
925
+ if (options.length == null) {
926
+ throw new Error("Cannot read LIST_UINT32 without length option specified");
927
+ }
928
+ return this.readListUInt32(options.length);
929
+ }
930
+ case enums_1.BuffaloZclDataType.LIST_ZONEINFO: {
931
+ if (options.length == null) {
932
+ throw new Error("Cannot read LIST_ZONEINFO without length option specified");
933
+ }
934
+ return this.readListZoneInfo(options.length);
935
+ }
936
+ case enums_1.BuffaloZclDataType.EXTENSION_FIELD_SETS: {
937
+ return this.readExtensionFieldSets();
938
+ }
939
+ case enums_1.BuffaloZclDataType.LIST_THERMO_TRANSITIONS: {
940
+ return this.readListThermoTransitions(options);
941
+ }
942
+ case enums_1.BuffaloZclDataType.BUFFER: {
943
+ // if length option not specified, read the whole buffer
944
+ return this.readBuffer(options.length ?? this.buffer.length);
945
+ }
946
+ case enums_1.BuffaloZclDataType.GPD_FRAME: {
947
+ return this.readGpdFrame(options);
948
+ }
949
+ case enums_1.BuffaloZclDataType.STRUCTURED_SELECTOR: {
950
+ return this.readStructuredSelector();
951
+ }
952
+ case enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES: {
953
+ return this.readListTuyaDataPointValues();
954
+ }
955
+ case enums_1.BuffaloZclDataType.LIST_MIBOXER_ZONES: {
956
+ return this.readListMiboxerZones();
957
+ }
958
+ case enums_1.BuffaloZclDataType.BIG_ENDIAN_UINT24: {
959
+ return this.readBigEndianUInt24();
960
+ }
961
+ case enums_1.BuffaloZclDataType.MI_STRUCT: {
962
+ return this.readMiStruct();
963
+ }
964
+ }
965
+ throw new Error(`Read for '${type}' not available`);
966
+ }
967
+ }
968
+ exports.BuffaloZcl = BuffaloZcl;
969
+ //# sourceMappingURL=buffaloZcl.js.map