zigbee-herdsman 3.0.3 → 3.1.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 (786) hide show
  1. package/.github/workflows/ci.yml +1 -1
  2. package/.release-please-manifest.json +1 -1
  3. package/CHANGELOG.md +25 -0
  4. package/package.json +12 -31
  5. package/tsconfig.json +3 -1
  6. package/.babelrc.js +0 -3
  7. package/dist/adapter/adapter.d.ts +0 -63
  8. package/dist/adapter/adapter.d.ts.map +0 -1
  9. package/dist/adapter/adapter.js +0 -88
  10. package/dist/adapter/adapter.js.map +0 -1
  11. package/dist/adapter/adapterDiscovery.d.ts +0 -22
  12. package/dist/adapter/adapterDiscovery.d.ts.map +0 -1
  13. package/dist/adapter/adapterDiscovery.js +0 -468
  14. package/dist/adapter/adapterDiscovery.js.map +0 -1
  15. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +0 -58
  16. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +0 -1
  17. package/dist/adapter/deconz/adapter/deconzAdapter.js +0 -634
  18. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +0 -1
  19. package/dist/adapter/deconz/adapter/index.d.ts +0 -3
  20. package/dist/adapter/deconz/adapter/index.d.ts.map +0 -1
  21. package/dist/adapter/deconz/adapter/index.js +0 -9
  22. package/dist/adapter/deconz/adapter/index.js.map +0 -1
  23. package/dist/adapter/deconz/driver/constants.d.ts +0 -152
  24. package/dist/adapter/deconz/driver/constants.d.ts.map +0 -1
  25. package/dist/adapter/deconz/driver/constants.js +0 -56
  26. package/dist/adapter/deconz/driver/constants.js.map +0 -1
  27. package/dist/adapter/deconz/driver/driver.d.ts +0 -79
  28. package/dist/adapter/deconz/driver/driver.d.ts.map +0 -1
  29. package/dist/adapter/deconz/driver/driver.js +0 -779
  30. package/dist/adapter/deconz/driver/driver.js.map +0 -1
  31. package/dist/adapter/deconz/driver/frame.d.ts +0 -6
  32. package/dist/adapter/deconz/driver/frame.d.ts.map +0 -1
  33. package/dist/adapter/deconz/driver/frame.js +0 -14
  34. package/dist/adapter/deconz/driver/frame.js.map +0 -1
  35. package/dist/adapter/deconz/driver/frameParser.d.ts +0 -5
  36. package/dist/adapter/deconz/driver/frameParser.d.ts.map +0 -1
  37. package/dist/adapter/deconz/driver/frameParser.js +0 -530
  38. package/dist/adapter/deconz/driver/frameParser.js.map +0 -1
  39. package/dist/adapter/deconz/driver/parser.d.ts +0 -10
  40. package/dist/adapter/deconz/driver/parser.d.ts.map +0 -1
  41. package/dist/adapter/deconz/driver/parser.js +0 -39
  42. package/dist/adapter/deconz/driver/parser.js.map +0 -1
  43. package/dist/adapter/deconz/driver/writer.d.ts +0 -8
  44. package/dist/adapter/deconz/driver/writer.d.ts.map +0 -1
  45. package/dist/adapter/deconz/driver/writer.js +0 -53
  46. package/dist/adapter/deconz/driver/writer.js.map +0 -1
  47. package/dist/adapter/ember/adapter/emberAdapter.d.ts +0 -337
  48. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +0 -1
  49. package/dist/adapter/ember/adapter/emberAdapter.js +0 -1662
  50. package/dist/adapter/ember/adapter/emberAdapter.js.map +0 -1
  51. package/dist/adapter/ember/adapter/endpoints.d.ts +0 -27
  52. package/dist/adapter/ember/adapter/endpoints.d.ts.map +0 -1
  53. package/dist/adapter/ember/adapter/endpoints.js +0 -69
  54. package/dist/adapter/ember/adapter/endpoints.js.map +0 -1
  55. package/dist/adapter/ember/adapter/index.d.ts +0 -3
  56. package/dist/adapter/ember/adapter/index.d.ts.map +0 -1
  57. package/dist/adapter/ember/adapter/index.js +0 -6
  58. package/dist/adapter/ember/adapter/index.js.map +0 -1
  59. package/dist/adapter/ember/adapter/oneWaitress.d.ts +0 -112
  60. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +0 -1
  61. package/dist/adapter/ember/adapter/oneWaitress.js +0 -231
  62. package/dist/adapter/ember/adapter/oneWaitress.js.map +0 -1
  63. package/dist/adapter/ember/adapter/tokensManager.d.ts +0 -69
  64. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +0 -1
  65. package/dist/adapter/ember/adapter/tokensManager.js +0 -689
  66. package/dist/adapter/ember/adapter/tokensManager.js.map +0 -1
  67. package/dist/adapter/ember/consts.d.ts +0 -105
  68. package/dist/adapter/ember/consts.d.ts.map +0 -1
  69. package/dist/adapter/ember/consts.js +0 -153
  70. package/dist/adapter/ember/consts.js.map +0 -1
  71. package/dist/adapter/ember/enums.d.ts +0 -1915
  72. package/dist/adapter/ember/enums.d.ts.map +0 -1
  73. package/dist/adapter/ember/enums.js +0 -2060
  74. package/dist/adapter/ember/enums.js.map +0 -1
  75. package/dist/adapter/ember/ezsp/buffalo.d.ts +0 -164
  76. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +0 -1
  77. package/dist/adapter/ember/ezsp/buffalo.js +0 -1122
  78. package/dist/adapter/ember/ezsp/buffalo.js.map +0 -1
  79. package/dist/adapter/ember/ezsp/consts.d.ts +0 -117
  80. package/dist/adapter/ember/ezsp/consts.d.ts.map +0 -1
  81. package/dist/adapter/ember/ezsp/consts.js +0 -129
  82. package/dist/adapter/ember/ezsp/consts.js.map +0 -1
  83. package/dist/adapter/ember/ezsp/enums.d.ts +0 -990
  84. package/dist/adapter/ember/ezsp/enums.d.ts.map +0 -1
  85. package/dist/adapter/ember/ezsp/enums.js +0 -1076
  86. package/dist/adapter/ember/ezsp/enums.js.map +0 -1
  87. package/dist/adapter/ember/ezsp/ezsp.d.ts +0 -2934
  88. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +0 -1
  89. package/dist/adapter/ember/ezsp/ezsp.js +0 -7039
  90. package/dist/adapter/ember/ezsp/ezsp.js.map +0 -1
  91. package/dist/adapter/ember/ezspError.d.ts +0 -6
  92. package/dist/adapter/ember/ezspError.d.ts.map +0 -1
  93. package/dist/adapter/ember/ezspError.js +0 -13
  94. package/dist/adapter/ember/ezspError.js.map +0 -1
  95. package/dist/adapter/ember/types.d.ts +0 -773
  96. package/dist/adapter/ember/types.d.ts.map +0 -1
  97. package/dist/adapter/ember/types.js +0 -3
  98. package/dist/adapter/ember/types.js.map +0 -1
  99. package/dist/adapter/ember/uart/ash.d.ts +0 -451
  100. package/dist/adapter/ember/uart/ash.d.ts.map +0 -1
  101. package/dist/adapter/ember/uart/ash.js +0 -1619
  102. package/dist/adapter/ember/uart/ash.js.map +0 -1
  103. package/dist/adapter/ember/uart/consts.d.ts +0 -91
  104. package/dist/adapter/ember/uart/consts.d.ts.map +0 -1
  105. package/dist/adapter/ember/uart/consts.js +0 -100
  106. package/dist/adapter/ember/uart/consts.js.map +0 -1
  107. package/dist/adapter/ember/uart/enums.d.ts +0 -191
  108. package/dist/adapter/ember/uart/enums.d.ts.map +0 -1
  109. package/dist/adapter/ember/uart/enums.js +0 -197
  110. package/dist/adapter/ember/uart/enums.js.map +0 -1
  111. package/dist/adapter/ember/uart/parser.d.ts +0 -8
  112. package/dist/adapter/ember/uart/parser.d.ts.map +0 -1
  113. package/dist/adapter/ember/uart/parser.js +0 -37
  114. package/dist/adapter/ember/uart/parser.js.map +0 -1
  115. package/dist/adapter/ember/uart/queues.d.ts +0 -84
  116. package/dist/adapter/ember/uart/queues.d.ts.map +0 -1
  117. package/dist/adapter/ember/uart/queues.js +0 -215
  118. package/dist/adapter/ember/uart/queues.js.map +0 -1
  119. package/dist/adapter/ember/uart/writer.d.ts +0 -14
  120. package/dist/adapter/ember/uart/writer.d.ts.map +0 -1
  121. package/dist/adapter/ember/uart/writer.js +0 -45
  122. package/dist/adapter/ember/uart/writer.js.map +0 -1
  123. package/dist/adapter/ember/utils/initters.d.ts +0 -20
  124. package/dist/adapter/ember/utils/initters.d.ts.map +0 -1
  125. package/dist/adapter/ember/utils/initters.js +0 -92
  126. package/dist/adapter/ember/utils/initters.js.map +0 -1
  127. package/dist/adapter/ember/utils/math.d.ts +0 -43
  128. package/dist/adapter/ember/utils/math.d.ts.map +0 -1
  129. package/dist/adapter/ember/utils/math.js +0 -83
  130. package/dist/adapter/ember/utils/math.js.map +0 -1
  131. package/dist/adapter/events.d.ts +0 -25
  132. package/dist/adapter/events.d.ts.map +0 -1
  133. package/dist/adapter/events.js +0 -3
  134. package/dist/adapter/events.js.map +0 -1
  135. package/dist/adapter/ezsp/adapter/backup.d.ts +0 -13
  136. package/dist/adapter/ezsp/adapter/backup.d.ts.map +0 -1
  137. package/dist/adapter/ezsp/adapter/backup.js +0 -135
  138. package/dist/adapter/ezsp/adapter/backup.js.map +0 -1
  139. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +0 -53
  140. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +0 -1
  141. package/dist/adapter/ezsp/adapter/ezspAdapter.js +0 -453
  142. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +0 -1
  143. package/dist/adapter/ezsp/adapter/index.d.ts +0 -3
  144. package/dist/adapter/ezsp/adapter/index.d.ts.map +0 -1
  145. package/dist/adapter/ezsp/adapter/index.js +0 -9
  146. package/dist/adapter/ezsp/adapter/index.js.map +0 -1
  147. package/dist/adapter/ezsp/driver/commands.d.ts +0 -37
  148. package/dist/adapter/ezsp/driver/commands.d.ts.map +0 -1
  149. package/dist/adapter/ezsp/driver/commands.js +0 -2387
  150. package/dist/adapter/ezsp/driver/commands.js.map +0 -1
  151. package/dist/adapter/ezsp/driver/consts.d.ts +0 -11
  152. package/dist/adapter/ezsp/driver/consts.d.ts.map +0 -1
  153. package/dist/adapter/ezsp/driver/consts.js +0 -14
  154. package/dist/adapter/ezsp/driver/consts.js.map +0 -1
  155. package/dist/adapter/ezsp/driver/driver.d.ts +0 -96
  156. package/dist/adapter/ezsp/driver/driver.d.ts.map +0 -1
  157. package/dist/adapter/ezsp/driver/driver.js +0 -856
  158. package/dist/adapter/ezsp/driver/driver.js.map +0 -1
  159. package/dist/adapter/ezsp/driver/ezsp.d.ts +0 -104
  160. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +0 -1
  161. package/dist/adapter/ezsp/driver/ezsp.js +0 -675
  162. package/dist/adapter/ezsp/driver/ezsp.js.map +0 -1
  163. package/dist/adapter/ezsp/driver/frame.d.ts +0 -39
  164. package/dist/adapter/ezsp/driver/frame.d.ts.map +0 -1
  165. package/dist/adapter/ezsp/driver/frame.js +0 -101
  166. package/dist/adapter/ezsp/driver/frame.js.map +0 -1
  167. package/dist/adapter/ezsp/driver/index.d.ts +0 -4
  168. package/dist/adapter/ezsp/driver/index.d.ts.map +0 -1
  169. package/dist/adapter/ezsp/driver/index.js +0 -8
  170. package/dist/adapter/ezsp/driver/index.js.map +0 -1
  171. package/dist/adapter/ezsp/driver/multicast.d.ts +0 -13
  172. package/dist/adapter/ezsp/driver/multicast.d.ts.map +0 -1
  173. package/dist/adapter/ezsp/driver/multicast.js +0 -74
  174. package/dist/adapter/ezsp/driver/multicast.js.map +0 -1
  175. package/dist/adapter/ezsp/driver/parser.d.ts +0 -9
  176. package/dist/adapter/ezsp/driver/parser.d.ts.map +0 -1
  177. package/dist/adapter/ezsp/driver/parser.js +0 -109
  178. package/dist/adapter/ezsp/driver/parser.js.map +0 -1
  179. package/dist/adapter/ezsp/driver/types/basic.d.ts +0 -62
  180. package/dist/adapter/ezsp/driver/types/basic.d.ts.map +0 -1
  181. package/dist/adapter/ezsp/driver/types/basic.js +0 -208
  182. package/dist/adapter/ezsp/driver/types/basic.js.map +0 -1
  183. package/dist/adapter/ezsp/driver/types/index.d.ts +0 -9
  184. package/dist/adapter/ezsp/driver/types/index.d.ts.map +0 -1
  185. package/dist/adapter/ezsp/driver/types/index.js +0 -138
  186. package/dist/adapter/ezsp/driver/types/index.js.map +0 -1
  187. package/dist/adapter/ezsp/driver/types/named.d.ts +0 -1287
  188. package/dist/adapter/ezsp/driver/types/named.d.ts.map +0 -1
  189. package/dist/adapter/ezsp/driver/types/named.js +0 -2340
  190. package/dist/adapter/ezsp/driver/types/named.js.map +0 -1
  191. package/dist/adapter/ezsp/driver/types/struct.d.ts +0 -270
  192. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +0 -1
  193. package/dist/adapter/ezsp/driver/types/struct.js +0 -876
  194. package/dist/adapter/ezsp/driver/types/struct.js.map +0 -1
  195. package/dist/adapter/ezsp/driver/uart.d.ts +0 -46
  196. package/dist/adapter/ezsp/driver/uart.d.ts.map +0 -1
  197. package/dist/adapter/ezsp/driver/uart.js +0 -379
  198. package/dist/adapter/ezsp/driver/uart.js.map +0 -1
  199. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +0 -5
  200. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +0 -1
  201. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +0 -55
  202. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +0 -1
  203. package/dist/adapter/ezsp/driver/utils/index.d.ts +0 -5
  204. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +0 -1
  205. package/dist/adapter/ezsp/driver/utils/index.js +0 -35
  206. package/dist/adapter/ezsp/driver/utils/index.js.map +0 -1
  207. package/dist/adapter/ezsp/driver/writer.d.ts +0 -12
  208. package/dist/adapter/ezsp/driver/writer.d.ts.map +0 -1
  209. package/dist/adapter/ezsp/driver/writer.js +0 -92
  210. package/dist/adapter/ezsp/driver/writer.js.map +0 -1
  211. package/dist/adapter/index.d.ts +0 -5
  212. package/dist/adapter/index.d.ts.map +0 -1
  213. package/dist/adapter/index.js +0 -46
  214. package/dist/adapter/index.js.map +0 -1
  215. package/dist/adapter/serialPort.d.ts +0 -19
  216. package/dist/adapter/serialPort.d.ts.map +0 -1
  217. package/dist/adapter/serialPort.js +0 -50
  218. package/dist/adapter/serialPort.js.map +0 -1
  219. package/dist/adapter/socketPortUtils.d.ts +0 -11
  220. package/dist/adapter/socketPortUtils.d.ts.map +0 -1
  221. package/dist/adapter/socketPortUtils.js +0 -17
  222. package/dist/adapter/socketPortUtils.js.map +0 -1
  223. package/dist/adapter/tstype.d.ts +0 -68
  224. package/dist/adapter/tstype.d.ts.map +0 -1
  225. package/dist/adapter/tstype.js +0 -3
  226. package/dist/adapter/tstype.js.map +0 -1
  227. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +0 -62
  228. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +0 -1
  229. package/dist/adapter/z-stack/adapter/adapter-backup.js +0 -491
  230. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +0 -1
  231. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +0 -150
  232. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +0 -1
  233. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +0 -278
  234. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +0 -1
  235. package/dist/adapter/z-stack/adapter/endpoints.d.ts +0 -12
  236. package/dist/adapter/z-stack/adapter/endpoints.d.ts.map +0 -1
  237. package/dist/adapter/z-stack/adapter/endpoints.js +0 -84
  238. package/dist/adapter/z-stack/adapter/endpoints.js.map +0 -1
  239. package/dist/adapter/z-stack/adapter/index.d.ts +0 -3
  240. package/dist/adapter/z-stack/adapter/index.d.ts.map +0 -1
  241. package/dist/adapter/z-stack/adapter/index.js +0 -9
  242. package/dist/adapter/z-stack/adapter/index.js.map +0 -1
  243. package/dist/adapter/z-stack/adapter/manager.d.ts +0 -86
  244. package/dist/adapter/z-stack/adapter/manager.d.ts.map +0 -1
  245. package/dist/adapter/z-stack/adapter/manager.js +0 -503
  246. package/dist/adapter/z-stack/adapter/manager.js.map +0 -1
  247. package/dist/adapter/z-stack/adapter/tstype.d.ts +0 -7
  248. package/dist/adapter/z-stack/adapter/tstype.d.ts.map +0 -1
  249. package/dist/adapter/z-stack/adapter/tstype.js +0 -10
  250. package/dist/adapter/z-stack/adapter/tstype.js.map +0 -1
  251. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +0 -72
  252. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +0 -1
  253. package/dist/adapter/z-stack/adapter/zStackAdapter.js +0 -805
  254. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +0 -1
  255. package/dist/adapter/z-stack/constants/af.d.ts +0 -24
  256. package/dist/adapter/z-stack/constants/af.d.ts.map +0 -1
  257. package/dist/adapter/z-stack/constants/af.js +0 -28
  258. package/dist/adapter/z-stack/constants/af.js.map +0 -1
  259. package/dist/adapter/z-stack/constants/common.d.ts +0 -279
  260. package/dist/adapter/z-stack/constants/common.d.ts.map +0 -1
  261. package/dist/adapter/z-stack/constants/common.js +0 -293
  262. package/dist/adapter/z-stack/constants/common.js.map +0 -1
  263. package/dist/adapter/z-stack/constants/dbg.d.ts +0 -23
  264. package/dist/adapter/z-stack/constants/dbg.d.ts.map +0 -1
  265. package/dist/adapter/z-stack/constants/dbg.js +0 -25
  266. package/dist/adapter/z-stack/constants/dbg.js.map +0 -1
  267. package/dist/adapter/z-stack/constants/index.d.ts +0 -11
  268. package/dist/adapter/z-stack/constants/index.d.ts.map +0 -1
  269. package/dist/adapter/z-stack/constants/index.js +0 -58
  270. package/dist/adapter/z-stack/constants/index.js.map +0 -1
  271. package/dist/adapter/z-stack/constants/mac.d.ts +0 -128
  272. package/dist/adapter/z-stack/constants/mac.d.ts.map +0 -1
  273. package/dist/adapter/z-stack/constants/mac.js +0 -130
  274. package/dist/adapter/z-stack/constants/mac.js.map +0 -1
  275. package/dist/adapter/z-stack/constants/sapi.d.ts +0 -25
  276. package/dist/adapter/z-stack/constants/sapi.d.ts.map +0 -1
  277. package/dist/adapter/z-stack/constants/sapi.js +0 -27
  278. package/dist/adapter/z-stack/constants/sapi.js.map +0 -1
  279. package/dist/adapter/z-stack/constants/sys.d.ts +0 -72
  280. package/dist/adapter/z-stack/constants/sys.d.ts.map +0 -1
  281. package/dist/adapter/z-stack/constants/sys.js +0 -74
  282. package/dist/adapter/z-stack/constants/sys.js.map +0 -1
  283. package/dist/adapter/z-stack/constants/util.d.ts +0 -82
  284. package/dist/adapter/z-stack/constants/util.d.ts.map +0 -1
  285. package/dist/adapter/z-stack/constants/util.js +0 -84
  286. package/dist/adapter/z-stack/constants/util.js.map +0 -1
  287. package/dist/adapter/z-stack/constants/utils.d.ts +0 -5
  288. package/dist/adapter/z-stack/constants/utils.d.ts.map +0 -1
  289. package/dist/adapter/z-stack/constants/utils.js +0 -14
  290. package/dist/adapter/z-stack/constants/utils.js.map +0 -1
  291. package/dist/adapter/z-stack/constants/zdo.d.ts +0 -103
  292. package/dist/adapter/z-stack/constants/zdo.d.ts.map +0 -1
  293. package/dist/adapter/z-stack/constants/zdo.js +0 -105
  294. package/dist/adapter/z-stack/constants/zdo.js.map +0 -1
  295. package/dist/adapter/z-stack/models/index.d.ts +0 -2
  296. package/dist/adapter/z-stack/models/index.d.ts.map +0 -1
  297. package/dist/adapter/z-stack/models/index.js +0 -18
  298. package/dist/adapter/z-stack/models/index.js.map +0 -1
  299. package/dist/adapter/z-stack/models/startup-options.d.ts +0 -13
  300. package/dist/adapter/z-stack/models/startup-options.d.ts.map +0 -1
  301. package/dist/adapter/z-stack/models/startup-options.js +0 -3
  302. package/dist/adapter/z-stack/models/startup-options.js.map +0 -1
  303. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +0 -23
  304. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +0 -1
  305. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +0 -44
  306. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +0 -1
  307. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +0 -10
  308. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +0 -1
  309. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +0 -25
  310. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +0 -1
  311. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +0 -10
  312. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +0 -1
  313. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +0 -17
  314. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +0 -1
  315. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +0 -10
  316. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +0 -1
  317. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +0 -26
  318. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +0 -1
  319. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +0 -10
  320. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts.map +0 -1
  321. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +0 -24
  322. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +0 -1
  323. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +0 -10
  324. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +0 -1
  325. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +0 -26
  326. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +0 -1
  327. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +0 -8
  328. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +0 -1
  329. package/dist/adapter/z-stack/structs/entries/channel-list.js +0 -13
  330. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +0 -1
  331. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +0 -8
  332. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +0 -1
  333. package/dist/adapter/z-stack/structs/entries/has-configured.js +0 -23
  334. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +0 -1
  335. package/dist/adapter/z-stack/structs/entries/index.d.ts +0 -17
  336. package/dist/adapter/z-stack/structs/entries/index.d.ts.map +0 -1
  337. package/dist/adapter/z-stack/structs/entries/index.js +0 -33
  338. package/dist/adapter/z-stack/structs/entries/index.js.map +0 -1
  339. package/dist/adapter/z-stack/structs/entries/nib.d.ts +0 -10
  340. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +0 -1
  341. package/dist/adapter/z-stack/structs/entries/nib.js +0 -73
  342. package/dist/adapter/z-stack/structs/entries/nib.js.map +0 -1
  343. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +0 -10
  344. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +0 -1
  345. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +0 -22
  346. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +0 -1
  347. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +0 -8
  348. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +0 -1
  349. package/dist/adapter/z-stack/structs/entries/nwk-key.js +0 -20
  350. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +0 -1
  351. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +0 -8
  352. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +0 -1
  353. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +0 -13
  354. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +0 -1
  355. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +0 -13
  356. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +0 -1
  357. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +0 -23
  358. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +0 -1
  359. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +0 -10
  360. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +0 -1
  361. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +0 -25
  362. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +0 -1
  363. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +0 -20
  364. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts.map +0 -1
  365. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +0 -36
  366. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +0 -1
  367. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +0 -10
  368. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +0 -1
  369. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +0 -26
  370. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +0 -1
  371. package/dist/adapter/z-stack/structs/index.d.ts +0 -5
  372. package/dist/adapter/z-stack/structs/index.d.ts.map +0 -1
  373. package/dist/adapter/z-stack/structs/index.js +0 -21
  374. package/dist/adapter/z-stack/structs/index.js.map +0 -1
  375. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +0 -13
  376. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts.map +0 -1
  377. package/dist/adapter/z-stack/structs/serializable-memory-object.js +0 -3
  378. package/dist/adapter/z-stack/structs/serializable-memory-object.js.map +0 -1
  379. package/dist/adapter/z-stack/structs/struct.d.ts +0 -99
  380. package/dist/adapter/z-stack/structs/struct.d.ts.map +0 -1
  381. package/dist/adapter/z-stack/structs/struct.js +0 -310
  382. package/dist/adapter/z-stack/structs/struct.js.map +0 -1
  383. package/dist/adapter/z-stack/structs/table.d.ts +0 -94
  384. package/dist/adapter/z-stack/structs/table.d.ts.map +0 -1
  385. package/dist/adapter/z-stack/structs/table.js +0 -168
  386. package/dist/adapter/z-stack/structs/table.js.map +0 -1
  387. package/dist/adapter/z-stack/unpi/constants.d.ts +0 -29
  388. package/dist/adapter/z-stack/unpi/constants.d.ts.map +0 -1
  389. package/dist/adapter/z-stack/unpi/constants.js +0 -40
  390. package/dist/adapter/z-stack/unpi/constants.js.map +0 -1
  391. package/dist/adapter/z-stack/unpi/frame.d.ts +0 -16
  392. package/dist/adapter/z-stack/unpi/frame.d.ts.map +0 -1
  393. package/dist/adapter/z-stack/unpi/frame.js +0 -54
  394. package/dist/adapter/z-stack/unpi/frame.js.map +0 -1
  395. package/dist/adapter/z-stack/unpi/index.d.ts +0 -6
  396. package/dist/adapter/z-stack/unpi/index.d.ts.map +0 -1
  397. package/dist/adapter/z-stack/unpi/index.js +0 -48
  398. package/dist/adapter/z-stack/unpi/index.js.map +0 -1
  399. package/dist/adapter/z-stack/unpi/parser.d.ts +0 -9
  400. package/dist/adapter/z-stack/unpi/parser.d.ts.map +0 -1
  401. package/dist/adapter/z-stack/unpi/parser.js +0 -86
  402. package/dist/adapter/z-stack/unpi/parser.js.map +0 -1
  403. package/dist/adapter/z-stack/unpi/writer.d.ts +0 -9
  404. package/dist/adapter/z-stack/unpi/writer.d.ts.map +0 -1
  405. package/dist/adapter/z-stack/unpi/writer.js +0 -52
  406. package/dist/adapter/z-stack/unpi/writer.js.map +0 -1
  407. package/dist/adapter/z-stack/utils/channel-list.d.ts +0 -21
  408. package/dist/adapter/z-stack/utils/channel-list.d.ts.map +0 -1
  409. package/dist/adapter/z-stack/utils/channel-list.js +0 -44
  410. package/dist/adapter/z-stack/utils/channel-list.js.map +0 -1
  411. package/dist/adapter/z-stack/utils/index.d.ts +0 -3
  412. package/dist/adapter/z-stack/utils/index.d.ts.map +0 -1
  413. package/dist/adapter/z-stack/utils/index.js +0 -19
  414. package/dist/adapter/z-stack/utils/index.js.map +0 -1
  415. package/dist/adapter/z-stack/utils/network-options.d.ts +0 -9
  416. package/dist/adapter/z-stack/utils/network-options.d.ts.map +0 -1
  417. package/dist/adapter/z-stack/utils/network-options.js +0 -22
  418. package/dist/adapter/z-stack/utils/network-options.js.map +0 -1
  419. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +0 -10
  420. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +0 -1
  421. package/dist/adapter/z-stack/znp/buffaloZnp.js +0 -148
  422. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +0 -1
  423. package/dist/adapter/z-stack/znp/definition.d.ts +0 -18
  424. package/dist/adapter/z-stack/znp/definition.d.ts.map +0 -1
  425. package/dist/adapter/z-stack/znp/definition.js +0 -2703
  426. package/dist/adapter/z-stack/znp/definition.js.map +0 -1
  427. package/dist/adapter/z-stack/znp/index.d.ts +0 -4
  428. package/dist/adapter/z-stack/znp/index.d.ts.map +0 -1
  429. package/dist/adapter/z-stack/znp/index.js +0 -11
  430. package/dist/adapter/z-stack/znp/index.js.map +0 -1
  431. package/dist/adapter/z-stack/znp/parameterType.d.ts +0 -19
  432. package/dist/adapter/z-stack/znp/parameterType.d.ts.map +0 -1
  433. package/dist/adapter/z-stack/znp/parameterType.js +0 -22
  434. package/dist/adapter/z-stack/znp/parameterType.js.map +0 -1
  435. package/dist/adapter/z-stack/znp/tstype.d.ts +0 -40
  436. package/dist/adapter/z-stack/znp/tstype.d.ts.map +0 -1
  437. package/dist/adapter/z-stack/znp/tstype.js +0 -3
  438. package/dist/adapter/z-stack/znp/tstype.js.map +0 -1
  439. package/dist/adapter/z-stack/znp/utils.d.ts +0 -4
  440. package/dist/adapter/z-stack/znp/utils.d.ts.map +0 -1
  441. package/dist/adapter/z-stack/znp/utils.js +0 -12
  442. package/dist/adapter/z-stack/znp/utils.js.map +0 -1
  443. package/dist/adapter/z-stack/znp/znp.d.ts +0 -42
  444. package/dist/adapter/z-stack/znp/znp.d.ts.map +0 -1
  445. package/dist/adapter/z-stack/znp/znp.js +0 -289
  446. package/dist/adapter/z-stack/znp/znp.js.map +0 -1
  447. package/dist/adapter/z-stack/znp/zpiObject.d.ts +0 -19
  448. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +0 -1
  449. package/dist/adapter/z-stack/znp/zpiObject.js +0 -121
  450. package/dist/adapter/z-stack/znp/zpiObject.js.map +0 -1
  451. package/dist/adapter/zboss/adapter/index.d.ts +0 -3
  452. package/dist/adapter/zboss/adapter/index.d.ts.map +0 -1
  453. package/dist/adapter/zboss/adapter/index.js +0 -6
  454. package/dist/adapter/zboss/adapter/index.js.map +0 -1
  455. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +0 -42
  456. package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +0 -1
  457. package/dist/adapter/zboss/adapter/zbossAdapter.js +0 -350
  458. package/dist/adapter/zboss/adapter/zbossAdapter.js.map +0 -1
  459. package/dist/adapter/zboss/commands.d.ts +0 -22
  460. package/dist/adapter/zboss/commands.d.ts.map +0 -1
  461. package/dist/adapter/zboss/commands.js +0 -1107
  462. package/dist/adapter/zboss/commands.js.map +0 -1
  463. package/dist/adapter/zboss/consts.d.ts +0 -9
  464. package/dist/adapter/zboss/consts.d.ts.map +0 -1
  465. package/dist/adapter/zboss/consts.js +0 -12
  466. package/dist/adapter/zboss/consts.js.map +0 -1
  467. package/dist/adapter/zboss/driver.d.ts +0 -55
  468. package/dist/adapter/zboss/driver.d.ts.map +0 -1
  469. package/dist/adapter/zboss/driver.js +0 -356
  470. package/dist/adapter/zboss/driver.js.map +0 -1
  471. package/dist/adapter/zboss/enums.d.ts +0 -301
  472. package/dist/adapter/zboss/enums.d.ts.map +0 -1
  473. package/dist/adapter/zboss/enums.js +0 -359
  474. package/dist/adapter/zboss/enums.js.map +0 -1
  475. package/dist/adapter/zboss/frame.d.ts +0 -34
  476. package/dist/adapter/zboss/frame.d.ts.map +0 -1
  477. package/dist/adapter/zboss/frame.js +0 -200
  478. package/dist/adapter/zboss/frame.js.map +0 -1
  479. package/dist/adapter/zboss/reader.d.ts +0 -8
  480. package/dist/adapter/zboss/reader.d.ts.map +0 -1
  481. package/dist/adapter/zboss/reader.js +0 -58
  482. package/dist/adapter/zboss/reader.js.map +0 -1
  483. package/dist/adapter/zboss/types.d.ts +0 -1
  484. package/dist/adapter/zboss/types.d.ts.map +0 -1
  485. package/dist/adapter/zboss/types.js +0 -2
  486. package/dist/adapter/zboss/types.js.map +0 -1
  487. package/dist/adapter/zboss/uart.d.ts +0 -38
  488. package/dist/adapter/zboss/uart.d.ts.map +0 -1
  489. package/dist/adapter/zboss/uart.js +0 -372
  490. package/dist/adapter/zboss/uart.js.map +0 -1
  491. package/dist/adapter/zboss/utils.d.ts +0 -9
  492. package/dist/adapter/zboss/utils.d.ts.map +0 -1
  493. package/dist/adapter/zboss/utils.js +0 -56
  494. package/dist/adapter/zboss/utils.js.map +0 -1
  495. package/dist/adapter/zboss/writer.d.ts +0 -14
  496. package/dist/adapter/zboss/writer.d.ts.map +0 -1
  497. package/dist/adapter/zboss/writer.js +0 -43
  498. package/dist/adapter/zboss/writer.js.map +0 -1
  499. package/dist/adapter/zigate/adapter/index.d.ts +0 -3
  500. package/dist/adapter/zigate/adapter/index.d.ts.map +0 -1
  501. package/dist/adapter/zigate/adapter/index.js +0 -10
  502. package/dist/adapter/zigate/adapter/index.js.map +0 -1
  503. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.d.ts +0 -5
  504. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.d.ts.map +0 -1
  505. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js +0 -28
  506. package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js.map +0 -1
  507. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +0 -63
  508. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +0 -1
  509. package/dist/adapter/zigate/adapter/zigateAdapter.js +0 -462
  510. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +0 -1
  511. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +0 -22
  512. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +0 -1
  513. package/dist/adapter/zigate/driver/buffaloZiGate.js +0 -182
  514. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +0 -1
  515. package/dist/adapter/zigate/driver/commandType.d.ts +0 -42
  516. package/dist/adapter/zigate/driver/commandType.d.ts.map +0 -1
  517. package/dist/adapter/zigate/driver/commandType.js +0 -383
  518. package/dist/adapter/zigate/driver/commandType.js.map +0 -1
  519. package/dist/adapter/zigate/driver/constants.d.ts +0 -289
  520. package/dist/adapter/zigate/driver/constants.d.ts.map +0 -1
  521. package/dist/adapter/zigate/driver/constants.js +0 -344
  522. package/dist/adapter/zigate/driver/constants.js.map +0 -1
  523. package/dist/adapter/zigate/driver/frame.d.ts +0 -26
  524. package/dist/adapter/zigate/driver/frame.d.ts.map +0 -1
  525. package/dist/adapter/zigate/driver/frame.js +0 -160
  526. package/dist/adapter/zigate/driver/frame.js.map +0 -1
  527. package/dist/adapter/zigate/driver/messageType.d.ts +0 -13
  528. package/dist/adapter/zigate/driver/messageType.d.ts.map +0 -1
  529. package/dist/adapter/zigate/driver/messageType.js +0 -282
  530. package/dist/adapter/zigate/driver/messageType.js.map +0 -1
  531. package/dist/adapter/zigate/driver/parameterType.d.ts +0 -25
  532. package/dist/adapter/zigate/driver/parameterType.d.ts.map +0 -1
  533. package/dist/adapter/zigate/driver/parameterType.js +0 -31
  534. package/dist/adapter/zigate/driver/parameterType.js.map +0 -1
  535. package/dist/adapter/zigate/driver/ziGateObject.d.ts +0 -23
  536. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +0 -1
  537. package/dist/adapter/zigate/driver/ziGateObject.js +0 -116
  538. package/dist/adapter/zigate/driver/ziGateObject.js.map +0 -1
  539. package/dist/adapter/zigate/driver/zigate.d.ts +0 -47
  540. package/dist/adapter/zigate/driver/zigate.d.ts.map +0 -1
  541. package/dist/adapter/zigate/driver/zigate.js +0 -361
  542. package/dist/adapter/zigate/driver/zigate.js.map +0 -1
  543. package/dist/buffalo/buffalo.d.ts +0 -62
  544. package/dist/buffalo/buffalo.d.ts.map +0 -1
  545. package/dist/buffalo/buffalo.js +0 -275
  546. package/dist/buffalo/buffalo.js.map +0 -1
  547. package/dist/buffalo/index.d.ts +0 -3
  548. package/dist/buffalo/index.d.ts.map +0 -1
  549. package/dist/buffalo/index.js +0 -9
  550. package/dist/buffalo/index.js.map +0 -1
  551. package/dist/controller/controller.d.ts +0 -142
  552. package/dist/controller/controller.d.ts.map +0 -1
  553. package/dist/controller/controller.js +0 -788
  554. package/dist/controller/controller.js.map +0 -1
  555. package/dist/controller/database.d.ts +0 -17
  556. package/dist/controller/database.d.ts.map +0 -1
  557. package/dist/controller/database.js +0 -103
  558. package/dist/controller/database.js.map +0 -1
  559. package/dist/controller/events.d.ts +0 -44
  560. package/dist/controller/events.d.ts.map +0 -1
  561. package/dist/controller/events.js +0 -3
  562. package/dist/controller/events.js.map +0 -1
  563. package/dist/controller/greenPower.d.ts +0 -17
  564. package/dist/controller/greenPower.d.ts.map +0 -1
  565. package/dist/controller/greenPower.js +0 -235
  566. package/dist/controller/greenPower.js.map +0 -1
  567. package/dist/controller/helpers/index.d.ts +0 -3
  568. package/dist/controller/helpers/index.d.ts.map +0 -1
  569. package/dist/controller/helpers/index.js +0 -39
  570. package/dist/controller/helpers/index.js.map +0 -1
  571. package/dist/controller/helpers/request.d.ts +0 -22
  572. package/dist/controller/helpers/request.d.ts.map +0 -1
  573. package/dist/controller/helpers/request.js +0 -75
  574. package/dist/controller/helpers/request.js.map +0 -1
  575. package/dist/controller/helpers/requestQueue.d.ts +0 -13
  576. package/dist/controller/helpers/requestQueue.d.ts.map +0 -1
  577. package/dist/controller/helpers/requestQueue.js +0 -105
  578. package/dist/controller/helpers/requestQueue.js.map +0 -1
  579. package/dist/controller/helpers/zclFrameConverter.d.ts +0 -9
  580. package/dist/controller/helpers/zclFrameConverter.d.ts.map +0 -1
  581. package/dist/controller/helpers/zclFrameConverter.js +0 -79
  582. package/dist/controller/helpers/zclFrameConverter.js.map +0 -1
  583. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +0 -6
  584. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts.map +0 -1
  585. package/dist/controller/helpers/zclTransactionSequenceNumber.js +0 -14
  586. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +0 -1
  587. package/dist/controller/index.d.ts +0 -6
  588. package/dist/controller/index.d.ts.map +0 -1
  589. package/dist/controller/index.js +0 -9
  590. package/dist/controller/index.js.map +0 -1
  591. package/dist/controller/model/device.d.ts +0 -150
  592. package/dist/controller/model/device.d.ts.map +0 -1
  593. package/dist/controller/model/device.js +0 -1046
  594. package/dist/controller/model/device.js.map +0 -1
  595. package/dist/controller/model/endpoint.d.ts +0 -137
  596. package/dist/controller/model/endpoint.d.ts.map +0 -1
  597. package/dist/controller/model/endpoint.js +0 -665
  598. package/dist/controller/model/endpoint.js.map +0 -1
  599. package/dist/controller/model/entity.d.ts +0 -13
  600. package/dist/controller/model/entity.d.ts.map +0 -1
  601. package/dist/controller/model/entity.js +0 -18
  602. package/dist/controller/model/entity.js.map +0 -1
  603. package/dist/controller/model/group.d.ts +0 -47
  604. package/dist/controller/model/group.d.ts.map +0 -1
  605. package/dist/controller/model/group.js +0 -249
  606. package/dist/controller/model/group.js.map +0 -1
  607. package/dist/controller/model/index.d.ts +0 -6
  608. package/dist/controller/model/index.d.ts.map +0 -1
  609. package/dist/controller/model/index.js +0 -15
  610. package/dist/controller/model/index.js.map +0 -1
  611. package/dist/controller/touchlink.d.ts +0 -20
  612. package/dist/controller/touchlink.d.ts.map +0 -1
  613. package/dist/controller/touchlink.js +0 -168
  614. package/dist/controller/touchlink.js.map +0 -1
  615. package/dist/controller/tstype.d.ts +0 -18
  616. package/dist/controller/tstype.d.ts.map +0 -1
  617. package/dist/controller/tstype.js +0 -3
  618. package/dist/controller/tstype.js.map +0 -1
  619. package/dist/index.d.ts +0 -6
  620. package/dist/index.d.ts.map +0 -1
  621. package/dist/index.js +0 -47
  622. package/dist/index.js.map +0 -1
  623. package/dist/models/backup-storage-legacy.d.ts +0 -27
  624. package/dist/models/backup-storage-legacy.d.ts.map +0 -1
  625. package/dist/models/backup-storage-legacy.js +0 -3
  626. package/dist/models/backup-storage-legacy.js.map +0 -1
  627. package/dist/models/backup-storage-unified.d.ts +0 -50
  628. package/dist/models/backup-storage-unified.d.ts.map +0 -1
  629. package/dist/models/backup-storage-unified.js +0 -3
  630. package/dist/models/backup-storage-unified.js.map +0 -1
  631. package/dist/models/backup.d.ts +0 -37
  632. package/dist/models/backup.d.ts.map +0 -1
  633. package/dist/models/backup.js +0 -3
  634. package/dist/models/backup.js.map +0 -1
  635. package/dist/models/index.d.ts +0 -5
  636. package/dist/models/index.d.ts.map +0 -1
  637. package/dist/models/index.js +0 -21
  638. package/dist/models/index.js.map +0 -1
  639. package/dist/models/network-options.d.ts +0 -12
  640. package/dist/models/network-options.d.ts.map +0 -1
  641. package/dist/models/network-options.js +0 -3
  642. package/dist/models/network-options.js.map +0 -1
  643. package/dist/utils/backup.d.ts +0 -21
  644. package/dist/utils/backup.d.ts.map +0 -1
  645. package/dist/utils/backup.js +0 -180
  646. package/dist/utils/backup.js.map +0 -1
  647. package/dist/utils/index.d.ts +0 -8
  648. package/dist/utils/index.d.ts.map +0 -1
  649. package/dist/utils/index.js +0 -52
  650. package/dist/utils/index.js.map +0 -1
  651. package/dist/utils/logger.d.ts +0 -9
  652. package/dist/utils/logger.d.ts.map +0 -1
  653. package/dist/utils/logger.js +0 -14
  654. package/dist/utils/logger.js.map +0 -1
  655. package/dist/utils/patchBigIntSerialization.d.ts +0 -2
  656. package/dist/utils/patchBigIntSerialization.d.ts.map +0 -1
  657. package/dist/utils/patchBigIntSerialization.js +0 -9
  658. package/dist/utils/patchBigIntSerialization.js.map +0 -1
  659. package/dist/utils/queue.d.ts +0 -12
  660. package/dist/utils/queue.d.ts.map +0 -1
  661. package/dist/utils/queue.js +0 -62
  662. package/dist/utils/queue.js.map +0 -1
  663. package/dist/utils/realpathSync.d.ts +0 -3
  664. package/dist/utils/realpathSync.d.ts.map +0 -1
  665. package/dist/utils/realpathSync.js +0 -13
  666. package/dist/utils/realpathSync.js.map +0 -1
  667. package/dist/utils/utils.d.ts +0 -5
  668. package/dist/utils/utils.d.ts.map +0 -1
  669. package/dist/utils/utils.js +0 -24
  670. package/dist/utils/utils.js.map +0 -1
  671. package/dist/utils/wait.d.ts +0 -3
  672. package/dist/utils/wait.d.ts.map +0 -1
  673. package/dist/utils/wait.js +0 -9
  674. package/dist/utils/wait.js.map +0 -1
  675. package/dist/utils/waitress.d.ts +0 -22
  676. package/dist/utils/waitress.d.ts.map +0 -1
  677. package/dist/utils/waitress.js +0 -69
  678. package/dist/utils/waitress.js.map +0 -1
  679. package/dist/zspec/consts.d.ts +0 -71
  680. package/dist/zspec/consts.d.ts.map +0 -1
  681. package/dist/zspec/consts.js +0 -75
  682. package/dist/zspec/consts.js.map +0 -1
  683. package/dist/zspec/enums.d.ts +0 -19
  684. package/dist/zspec/enums.d.ts.map +0 -1
  685. package/dist/zspec/enums.js +0 -27
  686. package/dist/zspec/enums.js.map +0 -1
  687. package/dist/zspec/index.d.ts +0 -4
  688. package/dist/zspec/index.d.ts.map +0 -1
  689. package/dist/zspec/index.js +0 -43
  690. package/dist/zspec/index.js.map +0 -1
  691. package/dist/zspec/tstypes.d.ts +0 -19
  692. package/dist/zspec/tstypes.d.ts.map +0 -1
  693. package/dist/zspec/tstypes.js +0 -3
  694. package/dist/zspec/tstypes.js.map +0 -1
  695. package/dist/zspec/utils.d.ts +0 -90
  696. package/dist/zspec/utils.d.ts.map +0 -1
  697. package/dist/zspec/utils.js +0 -269
  698. package/dist/zspec/utils.js.map +0 -1
  699. package/dist/zspec/zcl/buffaloZcl.d.ts +0 -41
  700. package/dist/zspec/zcl/buffaloZcl.d.ts.map +0 -1
  701. package/dist/zspec/zcl/buffaloZcl.js +0 -859
  702. package/dist/zspec/zcl/buffaloZcl.js.map +0 -1
  703. package/dist/zspec/zcl/definition/cluster.d.ts +0 -3
  704. package/dist/zspec/zcl/definition/cluster.d.ts.map +0 -1
  705. package/dist/zspec/zcl/definition/cluster.js +0 -5145
  706. package/dist/zspec/zcl/definition/cluster.js.map +0 -1
  707. package/dist/zspec/zcl/definition/consts.d.ts +0 -9
  708. package/dist/zspec/zcl/definition/consts.d.ts.map +0 -1
  709. package/dist/zspec/zcl/definition/consts.js +0 -27
  710. package/dist/zspec/zcl/definition/consts.js.map +0 -1
  711. package/dist/zspec/zcl/definition/enums.d.ts +0 -177
  712. package/dist/zspec/zcl/definition/enums.d.ts.map +0 -1
  713. package/dist/zspec/zcl/definition/enums.js +0 -187
  714. package/dist/zspec/zcl/definition/enums.js.map +0 -1
  715. package/dist/zspec/zcl/definition/foundation.d.ts +0 -10
  716. package/dist/zspec/zcl/definition/foundation.d.ts.map +0 -1
  717. package/dist/zspec/zcl/definition/foundation.js +0 -272
  718. package/dist/zspec/zcl/definition/foundation.js.map +0 -1
  719. package/dist/zspec/zcl/definition/manufacturerCode.d.ts +0 -727
  720. package/dist/zspec/zcl/definition/manufacturerCode.d.ts.map +0 -1
  721. package/dist/zspec/zcl/definition/manufacturerCode.js +0 -732
  722. package/dist/zspec/zcl/definition/manufacturerCode.js.map +0 -1
  723. package/dist/zspec/zcl/definition/status.d.ts +0 -69
  724. package/dist/zspec/zcl/definition/status.d.ts.map +0 -1
  725. package/dist/zspec/zcl/definition/status.js +0 -74
  726. package/dist/zspec/zcl/definition/status.js.map +0 -1
  727. package/dist/zspec/zcl/definition/tstype.d.ts +0 -114
  728. package/dist/zspec/zcl/definition/tstype.d.ts.map +0 -1
  729. package/dist/zspec/zcl/definition/tstype.js +0 -3
  730. package/dist/zspec/zcl/definition/tstype.js.map +0 -1
  731. package/dist/zspec/zcl/index.d.ts +0 -11
  732. package/dist/zspec/zcl/index.d.ts.map +0 -1
  733. package/dist/zspec/zcl/index.js +0 -57
  734. package/dist/zspec/zcl/index.js.map +0 -1
  735. package/dist/zspec/zcl/utils.d.ts +0 -10
  736. package/dist/zspec/zcl/utils.d.ts.map +0 -1
  737. package/dist/zspec/zcl/utils.js +0 -293
  738. package/dist/zspec/zcl/utils.js.map +0 -1
  739. package/dist/zspec/zcl/zclFrame.d.ts +0 -36
  740. package/dist/zspec/zcl/zclFrame.d.ts.map +0 -1
  741. package/dist/zspec/zcl/zclFrame.js +0 -306
  742. package/dist/zspec/zcl/zclFrame.js.map +0 -1
  743. package/dist/zspec/zcl/zclHeader.d.ts +0 -16
  744. package/dist/zspec/zcl/zclHeader.d.ts.map +0 -1
  745. package/dist/zspec/zcl/zclHeader.js +0 -88
  746. package/dist/zspec/zcl/zclHeader.js.map +0 -1
  747. package/dist/zspec/zcl/zclStatusError.d.ts +0 -6
  748. package/dist/zspec/zcl/zclStatusError.d.ts.map +0 -1
  749. package/dist/zspec/zcl/zclStatusError.js +0 -13
  750. package/dist/zspec/zcl/zclStatusError.js.map +0 -1
  751. package/dist/zspec/zdo/buffaloZdo.d.ts +0 -413
  752. package/dist/zspec/zdo/buffaloZdo.d.ts.map +0 -1
  753. package/dist/zspec/zdo/buffaloZdo.js +0 -1935
  754. package/dist/zspec/zdo/buffaloZdo.js.map +0 -1
  755. package/dist/zspec/zdo/definition/clusters.d.ts +0 -624
  756. package/dist/zspec/zdo/definition/clusters.d.ts.map +0 -1
  757. package/dist/zspec/zdo/definition/clusters.js +0 -686
  758. package/dist/zspec/zdo/definition/clusters.js.map +0 -1
  759. package/dist/zspec/zdo/definition/consts.d.ts +0 -13
  760. package/dist/zspec/zdo/definition/consts.d.ts.map +0 -1
  761. package/dist/zspec/zdo/definition/consts.js +0 -16
  762. package/dist/zspec/zdo/definition/consts.js.map +0 -1
  763. package/dist/zspec/zdo/definition/enums.d.ts +0 -85
  764. package/dist/zspec/zdo/definition/enums.d.ts.map +0 -1
  765. package/dist/zspec/zdo/definition/enums.js +0 -103
  766. package/dist/zspec/zdo/definition/enums.js.map +0 -1
  767. package/dist/zspec/zdo/definition/status.d.ts +0 -99
  768. package/dist/zspec/zdo/definition/status.d.ts.map +0 -1
  769. package/dist/zspec/zdo/definition/status.js +0 -108
  770. package/dist/zspec/zdo/definition/status.js.map +0 -1
  771. package/dist/zspec/zdo/definition/tstypes.d.ts +0 -955
  772. package/dist/zspec/zdo/definition/tstypes.d.ts.map +0 -1
  773. package/dist/zspec/zdo/definition/tstypes.js +0 -4
  774. package/dist/zspec/zdo/definition/tstypes.js.map +0 -1
  775. package/dist/zspec/zdo/index.d.ts +0 -8
  776. package/dist/zspec/zdo/index.d.ts.map +0 -1
  777. package/dist/zspec/zdo/index.js +0 -51
  778. package/dist/zspec/zdo/index.js.map +0 -1
  779. package/dist/zspec/zdo/utils.d.ts +0 -24
  780. package/dist/zspec/zdo/utils.d.ts.map +0 -1
  781. package/dist/zspec/zdo/utils.js +0 -74
  782. package/dist/zspec/zdo/utils.js.map +0 -1
  783. package/dist/zspec/zdo/zdoStatusError.d.ts +0 -6
  784. package/dist/zspec/zdo/zdoStatusError.d.ts.map +0 -1
  785. package/dist/zspec/zdo/zdoStatusError.js +0 -13
  786. package/dist/zspec/zdo/zdoStatusError.js.map +0 -1
