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
@@ -18,7 +18,7 @@ const enums_2 = require("./enums");
18
18
  const parser_1 = require("./parser");
19
19
  const queues_1 = require("./queues");
20
20
  const writer_1 = require("./writer");
21
- const NS = 'zh:ember:uart:ash';
21
+ const NS = "zh:ember:uart:ash";
22
22
  /** ASH get rflag in control byte */
23
23
  // const ashGetRFlag = (ctrl: number): number => (ctrl & ASH_RFLAG_MASK) >> ASH_RFLAG_BIT;
24
24
  /** ASH get nflag in control byte */
@@ -261,13 +261,15 @@ class UartAsh extends node_events_1.EventEmitter {
261
261
  this.reTxQueue.tail = undefined;
262
262
  this.txFree.link = undefined;
263
263
  for (let i = 0; i < consts_1.TX_POOL_BUFFERS; i++) {
264
- this.txFree.freeBuffer((this.txPool[i] = new queues_1.EzspBuffer()));
264
+ this.txPool[i] = new queues_1.EzspBuffer();
265
+ this.txFree.freeBuffer(this.txPool[i]);
265
266
  }
266
267
  // All receive buffers are put into rxFree, and rxQueue is empty.
267
268
  this.rxQueue.tail = undefined;
268
269
  this.rxFree.link = undefined;
269
270
  for (let i = 0; i < consts_1.EZSP_HOST_RX_POOL_SIZE; i++) {
270
- this.rxFree.freeBuffer((this.rxPool[i] = new queues_1.EzspBuffer()));
271
+ this.rxPool[i] = new queues_1.EzspBuffer();
272
+ this.rxFree.freeBuffer(this.rxPool[i]);
271
273
  }
272
274
  }
273
275
  /**
@@ -277,12 +279,11 @@ class UartAsh extends node_events_1.EventEmitter {
277
279
  if (this.closing) {
278
280
  return false;
279
281
  }
282
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
280
283
  if (socketPortUtils_1.default.isTcpPath(this.portOptions.path)) {
281
284
  return this.socketPort ? !this.socketPort.closed : false;
282
285
  }
283
- else {
284
- return this.serialPort ? this.serialPort.isOpen : false;
285
- }
286
+ return this.serialPort ? this.serialPort.isOpen : false;
286
287
  }
287
288
  /**
288
289
  * Get max wait time before response is considered timed out.
@@ -324,25 +325,27 @@ class UartAsh extends node_events_1.EventEmitter {
324
325
  */
