zigbee-herdsman 3.5.2 → 4.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (728) hide show
  1. package/.github/dependabot.yml +4 -0
  2. package/.github/workflows/ci.yml +3 -5
  3. package/.github/workflows/stale.yml +1 -1
  4. package/.github/workflows/typedoc.yaml +1 -1
  5. package/.release-please-manifest.json +1 -1
  6. package/.vscode/extensions.json +3 -0
  7. package/.vscode/settings.json +11 -0
  8. package/CHANGELOG.md +32 -0
  9. package/biome.json +89 -0
  10. package/dist/adapter/adapter.d.ts +11 -11
  11. package/dist/adapter/adapter.d.ts.map +1 -1
  12. package/dist/adapter/adapter.js +14 -14
  13. package/dist/adapter/adapterDiscovery.d.ts +6 -6
  14. package/dist/adapter/adapterDiscovery.d.ts.map +1 -1
  15. package/dist/adapter/adapterDiscovery.js +139 -141
  16. package/dist/adapter/adapterDiscovery.js.map +1 -1
  17. package/dist/adapter/const.d.ts +1 -1
  18. package/dist/adapter/const.js +2 -2
  19. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +16 -16
  20. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  21. package/dist/adapter/deconz/adapter/deconzAdapter.js +95 -100
  22. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  23. package/dist/adapter/deconz/driver/constants.d.ts +5 -5
  24. package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
  25. package/dist/adapter/deconz/driver/driver.d.ts +9 -9
  26. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  27. package/dist/adapter/deconz/driver/driver.js +112 -106
  28. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  29. package/dist/adapter/deconz/driver/frame.d.ts +1 -1
  30. package/dist/adapter/deconz/driver/frame.d.ts.map +1 -1
  31. package/dist/adapter/deconz/driver/frame.js +1 -2
  32. package/dist/adapter/deconz/driver/frame.js.map +1 -1
  33. package/dist/adapter/deconz/driver/frameParser.d.ts +1 -1
  34. package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
  35. package/dist/adapter/deconz/driver/frameParser.js +66 -70
  36. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  37. package/dist/adapter/deconz/driver/parser.d.ts +1 -1
  38. package/dist/adapter/deconz/driver/parser.d.ts.map +1 -1
  39. package/dist/adapter/deconz/driver/parser.js +2 -2
  40. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  41. package/dist/adapter/deconz/driver/writer.d.ts +2 -2
  42. package/dist/adapter/deconz/driver/writer.d.ts.map +1 -1
  43. package/dist/adapter/deconz/driver/writer.js +1 -1
  44. package/dist/adapter/ember/adapter/emberAdapter.d.ts +19 -19
  45. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  46. package/dist/adapter/ember/adapter/emberAdapter.js +117 -97
  47. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
  48. package/dist/adapter/ember/adapter/endpoints.d.ts +1 -1
  49. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
  50. package/dist/adapter/ember/adapter/oneWaitress.d.ts +5 -5
  51. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  52. package/dist/adapter/ember/adapter/oneWaitress.js +2 -2
  53. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
  54. package/dist/adapter/ember/adapter/tokensManager.d.ts +3 -3
  55. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
  56. package/dist/adapter/ember/adapter/tokensManager.js +20 -23
  57. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
  58. package/dist/adapter/ember/enums.d.ts +4 -4
  59. package/dist/adapter/ember/enums.d.ts.map +1 -1
  60. package/dist/adapter/ember/enums.js +4 -6
  61. package/dist/adapter/ember/enums.js.map +1 -1
  62. package/dist/adapter/ember/ezsp/buffalo.d.ts +4 -4
  63. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -1
  64. package/dist/adapter/ember/ezsp/buffalo.js +30 -32
  65. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
  66. package/dist/adapter/ember/ezsp/ezsp.d.ts +46 -46
  67. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  68. package/dist/adapter/ember/ezsp/ezsp.js +85 -111
  69. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
  70. package/dist/adapter/ember/ezspError.d.ts +1 -1
  71. package/dist/adapter/ember/types.d.ts +14 -14
  72. package/dist/adapter/ember/types.d.ts.map +1 -1
  73. package/dist/adapter/ember/uart/ash.d.ts +5 -5
  74. package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
  75. package/dist/adapter/ember/uart/ash.js +80 -71
  76. package/dist/adapter/ember/uart/ash.js.map +1 -1
  77. package/dist/adapter/ember/uart/parser.d.ts +2 -2
  78. package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
  79. package/dist/adapter/ember/uart/parser.js +2 -1
  80. package/dist/adapter/ember/uart/parser.js.map +1 -1
  81. package/dist/adapter/ember/uart/queues.js +27 -29
  82. package/dist/adapter/ember/uart/queues.js.map +1 -1
  83. package/dist/adapter/ember/uart/writer.d.ts +1 -1
  84. package/dist/adapter/ember/uart/writer.d.ts.map +1 -1
  85. package/dist/adapter/ember/uart/writer.js +3 -5
  86. package/dist/adapter/ember/uart/writer.js.map +1 -1
  87. package/dist/adapter/ember/utils/initters.d.ts +2 -2
  88. package/dist/adapter/ember/utils/initters.d.ts.map +1 -1
  89. package/dist/adapter/ember/utils/initters.js +1 -1
  90. package/dist/adapter/ember/utils/math.js +1 -1
  91. package/dist/adapter/events.d.ts +1 -1
  92. package/dist/adapter/events.d.ts.map +1 -1
  93. package/dist/adapter/ezsp/adapter/backup.d.ts +3 -3
  94. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  95. package/dist/adapter/ezsp/adapter/backup.js +8 -10
  96. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  97. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +12 -12
  98. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  99. package/dist/adapter/ezsp/adapter/ezspAdapter.js +45 -44
  100. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  101. package/dist/adapter/ezsp/driver/driver.d.ts +12 -12
  102. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  103. package/dist/adapter/ezsp/driver/driver.js +148 -141
  104. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  105. package/dist/adapter/ezsp/driver/ezsp.d.ts +7 -7
  106. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  107. package/dist/adapter/ezsp/driver/ezsp.js +61 -59
  108. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  109. package/dist/adapter/ezsp/driver/frame.js +2 -2
  110. package/dist/adapter/ezsp/driver/index.d.ts +2 -2
  111. package/dist/adapter/ezsp/driver/multicast.d.ts +8 -5
  112. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
  113. package/dist/adapter/ezsp/driver/multicast.js +9 -9
  114. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  115. package/dist/adapter/ezsp/driver/parser.d.ts +1 -1
  116. package/dist/adapter/ezsp/driver/parser.js +3 -3
  117. package/dist/adapter/ezsp/driver/types/basic.d.ts +5 -5
  118. package/dist/adapter/ezsp/driver/types/basic.d.ts.map +1 -1
  119. package/dist/adapter/ezsp/driver/types/basic.js +12 -33
  120. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  121. package/dist/adapter/ezsp/driver/types/index.d.ts +3 -3
  122. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
  123. package/dist/adapter/ezsp/driver/types/index.js +8 -9
  124. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  125. package/dist/adapter/ezsp/driver/types/named.d.ts +2 -2
  126. package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -1
  127. package/dist/adapter/ezsp/driver/types/named.js +8 -11
  128. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  129. package/dist/adapter/ezsp/driver/types/struct.d.ts +2 -2
  130. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
  131. package/dist/adapter/ezsp/driver/types/struct.js +207 -214
  132. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  133. package/dist/adapter/ezsp/driver/uart.d.ts +2 -2
  134. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  135. package/dist/adapter/ezsp/driver/uart.js +48 -37
  136. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  137. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +3 -3
  138. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +1 -1
  139. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +16 -34
  140. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
  141. package/dist/adapter/ezsp/driver/utils/index.d.ts +4 -4
  142. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -1
  143. package/dist/adapter/ezsp/driver/utils/index.js +4 -4
  144. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  145. package/dist/adapter/ezsp/driver/writer.d.ts +1 -1
  146. package/dist/adapter/ezsp/driver/writer.js +2 -2
  147. package/dist/adapter/index.d.ts +3 -3
  148. package/dist/adapter/serialPort.d.ts +3 -3
  149. package/dist/adapter/serialPort.d.ts.map +1 -1
  150. package/dist/adapter/serialPort.js +1 -0
  151. package/dist/adapter/serialPort.js.map +1 -1
  152. package/dist/adapter/socketPortUtils.js +3 -3
  153. package/dist/adapter/tstype.d.ts +6 -6
  154. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +4 -4
  155. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  156. package/dist/adapter/z-stack/adapter/adapter-backup.js +106 -119
  157. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  158. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +10 -10
  159. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +1 -1
  160. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +23 -24
  161. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  162. package/dist/adapter/z-stack/adapter/manager.d.ts +6 -6
  163. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  164. package/dist/adapter/z-stack/adapter/manager.js +116 -127
  165. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  166. package/dist/adapter/z-stack/adapter/tstype.d.ts +3 -3
  167. package/dist/adapter/z-stack/adapter/tstype.js +3 -3
  168. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +10 -10
  169. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  170. package/dist/adapter/z-stack/adapter/zStackAdapter.js +125 -137
  171. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  172. package/dist/adapter/z-stack/constants/common.d.ts.map +1 -1
  173. package/dist/adapter/z-stack/constants/common.js +0 -3
  174. package/dist/adapter/z-stack/constants/common.js.map +1 -1
  175. package/dist/adapter/z-stack/constants/index.d.ts +10 -10
  176. package/dist/adapter/z-stack/constants/index.d.ts.map +1 -1
  177. package/dist/adapter/z-stack/constants/index.js +2 -2
  178. package/dist/adapter/z-stack/constants/index.js.map +1 -1
  179. package/dist/adapter/z-stack/constants/utils.d.ts +1 -1
  180. package/dist/adapter/z-stack/constants/utils.js +2 -2
  181. package/dist/adapter/z-stack/constants/utils.js.map +1 -1
  182. package/dist/adapter/z-stack/models/startup-options.d.ts +2 -2
  183. package/dist/adapter/z-stack/models/startup-options.d.ts.map +1 -1
  184. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +1 -1
  185. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +1 -1
  186. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +4 -5
  187. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  188. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +2 -2
  189. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +1 -1
  190. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +3 -4
  191. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +1 -1
  192. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +1 -1
  193. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +1 -1
  194. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +1 -2
  195. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -1
  196. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +2 -2
  197. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +1 -1
  198. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +3 -4
  199. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +1 -1
  200. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +1 -1
  201. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts.map +1 -1
  202. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +6 -7
  203. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +1 -1
  204. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +2 -2
  205. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +1 -1
  206. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +3 -4
  207. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +1 -1
  208. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +1 -1
  209. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +1 -1
  210. package/dist/adapter/z-stack/structs/entries/channel-list.js +1 -2
  211. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -1
  212. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +1 -1
  213. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +1 -1
  214. package/dist/adapter/z-stack/structs/entries/has-configured.js +2 -3
  215. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -1
  216. package/dist/adapter/z-stack/structs/entries/index.d.ts +16 -16
  217. package/dist/adapter/z-stack/structs/entries/nib.d.ts +1 -1
  218. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +1 -1
  219. package/dist/adapter/z-stack/structs/entries/nib.js +49 -50
  220. package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -1
  221. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +1 -1
  222. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +1 -1
  223. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +1 -2
  224. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -1
  225. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +1 -1
  226. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +1 -1
  227. package/dist/adapter/z-stack/structs/entries/nwk-key.js +1 -2
  228. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -1
  229. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +1 -1
  230. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +1 -1
  231. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +1 -2
  232. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -1
  233. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +1 -1
  234. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +1 -1
  235. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +3 -4
  236. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -1
  237. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +2 -2
  238. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +1 -1
  239. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +3 -4
  240. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +1 -1
  241. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +1 -1
  242. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts.map +1 -1
  243. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +4 -5
  244. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
  245. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +2 -2
  246. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +1 -1
  247. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +3 -4
  248. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -1
  249. package/dist/adapter/z-stack/structs/index.d.ts +4 -4
  250. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +2 -2
  251. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts.map +1 -1
  252. package/dist/adapter/z-stack/structs/struct.d.ts +8 -8
  253. package/dist/adapter/z-stack/structs/struct.d.ts.map +1 -1
  254. package/dist/adapter/z-stack/structs/struct.js +42 -43
  255. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  256. package/dist/adapter/z-stack/structs/table.d.ts +3 -3
  257. package/dist/adapter/z-stack/structs/table.d.ts.map +1 -1
  258. package/dist/adapter/z-stack/structs/table.js +10 -10
  259. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  260. package/dist/adapter/z-stack/unpi/frame.d.ts +1 -1
  261. package/dist/adapter/z-stack/unpi/frame.d.ts.map +1 -1
  262. package/dist/adapter/z-stack/unpi/frame.js +2 -4
  263. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  264. package/dist/adapter/z-stack/unpi/index.d.ts +4 -4
  265. package/dist/adapter/z-stack/unpi/parser.d.ts +1 -1
  266. package/dist/adapter/z-stack/unpi/parser.js +3 -3
  267. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  268. package/dist/adapter/z-stack/unpi/writer.d.ts +2 -2
  269. package/dist/adapter/z-stack/unpi/writer.d.ts.map +1 -1
  270. package/dist/adapter/z-stack/unpi/writer.js +1 -1
  271. package/dist/adapter/z-stack/utils/index.d.ts +2 -2
  272. package/dist/adapter/z-stack/utils/network-options.d.ts +1 -1
  273. package/dist/adapter/z-stack/utils/network-options.d.ts.map +1 -1
  274. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +3 -3
  275. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +1 -1
  276. package/dist/adapter/z-stack/znp/buffaloZnp.js +34 -20
  277. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  278. package/dist/adapter/z-stack/znp/definition.d.ts +2 -2
  279. package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -1
  280. package/dist/adapter/z-stack/znp/definition.js +1111 -1111
  281. package/dist/adapter/z-stack/znp/index.d.ts +2 -2
  282. package/dist/adapter/z-stack/znp/tstype.d.ts +7 -7
  283. package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -1
  284. package/dist/adapter/z-stack/znp/utils.d.ts +1 -1
  285. package/dist/adapter/z-stack/znp/utils.d.ts.map +1 -1
  286. package/dist/adapter/z-stack/znp/utils.js +2 -2
  287. package/dist/adapter/z-stack/znp/znp.d.ts +7 -7
  288. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  289. package/dist/adapter/z-stack/znp/znp.js +46 -45
  290. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  291. package/dist/adapter/z-stack/znp/zpiObject.d.ts +8 -8
  292. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +1 -1
  293. package/dist/adapter/z-stack/znp/zpiObject.js +6 -6
  294. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  295. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +11 -11
  296. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -1
  297. package/dist/adapter/zboss/adapter/zbossAdapter.js +37 -36
  298. package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -1
  299. package/dist/adapter/zboss/commands.d.ts +4 -6
  300. package/dist/adapter/zboss/commands.d.ts.map +1 -1
  301. package/dist/adapter/zboss/commands.js +321 -287
  302. package/dist/adapter/zboss/commands.js.map +1 -1
  303. package/dist/adapter/zboss/driver.d.ts +9 -9
  304. package/dist/adapter/zboss/driver.d.ts.map +1 -1
  305. package/dist/adapter/zboss/driver.js +25 -25
  306. package/dist/adapter/zboss/driver.js.map +1 -1
  307. package/dist/adapter/zboss/frame.d.ts +9 -9
  308. package/dist/adapter/zboss/frame.d.ts.map +1 -1
  309. package/dist/adapter/zboss/frame.js +15 -15
  310. package/dist/adapter/zboss/frame.js.map +1 -1
  311. package/dist/adapter/zboss/reader.d.ts +2 -2
  312. package/dist/adapter/zboss/reader.d.ts.map +1 -1
  313. package/dist/adapter/zboss/reader.js +6 -5
  314. package/dist/adapter/zboss/reader.js.map +1 -1
  315. package/dist/adapter/zboss/uart.d.ts +3 -3
  316. package/dist/adapter/zboss/uart.d.ts.map +1 -1
  317. package/dist/adapter/zboss/uart.js +36 -36
  318. package/dist/adapter/zboss/uart.js.map +1 -1
  319. package/dist/adapter/zboss/writer.d.ts +1 -1
  320. package/dist/adapter/zboss/writer.d.ts.map +1 -1
  321. package/dist/adapter/zboss/writer.js +3 -5
  322. package/dist/adapter/zboss/writer.js.map +1 -1
  323. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js +2 -2
  324. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js.map +1 -1
  325. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +14 -14
  326. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  327. package/dist/adapter/zigate/adapter/zigateAdapter.js +52 -53
  328. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  329. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +6 -6
  330. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
  331. package/dist/adapter/zigate/driver/buffaloZiGate.js +41 -23
  332. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  333. package/dist/adapter/zigate/driver/commandType.d.ts +2 -2
  334. package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -1
  335. package/dist/adapter/zigate/driver/commandType.js +37 -37
  336. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  337. package/dist/adapter/zigate/driver/constants.d.ts +27 -200
  338. package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
  339. package/dist/adapter/zigate/driver/constants.js +40 -236
  340. package/dist/adapter/zigate/driver/constants.js.map +1 -1
  341. package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
  342. package/dist/adapter/zigate/driver/frame.js +4 -3
  343. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  344. package/dist/adapter/zigate/driver/messageType.d.ts +1 -1
  345. package/dist/adapter/zigate/driver/messageType.js +76 -76
  346. package/dist/adapter/zigate/driver/ziGateObject.d.ts +3 -3
  347. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
  348. package/dist/adapter/zigate/driver/ziGateObject.js +7 -6
  349. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  350. package/dist/adapter/zigate/driver/zigate.d.ts +8 -8
  351. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  352. package/dist/adapter/zigate/driver/zigate.js +59 -54
  353. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  354. package/dist/adapter/zoh/adapter/utils.js +1 -1
  355. package/dist/adapter/zoh/adapter/zohAdapter.d.ts +13 -13
  356. package/dist/adapter/zoh/adapter/zohAdapter.d.ts.map +1 -1
  357. package/dist/adapter/zoh/adapter/zohAdapter.js +101 -67
  358. package/dist/adapter/zoh/adapter/zohAdapter.js.map +1 -1
  359. package/dist/buffalo/buffalo.d.ts +2 -2
  360. package/dist/buffalo/buffalo.js +4 -4
  361. package/dist/buffalo/buffalo.js.map +1 -1
  362. package/dist/buffalo/index.d.ts +1 -1
  363. package/dist/controller/controller.d.ts +7 -7
  364. package/dist/controller/controller.d.ts.map +1 -1
  365. package/dist/controller/controller.js +94 -98
  366. package/dist/controller/controller.js.map +1 -1
  367. package/dist/controller/database.d.ts +1 -1
  368. package/dist/controller/database.d.ts.map +1 -1
  369. package/dist/controller/database.js +9 -9
  370. package/dist/controller/database.js.map +1 -1
  371. package/dist/controller/events.d.ts +6 -6
  372. package/dist/controller/events.d.ts.map +1 -1
  373. package/dist/controller/greenPower.d.ts +21 -21
  374. package/dist/controller/greenPower.d.ts.map +1 -1
  375. package/dist/controller/greenPower.js +41 -41
  376. package/dist/controller/greenPower.js.map +1 -1
  377. package/dist/controller/helpers/index.d.ts +1 -1
  378. package/dist/controller/helpers/request.d.ts +2 -2
  379. package/dist/controller/helpers/request.d.ts.map +1 -1
  380. package/dist/controller/helpers/request.js +31 -27
  381. package/dist/controller/helpers/request.js.map +1 -1
  382. package/dist/controller/helpers/requestQueue.d.ts +3 -3
  383. package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
  384. package/dist/controller/helpers/requestQueue.js +20 -20
  385. package/dist/controller/helpers/requestQueue.js.map +1 -1
  386. package/dist/controller/helpers/zclFrameConverter.d.ts +2 -2
  387. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  388. package/dist/controller/helpers/zclFrameConverter.js +1 -1
  389. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  390. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +6 -4
  391. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts.map +1 -1
  392. package/dist/controller/helpers/zclTransactionSequenceNumber.js +6 -5
  393. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -1
  394. package/dist/controller/index.d.ts +1 -1
  395. package/dist/controller/model/device.d.ts +23 -19
  396. package/dist/controller/model/device.d.ts.map +1 -1
  397. package/dist/controller/model/device.js +153 -128
  398. package/dist/controller/model/device.js.map +1 -1
  399. package/dist/controller/model/endpoint.d.ts +11 -11
  400. package/dist/controller/model/endpoint.d.ts.map +1 -1
  401. package/dist/controller/model/endpoint.js +84 -67
  402. package/dist/controller/model/endpoint.js.map +1 -1
  403. package/dist/controller/model/entity.d.ts +3 -3
  404. package/dist/controller/model/entity.d.ts.map +1 -1
  405. package/dist/controller/model/group.d.ts +4 -4
  406. package/dist/controller/model/group.d.ts.map +1 -1
  407. package/dist/controller/model/group.js +21 -9
  408. package/dist/controller/model/group.js.map +1 -1
  409. package/dist/controller/model/index.d.ts +4 -4
  410. package/dist/controller/touchlink.d.ts +1 -1
  411. package/dist/controller/touchlink.d.ts.map +1 -1
  412. package/dist/controller/touchlink.js +11 -11
  413. package/dist/controller/tstype.d.ts +3 -3
  414. package/dist/index.d.ts +10 -10
  415. package/dist/models/backup-storage-legacy.d.ts +14 -16
  416. package/dist/models/backup-storage-legacy.d.ts.map +1 -1
  417. package/dist/models/backup-storage-unified.d.ts +1 -1
  418. package/dist/models/backup.d.ts +2 -2
  419. package/dist/models/backup.d.ts.map +1 -1
  420. package/dist/models/index.d.ts +4 -4
  421. package/dist/utils/backup.d.ts +1 -1
  422. package/dist/utils/backup.d.ts.map +1 -1
  423. package/dist/utils/backup.js +26 -26
  424. package/dist/utils/backup.js.map +1 -1
  425. package/dist/utils/index.d.ts +5 -5
  426. package/dist/utils/logger.js +3 -3
  427. package/dist/utils/patchBigIntSerialization.js +1 -1
  428. package/dist/utils/patchBigIntSerialization.js.map +1 -1
  429. package/dist/utils/queue.d.ts.map +1 -1
  430. package/dist/utils/queue.js +1 -0
  431. package/dist/utils/queue.js.map +1 -1
  432. package/dist/utils/utils.d.ts.map +1 -1
  433. package/dist/utils/utils.js +5 -4
  434. package/dist/utils/utils.js.map +1 -1
  435. package/dist/utils/waitress.d.ts +1 -1
  436. package/dist/utils/waitress.js +3 -3
  437. package/dist/zspec/consts.d.ts +1 -1
  438. package/dist/zspec/consts.d.ts.map +1 -1
  439. package/dist/zspec/consts.js +1 -1
  440. package/dist/zspec/index.d.ts +3 -3
  441. package/dist/zspec/tstypes.d.ts +1 -1
  442. package/dist/zspec/utils.d.ts +4 -4
  443. package/dist/zspec/utils.d.ts.map +1 -1
  444. package/dist/zspec/utils.js +9 -13
  445. package/dist/zspec/utils.js.map +1 -1
  446. package/dist/zspec/zcl/buffaloZcl.d.ts +3 -3
  447. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
  448. package/dist/zspec/zcl/buffaloZcl.js +127 -84
  449. package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
  450. package/dist/zspec/zcl/definition/cluster.d.ts +1 -1
  451. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  452. package/dist/zspec/zcl/definition/cluster.js +1280 -911
  453. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  454. package/dist/zspec/zcl/definition/consts.js +7 -7
  455. package/dist/zspec/zcl/definition/foundation.d.ts +3 -3
  456. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
  457. package/dist/zspec/zcl/definition/foundation.js +88 -89
  458. package/dist/zspec/zcl/definition/foundation.js.map +1 -1
  459. package/dist/zspec/zcl/definition/manufacturerCode.d.ts +1 -1
  460. package/dist/zspec/zcl/definition/manufacturerCode.js +1 -1
  461. package/dist/zspec/zcl/definition/manufacturerCode.js.map +1 -1
  462. package/dist/zspec/zcl/definition/status.d.ts +3 -3
  463. package/dist/zspec/zcl/definition/status.js +3 -3
  464. package/dist/zspec/zcl/definition/tstype.d.ts +3 -3
  465. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  466. package/dist/zspec/zcl/index.d.ts +10 -10
  467. package/dist/zspec/zcl/utils.d.ts +3 -3
  468. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  469. package/dist/zspec/zcl/utils.js +18 -21
  470. package/dist/zspec/zcl/utils.js.map +1 -1
  471. package/dist/zspec/zcl/zclFrame.d.ts +7 -7
  472. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
  473. package/dist/zspec/zcl/zclFrame.js +38 -41
  474. package/dist/zspec/zcl/zclFrame.js.map +1 -1
  475. package/dist/zspec/zcl/zclHeader.d.ts +2 -2
  476. package/dist/zspec/zcl/zclHeader.d.ts.map +1 -1
  477. package/dist/zspec/zcl/zclHeader.js +3 -3
  478. package/dist/zspec/zcl/zclStatusError.d.ts +1 -1
  479. package/dist/zspec/zdo/buffaloZdo.d.ts +7 -7
  480. package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -1
  481. package/dist/zspec/zdo/buffaloZdo.js +4 -4
  482. package/dist/zspec/zdo/buffaloZdo.js.map +1 -1
  483. package/dist/zspec/zdo/definition/status.d.ts +1 -1
  484. package/dist/zspec/zdo/definition/status.js +1 -1
  485. package/dist/zspec/zdo/definition/tstypes.d.ts +48 -48
  486. package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -1
  487. package/dist/zspec/zdo/index.d.ts +7 -7
  488. package/dist/zspec/zdo/utils.d.ts +2 -2
  489. package/dist/zspec/zdo/utils.d.ts.map +1 -1
  490. package/dist/zspec/zdo/utils.js +1 -1
  491. package/dist/zspec/zdo/utils.js.map +1 -1
  492. package/dist/zspec/zdo/zdoStatusError.d.ts +1 -1
  493. package/examples/join-and-log.js +5 -5
  494. package/package.json +4 -11
  495. package/src/adapter/adapter.ts +189 -0
  496. package/src/adapter/adapterDiscovery.ts +653 -0
  497. package/src/adapter/const.ts +12 -0
  498. package/src/adapter/deconz/adapter/deconzAdapter.ts +768 -0
  499. package/src/adapter/deconz/driver/constants.ts +180 -0
  500. package/src/adapter/deconz/driver/driver.ts +900 -0
  501. package/src/adapter/deconz/driver/frame.ts +11 -0
  502. package/src/adapter/deconz/driver/frameParser.ts +557 -0
  503. package/src/adapter/deconz/driver/parser.ts +45 -0
  504. package/src/adapter/deconz/driver/writer.ts +22 -0
  505. package/src/adapter/deconz/types.d.ts +13 -0
  506. package/src/adapter/ember/adapter/emberAdapter.ts +2266 -0
  507. package/src/adapter/ember/adapter/endpoints.ts +86 -0
  508. package/src/adapter/ember/adapter/oneWaitress.ts +322 -0
  509. package/src/adapter/ember/adapter/tokensManager.ts +782 -0
  510. package/src/adapter/ember/consts.ts +178 -0
  511. package/src/adapter/ember/enums.ts +2123 -0
  512. package/src/adapter/ember/ezsp/buffalo.ts +1397 -0
  513. package/src/adapter/ember/ezsp/consts.ts +148 -0
  514. package/src/adapter/ember/ezsp/enums.ts +1087 -0
  515. package/src/adapter/ember/ezsp/ezsp.ts +8985 -0
  516. package/src/adapter/ember/ezspError.ts +10 -0
  517. package/src/adapter/ember/types.ts +866 -0
  518. package/src/adapter/ember/uart/ash.ts +1969 -0
  519. package/src/adapter/ember/uart/consts.ts +109 -0
  520. package/src/adapter/ember/uart/enums.ts +192 -0
  521. package/src/adapter/ember/uart/parser.ts +48 -0
  522. package/src/adapter/ember/uart/queues.ts +247 -0
  523. package/src/adapter/ember/uart/writer.ts +53 -0
  524. package/src/adapter/ember/utils/initters.ts +58 -0
  525. package/src/adapter/ember/utils/math.ts +73 -0
  526. package/src/adapter/events.ts +21 -0
  527. package/src/adapter/ezsp/adapter/backup.ts +109 -0
  528. package/src/adapter/ezsp/adapter/ezspAdapter.ts +614 -0
  529. package/src/adapter/ezsp/driver/commands.ts +2497 -0
  530. package/src/adapter/ezsp/driver/consts.ts +11 -0
  531. package/src/adapter/ezsp/driver/driver.ts +1002 -0
  532. package/src/adapter/ezsp/driver/ezsp.ts +802 -0
  533. package/src/adapter/ezsp/driver/frame.ts +101 -0
  534. package/src/adapter/ezsp/driver/index.ts +4 -0
  535. package/src/adapter/ezsp/driver/multicast.ts +78 -0
  536. package/src/adapter/ezsp/driver/parser.ts +81 -0
  537. package/src/adapter/ezsp/driver/types/basic.ts +201 -0
  538. package/src/adapter/ezsp/driver/types/index.ts +239 -0
  539. package/src/adapter/ezsp/driver/types/named.ts +2330 -0
  540. package/src/adapter/ezsp/driver/types/struct.ts +844 -0
  541. package/src/adapter/ezsp/driver/uart.ts +460 -0
  542. package/src/adapter/ezsp/driver/utils/crc16ccitt.ts +44 -0
  543. package/src/adapter/ezsp/driver/utils/index.ts +32 -0
  544. package/src/adapter/ezsp/driver/writer.ts +64 -0
  545. package/src/adapter/index.ts +3 -0
  546. package/src/adapter/serialPort.ts +58 -0
  547. package/src/adapter/socketPortUtils.ts +16 -0
  548. package/src/adapter/tstype.ts +78 -0
  549. package/src/adapter/z-stack/adapter/adapter-backup.ts +519 -0
  550. package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +457 -0
  551. package/src/adapter/z-stack/adapter/endpoints.ts +57 -0
  552. package/src/adapter/z-stack/adapter/manager.ts +544 -0
  553. package/src/adapter/z-stack/adapter/tstype.ts +6 -0
  554. package/src/adapter/z-stack/adapter/zStackAdapter.ts +1190 -0
  555. package/src/adapter/z-stack/constants/af.ts +27 -0
  556. package/src/adapter/z-stack/constants/common.ts +285 -0
  557. package/src/adapter/z-stack/constants/dbg.ts +23 -0
  558. package/src/adapter/z-stack/constants/index.ts +11 -0
  559. package/src/adapter/z-stack/constants/mac.ts +128 -0
  560. package/src/adapter/z-stack/constants/sapi.ts +25 -0
  561. package/src/adapter/z-stack/constants/sys.ts +72 -0
  562. package/src/adapter/z-stack/constants/util.ts +82 -0
  563. package/src/adapter/z-stack/constants/utils.ts +14 -0
  564. package/src/adapter/z-stack/constants/zdo.ts +103 -0
  565. package/src/adapter/z-stack/models/startup-options.ts +13 -0
  566. package/src/adapter/z-stack/structs/entries/address-manager-entry.ts +44 -0
  567. package/src/adapter/z-stack/structs/entries/address-manager-table.ts +19 -0
  568. package/src/adapter/z-stack/structs/entries/aps-link-key-data-entry.ts +12 -0
  569. package/src/adapter/z-stack/structs/entries/aps-link-key-data-table.ts +21 -0
  570. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-entry.ts +19 -0
  571. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-table.ts +21 -0
  572. package/src/adapter/z-stack/structs/entries/channel-list.ts +8 -0
  573. package/src/adapter/z-stack/structs/entries/has-configured.ts +16 -0
  574. package/src/adapter/z-stack/structs/entries/index.ts +16 -0
  575. package/src/adapter/z-stack/structs/entries/nib.ts +66 -0
  576. package/src/adapter/z-stack/structs/entries/nwk-key-descriptor.ts +15 -0
  577. package/src/adapter/z-stack/structs/entries/nwk-key.ts +13 -0
  578. package/src/adapter/z-stack/structs/entries/nwk-pan-id.ts +8 -0
  579. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.ts +20 -0
  580. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.ts +19 -0
  581. package/src/adapter/z-stack/structs/entries/security-manager-entry.ts +33 -0
  582. package/src/adapter/z-stack/structs/entries/security-manager-table.ts +22 -0
  583. package/src/adapter/z-stack/structs/index.ts +4 -0
  584. package/src/adapter/z-stack/structs/serializable-memory-object.ts +14 -0
  585. package/src/adapter/z-stack/structs/struct.ts +367 -0
  586. package/src/adapter/z-stack/structs/table.ts +198 -0
  587. package/src/adapter/z-stack/unpi/constants.ts +33 -0
  588. package/src/adapter/z-stack/unpi/frame.ts +62 -0
  589. package/src/adapter/z-stack/unpi/index.ts +4 -0
  590. package/src/adapter/z-stack/unpi/parser.ts +56 -0
  591. package/src/adapter/z-stack/unpi/writer.ts +21 -0
  592. package/src/adapter/z-stack/utils/channel-list.ts +40 -0
  593. package/src/adapter/z-stack/utils/index.ts +2 -0
  594. package/src/adapter/z-stack/utils/network-options.ts +26 -0
  595. package/src/adapter/z-stack/znp/buffaloZnp.ts +175 -0
  596. package/src/adapter/z-stack/znp/definition.ts +2713 -0
  597. package/src/adapter/z-stack/znp/index.ts +2 -0
  598. package/src/adapter/z-stack/znp/parameterType.ts +22 -0
  599. package/src/adapter/z-stack/znp/tstype.ts +44 -0
  600. package/src/adapter/z-stack/znp/utils.ts +10 -0
  601. package/src/adapter/z-stack/znp/znp.ts +342 -0
  602. package/src/adapter/z-stack/znp/zpiObject.ts +148 -0
  603. package/src/adapter/zboss/adapter/zbossAdapter.ts +527 -0
  604. package/src/adapter/zboss/commands.ts +1184 -0
  605. package/src/adapter/zboss/consts.ts +9 -0
  606. package/src/adapter/zboss/driver.ts +423 -0
  607. package/src/adapter/zboss/enums.ts +360 -0
  608. package/src/adapter/zboss/frame.ts +227 -0
  609. package/src/adapter/zboss/reader.ts +65 -0
  610. package/src/adapter/zboss/types.ts +0 -0
  611. package/src/adapter/zboss/uart.ts +428 -0
  612. package/src/adapter/zboss/utils.ts +58 -0
  613. package/src/adapter/zboss/writer.ts +49 -0
  614. package/src/adapter/zigate/adapter/patchZdoBuffaloBE.ts +27 -0
  615. package/src/adapter/zigate/adapter/zigateAdapter.ts +618 -0
  616. package/src/adapter/zigate/driver/LICENSE +17 -0
  617. package/src/adapter/zigate/driver/buffaloZiGate.ts +212 -0
  618. package/src/adapter/zigate/driver/commandType.ts +418 -0
  619. package/src/adapter/zigate/driver/constants.ts +150 -0
  620. package/src/adapter/zigate/driver/frame.ts +197 -0
  621. package/src/adapter/zigate/driver/messageType.ts +287 -0
  622. package/src/adapter/zigate/driver/parameterType.ts +32 -0
  623. package/src/adapter/zigate/driver/ziGateObject.ts +146 -0
  624. package/src/adapter/zigate/driver/zigate.ts +426 -0
  625. package/src/adapter/zoh/adapter/utils.ts +27 -0
  626. package/src/adapter/zoh/adapter/zohAdapter.ts +837 -0
  627. package/src/buffalo/buffalo.ts +335 -0
  628. package/src/buffalo/index.ts +1 -0
  629. package/src/controller/controller.ts +1048 -0
  630. package/src/controller/database.ts +124 -0
  631. package/src/controller/events.ts +51 -0
  632. package/src/controller/greenPower.ts +603 -0
  633. package/src/controller/helpers/index.ts +1 -0
  634. package/src/controller/helpers/request.ts +94 -0
  635. package/src/controller/helpers/requestQueue.ts +125 -0
  636. package/src/controller/helpers/zclFrameConverter.ts +51 -0
  637. package/src/controller/helpers/zclTransactionSequenceNumber.ts +19 -0
  638. package/src/controller/index.ts +6 -0
  639. package/src/controller/model/device.ts +1320 -0
  640. package/src/controller/model/endpoint.ts +1040 -0
  641. package/src/controller/model/entity.ts +23 -0
  642. package/src/controller/model/group.ts +333 -0
  643. package/src/controller/model/index.ts +4 -0
  644. package/src/controller/touchlink.ts +189 -0
  645. package/src/controller/tstype.ts +39 -0
  646. package/src/index.ts +12 -0
  647. package/src/models/backup-storage-legacy.ts +48 -0
  648. package/src/models/backup-storage-unified.ts +47 -0
  649. package/src/models/backup.ts +37 -0
  650. package/src/models/index.ts +5 -0
  651. package/src/models/network-options.ts +11 -0
  652. package/src/utils/backup.ts +152 -0
  653. package/src/utils/index.ts +5 -0
  654. package/src/utils/logger.ts +20 -0
  655. package/src/utils/patchBigIntSerialization.ts +8 -0
  656. package/src/utils/queue.ts +76 -0
  657. package/src/utils/types.d.ts +3 -0
  658. package/src/utils/utils.ts +20 -0
  659. package/src/utils/wait.ts +5 -0
  660. package/src/utils/waitress.ts +95 -0
  661. package/src/zspec/consts.ts +84 -0
  662. package/src/zspec/enums.ts +22 -0
  663. package/src/zspec/index.ts +3 -0
  664. package/src/zspec/tstypes.ts +18 -0
  665. package/src/zspec/utils.ts +308 -0
  666. package/src/zspec/zcl/buffaloZcl.ts +1133 -0
  667. package/src/zspec/zcl/definition/cluster.ts +5766 -0
  668. package/src/zspec/zcl/definition/consts.ts +24 -0
  669. package/src/zspec/zcl/definition/enums.ts +194 -0
  670. package/src/zspec/zcl/definition/foundation.ts +301 -0
  671. package/src/zspec/zcl/definition/manufacturerCode.ts +729 -0
  672. package/src/zspec/zcl/definition/status.ts +69 -0
  673. package/src/zspec/zcl/definition/tstype.ts +268 -0
  674. package/src/zspec/zcl/index.ts +10 -0
  675. package/src/zspec/zcl/utils.ts +342 -0
  676. package/src/zspec/zcl/zclFrame.ts +336 -0
  677. package/src/zspec/zcl/zclHeader.ts +102 -0
  678. package/src/zspec/zcl/zclStatusError.ts +10 -0
  679. package/src/zspec/zdo/buffaloZdo.ts +2345 -0
  680. package/src/zspec/zdo/definition/clusters.ts +722 -0
  681. package/src/zspec/zdo/definition/consts.ts +16 -0
  682. package/src/zspec/zdo/definition/enums.ts +99 -0
  683. package/src/zspec/zdo/definition/status.ts +105 -0
  684. package/src/zspec/zdo/definition/tstypes.ts +1062 -0
  685. package/src/zspec/zdo/index.ts +7 -0
  686. package/src/zspec/zdo/utils.ts +76 -0
  687. package/src/zspec/zdo/zdoStatusError.ts +10 -0
  688. package/test/adapter/adapter.test.ts +1062 -0
  689. package/test/adapter/ember/ash.test.ts +337 -0
  690. package/test/adapter/ember/consts.ts +131 -0
  691. package/test/adapter/ember/emberAdapter.test.ts +3449 -0
  692. package/test/adapter/ember/ezsp.test.ts +386 -0
  693. package/test/adapter/ember/ezspBuffalo.test.ts +92 -0
  694. package/test/adapter/ember/ezspError.test.ts +11 -0
  695. package/test/adapter/ember/math.test.ts +205 -0
  696. package/test/adapter/ezsp/frame.test.ts +29 -0
  697. package/test/adapter/ezsp/uart.test.ts +180 -0
  698. package/test/adapter/z-stack/adapter.test.ts +3985 -0
  699. package/test/adapter/z-stack/constants.test.ts +32 -0
  700. package/test/adapter/z-stack/structs.test.ts +114 -0
  701. package/test/adapter/z-stack/unpi.test.ts +212 -0
  702. package/test/adapter/z-stack/znp.test.ts +1284 -0
  703. package/test/adapter/zboss/fixZdoResponse.test.ts +178 -0
  704. package/test/adapter/zigate/patchZdoBuffaloBE.test.ts +80 -0
  705. package/test/adapter/zigate/zdo.test.ts +187 -0
  706. package/test/adapter/zoh/utils.test.ts +35 -0
  707. package/test/adapter/zoh/zohAdapter.test.ts +1306 -0
  708. package/test/buffalo.test.ts +430 -0
  709. package/test/controller.test.ts +10005 -0
  710. package/test/greenpower.test.ts +1421 -0
  711. package/test/mockAdapters.ts +65 -0
  712. package/test/mockDevices.ts +472 -0
  713. package/test/testUtils.ts +20 -0
  714. package/test/tsconfig.json +10 -0
  715. package/test/utils/math.ts +19 -0
  716. package/test/utils.test.ts +227 -0
  717. package/test/vitest.config.mts +25 -0
  718. package/test/zcl.test.ts +2832 -0
  719. package/test/zspec/utils.test.ts +131 -0
  720. package/test/zspec/zcl/buffalo.test.ts +1231 -0
  721. package/test/zspec/zcl/frame.test.ts +925 -0
  722. package/test/zspec/zcl/utils.test.ts +280 -0
  723. package/test/zspec/zdo/buffalo.test.ts +1849 -0
  724. package/test/zspec/zdo/utils.test.ts +240 -0
  725. package/.github/workflows/update-dependencies.yml +0 -39
  726. package/.prettierignore +0 -2
  727. package/.prettierrc +0 -26
  728. package/eslint.config.mjs +0 -32