@@ -1,805 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const assert_1 = __importDefault(require("assert"));
40
- const debounce_1 = __importDefault(require("debounce"));
41
- const utils_1 = require("../../../utils");
42
- const logger_1 = require("../../../utils/logger");
43
- const ZSpec = __importStar(require("../../../zspec"));
44
- const Zcl = __importStar(require("../../../zspec/zcl"));
45
- const Zdo = __importStar(require("../../../zspec/zdo"));
46
- const adapter_1 = __importDefault(require("../../adapter"));
47
- const Constants = __importStar(require("../constants"));
48
- const unpi_1 = require("../unpi");
49
- const znp_1 = require("../znp");
50
- const definition_1 = __importDefault(require("../znp/definition"));
51
- const utils_2 = require("../znp/utils");
52
- const manager_1 = require("./manager");
53
- const tstype_1 = require("./tstype");
54
- const NS = 'zh:zstack';
55
- const Subsystem = unpi_1.Constants.Subsystem;
56
- const Type = unpi_1.Constants.Type;
57
- const { ZnpCommandStatus, AddressMode } = Constants.COMMON;
58
- const DataConfirmTimeout = 9999; // Not an actual code
59
- const DataConfirmErrorCodeLookup = {
60
- [DataConfirmTimeout]: 'Timeout',
61
- 26: 'MAC no resources',
62
- 183: 'APS no ack',
63
- 205: 'No network route',
64
- 225: 'MAC channel access failure',
65
- 233: 'MAC no ack',
66
- 240: 'MAC transaction expired',
67
- };
68
- class DataConfirmError extends Error {
69
- code;
70
- constructor(code) {
71
- const message = `Data request failed with error: '${DataConfirmErrorCodeLookup[code]}' (${code})`;
72
- super(message);
73
- this.code = code;
74
- }
75
- }
76
- class ZStackAdapter extends adapter_1.default {
77
- deviceAnnounceRouteDiscoveryDebouncers;
78
- znp;
79
- // @ts-expect-error initialized in `start`
80
- adapterManager;
81
- transactionID;
82
- // @ts-expect-error initialized in `start`
83
- version;
84
- closing;
85
- // @ts-expect-error initialized in `start`
86
- queue;
87
- supportsLED;
88
- interpanLock;
89
- interpanEndpointRegistered;
90
- waitress;
91
- constructor(networkOptions, serialPortOptions, backupPath, adapterOptions) {
92
- super(networkOptions, serialPortOptions, backupPath, adapterOptions);
93
- this.hasZdoMessageOverhead = false;
94
- this.manufacturerID = Zcl.ManufacturerCode.TEXAS_INSTRUMENTS;
95
- this.znp = new znp_1.Znp(this.serialPortOptions.path, this.serialPortOptions.baudRate, this.serialPortOptions.rtscts);
96
- this.transactionID = 0;
97
- this.deviceAnnounceRouteDiscoveryDebouncers = new Map();
98
- this.interpanLock = false;
99
- this.interpanEndpointRegistered = false;
100
- this.closing = false;
101
- this.waitress = new utils_1.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
102
- this.znp.on('received', this.onZnpRecieved.bind(this));
103
- this.znp.on('close', this.onZnpClose.bind(this));
104
- }
105
- /**
106
- * Adapter methods
107
- */
108
- async start() {
109
- await this.znp.open();
110
- const attempts = 3;
111
- for (let i = 0; i < attempts; i++) {
112
- try {
113
- await this.znp.request(Subsystem.SYS, 'ping', { capabilities: 1 });
114
- break;
115
- }
116
- catch (e) {
117
- if (attempts - 1 === i) {
118
- throw new Error(`Failed to connect to the adapter (${e})`);
119
- }
120
- }
121
- }
122
- // Old firmware did not support version, assume it's Z-Stack 1.2 for now.
123
- try {
124
- this.version = (await this.znp.requestWithReply(Subsystem.SYS, 'version', {})).payload;
125
- }
126
- catch {
127
- logger_1.logger.debug(`Failed to get zStack version, assuming 1.2`, NS);
128
- this.version = { transportrev: 2, product: 0, majorrel: 2, minorrel: 0, maintrel: 0, revision: '' };
129
- }
130
- const concurrent = this.adapterOptions && this.adapterOptions.concurrent
131
- ? this.adapterOptions.concurrent
132
- : this.version.product === tstype_1.ZnpVersion.zStack3x0
133
- ? 16
134
- : 2;
135
- logger_1.logger.debug(`Adapter concurrent: ${concurrent}`, NS);
136
- this.queue = new utils_1.Queue(concurrent);
137
- logger_1.logger.debug(`Detected znp version '${tstype_1.ZnpVersion[this.version.product]}' (${JSON.stringify(this.version)})`, NS);
138
- this.adapterManager = new manager_1.ZnpAdapterManager(this, this.znp, {
139
- backupPath: this.backupPath,
140
- version: this.version.product,
141
- greenPowerGroup: ZSpec.GP_GROUP_ID,
142
- networkOptions: this.networkOptions,
143
- adapterOptions: this.adapterOptions,
144
- });
145
- const startResult = this.adapterManager.start();
146
- if (this.adapterOptions.disableLED) {
147
- // Wait a bit for adapter to startup, otherwise led doesn't disable (tested with CC2531)
148
- await (0, utils_1.Wait)(200);
149
- await this.setLED('disable');
150
- }
151
- if (this.adapterOptions.transmitPower != null) {
152
- await this.znp.request(Subsystem.SYS, 'stackTune', { operation: 0, value: this.adapterOptions.transmitPower });
153
- }
154
- return await startResult;
155
- }
156
- async stop() {
157
- this.closing = true;
158
- await this.znp.close();
159
- }
160
- async getCoordinatorIEEE() {
161
- return await this.queue.execute(async () => {
162
- this.checkInterpanLock();
163
- const deviceInfo = await this.znp.requestWithReply(Subsystem.UTIL, 'getDeviceInfo', {});
164
- return deviceInfo.payload.ieeeaddr;
165
- });
166
- }
167
- async getCoordinatorVersion() {
168
- return { type: tstype_1.ZnpVersion[this.version.product], meta: this.version };
169
- }
170
- async permitJoin(seconds, networkAddress) {
171
- const clusterId = Zdo.ClusterId.PERMIT_JOINING_REQUEST;
172
- // `authentication`: TC significance always 1 (zb specs)
173
- const zdoPayload = Zdo.Buffalo.buildRequest(this.hasZdoMessageOverhead, clusterId, seconds, 1, []);
174
- if (networkAddress === undefined) {
175
- await this.sendZdo(ZSpec.BLANK_EUI64, ZSpec.BroadcastAddress.DEFAULT, clusterId, zdoPayload, true);
176
- }
177
- else {
178
- // NOTE: `sendZdo` takes care of adjusting the payload as appropriate based on `networkAddress === 0` or not
179
- const result = await this.sendZdo(ZSpec.BLANK_EUI64, networkAddress, clusterId, zdoPayload, false);
180
- /* istanbul ignore next */
181
- if (!Zdo.Buffalo.checkStatus(result)) {
182
- // TODO: will disappear once moved upstream
183
- throw new Zdo.StatusError(result[0]);
184
- }
185
- }
186
- await this.queue.execute(async () => {
187
- this.checkInterpanLock();
188
- await this.setLED(seconds == 0 ? 'off' : 'on');
189
- });
190
- }
191
- async reset(type) {
192
- if (type === 'soft') {
193
- await this.znp.request(Subsystem.SYS, 'resetReq', { type: Constants.SYS.resetType.SOFT });
194
- }
195
- else {
196
- await this.znp.request(Subsystem.SYS, 'resetReq', { type: Constants.SYS.resetType.HARD });
197
- }
198
- }
199
- async setLED(action) {
200
- if (this.supportsLED == undefined) {
201
- // Only zStack3x0 with 20210430 and greater support LED
202
- const zStack3x0 = this.version.product === tstype_1.ZnpVersion.zStack3x0;
203
- this.supportsLED = !zStack3x0 || (zStack3x0 && parseInt(this.version.revision) >= 20210430);
204
- }
205
- if (!this.supportsLED || (this.adapterOptions.disableLED && action !== 'disable')) {
206
- return;
207
- }
208
- // Firmwares build on and after 20211029 should handle LED themselves
209
- const firmwareControlsLed = parseInt(this.version.revision) >= 20211029;
210
- const lookup = {
211
- disable: firmwareControlsLed ? { ledid: 0xff, mode: 5 } : { ledid: 3, mode: 0 },
212
- on: firmwareControlsLed ? null : { ledid: 3, mode: 1 },
213
- off: firmwareControlsLed ? null : { ledid: 3, mode: 0 },
214
- };
215
- const payload = lookup[action];
216
- if (payload) {
217
- this.znp.request(Subsystem.UTIL, 'ledControl', payload, undefined, 500).catch(() => {
218
- // We cannot 100% correctly determine if an adapter supports LED. E.g. the zStack 1.2 20190608
219
- // fw supports led on the CC2531 but not on the CC2530. Therefore if a led request fails never thrown
220
- // an error but instead mark the led as unsupported.
221
- // https://github.com/Koenkk/zigbee-herdsman/issues/377
222
- // https://github.com/Koenkk/zigbee2mqtt/issues/7693
223
- this.supportsLED = false;
224
- });
225
- }
226
- }
227
- async requestNetworkAddress(ieeeAddr) {
228
- /**
229
- * NOTE: There are cases where multiple nwkAddrRsp are recevied with different network addresses,
230
- * this is currently not handled, the first nwkAddrRsp is taken.
231
- */
232
- logger_1.logger.debug(`Request network address of '${ieeeAddr}'`, NS);
233
- const clusterId = Zdo.ClusterId.NETWORK_ADDRESS_REQUEST;
234
- const zdoPayload = Zdo.Buffalo.buildRequest(this.hasZdoMessageOverhead, clusterId, ieeeAddr, false, 0);
235
- const result = await this.sendZdo(ieeeAddr, ZSpec.NULL_NODE_ID, clusterId, zdoPayload, false);
236
- /* istanbul ignore else */
237
- if (Zdo.Buffalo.checkStatus(result)) {
238
- return result[1].nwkAddress;
239
- }
240
- else {
241
- // TODO: will disappear once moved upstream
242
- throw new Zdo.StatusError(result[0]);
243
- }
244
- }
245
- supportsAssocRemove() {
246
- return this.version.product === tstype_1.ZnpVersion.zStack3x0 && parseInt(this.version.revision) >= 20200805;
247
- }
248
- supportsAssocAdd() {
249
- return this.version.product === tstype_1.ZnpVersion.zStack3x0 && parseInt(this.version.revision) >= 20201026;
250
- }
251
- async discoverRoute(networkAddress, wait = true) {
252
- logger_1.logger.debug(`Discovering route to ${networkAddress}`, NS);
253
- const payload = { dstAddr: networkAddress, options: 0, radius: Constants.AF.DEFAULT_RADIUS };
254
- await this.znp.request(Subsystem.ZDO, 'extRouteDisc', payload);
255
- if (wait) {
256
- await (0, utils_1.Wait)(3000);
257
- }
258
- }
259
- async sendZdo(ieeeAddress, networkAddress, clusterId, payload, disableResponse) {
260
- return await this.queue.execute(async () => {
261
- this.checkInterpanLock();
262
- // stack-specific requirements
263
- switch (clusterId) {
264
- case Zdo.ClusterId.PERMIT_JOINING_REQUEST: {
265
- const finalPayload = Buffer.alloc(payload.length + 3);
266
- finalPayload.writeUInt8(ZSpec.BroadcastAddress[networkAddress] ? AddressMode.ADDR_BROADCAST : AddressMode.ADDR_16BIT, 0);
267
- // zstack uses AddressMode.ADDR_16BIT + ZSpec.BroadcastAddress.DEFAULT to signal "coordinator-only"
268
- finalPayload.writeUInt16LE(networkAddress === 0 ? ZSpec.BroadcastAddress.DEFAULT : networkAddress, 1);
269
- finalPayload.set(payload, 3);
270
- payload = finalPayload;
271
- break;
272
- }
273
- case Zdo.ClusterId.NWK_UPDATE_REQUEST: {
274
- // extra zeroes for empty nwkManagerAddr if necessary
275
- const zeroes = 9 - payload.length - 1; /* zstack doesn't have nwkUpdateId */
276
- const finalPayload = Buffer.alloc(payload.length + 3 + zeroes);
277
- finalPayload.writeUInt16LE(networkAddress, 0);
278
- finalPayload.writeUInt8(ZSpec.BroadcastAddress[networkAddress] ? AddressMode.ADDR_BROADCAST : AddressMode.ADDR_16BIT, 2);
279
- finalPayload.set(payload, 3);
280
- payload = finalPayload;
281
- break;
282
- }
283
- case Zdo.ClusterId.BIND_REQUEST:
284
- case Zdo.ClusterId.UNBIND_REQUEST: {
285
- // extra zeroes for uint16 (in place of ieee when MULTICAST) and endpoint (not used when MULTICAST)
286
- const zeroes = 21 - payload.length;
287
- const finalPayload = Buffer.alloc(payload.length + 2 + zeroes);
288
- finalPayload.writeUInt16LE(networkAddress, 0);
289
- finalPayload.set(payload, 2);
290
- payload = finalPayload;
291
- break;
292
- }
293
- case Zdo.ClusterId.NETWORK_ADDRESS_REQUEST:
294
- case Zdo.ClusterId.IEEE_ADDRESS_REQUEST: {
295
- // no modification necessary
296
- break;
297
- }
298
- default: {
299
- const finalPayload = Buffer.alloc(payload.length + 2);
300
- finalPayload.writeUInt16LE(networkAddress, 0);
301
- finalPayload.set(payload, 2);
302
- payload = finalPayload;
303
- break;
304
- }
305
- }
306
- let waiter;
307
- if (!disableResponse) {
308
- const responseClusterId = Zdo.Utils.getResponseClusterId(clusterId);
309
- /* istanbul ignore else */
310
- if (responseClusterId) {
311
- const cmd = definition_1.default[Subsystem.ZDO].find((c) => (0, utils_2.isMtCmdAreqZdo)(c) && c.zdoClusterId === responseClusterId);
312
- (0, assert_1.default)(cmd, `Response for ZDO cluster ID '${responseClusterId}' not supported.`);
313
- waiter = this.znp.waitFor(unpi_1.Constants.Type.AREQ, Subsystem.ZDO, cmd.name, responseClusterId === Zdo.ClusterId.NETWORK_ADDRESS_RESPONSE ? ieeeAddress : networkAddress, undefined, undefined);
314
- }
315
- }
316
- try {
317
- await this.znp.requestZdo(clusterId, payload, waiter?.ID);
318
- }
319
- catch (error) {
320
- if (clusterId === Zdo.ClusterId.NODE_DESCRIPTOR_REQUEST) {
321
- // Discover route when node descriptor request fails
322
- // https://github.com/Koenkk/zigbee2mqtt/issues/3276
323
- logger_1.logger.debug(`Discover route to '${networkAddress}' because node descriptor request failed`, NS);
324
- await this.discoverRoute(networkAddress);
325
- await this.znp.requestZdo(clusterId, payload, waiter?.ID);
326
- }
327
- else {
328
- throw error;
329
- }
330
- }
331
- if (waiter) {
332
- const response = await waiter.start().promise;
333
- return response.payload.zdo;
334
- }
335
- }, networkAddress);
336
- }
337
- async sendZclFrameToEndpoint(ieeeAddr, networkAddress, endpoint, zclFrame, timeout, disableResponse, disableRecovery, sourceEndpoint) {
338
- return await this.queue.execute(async () => {
339
- this.checkInterpanLock();
340
- return await this.sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint || 1, zclFrame, timeout, disableResponse, disableRecovery, 0, 0, false, false, false, undefined);
341
- }, networkAddress);
342
- }
343
- async sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint, zclFrame, timeout, disableResponse, disableRecovery, responseAttempt, dataRequestAttempt, checkedNetworkAddress, discoveredRoute, assocRemove, assocRestore) {
344
- logger_1.logger.debug(`sendZclFrameToEndpointInternal ${ieeeAddr}:${networkAddress}/${endpoint} ` +
345
- `(${responseAttempt},${dataRequestAttempt},${this.queue.count()})`, NS);
346
- let response = null;
347
- const command = zclFrame.command;
348
- if (command.response != undefined && disableResponse === false) {
349
- response = this.waitForInternal(networkAddress, endpoint, zclFrame.header.frameControl.frameType, Zcl.Direction.SERVER_TO_CLIENT, zclFrame.header.transactionSequenceNumber, zclFrame.cluster.ID, command.response, timeout);
350
- }
351
- else if (!zclFrame.header.frameControl.disableDefaultResponse) {
352
- response = this.waitForInternal(networkAddress, endpoint, Zcl.FrameType.GLOBAL, Zcl.Direction.SERVER_TO_CLIENT, zclFrame.header.transactionSequenceNumber, zclFrame.cluster.ID, Zcl.Foundation.defaultRsp.ID, timeout);
353
- }
354
- const dataConfirmResult = await this.dataRequest(networkAddress, endpoint, sourceEndpoint, zclFrame.cluster.ID, Constants.AF.DEFAULT_RADIUS, zclFrame.toBuffer(), timeout);
355
- if (dataConfirmResult !== ZnpCommandStatus.SUCCESS) {
356
- // In case dataConfirm timesout (= null) or gives an error, try to recover
357
- logger_1.logger.debug(`Data confirm error (${ieeeAddr}:${networkAddress},${dataConfirmResult},${dataRequestAttempt})`, NS);
358
- if (response !== null)
359
- response.cancel();
360
- /**
361
- * In case we did an assocRemove in the previous attempt and it still fails after this, assume that the
362
- * coordinator is still the parent of the device (but for some reason the device is not available now).
363
- * Re-add the device to the assoc table, otherwise we will never be able to reach it anymore.
364
- */
365
- if (assocRemove && assocRestore && this.supportsAssocAdd()) {
366
- logger_1.logger.debug(`assocAdd(${assocRestore.ieeeadr})`, NS);
367
- await this.znp.request(Subsystem.UTIL, 'assocAdd', assocRestore);
368
- assocRestore = undefined;
369
- }
370
- const recoverableErrors = [
371
- ZnpCommandStatus.NWK_NO_ROUTE,
372
- ZnpCommandStatus.MAC_NO_ACK,
373
- ZnpCommandStatus.MAC_CHANNEL_ACCESS_FAILURE,
374
- ZnpCommandStatus.MAC_TRANSACTION_EXPIRED,
375
- ZnpCommandStatus.BUFFER_FULL,
376
- ZnpCommandStatus.MAC_NO_RESOURCES,
377
- ];
378
- if (dataRequestAttempt >= 4 || !recoverableErrors.includes(dataConfirmResult) || disableRecovery) {
379
- throw new DataConfirmError(dataConfirmResult);
380
- }
381
- if (dataConfirmResult === ZnpCommandStatus.MAC_CHANNEL_ACCESS_FAILURE ||
382
- dataConfirmResult === ZnpCommandStatus.BUFFER_FULL ||
383
- dataConfirmResult === ZnpCommandStatus.MAC_NO_RESOURCES) {
384
- /**
385
- * MAC_CHANNEL_ACCESS_FAILURE: When many commands at once are executed we can end up in a MAC
386
- * channel access failure error. This is because there is too much traffic on the network.
387
- * Retry this command once after a cooling down period.
388
- * BUFFER_FULL: When many commands are executed at once the buffer can get full, wait
389
- * some time and retry.
390
- * MAC_NO_RESOURCES: Operation could not be completed because no memory resources are available,
391
- * wait some time and retry.
392
- */
393
- await (0, utils_1.Wait)(2000);
394
- return await this.sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint, zclFrame, timeout, disableResponse, disableRecovery, responseAttempt, dataRequestAttempt + 1, checkedNetworkAddress, discoveredRoute, assocRemove, assocRestore);
395
- }
396
- else {
397
- let doAssocRemove = false;
398
- if (!assocRemove &&
399
- dataConfirmResult === ZnpCommandStatus.MAC_TRANSACTION_EXPIRED &&
400
- dataRequestAttempt >= 1 &&
401
- this.supportsAssocRemove()) {
402
- const match = await this.znp.requestWithReply(Subsystem.UTIL, 'assocGetWithAddress', {
403
- extaddr: ieeeAddr,
404
- nwkaddr: networkAddress,
405
- });
406
- if (match.payload.nwkaddr !== 0xfffe && match.payload.noderelation !== 255) {
407
- doAssocRemove = true;
408
- assocRestore = { ieeeadr: ieeeAddr, nwkaddr: networkAddress, noderelation: match.payload.noderelation };
409
- }
410
- assocRemove = true;
411
- }
412
- // NWK_NO_ROUTE: no network route => rediscover route
413
- // MAC_NO_ACK: route may be corrupted
414
- // MAC_TRANSACTION_EXPIRED: Mac layer is sleeping
415
- if (doAssocRemove) {
416
- /**
417
- * Since child aging is disabled on the firmware, when a end device is directly connected
418
- * to the coordinator and changes parent and the coordinator does not recevie this update,
419
- * it still thinks it's directly connected.
420
- * A discoverRoute() is not send out in this case, therefore remove it from the associated device
421
- * list and try again.
422
- * Note: assocRemove is a custom command, not available by default, only available on recent
423
- * z-stack-firmware firmware version. In case it's not supported by the coordinator we will
424
- * automatically timeout after 60000ms.
425
- */
426
- logger_1.logger.debug(`assocRemove(${ieeeAddr})`, NS);
427
- await this.znp.request(Subsystem.UTIL, 'assocRemove', { ieeeadr: ieeeAddr });
428
- }
429
- else if (!discoveredRoute && dataRequestAttempt >= 1) {
430
- discoveredRoute = true;
431
- await this.discoverRoute(networkAddress);
432
- }
433
- else if (!checkedNetworkAddress && dataRequestAttempt >= 1) {
434
- // Figure out once if the network address has been changed.
435
- try {
436
- checkedNetworkAddress = true;
437
- const actualNetworkAddress = await this.requestNetworkAddress(ieeeAddr);
438
- if (networkAddress !== actualNetworkAddress) {
439
- logger_1.logger.debug(`Failed because request was done with wrong network address`, NS);
440
- discoveredRoute = true;
441
- networkAddress = actualNetworkAddress;
442
- await this.discoverRoute(actualNetworkAddress);
443
- }
444
- else {
445
- logger_1.logger.debug('Network address did not change', NS);
446
- }
447
- }
448
- catch {
449
- /* empty */
450
- }
451
- }
452
- else {
453
- logger_1.logger.debug('Wait 2000ms', NS);
454
- await (0, utils_1.Wait)(2000);
455
- }
456
- return await this.sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint, zclFrame, timeout, disableResponse, disableRecovery, responseAttempt, dataRequestAttempt + 1, checkedNetworkAddress, discoveredRoute, assocRemove, assocRestore);
457
- }
458
- }
459
- if (response !== null) {
460
- try {
461
- const result = await response.start().promise;
462
- return result;
463
- }
464
- catch (error) {
465
- logger_1.logger.debug(`Response timeout (${ieeeAddr}:${networkAddress},${responseAttempt})`, NS);
466
- if (responseAttempt < 1 && !disableRecovery) {
467
- // No response could be because the radio of the end device is turned off:
468
- // Sometimes the coordinator does not properly set the PENDING flag.
469
- // Try to rewrite the device entry in the association table, this fixes it sometimes.
470
- const match = await this.znp.requestWithReply(Subsystem.UTIL, 'assocGetWithAddress', {
471
- extaddr: ieeeAddr,
472
- nwkaddr: networkAddress,
473
- });
474
- logger_1.logger.debug(`Response timeout recovery: Node relation ${match.payload.noderelation} (${ieeeAddr} / ${match.payload.nwkaddr})`, NS);
475
- if (this.supportsAssocAdd() &&
476
- this.supportsAssocRemove() &&
477
- match.payload.nwkaddr !== 0xfffe &&
478
- match.payload.noderelation == 1) {
479
- logger_1.logger.debug(`Response timeout recovery: Rewrite association table entry (${ieeeAddr})`, NS);
480
- await this.znp.request(Subsystem.UTIL, 'assocRemove', { ieeeadr: ieeeAddr });
481
- await this.znp.request(Subsystem.UTIL, 'assocAdd', {
482
- ieeeadr: ieeeAddr,
483
- nwkaddr: networkAddress,
484
- noderelation: match.payload.noderelation,
485
- });
486
- }
487
- // No response could be of invalid route, e.g. when message is send to wrong parent of end device.
488
- await this.discoverRoute(networkAddress);
489
- return await this.sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint, zclFrame, timeout, disableResponse, disableRecovery, responseAttempt + 1, dataRequestAttempt, checkedNetworkAddress, discoveredRoute, assocRemove, assocRestore);
490
- }
491
- else {
492
- throw error;
493
- }
494
- }
495
- }
496
- }
497
- async sendZclFrameToGroup(groupID, zclFrame, sourceEndpoint) {
498
- return await this.queue.execute(async () => {
499
- this.checkInterpanLock();
500
- await this.dataRequestExtended(AddressMode.ADDR_GROUP, groupID, 0xff, 0, sourceEndpoint || 1, zclFrame.cluster.ID, Constants.AF.DEFAULT_RADIUS, zclFrame.toBuffer(), 3000, true);
501
- /**
502
- * As a group command is not confirmed and thus immidiately returns
503
- * (contrary to network address requests) we will give the
504
- * command some time to 'settle' in the network.
505
- */
506
- await (0, utils_1.Wait)(200);
507
- });
508
- }
509
- async sendZclFrameToAll(endpoint, zclFrame, sourceEndpoint, destination) {
510
- return await this.queue.execute(async () => {
511
- this.checkInterpanLock();
512
- await this.dataRequestExtended(AddressMode.ADDR_16BIT, destination, endpoint, 0, sourceEndpoint, zclFrame.cluster.ID, Constants.AF.DEFAULT_RADIUS, zclFrame.toBuffer(), 3000, false, 0);
513
- /**
514
- * As a broadcast command is not confirmed and thus immidiately returns
515
- * (contrary to network address requests) we will give the
516
- * command some time to 'settle' in the network.
517
- */
518
- await (0, utils_1.Wait)(200);
519
- });
520
- }
521
- async addInstallCode(ieeeAddress, key) {
522
- (0, assert_1.default)(this.version.product !== tstype_1.ZnpVersion.zStack12, 'Install code is not supported for ZStack 1.2 adapter');
523
- const payload = { installCodeFormat: key.length === 18 ? 1 : 2, ieeeaddr: ieeeAddress, installCode: key };
524
- await this.znp.request(Subsystem.APP_CNF, 'bdbAddInstallCode', payload);
525
- }
526
- /**
527
- * Event handlers
528
- */
529
- onZnpClose() {
530
- if (!this.closing) {
531
- this.emit('disconnected');
532
- }
533
- }
534
- onZnpRecieved(object) {
535
- if (object.type !== unpi_1.Constants.Type.AREQ) {
536
- return;
537
- }
538
- if (object.subsystem === Subsystem.ZDO) {
539
- if ((0, utils_2.isMtCmdAreqZdo)(object.command)) {
540
- this.emit('zdoResponse', object.command.zdoClusterId, object.payload.zdo);
541
- }
542
- if (object.command.name === 'tcDeviceInd') {
543
- const payload = {
544
- networkAddress: object.payload.nwkaddr,
545
- ieeeAddr: object.payload.extaddr,
546
- };
547
- this.emit('deviceJoined', payload);
548
- }
549
- else if (object.command.name === 'endDeviceAnnceInd') {
550
- // TODO: better way???
551
- /* istanbul ignore else */
552
- if (Zdo.Buffalo.checkStatus(object.payload.zdo)) {
553
- const zdoPayload = object.payload.zdo[1];
554
- // Only discover routes to end devices, if bit 1 of capabilities === 0 it's an end device.
555
- const isEndDevice = zdoPayload.capabilities.deviceType === 0;
556
- if (isEndDevice) {
557
- if (!this.deviceAnnounceRouteDiscoveryDebouncers.has(zdoPayload.nwkAddress)) {
558
- // If a device announces multiple times in a very short time, it makes no sense
559
- // to rediscover the route every time.
560
- const debouncer = (0, debounce_1.default)(() => {
561
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
562
- this.queue.execute(async () => {
563
- /* istanbul ignore next */
564
- this.discoverRoute(zdoPayload.nwkAddress, false).catch(() => { });
565
- }, zdoPayload.nwkAddress);
566
- }, 60 * 1000, { immediate: true });
567
- this.deviceAnnounceRouteDiscoveryDebouncers.set(zdoPayload.nwkAddress, debouncer);
568
- }
569
- const debouncer = this.deviceAnnounceRouteDiscoveryDebouncers.get(zdoPayload.nwkAddress);
570
- (0, assert_1.default)(debouncer);
571
- debouncer();
572
- }
573
- }
574
- }
575
- else if (object.command.name === 'concentratorIndCb') {
576
- // Some routers may change short addresses and the announcement
577
- // is missed by the coordinator. This can happen when there are
578
- // power outages or other interruptions in service. They may
579
- // not send additional announcements, causing the device to go
580
- // offline. However, those devices may instead send
581
- // Concentrator Indicator Callback commands, which contain both
582
- // the short and the long address allowing us to update our own
583
- // mappings.
584
- // https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/158/4403.zstacktask.c
585
- // https://github.com/Koenkk/zigbee-herdsman/issues/74
586
- this.emit('zdoResponse', Zdo.ClusterId.NETWORK_ADDRESS_RESPONSE, [
587
- Zdo.Status.SUCCESS,
588
- {
589
- eui64: object.payload.extaddr,
590
- nwkAddress: object.payload.srcaddr,
591
- startIndex: 0,
592
- assocDevList: [],
593
- },
594
- ]);
595
- }
596
- else {
597
- /* istanbul ignore else */
598
- if (object.command.name === 'leaveInd') {
599
- if (object.payload.rejoin) {
600
- logger_1.logger.debug(`Device leave: Got leave indication with rejoin=true, nothing to do`, NS);
601
- }
602
- else {
603
- const payload = {
604
- networkAddress: object.payload.srcaddr,
605
- ieeeAddr: object.payload.extaddr,
606
- };
607
- this.emit('deviceLeave', payload);
608
- }
609
- }
610
- }
611
- }
612
- else {
613
- /* istanbul ignore else */
614
- if (object.subsystem === Subsystem.AF) {
615
- /* istanbul ignore else */
616
- if (object.command.name === 'incomingMsg' || object.command.name === 'incomingMsgExt') {
617
- const payload = {
618
- clusterID: object.payload.clusterid,
619
- data: object.payload.data,
620
- header: Zcl.Header.fromBuffer(object.payload.data),
621
- address: object.payload.srcaddr,
622
- endpoint: object.payload.srcendpoint,
623
- linkquality: object.payload.linkquality,
624
- groupID: object.payload.groupid,
625
- wasBroadcast: object.payload.wasbroadcast === 1,
626
- destinationEndpoint: object.payload.dstendpoint,
627
- };
628
- this.waitress.resolve(payload);
629
- this.emit('zclPayload', payload);
630
- }
631
- }
632
- }
633
- }
634
- async getNetworkParameters() {
635
- const result = await this.znp.requestWithReply(Subsystem.ZDO, 'extNwkInfo', {});
636
- return {
637
- panID: result.payload.panid,
638
- extendedPanID: result.payload.extendedpanid, // read as IEEEADDR, so `0x${string}`
639
- channel: result.payload.channel,
640
- };
641
- }
642
- async supportsBackup() {
643
- return true;
644
- }
645
- async backup(ieeeAddressesInDatabase) {
646
- return await this.adapterManager.backup.createBackup(ieeeAddressesInDatabase);
647
- }
648
- async setChannelInterPAN(channel) {
649
- return await this.queue.execute(async () => {
650
- this.interpanLock = true;
651
- await this.znp.request(Subsystem.AF, 'interPanCtl', { cmd: 1, data: [channel] });
652
- if (!this.interpanEndpointRegistered) {
653
- // Make sure that endpoint 12 is registered to proxy the InterPAN messages.
654
- await this.znp.request(Subsystem.AF, 'interPanCtl', { cmd: 2, data: [12] });
655
- this.interpanEndpointRegistered = true;
656
- }
657
- });
658
- }
659
- async sendZclFrameInterPANToIeeeAddr(zclFrame, ieeeAddr) {
660
- return await this.queue.execute(async () => {
661
- await this.dataRequestExtended(AddressMode.ADDR_64BIT, ieeeAddr, 0xfe, 0xffff, 12, zclFrame.cluster.ID, 30, zclFrame.toBuffer(), 10000, false);
662
- });
663
- }
664
- async sendZclFrameInterPANBroadcast(zclFrame, timeout) {
665
- return await this.queue.execute(async () => {
666
- const command = zclFrame.command;
667
- if (command.response == undefined) {
668
- throw new Error(`Command '${command.name}' has no response, cannot wait for response`);
669
- }
670
- const response = this.waitForInternal(undefined, 0xfe, zclFrame.header.frameControl.frameType, Zcl.Direction.SERVER_TO_CLIENT, undefined, zclFrame.cluster.ID, command.response, timeout);
671
- try {
672
- await this.dataRequestExtended(AddressMode.ADDR_16BIT, 0xffff, 0xfe, 0xffff, 12, zclFrame.cluster.ID, 30, zclFrame.toBuffer(), 10000, false);
673
- }
674
- catch (error) {
675
- response.cancel();
676
- throw error;
677
- }
678
- return await response.start().promise;
679
- });
680
- }
681
- async restoreChannelInterPAN() {
682
- return await this.queue.execute(async () => {
683
- await this.znp.request(Subsystem.AF, 'interPanCtl', { cmd: 0, data: [] });
684
- // Give adapter some time to restore, otherwise stuff crashes
685
- await (0, utils_1.Wait)(3000);
686
- this.interpanLock = false;
687
- });
688
- }
689
- waitForInternal(networkAddress, endpoint, frameType, direction, transactionSequenceNumber, clusterID, commandIdentifier, timeout) {
690
- const payload = {
691
- address: networkAddress,
692
- endpoint,
693
- clusterID,
694
- commandIdentifier,
695
- frameType,
696
- direction,
697
- transactionSequenceNumber,
698
- };
699
- const waiter = this.waitress.waitFor(payload, timeout);
700
- const cancel = () => this.waitress.remove(waiter.ID);
701
- return { start: waiter.start, cancel };
702
- }
703
- waitFor(networkAddress, endpoint, frameType, direction, transactionSequenceNumber, clusterID, commandIdentifier, timeout) {
704
- const waiter = this.waitForInternal(networkAddress, endpoint, frameType, direction, transactionSequenceNumber, clusterID, commandIdentifier, timeout);
705
- return { cancel: waiter.cancel, promise: waiter.start().promise };
706
- }
707
- /**
708
- * Private methods
709
- */
710
- async dataRequest(destinationAddress, destinationEndpoint, sourceEndpoint, clusterID, radius, data, timeout) {
711
- const transactionID = this.nextTransactionID();
712
- const response = this.znp.waitFor(Type.AREQ, Subsystem.AF, 'dataConfirm', undefined, transactionID, undefined, timeout);
713
- await this.znp.request(Subsystem.AF, 'dataRequest', {
714
- dstaddr: destinationAddress,
715
- destendpoint: destinationEndpoint,
716
- srcendpoint: sourceEndpoint,
717
- clusterid: clusterID,
718
- transid: transactionID,
719
- options: 0,
720
- radius: radius,
721
- len: data.length,
722
- data: data,
723
- }, response.ID);
724
- let result = null;
725
- try {
726
- const dataConfirm = await response.start().promise;
727
- result = dataConfirm.payload.status;
728
- }
729
- catch {
730
- result = DataConfirmTimeout;
731
- }
732
- return result;
733
- }
734
- async dataRequestExtended(addressMode, destinationAddressOrGroupID, destinationEndpoint, panID, sourceEndpoint, clusterID, radius, data, timeout, confirmation, attemptsLeft = 5) {
735
- const transactionID = this.nextTransactionID();
736
- const response = confirmation
737
- ? this.znp.waitFor(Type.AREQ, Subsystem.AF, 'dataConfirm', undefined, transactionID, undefined, timeout)
738
- : undefined;
739
- await this.znp.request(Subsystem.AF, 'dataRequestExt', {
740
- dstaddrmode: addressMode,
741
- dstaddr: this.toAddressString(destinationAddressOrGroupID),
742
- destendpoint: destinationEndpoint,
743
- dstpanid: panID,
744
- srcendpoint: sourceEndpoint,
745
- clusterid: clusterID,
746
- transid: transactionID,
747
- options: 0, // TODO: why was this here? Constants.AF.options.DISCV_ROUTE,
748
- radius,
749
- len: data.length,
750
- data: data,
751
- }, response?.ID);
752
- if (confirmation && response) {
753
- const dataConfirm = await response.start().promise;
754
- if (dataConfirm.payload.status !== ZnpCommandStatus.SUCCESS) {
755
- if (attemptsLeft > 0 &&
756
- (dataConfirm.payload.status === ZnpCommandStatus.MAC_CHANNEL_ACCESS_FAILURE ||
757
- dataConfirm.payload.status === ZnpCommandStatus.BUFFER_FULL)) {
758
- /**
759
- * 225: When many commands at once are executed we can end up in a MAC channel access failure
760
- * error. This is because there is too much traffic on the network.
761
- * Retry this command once after a cooling down period.
762
- */
763
- await (0, utils_1.Wait)(2000);
764
- return await this.dataRequestExtended(addressMode, destinationAddressOrGroupID, destinationEndpoint, panID, sourceEndpoint, clusterID, radius, data, timeout, confirmation, attemptsLeft - 1);
765
- }
766
- else {
767
- throw new DataConfirmError(dataConfirm.payload.status);
768
- }
769
- }
770
- return dataConfirm;
771
- }
772
- }
773
- nextTransactionID() {
774
- this.transactionID++;
775
- if (this.transactionID > 255) {
776
- this.transactionID = 1;
777
- }
778
- return this.transactionID;
779
- }
780
- toAddressString(address) {
781
- return typeof address === 'number' ? `0x${address.toString(16).padStart(16, '0')}` : address.toString();
782
- }
783
- waitressTimeoutFormatter(matcher, timeout) {
784
- return (`Timeout - ${matcher.address} - ${matcher.endpoint}` +
785
- ` - ${matcher.transactionSequenceNumber} - ${matcher.clusterID}` +
786
- ` - ${matcher.commandIdentifier} after ${timeout}ms`);
787
- }
788
- waitressValidator(payload, matcher) {
789
- return Boolean(payload.header &&
790
- (!matcher.address || payload.address === matcher.address) &&
791
- payload.endpoint === matcher.endpoint &&
792
- (!matcher.transactionSequenceNumber || payload.header.transactionSequenceNumber === matcher.transactionSequenceNumber) &&
793
- payload.clusterID === matcher.clusterID &&
794
- matcher.frameType === payload.header.frameControl.frameType &&
795
- matcher.commandIdentifier === payload.header.commandIdentifier &&
796
- matcher.direction === payload.header.frameControl.direction);
797
- }
798
- checkInterpanLock() {
799
- if (this.interpanLock) {
800
- throw new Error(`Cannot execute command, in Inter-PAN mode`);
801
- }
802
- }
803
- }
804
- exports.default = ZStackAdapter;
805
- //# sourceMappingURL=zStackAdapter.js.map