@willieee802/zigbee-herdsman 0.48.3 → 0.49.1

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 (1045) hide show
  1. package/.github/ISSUE_TEMPLATE/config.yml +5 -0
  2. package/.github/copilot-instructions.md +689 -0
  3. package/.github/dependabot.yml +22 -0
  4. package/.github/prompts/copilot-instructions-blueprint-generator.prompt.md +294 -0
  5. package/.github/prompts/create-agentsmd.prompt.md +249 -0
  6. package/.github/prompts/create-specification.prompt.md +127 -0
  7. package/.github/prompts/review-and-refactor.prompt.md +15 -0
  8. package/.github/prompts/update-specification.prompt.md +127 -0
  9. package/.github/workflows/ci.yml +70 -0
  10. package/.github/workflows/release-please.yml +18 -0
  11. package/.github/workflows/stale.yml +20 -0
  12. package/.github/workflows/typedoc.yaml +47 -0
  13. package/.release-please-manifest.json +2 -2
  14. package/.vscode/extensions.json +3 -0
  15. package/.vscode/settings.json +11 -0
  16. package/AGENTS.md +441 -0
  17. package/CHANGELOG.md +1283 -0
  18. package/README.md +1 -1
  19. package/biome.json +103 -0
  20. package/dist/adapter/adapter.d.ts.map +1 -1
  21. package/dist/adapter/adapterDiscovery.d.ts.map +1 -0
  22. package/dist/adapter/const.d.ts.map +1 -0
  23. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  24. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  25. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
  26. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  27. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
  28. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  29. package/dist/adapter/ember/utils/initters.d.ts.map +1 -1
  30. package/dist/adapter/events.d.ts.map +1 -1
  31. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  32. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  33. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  34. package/dist/adapter/ezsp/driver/index.d.ts.map +1 -1
  35. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
  36. package/dist/adapter/index.d.ts.map +1 -1
  37. package/dist/adapter/z-stack/adapter/endpoints.d.ts.map +1 -1
  38. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  39. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  40. package/dist/adapter/z-stack/models/startup-options.d.ts.map +1 -1
  41. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -0
  42. package/dist/adapter/zboss/driver.d.ts.map +1 -0
  43. package/dist/adapter/zboss/frame.d.ts.map +1 -0
  44. package/dist/adapter/zboss/frame.js +200 -0
  45. package/dist/adapter/zboss/frame.js.map +1 -0
  46. package/dist/adapter/zboss/uart.d.ts.map +1 -0
  47. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  48. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
  49. package/dist/adapter/zigate/driver/buffaloZiGate.js +70 -62
  50. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  51. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
  52. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  53. package/dist/adapter/zoh/adapter/zohAdapter.d.ts.map +1 -0
  54. package/dist/controller/controller.d.ts.map +1 -1
  55. package/dist/controller/controller.js +524 -350
  56. package/dist/controller/controller.js.map +1 -1
  57. package/dist/controller/database.d.ts.map +1 -1
  58. package/dist/controller/events.d.ts.map +1 -1
  59. package/dist/controller/events.js +0 -110
  60. package/dist/controller/events.js.map +1 -1
  61. package/dist/controller/greenPower.d.ts.map +1 -1
  62. package/dist/controller/greenPower.js +330 -121
  63. package/dist/controller/greenPower.js.map +1 -1
  64. package/dist/controller/helpers/index.d.ts.map +1 -1
  65. package/dist/controller/helpers/ota.d.ts.map +1 -0
  66. package/dist/controller/helpers/ota.js +467 -0
  67. package/dist/controller/helpers/ota.js.map +1 -0
  68. package/dist/controller/helpers/request.d.ts.map +1 -1
  69. package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
  70. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  71. package/dist/controller/helpers/zclFrameConverter.js +36 -22
  72. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  73. package/dist/controller/index.d.ts.map +1 -1
  74. package/dist/controller/model/device.d.ts.map +1 -1
  75. package/dist/controller/model/device.js +1052 -402
  76. package/dist/controller/model/device.js.map +1 -1
  77. package/dist/controller/model/endpoint.d.ts.map +1 -1
  78. package/dist/controller/model/endpoint.js +447 -292
  79. package/dist/controller/model/endpoint.js.map +1 -1
  80. package/dist/controller/model/entity.d.ts.map +1 -1
  81. package/dist/controller/model/group.d.ts.map +1 -1
  82. package/dist/controller/model/group.js +202 -85
  83. package/dist/controller/model/group.js.map +1 -1
  84. package/dist/controller/model/index.d.ts.map +1 -1
  85. package/dist/controller/model/zigbeeEntity.d.ts.map +1 -0
  86. package/dist/controller/touchlink.d.ts.map +1 -1
  87. package/dist/controller/tstype.d.ts.map +1 -1
  88. package/dist/controller/tstype.js +0 -6
  89. package/dist/controller/tstype.js.map +1 -1
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/utils/timeService.d.ts.map +1 -0
  92. package/dist/utils/timeService.js +127 -0
  93. package/dist/utils/timeService.js.map +1 -0
  94. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
  95. package/dist/zspec/zcl/buffaloZcl.js +327 -287
  96. package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
  97. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  98. package/dist/zspec/zcl/definition/cluster.js +6050 -4043
  99. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  100. package/dist/zspec/zcl/definition/clusters-types.d.ts +8135 -0
  101. package/dist/zspec/zcl/definition/clusters-types.d.ts.map +1 -0
  102. package/dist/zspec/zcl/definition/clusters-types.js +3 -0
  103. package/dist/zspec/zcl/definition/clusters-types.js.map +1 -0
  104. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
  105. package/dist/zspec/zcl/definition/foundation.js +170 -99
  106. package/dist/zspec/zcl/definition/foundation.js.map +1 -1
  107. package/dist/zspec/zcl/definition/tstype.d.ts +190 -31
  108. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  109. package/dist/zspec/zcl/definition/tstype.js +0 -1
  110. package/dist/zspec/zcl/definition/tstype.js.map +1 -1
  111. package/dist/zspec/zcl/index.d.ts.map +1 -1
  112. package/dist/zspec/zcl/index.js +23 -13
  113. package/dist/zspec/zcl/index.js.map +1 -1
  114. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  115. package/dist/zspec/zcl/utils.js +288 -103
  116. package/dist/zspec/zcl/utils.js.map +1 -1
  117. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
  118. package/dist/zspec/zcl/zclFrame.js +121 -97
  119. package/dist/zspec/zcl/zclFrame.js.map +1 -1
  120. package/dist/zspec/zcl/zclHeader.d.ts.map +1 -1
  121. package/dist/zspec/zcl/zclHeader.js +13 -13
  122. package/dist/zspec/zcl/zclHeader.js.map +1 -1
  123. package/examples/join-and-log.js +18 -18
  124. package/package.json +23 -3
  125. package/release-please-config.json +8 -8
  126. package/scripts/check-clusters-changes.ts +328 -0
  127. package/scripts/clusters-changes.log +584 -0
  128. package/scripts/clusters-typegen.ts +608 -0
  129. package/scripts/utils.ts +88 -0
  130. package/scripts/zap-update-clusters-report.json +303 -0
  131. package/scripts/zap-update-clusters.ts +1520 -0
  132. package/scripts/zap-update-types.ts +707 -0
  133. package/scripts/zap-xml-clusters-overrides-data.ts +52 -0
  134. package/scripts/zap-xml-clusters-overrides.ts +400 -0
  135. package/scripts/zap-xml-types.ts +146 -0
  136. package/src/adapter/adapter.ts +210 -0
  137. package/src/adapter/adapterDiscovery.ts +736 -0
  138. package/src/adapter/const.ts +12 -0
  139. package/src/adapter/deconz/adapter/deconzAdapter.ts +888 -0
  140. package/src/adapter/deconz/driver/constants.ts +246 -0
  141. package/src/adapter/deconz/driver/driver.ts +1528 -0
  142. package/src/adapter/deconz/driver/frame.ts +11 -0
  143. package/src/adapter/deconz/driver/frameParser.ts +766 -0
  144. package/src/adapter/deconz/driver/parser.ts +45 -0
  145. package/src/adapter/deconz/driver/writer.ts +22 -0
  146. package/src/adapter/deconz/types.d.ts +13 -0
  147. package/src/adapter/ember/adapter/emberAdapter.ts +2262 -0
  148. package/src/adapter/ember/adapter/endpoints.ts +86 -0
  149. package/src/adapter/ember/adapter/oneWaitress.ts +324 -0
  150. package/src/adapter/ember/adapter/tokensManager.ts +780 -0
  151. package/src/adapter/ember/consts.ts +178 -0
  152. package/src/adapter/ember/enums.ts +1746 -0
  153. package/src/adapter/ember/ezsp/buffalo.ts +1392 -0
  154. package/src/adapter/ember/ezsp/consts.ts +148 -0
  155. package/src/adapter/ember/ezsp/enums.ts +1114 -0
  156. package/src/adapter/ember/ezsp/ezsp.ts +9073 -0
  157. package/src/adapter/ember/ezspError.ts +10 -0
  158. package/src/adapter/ember/types.ts +866 -0
  159. package/src/adapter/ember/uart/ash.ts +1933 -0
  160. package/src/adapter/ember/uart/consts.ts +109 -0
  161. package/src/adapter/ember/uart/enums.ts +192 -0
  162. package/src/adapter/ember/uart/parser.ts +42 -0
  163. package/src/adapter/ember/uart/queues.ts +247 -0
  164. package/src/adapter/ember/uart/writer.ts +50 -0
  165. package/src/adapter/ember/utils/initters.ts +58 -0
  166. package/src/adapter/ember/utils/math.ts +71 -0
  167. package/src/adapter/events.ts +21 -0
  168. package/src/adapter/ezsp/adapter/backup.ts +100 -0
  169. package/src/adapter/ezsp/adapter/ezspAdapter.ts +632 -0
  170. package/src/adapter/ezsp/driver/commands.ts +2497 -0
  171. package/src/adapter/ezsp/driver/consts.ts +11 -0
  172. package/src/adapter/ezsp/driver/driver.ts +1002 -0
  173. package/src/adapter/ezsp/driver/ezsp.ts +802 -0
  174. package/src/adapter/ezsp/driver/frame.ts +101 -0
  175. package/src/adapter/ezsp/driver/index.ts +4 -0
  176. package/src/adapter/ezsp/driver/multicast.ts +78 -0
  177. package/src/adapter/ezsp/driver/parser.ts +81 -0
  178. package/src/adapter/ezsp/driver/types/basic.ts +201 -0
  179. package/src/adapter/ezsp/driver/types/index.ts +239 -0
  180. package/src/adapter/ezsp/driver/types/named.ts +2330 -0
  181. package/src/adapter/ezsp/driver/types/struct.ts +844 -0
  182. package/src/adapter/ezsp/driver/uart.ts +460 -0
  183. package/src/adapter/ezsp/driver/utils/crc16ccitt.ts +44 -0
  184. package/src/adapter/ezsp/driver/utils/index.ts +32 -0
  185. package/src/adapter/ezsp/driver/writer.ts +64 -0
  186. package/src/adapter/index.ts +3 -0
  187. package/src/adapter/serialPort.ts +58 -0
  188. package/src/adapter/tstype.ts +57 -0
  189. package/src/adapter/utils.ts +41 -0
  190. package/src/adapter/z-stack/adapter/adapter-backup.ts +509 -0
  191. package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +457 -0
  192. package/src/adapter/z-stack/adapter/endpoints.ts +60 -0
  193. package/src/adapter/z-stack/adapter/manager.ts +543 -0
  194. package/src/adapter/z-stack/adapter/tstype.ts +6 -0
  195. package/src/adapter/z-stack/adapter/zStackAdapter.ts +1350 -0
  196. package/src/adapter/z-stack/constants/af.ts +27 -0
  197. package/src/adapter/z-stack/constants/common.ts +285 -0
  198. package/src/adapter/z-stack/constants/dbg.ts +23 -0
  199. package/src/adapter/z-stack/constants/index.ts +11 -0
  200. package/src/adapter/z-stack/constants/mac.ts +128 -0
  201. package/src/adapter/z-stack/constants/sapi.ts +25 -0
  202. package/src/adapter/z-stack/constants/sys.ts +72 -0
  203. package/src/adapter/z-stack/constants/util.ts +82 -0
  204. package/src/adapter/z-stack/constants/utils.ts +14 -0
  205. package/src/adapter/z-stack/constants/zdo.ts +103 -0
  206. package/src/adapter/z-stack/models/startup-options.ts +13 -0
  207. package/src/adapter/z-stack/structs/entries/address-manager-entry.ts +44 -0
  208. package/src/adapter/z-stack/structs/entries/address-manager-table.ts +19 -0
  209. package/src/adapter/z-stack/structs/entries/aps-link-key-data-entry.ts +12 -0
  210. package/src/adapter/z-stack/structs/entries/aps-link-key-data-table.ts +21 -0
  211. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-entry.ts +19 -0
  212. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-table.ts +21 -0
  213. package/src/adapter/z-stack/structs/entries/channel-list.ts +8 -0
  214. package/src/adapter/z-stack/structs/entries/has-configured.ts +16 -0
  215. package/src/adapter/z-stack/structs/entries/index.ts +16 -0
  216. package/src/adapter/z-stack/structs/entries/nib.ts +66 -0
  217. package/src/adapter/z-stack/structs/entries/nwk-key-descriptor.ts +15 -0
  218. package/src/adapter/z-stack/structs/entries/nwk-key.ts +13 -0
  219. package/src/adapter/z-stack/structs/entries/nwk-pan-id.ts +8 -0
  220. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.ts +20 -0
  221. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.ts +19 -0
  222. package/src/adapter/z-stack/structs/entries/security-manager-entry.ts +33 -0
  223. package/src/adapter/z-stack/structs/entries/security-manager-table.ts +22 -0
  224. package/src/adapter/z-stack/structs/index.ts +4 -0
  225. package/src/adapter/z-stack/structs/serializable-memory-object.ts +14 -0
  226. package/src/adapter/z-stack/structs/struct.ts +367 -0
  227. package/src/adapter/z-stack/structs/table.ts +198 -0
  228. package/src/adapter/z-stack/unpi/constants.ts +33 -0
  229. package/src/adapter/z-stack/unpi/frame.ts +62 -0
  230. package/src/adapter/z-stack/unpi/index.ts +4 -0
  231. package/src/adapter/z-stack/unpi/parser.ts +67 -0
  232. package/src/adapter/z-stack/unpi/writer.ts +37 -0
  233. package/src/adapter/z-stack/utils/channel-list.ts +40 -0
  234. package/src/adapter/z-stack/utils/index.ts +2 -0
  235. package/src/adapter/z-stack/utils/network-options.ts +26 -0
  236. package/src/adapter/z-stack/znp/buffaloZnp.ts +175 -0
  237. package/src/adapter/z-stack/znp/definition.ts +2713 -0
  238. package/src/adapter/z-stack/znp/index.ts +2 -0
  239. package/src/adapter/z-stack/znp/parameterType.ts +22 -0
  240. package/src/adapter/z-stack/znp/tstype.ts +44 -0
  241. package/src/adapter/z-stack/znp/utils.ts +10 -0
  242. package/src/adapter/z-stack/znp/znp.ts +345 -0
  243. package/src/adapter/z-stack/znp/zpiObject.ts +148 -0
  244. package/src/adapter/zboss/adapter/zbossAdapter.ts +535 -0
  245. package/src/adapter/zboss/commands.ts +1184 -0
  246. package/src/adapter/zboss/consts.ts +9 -0
  247. package/src/adapter/zboss/driver.ts +422 -0
  248. package/src/adapter/zboss/enums.ts +360 -0
  249. package/src/adapter/zboss/frame.ts +227 -0
  250. package/src/adapter/zboss/reader.ts +65 -0
  251. package/src/adapter/zboss/types.ts +0 -0
  252. package/src/adapter/zboss/uart.ts +428 -0
  253. package/src/adapter/zboss/utils.ts +58 -0
  254. package/src/adapter/zboss/writer.ts +49 -0
  255. package/src/adapter/zigate/adapter/patchZdoBuffaloBE.ts +25 -0
  256. package/src/adapter/zigate/adapter/zigateAdapter.ts +633 -0
  257. package/src/adapter/zigate/driver/LICENSE +17 -0
  258. package/src/adapter/zigate/driver/buffaloZiGate.ts +210 -0
  259. package/src/adapter/zigate/driver/commandType.ts +418 -0
  260. package/src/adapter/zigate/driver/constants.ts +150 -0
  261. package/src/adapter/zigate/driver/frame.ts +197 -0
  262. package/src/adapter/zigate/driver/messageType.ts +287 -0
  263. package/src/adapter/zigate/driver/parameterType.ts +32 -0
  264. package/src/adapter/zigate/driver/ziGateObject.ts +146 -0
  265. package/src/adapter/zigate/driver/zigate.ts +422 -0
  266. package/src/adapter/zoh/adapter/utils.ts +27 -0
  267. package/src/adapter/zoh/adapter/zohAdapter.ts +931 -0
  268. package/src/buffalo/buffalo.ts +336 -0
  269. package/src/buffalo/index.ts +1 -0
  270. package/src/controller/controller.ts +1159 -0
  271. package/src/controller/database.ts +148 -0
  272. package/src/controller/events.ts +52 -0
  273. package/src/controller/greenPower.ts +613 -0
  274. package/src/controller/helpers/index.ts +1 -0
  275. package/src/controller/helpers/installCodes.ts +107 -0
  276. package/src/controller/helpers/ota.ts +578 -0
  277. package/src/controller/helpers/request.ts +96 -0
  278. package/src/controller/helpers/requestQueue.ts +126 -0
  279. package/src/controller/helpers/zclFrameConverter.ts +64 -0
  280. package/src/controller/helpers/zclTransactionSequenceNumber.ts +15 -0
  281. package/src/controller/index.ts +6 -0
  282. package/src/controller/model/device.ts +1791 -0
  283. package/src/controller/model/endpoint.ts +1235 -0
  284. package/src/controller/model/entity.ts +43 -0
  285. package/src/controller/model/group.ts +446 -0
  286. package/src/controller/model/index.ts +5 -0
  287. package/src/controller/model/konnextConfig.ts +6 -0
  288. package/src/controller/model/zigbeeEntity.ts +30 -0
  289. package/src/controller/touchlink.ts +195 -0
  290. package/src/controller/tstype.ts +374 -0
  291. package/src/index.ts +14 -0
  292. package/src/models/backup-storage-legacy.ts +48 -0
  293. package/src/models/backup-storage-unified.ts +47 -0
  294. package/src/models/backup.ts +37 -0
  295. package/src/models/index.ts +5 -0
  296. package/src/models/network-options.ts +11 -0
  297. package/src/utils/aes.ts +218 -0
  298. package/src/utils/async-mutex.ts +31 -0
  299. package/src/utils/backup.ts +152 -0
  300. package/src/utils/index.ts +5 -0
  301. package/src/utils/logger.ts +20 -0
  302. package/src/utils/patchBigIntSerialization.ts +8 -0
  303. package/src/utils/queue.ts +79 -0
  304. package/src/utils/timeService.ts +139 -0
  305. package/src/utils/utils.ts +19 -0
  306. package/src/utils/wait.ts +5 -0
  307. package/src/utils/waitress.ts +96 -0
  308. package/src/zspec/consts.ts +89 -0
  309. package/src/zspec/enums.ts +22 -0
  310. package/src/zspec/index.ts +3 -0
  311. package/src/zspec/tstypes.ts +18 -0
  312. package/src/zspec/utils.ts +247 -0
  313. package/src/zspec/zcl/buffaloZcl.ts +1073 -0
  314. package/src/zspec/zcl/definition/cluster.ts +7554 -0
  315. package/src/zspec/zcl/definition/clusters-types.ts +8228 -0
  316. package/src/zspec/zcl/definition/consts.ts +24 -0
  317. package/src/zspec/zcl/definition/datatypes.ts +2454 -0
  318. package/src/zspec/zcl/definition/enums.ts +224 -0
  319. package/src/zspec/zcl/definition/foundation.ts +342 -0
  320. package/src/zspec/zcl/definition/manufacturerCode.ts +730 -0
  321. package/src/zspec/zcl/definition/status.ts +69 -0
  322. package/src/zspec/zcl/definition/tstype.ts +432 -0
  323. package/src/zspec/zcl/index.ts +11 -0
  324. package/src/zspec/zcl/utils.ts +504 -0
  325. package/src/zspec/zcl/zclFrame.ts +383 -0
  326. package/src/zspec/zcl/zclHeader.ts +102 -0
  327. package/src/zspec/zcl/zclStatusError.ts +10 -0
  328. package/src/zspec/zdo/buffaloZdo.ts +2336 -0
  329. package/src/zspec/zdo/definition/clusters.ts +722 -0
  330. package/src/zspec/zdo/definition/consts.ts +16 -0
  331. package/src/zspec/zdo/definition/enums.ts +99 -0
  332. package/src/zspec/zdo/definition/status.ts +105 -0
  333. package/src/zspec/zdo/definition/tstypes.ts +1062 -0
  334. package/src/zspec/zdo/index.ts +7 -0
  335. package/src/zspec/zdo/utils.ts +76 -0
  336. package/src/zspec/zdo/zdoStatusError.ts +10 -0
  337. package/test/adapter/adapter.test.ts +1276 -0
  338. package/test/adapter/ember/ash.test.ts +337 -0
  339. package/test/adapter/ember/consts.ts +131 -0
  340. package/test/adapter/ember/emberAdapter.test.ts +3447 -0
  341. package/test/adapter/ember/ezsp.test.ts +389 -0
  342. package/test/adapter/ember/ezspBuffalo.test.ts +93 -0
  343. package/test/adapter/ember/ezspError.test.ts +12 -0
  344. package/test/adapter/ember/math.test.ts +190 -0
  345. package/test/adapter/ezsp/frame.test.ts +30 -0
  346. package/test/adapter/ezsp/uart.test.ts +181 -0
  347. package/test/adapter/z-stack/adapter.test.ts +4260 -0
  348. package/test/adapter/z-stack/constants.test.ts +33 -0
  349. package/test/adapter/z-stack/structs.test.ts +115 -0
  350. package/test/adapter/z-stack/unpi.test.ts +213 -0
  351. package/test/adapter/z-stack/znp.test.ts +1288 -0
  352. package/test/adapter/zboss/fixZdoResponse.test.ts +179 -0
  353. package/test/adapter/zigate/patchZdoBuffaloBE.test.ts +81 -0
  354. package/test/adapter/zigate/zdo.test.ts +187 -0
  355. package/test/adapter/zoh/utils.test.ts +36 -0
  356. package/test/adapter/zoh/zohAdapter.test.ts +1451 -0
  357. package/test/benchOptions.ts +14 -0
  358. package/test/buffalo.test.ts +431 -0
  359. package/test/controller.bench.ts +215 -0
  360. package/test/controller.test.ts +10038 -0
  361. package/test/data/integrity-code-1166-012B-24031511-upgradeMe-RB 249 T.zigbee +0 -0
  362. package/test/data/manuf-tags-tradfri-cv-cct-unified_release_prod_v587757105_33e34452-9267-4665-bc5a-844c8f61f063.ota +0 -0
  363. package/test/data/padded-tretakt_smart_plug_soc-0x1100-2.4.25-prod.ota.ota.signed +0 -0
  364. package/test/data/telink-aes-A60_RGBW_T-0x00B6-0x03483712-MF_DIS.OTA +0 -0
  365. package/test/data/zbminir2_v1.0.8.ota +0 -0
  366. package/test/device-ota.test.ts +3332 -0
  367. package/test/greenpower.test.ts +1409 -0
  368. package/test/mockAdapters.ts +95 -0
  369. package/test/mockDevices.ts +623 -0
  370. package/test/requests.bench.ts +321 -0
  371. package/test/testUtils.ts +20 -0
  372. package/test/timeService.test.ts +214 -0
  373. package/test/tsconfig.json +9 -0
  374. package/test/utils/math.ts +19 -0
  375. package/test/utils.test.ts +352 -0
  376. package/test/vitest.config.mts +28 -0
  377. package/test/vitest.ts +9 -0
  378. package/test/zcl.test.ts +2887 -0
  379. package/test/zspec/utils.test.ts +68 -0
  380. package/test/zspec/zcl/buffalo.test.ts +1316 -0
  381. package/test/zspec/zcl/frame.test.ts +1056 -0
  382. package/test/zspec/zcl/utils.test.ts +650 -0
  383. package/test/zspec/zdo/buffalo.test.ts +1850 -0
  384. package/test/zspec/zdo/utils.test.ts +241 -0
  385. package/tsconfig.json +8 -10
  386. package/.babelrc.js +0 -6
  387. package/.eslintignore +0 -3
  388. package/dist/adapter/adapter.d.ts +0 -64
  389. package/dist/adapter/adapter.js +0 -157
  390. package/dist/adapter/adapter.js.map +0 -1
  391. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +0 -71
  392. package/dist/adapter/deconz/adapter/deconzAdapter.js +0 -1072
  393. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +0 -1
  394. package/dist/adapter/deconz/adapter/index.d.ts +0 -3
  395. package/dist/adapter/deconz/adapter/index.d.ts.map +0 -1
  396. package/dist/adapter/deconz/adapter/index.js +0 -11
  397. package/dist/adapter/deconz/adapter/index.js.map +0 -1
  398. package/dist/adapter/deconz/driver/constants.d.ts +0 -105
  399. package/dist/adapter/deconz/driver/constants.d.ts.map +0 -1
  400. package/dist/adapter/deconz/driver/constants.js +0 -56
  401. package/dist/adapter/deconz/driver/constants.js.map +0 -1
  402. package/dist/adapter/deconz/driver/driver.d.ts +0 -82
  403. package/dist/adapter/deconz/driver/driver.d.ts.map +0 -1
  404. package/dist/adapter/deconz/driver/driver.js +0 -751
  405. package/dist/adapter/deconz/driver/driver.js.map +0 -1
  406. package/dist/adapter/deconz/driver/frame.d.ts +0 -7
  407. package/dist/adapter/deconz/driver/frame.d.ts.map +0 -1
  408. package/dist/adapter/deconz/driver/frame.js +0 -14
  409. package/dist/adapter/deconz/driver/frame.js.map +0 -1
  410. package/dist/adapter/deconz/driver/frameParser.d.ts +0 -3
  411. package/dist/adapter/deconz/driver/frameParser.d.ts.map +0 -1
  412. package/dist/adapter/deconz/driver/frameParser.js +0 -444
  413. package/dist/adapter/deconz/driver/frameParser.js.map +0 -1
  414. package/dist/adapter/deconz/driver/parser.d.ts +0 -13
  415. package/dist/adapter/deconz/driver/parser.d.ts.map +0 -1
  416. package/dist/adapter/deconz/driver/parser.js +0 -64
  417. package/dist/adapter/deconz/driver/parser.js.map +0 -1
  418. package/dist/adapter/deconz/driver/writer.d.ts +0 -9
  419. package/dist/adapter/deconz/driver/writer.d.ts.map +0 -1
  420. package/dist/adapter/deconz/driver/writer.js +0 -45
  421. package/dist/adapter/deconz/driver/writer.js.map +0 -1
  422. package/dist/adapter/ember/adapter/emberAdapter.d.ts +0 -806
  423. package/dist/adapter/ember/adapter/emberAdapter.js +0 -2942
  424. package/dist/adapter/ember/adapter/emberAdapter.js.map +0 -1
  425. package/dist/adapter/ember/adapter/endpoints.d.ts +0 -27
  426. package/dist/adapter/ember/adapter/endpoints.js +0 -68
  427. package/dist/adapter/ember/adapter/endpoints.js.map +0 -1
  428. package/dist/adapter/ember/adapter/index.d.ts +0 -3
  429. package/dist/adapter/ember/adapter/index.d.ts.map +0 -1
  430. package/dist/adapter/ember/adapter/index.js +0 -6
  431. package/dist/adapter/ember/adapter/index.js.map +0 -1
  432. package/dist/adapter/ember/adapter/oneWaitress.d.ts +0 -108
  433. package/dist/adapter/ember/adapter/oneWaitress.js +0 -241
  434. package/dist/adapter/ember/adapter/oneWaitress.js.map +0 -1
  435. package/dist/adapter/ember/adapter/requestQueue.d.ts +0 -57
  436. package/dist/adapter/ember/adapter/requestQueue.d.ts.map +0 -1
  437. package/dist/adapter/ember/adapter/requestQueue.js +0 -139
  438. package/dist/adapter/ember/adapter/requestQueue.js.map +0 -1
  439. package/dist/adapter/ember/adapter/tokensManager.d.ts +0 -69
  440. package/dist/adapter/ember/adapter/tokensManager.js +0 -688
  441. package/dist/adapter/ember/adapter/tokensManager.js.map +0 -1
  442. package/dist/adapter/ember/consts.d.ts +0 -191
  443. package/dist/adapter/ember/consts.d.ts.map +0 -1
  444. package/dist/adapter/ember/consts.js +0 -246
  445. package/dist/adapter/ember/consts.js.map +0 -1
  446. package/dist/adapter/ember/enums.d.ts +0 -2172
  447. package/dist/adapter/ember/enums.d.ts.map +0 -1
  448. package/dist/adapter/ember/enums.js +0 -2375
  449. package/dist/adapter/ember/enums.js.map +0 -1
  450. package/dist/adapter/ember/ezsp/buffalo.d.ts +0 -156
  451. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +0 -1
  452. package/dist/adapter/ember/ezsp/buffalo.js +0 -1033
  453. package/dist/adapter/ember/ezsp/buffalo.js.map +0 -1
  454. package/dist/adapter/ember/ezsp/consts.d.ts +0 -116
  455. package/dist/adapter/ember/ezsp/consts.d.ts.map +0 -1
  456. package/dist/adapter/ember/ezsp/consts.js +0 -128
  457. package/dist/adapter/ember/ezsp/consts.js.map +0 -1
  458. package/dist/adapter/ember/ezsp/enums.d.ts +0 -879
  459. package/dist/adapter/ember/ezsp/enums.d.ts.map +0 -1
  460. package/dist/adapter/ember/ezsp/enums.js +0 -948
  461. package/dist/adapter/ember/ezsp/enums.js.map +0 -1
  462. package/dist/adapter/ember/ezsp/ezsp.d.ts +0 -2662
  463. package/dist/adapter/ember/ezsp/ezsp.js +0 -6454
  464. package/dist/adapter/ember/ezsp/ezsp.js.map +0 -1
  465. package/dist/adapter/ember/types.d.ts +0 -733
  466. package/dist/adapter/ember/types.d.ts.map +0 -1
  467. package/dist/adapter/ember/types.js +0 -3
  468. package/dist/adapter/ember/types.js.map +0 -1
  469. package/dist/adapter/ember/uart/ash.d.ts +0 -464
  470. package/dist/adapter/ember/uart/ash.d.ts.map +0 -1
  471. package/dist/adapter/ember/uart/ash.js +0 -1633
  472. package/dist/adapter/ember/uart/ash.js.map +0 -1
  473. package/dist/adapter/ember/uart/consts.d.ts +0 -91
  474. package/dist/adapter/ember/uart/consts.d.ts.map +0 -1
  475. package/dist/adapter/ember/uart/consts.js +0 -100
  476. package/dist/adapter/ember/uart/consts.js.map +0 -1
  477. package/dist/adapter/ember/uart/enums.d.ts +0 -191
  478. package/dist/adapter/ember/uart/enums.d.ts.map +0 -1
  479. package/dist/adapter/ember/uart/enums.js +0 -197
  480. package/dist/adapter/ember/uart/enums.js.map +0 -1
  481. package/dist/adapter/ember/uart/parser.d.ts +0 -10
  482. package/dist/adapter/ember/uart/parser.d.ts.map +0 -1
  483. package/dist/adapter/ember/uart/parser.js +0 -37
  484. package/dist/adapter/ember/uart/parser.js.map +0 -1
  485. package/dist/adapter/ember/uart/queues.d.ts +0 -85
  486. package/dist/adapter/ember/uart/queues.d.ts.map +0 -1
  487. package/dist/adapter/ember/uart/queues.js +0 -214
  488. package/dist/adapter/ember/uart/queues.js.map +0 -1
  489. package/dist/adapter/ember/uart/writer.d.ts +0 -15
  490. package/dist/adapter/ember/uart/writer.d.ts.map +0 -1
  491. package/dist/adapter/ember/uart/writer.js +0 -46
  492. package/dist/adapter/ember/uart/writer.js.map +0 -1
  493. package/dist/adapter/ember/utils/initters.d.ts +0 -20
  494. package/dist/adapter/ember/utils/initters.js +0 -58
  495. package/dist/adapter/ember/utils/initters.js.map +0 -1
  496. package/dist/adapter/ember/utils/math.d.ts +0 -51
  497. package/dist/adapter/ember/utils/math.d.ts.map +0 -1
  498. package/dist/adapter/ember/utils/math.js +0 -102
  499. package/dist/adapter/ember/utils/math.js.map +0 -1
  500. package/dist/adapter/ember/zdo.d.ts +0 -925
  501. package/dist/adapter/ember/zdo.d.ts.map +0 -1
  502. package/dist/adapter/ember/zdo.js +0 -723
  503. package/dist/adapter/ember/zdo.js.map +0 -1
  504. package/dist/adapter/events.d.ts +0 -42
  505. package/dist/adapter/events.js +0 -13
  506. package/dist/adapter/events.js.map +0 -1
  507. package/dist/adapter/ezsp/adapter/backup.d.ts +0 -13
  508. package/dist/adapter/ezsp/adapter/backup.js +0 -101
  509. package/dist/adapter/ezsp/adapter/backup.js.map +0 -1
  510. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +0 -65
  511. package/dist/adapter/ezsp/adapter/ezspAdapter.js +0 -634
  512. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +0 -1
  513. package/dist/adapter/ezsp/adapter/index.d.ts +0 -3
  514. package/dist/adapter/ezsp/adapter/index.d.ts.map +0 -1
  515. package/dist/adapter/ezsp/adapter/index.js +0 -11
  516. package/dist/adapter/ezsp/adapter/index.js.map +0 -1
  517. package/dist/adapter/ezsp/driver/commands.d.ts +0 -37
  518. package/dist/adapter/ezsp/driver/commands.d.ts.map +0 -1
  519. package/dist/adapter/ezsp/driver/commands.js +0 -2387
  520. package/dist/adapter/ezsp/driver/commands.js.map +0 -1
  521. package/dist/adapter/ezsp/driver/consts.d.ts +0 -11
  522. package/dist/adapter/ezsp/driver/consts.d.ts.map +0 -1
  523. package/dist/adapter/ezsp/driver/consts.js +0 -14
  524. package/dist/adapter/ezsp/driver/consts.js.map +0 -1
  525. package/dist/adapter/ezsp/driver/driver.d.ts +0 -109
  526. package/dist/adapter/ezsp/driver/driver.js +0 -796
  527. package/dist/adapter/ezsp/driver/driver.js.map +0 -1
  528. package/dist/adapter/ezsp/driver/ezsp.d.ts +0 -106
  529. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +0 -1
  530. package/dist/adapter/ezsp/driver/ezsp.js +0 -664
  531. package/dist/adapter/ezsp/driver/ezsp.js.map +0 -1
  532. package/dist/adapter/ezsp/driver/frame.d.ts +0 -40
  533. package/dist/adapter/ezsp/driver/frame.d.ts.map +0 -1
  534. package/dist/adapter/ezsp/driver/frame.js +0 -101
  535. package/dist/adapter/ezsp/driver/frame.js.map +0 -1
  536. package/dist/adapter/ezsp/driver/index.d.ts +0 -4
  537. package/dist/adapter/ezsp/driver/index.js +0 -9
  538. package/dist/adapter/ezsp/driver/index.js.map +0 -1
  539. package/dist/adapter/ezsp/driver/multicast.d.ts +0 -13
  540. package/dist/adapter/ezsp/driver/multicast.js +0 -74
  541. package/dist/adapter/ezsp/driver/multicast.js.map +0 -1
  542. package/dist/adapter/ezsp/driver/parser.d.ts +0 -12
  543. package/dist/adapter/ezsp/driver/parser.d.ts.map +0 -1
  544. package/dist/adapter/ezsp/driver/parser.js +0 -105
  545. package/dist/adapter/ezsp/driver/parser.js.map +0 -1
  546. package/dist/adapter/ezsp/driver/types/basic.d.ts +0 -63
  547. package/dist/adapter/ezsp/driver/types/basic.d.ts.map +0 -1
  548. package/dist/adapter/ezsp/driver/types/basic.js +0 -209
  549. package/dist/adapter/ezsp/driver/types/basic.js.map +0 -1
  550. package/dist/adapter/ezsp/driver/types/index.d.ts +0 -10
  551. package/dist/adapter/ezsp/driver/types/index.d.ts.map +0 -1
  552. package/dist/adapter/ezsp/driver/types/index.js +0 -139
  553. package/dist/adapter/ezsp/driver/types/index.js.map +0 -1
  554. package/dist/adapter/ezsp/driver/types/named.d.ts +0 -1288
  555. package/dist/adapter/ezsp/driver/types/named.d.ts.map +0 -1
  556. package/dist/adapter/ezsp/driver/types/named.js +0 -2330
  557. package/dist/adapter/ezsp/driver/types/named.js.map +0 -1
  558. package/dist/adapter/ezsp/driver/types/struct.d.ts +0 -271
  559. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +0 -1
  560. package/dist/adapter/ezsp/driver/types/struct.js +0 -804
  561. package/dist/adapter/ezsp/driver/types/struct.js.map +0 -1
  562. package/dist/adapter/ezsp/driver/uart.d.ts +0 -49
  563. package/dist/adapter/ezsp/driver/uart.d.ts.map +0 -1
  564. package/dist/adapter/ezsp/driver/uart.js +0 -383
  565. package/dist/adapter/ezsp/driver/uart.js.map +0 -1
  566. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +0 -3
  567. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +0 -1
  568. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +0 -56
  569. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +0 -1
  570. package/dist/adapter/ezsp/driver/utils/index.d.ts +0 -20
  571. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +0 -1
  572. package/dist/adapter/ezsp/driver/utils/index.js +0 -73
  573. package/dist/adapter/ezsp/driver/utils/index.js.map +0 -1
  574. package/dist/adapter/ezsp/driver/writer.d.ts +0 -14
  575. package/dist/adapter/ezsp/driver/writer.d.ts.map +0 -1
  576. package/dist/adapter/ezsp/driver/writer.js +0 -83
  577. package/dist/adapter/ezsp/driver/writer.js.map +0 -1
  578. package/dist/adapter/index.d.ts +0 -5
  579. package/dist/adapter/index.js +0 -36
  580. package/dist/adapter/index.js.map +0 -1
  581. package/dist/adapter/serialPort.d.ts +0 -14
  582. package/dist/adapter/serialPort.d.ts.map +0 -1
  583. package/dist/adapter/serialPort.js +0 -47
  584. package/dist/adapter/serialPort.js.map +0 -1
  585. package/dist/adapter/serialPortUtils.d.ts +0 -13
  586. package/dist/adapter/serialPortUtils.d.ts.map +0 -1
  587. package/dist/adapter/serialPortUtils.js +0 -19
  588. package/dist/adapter/serialPortUtils.js.map +0 -1
  589. package/dist/adapter/socketPortUtils.d.ts +0 -11
  590. package/dist/adapter/socketPortUtils.d.ts.map +0 -1
  591. package/dist/adapter/socketPortUtils.js +0 -17
  592. package/dist/adapter/socketPortUtils.js.map +0 -1
  593. package/dist/adapter/tstype.d.ts +0 -86
  594. package/dist/adapter/tstype.d.ts.map +0 -1
  595. package/dist/adapter/tstype.js +0 -3
  596. package/dist/adapter/tstype.js.map +0 -1
  597. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +0 -62
  598. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +0 -1
  599. package/dist/adapter/z-stack/adapter/adapter-backup.js +0 -459
  600. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +0 -1
  601. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +0 -151
  602. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +0 -1
  603. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +0 -259
  604. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +0 -1
  605. package/dist/adapter/z-stack/adapter/endpoints.d.ts +0 -12
  606. package/dist/adapter/z-stack/adapter/endpoints.js +0 -74
  607. package/dist/adapter/z-stack/adapter/endpoints.js.map +0 -1
  608. package/dist/adapter/z-stack/adapter/index.d.ts +0 -3
  609. package/dist/adapter/z-stack/adapter/index.d.ts.map +0 -1
  610. package/dist/adapter/z-stack/adapter/index.js +0 -9
  611. package/dist/adapter/z-stack/adapter/index.js.map +0 -1
  612. package/dist/adapter/z-stack/adapter/manager.d.ts +0 -84
  613. package/dist/adapter/z-stack/adapter/manager.js +0 -474
  614. package/dist/adapter/z-stack/adapter/manager.js.map +0 -1
  615. package/dist/adapter/z-stack/adapter/tstype.d.ts +0 -7
  616. package/dist/adapter/z-stack/adapter/tstype.d.ts.map +0 -1
  617. package/dist/adapter/z-stack/adapter/tstype.js +0 -10
  618. package/dist/adapter/z-stack/adapter/tstype.js.map +0 -1
  619. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +0 -86
  620. package/dist/adapter/z-stack/adapter/zStackAdapter.js +0 -912
  621. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +0 -1
  622. package/dist/adapter/z-stack/constants/af.d.ts +0 -24
  623. package/dist/adapter/z-stack/constants/af.d.ts.map +0 -1
  624. package/dist/adapter/z-stack/constants/af.js +0 -28
  625. package/dist/adapter/z-stack/constants/af.js.map +0 -1
  626. package/dist/adapter/z-stack/constants/common.d.ts +0 -279
  627. package/dist/adapter/z-stack/constants/common.d.ts.map +0 -1
  628. package/dist/adapter/z-stack/constants/common.js +0 -293
  629. package/dist/adapter/z-stack/constants/common.js.map +0 -1
  630. package/dist/adapter/z-stack/constants/dbg.d.ts +0 -23
  631. package/dist/adapter/z-stack/constants/dbg.d.ts.map +0 -1
  632. package/dist/adapter/z-stack/constants/dbg.js +0 -25
  633. package/dist/adapter/z-stack/constants/dbg.js.map +0 -1
  634. package/dist/adapter/z-stack/constants/index.d.ts +0 -11
  635. package/dist/adapter/z-stack/constants/index.d.ts.map +0 -1
  636. package/dist/adapter/z-stack/constants/index.js +0 -48
  637. package/dist/adapter/z-stack/constants/index.js.map +0 -1
  638. package/dist/adapter/z-stack/constants/mac.d.ts +0 -128
  639. package/dist/adapter/z-stack/constants/mac.d.ts.map +0 -1
  640. package/dist/adapter/z-stack/constants/mac.js +0 -130
  641. package/dist/adapter/z-stack/constants/mac.js.map +0 -1
  642. package/dist/adapter/z-stack/constants/sapi.d.ts +0 -25
  643. package/dist/adapter/z-stack/constants/sapi.d.ts.map +0 -1
  644. package/dist/adapter/z-stack/constants/sapi.js +0 -27
  645. package/dist/adapter/z-stack/constants/sapi.js.map +0 -1
  646. package/dist/adapter/z-stack/constants/sys.d.ts +0 -72
  647. package/dist/adapter/z-stack/constants/sys.d.ts.map +0 -1
  648. package/dist/adapter/z-stack/constants/sys.js +0 -74
  649. package/dist/adapter/z-stack/constants/sys.js.map +0 -1
  650. package/dist/adapter/z-stack/constants/util.d.ts +0 -82
  651. package/dist/adapter/z-stack/constants/util.d.ts.map +0 -1
  652. package/dist/adapter/z-stack/constants/util.js +0 -84
  653. package/dist/adapter/z-stack/constants/util.js.map +0 -1
  654. package/dist/adapter/z-stack/constants/utils.d.ts +0 -5
  655. package/dist/adapter/z-stack/constants/utils.d.ts.map +0 -1
  656. package/dist/adapter/z-stack/constants/utils.js +0 -15
  657. package/dist/adapter/z-stack/constants/utils.js.map +0 -1
  658. package/dist/adapter/z-stack/constants/zdo.d.ts +0 -103
  659. package/dist/adapter/z-stack/constants/zdo.d.ts.map +0 -1
  660. package/dist/adapter/z-stack/constants/zdo.js +0 -105
  661. package/dist/adapter/z-stack/constants/zdo.js.map +0 -1
  662. package/dist/adapter/z-stack/models/index.d.ts +0 -2
  663. package/dist/adapter/z-stack/models/index.d.ts.map +0 -1
  664. package/dist/adapter/z-stack/models/index.js +0 -18
  665. package/dist/adapter/z-stack/models/index.js.map +0 -1
  666. package/dist/adapter/z-stack/models/startup-options.d.ts +0 -13
  667. package/dist/adapter/z-stack/models/startup-options.js +0 -3
  668. package/dist/adapter/z-stack/models/startup-options.js.map +0 -1
  669. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +0 -24
  670. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +0 -1
  671. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +0 -46
  672. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +0 -1
  673. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +0 -11
  674. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +0 -1
  675. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +0 -23
  676. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +0 -1
  677. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +0 -11
  678. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +0 -1
  679. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +0 -22
  680. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +0 -1
  681. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +0 -11
  682. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +0 -1
  683. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +0 -24
  684. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +0 -1
  685. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +0 -11
  686. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts.map +0 -1
  687. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +0 -25
  688. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +0 -1
  689. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +0 -11
  690. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +0 -1
  691. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +0 -24
  692. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +0 -1
  693. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +0 -9
  694. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +0 -1
  695. package/dist/adapter/z-stack/structs/entries/channel-list.js +0 -16
  696. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +0 -1
  697. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +0 -9
  698. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +0 -1
  699. package/dist/adapter/z-stack/structs/entries/has-configured.js +0 -17
  700. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +0 -1
  701. package/dist/adapter/z-stack/structs/entries/index.d.ts +0 -17
  702. package/dist/adapter/z-stack/structs/entries/index.d.ts.map +0 -1
  703. package/dist/adapter/z-stack/structs/entries/index.js +0 -33
  704. package/dist/adapter/z-stack/structs/entries/index.js.map +0 -1
  705. package/dist/adapter/z-stack/structs/entries/nib.d.ts +0 -11
  706. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +0 -1
  707. package/dist/adapter/z-stack/structs/entries/nib.js +0 -69
  708. package/dist/adapter/z-stack/structs/entries/nib.js.map +0 -1
  709. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +0 -11
  710. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +0 -1
  711. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +0 -19
  712. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +0 -1
  713. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +0 -9
  714. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +0 -1
  715. package/dist/adapter/z-stack/structs/entries/nwk-key.js +0 -16
  716. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +0 -1
  717. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +0 -9
  718. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +0 -1
  719. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +0 -16
  720. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +0 -1
  721. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +0 -14
  722. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +0 -1
  723. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +0 -24
  724. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +0 -1
  725. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +0 -11
  726. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +0 -1
  727. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +0 -23
  728. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +0 -1
  729. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +0 -21
  730. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts.map +0 -1
  731. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +0 -37
  732. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +0 -1
  733. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +0 -11
  734. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +0 -1
  735. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +0 -25
  736. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +0 -1
  737. package/dist/adapter/z-stack/structs/index.d.ts +0 -5
  738. package/dist/adapter/z-stack/structs/index.d.ts.map +0 -1
  739. package/dist/adapter/z-stack/structs/index.js +0 -21
  740. package/dist/adapter/z-stack/structs/index.js.map +0 -1
  741. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +0 -14
  742. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts.map +0 -1
  743. package/dist/adapter/z-stack/structs/serializable-memory-object.js +0 -3
  744. package/dist/adapter/z-stack/structs/serializable-memory-object.js.map +0 -1
  745. package/dist/adapter/z-stack/structs/struct.d.ts +0 -100
  746. package/dist/adapter/z-stack/structs/struct.d.ts.map +0 -1
  747. package/dist/adapter/z-stack/structs/struct.js +0 -297
  748. package/dist/adapter/z-stack/structs/struct.js.map +0 -1
  749. package/dist/adapter/z-stack/structs/table.d.ts +0 -95
  750. package/dist/adapter/z-stack/structs/table.d.ts.map +0 -1
  751. package/dist/adapter/z-stack/structs/table.js +0 -164
  752. package/dist/adapter/z-stack/structs/table.js.map +0 -1
  753. package/dist/adapter/z-stack/unpi/constants.d.ts +0 -29
  754. package/dist/adapter/z-stack/unpi/constants.d.ts.map +0 -1
  755. package/dist/adapter/z-stack/unpi/constants.js +0 -40
  756. package/dist/adapter/z-stack/unpi/constants.js.map +0 -1
  757. package/dist/adapter/z-stack/unpi/frame.d.ts +0 -17
  758. package/dist/adapter/z-stack/unpi/frame.d.ts.map +0 -1
  759. package/dist/adapter/z-stack/unpi/frame.js +0 -55
  760. package/dist/adapter/z-stack/unpi/frame.js.map +0 -1
  761. package/dist/adapter/z-stack/unpi/index.d.ts +0 -6
  762. package/dist/adapter/z-stack/unpi/index.d.ts.map +0 -1
  763. package/dist/adapter/z-stack/unpi/index.js +0 -38
  764. package/dist/adapter/z-stack/unpi/index.js.map +0 -1
  765. package/dist/adapter/z-stack/unpi/parser.d.ts +0 -13
  766. package/dist/adapter/z-stack/unpi/parser.d.ts.map +0 -1
  767. package/dist/adapter/z-stack/unpi/parser.js +0 -86
  768. package/dist/adapter/z-stack/unpi/parser.js.map +0 -1
  769. package/dist/adapter/z-stack/unpi/writer.d.ts +0 -12
  770. package/dist/adapter/z-stack/unpi/writer.d.ts.map +0 -1
  771. package/dist/adapter/z-stack/unpi/writer.js +0 -55
  772. package/dist/adapter/z-stack/unpi/writer.js.map +0 -1
  773. package/dist/adapter/z-stack/utils/channel-list.d.ts +0 -21
  774. package/dist/adapter/z-stack/utils/channel-list.d.ts.map +0 -1
  775. package/dist/adapter/z-stack/utils/channel-list.js +0 -41
  776. package/dist/adapter/z-stack/utils/channel-list.js.map +0 -1
  777. package/dist/adapter/z-stack/utils/index.d.ts +0 -3
  778. package/dist/adapter/z-stack/utils/index.d.ts.map +0 -1
  779. package/dist/adapter/z-stack/utils/index.js +0 -19
  780. package/dist/adapter/z-stack/utils/index.js.map +0 -1
  781. package/dist/adapter/z-stack/utils/network-options.d.ts +0 -9
  782. package/dist/adapter/z-stack/utils/network-options.d.ts.map +0 -1
  783. package/dist/adapter/z-stack/utils/network-options.js +0 -23
  784. package/dist/adapter/z-stack/utils/network-options.js.map +0 -1
  785. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +0 -14
  786. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +0 -1
  787. package/dist/adapter/z-stack/znp/buffaloZnp.js +0 -243
  788. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +0 -1
  789. package/dist/adapter/z-stack/znp/definition.d.ts +0 -6
  790. package/dist/adapter/z-stack/znp/definition.d.ts.map +0 -1
  791. package/dist/adapter/z-stack/znp/definition.js +0 -3052
  792. package/dist/adapter/z-stack/znp/definition.js.map +0 -1
  793. package/dist/adapter/z-stack/znp/index.d.ts +0 -4
  794. package/dist/adapter/z-stack/znp/index.d.ts.map +0 -1
  795. package/dist/adapter/z-stack/znp/index.js +0 -11
  796. package/dist/adapter/z-stack/znp/index.js.map +0 -1
  797. package/dist/adapter/z-stack/znp/parameterType.d.ts +0 -23
  798. package/dist/adapter/z-stack/znp/parameterType.d.ts.map +0 -1
  799. package/dist/adapter/z-stack/znp/parameterType.js +0 -26
  800. package/dist/adapter/z-stack/znp/parameterType.js.map +0 -1
  801. package/dist/adapter/z-stack/znp/tstype.d.ts +0 -23
  802. package/dist/adapter/z-stack/znp/tstype.d.ts.map +0 -1
  803. package/dist/adapter/z-stack/znp/tstype.js +0 -3
  804. package/dist/adapter/z-stack/znp/tstype.js.map +0 -1
  805. package/dist/adapter/z-stack/znp/znp.d.ts +0 -47
  806. package/dist/adapter/z-stack/znp/znp.d.ts.map +0 -1
  807. package/dist/adapter/z-stack/znp/znp.js +0 -322
  808. package/dist/adapter/z-stack/znp/znp.js.map +0 -1
  809. package/dist/adapter/z-stack/znp/zpiObject.d.ts +0 -20
  810. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +0 -1
  811. package/dist/adapter/z-stack/znp/zpiObject.js +0 -103
  812. package/dist/adapter/z-stack/znp/zpiObject.js.map +0 -1
  813. package/dist/adapter/zigate/adapter/index.d.ts +0 -3
  814. package/dist/adapter/zigate/adapter/index.d.ts.map +0 -1
  815. package/dist/adapter/zigate/adapter/index.js +0 -11
  816. package/dist/adapter/zigate/adapter/index.js.map +0 -1
  817. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +0 -72
  818. package/dist/adapter/zigate/adapter/zigateAdapter.js +0 -681
  819. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +0 -1
  820. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +0 -18
  821. package/dist/adapter/zigate/driver/commandType.d.ts +0 -43
  822. package/dist/adapter/zigate/driver/commandType.d.ts.map +0 -1
  823. package/dist/adapter/zigate/driver/commandType.js +0 -390
  824. package/dist/adapter/zigate/driver/commandType.js.map +0 -1
  825. package/dist/adapter/zigate/driver/constants.d.ts +0 -277
  826. package/dist/adapter/zigate/driver/constants.d.ts.map +0 -1
  827. package/dist/adapter/zigate/driver/constants.js +0 -372
  828. package/dist/adapter/zigate/driver/constants.js.map +0 -1
  829. package/dist/adapter/zigate/driver/frame.d.ts +0 -27
  830. package/dist/adapter/zigate/driver/frame.d.ts.map +0 -1
  831. package/dist/adapter/zigate/driver/frame.js +0 -173
  832. package/dist/adapter/zigate/driver/frame.js.map +0 -1
  833. package/dist/adapter/zigate/driver/messageType.d.ts +0 -13
  834. package/dist/adapter/zigate/driver/messageType.d.ts.map +0 -1
  835. package/dist/adapter/zigate/driver/messageType.js +0 -284
  836. package/dist/adapter/zigate/driver/messageType.js.map +0 -1
  837. package/dist/adapter/zigate/driver/parameterType.d.ts +0 -28
  838. package/dist/adapter/zigate/driver/parameterType.d.ts.map +0 -1
  839. package/dist/adapter/zigate/driver/parameterType.js +0 -33
  840. package/dist/adapter/zigate/driver/parameterType.js.map +0 -1
  841. package/dist/adapter/zigate/driver/ziGateObject.d.ts +0 -24
  842. package/dist/adapter/zigate/driver/ziGateObject.js +0 -111
  843. package/dist/adapter/zigate/driver/ziGateObject.js.map +0 -1
  844. package/dist/adapter/zigate/driver/zigate.d.ts +0 -50
  845. package/dist/adapter/zigate/driver/zigate.js +0 -289
  846. package/dist/adapter/zigate/driver/zigate.js.map +0 -1
  847. package/dist/buffalo/buffalo.d.ts +0 -55
  848. package/dist/buffalo/buffalo.d.ts.map +0 -1
  849. package/dist/buffalo/buffalo.js +0 -230
  850. package/dist/buffalo/buffalo.js.map +0 -1
  851. package/dist/buffalo/index.d.ts +0 -3
  852. package/dist/buffalo/index.d.ts.map +0 -1
  853. package/dist/buffalo/index.js +0 -9
  854. package/dist/buffalo/index.js.map +0 -1
  855. package/dist/controller/controller.d.ts +0 -119
  856. package/dist/controller/database.d.ts +0 -20
  857. package/dist/controller/database.js +0 -94
  858. package/dist/controller/database.js.map +0 -1
  859. package/dist/controller/events.d.ts +0 -59
  860. package/dist/controller/greenPower.d.ts +0 -14
  861. package/dist/controller/helpers/index.d.ts +0 -3
  862. package/dist/controller/helpers/index.js +0 -29
  863. package/dist/controller/helpers/index.js.map +0 -1
  864. package/dist/controller/helpers/request.d.ts +0 -22
  865. package/dist/controller/helpers/request.js +0 -78
  866. package/dist/controller/helpers/request.js.map +0 -1
  867. package/dist/controller/helpers/requestQueue.d.ts +0 -13
  868. package/dist/controller/helpers/requestQueue.js +0 -106
  869. package/dist/controller/helpers/requestQueue.js.map +0 -1
  870. package/dist/controller/helpers/zclFrameConverter.d.ts +0 -9
  871. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +0 -6
  872. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts.map +0 -1
  873. package/dist/controller/helpers/zclTransactionSequenceNumber.js +0 -14
  874. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +0 -1
  875. package/dist/controller/index.d.ts +0 -6
  876. package/dist/controller/index.js +0 -9
  877. package/dist/controller/index.js.map +0 -1
  878. package/dist/controller/model/device.d.ts +0 -140
  879. package/dist/controller/model/endpoint.d.ts +0 -134
  880. package/dist/controller/model/entity.d.ts +0 -15
  881. package/dist/controller/model/entity.js +0 -27
  882. package/dist/controller/model/entity.js.map +0 -1
  883. package/dist/controller/model/group.d.ts +0 -39
  884. package/dist/controller/model/index.d.ts +0 -6
  885. package/dist/controller/model/index.js +0 -15
  886. package/dist/controller/model/index.js.map +0 -1
  887. package/dist/controller/model/konnextConfig.d.ts +0 -7
  888. package/dist/controller/model/konnextConfig.d.ts.map +0 -1
  889. package/dist/controller/model/konnextConfig.js +0 -3
  890. package/dist/controller/model/konnextConfig.js.map +0 -1
  891. package/dist/controller/touchlink.d.ts +0 -20
  892. package/dist/controller/touchlink.js +0 -157
  893. package/dist/controller/touchlink.js.map +0 -1
  894. package/dist/controller/tstype.d.ts +0 -21
  895. package/dist/index.d.ts +0 -6
  896. package/dist/index.js +0 -37
  897. package/dist/index.js.map +0 -1
  898. package/dist/models/backup-storage-legacy.d.ts +0 -27
  899. package/dist/models/backup-storage-legacy.d.ts.map +0 -1
  900. package/dist/models/backup-storage-legacy.js +0 -3
  901. package/dist/models/backup-storage-legacy.js.map +0 -1
  902. package/dist/models/backup-storage-unified.d.ts +0 -50
  903. package/dist/models/backup-storage-unified.d.ts.map +0 -1
  904. package/dist/models/backup-storage-unified.js +0 -3
  905. package/dist/models/backup-storage-unified.js.map +0 -1
  906. package/dist/models/backup.d.ts +0 -38
  907. package/dist/models/backup.d.ts.map +0 -1
  908. package/dist/models/backup.js +0 -3
  909. package/dist/models/backup.js.map +0 -1
  910. package/dist/models/index.d.ts +0 -5
  911. package/dist/models/index.d.ts.map +0 -1
  912. package/dist/models/index.js +0 -21
  913. package/dist/models/index.js.map +0 -1
  914. package/dist/models/network-options.d.ts +0 -13
  915. package/dist/models/network-options.d.ts.map +0 -1
  916. package/dist/models/network-options.js +0 -3
  917. package/dist/models/network-options.js.map +0 -1
  918. package/dist/utils/aes.d.ts +0 -40
  919. package/dist/utils/aes.d.ts.map +0 -1
  920. package/dist/utils/aes.js +0 -198
  921. package/dist/utils/aes.js.map +0 -1
  922. package/dist/utils/assertString.d.ts +0 -3
  923. package/dist/utils/assertString.d.ts.map +0 -1
  924. package/dist/utils/assertString.js +0 -9
  925. package/dist/utils/assertString.js.map +0 -1
  926. package/dist/utils/backup.d.ts +0 -21
  927. package/dist/utils/backup.d.ts.map +0 -1
  928. package/dist/utils/backup.js +0 -190
  929. package/dist/utils/backup.js.map +0 -1
  930. package/dist/utils/equalsPartial.d.ts +0 -3
  931. package/dist/utils/equalsPartial.d.ts.map +0 -1
  932. package/dist/utils/equalsPartial.js +0 -12
  933. package/dist/utils/equalsPartial.js.map +0 -1
  934. package/dist/utils/index.d.ts +0 -10
  935. package/dist/utils/index.d.ts.map +0 -1
  936. package/dist/utils/index.js +0 -46
  937. package/dist/utils/index.js.map +0 -1
  938. package/dist/utils/isNumberArray.d.ts +0 -3
  939. package/dist/utils/isNumberArray.d.ts.map +0 -1
  940. package/dist/utils/isNumberArray.js +0 -7
  941. package/dist/utils/isNumberArray.js.map +0 -1
  942. package/dist/utils/logger.d.ts +0 -9
  943. package/dist/utils/logger.d.ts.map +0 -1
  944. package/dist/utils/logger.js +0 -14
  945. package/dist/utils/logger.js.map +0 -1
  946. package/dist/utils/queue.d.ts +0 -12
  947. package/dist/utils/queue.d.ts.map +0 -1
  948. package/dist/utils/queue.js +0 -62
  949. package/dist/utils/queue.js.map +0 -1
  950. package/dist/utils/realpathSync.d.ts +0 -3
  951. package/dist/utils/realpathSync.d.ts.map +0 -1
  952. package/dist/utils/realpathSync.js +0 -13
  953. package/dist/utils/realpathSync.js.map +0 -1
  954. package/dist/utils/wait.d.ts +0 -3
  955. package/dist/utils/wait.d.ts.map +0 -1
  956. package/dist/utils/wait.js +0 -9
  957. package/dist/utils/wait.js.map +0 -1
  958. package/dist/utils/waitress.d.ts +0 -22
  959. package/dist/utils/waitress.d.ts.map +0 -1
  960. package/dist/utils/waitress.js +0 -69
  961. package/dist/utils/waitress.js.map +0 -1
  962. package/dist/zspec/consts.d.ts +0 -60
  963. package/dist/zspec/consts.d.ts.map +0 -1
  964. package/dist/zspec/consts.js +0 -64
  965. package/dist/zspec/consts.js.map +0 -1
  966. package/dist/zspec/enums.d.ts +0 -19
  967. package/dist/zspec/enums.d.ts.map +0 -1
  968. package/dist/zspec/enums.js +0 -28
  969. package/dist/zspec/enums.js.map +0 -1
  970. package/dist/zspec/index.d.ts +0 -4
  971. package/dist/zspec/index.d.ts.map +0 -1
  972. package/dist/zspec/index.js +0 -43
  973. package/dist/zspec/index.js.map +0 -1
  974. package/dist/zspec/tstypes.d.ts +0 -19
  975. package/dist/zspec/tstypes.d.ts.map +0 -1
  976. package/dist/zspec/tstypes.js +0 -3
  977. package/dist/zspec/tstypes.js.map +0 -1
  978. package/dist/zspec/utils.d.ts +0 -14
  979. package/dist/zspec/utils.d.ts.map +0 -1
  980. package/dist/zspec/utils.js +0 -29
  981. package/dist/zspec/utils.js.map +0 -1
  982. package/dist/zspec/zcl/buffaloZcl.d.ts +0 -55
  983. package/dist/zspec/zcl/definition/cluster.d.ts +0 -3
  984. package/dist/zspec/zcl/definition/consts.d.ts +0 -9
  985. package/dist/zspec/zcl/definition/consts.d.ts.map +0 -1
  986. package/dist/zspec/zcl/definition/consts.js +0 -27
  987. package/dist/zspec/zcl/definition/consts.js.map +0 -1
  988. package/dist/zspec/zcl/definition/enums.d.ts +0 -177
  989. package/dist/zspec/zcl/definition/enums.d.ts.map +0 -1
  990. package/dist/zspec/zcl/definition/enums.js +0 -187
  991. package/dist/zspec/zcl/definition/enums.js.map +0 -1
  992. package/dist/zspec/zcl/definition/foundation.d.ts +0 -11
  993. package/dist/zspec/zcl/definition/manufacturerCode.d.ts +0 -727
  994. package/dist/zspec/zcl/definition/manufacturerCode.d.ts.map +0 -1
  995. package/dist/zspec/zcl/definition/manufacturerCode.js +0 -733
  996. package/dist/zspec/zcl/definition/manufacturerCode.js.map +0 -1
  997. package/dist/zspec/zcl/definition/status.d.ts +0 -69
  998. package/dist/zspec/zcl/definition/status.d.ts.map +0 -1
  999. package/dist/zspec/zcl/definition/status.js +0 -74
  1000. package/dist/zspec/zcl/definition/status.js.map +0 -1
  1001. package/dist/zspec/zcl/index.d.ts +0 -11
  1002. package/dist/zspec/zcl/utils.d.ts +0 -7
  1003. package/dist/zspec/zcl/zclFrame.d.ts +0 -36
  1004. package/dist/zspec/zcl/zclHeader.d.ts +0 -17
  1005. package/dist/zspec/zcl/zclStatusError.d.ts +0 -6
  1006. package/dist/zspec/zcl/zclStatusError.d.ts.map +0 -1
  1007. package/dist/zspec/zcl/zclStatusError.js +0 -13
  1008. package/dist/zspec/zcl/zclStatusError.js.map +0 -1
  1009. package/dist/zspec/zdo/buffaloZdo.d.ts +0 -438
  1010. package/dist/zspec/zdo/buffaloZdo.d.ts.map +0 -1
  1011. package/dist/zspec/zdo/buffaloZdo.js +0 -1892
  1012. package/dist/zspec/zdo/buffaloZdo.js.map +0 -1
  1013. package/dist/zspec/zdo/definition/clusters.d.ts +0 -624
  1014. package/dist/zspec/zdo/definition/clusters.d.ts.map +0 -1
  1015. package/dist/zspec/zdo/definition/clusters.js +0 -687
  1016. package/dist/zspec/zdo/definition/clusters.js.map +0 -1
  1017. package/dist/zspec/zdo/definition/consts.d.ts +0 -13
  1018. package/dist/zspec/zdo/definition/consts.d.ts.map +0 -1
  1019. package/dist/zspec/zdo/definition/consts.js +0 -16
  1020. package/dist/zspec/zdo/definition/consts.js.map +0 -1
  1021. package/dist/zspec/zdo/definition/enums.d.ts +0 -75
  1022. package/dist/zspec/zdo/definition/enums.d.ts.map +0 -1
  1023. package/dist/zspec/zdo/definition/enums.js +0 -97
  1024. package/dist/zspec/zdo/definition/enums.js.map +0 -1
  1025. package/dist/zspec/zdo/definition/status.d.ts +0 -99
  1026. package/dist/zspec/zdo/definition/status.d.ts.map +0 -1
  1027. package/dist/zspec/zdo/definition/status.js +0 -109
  1028. package/dist/zspec/zdo/definition/status.js.map +0 -1
  1029. package/dist/zspec/zdo/definition/tstypes.d.ts +0 -787
  1030. package/dist/zspec/zdo/definition/tstypes.d.ts.map +0 -1
  1031. package/dist/zspec/zdo/definition/tstypes.js +0 -3
  1032. package/dist/zspec/zdo/definition/tstypes.js.map +0 -1
  1033. package/dist/zspec/zdo/index.d.ts +0 -7
  1034. package/dist/zspec/zdo/index.d.ts.map +0 -1
  1035. package/dist/zspec/zdo/index.js +0 -39
  1036. package/dist/zspec/zdo/index.js.map +0 -1
  1037. package/dist/zspec/zdo/utils.d.ts +0 -25
  1038. package/dist/zspec/zdo/utils.d.ts.map +0 -1
  1039. package/dist/zspec/zdo/utils.js +0 -75
  1040. package/dist/zspec/zdo/utils.js.map +0 -1
  1041. package/dist/zspec/zdo/zdoStatusError.d.ts +0 -6
  1042. package/dist/zspec/zdo/zdoStatusError.d.ts.map +0 -1
  1043. package/dist/zspec/zdo/zdoStatusError.js +0 -13
  1044. package/dist/zspec/zdo/zdoStatusError.js.map +0 -1
  1045. package/typedoc-tsconfig.json +0 -44
