zigbee-herdsman 3.5.1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (726) hide show
  1. package/.github/dependabot.yml +9 -3
  2. package/.github/workflows/ci.yml +2 -4
  3. package/.github/workflows/stale.yml +1 -1
  4. package/.release-please-manifest.json +1 -1
  5. package/.vscode/extensions.json +3 -0
  6. package/.vscode/settings.json +11 -0
  7. package/CHANGELOG.md +25 -0
  8. package/biome.json +89 -0
  9. package/dist/adapter/adapter.d.ts +11 -11
  10. package/dist/adapter/adapter.d.ts.map +1 -1
  11. package/dist/adapter/adapter.js +14 -14
  12. package/dist/adapter/adapterDiscovery.d.ts +6 -6
  13. package/dist/adapter/adapterDiscovery.d.ts.map +1 -1
  14. package/dist/adapter/adapterDiscovery.js +139 -141
  15. package/dist/adapter/adapterDiscovery.js.map +1 -1
  16. package/dist/adapter/const.d.ts +1 -1
  17. package/dist/adapter/const.js +2 -2
  18. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +16 -16
  19. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  20. package/dist/adapter/deconz/adapter/deconzAdapter.js +95 -100
  21. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  22. package/dist/adapter/deconz/driver/constants.d.ts +5 -5
  23. package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
  24. package/dist/adapter/deconz/driver/driver.d.ts +9 -9
  25. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  26. package/dist/adapter/deconz/driver/driver.js +112 -106
  27. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  28. package/dist/adapter/deconz/driver/frame.d.ts +1 -1
  29. package/dist/adapter/deconz/driver/frame.d.ts.map +1 -1
  30. package/dist/adapter/deconz/driver/frame.js +1 -2
  31. package/dist/adapter/deconz/driver/frame.js.map +1 -1
  32. package/dist/adapter/deconz/driver/frameParser.d.ts +1 -1
  33. package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
  34. package/dist/adapter/deconz/driver/frameParser.js +66 -70
  35. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  36. package/dist/adapter/deconz/driver/parser.d.ts +1 -1
  37. package/dist/adapter/deconz/driver/parser.d.ts.map +1 -1
  38. package/dist/adapter/deconz/driver/parser.js +2 -2
  39. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  40. package/dist/adapter/deconz/driver/writer.d.ts +2 -2
  41. package/dist/adapter/deconz/driver/writer.d.ts.map +1 -1
  42. package/dist/adapter/deconz/driver/writer.js +1 -1
  43. package/dist/adapter/ember/adapter/emberAdapter.d.ts +19 -19
  44. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
  45. package/dist/adapter/ember/adapter/emberAdapter.js +117 -97
  46. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
  47. package/dist/adapter/ember/adapter/endpoints.d.ts +1 -1
  48. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
  49. package/dist/adapter/ember/adapter/oneWaitress.d.ts +5 -5
  50. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
  51. package/dist/adapter/ember/adapter/oneWaitress.js +2 -2
  52. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
  53. package/dist/adapter/ember/adapter/tokensManager.d.ts +3 -3
  54. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
  55. package/dist/adapter/ember/adapter/tokensManager.js +20 -23
  56. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
  57. package/dist/adapter/ember/enums.d.ts +4 -4
  58. package/dist/adapter/ember/enums.d.ts.map +1 -1
  59. package/dist/adapter/ember/enums.js +4 -6
  60. package/dist/adapter/ember/enums.js.map +1 -1
  61. package/dist/adapter/ember/ezsp/buffalo.d.ts +4 -4
  62. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -1
  63. package/dist/adapter/ember/ezsp/buffalo.js +30 -32
  64. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
  65. package/dist/adapter/ember/ezsp/ezsp.d.ts +46 -46
  66. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
  67. package/dist/adapter/ember/ezsp/ezsp.js +85 -111
  68. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
  69. package/dist/adapter/ember/ezspError.d.ts +1 -1
  70. package/dist/adapter/ember/types.d.ts +14 -14
  71. package/dist/adapter/ember/types.d.ts.map +1 -1
  72. package/dist/adapter/ember/uart/ash.d.ts +5 -5
  73. package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
  74. package/dist/adapter/ember/uart/ash.js +80 -71
  75. package/dist/adapter/ember/uart/ash.js.map +1 -1
  76. package/dist/adapter/ember/uart/parser.d.ts +2 -2
  77. package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
  78. package/dist/adapter/ember/uart/parser.js +2 -1
  79. package/dist/adapter/ember/uart/parser.js.map +1 -1
  80. package/dist/adapter/ember/uart/queues.js +27 -29
  81. package/dist/adapter/ember/uart/queues.js.map +1 -1
  82. package/dist/adapter/ember/uart/writer.d.ts +1 -1
  83. package/dist/adapter/ember/uart/writer.d.ts.map +1 -1
  84. package/dist/adapter/ember/uart/writer.js +3 -5
  85. package/dist/adapter/ember/uart/writer.js.map +1 -1
  86. package/dist/adapter/ember/utils/initters.d.ts +2 -2
  87. package/dist/adapter/ember/utils/initters.d.ts.map +1 -1
  88. package/dist/adapter/ember/utils/initters.js +1 -1
  89. package/dist/adapter/ember/utils/math.js +1 -1
  90. package/dist/adapter/events.d.ts +1 -1
  91. package/dist/adapter/events.d.ts.map +1 -1
  92. package/dist/adapter/ezsp/adapter/backup.d.ts +3 -3
  93. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  94. package/dist/adapter/ezsp/adapter/backup.js +8 -10
  95. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  96. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +12 -12
  97. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  98. package/dist/adapter/ezsp/adapter/ezspAdapter.js +45 -44
  99. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  100. package/dist/adapter/ezsp/driver/driver.d.ts +12 -12
  101. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  102. package/dist/adapter/ezsp/driver/driver.js +148 -141
  103. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  104. package/dist/adapter/ezsp/driver/ezsp.d.ts +7 -7
  105. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  106. package/dist/adapter/ezsp/driver/ezsp.js +61 -59
  107. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  108. package/dist/adapter/ezsp/driver/frame.js +2 -2
  109. package/dist/adapter/ezsp/driver/index.d.ts +2 -2
  110. package/dist/adapter/ezsp/driver/multicast.d.ts +8 -5
  111. package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
  112. package/dist/adapter/ezsp/driver/multicast.js +9 -9
  113. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  114. package/dist/adapter/ezsp/driver/parser.d.ts +1 -1
  115. package/dist/adapter/ezsp/driver/parser.js +3 -3
  116. package/dist/adapter/ezsp/driver/types/basic.d.ts +5 -5
  117. package/dist/adapter/ezsp/driver/types/basic.d.ts.map +1 -1
  118. package/dist/adapter/ezsp/driver/types/basic.js +12 -33
  119. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  120. package/dist/adapter/ezsp/driver/types/index.d.ts +3 -3
  121. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
  122. package/dist/adapter/ezsp/driver/types/index.js +8 -9
  123. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  124. package/dist/adapter/ezsp/driver/types/named.d.ts +2 -2
  125. package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -1
  126. package/dist/adapter/ezsp/driver/types/named.js +8 -11
  127. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  128. package/dist/adapter/ezsp/driver/types/struct.d.ts +2 -2
  129. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
  130. package/dist/adapter/ezsp/driver/types/struct.js +207 -214
  131. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  132. package/dist/adapter/ezsp/driver/uart.d.ts +2 -2
  133. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  134. package/dist/adapter/ezsp/driver/uart.js +48 -37
  135. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  136. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +3 -3
  137. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +1 -1
  138. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +16 -34
  139. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
  140. package/dist/adapter/ezsp/driver/utils/index.d.ts +4 -4
  141. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -1
  142. package/dist/adapter/ezsp/driver/utils/index.js +4 -4
  143. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  144. package/dist/adapter/ezsp/driver/writer.d.ts +1 -1
  145. package/dist/adapter/ezsp/driver/writer.js +2 -2
  146. package/dist/adapter/index.d.ts +3 -3
  147. package/dist/adapter/serialPort.d.ts +3 -3
  148. package/dist/adapter/serialPort.d.ts.map +1 -1
  149. package/dist/adapter/serialPort.js +1 -0
  150. package/dist/adapter/serialPort.js.map +1 -1
  151. package/dist/adapter/socketPortUtils.js +3 -3
  152. package/dist/adapter/tstype.d.ts +6 -6
  153. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +4 -4
  154. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  155. package/dist/adapter/z-stack/adapter/adapter-backup.js +106 -119
  156. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  157. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +10 -10
  158. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +1 -1
  159. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +23 -24
  160. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  161. package/dist/adapter/z-stack/adapter/manager.d.ts +6 -6
  162. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  163. package/dist/adapter/z-stack/adapter/manager.js +115 -127
  164. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  165. package/dist/adapter/z-stack/adapter/tstype.d.ts +3 -3
  166. package/dist/adapter/z-stack/adapter/tstype.js +3 -3
  167. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +10 -10
  168. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  169. package/dist/adapter/z-stack/adapter/zStackAdapter.js +125 -137
  170. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  171. package/dist/adapter/z-stack/constants/common.d.ts.map +1 -1
  172. package/dist/adapter/z-stack/constants/common.js +0 -3
  173. package/dist/adapter/z-stack/constants/common.js.map +1 -1
  174. package/dist/adapter/z-stack/constants/index.d.ts +10 -10
  175. package/dist/adapter/z-stack/constants/index.d.ts.map +1 -1
  176. package/dist/adapter/z-stack/constants/index.js +2 -2
  177. package/dist/adapter/z-stack/constants/index.js.map +1 -1
  178. package/dist/adapter/z-stack/constants/utils.d.ts +1 -1
  179. package/dist/adapter/z-stack/constants/utils.js +2 -2
  180. package/dist/adapter/z-stack/constants/utils.js.map +1 -1
  181. package/dist/adapter/z-stack/models/startup-options.d.ts +2 -2
  182. package/dist/adapter/z-stack/models/startup-options.d.ts.map +1 -1
  183. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +1 -1
  184. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +1 -1
  185. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +4 -5
  186. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  187. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +2 -2
  188. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +1 -1
  189. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +3 -4
  190. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +1 -1
  191. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +1 -1
  192. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +1 -1
  193. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +1 -2
  194. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -1
  195. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +2 -2
  196. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +1 -1
  197. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +3 -4
  198. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +1 -1
  199. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +1 -1
  200. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts.map +1 -1
  201. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +6 -7
  202. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +1 -1
  203. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +2 -2
  204. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +1 -1
  205. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +3 -4
  206. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +1 -1
  207. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +1 -1
  208. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +1 -1
  209. package/dist/adapter/z-stack/structs/entries/channel-list.js +1 -2
  210. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -1
  211. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +1 -1
  212. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +1 -1
  213. package/dist/adapter/z-stack/structs/entries/has-configured.js +2 -3
  214. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -1
  215. package/dist/adapter/z-stack/structs/entries/index.d.ts +16 -16
  216. package/dist/adapter/z-stack/structs/entries/nib.d.ts +1 -1
  217. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +1 -1
  218. package/dist/adapter/z-stack/structs/entries/nib.js +49 -50
  219. package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -1
  220. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +1 -1
  221. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +1 -1
  222. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +1 -2
  223. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -1
  224. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +1 -1
  225. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +1 -1
  226. package/dist/adapter/z-stack/structs/entries/nwk-key.js +1 -2
  227. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -1
  228. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +1 -1
  229. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +1 -1
  230. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +1 -2
  231. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -1
  232. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +1 -1
  233. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +1 -1
  234. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +3 -4
  235. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -1
  236. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +2 -2
  237. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +1 -1
  238. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +3 -4
  239. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +1 -1
  240. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +1 -1
  241. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts.map +1 -1
  242. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +4 -5
  243. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
  244. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +2 -2
  245. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +1 -1
  246. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +3 -4
  247. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -1
  248. package/dist/adapter/z-stack/structs/index.d.ts +4 -4
  249. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +2 -2
  250. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts.map +1 -1
  251. package/dist/adapter/z-stack/structs/struct.d.ts +8 -8
  252. package/dist/adapter/z-stack/structs/struct.d.ts.map +1 -1
  253. package/dist/adapter/z-stack/structs/struct.js +42 -43
  254. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  255. package/dist/adapter/z-stack/structs/table.d.ts +3 -3
  256. package/dist/adapter/z-stack/structs/table.d.ts.map +1 -1
  257. package/dist/adapter/z-stack/structs/table.js +10 -10
  258. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  259. package/dist/adapter/z-stack/unpi/frame.d.ts +1 -1
  260. package/dist/adapter/z-stack/unpi/frame.d.ts.map +1 -1
  261. package/dist/adapter/z-stack/unpi/frame.js +2 -4
  262. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  263. package/dist/adapter/z-stack/unpi/index.d.ts +4 -4
  264. package/dist/adapter/z-stack/unpi/parser.d.ts +1 -1
  265. package/dist/adapter/z-stack/unpi/parser.js +3 -3
  266. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  267. package/dist/adapter/z-stack/unpi/writer.d.ts +2 -2
  268. package/dist/adapter/z-stack/unpi/writer.d.ts.map +1 -1
  269. package/dist/adapter/z-stack/unpi/writer.js +1 -1
  270. package/dist/adapter/z-stack/utils/index.d.ts +2 -2
  271. package/dist/adapter/z-stack/utils/network-options.d.ts +1 -1
  272. package/dist/adapter/z-stack/utils/network-options.d.ts.map +1 -1
  273. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +3 -3
  274. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +1 -1
  275. package/dist/adapter/z-stack/znp/buffaloZnp.js +34 -20
  276. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  277. package/dist/adapter/z-stack/znp/definition.d.ts +2 -2
  278. package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -1
  279. package/dist/adapter/z-stack/znp/definition.js +1111 -1111
  280. package/dist/adapter/z-stack/znp/index.d.ts +2 -2
  281. package/dist/adapter/z-stack/znp/tstype.d.ts +7 -7
  282. package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -1
  283. package/dist/adapter/z-stack/znp/utils.d.ts +1 -1
  284. package/dist/adapter/z-stack/znp/utils.d.ts.map +1 -1
  285. package/dist/adapter/z-stack/znp/utils.js +2 -2
  286. package/dist/adapter/z-stack/znp/znp.d.ts +7 -7
  287. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  288. package/dist/adapter/z-stack/znp/znp.js +46 -45
  289. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  290. package/dist/adapter/z-stack/znp/zpiObject.d.ts +8 -8
  291. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +1 -1
  292. package/dist/adapter/z-stack/znp/zpiObject.js +6 -6
  293. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  294. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +11 -11
  295. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -1
  296. package/dist/adapter/zboss/adapter/zbossAdapter.js +37 -36
  297. package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -1
  298. package/dist/adapter/zboss/commands.d.ts +4 -6
  299. package/dist/adapter/zboss/commands.d.ts.map +1 -1
  300. package/dist/adapter/zboss/commands.js +321 -287
  301. package/dist/adapter/zboss/commands.js.map +1 -1
  302. package/dist/adapter/zboss/driver.d.ts +9 -9
  303. package/dist/adapter/zboss/driver.d.ts.map +1 -1
  304. package/dist/adapter/zboss/driver.js +25 -25
  305. package/dist/adapter/zboss/driver.js.map +1 -1
  306. package/dist/adapter/zboss/frame.d.ts +9 -9
  307. package/dist/adapter/zboss/frame.d.ts.map +1 -1
  308. package/dist/adapter/zboss/frame.js +15 -15
  309. package/dist/adapter/zboss/frame.js.map +1 -1
  310. package/dist/adapter/zboss/reader.d.ts +2 -2
  311. package/dist/adapter/zboss/reader.d.ts.map +1 -1
  312. package/dist/adapter/zboss/reader.js +6 -5
  313. package/dist/adapter/zboss/reader.js.map +1 -1
  314. package/dist/adapter/zboss/uart.d.ts +3 -3
  315. package/dist/adapter/zboss/uart.d.ts.map +1 -1
  316. package/dist/adapter/zboss/uart.js +36 -36
  317. package/dist/adapter/zboss/uart.js.map +1 -1
  318. package/dist/adapter/zboss/writer.d.ts +1 -1
  319. package/dist/adapter/zboss/writer.d.ts.map +1 -1
  320. package/dist/adapter/zboss/writer.js +3 -5
  321. package/dist/adapter/zboss/writer.js.map +1 -1
  322. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js +2 -2
  323. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js.map +1 -1
  324. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +14 -14
  325. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
  326. package/dist/adapter/zigate/adapter/zigateAdapter.js +52 -53
  327. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  328. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +6 -6
  329. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
  330. package/dist/adapter/zigate/driver/buffaloZiGate.js +41 -23
  331. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  332. package/dist/adapter/zigate/driver/commandType.d.ts +2 -2
  333. package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -1
  334. package/dist/adapter/zigate/driver/commandType.js +37 -37
  335. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  336. package/dist/adapter/zigate/driver/constants.d.ts +27 -200
  337. package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
  338. package/dist/adapter/zigate/driver/constants.js +40 -236
  339. package/dist/adapter/zigate/driver/constants.js.map +1 -1
  340. package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
  341. package/dist/adapter/zigate/driver/frame.js +4 -3
  342. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  343. package/dist/adapter/zigate/driver/messageType.d.ts +1 -1
  344. package/dist/adapter/zigate/driver/messageType.js +76 -76
  345. package/dist/adapter/zigate/driver/ziGateObject.d.ts +3 -3
  346. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
  347. package/dist/adapter/zigate/driver/ziGateObject.js +7 -6
  348. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  349. package/dist/adapter/zigate/driver/zigate.d.ts +8 -8
  350. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  351. package/dist/adapter/zigate/driver/zigate.js +59 -54
  352. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  353. package/dist/adapter/zoh/adapter/utils.js +1 -1
  354. package/dist/adapter/zoh/adapter/zohAdapter.d.ts +13 -13
  355. package/dist/adapter/zoh/adapter/zohAdapter.d.ts.map +1 -1
  356. package/dist/adapter/zoh/adapter/zohAdapter.js +101 -67
  357. package/dist/adapter/zoh/adapter/zohAdapter.js.map +1 -1
  358. package/dist/buffalo/buffalo.d.ts +2 -2
  359. package/dist/buffalo/buffalo.js +4 -4
  360. package/dist/buffalo/buffalo.js.map +1 -1
  361. package/dist/buffalo/index.d.ts +1 -1
  362. package/dist/controller/controller.d.ts +7 -7
  363. package/dist/controller/controller.d.ts.map +1 -1
  364. package/dist/controller/controller.js +94 -98
  365. package/dist/controller/controller.js.map +1 -1
  366. package/dist/controller/database.d.ts +1 -1
  367. package/dist/controller/database.d.ts.map +1 -1
  368. package/dist/controller/database.js +9 -9
  369. package/dist/controller/database.js.map +1 -1
  370. package/dist/controller/events.d.ts +6 -6
  371. package/dist/controller/events.d.ts.map +1 -1
  372. package/dist/controller/greenPower.d.ts +21 -21
  373. package/dist/controller/greenPower.d.ts.map +1 -1
  374. package/dist/controller/greenPower.js +41 -41
  375. package/dist/controller/greenPower.js.map +1 -1
  376. package/dist/controller/helpers/index.d.ts +1 -1
  377. package/dist/controller/helpers/request.d.ts +2 -2
  378. package/dist/controller/helpers/request.d.ts.map +1 -1
  379. package/dist/controller/helpers/request.js +31 -27
  380. package/dist/controller/helpers/request.js.map +1 -1
  381. package/dist/controller/helpers/requestQueue.d.ts +3 -3
  382. package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
  383. package/dist/controller/helpers/requestQueue.js +20 -20
  384. package/dist/controller/helpers/requestQueue.js.map +1 -1
  385. package/dist/controller/helpers/zclFrameConverter.d.ts +2 -2
  386. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  387. package/dist/controller/helpers/zclFrameConverter.js +1 -1
  388. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  389. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +6 -4
  390. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts.map +1 -1
  391. package/dist/controller/helpers/zclTransactionSequenceNumber.js +6 -5
  392. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -1
  393. package/dist/controller/index.d.ts +1 -1
  394. package/dist/controller/model/device.d.ts +23 -19
  395. package/dist/controller/model/device.d.ts.map +1 -1
  396. package/dist/controller/model/device.js +153 -128
  397. package/dist/controller/model/device.js.map +1 -1
  398. package/dist/controller/model/endpoint.d.ts +11 -11
  399. package/dist/controller/model/endpoint.d.ts.map +1 -1
  400. package/dist/controller/model/endpoint.js +84 -67
  401. package/dist/controller/model/endpoint.js.map +1 -1
  402. package/dist/controller/model/entity.d.ts +3 -3
  403. package/dist/controller/model/entity.d.ts.map +1 -1
  404. package/dist/controller/model/group.d.ts +4 -4
  405. package/dist/controller/model/group.d.ts.map +1 -1
  406. package/dist/controller/model/group.js +21 -9
  407. package/dist/controller/model/group.js.map +1 -1
  408. package/dist/controller/model/index.d.ts +4 -4
  409. package/dist/controller/touchlink.d.ts +1 -1
  410. package/dist/controller/touchlink.d.ts.map +1 -1
  411. package/dist/controller/touchlink.js +11 -11
  412. package/dist/controller/tstype.d.ts +3 -3
  413. package/dist/index.d.ts +10 -10
  414. package/dist/models/backup-storage-legacy.d.ts +14 -16
  415. package/dist/models/backup-storage-legacy.d.ts.map +1 -1
  416. package/dist/models/backup-storage-unified.d.ts +1 -1
  417. package/dist/models/backup.d.ts +2 -2
  418. package/dist/models/backup.d.ts.map +1 -1
  419. package/dist/models/index.d.ts +4 -4
  420. package/dist/utils/backup.d.ts +1 -1
  421. package/dist/utils/backup.d.ts.map +1 -1
  422. package/dist/utils/backup.js +26 -26
  423. package/dist/utils/backup.js.map +1 -1
  424. package/dist/utils/index.d.ts +5 -5
  425. package/dist/utils/logger.js +3 -3
  426. package/dist/utils/patchBigIntSerialization.js +1 -1
  427. package/dist/utils/patchBigIntSerialization.js.map +1 -1
  428. package/dist/utils/queue.d.ts.map +1 -1
  429. package/dist/utils/queue.js +1 -0
  430. package/dist/utils/queue.js.map +1 -1
  431. package/dist/utils/utils.d.ts.map +1 -1
  432. package/dist/utils/utils.js +5 -4
  433. package/dist/utils/utils.js.map +1 -1
  434. package/dist/utils/waitress.d.ts +1 -1
  435. package/dist/utils/waitress.js +3 -3
  436. package/dist/zspec/consts.d.ts +1 -1
  437. package/dist/zspec/consts.d.ts.map +1 -1
  438. package/dist/zspec/consts.js +1 -1
  439. package/dist/zspec/index.d.ts +3 -3
  440. package/dist/zspec/tstypes.d.ts +1 -1
  441. package/dist/zspec/utils.d.ts +4 -4
  442. package/dist/zspec/utils.d.ts.map +1 -1
  443. package/dist/zspec/utils.js +9 -13
  444. package/dist/zspec/utils.js.map +1 -1
  445. package/dist/zspec/zcl/buffaloZcl.d.ts +3 -3
  446. package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
  447. package/dist/zspec/zcl/buffaloZcl.js +127 -84
  448. package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
  449. package/dist/zspec/zcl/definition/cluster.d.ts +1 -1
  450. package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
  451. package/dist/zspec/zcl/definition/cluster.js +894 -893
  452. package/dist/zspec/zcl/definition/cluster.js.map +1 -1
  453. package/dist/zspec/zcl/definition/consts.js +7 -7
  454. package/dist/zspec/zcl/definition/foundation.d.ts +3 -3
  455. package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
  456. package/dist/zspec/zcl/definition/foundation.js +88 -89
  457. package/dist/zspec/zcl/definition/foundation.js.map +1 -1
  458. package/dist/zspec/zcl/definition/manufacturerCode.d.ts +1 -1
  459. package/dist/zspec/zcl/definition/manufacturerCode.js +1 -1
  460. package/dist/zspec/zcl/definition/manufacturerCode.js.map +1 -1
  461. package/dist/zspec/zcl/definition/status.d.ts +3 -3
  462. package/dist/zspec/zcl/definition/status.js +3 -3
  463. package/dist/zspec/zcl/definition/tstype.d.ts +3 -3
  464. package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
  465. package/dist/zspec/zcl/index.d.ts +10 -10
  466. package/dist/zspec/zcl/utils.d.ts +3 -3
  467. package/dist/zspec/zcl/utils.d.ts.map +1 -1
  468. package/dist/zspec/zcl/utils.js +18 -21
  469. package/dist/zspec/zcl/utils.js.map +1 -1
  470. package/dist/zspec/zcl/zclFrame.d.ts +7 -7
  471. package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
  472. package/dist/zspec/zcl/zclFrame.js +38 -41
  473. package/dist/zspec/zcl/zclFrame.js.map +1 -1
  474. package/dist/zspec/zcl/zclHeader.d.ts +2 -2
  475. package/dist/zspec/zcl/zclHeader.d.ts.map +1 -1
  476. package/dist/zspec/zcl/zclHeader.js +3 -3
  477. package/dist/zspec/zcl/zclStatusError.d.ts +1 -1
  478. package/dist/zspec/zdo/buffaloZdo.d.ts +7 -7
  479. package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -1
  480. package/dist/zspec/zdo/buffaloZdo.js +4 -4
  481. package/dist/zspec/zdo/buffaloZdo.js.map +1 -1
  482. package/dist/zspec/zdo/definition/status.d.ts +1 -1
  483. package/dist/zspec/zdo/definition/status.js +1 -1
  484. package/dist/zspec/zdo/definition/tstypes.d.ts +48 -48
  485. package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -1
  486. package/dist/zspec/zdo/index.d.ts +7 -7
  487. package/dist/zspec/zdo/utils.d.ts +2 -2
  488. package/dist/zspec/zdo/utils.d.ts.map +1 -1
  489. package/dist/zspec/zdo/utils.js +1 -1
  490. package/dist/zspec/zdo/utils.js.map +1 -1
  491. package/dist/zspec/zdo/zdoStatusError.d.ts +1 -1
  492. package/examples/join-and-log.js +5 -5
  493. package/package.json +6 -13
  494. package/src/adapter/adapter.ts +189 -0
  495. package/src/adapter/adapterDiscovery.ts +653 -0
  496. package/src/adapter/const.ts +12 -0
  497. package/src/adapter/deconz/adapter/deconzAdapter.ts +768 -0
  498. package/src/adapter/deconz/driver/constants.ts +180 -0
  499. package/src/adapter/deconz/driver/driver.ts +900 -0
  500. package/src/adapter/deconz/driver/frame.ts +11 -0
  501. package/src/adapter/deconz/driver/frameParser.ts +557 -0
  502. package/src/adapter/deconz/driver/parser.ts +45 -0
  503. package/src/adapter/deconz/driver/writer.ts +22 -0
  504. package/src/adapter/deconz/types.d.ts +13 -0
  505. package/src/adapter/ember/adapter/emberAdapter.ts +2266 -0
  506. package/src/adapter/ember/adapter/endpoints.ts +86 -0
  507. package/src/adapter/ember/adapter/oneWaitress.ts +322 -0
  508. package/src/adapter/ember/adapter/tokensManager.ts +782 -0
  509. package/src/adapter/ember/consts.ts +178 -0
  510. package/src/adapter/ember/enums.ts +2123 -0
  511. package/src/adapter/ember/ezsp/buffalo.ts +1397 -0
  512. package/src/adapter/ember/ezsp/consts.ts +148 -0
  513. package/src/adapter/ember/ezsp/enums.ts +1087 -0
  514. package/src/adapter/ember/ezsp/ezsp.ts +8985 -0
  515. package/src/adapter/ember/ezspError.ts +10 -0
  516. package/src/adapter/ember/types.ts +866 -0
  517. package/src/adapter/ember/uart/ash.ts +1969 -0
  518. package/src/adapter/ember/uart/consts.ts +109 -0
  519. package/src/adapter/ember/uart/enums.ts +192 -0
  520. package/src/adapter/ember/uart/parser.ts +48 -0
  521. package/src/adapter/ember/uart/queues.ts +247 -0
  522. package/src/adapter/ember/uart/writer.ts +53 -0
  523. package/src/adapter/ember/utils/initters.ts +58 -0
  524. package/src/adapter/ember/utils/math.ts +73 -0
  525. package/src/adapter/events.ts +21 -0
  526. package/src/adapter/ezsp/adapter/backup.ts +109 -0
  527. package/src/adapter/ezsp/adapter/ezspAdapter.ts +614 -0
  528. package/src/adapter/ezsp/driver/commands.ts +2497 -0
  529. package/src/adapter/ezsp/driver/consts.ts +11 -0
  530. package/src/adapter/ezsp/driver/driver.ts +1002 -0
  531. package/src/adapter/ezsp/driver/ezsp.ts +802 -0
  532. package/src/adapter/ezsp/driver/frame.ts +101 -0
  533. package/src/adapter/ezsp/driver/index.ts +4 -0
  534. package/src/adapter/ezsp/driver/multicast.ts +78 -0
  535. package/src/adapter/ezsp/driver/parser.ts +81 -0
  536. package/src/adapter/ezsp/driver/types/basic.ts +201 -0
  537. package/src/adapter/ezsp/driver/types/index.ts +239 -0
  538. package/src/adapter/ezsp/driver/types/named.ts +2330 -0
  539. package/src/adapter/ezsp/driver/types/struct.ts +844 -0
  540. package/src/adapter/ezsp/driver/uart.ts +460 -0
  541. package/src/adapter/ezsp/driver/utils/crc16ccitt.ts +44 -0
  542. package/src/adapter/ezsp/driver/utils/index.ts +32 -0
  543. package/src/adapter/ezsp/driver/writer.ts +64 -0
  544. package/src/adapter/index.ts +3 -0
  545. package/src/adapter/serialPort.ts +58 -0
  546. package/src/adapter/socketPortUtils.ts +16 -0
  547. package/src/adapter/tstype.ts +78 -0
  548. package/src/adapter/z-stack/adapter/adapter-backup.ts +519 -0
  549. package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +457 -0
  550. package/src/adapter/z-stack/adapter/endpoints.ts +57 -0
  551. package/src/adapter/z-stack/adapter/manager.ts +543 -0
  552. package/src/adapter/z-stack/adapter/tstype.ts +6 -0
  553. package/src/adapter/z-stack/adapter/zStackAdapter.ts +1190 -0
  554. package/src/adapter/z-stack/constants/af.ts +27 -0
  555. package/src/adapter/z-stack/constants/common.ts +285 -0
  556. package/src/adapter/z-stack/constants/dbg.ts +23 -0
  557. package/src/adapter/z-stack/constants/index.ts +11 -0
  558. package/src/adapter/z-stack/constants/mac.ts +128 -0
  559. package/src/adapter/z-stack/constants/sapi.ts +25 -0
  560. package/src/adapter/z-stack/constants/sys.ts +72 -0
  561. package/src/adapter/z-stack/constants/util.ts +82 -0
  562. package/src/adapter/z-stack/constants/utils.ts +14 -0
  563. package/src/adapter/z-stack/constants/zdo.ts +103 -0
  564. package/src/adapter/z-stack/models/startup-options.ts +13 -0
  565. package/src/adapter/z-stack/structs/entries/address-manager-entry.ts +44 -0
  566. package/src/adapter/z-stack/structs/entries/address-manager-table.ts +19 -0
  567. package/src/adapter/z-stack/structs/entries/aps-link-key-data-entry.ts +12 -0
  568. package/src/adapter/z-stack/structs/entries/aps-link-key-data-table.ts +21 -0
  569. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-entry.ts +19 -0
  570. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-table.ts +21 -0
  571. package/src/adapter/z-stack/structs/entries/channel-list.ts +8 -0
  572. package/src/adapter/z-stack/structs/entries/has-configured.ts +16 -0
  573. package/src/adapter/z-stack/structs/entries/index.ts +16 -0
  574. package/src/adapter/z-stack/structs/entries/nib.ts +66 -0
  575. package/src/adapter/z-stack/structs/entries/nwk-key-descriptor.ts +15 -0
  576. package/src/adapter/z-stack/structs/entries/nwk-key.ts +13 -0
  577. package/src/adapter/z-stack/structs/entries/nwk-pan-id.ts +8 -0
  578. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.ts +20 -0
  579. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.ts +19 -0
  580. package/src/adapter/z-stack/structs/entries/security-manager-entry.ts +33 -0
  581. package/src/adapter/z-stack/structs/entries/security-manager-table.ts +22 -0
  582. package/src/adapter/z-stack/structs/index.ts +4 -0
  583. package/src/adapter/z-stack/structs/serializable-memory-object.ts +14 -0
  584. package/src/adapter/z-stack/structs/struct.ts +367 -0
  585. package/src/adapter/z-stack/structs/table.ts +198 -0
  586. package/src/adapter/z-stack/unpi/constants.ts +33 -0
  587. package/src/adapter/z-stack/unpi/frame.ts +62 -0
  588. package/src/adapter/z-stack/unpi/index.ts +4 -0
  589. package/src/adapter/z-stack/unpi/parser.ts +56 -0
  590. package/src/adapter/z-stack/unpi/writer.ts +21 -0
  591. package/src/adapter/z-stack/utils/channel-list.ts +40 -0
  592. package/src/adapter/z-stack/utils/index.ts +2 -0
  593. package/src/adapter/z-stack/utils/network-options.ts +26 -0
  594. package/src/adapter/z-stack/znp/buffaloZnp.ts +175 -0
  595. package/src/adapter/z-stack/znp/definition.ts +2713 -0
  596. package/src/adapter/z-stack/znp/index.ts +2 -0
  597. package/src/adapter/z-stack/znp/parameterType.ts +22 -0
  598. package/src/adapter/z-stack/znp/tstype.ts +44 -0
  599. package/src/adapter/z-stack/znp/utils.ts +10 -0
  600. package/src/adapter/z-stack/znp/znp.ts +342 -0
  601. package/src/adapter/z-stack/znp/zpiObject.ts +148 -0
  602. package/src/adapter/zboss/adapter/zbossAdapter.ts +527 -0
  603. package/src/adapter/zboss/commands.ts +1184 -0
  604. package/src/adapter/zboss/consts.ts +9 -0
  605. package/src/adapter/zboss/driver.ts +423 -0
  606. package/src/adapter/zboss/enums.ts +360 -0
  607. package/src/adapter/zboss/frame.ts +227 -0
  608. package/src/adapter/zboss/reader.ts +65 -0
  609. package/src/adapter/zboss/types.ts +0 -0
  610. package/src/adapter/zboss/uart.ts +428 -0
  611. package/src/adapter/zboss/utils.ts +58 -0
  612. package/src/adapter/zboss/writer.ts +49 -0
  613. package/src/adapter/zigate/adapter/patchZdoBuffaloBE.ts +27 -0
  614. package/src/adapter/zigate/adapter/zigateAdapter.ts +618 -0
  615. package/src/adapter/zigate/driver/LICENSE +17 -0
  616. package/src/adapter/zigate/driver/buffaloZiGate.ts +212 -0
  617. package/src/adapter/zigate/driver/commandType.ts +418 -0
  618. package/src/adapter/zigate/driver/constants.ts +150 -0
  619. package/src/adapter/zigate/driver/frame.ts +197 -0
  620. package/src/adapter/zigate/driver/messageType.ts +287 -0
  621. package/src/adapter/zigate/driver/parameterType.ts +32 -0
  622. package/src/adapter/zigate/driver/ziGateObject.ts +146 -0
  623. package/src/adapter/zigate/driver/zigate.ts +426 -0
  624. package/src/adapter/zoh/adapter/utils.ts +27 -0
  625. package/src/adapter/zoh/adapter/zohAdapter.ts +837 -0
  626. package/src/buffalo/buffalo.ts +335 -0
  627. package/src/buffalo/index.ts +1 -0
  628. package/src/controller/controller.ts +1048 -0
  629. package/src/controller/database.ts +124 -0
  630. package/src/controller/events.ts +51 -0
  631. package/src/controller/greenPower.ts +603 -0
  632. package/src/controller/helpers/index.ts +1 -0
  633. package/src/controller/helpers/request.ts +94 -0
  634. package/src/controller/helpers/requestQueue.ts +125 -0
  635. package/src/controller/helpers/zclFrameConverter.ts +51 -0
  636. package/src/controller/helpers/zclTransactionSequenceNumber.ts +19 -0
  637. package/src/controller/index.ts +6 -0
  638. package/src/controller/model/device.ts +1320 -0
  639. package/src/controller/model/endpoint.ts +1040 -0
  640. package/src/controller/model/entity.ts +23 -0
  641. package/src/controller/model/group.ts +333 -0
  642. package/src/controller/model/index.ts +4 -0
  643. package/src/controller/touchlink.ts +189 -0
  644. package/src/controller/tstype.ts +39 -0
  645. package/src/index.ts +12 -0
  646. package/src/models/backup-storage-legacy.ts +48 -0
  647. package/src/models/backup-storage-unified.ts +47 -0
  648. package/src/models/backup.ts +37 -0
  649. package/src/models/index.ts +5 -0
  650. package/src/models/network-options.ts +11 -0
  651. package/src/utils/backup.ts +152 -0
  652. package/src/utils/index.ts +5 -0
  653. package/src/utils/logger.ts +20 -0
  654. package/src/utils/patchBigIntSerialization.ts +8 -0
  655. package/src/utils/queue.ts +76 -0
  656. package/src/utils/types.d.ts +3 -0
  657. package/src/utils/utils.ts +20 -0
  658. package/src/utils/wait.ts +5 -0
  659. package/src/utils/waitress.ts +95 -0
  660. package/src/zspec/consts.ts +84 -0
  661. package/src/zspec/enums.ts +22 -0
  662. package/src/zspec/index.ts +3 -0
  663. package/src/zspec/tstypes.ts +18 -0
  664. package/src/zspec/utils.ts +308 -0
  665. package/src/zspec/zcl/buffaloZcl.ts +1133 -0
  666. package/src/zspec/zcl/definition/cluster.ts +5398 -0
  667. package/src/zspec/zcl/definition/consts.ts +24 -0
  668. package/src/zspec/zcl/definition/enums.ts +194 -0
  669. package/src/zspec/zcl/definition/foundation.ts +301 -0
  670. package/src/zspec/zcl/definition/manufacturerCode.ts +729 -0
  671. package/src/zspec/zcl/definition/status.ts +69 -0
  672. package/src/zspec/zcl/definition/tstype.ts +236 -0
  673. package/src/zspec/zcl/index.ts +10 -0
  674. package/src/zspec/zcl/utils.ts +342 -0
  675. package/src/zspec/zcl/zclFrame.ts +336 -0
  676. package/src/zspec/zcl/zclHeader.ts +102 -0
  677. package/src/zspec/zcl/zclStatusError.ts +10 -0
  678. package/src/zspec/zdo/buffaloZdo.ts +2345 -0
  679. package/src/zspec/zdo/definition/clusters.ts +722 -0
  680. package/src/zspec/zdo/definition/consts.ts +16 -0
  681. package/src/zspec/zdo/definition/enums.ts +99 -0
  682. package/src/zspec/zdo/definition/status.ts +105 -0
  683. package/src/zspec/zdo/definition/tstypes.ts +1062 -0
  684. package/src/zspec/zdo/index.ts +7 -0
  685. package/src/zspec/zdo/utils.ts +76 -0
  686. package/src/zspec/zdo/zdoStatusError.ts +10 -0
  687. package/test/adapter/adapter.test.ts +1062 -0
  688. package/test/adapter/ember/ash.test.ts +337 -0
  689. package/test/adapter/ember/consts.ts +131 -0
  690. package/test/adapter/ember/emberAdapter.test.ts +3449 -0
  691. package/test/adapter/ember/ezsp.test.ts +386 -0
  692. package/test/adapter/ember/ezspBuffalo.test.ts +92 -0
  693. package/test/adapter/ember/ezspError.test.ts +11 -0
  694. package/test/adapter/ember/math.test.ts +205 -0
  695. package/test/adapter/ezsp/frame.test.ts +29 -0
  696. package/test/adapter/ezsp/uart.test.ts +180 -0
  697. package/test/adapter/z-stack/adapter.test.ts +3985 -0
  698. package/test/adapter/z-stack/constants.test.ts +32 -0
  699. package/test/adapter/z-stack/structs.test.ts +114 -0
  700. package/test/adapter/z-stack/unpi.test.ts +212 -0
  701. package/test/adapter/z-stack/znp.test.ts +1284 -0
  702. package/test/adapter/zboss/fixZdoResponse.test.ts +178 -0
  703. package/test/adapter/zigate/patchZdoBuffaloBE.test.ts +80 -0
  704. package/test/adapter/zigate/zdo.test.ts +187 -0
  705. package/test/adapter/zoh/utils.test.ts +35 -0
  706. package/test/adapter/zoh/zohAdapter.test.ts +1306 -0
  707. package/test/buffalo.test.ts +430 -0
  708. package/test/controller.test.ts +10005 -0
  709. package/test/greenpower.test.ts +1421 -0
  710. package/test/mockAdapters.ts +65 -0
  711. package/test/mockDevices.ts +472 -0
  712. package/test/testUtils.ts +20 -0
  713. package/test/tsconfig.json +10 -0
  714. package/test/utils/math.ts +19 -0
  715. package/test/utils.test.ts +227 -0
  716. package/test/vitest.config.mts +25 -0
  717. package/test/zcl.test.ts +2832 -0
  718. package/test/zspec/utils.test.ts +131 -0
  719. package/test/zspec/zcl/buffalo.test.ts +1231 -0
  720. package/test/zspec/zcl/frame.test.ts +925 -0
  721. package/test/zspec/zcl/utils.test.ts +280 -0
  722. package/test/zspec/zdo/buffalo.test.ts +1849 -0
  723. package/test/zspec/zdo/utils.test.ts +240 -0
  724. package/.prettierignore +0 -2
  725. package/.prettierrc +0 -26
  726. package/eslint.config.mjs +0 -32
