@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,700 @@
1
+ "use strict";
2
+ /* v8 ignore start */
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.frameParserEvents = void 0;
38
+ const node_events_1 = require("node:events");
39
+ const buffalo_1 = require("../../../buffalo");
40
+ const logger_1 = require("../../../utils/logger");
41
+ const Zdo = __importStar(require("../../../zspec/zdo"));
42
+ const constants_1 = require("./constants");
43
+ const driver_1 = require("./driver");
44
+ const NS = "zh:deconz:frameparser";
45
+ const littleEndian = true;
46
+ const lastReceivedGpInd = { srcId: 0, commandId: 0, frameCounter: 0 };
47
+ exports.frameParserEvents = new node_events_1.EventEmitter();
48
+ function parseReadParameterResponse(view) {
49
+ const seqNumber = view.getUint8(1);
50
+ const status = view.getUint8(2);
51
+ const parameterId = view.getUint8(7);
52
+ let pos = 8;
53
+ let result = null;
54
+ if (status !== constants_1.CommandStatus.Success) {
55
+ if (parameterId in constants_1.ParamId) {
56
+ logger_1.logger.debug(`Received read parameter response for ${constants_1.ParamId[parameterId]}, seq: ${seqNumber}, status: ${status}`, NS);
57
+ }
58
+ return result;
59
+ }
60
+ switch (parameterId) {
61
+ case constants_1.ParamId.MAC_ADDRESS: {
62
+ result = view.getBigUint64(pos, littleEndian);
63
+ break;
64
+ }
65
+ case constants_1.ParamId.APS_TRUST_CENTER_ADDRESS: {
66
+ result = view.getBigUint64(pos, littleEndian);
67
+ break;
68
+ }
69
+ case constants_1.ParamId.NWK_PANID: {
70
+ result = view.getUint16(pos, littleEndian);
71
+ break;
72
+ }
73
+ case constants_1.ParamId.STK_PROTOCOL_VERSION: {
74
+ result = view.getUint16(pos, littleEndian);
75
+ break;
76
+ }
77
+ case constants_1.ParamId.NWK_NETWORK_ADDRESS: {
78
+ result = view.getUint16(pos, littleEndian);
79
+ break;
80
+ }
81
+ case constants_1.ParamId.NWK_EXTENDED_PANID: {
82
+ result = view.getBigUint64(pos, littleEndian);
83
+ break;
84
+ }
85
+ case constants_1.ParamId.APS_USE_EXTENDED_PANID: {
86
+ result = view.getBigUint64(pos, littleEndian);
87
+ break;
88
+ }
89
+ case constants_1.ParamId.STK_NETWORK_KEY: {
90
+ result = Buffer.alloc(16);
91
+ pos += 1; // key index
92
+ for (let i = 0; i < 16; i++) {
93
+ result[i] = view.getUint8(pos);
94
+ pos += 1;
95
+ }
96
+ break;
97
+ }
98
+ case constants_1.ParamId.STK_CURRENT_CHANNEL: {
99
+ result = view.getUint8(pos);
100
+ break;
101
+ }
102
+ case constants_1.ParamId.STK_ENDPOINT: {
103
+ result = Buffer.alloc(view.byteLength - pos);
104
+ for (let i = 0; pos < view.byteLength; i++, pos++) {
105
+ result[i] = view.getUint8(pos);
106
+ }
107
+ break;
108
+ }
109
+ case constants_1.ParamId.APS_CHANNEL_MASK: {
110
+ result = view.getUint32(pos, littleEndian);
111
+ break;
112
+ }
113
+ case constants_1.ParamId.STK_FRAME_COUNTER: {
114
+ result = view.getUint32(pos, littleEndian);
115
+ break;
116
+ }
117
+ case constants_1.ParamId.STK_PERMIT_JOIN: {
118
+ result = view.getUint8(pos);
119
+ break;
120
+ }
121
+ case constants_1.ParamId.DEV_WATCHDOG_TTL: {
122
+ result = view.getUint32(pos, littleEndian);
123
+ break;
124
+ }
125
+ case constants_1.ParamId.STK_NWK_UPDATE_ID: {
126
+ result = view.getUint8(pos);
127
+ break;
128
+ }
129
+ default:
130
+ //throw new Error(`unknown parameter id ${parameterId}`);
131
+ logger_1.logger.debug(`unknown parameter id ${parameterId}`, NS);
132
+ break;
133
+ }
134
+ if (parameterId in constants_1.ParamId) {
135
+ let p = result;
136
+ if (parameterId === constants_1.ParamId.STK_NETWORK_KEY) {
137
+ // don't show in logs
138
+ p = "<hidden>";
139
+ }
140
+ else if (typeof result === "bigint") {
141
+ p = `0x${result.toString(16).padStart(16, "0")}`;
142
+ }
143
+ logger_1.logger.debug(`Received read parameter response for ${constants_1.ParamId[parameterId]}, seq: ${seqNumber}, status: ${status}, parameter: ${p}`, NS);
144
+ }
145
+ return result;
146
+ }
147
+ function parseReadFirmwareResponse(view) {
148
+ const fw = view.getUint32(5, littleEndian);
149
+ logger_1.logger.debug(`read firmware version response - version: 0x${fw.toString(16)}`, NS);
150
+ return fw;
151
+ }
152
+ function parseDeviceStateResponse(view) {
153
+ const deviceState = view.getUint8(5);
154
+ exports.frameParserEvents.emit("deviceStateUpdated", deviceState);
155
+ return deviceState;
156
+ }
157
+ function parseChangeNetworkStateResponse(view) {
158
+ const status = view.getUint8(2);
159
+ const state = view.getUint8(5);
160
+ logger_1.logger.debug(`change network state - status: ${status} new state: ${state}`, NS);
161
+ return state;
162
+ }
163
+ function parseApsConfirmResponse(view) {
164
+ const buf = new buffalo_1.Buffalo(Buffer.from(view.buffer));
165
+ const commandId = buf.readUInt8();
166
+ const seqNr = buf.readUInt8();
167
+ const status = buf.readUInt8();
168
+ if (status !== constants_1.CommandStatus.Success) {
169
+ logger_1.logger.debug(`Response APS-DATA.confirm seq: ${seqNr} status: ${constants_1.CommandStatus[status]} (error)`, NS);
170
+ return null;
171
+ }
172
+ const frameLength = buf.readUInt16();
173
+ const payloadLength = buf.readUInt16();
174
+ // payload
175
+ const deviceState = buf.readUInt8();
176
+ const requestId = buf.readUInt8();
177
+ const destAddrMode = buf.readUInt8();
178
+ let destAddr64;
179
+ let destAddr16;
180
+ let destEndpoint;
181
+ let destAddr = "";
182
+ if (destAddrMode === constants_1.ApsAddressMode.Nwk) {
183
+ destAddr16 = buf.readUInt16();
184
+ destAddr = destAddr16.toString(16).padStart(4, "0");
185
+ destEndpoint = buf.readUInt8();
186
+ }
187
+ else if (destAddrMode === constants_1.ApsAddressMode.Group) {
188
+ destAddr16 = buf.readUInt16();
189
+ destAddr = destAddr16.toString(16).padStart(4, "0");
190
+ }
191
+ else if (destAddrMode === constants_1.ApsAddressMode.Ieee) {
192
+ destAddr64 = buf.readUInt64().toString(16).padStart(16, "0");
193
+ destAddr = destAddr64;
194
+ destEndpoint = buf.readUInt8();
195
+ }
196
+ else {
197
+ logger_1.logger.debug(`Response APS-DATA.confirm seq: ${seqNr} unsupported address mode: ${destAddrMode}`, NS);
198
+ }
199
+ const srcEndpoint = buf.readUInt8();
200
+ const confirmStatus = buf.readUInt8();
201
+ // resolve APS-DATA.request promise
202
+ const i = driver_1.apsBusyQueue.findIndex((r) => r.request && r.request.requestId === requestId);
203
+ if (i < 0) {
204
+ logger_1.logger.debug(`Response APS-DATA.confirm seq: ${seqNr} but no matching request`, NS);
205
+ return null;
206
+ }
207
+ const req = driver_1.apsBusyQueue[i];
208
+ //remove from busyqueue
209
+ driver_1.apsBusyQueue.splice(i, 1);
210
+ let strstatus = "unknown";
211
+ const hexstatus = `0x${confirmStatus.toString(16).padStart(2, "0")}`;
212
+ if (confirmStatus in constants_1.ApsStatusCode) {
213
+ strstatus = constants_1.ApsStatusCode[confirmStatus];
214
+ }
215
+ // TODO(mpi): This function should not change the queue and resolve/reject the request promise.
216
+ // It should only do what the name says and remaining parts handled in upper callframe.
217
+ if (confirmStatus === constants_1.ApsStatusCode.Success) {
218
+ req.resolve(confirmStatus);
219
+ }
220
+ else {
221
+ // if the request failed check if we can resend with APS ACK enabled
222
+ const hasTimeLeft = Date.now() - req.ts < req.request.timeout;
223
+ if (req.request.txOptions === 0 && hasTimeLeft && req.request.destAddrMode === constants_1.ApsAddressMode.Nwk) {
224
+ req.request.txOptions = 0x04;
225
+ logger_1.logger.debug(`Resend request with APS ACK enabled seq: ${seqNr}`, NS);
226
+ driver_1.apsQueue.push(req);
227
+ }
228
+ else {
229
+ req.reject(new Error(`Failed APS-DATA.request with confirm status: ${strstatus} (${hexstatus})`));
230
+ }
231
+ }
232
+ logger_1.logger.debug(`APS-DATA.confirm destAddr: 0x${destAddr} APS request id: ${requestId} confirm status: ${strstatus} ${hexstatus}`, NS);
233
+ exports.frameParserEvents.emit("deviceStateUpdated", deviceState);
234
+ return {
235
+ commandId,
236
+ seqNr,
237
+ status,
238
+ frameLength,
239
+ payloadLength,
240
+ deviceState,
241
+ requestId,
242
+ destAddrMode,
243
+ destAddr16,
244
+ destAddr64,
245
+ destEndpoint,
246
+ srcEndpoint,
247
+ confirmStatus,
248
+ };
249
+ }
250
+ // TODO(mpi): The ../buffalo/buffalo.ts already provides this, so we should reuse it instead of a own implementation?!
251
+ class UDataView {
252
+ littleEndian = true;
253
+ pos = 0;
254
+ view;
255
+ constructor(view, littleEndian) {
256
+ this.view = view;
257
+ this.littleEndian = littleEndian;
258
+ }
259
+ getI8() {
260
+ if (this.pos + 1 <= this.view.byteLength) {
261
+ this.pos += 1;
262
+ return this.view.getInt8(this.pos - 1);
263
+ }
264
+ throw new RangeError();
265
+ }
266
+ getU8() {
267
+ if (this.pos + 1 <= this.view.byteLength) {
268
+ this.pos += 1;
269
+ return this.view.getUint8(this.pos - 1);
270
+ }
271
+ throw new RangeError();
272
+ }
273
+ getU16() {
274
+ if (this.pos + 2 <= this.view.byteLength) {
275
+ this.pos += 2;
276
+ return this.view.getUint16(this.pos - 2, this.littleEndian);
277
+ }
278
+ throw new RangeError();
279
+ }
280
+ getU32() {
281
+ if (this.pos + 4 <= this.view.byteLength) {
282
+ this.pos += 4;
283
+ return this.view.getUint16(this.pos - 4, this.littleEndian);
284
+ }
285
+ throw new RangeError();
286
+ }
287
+ getU64() {
288
+ if (this.pos + 8 <= this.view.byteLength) {
289
+ this.pos += 8;
290
+ return this.view.getBigUint64(this.pos - 8, this.littleEndian);
291
+ }
292
+ throw new RangeError();
293
+ }
294
+ }
295
+ function parseApsDataIndicationResponse(inview) {
296
+ // min 28 bytelength
297
+ try {
298
+ const uview = new UDataView(inview, true);
299
+ const commandId = uview.getU8();
300
+ const seqNr = uview.getU8();
301
+ const status = uview.getU8();
302
+ if (status !== constants_1.CommandStatus.Success) {
303
+ logger_1.logger.debug(`Response APS-DATA.indication seq: ${seqNr} status: ${constants_1.CommandStatus[status]}`, NS);
304
+ return null;
305
+ }
306
+ const frameLength = uview.getU16();
307
+ const payloadLength = uview.getU16();
308
+ //------ start of payload ----------------------------------
309
+ const deviceState = uview.getU8();
310
+ const destAddrMode = uview.getU8();
311
+ let destAddr64;
312
+ let destAddr16;
313
+ let destAddr;
314
+ if (destAddrMode === constants_1.ApsAddressMode.Ieee) {
315
+ destAddr64 = uview.getU64().toString(16).padStart(16, "0");
316
+ destAddr16 = 0xfffe;
317
+ destAddr = destAddr64;
318
+ }
319
+ else if (destAddrMode === constants_1.ApsAddressMode.Nwk || destAddrMode === constants_1.ApsAddressMode.Group) {
320
+ destAddr16 = uview.getU16();
321
+ destAddr = destAddr16.toString(16);
322
+ }
323
+ else {
324
+ throw new Error(`unsupported destination address mode: ${destAddrMode}`);
325
+ }
326
+ const destEndpoint = uview.getU8();
327
+ const srcAddrMode = uview.getU8();
328
+ let srcAddr64;
329
+ let srcAddr16 = 0xfffe;
330
+ let srcAddr;
331
+ if (srcAddrMode === constants_1.ApsAddressMode.Nwk || srcAddrMode === constants_1.ApsAddressMode.NwkAndIeee) {
332
+ srcAddr16 = uview.getU16();
333
+ srcAddr = srcAddr16.toString(16);
334
+ if (srcAddrMode === constants_1.ApsAddressMode.NwkAndIeee) {
335
+ srcAddr64 = uview.getU64().toString(16).padStart(16, "0");
336
+ }
337
+ }
338
+ else {
339
+ throw new Error(`unsupported source address mode: ${srcAddrMode}`);
340
+ }
341
+ // else if (srcAddrMode === PARAM.PARAM.addressMode.IEEE_ADDR) {
342
+ // srcAddr64 = uview.getU64().toString(16).padStart(16, '0');
343
+ // srcAddr = srcAddr64;
344
+ // }
345
+ const srcEndpoint = uview.getU8();
346
+ const profileId = uview.getU16();
347
+ const clusterId = uview.getU16();
348
+ const asduLength = uview.getU16();
349
+ const asdu = new Uint8Array(asduLength);
350
+ for (let i = 0; i < asduLength; i++) {
351
+ asdu[i] = uview.getU8();
352
+ }
353
+ // The following two bytes depends on protocol version 2 or 3
354
+ // for now just discard
355
+ uview.getU16();
356
+ const lqi = uview.getU8();
357
+ // version >= 2
358
+ let rssi = 0;
359
+ try {
360
+ rssi = uview.getI8();
361
+ }
362
+ catch (_) { }
363
+ logger_1.logger.debug(`Response APS-DATA.indication seq: ${seqNr} srcAddr: 0x${srcAddr} destAddr: 0x${destAddr} profile id: 0x${profileId.toString(16).padStart(4, "0")} cluster id: 0x${clusterId.toString(16).padStart(4, "0")} lqi: ${lqi}`, NS);
364
+ //logger.debug(`Response payload: [${Array.from(asdu).map(x =>x.toString(16).padStart(2, '0')).join(' ')}]`, NS);
365
+ exports.frameParserEvents.emit("deviceStateUpdated", deviceState);
366
+ const asduPayload = Buffer.from(asdu);
367
+ const response = {
368
+ commandId,
369
+ seqNr,
370
+ status,
371
+ frameLength,
372
+ payloadLength,
373
+ deviceState,
374
+ destAddrMode,
375
+ destAddr16,
376
+ destAddr64,
377
+ destEndpoint,
378
+ srcAddrMode,
379
+ srcAddr16,
380
+ srcAddr64,
381
+ srcEndpoint,
382
+ profileId,
383
+ clusterId,
384
+ asduLength,
385
+ asduPayload,
386
+ lqi,
387
+ rssi,
388
+ zdo: profileId === Zdo.ZDO_PROFILE_ID ? Zdo.Buffalo.readResponse(true, clusterId, asduPayload) : undefined,
389
+ };
390
+ exports.frameParserEvents.emit("receivedDataPayload", response);
391
+ return response;
392
+ }
393
+ catch (error) {
394
+ logger_1.logger.debug(`Response APS-DATA.indication error: ${error}`, NS);
395
+ return null;
396
+ }
397
+ }
398
+ function parseApsDataRequestResponse(view) {
399
+ try {
400
+ const status = view.getUint8(2);
401
+ const requestId = view.getUint8(8);
402
+ const deviceState = view.getUint8(7);
403
+ logger_1.logger.debug(`Response APS-DATA.request APS request id: ${requestId} status: ${constants_1.CommandStatus[status]}`, NS);
404
+ exports.frameParserEvents.emit("deviceStateUpdated", deviceState);
405
+ return deviceState;
406
+ }
407
+ catch (error) {
408
+ logger_1.logger.debug(`parseEnqueueSendDataResponse - ${error}`, NS);
409
+ return null;
410
+ }
411
+ }
412
+ function parseWriteParameterResponse(view) {
413
+ try {
414
+ const status = view.getUint8(2);
415
+ const parameterId = view.getUint8(7);
416
+ if (parameterId in constants_1.ParamId) {
417
+ // should always be true
418
+ logger_1.logger.debug(`Write parameter response parameter: ${constants_1.ParamId[parameterId]}, status: ${constants_1.CommandStatus[status]}`, NS);
419
+ }
420
+ return parameterId;
421
+ }
422
+ catch (error) {
423
+ logger_1.logger.debug(`parseWriteParameterResponse - ${error}`, NS);
424
+ return null;
425
+ }
426
+ }
427
+ function parseDeviceStateChangedNotification(view) {
428
+ try {
429
+ const deviceState = view.getUint8(5);
430
+ exports.frameParserEvents.emit("deviceStateUpdated", deviceState);
431
+ return deviceState;
432
+ }
433
+ catch (error) {
434
+ logger_1.logger.debug(`parsedeviceStateUpdated - ${error}`, NS);
435
+ return null;
436
+ }
437
+ }
438
+ // The ApplicationID sub-field contains the information about the application used by the GPD.
439
+ // ApplicationID = 0b000 indicates the GPD_ID field has the length of 4B and contains the GPD SrcID.
440
+ // ApplicationID = 0b010 indicates the GPD_ID field has the length of 8B and contains the GPD IEEE address.
441
+ var GpApplicationId;
442
+ (function (GpApplicationId) {
443
+ GpApplicationId[GpApplicationId["SrcId4B"] = 0] = "SrcId4B";
444
+ GpApplicationId[GpApplicationId["Lped"] = 1] = "Lped";
445
+ GpApplicationId[GpApplicationId["Ieee8B"] = 2] = "Ieee8B";
446
+ })(GpApplicationId || (GpApplicationId = {}));
447
+ var GpSecurityLevel;
448
+ (function (GpSecurityLevel) {
449
+ GpSecurityLevel[GpSecurityLevel["NoSecurity"] = 0] = "NoSecurity";
450
+ // TODO(mpi): "Reserved" is noted in the available spec but the code defined it as follows:
451
+ GpSecurityLevel[GpSecurityLevel["Reserved"] = 1] = "Reserved";
452
+ GpSecurityLevel[GpSecurityLevel["FrameCounter4BMic4B"] = 2] = "FrameCounter4BMic4B";
453
+ GpSecurityLevel[GpSecurityLevel["EncryptionFrameCounter4BMic4B"] = 3] = "EncryptionFrameCounter4BMic4B";
454
+ })(GpSecurityLevel || (GpSecurityLevel = {}));
455
+ var ZgpConstants;
456
+ (function (ZgpConstants) {
457
+ ZgpConstants[ZgpConstants["GpNwkProtocolVersion"] = 3] = "GpNwkProtocolVersion";
458
+ ZgpConstants[ZgpConstants["GpNwkDataFrame"] = 0] = "GpNwkDataFrame";
459
+ ZgpConstants[ZgpConstants["GpNwkMaintenanceFrame"] = 1] = "GpNwkMaintenanceFrame";
460
+ ZgpConstants[ZgpConstants["GpMinMsduSize"] = 1] = "GpMinMsduSize";
461
+ ZgpConstants[ZgpConstants["GpAutoCommissioningFlag"] = 64] = "GpAutoCommissioningFlag";
462
+ ZgpConstants[ZgpConstants["GpNwkFrameControlExtensionFlag"] = 128] = "GpNwkFrameControlExtensionFlag";
463
+ })(ZgpConstants || (ZgpConstants = {}));
464
+ function parseGreenPowerDataIndication(view) {
465
+ try {
466
+ let srcId = 0;
467
+ let frameCounter = 0;
468
+ let commandId = 0;
469
+ let commandFrameSize = 0;
470
+ let commandFrame;
471
+ const buf = new buffalo_1.Buffalo(Buffer.from(view.buffer));
472
+ const _fwCommandId = buf.readUInt8();
473
+ const seqNr = buf.readUInt8();
474
+ const fwStatus = buf.readUInt8();
475
+ if (fwStatus !== constants_1.CommandStatus.Success) {
476
+ return null;
477
+ }
478
+ const _frameLength = buf.readUInt16();
479
+ const _payloadLength = buf.readUInt16();
480
+ // payload
481
+ // implementation ported from deCONZ GP code
482
+ const nwkFrameControl = buf.readUInt8();
483
+ // check frame type
484
+ const frameType = nwkFrameControl & 0x03;
485
+ if (frameType !== ZgpConstants.GpNwkDataFrame && frameType !== ZgpConstants.GpNwkMaintenanceFrame) {
486
+ return null;
487
+ }
488
+ // check green power protocol version
489
+ if (((nwkFrameControl >> 2) & 0x03) !== ZgpConstants.GpNwkProtocolVersion) {
490
+ return null;
491
+ }
492
+ // extended frame control
493
+ let nwkExtFrameControl = 0;
494
+ const hasExtensionFlag = nwkFrameControl & ZgpConstants.GpNwkFrameControlExtensionFlag;
495
+ if (hasExtensionFlag) {
496
+ nwkExtFrameControl = buf.readUInt8();
497
+ }
498
+ const options = nwkExtFrameControl | (nwkFrameControl << 8);
499
+ const applicationId = nwkExtFrameControl & 7;
500
+ const securityLevel = (nwkExtFrameControl >> 3) & 3;
501
+ if (applicationId !== GpApplicationId.SrcId4B && applicationId !== GpApplicationId.Ieee8B) {
502
+ return null; // NOTE: GpApplicationId.Lped (1) should be dropped as per spec
503
+ }
504
+ // The GPDSrcID field is present if the Frame Type sub-field is set to 0b00 and the ApplicationID sub-
505
+ // field of the Extended NWK Frame Control field is set to 0b000 (or not present).
506
+ if (applicationId === GpApplicationId.SrcId4B &&
507
+ frameType === ZgpConstants.GpNwkDataFrame /*|| (frameType === ZgpConstants.GpNwkMaintenanceFrame && hasExtensionFlag) */) {
508
+ srcId = buf.readUInt32();
509
+ }
510
+ // TODO(mpi): for applicationId == GpApplicationId.Ieee8B:
511
+ // currently Ieee addresses aren't supported, do they actually appear?!
512
+ // these need be extracted from MAC header which we don't have here (this is only the NWK payload).
513
+ // frame counter filed
514
+ frameCounter = 0;
515
+ let micSize = 0;
516
+ if (hasExtensionFlag && frameType === ZgpConstants.GpNwkDataFrame) {
517
+ if (applicationId === GpApplicationId.Ieee8B) {
518
+ const _endpoint = buf.readUInt8();
519
+ }
520
+ // If the SecurityLevel is set to 0b00, the SecurityKey sub-field is ignored on reception, and the
521
+ // fields Security frame counter and MIC are not present.
522
+ if (securityLevel === GpSecurityLevel.Reserved) {
523
+ micSize = 2; // TODO(mpi) does this actually exists? Check recent specs!
524
+ }
525
+ else if (securityLevel === GpSecurityLevel.FrameCounter4BMic4B || securityLevel === GpSecurityLevel.EncryptionFrameCounter4BMic4B) {
526
+ frameCounter = buf.readUInt32();
527
+ micSize = 4;
528
+ }
529
+ }
530
+ if (!buf.isMore()) {
531
+ return null;
532
+ }
533
+ if (applicationId === GpApplicationId.SrcId4B || applicationId === GpApplicationId.Ieee8B) {
534
+ commandId = buf.readUInt8();
535
+ commandFrameSize = buf.getBuffer().length - buf.getPosition() - micSize;
536
+ //logger.debug(`GPD payload length: ${commandFrameSize}, mic size: ${micSize}`, NS);
537
+ if (commandFrameSize < 0) {
538
+ logger_1.logger.error(`GPD payload length < 0: ${commandFrameSize}`, NS);
539
+ return null;
540
+ }
541
+ commandFrame = Buffer.from(buf.readBuffer(commandFrameSize)); // copy
542
+ }
543
+ // NOTE(mpi): The old adapter treated (view.byteLength < 30) as notification, larger as commissioning?!
544
+ // The controller thus rejected commissioning frames.
545
+ const id = 0; // 0 = notification, 4 = commissioning
546
+ if (commandFrame === undefined) {
547
+ logger_1.logger.debug("GPD discard frame since commandFrame is null?!", NS);
548
+ return null;
549
+ }
550
+ const ind = {
551
+ seqNr,
552
+ id,
553
+ options,
554
+ srcId,
555
+ frameCounter,
556
+ commandId,
557
+ commandFrameSize,
558
+ commandFrame,
559
+ };
560
+ // TODO(mpi): This only tracks one frame, might be a bit optimistic
561
+ if (!(lastReceivedGpInd.srcId === srcId && lastReceivedGpInd.commandId === commandId && lastReceivedGpInd.frameCounter === frameCounter)) {
562
+ lastReceivedGpInd.srcId = srcId;
563
+ lastReceivedGpInd.commandId = commandId;
564
+ lastReceivedGpInd.frameCounter = frameCounter;
565
+ //logger.debug(`GP_DATA_INDICATION - src id: ${srcId} cmd id: ${commandId} frameCounter: ${frameCounter}`, NS);
566
+ logger_1.logger.debug(`GP_DATA_INDICATION - src id: 0x${srcId.toString(16)} cmd id: 0x${commandId.toString(16)} frameCounter: 0x${frameCounter.toString(16)}`, NS);
567
+ exports.frameParserEvents.emit("receivedGreenPowerIndication", ind);
568
+ }
569
+ return ind;
570
+ }
571
+ catch (error) {
572
+ logger_1.logger.debug(`GREEN_POWER INDICATION - ${error}`, NS);
573
+ return null;
574
+ }
575
+ }
576
+ function parseMacPollCommand(_view) {
577
+ //logger.debug("Received command MAC_POLL", NS);
578
+ return constants_1.FirmwareCommand.MacPollIndication;
579
+ }
580
+ function parseBeaconRequest(_view) {
581
+ logger_1.logger.debug("Received Beacon Request", NS);
582
+ return constants_1.FirmwareCommand.Beacon;
583
+ }
584
+ function parseDebugLog(view) {
585
+ let dbg = "";
586
+ const buf = new buffalo_1.Buffalo(Buffer.from(view.buffer));
587
+ /* const commandId = */ buf.readUInt8();
588
+ /* const seqNr = */ buf.readUInt8();
589
+ const status = buf.readUInt8();
590
+ if (status !== constants_1.CommandStatus.Success) {
591
+ // unlikely
592
+ return null;
593
+ }
594
+ /* const frameLength = */ buf.readUInt16();
595
+ const payloadLength = buf.readUInt16();
596
+ for (let i = 0; i < payloadLength && buf.isMore(); i++) {
597
+ const ch = buf.readUInt8();
598
+ if (ch >= 32 && ch <= 127) {
599
+ dbg += String.fromCharCode(ch);
600
+ }
601
+ }
602
+ if (dbg.length !== 0) {
603
+ logger_1.logger.debug(`firmware log: ${dbg}`, NS);
604
+ }
605
+ return null;
606
+ }
607
+ function parseUnknownCommand(view) {
608
+ const id = view.getUint8(0);
609
+ if (id in constants_1.FirmwareCommand) {
610
+ logger_1.logger.debug(`received unsupported command: ${constants_1.FirmwareCommand[id]} id: 0x${id.toString(16).padStart(2, "0")}`, NS);
611
+ }
612
+ else {
613
+ logger_1.logger.debug(`received unknown command: id: 0x${id.toString(16).padStart(2, "0")}`, NS);
614
+ }
615
+ return id;
616
+ }
617
+ function getParserForCommandId(id) {
618
+ switch (id) {
619
+ case constants_1.FirmwareCommand.ReadParameter:
620
+ return parseReadParameterResponse;
621
+ case constants_1.FirmwareCommand.WriteParameter:
622
+ return parseWriteParameterResponse;
623
+ case constants_1.FirmwareCommand.FirmwareVersion:
624
+ return parseReadFirmwareResponse;
625
+ case constants_1.FirmwareCommand.Status:
626
+ return parseDeviceStateResponse;
627
+ case constants_1.FirmwareCommand.ApsDataIndication:
628
+ return parseApsDataIndicationResponse;
629
+ case constants_1.FirmwareCommand.ApsDataRequest:
630
+ return parseApsDataRequestResponse;
631
+ case constants_1.FirmwareCommand.ApsDataConfirm:
632
+ return parseApsConfirmResponse;
633
+ case constants_1.FirmwareCommand.StatusChangeIndication:
634
+ return parseDeviceStateChangedNotification;
635
+ case constants_1.FirmwareCommand.ChangeNetworkState:
636
+ return parseChangeNetworkStateResponse;
637
+ case constants_1.FirmwareCommand.ZgpDataIndication:
638
+ return parseGreenPowerDataIndication;
639
+ case constants_1.FirmwareCommand.MacPollIndication:
640
+ return parseMacPollCommand;
641
+ case constants_1.FirmwareCommand.Beacon:
642
+ return parseBeaconRequest;
643
+ case constants_1.FirmwareCommand.DebugLog:
644
+ return parseDebugLog;
645
+ default:
646
+ return parseUnknownCommand;
647
+ //throw new Error(`unknown command id ${id}`);
648
+ }
649
+ }
650
+ function processFrame(frame) {
651
+ const [seqNumber, status, command, commandId] = parseFrame(frame);
652
+ // logger.debug(`Process frame with cmd: 0x${commandId.toString(16).padStart(2,'0')}, seq: ${seqNumber} status: ${status}`, NS);
653
+ let queue = driver_1.busyQueue;
654
+ if (commandId === constants_1.FirmwareCommand.ApsDataRequest) {
655
+ queue = driver_1.apsBusyQueue;
656
+ }
657
+ const i = queue.findIndex((r) => r.seqNumber === seqNumber && r.commandId === commandId);
658
+ if (i < 0) {
659
+ return;
660
+ }
661
+ const req = queue[i];
662
+ if (commandId === constants_1.FirmwareCommand.ApsDataRequest) {
663
+ if (status === constants_1.CommandStatus.Success) {
664
+ // wait for APS-DATA.confirm to arrive
665
+ return;
666
+ }
667
+ // TODO(mpi): Within the timeout we should reschedule the APS-DATA.request (given that network state = connected)
668
+ // continue to reject as there will be no APS-DATA.confirm
669
+ }
670
+ //remove from busyqueue
671
+ queue.splice(i, 1);
672
+ if (status === constants_1.CommandStatus.Success) {
673
+ req.resolve(command);
674
+ }
675
+ else if (status === constants_1.CommandStatus.Unsupported && commandId === constants_1.FirmwareCommand.ReadParameter) {
676
+ // resolve anyway to let higher layer handle unsupported
677
+ req.resolve(command);
678
+ }
679
+ else {
680
+ let cmdName;
681
+ if (commandId in constants_1.FirmwareCommand) {
682
+ cmdName = constants_1.FirmwareCommand[commandId];
683
+ }
684
+ else {
685
+ cmdName = `0x${commandId.toString(16).padStart(2, "0")}`;
686
+ }
687
+ req.reject(new Error(`Command ${cmdName} failed with status: ${constants_1.CommandStatus[status]}`));
688
+ }
689
+ }
690
+ function parseFrame(frame) {
691
+ // at this point frame.buffer.length is at least 5 bytes long
692
+ const view = new DataView(frame.buffer);
693
+ const commandId = view.getUint8(0);
694
+ const seqNumber = view.getUint8(1);
695
+ const status = view.getUint8(2);
696
+ const parser = getParserForCommandId(commandId);
697
+ return [seqNumber, status, parser(view), commandId];
698
+ }
699
+ exports.default = processFrame;
700
+ //# sourceMappingURL=frameParser.js.map