@@ -15,21 +15,34 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
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
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.BuffaloZcl = void 0;
27
- const enums_1 = require("./definition/enums");
28
37
  const buffalo_1 = require("../../buffalo");
29
- const Utils = __importStar(require("./utils"));
30
- const utils_1 = require("../../utils");
31
38
  const logger_1 = require("../../utils/logger");
32
- const NS = 'zh:zcl:buffalo';
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];
33
46
  const SEC_KEY_LENGTH = 16;
34
47
  const EXTENSION_FIELD_SETS_DATA_TYPE = {
35
48
  6: [enums_1.DataType.UINT8],
@@ -38,136 +51,101 @@ const EXTENSION_FIELD_SETS_DATA_TYPE = {
38
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],
39
52
  };
40
53
  class BuffaloZcl extends buffalo_1.Buffalo {
41
- // TODO: remove read/write int "SB" versions in favor of plain numbers, implemented in buffalo.ts
42
- writeUInt40SB(value) {
43
- this.writeUInt32(value[1]);
44
- this.writeUInt8(value[0]);
45
- }
46
- readUInt40SB() {
47
- const lsb = this.readUInt32();
48
- const msb = this.readUInt8();
49
- return [msb, lsb];
50
- }
51
- writeUInt48SB(value) {
52
- this.writeUInt32(value[1]);
53
- this.writeUInt16(value[0]);
54
- }
55
- readUInt48SB() {
56
- const lsb = this.readUInt32();
57
- const msb = this.readUInt16();
58
- return [msb, lsb];
59
- }
60
- writeUInt56SB(value) {
61
- // XXX: [uint32, uint32] param not following read return pattern [uint32, uint16, uint8]
62
- const temp = Buffer.alloc(8);
63
- temp.writeUInt32LE(value[1], 0);
64
- temp.writeUInt32LE(value[0], 4);
65
- this.writeBuffer(temp.subarray(0, 7), 7);
66
- }
67
- readUInt56SB() {
68
- const lsb = this.readUInt32();
69
- const xsb = this.readUInt16();
70
- const msb = this.readUInt8();
71
- return [msb, xsb, lsb];
72
- }
73
- readUInt64SB() {
74
- // XXX: not following pattern, should return as [msb, lsb]
75
- return this.readIeeeAddr();
76
- }
77
- writeUInt64SB(value) {
78
- // XXX: not following pattern, should pass as number[uint32, uint32]
79
- const msb = parseInt(value.slice(2, 10), 16);
80
- const lsb = parseInt(value.slice(10), 16);
81
- this.writeUInt32(lsb);
82
- this.writeUInt32(msb);
83
- }
84
- writeInt40SB(value) {
85
- this.writeInt32(value[1]);
86
- this.writeInt8(value[0]);
87
- }
88
- readInt40SB() {
89
- const lsb = this.readInt32();
90
- const msb = this.readInt8();
91
- return [msb, lsb];
92
- }
93
- writeInt56SB(value) {
94
- const temp = Buffer.alloc(8);
95
- temp.writeInt32LE(value[1], 0);
96
- temp.writeInt32LE(value[0], 4);
97
- this.writeBuffer(temp.subarray(0, 7), 7);
98
- }
99
- readInt56SB() {
100
- const lsb = this.readInt32();
101
- const xsb = this.readInt16();
102
- const msb = this.readInt8();
103
- return [msb, xsb, lsb];
104
- }
105
- writeInt64SB(value) {
106
- this.writeInt32(value[1]);
107
- this.writeInt32(value[0]);
108
- }
109
- readInt64SB() {
110
- const lsb = this.readInt32();
111
- const msb = this.readInt32();
112
- return [msb, lsb];
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;
113
61
  }
114
62
  writeOctetStr(value) {
115
- // TODO: this does not allow "non-value" 0xFF
116
- this.writeUInt8(value.length);
117
- this.writeBuffer(value, value.length);
63
+ if (value) {
64
+ this.writeUInt8(value.length);
65
+ this.writeBuffer(value, value.length);
66
+ }
67
+ else {
68
+ this.writeUInt8(UINT8_NON_VALUE);
69
+ }
118
70
  }
119
71
  readOctetStr() {
120
- const length = this.readUInt8();
121
- return (length < 0xFF) ? this.readBuffer(length) : Buffer.from([]); // non-value
72
+ const length = this.readLengthUInt8();
73
+ return Number.isNaN(length) ? Buffer.from([]) : this.readBuffer(length);
122
74
  }
75
+ // TODO: support read/write with specific `length` from attribute metadata (CHAR_STR & LONG_CHAR_STR)
123
76
  writeCharStr(value) {
124
- // TODO: this does not allow "non-value" 0xFF
125
- if (typeof value === 'string') {
126
- this.writeUInt8(value.length);
127
- this.writeUtf8String(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
+ }
128
89
  }
129
90
  else {
130
- // XXX: value.length not written?
131
- this.writeBuffer(value, value.length);
91
+ this.writeUInt8(UINT8_NON_VALUE);
132
92
  }
133
93
  }
134
94
  readCharStr() {
135
- const length = this.readUInt8();
136
- return (length < 0xFF) ? this.readUtf8String(length) : '';
95
+ const length = this.readLengthUInt8();
96
+ return Number.isNaN(length) ? "" : this.readUtf8String(length);
137
97
  }
138
98
  writeLongOctetStr(value) {
139
- // TODO: this does not allow "non-value" 0xFF
140
- this.writeUInt16(value.length);
141
- this.writeBuffer(value, value.length);
99
+ if (value) {
100
+ this.writeUInt16(value.length);
101
+ this.writeBuffer(value, value.length);
102
+ }
103
+ else {
104
+ this.writeUInt16(UINT16_NON_VALUE);
105
+ }
142
106
  }
143
107
  readLongOctetStr() {
144
- const length = this.readUInt16();
145
- return (length < 0xFFFF) ? this.readBuffer(length) : Buffer.from([]); // non-value
108
+ const length = this.readLengthUInt16();
109
+ return Number.isNaN(length) ? Buffer.from([]) : this.readBuffer(length);
146
110
  }
147
111
  writeLongCharStr(value) {
148
- // TODO: this does not allow "non-value" 0xFF
149
- this.writeUInt16(value.length);
150
- this.writeUtf8String(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
+ }
151
123
  }
152
124
  readLongCharStr() {
153
- const length = this.readUInt16();
154
- return (length < 0xFFFF) ? this.readUtf8String(length) : ''; // non-value
125
+ const length = this.readLengthUInt16();
126
+ return Number.isNaN(length) ? "" : this.readUtf8String(length);
155
127
  }
156
128
  writeArray(value) {
157
- const elTypeNumeric = typeof value.elementType === 'number' ? value.elementType : enums_1.DataType[value.elementType];
158
- this.writeUInt8(elTypeNumeric);
159
- // TODO: this does not allow writing "non-value" 0xFFFF
160
- this.writeUInt16(value.elements.length);
161
- for (const element of value.elements) {
162
- this.write(elTypeNumeric, element, {});
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);
163
140
  }
164
- ;
165
141
  }