@@ -1 +1 @@
1
- {"version":3,"file":"zStackAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/z-stack/adapter/zStackAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zStackAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/z-stack/adapter/zStackAdapter.ts"],"names":[],"mappings":"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"}
@@ -52,19 +52,19 @@ const definition_1 = __importDefault(require("../znp/definition"));
52
52
  const utils_2 = require("../znp/utils");
53
53
  const manager_1 = require("./manager");
54
54
  const tstype_1 = require("./tstype");
55
- const NS = 'zh:zstack';
55
+ const NS = "zh:zstack";
56
56
  const Subsystem = unpi_1.Constants.Subsystem;
57
57
  const Type = unpi_1.Constants.Type;
58
58
  const { ZnpCommandStatus, AddressMode } = Constants.COMMON;
59
59
  const DataConfirmTimeout = 9999; // Not an actual code
60
60
  const DataConfirmErrorCodeLookup = {
61
- [DataConfirmTimeout]: 'Timeout',
62
- 26: 'MAC no resources',
63
- 183: 'APS no ack',
64
- 205: 'No network route',
65
- 225: 'MAC channel access failure',
66
- 233: 'MAC no ack',
67
- 240: 'MAC transaction expired',
61
+ [DataConfirmTimeout]: "Timeout",
62
+ 26: "MAC no resources",
63
+ 183: "APS no ack",
64
+ 205: "No network route",
65
+ 225: "MAC channel access failure",
66
+ 233: "MAC no ack",
67
+ 240: "MAC transaction expired",
68
68
  };