@@ -17,7 +17,7 @@ const constants_1 = __importDefault(require("./constants"));
17
17
  const frameParser_1 = require("./frameParser");
18
18
  const parser_1 = __importDefault(require("./parser"));
19
19
  const writer_1 = __importDefault(require("./writer"));
20
- const NS = 'zh:deconz:driver';
20
+ const NS = "zh:deconz:driver";
21
21
  const queue = [];
22
22
  exports.busyQueue = [];
23
23
  const apsQueue = [];
@@ -46,10 +46,10 @@ class Driver extends node_events_1.default.EventEmitter {
46
46
  apsDataIndication;
47
47
  configChanged;
48
48
  socketPort;
49
- DELAY;
50
- READY_TO_SEND_TIMEOUT;
51
- HANDLE_DEVICE_STATUS_DELAY;
52
- PROCESS_QUEUES;
49
+ delay;
50
+ readyToSendTimeout;
51
+ handleDeviceStatusDelay;
52
+ processQueues;
53
53
  timeoutCounter = 0;
54
54
  currentBaudRate = 0;
55
55
  constructor(path) {
@@ -62,10 +62,10 @@ class Driver extends node_events_1.default.EventEmitter {
62
62
  this.apsDataConfirm = 0;
63
63
  this.apsDataIndication = 0;
64
64
  this.configChanged = 0;
65
- this.DELAY = 0;
66
- this.READY_TO_SEND_TIMEOUT = 1;
67
- this.HANDLE_DEVICE_STATUS_DELAY = 5;
68
- this.PROCESS_QUEUES = 5;
65
+ this.delay = 0;
66
+ this.readyToSendTimeout = 1;
67
+ this.handleDeviceStatusDelay = 5;
68
+ this.processQueues = 5;
69
69
  this.writer = new writer_1.default();
70
70
  this.parser = new parser_1.default();
71
71
  setInterval(() => {
@@ -78,20 +78,22 @@ class Driver extends node_events_1.default.EventEmitter {
78
78
  .then(() => { })
79
79
  .catch(() => {
80
80
  //try again
81
- logger_1.logger.debug('try again to reset watchdog', NS);
81
+ logger_1.logger.debug("try again to reset watchdog", NS);
82
82
  this.writeParameterRequest(0x26, 600)
83
83
  .then(() => { })
84
84
  .catch(() => {
85
- logger_1.logger.debug('warning watchdog was not reset', NS);
85
+ logger_1.logger.debug("warning watchdog was not reset", NS);
86
86
  });
87
87
  });
88
88
  }, 1000 * 60 * 8); // 8 minutes
89
89
  this.onParsed = this.onParsed.bind(this);
90
- this.frameParserEvent.on('receivedDataNotification', async (data) => {
91
- await this.catchPromise(this.checkDeviceStatus(data));
90
+ this.frameParserEvent.on("receivedDataNotification", (data) => {
91
+ this.checkDeviceStatus(data);
92
92
  });
93
- this.on('close', () => {
94
- this.intervals.forEach((i) => clearInterval(i));
93
+ this.on("close", () => {
94
+ for (const interval of this.intervals) {
95
+ clearInterval(interval);
96
+ }
95
97
  queue.length = 0;
96
98
  exports.busyQueue.length = 0;
97
99
  apsQueue.length = 0;
@@ -105,52 +107,52 @@ class Driver extends node_events_1.default.EventEmitter {
105
107
  this.intervals.push(interval);
106
108
  }
107
109
  async catchPromise(val) {
108
- return await Promise.resolve(val).catch((err) => logger_1.logger.debug(`Promise was caught with reason: ${err}`, NS));
110
+ return (await Promise.resolve(val).catch((err) => logger_1.logger.debug(`Promise was caught with reason: ${err}`, NS)));
109
111
  }
110
112
  setDelay(delay) {
111
113
  logger_1.logger.debug(`Set delay to ${delay}`, NS);
112
- this.DELAY = delay;
113
- this.READY_TO_SEND_TIMEOUT = delay;
114
- this.PROCESS_QUEUES = delay;
115
- this.HANDLE_DEVICE_STATUS_DELAY = delay;
116
- if (this.READY_TO_SEND_TIMEOUT === 0) {
117
- this.READY_TO_SEND_TIMEOUT = 1;
114
+ this.delay = delay;
115
+ this.readyToSendTimeout = delay;
116
+ this.processQueues = delay;
117
+ this.handleDeviceStatusDelay = delay;
118
+ if (this.readyToSendTimeout === 0) {
119
+ this.readyToSendTimeout = 1;
118
120
  }
119
- if (this.PROCESS_QUEUES < 5) {
120
- this.PROCESS_QUEUES = 5;
121
+ if (this.processQueues < 5) {
122
+ this.processQueues = 5;
121
123
  }
122
- if (this.HANDLE_DEVICE_STATUS_DELAY < 5) {
123
- this.HANDLE_DEVICE_STATUS_DELAY = 5;
124
+ if (this.handleDeviceStatusDelay < 5) {
125
+ this.handleDeviceStatusDelay = 5;
124
126
  }
125
- if (this.PROCESS_QUEUES > 60) {
126
- this.PROCESS_QUEUES = 60;
127
+ if (this.processQueues > 60) {
128
+ this.processQueues = 60;
127
129
  }
128
- if (this.HANDLE_DEVICE_STATUS_DELAY > 60) {
129
- this.HANDLE_DEVICE_STATUS_DELAY = 60;
130
+ if (this.handleDeviceStatusDelay > 60) {
131
+ this.handleDeviceStatusDelay = 60;
130
132
  }
131
133
  this.registerInterval(setInterval(() => {
132
134
  this.processQueue();
133
- }, this.PROCESS_QUEUES)); // fire non aps requests
135
+ }, this.processQueues)); // fire non aps requests
134
136
  this.registerInterval(setInterval(async () => {
135
137
  await this.catchPromise(this.processBusyQueue());
136
- }, this.PROCESS_QUEUES)); // check timeouts for non aps requests
138
+ }, this.processQueues)); // check timeouts for non aps requests
137
139
  this.registerInterval(setInterval(async () => {
138
140
  await this.catchPromise(this.processApsQueue());
139
- }, this.PROCESS_QUEUES)); // fire aps request
141
+ }, this.processQueues)); // fire aps request
140
142
  this.registerInterval(setInterval(() => {
141
143
  this.processApsBusyQueue();
142
- }, this.PROCESS_QUEUES)); // check timeouts for all open aps requests
143
- this.registerInterval(setInterval(async () => {
144
+ }, this.processQueues)); // check timeouts for all open aps requests
145
+ this.registerInterval(setInterval(() => {
144
146
  this.processApsConfirmIndQueue();
145
- }, this.PROCESS_QUEUES)); // fire aps indications and confirms
147
+ }, this.processQueues)); // fire aps indications and confirms
146
148
  this.registerInterval(setInterval(async () => {
147
149
  await this.catchPromise(this.handleDeviceStatus());
148
- }, this.HANDLE_DEVICE_STATUS_DELAY)); // query confirm and indication requests
150
+ }, this.handleDeviceStatusDelay)); // query confirm and indication requests
149
151
  }