142
+ // TODO: support read [] with specific length (`arrayLengthSize` & `arrayLengthField`) from parameter metadata
166
143
  readArray() {
167
144
  const values = [];
168
145
  const elementType = this.readUInt8();
169
- const numberOfElements = this.readUInt16();
170
- if (numberOfElements < 0xFFFF) {
146
+ const numberOfElements = this.readLengthUInt16();
147
+ if (!Number.isNaN(numberOfElements)) {
148
+ // not non-value
171
149
  for (let i = 0; i < numberOfElements; i++) {
172
150
  const value = this.read(elementType, {});
173
151
  values.push(value);
@@ -176,19 +154,22 @@ class BuffaloZcl extends buffalo_1.Buffalo {
176
154
  return values;
177
155
  }
178
156
  writeStruct(value) {
179
- // XXX: from ZCL spec: "The zeroth element may not be written to."
180
- // how does this translates to writing here?
181
- // TODO: this does not allow writing "non-value" 0xFFFF
182
- this.writeUInt16(value.length);
183
- for (const v of value) {
184
- this.writeUInt8(v.elmType);
185
- this.write(v.elmType, v.elmVal, {});
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);
186
166
  }
187
167
  }
188
168
  readStruct() {
189
169
  const values = [];
190
- const numberOfElements = this.readUInt16();
191
- if (numberOfElements < 0xFFFF) {
170
+ const numberOfElements = this.readLengthUInt16();
171
+ if (!Number.isNaN(numberOfElements)) {
172
+ // not non-value
192
173
  for (let i = 0; i < numberOfElements; i++) {
193
174
  const elementType = this.readUInt8();
194
175
  const value = this.read(elementType, {});
@@ -198,39 +179,39 @@ class BuffaloZcl extends buffalo_1.Buffalo {
198
179
  return values;
199
180
  }
200
181
  writeToD(value) {
201
- this.writeUInt8(value.hours ?? 0xFF);
202
- this.writeUInt8(value.minutes ?? 0xFF);
203
- this.writeUInt8(value.seconds ?? 0xFF);
204
- this.writeUInt8(value.hundredths ?? 0xFF);
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);
205
186
  }
206
187
  readToD() {
207
- const hours = this.readUInt8();
208
- const minutes = this.readUInt8();
209
- const seconds = this.readUInt8();
210
- const hundredths = this.readUInt8();
188
+ const hours = this.readLengthUInt8();
189
+ const minutes = this.readLengthUInt8();
190
+ const seconds = this.readLengthUInt8();
191
+ const hundredths = this.readLengthUInt8();
211
192
  return {
212
- hours: hours < 0xFF ? hours : null,
213
- minutes: minutes < 0xFF ? minutes : null,
214
- seconds: seconds < 0xFF ? seconds : null,
215
- hundredths: hundredths < 0xFF ? hundredths : null,
193
+ hours,
194
+ minutes,
195
+ seconds,
196
+ hundredths,
216
197
  };
217
198
  }
218
199
  writeDate(value) {
219
- this.writeUInt8(value.year != null ? (value.year - 1900) : 0xFF);
220
- this.writeUInt8(value.month ?? 0xFF);
221
- this.writeUInt8(value.dayOfMonth ?? 0xFF);
222
- this.writeUInt8(value.dayOfWeek ?? 0xFF);
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);
223
204
  }
224
205
  readDate() {
225
- const year = this.readUInt8();
226
- const month = this.readUInt8();
227
- const dayOfMonth = this.readUInt8();
228
- const dayOfWeek = this.readUInt8();
206
+ const year = this.readLengthUInt8();
207
+ const month = this.readLengthUInt8();
208
+ const dayOfMonth = this.readLengthUInt8();
209
+ const dayOfWeek = this.readLengthUInt8();
229
210
  return {
230
- year: year < 0xFF ? year + 1900 : null,
231
- month: month < 0xFF ? month : null,
232
- dayOfMonth: dayOfMonth < 0xFF ? dayOfMonth : null,
233
- dayOfWeek: dayOfWeek < 0xFF ? dayOfWeek : null,
211
+ year: year + 1900, // remains NaN if year is NaN
212
+ month,
213
+ dayOfMonth,
214
+ dayOfWeek,
234
215
  };
235
216
  }
236
217
  //--- BuffaloZclDataType
@@ -282,81 +263,90 @@ class BuffaloZcl extends buffalo_1.Buffalo {
282
263
  for (const entry of value) {
283
264
  this.writeUInt16(entry.transitionTime);
284
265
  if (entry.heatSetpoint != null) {
285
- this.writeUInt16(entry.heatSetpoint);
266
+ this.writeInt16(entry.heatSetpoint);
286
267
  }
287
268
  if (entry.coolSetpoint != null) {
288
- this.writeUInt16(entry.coolSetpoint);
269
+ this.writeInt16(entry.coolSetpoint);
289
270
  }
290
271
  }
291
272
  }
292
273
  readListThermoTransitions(options) {
293
274
  if (options.payload == null || options.payload.mode == null || options.payload.numoftrans == null) {
294
- throw new Error('Cannot read LIST_THERMO_TRANSITIONS without required payload options specified');
275
+ throw new Error("Cannot read LIST_THERMO_TRANSITIONS without required payload options specified");
295
276
  }
296
277
  const heat = options.payload.mode & 1;
297
278
  const cool = options.payload.mode & 2;
298
279
  const result = [];
299
280
  for (let i = 0; i < options.payload.numoftrans; i++) {
300
281
  const entry = {
301
- transitionTime: this.readUInt16()
282
+ transitionTime: this.readUInt16(),
302
283
  };
303
284
  if (heat) {
304
- entry.heatSetpoint = this.readUInt16();
285
+ entry.heatSetpoint = this.readInt16();
305
286
  }
306
287
  if (cool) {
307
- entry.coolSetpoint = this.readUInt16();
288
+ entry.coolSetpoint = this.readInt16();
308
289
  }
309
290
  result.push(entry);
310
291
  }
311
292
  return result;
312
293
  }
313
- writeGdpFrame(value) {
314
- if (value.commandID == 0xF0) { // Commissioning Reply
294
+ writeGpdFrame(value) {
295
+ if (value.commandID === 0xf0) {
296
+ // Commissioning Reply
315
297
  const v = value;
316
- const panIDPresent = v.options & (1 << 0);
317
- const gpdSecurityKeyPresent = v.options & (1 << 1);
318
- const gpdKeyEncryption = v.options & (1 << 2);
319
- const securityLevel = v.options & (3 << 3) >> 3;
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;
320
302
  const hasGPDKeyMIC = gpdKeyEncryption && gpdSecurityKeyPresent;
321
- const hasFrameCounter = gpdSecurityKeyPresent &&
322
- gpdKeyEncryption &&
323
- (securityLevel === 0b10 || securityLevel === 0b11);
324
- this.writeUInt8(1 +
325
- (panIDPresent ? 2 : 0) +
326
- (gpdSecurityKeyPresent ? 16 : 0) +
327
- (hasGPDKeyMIC ? 4 : 0) +
328
- (hasFrameCounter ? 4 : 0)); // Length
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
329
305
  this.writeUInt8(v.options);
330
306
  if (panIDPresent) {
307
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
331
308
  this.writeUInt16(v.panID);
332
309
  }
333
310
  if (gpdSecurityKeyPresent) {
311
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
334
312
  this.writeBuffer(v.securityKey, 16);
335
313
  }
336
314
  if (hasGPDKeyMIC) {
315
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
337
316
  this.writeUInt32(v.keyMic);
338
317
  }
339
318
  if (hasFrameCounter) {
319
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
340
320
  this.writeUInt32(v.frameCounter);
341
321
  }
342
322
  }
343
- else if (value.commandID == 0xF3) { // Channel configuration
323
+ else if (value.commandID === 0xf3) {
324
+ // Channel configuration
344
325
  const v = value;
345
326
  this.writeUInt8(1);
346
- this.writeUInt8(v.operationalChannel & 0xF | ((v.basic ? 1 : 0) << 4));
327
+ this.writeUInt8((v.operationalChannel & 0xf) | ((v.basic ? 1 : 0) << 4));
347
328
  }
348
- else if (value.commandID == 0xF4 ||
349
- value.commandID == 0xF5 ||
350
- (value.commandID >= 0xF7 && value.commandID <= 0xFF)) {
329
+ else if (value.commandID === 0xf4 || value.commandID === 0xf5 || (value.commandID >= 0xf7 && value.commandID <= 0xff)) {
351
330
  // Other commands sent to GPD
352
331
  const v = value;
353
332
  this.writeUInt8(v.buffer.length);
354
333
  this.writeBuffer(v.buffer, v.buffer.length);
355
334
  }
335
+ // 0xf1: Write Attributes
336
+ // 0xf2: Read Attributes
337
+ // 0xf6: ZCL Tunneling
356
338
  }
357
- readGdpFrame(options) {
358
- // Commisioning
359
- if (options.payload?.commandID === 0xE0) {
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
360
350
  const frame = {
361
351
  deviceID: this.readUInt8(),
362
352
  options: this.readUInt8(),
@@ -367,12 +357,14 @@ class BuffaloZcl extends buffalo_1.Buffalo {
367
357
  applicationInfo: 0,
368
358
  manufacturerID: 0,
369
359
  modelID: 0,
370
- numGdpCommands: 0,
360
+ numGpdCommands: 0,
371
361
  gpdCommandIdList: Buffer.alloc(0),
372
362
  numServerClusters: 0,
373
363
  numClientClusters: 0,
374
364
  gpdServerClusters: Buffer.alloc(0),
375
365
  gpdClientClusters: Buffer.alloc(0),
366
+ genericSwitchConfig: 0,
367
+ currentContactStatus: 0,
376
368
  };
377
369
  if (frame.options & 0x80) {
378
370
  frame.extendedOptions = this.readUInt8();
@@ -396,31 +388,39 @@ class BuffaloZcl extends buffalo_1.Buffalo {
396
388
  frame.modelID = this.readUInt16();
397
389
  }
398
390
  if (frame.applicationInfo & 0x04) {
399
- frame.numGdpCommands = this.readUInt8();
400
- frame.gpdCommandIdList = this.readBuffer(frame.numGdpCommands);
391
+ frame.numGpdCommands = this.readUInt8();
392
+ frame.gpdCommandIdList = this.readBuffer(frame.numGpdCommands);
401
393
  }
402
394
  if (frame.applicationInfo & 0x08) {
403
395
  const len = this.readUInt8();
404
- frame.numServerClusters = len & 0xF;
405
- frame.numClientClusters = (len >> 4) & 0xF;
396
+ frame.numServerClusters = len & 0xf;
397
+ frame.numClientClusters = (len >> 4) & 0xf;
406
398
  frame.gpdServerClusters = this.readBuffer(2 * frame.numServerClusters);
407
399
  frame.gpdClientClusters = this.readBuffer(2 * frame.numClientClusters);
408
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);
409
411
  return frame;
410
- // Channel Request
411
412
  }
412
- else if (options.payload?.commandID === 0xE3) {
413
- const options = this.readUInt8();
413
+ if (options.payload.commandID === 0xe3) {
414
+ // Channel Request
415
+ const channelOpts = this.readUInt8();
416
+ this.setPosition(startPosition + options.payload.payloadSize);
414
417
  return {
415
- nextChannel: options & 0xF,
416
- nextNextChannel: options >> 4,
418
+ nextChannel: channelOpts & 0xf,
419
+ nextNextChannel: channelOpts >> 4,
417
420
  };
418
- // Manufacturer-specific Attribute Reporting
419
421
  }
420
- else if (options.payload?.commandID == 0xA1) {
421
- if (options.payload.payloadSize == null) {
422
- throw new Error('Cannot read GDP_FRAME with commandID=0xA1 without payloadSize options specified');
423
- }
422
+ if (options.payload.commandID === 0xa1) {
423
+ // Manufacturer-specific Attribute Reporting
424
424
  const start = this.position;
425
425
  const frame = {
426
426
  manufacturerCode: this.readUInt16(),
@@ -431,24 +431,21 @@ class BuffaloZcl extends buffalo_1.Buffalo {
431
431
  while (this.position - start < options.payload.payloadSize) {
432
432
  const attributeID = this.readUInt16();
433
433
  const type = this.readUInt8();
434
- let attribute = attributeID;
435
- try {
436
- attribute = cluster.getAttribute(attributeID).name;
437
- }
438
- catch {
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) {
439
438
  // this is spammy because of the many manufacturer-specific attributes not currently used
440
- logger_1.logger.debug("Unknown attribute " + attributeID + " in cluster " + cluster.name, NS);
439
+ logger_1.logger.debug(`Unknown attribute ${attributeID} in cluster ${cluster.name}`, NS);
440
+ attribute = attributeID;
441
441
  }
442
442
  frame.attributes[attribute] = this.read(type, options);
443
443
  }
444
+ this.setPosition(startPosition + options.payload.payloadSize);
444
445
  return frame;
445
446
  }
446
- else if (this.isMore()) {
447
- return { raw: this.buffer.subarray(this.position) };
448
- }
449
- else {
450
- return {};
451
- }
447
+ // might contain `gppNwkAddr`, `gppGpdLink` & `mic` from ZCL cluster after this, so limit by `payloadSize`
448
+ return { raw: this.readBuffer(options.payload.payloadSize) };
452
449
  }
453
450
  writeStructuredSelector(value) {
454
451
  if (value != null) {
@@ -468,7 +465,7 @@ class BuffaloZcl extends buffalo_1.Buffalo {
468
465
  // no indexes, whole attribute value is to be read
469
466
  return { indicatorType: enums_1.StructuredIndicatorType.Whole };
470
467
  }
471
- else if (indicator < enums_1.StructuredIndicatorType.WriteAdd) {
468
+ if (indicator < enums_1.StructuredIndicatorType.WriteAdd) {
472
469
  const indexes = [];
473
470
  for (let i = 0; i < indicator; i++) {
474
471
  const index = this.readUInt16();
@@ -476,9 +473,7 @@ class BuffaloZcl extends buffalo_1.Buffalo {
476
473
  }
477
474
  return { indexes };
478
475
  }
479
- else {
480
- throw new Error(`Read structured selector was outside [0-15] range.`);
481
- }
476
+ throw new Error("Read structured selector was outside [0-15] range.");
482
477
  }
483
478
  writeListTuyaDataPointValues(dpValues) {
484
479
  for (const dpValue of dpValues) {
@@ -486,8 +481,8 @@ class BuffaloZcl extends buffalo_1.Buffalo {
486
481
  this.writeUInt8(dpValue.datatype);
487
482
  const dataLen = dpValue.data.length;
488
483
  // UInt16BE
489
- this.writeUInt8((dataLen >> 8) & 0xFF);
490
- this.writeUInt8(dataLen & 0xFF);
484
+ this.writeUInt8((dataLen >> 8) & 0xff);
485
+ this.writeUInt8(dataLen & 0xff);
491
486
  this.writeBuffer(dpValue.data, dataLen);
492
487
  }
493
488
  }
@@ -503,7 +498,7 @@ class BuffaloZcl extends buffalo_1.Buffalo {
503
498
  const data = this.readBuffer(len_lo + (len_hi << 8));
504
499
  value.push({ dp, datatype, data });
505
500
  }
506
- catch (error) {
501
+ catch {
507
502
  break;
508
503
  }
509
504
  }
@@ -527,46 +522,49 @@ class BuffaloZcl extends buffalo_1.Buffalo {
527
522
  return value;
528
523
  }
529
524
  writeBigEndianUInt24(value) {
530
- this.buffer.writeUIntBE(value, this.position, 3);
531
- this.position += 3;
525
+ this.position = this.buffer.writeUIntBE(value, this.position, 3);
532
526
  }
533
527
  readBigEndianUInt24() {
534
528
  const value = this.buffer.readUIntBE(this.position, 3);
535
529
  this.position += 3;
536
530
  return value;
537
531
  }
538
- // private writeMiStruct(value: Record<number, number | number[]>): {
539
- // XXX: read only?
540
- // }
532
+ // NOTE: writeMiStruct is not supported.
541
533
  readMiStruct() {
542
534
  const length = this.readUInt8();
543
535
  const value = {};
544
- if (length === 0xFF) {
536
+ if (length === UINT8_NON_VALUE) {
545
537
  return value;
546
538
  }
547
539
  for (let i = 0; i < length; i++) {
548
540
  const index = this.readUInt8();
549
541
  const dataType = this.readUInt8();
550
542
  value[index] = this.read(dataType, {});
551
- if (this.position === this.buffer.length) {
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
+ }
552
549
  break;
553
550
  }
554
551
  }
555
552
  return value;
556
553
  }
557
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
554
+ // biome-ignore lint/suspicious/noExplicitAny: API
558
555
  write(type, value, options) {
559
556
  switch (type) {
560
557
  case enums_1.DataType.NO_DATA:
561
558
  case enums_1.DataType.UNKNOWN: {
562
559
  return; // nothing to write
563
560
  }
564
- case enums_1.DataType.DATA8:
565
561
  case enums_1.DataType.BOOLEAN:
562
+ case enums_1.DataType.DATA8:
566
563
  case enums_1.DataType.BITMAP8:
567
564
  case enums_1.DataType.UINT8:
568
565
  case enums_1.DataType.ENUM8: {
569
- return this.writeUInt8(value);
566
+ this.writeUInt8(value);
567
+ break;
570
568
  }
571
569
  case enums_1.DataType.DATA16:
572
570
  case enums_1.DataType.BITMAP16:
@@ -574,177 +572,219 @@ class BuffaloZcl extends buffalo_1.Buffalo {
574
572
  case enums_1.DataType.ENUM16:
575
573
  case enums_1.DataType.CLUSTER_ID:
576
574
  case enums_1.DataType.ATTR_ID: {
577
- return this.writeUInt16(value);
575
+ this.writeUInt16(value);
576
+ break;
578
577
  }
579
578
  case enums_1.DataType.DATA24:
580
579
  case enums_1.DataType.BITMAP24:
581
580
  case enums_1.DataType.UINT24: {
582
- return this.writeUInt24(value);
581
+ this.writeUInt24(value);
582
+ break;
583
583
  }
584
584
  case enums_1.DataType.DATA32:
585
585
  case enums_1.DataType.BITMAP32:
586
586
  case enums_1.DataType.UINT32:
587
587
  case enums_1.DataType.UTC:
588
588
  case enums_1.DataType.BAC_OID: {
589
- return this.writeUInt32(value);
589
+ this.writeUInt32(value);
590
+ break;
590
591
  }
591
592
  case enums_1.DataType.DATA40:
592
593
  case enums_1.DataType.BITMAP40:
593
594
  case enums_1.DataType.UINT40: {
594
- return this.writeUInt40SB(value);
595
+ this.writeUInt40(value);
596
+ break;
595
597
  }
596
598
  case enums_1.DataType.DATA48:
597
599
  case enums_1.DataType.BITMAP48:
598
600
  case enums_1.DataType.UINT48: {
599
- return this.writeUInt48SB(value);
601
+ this.writeUInt48(value);
602
+ break;
600
603
  }
601
604
  case enums_1.DataType.DATA56:
602
605
  case enums_1.DataType.BITMAP56:
603
606
  case enums_1.DataType.UINT56: {
604
- return this.writeUInt56SB(value);
607
+ this.writeUInt56(value);
608
+ break;
605
609
  }
606
610
  case enums_1.DataType.DATA64:
607
611
  case enums_1.DataType.BITMAP64:
608
612
  case enums_1.DataType.UINT64: {
609
- return this.writeUInt64SB(value);
613
+ this.writeUInt64(value);
614
+ break;
610
615
  }
611
616
  case enums_1.DataType.INT8: {
612
- return this.writeInt8(value);
617
+ this.writeInt8(value);
618
+ break;
613
619
  }
614
620
  case enums_1.DataType.INT16: {
615
- return this.writeInt16(value);
621
+ this.writeInt16(value);
622
+ break;
616
623
  }
617
624
  case enums_1.DataType.INT24: {
618
- return this.writeInt24(value);
625
+ this.writeInt24(value);
626
+ break;
619
627
  }
620
628
  case enums_1.DataType.INT32: {
621
- return this.writeInt32(value);
629
+ this.writeInt32(value);
630
+ break;
622
631
  }
623
632
  case enums_1.DataType.INT40: {
624
- return this.writeInt40SB(value);
633
+ this.writeInt40(value);
634
+ break;
625
635
  }
626
636
  case enums_1.DataType.INT48: {
627
- return this.writeInt48(value);
637
+ this.writeInt48(value);
638
+ break;
628
639
  }
629
640
  case enums_1.DataType.INT56: {
630
- return this.writeInt56SB(value);
641
+ this.writeInt56(value);
642
+ break;
631
643
  }
632
644
  case enums_1.DataType.INT64: {
633
- return this.writeInt64SB(value);
645
+ this.writeInt64(value);
646
+ break;
634
647
  }
635
648
  // case DataType.SEMI_PREC: {
636
649
  // // https://tc39.es/proposal-float16array/
637
650
  // // not currently used
638
- // return this.writeSemiFloatLE(value);
651
+ // this.writeSemiFloatLE(value);
652
+ // break;
639
653
  // }
640
654
  case enums_1.DataType.SINGLE_PREC: {
641
- return this.writeFloatLE(value);
655
+ this.writeFloatLE(value);
656
+ break;
642
657
  }
643
658
  case enums_1.DataType.DOUBLE_PREC: {
644
- return this.writeDoubleLE(value);
659
+ this.writeDoubleLE(value);
660
+ break;
645
661
  }
646
662
  case enums_1.DataType.OCTET_STR: {
647
- return this.writeOctetStr(value);
663
+ this.writeOctetStr(value);
664
+ break;
648
665
  }
649
666
  case enums_1.DataType.CHAR_STR: {
650
- return this.writeCharStr(value);
667
+ this.writeCharStr(value);
668
+ break;
651
669
  }
652
670
  case enums_1.DataType.LONG_OCTET_STR: {
653
- return this.writeLongOctetStr(value);
671
+ this.writeLongOctetStr(value);
672
+ break;
654
673
  }
655
674
  case enums_1.DataType.LONG_CHAR_STR: {
656
- return this.writeLongCharStr(value);
675
+ this.writeLongCharStr(value);
676
+ break;
657
677
  }
658
678
  case enums_1.DataType.ARRAY:
659
679
  case enums_1.DataType.SET:
660
680
  case enums_1.DataType.BAG: {
661
- return this.writeArray(value);
681
+ this.writeArray(value);
682
+ break;
662
683
  }
663
684
  case enums_1.DataType.STRUCT: {
664
- return this.writeStruct(value);
685
+ this.writeStruct(value);
686
+ break;
665
687
  }
666
688
  case enums_1.DataType.TOD: {
667
- return this.writeToD(value);
689
+ this.writeToD(value);
690
+ break;
668
691
  }
669
692
  case enums_1.DataType.DATE: {
670
- return this.writeDate(value);
693
+ this.writeDate(value);
694
+ break;
671
695
  }
672
696
  case enums_1.DataType.IEEE_ADDR: {
673
- return this.writeIeeeAddr(value);
697
+ this.writeIeeeAddr(value);
698
+ break;
674
699
  }
675
700
  case enums_1.DataType.SEC_KEY: {
676
- return this.writeBuffer(value, SEC_KEY_LENGTH);
701
+ this.writeBuffer(value, SEC_KEY_LENGTH);
702
+ break;
677
703
  }
678
704
  case enums_1.BuffaloZclDataType.USE_DATA_TYPE: {
679
705
  if (options.dataType == null) {
680
- if (Buffer.isBuffer(value) || (0, utils_1.IsNumberArray)(value)) {
681
- return this.writeBuffer(value, value.length);
682
- }
683
- else {
684
- throw new Error('Cannot write USE_DATA_TYPE without dataType option specified');
706
+ if (Buffer.isBuffer(value) || (0, utils_1.isNumberArray)(value)) {
707
+ this.writeBuffer(value, value.length);
708
+ break;
685
709
  }
710
+ throw new Error("Cannot write USE_DATA_TYPE without dataType option specified");
686
711
  }
687
- return this.write(options.dataType, value, options);
712
+ this.write(options.dataType, value, options);
713
+ break;
688
714
  }
689
715
  case enums_1.BuffaloZclDataType.LIST_UINT8: {
690
- return this.writeListUInt8(value);
716
+ this.writeListUInt8(value);
717
+ break;
691
718
  }
692
719
  case enums_1.BuffaloZclDataType.LIST_UINT16: {
693
- return this.writeListUInt16(value);
720
+ this.writeListUInt16(value);
721
+ break;
694
722
  }
695
723
  case enums_1.BuffaloZclDataType.LIST_UINT24: {
696
- return this.writeListUInt24(value);
724
+ this.writeListUInt24(value);
725
+ break;
697
726
  }
698
727
  case enums_1.BuffaloZclDataType.LIST_UINT32: {
699
- return this.writeListUInt32(value);
728
+ this.writeListUInt32(value);
729
+ break;
700
730
  }
701
731
  case enums_1.BuffaloZclDataType.LIST_ZONEINFO: {
702
- return this.writeListZoneInfo(value);
732
+ this.writeListZoneInfo(value);
733
+ break;
703
734
  }
704
735
  case enums_1.BuffaloZclDataType.EXTENSION_FIELD_SETS: {
705
- return this.writeExtensionFieldSets(value);
736
+ this.writeExtensionFieldSets(value);
737
+ break;
706
738
  }
707
739
  case enums_1.BuffaloZclDataType.LIST_THERMO_TRANSITIONS: {
708
- return this.writeListThermoTransitions(value);
740
+ this.writeListThermoTransitions(value);
741
+ break;
709
742
  }
710
743
  case enums_1.BuffaloZclDataType.BUFFER: {
711
744
  // XXX: inconsistent with read that allows partial with options.length, here always "whole"
712
- return this.writeBuffer(value, value.length);
745
+ this.writeBuffer(value, value.length);
746
+ break;
713
747
  }
714
- case enums_1.BuffaloZclDataType.GDP_FRAME: {
715
- return this.writeGdpFrame(value);
748
+ case enums_1.BuffaloZclDataType.GPD_FRAME: {
749
+ this.writeGpdFrame(value);
750
+ break;
716
751
  }
717
752
  case enums_1.BuffaloZclDataType.STRUCTURED_SELECTOR: {
718
- return this.writeStructuredSelector(value);
753
+ this.writeStructuredSelector(value);
754
+ break;
719
755
  }
720
756
  case enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES: {
721
- return this.writeListTuyaDataPointValues(value);
757
+ this.writeListTuyaDataPointValues(value);
758
+ break;
722
759
  }
723
760
  case enums_1.BuffaloZclDataType.LIST_MIBOXER_ZONES: {
724
- return this.writeListMiboxerZones(value);
761
+ this.writeListMiboxerZones(value);
762
+ break;
725
763
  }
726
764
  case enums_1.BuffaloZclDataType.BIG_ENDIAN_UINT24: {
727
- return this.writeBigEndianUInt24(value);
765
+ this.writeBigEndianUInt24(value);
766
+ break;
728
767
  }
729
768
  default: {
730
769
  // In case the type is undefined, write it as a buffer to easily allow for custom types
731
770
  // e.g. for https://github.com/Koenkk/zigbee-herdsman/issues/127
732
- if (Buffer.isBuffer(value) || (0, utils_1.IsNumberArray)(value)) {
733
- return this.writeBuffer(value, value.length);
771
+ if (Buffer.isBuffer(value) || (0, utils_1.isNumberArray)(value)) {
772
+ this.writeBuffer(value, value.length);
773
+ break;
734
774
  }
775
+ throw new Error(`Write for '${type}' not available`);
735
776
  }
736
777
  }
737
- throw new Error(`Write for '${type}' not available`);
738
778
  }
739
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
779
+ // biome-ignore lint/suspicious/noExplicitAny: API
740
780
  read(type, options) {
741
781
  switch (type) {
742
782
  case enums_1.DataType.NO_DATA:
743
783
  case enums_1.DataType.UNKNOWN: {
744
784
  return; // nothing to write
745
785
  }
746
- case enums_1.DataType.DATA8:
747
786
  case enums_1.DataType.BOOLEAN:
787
+ case enums_1.DataType.DATA8:
748
788
  case enums_1.DataType.BITMAP8:
749
789
  case enums_1.DataType.UINT8:
750
790
  case enums_1.DataType.ENUM8: {
@@ -773,22 +813,22 @@ class BuffaloZcl extends buffalo_1.Buffalo {
773
813
  case enums_1.DataType.DATA40:
774
814
  case enums_1.DataType.BITMAP40:
775
815
  case enums_1.DataType.UINT40: {
776
- return this.readUInt40SB();
816
+ return this.readUInt40();
777
817
  }
778
818
  case enums_1.DataType.DATA48:
779
819
  case enums_1.DataType.BITMAP48:
780
820
  case enums_1.DataType.UINT48: {
781
- return this.readUInt48SB();
821
+ return this.readUInt48();
782
822
  }
783
823
  case enums_1.DataType.DATA56:
784
824
  case enums_1.DataType.BITMAP56:
785
825
  case enums_1.DataType.UINT56: {
786
- return this.readUInt56SB();
826
+ return this.readUInt56();
787
827
  }
788
828
  case enums_1.DataType.DATA64:
789
829
  case enums_1.DataType.BITMAP64:
790
830
  case enums_1.DataType.UINT64: {
791
- return this.readUInt64SB();
831
+ return this.readUInt64();
792
832
  }
793
833
  case enums_1.DataType.INT8: {
794
834
  return this.readInt8();
@@ -803,16 +843,16 @@ class BuffaloZcl extends buffalo_1.Buffalo {
803
843
  return this.readInt32();
804
844
  }
805
845
  case enums_1.DataType.INT40: {
806
- return this.readInt40SB();
846
+ return this.readInt40();
807
847
  }
808
848
  case enums_1.DataType.INT48: {
809
849
  return this.readInt48();
810
850
  }
811
851
  case enums_1.DataType.INT56: {
812
- return this.readInt56SB();
852
+ return this.readInt56();
813
853
  }
814
854
  case enums_1.DataType.INT64: {
815
- return this.readInt64SB();
855
+ return this.readInt64();
816
856
  }
817
857
  // case DataType.SEMI_PREC: {
818
858
  // // https://tc39.es/proposal-float16array/
@@ -865,31 +905,31 @@ class BuffaloZcl extends buffalo_1.Buffalo {
865
905
  }
866
906
  case enums_1.BuffaloZclDataType.LIST_UINT8: {
867
907
  if (options.length == null) {
868
- throw new Error('Cannot read LIST_UINT8 without length option specified');
908
+ throw new Error("Cannot read LIST_UINT8 without length option specified");
869
909
  }
870
910
  return this.readListUInt8(options.length);
871
911
  }
872
912
  case enums_1.BuffaloZclDataType.LIST_UINT16: {
873
913
  if (options.length == null) {
874
- throw new Error('Cannot read LIST_UINT16 without length option specified');
914
+ throw new Error("Cannot read LIST_UINT16 without length option specified");
875
915
  }
876
916
  return this.readListUInt16(options.length);
877
917
  }
878
918
  case enums_1.BuffaloZclDataType.LIST_UINT24: {
879
919
  if (options.length == null) {
880
- throw new Error('Cannot read LIST_UINT24 without length option specified');
920
+ throw new Error("Cannot read LIST_UINT24 without length option specified");
881
921
  }
882
922
  return this.readListUInt24(options.length);
883
923
  }
884
924
  case enums_1.BuffaloZclDataType.LIST_UINT32: {
885
925
  if (options.length == null) {
886
- throw new Error('Cannot read LIST_UINT32 without length option specified');
926
+ throw new Error("Cannot read LIST_UINT32 without length option specified");
887
927
  }
888
928
  return this.readListUInt32(options.length);
889
929
  }
890
930
  case enums_1.BuffaloZclDataType.LIST_ZONEINFO: {
891
931
  if (options.length == null) {
892
- throw new Error('Cannot read LIST_ZONEINFO without length option specified');
932
+ throw new Error("Cannot read LIST_ZONEINFO without length option specified");
893
933
  }
894
934
  return this.readListZoneInfo(options.length);
895
935
  }
@@ -903,8 +943,8 @@ class BuffaloZcl extends buffalo_1.Buffalo {
903
943
  // if length option not specified, read the whole buffer
904
944
  return this.readBuffer(options.length ?? this.buffer.length);
905
945
  }
906
- case enums_1.BuffaloZclDataType.GDP_FRAME: {
907
- return this.readGdpFrame(options);
946
+ case enums_1.BuffaloZclDataType.GPD_FRAME: {
947
+ return this.readGpdFrame(options);
908
948
  }
909
949
  case enums_1.BuffaloZclDataType.STRUCTURED_SELECTOR: {
910
950
  return this.readStructuredSelector();