69
69
  class DataConfirmError extends Error {
70
70
  code;
@@ -93,6 +93,7 @@ class ZStackAdapter extends adapter_1.default {
93
93
  super(networkOptions, serialPortOptions, backupPath, adapterOptions);
94
94
  this.hasZdoMessageOverhead = false;
95
95
  this.manufacturerID = Zcl.ManufacturerCode.TEXAS_INSTRUMENTS;
96
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
96
97
  this.znp = new znp_1.Znp(this.serialPortOptions.path, this.serialPortOptions.baudRate, this.serialPortOptions.rtscts);
97
98
  this.transactionID = 0;
98
99
  this.deviceAnnounceRouteDiscoveryDebouncers = new Map();
@@ -100,8 +101,8 @@ class ZStackAdapter extends adapter_1.default {
100
101
  this.interpanEndpointRegistered = false;
101
102
  this.closing = false;
102
103
  this.waitress = new utils_1.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
103
- this.znp.on('received', this.onZnpRecieved.bind(this));
104
- this.znp.on('close', this.onZnpClose.bind(this));
104
+ this.znp.on("received", this.onZnpRecieved.bind(this));
105
+ this.znp.on("close", this.onZnpClose.bind(this));
105
106
  }
106
107
  /**
107
108
  * Adapter methods
@@ -111,7 +112,7 @@ class ZStackAdapter extends adapter_1.default {
111
112
  const attempts = 3;
112
113
  for (let i = 0; i < attempts; i++) {
113
114
  try {
114
- await this.znp.request(Subsystem.SYS, 'ping', { capabilities: 1 });
115
+ await this.znp.request(Subsystem.SYS, "ping", { capabilities: 1 });
115
116
  break;
116
117
  }
117
118
  catch (e) {
@@ -122,17 +123,13 @@ class ZStackAdapter extends adapter_1.default {
122
123
  }
123
124
  // Old firmware did not support version, assume it's Z-Stack 1.2 for now.
124
125
  try {
125
- this.version = (await this.znp.requestWithReply(Subsystem.SYS, 'version', {})).payload;
126
+ this.version = (await this.znp.requestWithReply(Subsystem.SYS, "version", {})).payload;
126
127
  }
127
128
  catch {
128
- logger_1.logger.debug(`Failed to get zStack version, assuming 1.2`, NS);
129
- this.version = { transportrev: 2, product: 0, majorrel: 2, minorrel: 0, maintrel: 0, revision: '' };
129
+ logger_1.logger.debug("Failed to get zStack version, assuming 1.2", NS);
130
+ this.version = { transportrev: 2, product: 0, majorrel: 2, minorrel: 0, maintrel: 0, revision: "" };
130
131
  }
131
- const concurrent = this.adapterOptions && this.adapterOptions.concurrent
132
- ? this.adapterOptions.concurrent
133
- : this.version.product === tstype_1.ZnpVersion.zStack3x0
134
- ? 16
135
- : 2;
132
+ const concurrent = this.adapterOptions?.concurrent ? this.adapterOptions.concurrent : this.version.product === tstype_1.ZnpVersion.ZStack3x0 ? 16 : 2;
136
133
  logger_1.logger.debug(`Adapter concurrent: ${concurrent}`, NS);
137
134
  this.queue = new utils_1.Queue(concurrent);
138
135
  logger_1.logger.debug(`Detected znp version '${tstype_1.ZnpVersion[this.version.product]}' (${JSON.stringify(this.version)})`, NS);
@@ -147,10 +144,10 @@ class ZStackAdapter extends adapter_1.default {
147
144
  if (this.adapterOptions.disableLED) {
148
145
  // Wait a bit for adapter to startup, otherwise led doesn't disable (tested with CC2531)
149
146
  await (0, utils_1.wait)(200);
150
- await this.setLED('disable');
147
+ await this.setLED("disable");
151
148
  }
152
149
  if (this.adapterOptions.transmitPower != null) {
153
- await this.znp.request(Subsystem.SYS, 'stackTune', { operation: 0, value: this.adapterOptions.transmitPower });
150
+ await this.znp.request(Subsystem.SYS, "stackTune", { operation: 0, value: this.adapterOptions.transmitPower });
154
151
  }
155
152
  return await startResult;
156
153
  }
@@ -161,12 +158,12 @@ class ZStackAdapter extends adapter_1.default {
161
158
  async getCoordinatorIEEE() {
162
159
  return await this.queue.execute(async () => {
163
160
  this.checkInterpanLock();
164
- const deviceInfo = await this.znp.requestWithReply(Subsystem.UTIL, 'getDeviceInfo', {});
161
+ const deviceInfo = await this.znp.requestWithReply(Subsystem.UTIL, "getDeviceInfo", {});
165
162
  return deviceInfo.payload.ieeeaddr;
166
163
  });
167
164
  }
168
165
  async getCoordinatorVersion() {
169
- return { type: tstype_1.ZnpVersion[this.version.product], meta: this.version };
166
+ return await Promise.resolve({ type: tstype_1.ZnpVersion[this.version.product], meta: this.version });
170
167
  }
171
168
  async permitJoin(seconds, networkAddress) {
172
169
  const clusterId = Zdo.ClusterId.PERMIT_JOINING_REQUEST;
@@ -187,28 +184,28 @@ class ZStackAdapter extends adapter_1.default {
187
184
  }
188
185
  await this.queue.execute(async () => {
189
186
  this.checkInterpanLock();
190
- await this.setLED(seconds == 0 ? 'off' : 'on');
187
+ await this.setLED(seconds === 0 ? "off" : "on");
191
188
  });
192
189
  }
193
190
  async reset(type) {
194
- if (type === 'soft') {
195
- await this.znp.request(Subsystem.SYS, 'resetReq', { type: Constants.SYS.resetType.SOFT });
191
+ if (type === "soft") {
192
+ await this.znp.request(Subsystem.SYS, "resetReq", { type: Constants.SYS.resetType.SOFT });
196
193
  }
197
194
  else {
198
- await this.znp.request(Subsystem.SYS, 'resetReq', { type: Constants.SYS.resetType.HARD });
195
+ await this.znp.request(Subsystem.SYS, "resetReq", { type: Constants.SYS.resetType.HARD });
199
196
  }
200
197
  }
201
198
  async setLED(action) {
202
- if (this.supportsLED == undefined) {
199
+ if (this.supportsLED == null) {
203
200
  // Only zStack3x0 with 20210430 and greater support LED
204
- const zStack3x0 = this.version.product === tstype_1.ZnpVersion.zStack3x0;
205
- this.supportsLED = !zStack3x0 || (zStack3x0 && parseInt(this.version.revision) >= 20210430);
201
+ const zStack3x0 = this.version.product === tstype_1.ZnpVersion.ZStack3x0;
202
+ this.supportsLED = !zStack3x0 || (zStack3x0 && Number.parseInt(this.version.revision) >= 20210430);
206
203
  }
207
- if (!this.supportsLED || (this.adapterOptions.disableLED && action !== 'disable')) {
204
+ if (!this.supportsLED || (this.adapterOptions.disableLED && action !== "disable")) {
208
205
  return;
209
206
  }
210
207
  // Firmwares build on and after 20211029 should handle LED themselves
211
- const firmwareControlsLed = parseInt(this.version.revision) >= 20211029;
208
+ const firmwareControlsLed = Number.parseInt(this.version.revision) >= 20211029;
212
209
  const lookup = {
213
210
  disable: firmwareControlsLed ? { ledid: 0xff, mode: 5 } : { ledid: 3, mode: 0 },
214
211
  on: firmwareControlsLed ? null : { ledid: 3, mode: 1 },
@@ -216,7 +213,7 @@ class ZStackAdapter extends adapter_1.default {
216
213
  };
217
214
  const payload = lookup[action];
218
215
  if (payload) {
219
- this.znp.request(Subsystem.UTIL, 'ledControl', payload, undefined, 500).catch(() => {
216
+ this.znp.request(Subsystem.UTIL, "ledControl", payload, undefined, 500).catch(() => {
220
217
  // We cannot 100% correctly determine if an adapter supports LED. E.g. the zStack 1.2 20190608
221
218
  // fw supports led on the CC2531 but not on the CC2530. Therefore if a led request fails never thrown
222
219
  // an error but instead mark the led as unsupported.
@@ -239,22 +236,20 @@ class ZStackAdapter extends adapter_1.default {
239
236
  return result[1].nwkAddress;
240
237
  /* v8 ignore start */
241
238
  }
242
- else {
243
- // TODO: will disappear once moved upstream
244
- throw new Zdo.StatusError(result[0]);
245
- }
239
+ // TODO: will disappear once moved upstream
240
+ throw new Zdo.StatusError(result[0]);
246
241
  /* v8 ignore stop */
247
242
  }