150
152
  onPortClose() {
151
- logger_1.logger.debug('Port closed', NS);
153
+ logger_1.logger.debug("Port closed", NS);
152
154
  this.initialized = false;
153
- this.emit('close');
155
+ this.emit("close");
154
156
  }
155
157
  async open(baudrate) {
156
158
  this.currentBaudRate = baudrate;
@@ -161,18 +163,21 @@ class Driver extends node_events_1.default.EventEmitter {
161
163
  this.serialPort = new serialPort_1.SerialPort({ path: this.path, baudRate: baudrate, autoOpen: false }); //38400 RaspBee //115200 ConBee3
162
164
  this.writer.pipe(this.serialPort);
163
165
  this.serialPort.pipe(this.parser);
164
- this.parser.on('parsed', this.onParsed);
166
+ this.parser.on("parsed", this.onParsed);
165
167
  return new Promise((resolve, reject) => {
168
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
166
169
  this.serialPort.open((error) => {
167
170
  if (error) {
168
171
  reject(new Error(`Error while opening serialport '${error}'`));
169
172
  this.initialized = false;
173
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
170
174
  if (this.serialPort.isOpen) {
175
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
171
176
  this.serialPort.close();
172
177
  }
173
178
  }
174
179
  else {
175
- logger_1.logger.debug('Serialport opened', NS);
180
+ logger_1.logger.debug("Serialport opened", NS);
176
181
  this.initialized = true;
177
182
  resolve();
178
183
  }
@@ -189,22 +194,27 @@ class Driver extends node_events_1.default.EventEmitter {
189
194
  this.writer.pipe(this.socketPort);
190
195
  this.parser = new parser_1.default();
191
196
  this.socketPort.pipe(this.parser);
192
- this.parser.on('parsed', this.onParsed);
197
+ this.parser.on("parsed", this.onParsed);
193
198
  return await new Promise((resolve, reject) => {
194
- this.socketPort.on('connect', () => {
195
- logger_1.logger.debug('Socket connected', NS);
199
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
200
+ this.socketPort.on("connect", () => {
201
+ logger_1.logger.debug("Socket connected", NS);
196
202
  });
197
- this.socketPort.on('ready', async () => {
198
- logger_1.logger.debug('Socket ready', NS);
203
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
204
+ this.socketPort.on("ready", () => {
205
+ logger_1.logger.debug("Socket ready", NS);
199
206
  this.initialized = true;
200
207
  resolve();
201
208
  });
202
- this.socketPort.once('close', this.onPortClose);
203
- this.socketPort.on('error', (error) => {
209
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
210
+ this.socketPort.once("close", this.onPortClose);
211
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
212
+ this.socketPort.on("error", (error) => {
204
213
  logger_1.logger.error(`Socket error ${error}`, NS);
205
- reject(new Error(`Error while opening socket`));
214
+ reject(new Error("Error while opening socket"));
206
215
  this.initialized = false;
207
216
  });
217
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
208
218
  this.socketPort.connect(info.port, info.host);
209
219
  });
210
220
  }
@@ -213,6 +223,7 @@ class Driver extends node_events_1.default.EventEmitter {
213
223
  if (this.initialized) {
214
224
  if (this.serialPort) {
215
225
  this.serialPort.flush(() => {
226
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
216
227
  this.serialPort.close((error) => {
217
228
  this.initialized = false;
218
229
  if (error == null) {
@@ -221,18 +232,19 @@ class Driver extends node_events_1.default.EventEmitter {
221
232
  else {
222
233
  reject(new Error(`Error while closing serialport '${error}'`));
223
234
  }
224
- this.emit('close');
235
+ this.emit("close");
225
236
  });
226
237
  });
227
238
  }
228
239
  else {
240
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
229
241
  this.socketPort.destroy();
230
242
  resolve();
231
243
  }
232
244
  }
233
245
  else {
234
246
  resolve();
235
- this.emit('close');
247
+ this.emit("close");
236
248
  }
237
249
  });
238
250
  }
@@ -341,17 +353,15 @@ class Driver extends node_events_1.default.EventEmitter {
341
353
  }
342
354
  }
343
355
  parameterBuffer(parameter, parameterLength) {
344
- if (typeof parameter === 'number') {
356
+ if (typeof parameter === "number") {
345
357
  // for parameter <= 4 Byte
346
358
  if (parameterLength > 4)
347
- throw new Error('parameter to big for type number');
359
+ throw new Error("parameter to big for type number");
348
360
  const buf = Buffer.alloc(parameterLength);
349
361
  buf.writeUIntLE(parameter, 0, parameterLength);
350
362
  return buf;
351
363
  }
352
- else {
353
- return Buffer.from(parameter.reverse());
354
- }
364
+ return Buffer.from(parameter.reverse());
355
365
  }
356
366
  sendReadFirmwareVersionRequest(seqNumber) {
357
367
  /* command id, sequence number, 0, framelength(U16) */
@@ -366,16 +376,17 @@ class Driver extends node_events_1.default.EventEmitter {
366
376
  const slipframe = slip_1.default.encode(frame);
367
377
  // TODO: write not awaited?
368
378
  if (this.serialPort) {
369
- this.serialPort.write(slipframe, function (err) {
379
+ this.serialPort.write(slipframe, (err) => {
370
380
  if (err) {
371
- logger_1.logger.debug('Error writing serial Port: ' + err.message, NS);
381
+ logger_1.logger.debug(`Error writing serial Port: ${err.message}`, NS);
372
382
  }
373
383
  });
374
384
  }
375
385
  else {
376
- this.socketPort.write(slipframe, function (err) {
386
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
387
+ this.socketPort.write(slipframe, (err) => {
377
388
  if (err) {
378
- logger_1.logger.debug('Error writing socket Port: ' + err.message, NS);
389
+ logger_1.logger.debug(`Error writing socket Port: ${err.message}`, NS);
379
390
  }
380
391
  });
381
392
  }
@@ -393,10 +404,12 @@ class Driver extends node_events_1.default.EventEmitter {
393
404
  switch (req.commandId) {
394
405
  case constants_1.default.PARAM.FrameType.ReadParameter:
395
406
  logger_1.logger.debug(`send read parameter request from queue. seqNr: ${req.seqNumber} paramId: ${req.parameterId}`, NS);
407
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
396
408
  this.sendReadParameterRequest(req.parameterId, req.seqNumber);
397
409
  break;
398
410
  case constants_1.default.PARAM.FrameType.WriteParameter:
399
411
  logger_1.logger.debug(`send write parameter request from queue. seqNr: ${req.seqNumber} paramId: ${req.parameterId} param: ${req.parameter}`, NS);
412
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
400
413
  this.sendWriteParameterRequest(req.parameterId, req.parameter, req.seqNumber);
401
414
  break;
402
415
  case constants_1.default.PARAM.FrameType.ReadFirmwareVersion:
@@ -409,10 +422,11 @@ class Driver extends node_events_1.default.EventEmitter {
409
422
  break;
410
423
  case constants_1.default.PARAM.NetworkState.CHANGE_NETWORK_STATE:
411
424
  logger_1.logger.debug(`send change network state request from queue. seqNr: ${req.seqNumber}`, NS);
425
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
412
426
  this.sendChangeNetworkStateRequest(req.seqNumber, req.networkState);
413
427
  break;
414
428
  default:
415
- throw new Error('process queue - unknown command id');
429
+ throw new Error("process queue - unknown command id");
416
430
  }
417
431
  exports.busyQueue.push(req);
418
432
  }
@@ -422,6 +436,7 @@ class Driver extends node_events_1.default.EventEmitter {
422
436
  while (i--) {
423
437
  const req = exports.busyQueue[i];
424
438
  const now = Date.now();
439
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
425
440
  if (now - req.ts > 10000) {
426
441
  logger_1.logger.debug(`Timeout for request - CMD: 0x${req.commandId.toString(16)} seqNr: ${req.seqNumber}`, NS);
427
442
  //remove from busyQueue
@@ -432,10 +447,10 @@ class Driver extends node_events_1.default.EventEmitter {
432
447
  clearTimeout(this.timeoutResetTimeout);
433
448
  this.timeoutResetTimeout = undefined;
434
449
  this.resetTimeoutCounterAfter1min();
435
- req.reject(new Error('TIMEOUT'));
450
+ req.reject(new Error("TIMEOUT"));
436
451
  if (this.timeoutCounter >= 2) {
437
452
  this.timeoutCounter = 0;
438
- logger_1.logger.debug('too many timeouts - restart serial connecion', NS);
453
+ logger_1.logger.debug("too many timeouts - restart serial connecion", NS);
439
454
  if (this.serialPort?.isOpen) {
440
455
  this.serialPort.close();
441
456
  }
@@ -470,27 +485,18 @@ class Driver extends node_events_1.default.EventEmitter {
470
485
  queue.push(req);
471
486
  });
472
487
  }
473
- async checkDeviceStatus(currentDeviceStatus) {
488
+ checkDeviceStatus(currentDeviceStatus) {
474
489
  const networkState = currentDeviceStatus & 0x03;
475
490
  this.apsDataConfirm = (currentDeviceStatus >> 2) & 0x01;
476
491
  this.apsDataIndication = (currentDeviceStatus >> 3) & 0x01;
477
492
  this.configChanged = (currentDeviceStatus >> 4) & 0x01;
478
493
  this.apsRequestFreeSlots = (currentDeviceStatus >> 5) & 0x01;
479
- logger_1.logger.debug('networkstate: ' +
480
- networkState +
481
- ' apsDataConfirm: ' +
482
- this.apsDataConfirm +
483
- ' apsDataIndication: ' +
484
- this.apsDataIndication +
485
- ' configChanged: ' +
486
- this.configChanged +
487
- ' apsRequestFreeSlots: ' +
488
- this.apsRequestFreeSlots, NS);
494
+ logger_1.logger.debug(`networkstate: ${networkState} apsDataConfirm: ${this.apsDataConfirm} apsDataIndication: ${this.apsDataIndication} configChanged: ${this.configChanged} apsRequestFreeSlots: ${this.apsRequestFreeSlots}`, NS);
489
495
  }
490
496
  async handleDeviceStatus() {
491
497
  if (this.apsDataConfirm === 1) {
492
498
  try {
493
- logger_1.logger.debug('query aps data confirm', NS);
499
+ logger_1.logger.debug("query aps data confirm", NS);
494
500
  this.apsDataConfirm = 0;
495
501
  await this.querySendDataStateRequest();
496
502
  }
@@ -503,7 +509,7 @@ class Driver extends node_events_1.default.EventEmitter {
503
509
  }
504
510
  if (this.apsDataIndication === 1) {
505
511
  try {
506
- logger_1.logger.debug('query aps data indication', NS);
512
+ logger_1.logger.debug("query aps data indication", NS);
507
513
  this.apsDataIndication = 0;
508
514
  await this.readReceivedDataRequest();
509
515
  }
@@ -556,7 +562,7 @@ class Driver extends node_events_1.default.EventEmitter {
556
562
  return;
557
563
  }
558
564
  if (this.apsRequestFreeSlots !== 1) {
559
- logger_1.logger.debug('no free slots. Delay sending of APS Request', NS);
565
+ logger_1.logger.debug("no free slots. Delay sending of APS Request", NS);
560
566
  await this.sleep(1000);
561
567
  return;
562
568
  }
@@ -567,21 +573,20 @@ class Driver extends node_events_1.default.EventEmitter {
567
573
  case constants_1.default.PARAM.APS.DATA_REQUEST:
568
574
  if (exports.readyToSend === false) {
569
575
  // wait until last request was confirmed or given time elapsed
570
- logger_1.logger.debug('delay sending of APS Request', NS);
576
+ logger_1.logger.debug("delay sending of APS Request", NS);
571
577
  apsQueue.unshift(req);
572
578
  break;
573
579
  }
574
- else {
575
- disableRTS();
576
- exports.enableRtsTimeout = setTimeout(function () {
577
- enableRTS();
578
- }, this.READY_TO_SEND_TIMEOUT);
579
- exports.apsBusyQueue.push(req);
580
- this.sendEnqueueSendDataRequest(req.request, req.seqNumber);
581
- break;
582
- }
580
+ disableRTS();
581
+ exports.enableRtsTimeout = setTimeout(() => {
582
+ enableRTS();
583
+ }, this.readyToSendTimeout);
584
+ exports.apsBusyQueue.push(req);
585
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
586
+ this.sendEnqueueSendDataRequest(req.request, req.seqNumber);
587
+ break;
583
588
  default:
584
- throw new Error('process APS queue - unknown command id');
589
+ throw new Error("process APS queue - unknown command id");
585
590
  }
586
591
  }
587
592
  }
@@ -596,7 +601,7 @@ class Driver extends node_events_1.default.EventEmitter {
596
601
  switch (req.commandId) {
597
602
  case constants_1.default.PARAM.APS.DATA_INDICATION:
598
603
  //logger.debug(`read received data request. seqNr: ${req.seqNumber}`, NS);
599
- if (this.DELAY === 0) {
604
+ if (this.delay === 0) {
600
605
  this.sendReadReceivedDataRequest(req.seqNumber);
601
606
  }
602
607
  else {
@@ -605,7 +610,7 @@ class Driver extends node_events_1.default.EventEmitter {
605
610
  break;
606
611
  case constants_1.default.PARAM.APS.DATA_CONFIRM:
607
612
  //logger.debug(`query send data state request. seqNr: ${req.seqNumber}`, NS);
608
- if (this.DELAY === 0) {
613
+ if (this.delay === 0) {
609
614
  this.sendQueryDataStateRequest(req.seqNumber);
610
615
  }
611
616
  else {
@@ -613,7 +618,7 @@ class Driver extends node_events_1.default.EventEmitter {
613
618
  }
614
619
  break;
615
620
  default:
616
- throw new Error('process APS Confirm/Ind queue - unknown command id');
621
+ throw new Error("process APS Confirm/Ind queue - unknown command id");
617
622
  }
618
623
  }
619
624
  }
@@ -636,7 +641,7 @@ class Driver extends node_events_1.default.EventEmitter {
636
641
  const asdul1 = request.asduLength & 0xff;
637
642
  const asdul2 = (request.asduLength >> 8) & 0xff;
638
643
  let destArray = [];
639
- let dest = '';
644
+ let dest = "";
640
645
  if (request.destAddr16 !== undefined) {
641
646
  destArray[0] = request.destAddr16 & 0xff;
642
647
  destArray[1] = (request.destAddr16 >> 8) & 0xff;
@@ -648,7 +653,7 @@ class Driver extends node_events_1.default.EventEmitter {
648
653
  }
649
654
  if (request.destEndpoint !== undefined) {
650
655
  destArray.push(request.destEndpoint);
651
- dest += ' EP:';
656
+ dest += " EP:";
652
657
  dest += request.destEndpoint;
653
658
  }
654
659
  logger_1.logger.debug(`DATA_REQUEST - destAddr: 0x${dest} SeqNr. ${seqNumber} request id: ${request.requestId}`, NS);
@@ -685,11 +690,12 @@ class Driver extends node_events_1.default.EventEmitter {
685
690
  if (req.request != null && req.request.timeout != null) {
686
691
  timeout = req.request.timeout * 1000; // seconds * 1000 = milliseconds
687
692
  }
693
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
688
694
  if (now - req.ts > timeout) {
689
695
  logger_1.logger.debug(`Timeout for aps request CMD: 0x${req.commandId.toString(16)} seq: ${req.seqNumber}`, NS);
690
696
  //remove from busyQueue
691
697
  exports.apsBusyQueue.splice(i, 1);
692
- req.reject(new Error('APS TIMEOUT'));
698
+ req.reject(new Error("APS TIMEOUT"));
693
699
  }
694
700
  }
695
701
  }
@@ -703,34 +709,34 @@ class Driver extends node_events_1.default.EventEmitter {
703
709
  return Buffer.from([crc0, crc1]);
704
710
  }
705
711
  macAddrStringToArray(addr) {
706
- if (addr.indexOf('0x') === 0) {
712
+ if (addr.indexOf("0x") === 0) {
707
713
  addr = addr.slice(2, addr.length);
708
714
  }
709
715
  if (addr.length < 16) {
710
716
  for (let l = 0; l < 16 - addr.length; l++) {
711
- addr = '0' + addr;
717
+ addr = `0${addr}`;
712
718
  }
713
719
  }
714
720
  const result = new Array();
715
721
  let y = 0;
716
722
  for (let i = 0; i < 8; i++) {
717
- result[i] = parseInt(addr.substr(y, 2), 16);
723
+ result[i] = Number.parseInt(addr.substr(y, 2), 16);
718
724
  y += 2;
719
725
  }
720
726
  const reverse = result.reverse();
721
727
  return reverse;
722
728
  }
723
729
  macAddrArrayToString(addr) {
724
- if (addr.length != 8) {
725
- throw new Error('invalid array length for MAC address: ' + addr.length);
730
+ if (addr.length !== 8) {
731
+ throw new Error(`invalid array length for MAC address: ${addr.length}`);
726
732
  }
727
- let result = '0x';
728
- let char = '';
733
+ let result = "0x";
734
+ let char = "";
729
735
  let i = 8;
730
736
  while (i--) {
731
737
  char = addr[i].toString(16);
732
738
  if (char.length < 2) {
733
- char = '0' + char;
739
+ char = `0${char}`;
734
740
  }
735
741
  result += char;
736
742
  }
@@ -740,13 +746,13 @@ class Driver extends node_events_1.default.EventEmitter {
740
746
  * generalArrayToString result is not reversed!
741
747
  */
742
748
  generalArrayToString(key, length) {
743
- let result = '0x';
744
- let char = '';
749
+ let result = "0x";
750
+ let char = "";
745
751
  let i = 0;
746
752
  while (i < length) {
747
753
  char = key[i].toString(16);
748
754
  if (char.length < 2) {
749
- char = '0' + char;
755
+ char = `0${char}`;
750
756
  }
751
757
  result += char;
752
758
  i++;
@@ -761,7 +767,7 @@ class Driver extends node_events_1.default.EventEmitter {
761
767
  return this.seqNumber;
762
768
  }
763
769
  onParsed(frame) {
764
- this.emit('rxFrame', frame);
770
+ this.emit("rxFrame", frame);
765
771
  }
766
772
  sleep(ms) {
767
773
  return new Promise((resolve) => setTimeout(resolve, ms));