325
326
  async initPort() {
326
327
  await this.closePort(); // will do nothing if nothing's open
328
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
327
329
  if (!socketPortUtils_1.default.isTcpPath(this.portOptions.path)) {
328
330
  const serialOpts = {
331
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
329
332
  path: this.portOptions.path,
330
- baudRate: typeof this.portOptions.baudRate === 'number' ? this.portOptions.baudRate : 115200,
331
- rtscts: typeof this.portOptions.rtscts === 'boolean' ? this.portOptions.rtscts : false,
333
+ baudRate: typeof this.portOptions.baudRate === "number" ? this.portOptions.baudRate : 115200,
334
+ rtscts: typeof this.portOptions.rtscts === "boolean" ? this.portOptions.rtscts : false,
332
335
  autoOpen: false,
333
- parity: 'none',
336
+ parity: "none",
334
337
  stopBits: 1,
335
338
  xon: false,
336
339
  xoff: false,
337
340
  };
338
341
  // enable software flow control if RTS/CTS not enabled in config
339
342
  if (!serialOpts.rtscts) {
340
- logger_1.logger.info(`RTS/CTS config is off, enabling software flow control.`, NS);
343
+ logger_1.logger.info("RTS/CTS config is off, enabling software flow control.", NS);
341
344
  serialOpts.xon = true;
342
345
  serialOpts.xoff = true;
343
346
  }
344
347
  // @ts-expect-error Jest testing
345
- if (this.portOptions.binding != undefined) {
348
+ if (this.portOptions.binding !== undefined) {
346
349
  // @ts-expect-error Jest testing
347
350
  serialOpts.binding = this.portOptions.binding;
348
351
  }
@@ -350,12 +353,12 @@ class UartAsh extends node_events_1.EventEmitter {
350
353
  this.serialPort = new serialPort_1.SerialPort(serialOpts);
351
354
  this.writer.pipe(this.serialPort);
352
355
  this.serialPort.pipe(this.parser);
353
- this.parser.on('data', this.onFrame.bind(this));
356
+ this.parser.on("data", this.onFrame.bind(this));
354
357
  try {
355
358
  await this.serialPort.asyncOpen();
356
- logger_1.logger.info(`Serial port opened`, NS);
357
- this.serialPort.once('close', this.onPortClose.bind(this));
358
- this.serialPort.on('error', this.onPortError.bind(this));
359
+ logger_1.logger.info("Serial port opened", NS);
360
+ this.serialPort.once("close", this.onPortClose.bind(this));
361
+ this.serialPort.on("error", this.onPortError.bind(this));
359
362
  }
360
363
  catch (error) {
361
364
  await this.stop();
@@ -363,6 +366,7 @@ class UartAsh extends node_events_1.EventEmitter {
363
366
  }
364
367
  }
365
368
  else {
369
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
366
370
  const info = socketPortUtils_1.default.parseTcpPath(this.portOptions.path);
367
371
  logger_1.logger.debug(`Opening TCP socket with ${info.host}:${info.port}`, NS);
368
372
  this.socketPort = new node_net_1.Socket();
@@ -370,23 +374,30 @@ class UartAsh extends node_events_1.EventEmitter {
370
374
  this.socketPort.setKeepAlive(true, 15000);
371
375
  this.writer.pipe(this.socketPort);
372
376
  this.socketPort.pipe(this.parser);
373
- this.parser.on('data', this.onFrame.bind(this));
377
+ this.parser.on("data", this.onFrame.bind(this));
374
378
  return await new Promise((resolve, reject) => {
375
379
  const openError = async (err) => {
376
380
  await this.stop();
377
381
  reject(err);
378
382
  };
379
- this.socketPort.on('connect', () => {
380
- logger_1.logger.debug(`Socket connected`, NS);
383
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
384
+ this.socketPort.on("connect", () => {
385
+ logger_1.logger.debug("Socket connected", NS);
381
386
  });
382
- this.socketPort.on('ready', () => {
383
- logger_1.logger.info(`Socket ready`, NS);
384
- this.socketPort.removeListener('error', openError);
385
- this.socketPort.once('close', this.onPortClose.bind(this));
386
- this.socketPort.on('error', this.onPortError.bind(this));
387
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
388
+ this.socketPort.on("ready", () => {
389
+ logger_1.logger.info("Socket ready", NS);
390
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
391
+ this.socketPort.removeListener("error", openError);
392
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
393
+ this.socketPort.once("close", this.onPortClose.bind(this));
394
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
395
+ this.socketPort.on("error", this.onPortError.bind(this));
387
396
  resolve();
388
397
  });
389
- this.socketPort.once('error', openError);
398
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
399
+ this.socketPort.once("error", openError);
400
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
390
401
  this.socketPort.connect(info.port, info.host);
391
402
  });
392
403
  }
@@ -395,22 +406,22 @@ class UartAsh extends node_events_1.EventEmitter {
395
406
  * Handle port closing
396
407
  * @param err A boolean for Socket, an Error for serialport
397
408
  */
398
- async onPortClose(error) {
399
- logger_1.logger.info(`Port closed.`, NS);
409
+ onPortClose(error) {
410
+ logger_1.logger.info("Port closed.", NS);
400
411
  if (error && this.flags !== 0) {
401
412
  logger_1.logger.info(`Port close ${error}`, NS);
402
413
  this.flags = 0;
403
- this.emit('fatalError', enums_1.EzspStatus.ERROR_SERIAL_INIT);
414
+ this.emit("fatalError", enums_1.EzspStatus.ERROR_SERIAL_INIT);
404
415
  }
405
416
  }
406
417
  /**
407
418
  * Handle port error
408
419
  * @param error
409
420
  */
410
- async onPortError(error) {
421
+ onPortError(error) {
411
422
  logger_1.logger.error(`Port ${error}`, NS);
412
423
  this.flags = 0;
413
- this.emit('fatalError', enums_1.EzspStatus.ERROR_SERIAL_INIT);
424
+ this.emit("fatalError", enums_1.EzspStatus.ERROR_SERIAL_INIT);
414
425
  }
415
426
  /**
416
427
  * Handle received frame from AshParser.
@@ -422,7 +433,7 @@ class UartAsh extends node_events_1.EventEmitter {
422
433
  // ignore the cancel before RSTACK
423
434
  if (this.flags & Flag.CONNECTED) {
424
435
  this.counters.rxCancelled += 1;
425
- logger_1.logger.warning(`Frame(s) in progress cancelled in [${buffer.toString('hex')}]`, NS);
436
+ logger_1.logger.warning(`Frame(s) in progress cancelled in [${buffer.toString("hex")}]`, NS);
426
437
  }
427
438
  // get rid of everything up to the CAN flag and start reading frame from there, no need to loop through bytes in vain
428
439
  buffer = buffer.subarray(iCAN + 1);
@@ -430,14 +441,14 @@ class UartAsh extends node_events_1.EventEmitter {
430
441
  if (!buffer.length) {
431
442
  // skip any CANCEL that results in empty frame (have yet to see one, but just in case...)
432
443
  // shouldn't happen for any other reason, unless receiving bad stuff from port?
433
- logger_1.logger.debug(`Received empty frame. Skipping.`, NS);
444
+ logger_1.logger.debug("Received empty frame. Skipping.", NS);
434
445
  return;
435
446
  }
436
447
  const status = this.receiveFrame(buffer);
437
448
  this.sendExec(); // always trigger to cover all cases
438
449
  if (status !== enums_1.EzspStatus.SUCCESS && status !== enums_1.EzspStatus.ASH_IN_PROGRESS && status !== enums_1.EzspStatus.NO_RX_DATA) {
439
450
  logger_1.logger.error(`Error while parsing received frame, status=${enums_1.EzspStatus[status]}.`, NS);
440
- this.emit('fatalError', enums_1.EzspStatus.HOST_FATAL_ERROR);
451
+ this.emit("fatalError", enums_1.EzspStatus.HOST_FATAL_ERROR);
441
452
  return;
442
453
  }
443
454
  }
@@ -453,7 +464,7 @@ class UartAsh extends node_events_1.EventEmitter {
453
464
  if (!this.portOpen || this.flags & Flag.CONNECTED) {
454
465
  return enums_1.EzspStatus.ERROR_INVALID_CALL;
455
466
  }
456
- logger_1.logger.info(`======== ASH starting ========`, NS);
467
+ logger_1.logger.info("======== ASH starting ========", NS);
457
468
  try {
458
469
  if (this.serialPort) {
459
470
  await this.serialPort.asyncFlush(); // clear read/write buffers
@@ -470,10 +481,10 @@ class UartAsh extends node_events_1.EventEmitter {
470
481
  for (let i = 0; i < CONFIG_TIME_RST; i += CONFIG_TIME_RST_CHECK) {
471
482
  this.sendExec();
472
483
  if (this.flags & Flag.CONNECTED) {
473
- logger_1.logger.info(`======== ASH started ========`, NS);
484
+ logger_1.logger.info("======== ASH started ========", NS);
474
485
  return enums_1.EzspStatus.SUCCESS;
475
486
  }
476
- else if (this.hostError !== enums_1.EzspStatus.NO_ERROR || this.ncpError !== enums_1.EzspStatus.NO_ERROR) {
487
+ if (this.hostError !== enums_1.EzspStatus.NO_ERROR || this.ncpError !== enums_1.EzspStatus.NO_ERROR) {
477
488
  // don't wait for inevitable fail, bail early, let retry logic in EZSP layer do its thing
478
489
  break;
479
490
  }
@@ -489,7 +500,7 @@ class UartAsh extends node_events_1.EventEmitter {
489
500
  this.closing = true;
490
501
  this.logCounters();
491
502
  await this.closePort();
492
- logger_1.logger.info(`======== ASH stopped ========`, NS);
503
+ logger_1.logger.info("======== ASH stopped ========", NS);
493
504
  }
494
505
  /**
495
506
  * Close port and remove listeners.
@@ -525,7 +536,7 @@ class UartAsh extends node_events_1.EventEmitter {
525
536
  if (this.closing) {
526
537
  return enums_1.EzspStatus.ERROR_INVALID_CALL;
527
538
  }
528
- logger_1.logger.info(`======== ASH Adapter reset ========`, NS);
539
+ logger_1.logger.info("======== ASH Adapter reset ========", NS);
529
540
  // ask ncp to reset itself using RST frame
530
541
  try {
531
542
  if (!this.portOpen) {
@@ -569,7 +580,7 @@ class UartAsh extends node_events_1.EventEmitter {
569
580
  if (len < consts_1.ASH_MIN_DATA_FIELD_LEN) {
570
581
  return enums_1.EzspStatus.DATA_FRAME_TOO_SHORT;
571
582
  }
572
- else if (len > consts_1.ASH_MAX_DATA_FIELD_LEN) {
583
+ if (len > consts_1.ASH_MAX_DATA_FIELD_LEN) {
573
584
  return enums_1.EzspStatus.DATA_FRAME_TOO_LONG;
574
585
  }
575
586
  if (!(this.flags & Flag.CONNECTED)) {
@@ -603,7 +614,7 @@ class UartAsh extends node_events_1.EventEmitter {
603
614
  if (this.ackRx !== expectedFrm) {
604
615
  this.counters.rxAckTimeouts += 1;
605
616
  this.adjustAckPeriod(true);
606
- logger_1.logger.debug(`Timer expired waiting for ACK for ${reTx ? 'frmReTx' : 'frmTx'}=${expectedFrm}, ackRx=${this.ackRx}`, NS);
617
+ logger_1.logger.debug(`Timer expired waiting for ACK for ${reTx ? "frmReTx" : "frmTx"}=${expectedFrm}, ackRx=${this.ackRx}`, NS);
607
618
  if (++this.timeouts >= consts_1.ASH_MAX_TIMEOUTS) {
608
619
  this.hostDisconnect(enums_1.EzspStatus.ASH_ERROR_TIMEOUTS);
609
620
  return;
@@ -660,7 +671,7 @@ class UartAsh extends node_events_1.EventEmitter {
660
671
  len = 1;
661
672
  this.flags &= ~(Flag.RST | Flag.NAK | Flag.ACK);
662
673
  this.sendState = SendState.SHFRAME;
663
- logger_1.logger.debug(`---> [FRAME type=RST]`, NS);
674
+ logger_1.logger.debug("---> [FRAME type=RST]", NS);
664
675
  }
665
676
  else if (this.flags & (Flag.NAK | Flag.ACK)) {
666
677
  if (this.flags & Flag.NAK) {
@@ -685,13 +696,14 @@ class UartAsh extends node_events_1.EventEmitter {
685
696
  else if (this.flags & Flag.RETX) {
686
697
  // Retransmitting DATA frames for error recovery
687
698
  // buffer assumed valid from loop logic
699
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
688
700
  buffer = this.reTxQueue.getNthEntry((0, math_1.mod8)(this.frmTx - this.frmReTx));
689
701
  len = buffer.len + 1;
690
702
  this.txSHBuffer[0] = enums_2.AshFrameType.DATA | (this.frmReTx << consts_1.ASH_FRMNUM_BIT) | (this.frmRx << consts_1.ASH_ACKNUM_BIT) | consts_1.ASH_RFLAG_MASK;
691
703
  this.sendState = SendState.RETX_DATA;
692
704
  logger_1.logger.debug(`---> [FRAME type=DATA_RETX frmReTx=${this.frmReTx} frmRx=${this.frmRx}](ackRx=${this.ackRx} frmTx=${this.frmTx})`, NS);
693
705
  }
694
- else if (this.ackTx != this.frmRx) {
706
+ else if (this.ackTx !== this.frmRx) {
695
707
  // An ACK should be generated
696
708
  this.flags |= Flag.ACK;
697
709
  break;
@@ -733,6 +745,7 @@ class UartAsh extends node_events_1.EventEmitter {
733
745
  // sending OR resending data frame
734
746
  if (this.txOffset !== 0xff) {
735
747
  // buffer assumed valid from loop logic
748
+ // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
736
749
  inByte = this.txOffset ? buffer.data[this.txOffset - 1] : this.txSHBuffer[0];
737
750
  outByte = this.encodeByte(0, inByte);
738
751
  this.writer.writeByte(outByte);
@@ -794,22 +807,22 @@ class UartAsh extends node_events_1.EventEmitter {
794
807
  case enums_1.EzspStatus.ASH_BAD_CRC:
795
808
  this.counters.rxCrcErrors += 1;
796
809
  this.rejectFrame();
797
- logger_1.logger.error(`Received frame with CRC error`, NS);
810
+ logger_1.logger.error("Received frame with CRC error", NS);
798
811
  return enums_1.EzspStatus.NO_RX_DATA;
799
812
  case enums_1.EzspStatus.ASH_COMM_ERROR:
800
813
  this.counters.rxCommErrors += 1;
801
814
  this.rejectFrame();
802
- logger_1.logger.error(`Received frame with comm error`, NS);
815
+ logger_1.logger.error("Received frame with comm error", NS);
803
816
  return enums_1.EzspStatus.NO_RX_DATA;
804
817
  case enums_1.EzspStatus.ASH_TOO_SHORT:
805
818
  this.counters.rxTooShort += 1;
806
819
  this.rejectFrame();
807
- logger_1.logger.error(`Received frame shorter than minimum`, NS);
820
+ logger_1.logger.error("Received frame shorter than minimum", NS);
808
821
  return enums_1.EzspStatus.NO_RX_DATA;
809
822
  case enums_1.EzspStatus.ASH_TOO_LONG:
810
823
  this.counters.rxTooLong += 1;
811
824
  this.rejectFrame();
812
- logger_1.logger.error(`Received frame longer than maximum`, NS);
825
+ logger_1.logger.error("Received frame longer than maximum", NS);
813
826
  return enums_1.EzspStatus.NO_RX_DATA;
814
827
  case enums_1.EzspStatus.ASH_ERROR_XON_XOFF:
815
828
  return this.hostDisconnect(status);
@@ -853,10 +866,10 @@ class UartAsh extends node_events_1.EventEmitter {
853
866
  this.timeouts = 0;
854
867
  this.setAckPeriod(CONFIG_ACK_TIME_INIT);
855
868
  this.flags = Flag.CONNECTED | Flag.ACK;
856
- logger_1.logger.info(`======== ASH connected ========`, NS);
869
+ logger_1.logger.info("======== ASH connected ========", NS);
857
870
  return enums_1.EzspStatus.SUCCESS;
858
871
  }
859
- else if (frameType === enums_2.AshFrameType.ERROR) {
872
+ if (frameType === enums_2.AshFrameType.ERROR) {
860
873
  logger_1.logger.error(`Received ERROR from adapter while connecting, with code=${enums_2.NcpFailedCode[this.rxSHBuffer[2]]}.`, NS);
861
874
  // let Ezsp retry logic handle error
862
875
  // return this.ncpDisconnect(EzspStatus.ASH_NCP_FATAL_ERROR);
@@ -917,24 +930,22 @@ class UartAsh extends node_events_1.EventEmitter {
917
930
  this.rxQueue.addTail(this.rxDataBuffer); // add frame to receive queue
918
931
  logger_1.logger.debug(`<--- ${frameStr} Added to rxQueue`, NS);
919
932
  this.counters.rxData += this.rxDataBuffer.len;
920
- setImmediate(() => this.emit('frame'));
933
+ setImmediate(() => this.emit("frame"));
921
934
  return enums_1.EzspStatus.SUCCESS;
922
935
  }
936
+ // frame is out of sequence
937
+ if (this.rxSHBuffer[0] & consts_1.ASH_RFLAG_MASK) {
938
+ // if retransmitted, force ACK
939
+ this.counters.rxDuplicates += 1;
940
+ this.flags |= Flag.ACK;
941
+ }
923
942
  else {
924
- // frame is out of sequence
925
- if (this.rxSHBuffer[0] & consts_1.ASH_RFLAG_MASK) {
926
- // if retransmitted, force ACK
927
- this.counters.rxDuplicates += 1;
928
- this.flags |= Flag.ACK;
929
- }
930
- else {
931
- // 1st OOS? then set REJ, send NAK
932
- if ((this.flags & Flag.REJ) === 0) {
933
- this.counters.rxOutOfSequence += 1;
934
- logger_1.logger.debug(`<-x- ${frameStr} Out of sequence: expected ${this.frmRx}; got ${frmNum}.`, NS);
935
- }
936
- this.rejectFrame();
943
+ // 1st OOS? then set REJ, send NAK
944
+ if ((this.flags & Flag.REJ) === 0) {
945
+ this.counters.rxOutOfSequence += 1;
946
+ logger_1.logger.debug(`<-x- ${frameStr} Out of sequence: expected ${this.frmRx}; got ${frmNum}.`, NS);
937
947
  }
948
+ this.rejectFrame();
938
949
  }
939
950
  break;
940
951
  }
@@ -956,7 +967,7 @@ class UartAsh extends node_events_1.EventEmitter {
956
967
  return this.ncpDisconnect(enums_1.EzspStatus.ASH_NCP_FATAL_ERROR);
957
968
  case enums_2.AshFrameType.INVALID:
958
969
  // reject invalid frames
959
- logger_1.logger.debug(`<-x- [FRAME type=${frameTypeStr}] Rejecting. ${this.rxSHBuffer.toString('hex')}`, NS);
970
+ logger_1.logger.debug(`<-x- [FRAME type=${frameTypeStr}] Rejecting. ${this.rxSHBuffer.toString("hex")}`, NS);
960
971
  this.rejectFrame();
961
972
  break;
962
973
  }
@@ -1059,7 +1070,7 @@ class UartAsh extends node_events_1.EventEmitter {
1059
1070
  * If not already retransmitting, and there are unacked frames, start retransmitting after the last frame that was acked.
1060
1071
  */
1061
1072
  startRetransmission() {
1062
- if (!(this.flags & Flag.RETX) && this.ackRx != this.frmTx) {
1073
+ if (!(this.flags & Flag.RETX) && this.ackRx !== this.frmTx) {
1063
1074
  this.stopAckTimer();
1064
1075
  this.frmReTx = this.ackRx;
1065
1076
  this.flags |= Flag.RETX | Flag.CAN;
@@ -1075,7 +1086,7 @@ class UartAsh extends node_events_1.EventEmitter {
1075
1086
  // Set/clear NR flag based on the number of buffers free
1076
1087
  if (this.rxFree.length < CONFIG_NR_LOW_LIMIT) {
1077
1088
  this.flags |= Flag.NR;
1078
- logger_1.logger.warning(`NOT READY - Signaling adapter`, NS);
1089
+ logger_1.logger.warning("NOT READY - Signaling adapter", NS);
1079
1090
  }
1080
1091
  else if (this.rxFree.length > CONFIG_NR_HIGH_LIMIT) {
1081
1092
  this.flags &= ~Flag.NR;
@@ -1233,12 +1244,12 @@ class UartAsh extends node_events_1.EventEmitter {
1233
1244
  }
1234
1245
  return this.encodeStuffByte(byte);
1235
1246
  }
1236
- else if (this.encodeState === 1) {
1247
+ if (this.encodeState === 1) {
1237
1248
  // CRC high byte
1238
1249
  this.encodeState = 2;
1239
1250
  return this.encodeStuffByte(this.encodeCrc >> 8);
1240
1251
  }
1241
- else if (this.encodeState === 2) {
1252
+ if (this.encodeState === 2) {
1242
1253
  // CRC low byte
1243
1254
  this.encodeState = 3;
1244
1255
  return this.encodeStuffByte(this.encodeCrc & 0xff);
@@ -1258,9 +1269,7 @@ class UartAsh extends node_events_1.EventEmitter {
1258
1269
  this.encodeFlip = byte ^ consts_1.ASH_FLIP;
1259
1270
  return enums_2.AshReservedByte.ESCAPE;
1260
1271
  }
1261
- else {
1262
- return byte;
1263
- }
1272
+ return byte;
1264
1273
  }
1265
1274
  /**
1266
1275
  * Decode received byte.
@@ -1294,7 +1303,7 @@ class UartAsh extends node_events_1.EventEmitter {
1294
1303
  this.decodeFlip = 0; // ignore isolated data escape between flags
1295
1304
  break;
1296
1305
  }
1297
- else if (this.decodeLen === 0xff) {
1306
+ if (this.decodeLen === 0xff) {
1298
1307
  status = enums_1.EzspStatus.ASH_COMM_ERROR;
1299
1308
  }
1300
1309
  else if (this.decodeCrc !== (this.decodeByte2 << 8) + this.decodeByte1) {
@@ -1594,7 +1603,7 @@ class UartAsh extends node_events_1.EventEmitter {
1594
1603
  * Used on ASH layer stop to get 'pre-stop state'.
1595
1604
  */
1596
1605
  logCounters() {
1597
- logger_1.logger.info(`ASH COUNTERS since last clear:`, NS);
1606
+ logger_1.logger.info("ASH COUNTERS since last clear:", NS);
1598
1607
  logger_1.logger.info(` Total frames: RX=${this.counters.rxAllFrames}, TX=${this.counters.txAllFrames}`, NS);
1599
1608
  logger_1.logger.info(` Cancelled : RX=${this.counters.rxCancelled}, TX=${this.counters.txCancelled}`, NS);
1600
1609
  logger_1.logger.info(` DATA frames : RX=${this.counters.rxDataFrames}, TX=${this.counters.txDataFrames}`, NS);