248
243
  supportsAssocRemove() {
249
- return this.version.product === tstype_1.ZnpVersion.zStack3x0 && parseInt(this.version.revision) >= 20200805;
244
+ return this.version.product === tstype_1.ZnpVersion.ZStack3x0 && Number.parseInt(this.version.revision) >= 20200805;
250
245
  }
251
246
  supportsAssocAdd() {
252
- return this.version.product === tstype_1.ZnpVersion.zStack3x0 && parseInt(this.version.revision) >= 20201026;
247
+ return this.version.product === tstype_1.ZnpVersion.ZStack3x0 && Number.parseInt(this.version.revision) >= 20201026;
253
248
  }
254
249
  async discoverRoute(networkAddress, waitSettled = true) {
255
250
  logger_1.logger.debug(`Discovering route to ${networkAddress}`, NS);
256
251
  const payload = { dstAddr: networkAddress, options: 0, radius: Constants.AF.DEFAULT_RADIUS };
257
- await this.znp.request(Subsystem.ZDO, 'extRouteDisc', payload);
252
+ await this.znp.request(Subsystem.ZDO, "extRouteDisc", payload);
258
253
  if (waitSettled) {
259
254
  await (0, utils_1.wait)(3000);
260
255
  }
@@ -351,7 +346,7 @@ class ZStackAdapter extends adapter_1.default {
351
346
  `(${responseAttempt},${dataRequestAttempt},${this.queue.count()})`, NS);
352
347
  let response = null;
353
348
  const command = zclFrame.command;
354
- if (command.response != undefined && disableResponse === false) {
349
+ if (command.response !== undefined && disableResponse === false) {
355
350
  response = this.waitForInternal(networkAddress, endpoint, zclFrame.header.frameControl.frameType, Zcl.Direction.SERVER_TO_CLIENT, zclFrame.header.transactionSequenceNumber, zclFrame.cluster.ID, command.response, timeout);
356
351
  }
357
352
  else if (!zclFrame.header.frameControl.disableDefaultResponse) {
@@ -370,7 +365,7 @@ class ZStackAdapter extends adapter_1.default {
370
365
  */
371
366
  if (assocRemove && assocRestore && this.supportsAssocAdd()) {
372
367
  logger_1.logger.debug(`assocAdd(${assocRestore.ieeeadr})`, NS);
373
- await this.znp.request(Subsystem.UTIL, 'assocAdd', assocRestore);
368
+ await this.znp.request(Subsystem.UTIL, "assocAdd", assocRestore);
374
369
  assocRestore = undefined;
375
370
  }
376
371
  const recoverableErrors = [
@@ -399,70 +394,68 @@ class ZStackAdapter extends adapter_1.default {
399
394
  await (0, utils_1.wait)(2000);
400
395
  return await this.sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint, zclFrame, timeout, disableResponse, disableRecovery, responseAttempt, dataRequestAttempt + 1, checkedNetworkAddress, discoveredRoute, assocRemove, assocRestore);
401
396
  }
402
- else {
403
- let doAssocRemove = false;
404
- if (!assocRemove &&
405
- dataConfirmResult === ZnpCommandStatus.MAC_TRANSACTION_EXPIRED &&
406
- dataRequestAttempt >= 1 &&
407
- this.supportsAssocRemove()) {
408
- const match = await this.znp.requestWithReply(Subsystem.UTIL, 'assocGetWithAddress', {
409
- extaddr: ieeeAddr,
410
- nwkaddr: networkAddress,
411
- });
412
- if (match.payload.nwkaddr !== 0xfffe && match.payload.noderelation !== 255) {
413
- doAssocRemove = true;
414
- assocRestore = { ieeeadr: ieeeAddr, nwkaddr: networkAddress, noderelation: match.payload.noderelation };
415
- }
416
- assocRemove = true;
417
- }
418
- // NWK_NO_ROUTE: no network route => rediscover route
419
- // MAC_NO_ACK: route may be corrupted
420
- // MAC_TRANSACTION_EXPIRED: Mac layer is sleeping
421
- if (doAssocRemove) {
422
- /**
423
- * Since child aging is disabled on the firmware, when a end device is directly connected
424
- * to the coordinator and changes parent and the coordinator does not recevie this update,
425
- * it still thinks it's directly connected.
426
- * A discoverRoute() is not send out in this case, therefore remove it from the associated device
427
- * list and try again.
428
- * Note: assocRemove is a custom command, not available by default, only available on recent
429
- * z-stack-firmware firmware version. In case it's not supported by the coordinator we will
430
- * automatically timeout after 60000ms.
431
- */
432
- logger_1.logger.debug(`assocRemove(${ieeeAddr})`, NS);
433
- await this.znp.request(Subsystem.UTIL, 'assocRemove', { ieeeadr: ieeeAddr });
434
- }
435
- else if (!discoveredRoute && dataRequestAttempt >= 1) {
436
- discoveredRoute = true;
437
- await this.discoverRoute(networkAddress);
397
+ let doAssocRemove = false;
398
+ if (!assocRemove &&
399
+ dataConfirmResult === ZnpCommandStatus.MAC_TRANSACTION_EXPIRED &&
400
+ dataRequestAttempt >= 1 &&
401
+ this.supportsAssocRemove()) {
402
+ const match = await this.znp.requestWithReply(Subsystem.UTIL, "assocGetWithAddress", {
403
+ extaddr: ieeeAddr,
404
+ nwkaddr: networkAddress,
405
+ });
406
+ if (match.payload.nwkaddr !== 0xfffe && match.payload.noderelation !== 255) {
407
+ doAssocRemove = true;
408
+ assocRestore = { ieeeadr: ieeeAddr, nwkaddr: networkAddress, noderelation: match.payload.noderelation };
438
409
  }
439
- else if (!checkedNetworkAddress && dataRequestAttempt >= 1) {
440
- // Figure out once if the network address has been changed.
441
- try {
442
- checkedNetworkAddress = true;
443
- const actualNetworkAddress = await this.requestNetworkAddress(ieeeAddr);
444
- if (networkAddress !== actualNetworkAddress) {
445
- logger_1.logger.debug(`Failed because request was done with wrong network address`, NS);
446
- discoveredRoute = true;
447
- networkAddress = actualNetworkAddress;
448
- await this.discoverRoute(actualNetworkAddress);
449
- }
450
- else {
451
- logger_1.logger.debug('Network address did not change', NS);
452
- }
453
- /* v8 ignore start */
410
+ assocRemove = true;
411
+ }
412
+ // NWK_NO_ROUTE: no network route => rediscover route
413
+ // MAC_NO_ACK: route may be corrupted
414
+ // MAC_TRANSACTION_EXPIRED: Mac layer is sleeping
415
+ if (doAssocRemove) {
416
+ /**
417
+ * Since child aging is disabled on the firmware, when a end device is directly connected
418
+ * to the coordinator and changes parent and the coordinator does not recevie this update,
419
+ * it still thinks it's directly connected.
420
+ * A discoverRoute() is not send out in this case, therefore remove it from the associated device
421
+ * list and try again.
422
+ * Note: assocRemove is a custom command, not available by default, only available on recent
423
+ * z-stack-firmware firmware version. In case it's not supported by the coordinator we will
424
+ * automatically timeout after 60000ms.
425
+ */
426
+ logger_1.logger.debug(`assocRemove(${ieeeAddr})`, NS);
427
+ await this.znp.request(Subsystem.UTIL, "assocRemove", { ieeeadr: ieeeAddr });
428
+ }
429
+ else if (!discoveredRoute && dataRequestAttempt >= 1) {
430
+ discoveredRoute = true;
431
+ await this.discoverRoute(networkAddress);
432
+ }
433
+ else if (!checkedNetworkAddress && dataRequestAttempt >= 1) {
434
+ // Figure out once if the network address has been changed.
435
+ try {
436
+ checkedNetworkAddress = true;
437
+ const actualNetworkAddress = await this.requestNetworkAddress(ieeeAddr);
438
+ if (networkAddress !== actualNetworkAddress) {
439
+ logger_1.logger.debug("Failed because request was done with wrong network address", NS);
440
+ discoveredRoute = true;
441
+ networkAddress = actualNetworkAddress;
442
+ await this.discoverRoute(actualNetworkAddress);
454
443
  }
455
- catch {
456
- /* empty */
444
+ else {
445
+ logger_1.logger.debug("Network address did not change", NS);
457
446
  }
458
- /* v8 ignore stop */
447
+ /* v8 ignore start */
459
448
  }
460
- else {
461
- logger_1.logger.debug('Wait 2000ms', NS);
462
- await (0, utils_1.wait)(2000);
449
+ catch {
450
+ /* empty */
463
451
  }
464
- return await this.sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint, zclFrame, timeout, disableResponse, disableRecovery, responseAttempt, dataRequestAttempt + 1, checkedNetworkAddress, discoveredRoute, assocRemove, assocRestore);
452
+ /* v8 ignore stop */
453
+ }
454
+ else {
455
+ logger_1.logger.debug("Wait 2000ms", NS);
456
+ await (0, utils_1.wait)(2000);
465
457
  }
458
+ return await this.sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint, zclFrame, timeout, disableResponse, disableRecovery, responseAttempt, dataRequestAttempt + 1, checkedNetworkAddress, discoveredRoute, assocRemove, assocRestore);
466
459
  }
467
460
  if (response !== null) {
468
461
  try {
@@ -475,7 +468,7 @@ class ZStackAdapter extends adapter_1.default {
475
468
  // No response could be because the radio of the end device is turned off:
476
469
  // Sometimes the coordinator does not properly set the PENDING flag.
477
470
  // Try to rewrite the device entry in the association table, this fixes it sometimes.
478
- const match = await this.znp.requestWithReply(Subsystem.UTIL, 'assocGetWithAddress', {
471
+ const match = await this.znp.requestWithReply(Subsystem.UTIL, "assocGetWithAddress", {
479
472
  extaddr: ieeeAddr,
480
473
  nwkaddr: networkAddress,
481
474
  });
@@ -483,10 +476,10 @@ class ZStackAdapter extends adapter_1.default {
483
476
  if (this.supportsAssocAdd() &&
484
477
  this.supportsAssocRemove() &&
485
478
  match.payload.nwkaddr !== 0xfffe &&
486
- match.payload.noderelation == 1) {
479
+ match.payload.noderelation === 1) {
487
480
  logger_1.logger.debug(`Response timeout recovery: Rewrite association table entry (${ieeeAddr})`, NS);
488
- await this.znp.request(Subsystem.UTIL, 'assocRemove', { ieeeadr: ieeeAddr });
489
- await this.znp.request(Subsystem.UTIL, 'assocAdd', {
481
+ await this.znp.request(Subsystem.UTIL, "assocRemove", { ieeeadr: ieeeAddr });
482
+ await this.znp.request(Subsystem.UTIL, "assocAdd", {
490
483
  ieeeadr: ieeeAddr,
491
484
  nwkaddr: networkAddress,
492
485
  noderelation: match.payload.noderelation,
@@ -496,9 +489,7 @@ class ZStackAdapter extends adapter_1.default {
496
489
  await this.discoverRoute(networkAddress);
497
490
  return await this.sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint, zclFrame, timeout, disableResponse, disableRecovery, responseAttempt + 1, dataRequestAttempt, checkedNetworkAddress, discoveredRoute, assocRemove, assocRestore);
498
491
  }
499
- else {
500
- throw error;
501
- }
492
+ throw error;
502
493
  }
503
494
  }
504
495
  }
@@ -527,17 +518,17 @@ class ZStackAdapter extends adapter_1.default {
527
518
  });
528
519
  }
529
520
  async addInstallCode(ieeeAddress, key, hashed) {
530
- (0, node_assert_1.default)(this.version.product !== tstype_1.ZnpVersion.zStack12, 'Install code is not supported for ZStack 1.2 adapter');
521
+ (0, node_assert_1.default)(this.version.product !== tstype_1.ZnpVersion.ZStack12, "Install code is not supported for ZStack 1.2 adapter");
531
522
  // TODO: always use 0x2? => const hashedKey = hashed ? key : ZSpec.Utils.aes128MmoHash(key);
532
523
  const payload = { installCodeFormat: hashed ? 0x2 : 0x1, ieeeaddr: ieeeAddress, installCode: key };
533
- await this.znp.request(Subsystem.APP_CNF, 'bdbAddInstallCode', payload);
524
+ await this.znp.request(Subsystem.APP_CNF, "bdbAddInstallCode", payload);
534
525
  }
535
526
  /**
536
527
  * Event handlers
537
528
  */
538
529
  onZnpClose() {
539
530
  if (!this.closing) {
540
- this.emit('disconnected');
531
+ this.emit("disconnected");
541
532
  }
542
533
  }
543
534
  onZnpRecieved(object) {
@@ -546,16 +537,16 @@ class ZStackAdapter extends adapter_1.default {
546
537
  }
547
538
  if (object.subsystem === Subsystem.ZDO) {
548
539
  if ((0, utils_2.isMtCmdAreqZdo)(object.command)) {
549
- this.emit('zdoResponse', object.command.zdoClusterId, object.payload.zdo);
540
+ this.emit("zdoResponse", object.command.zdoClusterId, object.payload.zdo);
550
541
  }
551
- if (object.command.name === 'tcDeviceInd') {
542
+ if (object.command.name === "tcDeviceInd") {
552
543
  const payload = {
553
544
  networkAddress: object.payload.nwkaddr,
554
545
  ieeeAddr: object.payload.extaddr,
555
546
  };
556
- this.emit('deviceJoined', payload);
547
+ this.emit("deviceJoined", payload);
557
548
  }
558
- else if (object.command.name === 'endDeviceAnnceInd') {
549
+ else if (object.command.name === "endDeviceAnnceInd") {
559
550
  // TODO: better way???
560
551
  if (Zdo.Buffalo.checkStatus(object.payload.zdo)) {
561
552
  const zdoPayload = object.payload.zdo[1];
@@ -566,7 +557,6 @@ class ZStackAdapter extends adapter_1.default {
566
557
  // If a device announces multiple times in a very short time, it makes no sense
567
558
  // to rediscover the route every time.
568
559
  const debouncer = (0, debounce_1.default)(() => {
569
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
570
560
  this.queue.execute(async () => {
571
561
  this.discoverRoute(zdoPayload.nwkAddress, false).catch(() => { });
572
562
  }, zdoPayload.nwkAddress);
@@ -579,7 +569,7 @@ class ZStackAdapter extends adapter_1.default {
579
569
  }
580
570
  }
581
571
  }
582
- else if (object.command.name === 'concentratorIndCb') {
572
+ else if (object.command.name === "concentratorIndCb") {
583
573
  // Some routers may change short addresses and the announcement
584
574
  // is missed by the coordinator. This can happen when there are
585
575
  // power outages or other interruptions in service. They may
@@ -590,7 +580,7 @@ class ZStackAdapter extends adapter_1.default {
590
580
  // mappings.
591
581
  // https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/158/4403.zstacktask.c
592
582
  // https://github.com/Koenkk/zigbee-herdsman/issues/74
593
- this.emit('zdoResponse', Zdo.ClusterId.NETWORK_ADDRESS_RESPONSE, [
583
+ this.emit("zdoResponse", Zdo.ClusterId.NETWORK_ADDRESS_RESPONSE, [
594
584
  Zdo.Status.SUCCESS,
595
585
  {
596
586
  eui64: object.payload.extaddr,
@@ -601,23 +591,23 @@ class ZStackAdapter extends adapter_1.default {
601
591
  ]);
602
592
  }
603
593
  else {
604
- if (object.command.name === 'leaveInd') {
594
+ if (object.command.name === "leaveInd") {
605
595
  if (object.payload.rejoin) {
606
- logger_1.logger.debug(`Device leave: Got leave indication with rejoin=true, nothing to do`, NS);
596
+ logger_1.logger.debug("Device leave: Got leave indication with rejoin=true, nothing to do", NS);
607
597
  }
608
598
  else {
609
599
  const payload = {
610
600
  networkAddress: object.payload.srcaddr,
611
601
  ieeeAddr: object.payload.extaddr,
612
602
  };
613
- this.emit('deviceLeave', payload);
603
+ this.emit("deviceLeave", payload);
614
604
  }
615
605
  }
616
606
  }
617
607
  }
618
608
  else {
619
609
  if (object.subsystem === Subsystem.AF) {
620
- if (object.command.name === 'incomingMsg' || object.command.name === 'incomingMsgExt') {
610
+ if (object.command.name === "incomingMsg" || object.command.name === "incomingMsgExt") {
621
611
  const payload = {
622
612
  clusterID: object.payload.clusterid,
623
613
  data: object.payload.data,
@@ -630,13 +620,13 @@ class ZStackAdapter extends adapter_1.default {
630
620
  destinationEndpoint: object.payload.dstendpoint,
631
621
  };
632
622
  this.waitress.resolve(payload);
633
- this.emit('zclPayload', payload);
623
+ this.emit("zclPayload", payload);
634
624
  }
635
625
  }
636
626
  }
637
627
  }
638
628
  async getNetworkParameters() {
639
- const result = await this.znp.requestWithReply(Subsystem.ZDO, 'extNwkInfo', {});
629
+ const result = await this.znp.requestWithReply(Subsystem.ZDO, "extNwkInfo", {});
640
630
  return {
641
631
  panID: result.payload.panid,
642
632
  extendedPanID: result.payload.extendedpanid, // read as IEEEADDR, so `0x${string}`
@@ -651,7 +641,7 @@ class ZStackAdapter extends adapter_1.default {
651
641
  };
652
642
  }
653
643
  async supportsBackup() {
654
- return true;
644
+ return await Promise.resolve(true);
655
645
  }
656
646
  async backup(ieeeAddressesInDatabase) {
657
647
  return await this.adapterManager.backup.createBackup(ieeeAddressesInDatabase);
@@ -659,10 +649,10 @@ class ZStackAdapter extends adapter_1.default {
659
649
  async setChannelInterPAN(channel) {
660
650
  return await this.queue.execute(async () => {
661
651
  this.interpanLock = true;
662
- await this.znp.request(Subsystem.AF, 'interPanCtl', { cmd: 1, data: [channel] });
652
+ await this.znp.request(Subsystem.AF, "interPanCtl", { cmd: 1, data: [channel] });
663
653
  if (!this.interpanEndpointRegistered) {
664
654
  // Make sure that endpoint 12 is registered to proxy the InterPAN messages.
665
- await this.znp.request(Subsystem.AF, 'interPanCtl', { cmd: 2, data: [12] });
655
+ await this.znp.request(Subsystem.AF, "interPanCtl", { cmd: 2, data: [12] });
666
656
  this.interpanEndpointRegistered = true;
667
657
  }
668
658
  });
@@ -675,7 +665,7 @@ class ZStackAdapter extends adapter_1.default {
675
665
  async sendZclFrameInterPANBroadcast(zclFrame, timeout) {
676
666
  return await this.queue.execute(async () => {
677
667
  const command = zclFrame.command;
678
- if (command.response == undefined) {
668
+ if (command.response === undefined) {
679
669
  throw new Error(`Command '${command.name}' has no response, cannot wait for response`);
680
670
  }
681
671
  const response = this.waitForInternal(undefined, 0xfe, zclFrame.header.frameControl.frameType, Zcl.Direction.SERVER_TO_CLIENT, undefined, zclFrame.cluster.ID, command.response, timeout);
@@ -691,7 +681,7 @@ class ZStackAdapter extends adapter_1.default {
691
681
  }
692
682
  async restoreChannelInterPAN() {
693
683
  return await this.queue.execute(async () => {
694
- await this.znp.request(Subsystem.AF, 'interPanCtl', { cmd: 0, data: [] });
684
+ await this.znp.request(Subsystem.AF, "interPanCtl", { cmd: 0, data: [] });
695
685
  // Give adapter some time to restore, otherwise stuff crashes
696
686
  await (0, utils_1.wait)(3000);
697
687
  this.interpanLock = false;
@@ -720,8 +710,8 @@ class ZStackAdapter extends adapter_1.default {
720
710
  */
721
711
  async dataRequest(destinationAddress, destinationEndpoint, sourceEndpoint, clusterID, radius, data, timeout) {
722
712
  const transactionID = this.nextTransactionID();
723
- const response = this.znp.waitFor(Type.AREQ, Subsystem.AF, 'dataConfirm', undefined, transactionID, undefined, timeout);
724
- await this.znp.request(Subsystem.AF, 'dataRequest', {
713
+ const response = this.znp.waitFor(Type.AREQ, Subsystem.AF, "dataConfirm", undefined, transactionID, undefined, timeout);
714
+ await this.znp.request(Subsystem.AF, "dataRequest", {
725
715
  dstaddr: destinationAddress,
726
716
  destendpoint: destinationEndpoint,
727
717
  srcendpoint: sourceEndpoint,
@@ -745,9 +735,9 @@ class ZStackAdapter extends adapter_1.default {
745
735
  async dataRequestExtended(addressMode, destinationAddressOrGroupID, destinationEndpoint, panID, sourceEndpoint, clusterID, radius, data, timeout, confirmation, attemptsLeft = 5) {
746
736
  const transactionID = this.nextTransactionID();
747
737
  const response = confirmation
748
- ? this.znp.waitFor(Type.AREQ, Subsystem.AF, 'dataConfirm', undefined, transactionID, undefined, timeout)
738
+ ? this.znp.waitFor(Type.AREQ, Subsystem.AF, "dataConfirm", undefined, transactionID, undefined, timeout)
749
739
  : undefined;
750
- await this.znp.request(Subsystem.AF, 'dataRequestExt', {
740
+ await this.znp.request(Subsystem.AF, "dataRequestExt", {
751
741
  dstaddrmode: addressMode,
752
742
  dstaddr: this.toAddressString(destinationAddressOrGroupID),
753
743
  destendpoint: destinationEndpoint,
@@ -774,9 +764,7 @@ class ZStackAdapter extends adapter_1.default {
774
764
  await (0, utils_1.wait)(2000);
775
765
  return await this.dataRequestExtended(addressMode, destinationAddressOrGroupID, destinationEndpoint, panID, sourceEndpoint, clusterID, radius, data, timeout, confirmation, attemptsLeft - 1);
776
766
  }
777
- else {
778
- throw new DataConfirmError(dataConfirm.payload.status);
779
- }
767
+ throw new DataConfirmError(dataConfirm.payload.status);
780
768
  }
781
769
  return dataConfirm;
782
770
  }
@@ -789,7 +777,7 @@ class ZStackAdapter extends adapter_1.default {
789
777
  return this.transactionID;
790
778
  }
791
779
  toAddressString(address) {
792
- return typeof address === 'number' ? `0x${address.toString(16).padStart(16, '0')}` : address.toString();
780
+ return typeof address === "number" ? `0x${address.toString(16).padStart(16, "0")}` : address.toString();
793
781
  }
794
782
  waitressTimeoutFormatter(matcher, timeout) {
795
783
  return (`Timeout - ${matcher.address} - ${matcher.endpoint}` +
@@ -808,7 +796,7 @@ class ZStackAdapter extends adapter_1.default {
808
796
  }
809
797
  checkInterpanLock() {
810
798
  if (this.interpanLock) {
811
- throw new Error(`Cannot execute command, in Inter-PAN mode`);
799
+ throw new Error("Cannot execute command, in Inter-PAN mode");
812
800
  }
813
801
  }
814
802
  }