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,788 +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 events_1 = __importDefault(require("events"));
41
- const fs_1 = __importDefault(require("fs"));
42
- const mixin_deep_1 = __importDefault(require("mixin-deep"));
43
- const adapter_1 = require("../adapter");
44
- const utils_1 = require("../utils");
45
- const logger_1 = require("../utils/logger");
46
- const utils_2 = require("../utils/utils");
47
- const ZSpec = __importStar(require("../zspec"));
48
- const Zcl = __importStar(require("../zspec/zcl"));
49
- const Zdo = __importStar(require("../zspec/zdo"));
50
- const database_1 = __importDefault(require("./database"));
51
- const greenPower_1 = __importDefault(require("./greenPower"));
52
- const helpers_1 = require("./helpers");
53
- const model_1 = require("./model");
54
- const group_1 = __importDefault(require("./model/group"));
55
- const touchlink_1 = __importDefault(require("./touchlink"));
56
- const NS = 'zh:controller';
57
- const DefaultOptions = {
58
- network: {
59
- networkKeyDistribute: false,
60
- networkKey: [0x01, 0x03, 0x05, 0x07, 0x09, 0x0b, 0x0d, 0x0f, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0a, 0x0c, 0x0d],
61
- panID: 0x1a62,
62
- extendedPanID: [0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd],
63
- channelList: [11],
64
- },
65
- serialPort: {},
66
- adapter: { disableLED: false },
67
- };
68
- /**
69
- * @noInheritDoc
70
- */
71
- class Controller extends events_1.default.EventEmitter {
72
- options;
73
- // @ts-expect-error assigned and validated in start()
74
- database;
75
- // @ts-expect-error assigned and validated in start()
76
- adapter;
77
- // @ts-expect-error assigned and validated in start()
78
- greenPower;
79
- // @ts-expect-error assigned and validated in start()
80
- touchlink;
81
- permitJoinTimer;
82
- permitJoinEnd;
83
- backupTimer;
84
- databaseSaveTimer;
85
- stopping;
86
- adapterDisconnected;
87
- networkParametersCached;
88
- /** List of unknown devices detected during a single runtime session. Serves as de-dupe and anti-spam. */
89
- unknownDevices;
90
- /**
91
- * Create a controller
92
- *
93
- * To auto detect the port provide `null` for `options.serialPort.path`
94
- */
95
- constructor(options) {
96
- super();
97
- this.stopping = false;
98
- this.adapterDisconnected = true; // set false after adapter.start() is successfully called
99
- this.options = (0, mixin_deep_1.default)(JSON.parse(JSON.stringify(DefaultOptions)), options);
100
- this.unknownDevices = new Set();
101
- // Validate options
102
- for (const channel of this.options.network.channelList) {
103
- if (channel < 11 || channel > 26) {
104
- throw new Error(`'${channel}' is an invalid channel, use a channel between 11 - 26.`);
105
- }
106
- }
107
- if (!(0, utils_2.isNumberArrayOfLength)(this.options.network.networkKey, 16)) {
108
- throw new Error(`Network key must be a 16 digits long array, got ${this.options.network.networkKey}.`);
109
- }
110
- if (!(0, utils_2.isNumberArrayOfLength)(this.options.network.extendedPanID, 8)) {
111
- throw new Error(`ExtendedPanID must be an 8 digits long array, got ${this.options.network.extendedPanID}.`);
112
- }
113
- if (this.options.network.panID < 1 || this.options.network.panID >= 0xffff) {
114
- throw new Error(`PanID must have a value of 0x0001 (1) - 0xFFFE (65534), got ${this.options.network.panID}.`);
115
- }
116
- }
117
- /**
118
- * Start the Herdsman controller
119
- */
120
- async start() {
121
- // Database (create end inject)
122
- this.database = database_1.default.open(this.options.databasePath);
123
- model_1.Entity.injectDatabase(this.database);
124
- // Adapter (create and inject)
125
- this.adapter = await adapter_1.Adapter.create(this.options.network, this.options.serialPort, this.options.backupPath, this.options.adapter);
126
- const stringifiedOptions = JSON.stringify(this.options).replaceAll(JSON.stringify(this.options.network.networkKey), '"HIDDEN"');
127
- logger_1.logger.debug(`Starting with options '${stringifiedOptions}'`, NS);
128
- const startResult = await this.adapter.start();
129
- logger_1.logger.debug(`Started with result '${startResult}'`, NS);
130
- this.adapterDisconnected = false;
131
- // Check if we have to change the channel, only do this when adapter `resumed` because:
132
- // - `getNetworkParameters` might be return wrong info because it needs to propogate after backup restore
133
- // - If result is not `resumed` (`reset` or `restored`), the adapter should comission with the channel from `this.options.network`
134
- if (startResult === 'resumed') {
135
- const netParams = await this.getNetworkParameters();
136
- const configuredChannel = this.options.network.channelList[0];
137
- const adapterChannel = netParams.channel;
138
- if (configuredChannel != adapterChannel) {
139
- logger_1.logger.info(`Configured channel '${configuredChannel}' does not match adapter channel '${adapterChannel}', changing channel`, NS);
140
- await this.changeChannel(adapterChannel, configuredChannel);
141
- }
142
- }
143
- model_1.Entity.injectAdapter(this.adapter);
144
- // log injection
145
- logger_1.logger.debug(`Injected database: ${this.database != undefined}, adapter: ${this.adapter != undefined}`, NS);
146
- this.greenPower = new greenPower_1.default(this.adapter);
147
- this.greenPower.on('deviceJoined', this.onDeviceJoinedGreenPower.bind(this));
148
- // Register adapter events
149
- this.adapter.on('deviceJoined', this.onDeviceJoined.bind(this));
150
- this.adapter.on('zclPayload', this.onZclPayload.bind(this));
151
- this.adapter.on('zdoResponse', this.onZdoResponse.bind(this));
152
- this.adapter.on('disconnected', this.onAdapterDisconnected.bind(this));
153
- this.adapter.on('deviceLeave', this.onDeviceLeave.bind(this));
154
- if (startResult === 'reset') {
155
- /* istanbul ignore else */
156
- if (this.options.databaseBackupPath && fs_1.default.existsSync(this.options.databasePath)) {
157
- fs_1.default.copyFileSync(this.options.databasePath, this.options.databaseBackupPath);
158
- }
159
- logger_1.logger.debug('Clearing database...', NS);
160
- for (const group of group_1.default.allIterator()) {
161
- group.removeFromDatabase();
162
- }
163
- for (const device of model_1.Device.allIterator()) {
164
- device.removeFromDatabase();
165
- }
166
- }
167
- if (startResult === 'reset' || (this.options.backupPath && !fs_1.default.existsSync(this.options.backupPath))) {
168
- await this.backup();
169
- }
170
- // Add coordinator to the database if it is not there yet.
171
- const coordinatorIEEE = await this.adapter.getCoordinatorIEEE();
172
- if (model_1.Device.byType('Coordinator').length === 0) {
173
- logger_1.logger.debug('No coordinator in database, querying...', NS);
174
- const coordinator = model_1.Device.create('Coordinator', coordinatorIEEE, ZSpec.COORDINATOR_ADDRESS, this.adapter.manufacturerID, undefined, undefined, undefined, true);
175
- await coordinator.updateActiveEndpoints();
176
- for (const endpoint of coordinator.endpoints) {
177
- await endpoint.updateSimpleDescriptor();
178
- }
179
- coordinator.save();
180
- }
181
- // Update coordinator ieeeAddr if changed, can happen due to e.g. reflashing
182
- const databaseCoordinator = model_1.Device.byType('Coordinator')[0];
183
- if (databaseCoordinator.ieeeAddr !== coordinatorIEEE) {
184
- logger_1.logger.info(`Coordinator address changed, updating to '${coordinatorIEEE}'`, NS);
185
- databaseCoordinator.changeIeeeAddress(coordinatorIEEE);
186
- }
187
- // Set backup timer to 1 day.
188
- this.backupTimer = setInterval(() => this.backup(), 86400000);
189
- // Set database save timer to 1 hour.
190
- this.databaseSaveTimer = setInterval(() => this.databaseSave(), 3600000);
191
- this.touchlink = new touchlink_1.default(this.adapter);
192
- return startResult;
193
- }
194
- async touchlinkIdentify(ieeeAddr, channel) {
195
- await this.touchlink.identify(ieeeAddr, channel);
196
- }
197
- async touchlinkScan() {
198
- return await this.touchlink.scan();
199
- }
200
- async touchlinkFactoryReset(ieeeAddr, channel) {
201
- return await this.touchlink.factoryReset(ieeeAddr, channel);
202
- }
203
- async touchlinkFactoryResetFirst() {
204
- return await this.touchlink.factoryResetFirst();
205
- }
206
- async addInstallCode(installCode) {
207
- const aqaraMatch = installCode.match(/^G\$M:.+\$A:(.+)\$I:(.+)$/);
208
- const pipeMatch = installCode.match(/^(.+)\|(.+)$/);
209
- let ieeeAddr, key;
210
- if (aqaraMatch) {
211
- ieeeAddr = aqaraMatch[1];
212
- key = aqaraMatch[2];
213
- }
214
- else if (pipeMatch) {
215
- ieeeAddr = pipeMatch[1];
216
- key = pipeMatch[2];
217
- }
218
- else {
219
- (0, assert_1.default)(installCode.length === 95 || installCode.length === 91, `Unsupported install code, got ${installCode.length} chars, expected 95 or 91`);
220
- const keyStart = installCode.length - (installCode.length === 95 ? 36 : 32);
221
- ieeeAddr = installCode.substring(keyStart - 19, keyStart - 3);
222
- key = installCode.substring(keyStart, installCode.length);
223
- }
224
- ieeeAddr = `0x${ieeeAddr}`;
225
- // match valid else asserted above
226
- key = Buffer.from(key.match(/.{1,2}/g).map((d) => parseInt(d, 16)));
227
- // will throw if code cannot be fixed and is invalid
228
- const [adjustedKey, adjusted] = ZSpec.Utils.checkInstallCode(key, true);
229
- if (adjusted) {
230
- logger_1.logger.info(`Install code was adjusted for reason '${adjusted}'.`, NS);
231
- }
232
- logger_1.logger.info(`Adding install code for ${ieeeAddr}.`, NS);
233
- await this.adapter.addInstallCode(ieeeAddr, adjustedKey);
234
- }
235
- async permitJoin(time, device) {
236
- clearTimeout(this.permitJoinTimer);
237
- this.permitJoinTimer = undefined;
238
- this.permitJoinEnd = undefined;
239
- if (time > 0) {
240
- // never permit more than uint8, and never permit 255 that is often equal to "forever"
241
- (0, assert_1.default)(time <= 254, `Cannot permit join for more than 254 seconds.`);
242
- await this.adapter.permitJoin(time, device?.networkAddress);
243
- await this.greenPower.permitJoin(time, device?.networkAddress);
244
- const timeMs = time * 1000;
245
- this.permitJoinEnd = Date.now() + timeMs;
246
- this.permitJoinTimer = setTimeout(() => {
247
- this.emit('permitJoinChanged', { permitted: false });
248
- this.permitJoinTimer = undefined;
249
- this.permitJoinEnd = undefined;
250
- }, timeMs);
251
- this.emit('permitJoinChanged', { permitted: true, time });
252
- }
253
- else {
254
- logger_1.logger.debug('Disable joining', NS);
255
- await this.greenPower.permitJoin(0);
256
- await this.adapter.permitJoin(0);
257
- this.emit('permitJoinChanged', { permitted: false });
258
- }
259
- }
260
- getPermitJoin() {
261
- return this.permitJoinTimer !== undefined;
262
- }
263
- getPermitJoinEnd() {
264
- return this.permitJoinEnd;
265
- }
266
- isStopping() {
267
- return this.stopping;
268
- }
269
- isAdapterDisconnected() {
270
- return this.adapterDisconnected;
271
- }
272
- async stop() {
273
- this.stopping = true;
274
- // Unregister adapter events
275
- this.adapter.removeAllListeners();
276
- clearInterval(this.backupTimer);
277
- clearInterval(this.databaseSaveTimer);
278
- if (this.adapterDisconnected) {
279
- this.databaseSave();
280
- }
281
- else {
282
- try {
283
- await this.permitJoin(0);
284
- }
285
- catch (error) {
286
- logger_1.logger.error(`Failed to disable join on stop: ${error}`, NS);
287
- }
288
- await this.backup(); // always calls databaseSave()
289
- await this.adapter.stop();
290
- this.adapterDisconnected = true;
291
- }
292
- model_1.Device.resetCache();
293
- group_1.default.resetCache();
294
- }
295
- databaseSave() {
296
- for (const device of model_1.Device.allIterator()) {
297
- device.save(false);
298
- }
299
- for (const group of group_1.default.allIterator()) {
300
- group.save(false);
301
- }
302
- this.database.write();
303
- }
304
- async backup() {
305
- this.databaseSave();
306
- if (this.options.backupPath && (await this.adapter.supportsBackup())) {
307
- logger_1.logger.debug('Creating coordinator backup', NS);
308
- const backup = await this.adapter.backup(this.getDeviceIeeeAddresses());
309
- const unifiedBackup = await utils_1.BackupUtils.toUnifiedBackup(backup);
310
- const tmpBackupPath = this.options.backupPath + '.tmp';
311
- fs_1.default.writeFileSync(tmpBackupPath, JSON.stringify(unifiedBackup, null, 2));
312
- fs_1.default.renameSync(tmpBackupPath, this.options.backupPath);
313
- logger_1.logger.info(`Wrote coordinator backup to '${this.options.backupPath}'`, NS);
314
- }
315
- }
316
- async coordinatorCheck() {
317
- if (await this.adapter.supportsBackup()) {
318
- const backup = await this.adapter.backup(this.getDeviceIeeeAddresses());
319
- const devicesInBackup = backup.devices.map((d) => ZSpec.Utils.eui64BEBufferToHex(d.ieeeAddress));
320
- const missingRouters = [];
321
- for (const device of this.getDevicesIterator((d) => d.type === 'Router' && !devicesInBackup.includes(d.ieeeAddr))) {
322
- missingRouters.push(device);
323
- }
324
- return { missingRouters };
325
- }
326
- else {
327
- throw new Error("Coordinator does not coordinator check because it doesn't support backups");
328
- }
329
- }
330
- async reset(type) {
331
- await this.adapter.reset(type);
332
- }
333
- async getCoordinatorVersion() {
334
- return await this.adapter.getCoordinatorVersion();
335
- }
336
- async getNetworkParameters() {
337
- // Cache network parameters as they don't change anymore after start.
338
- if (!this.networkParametersCached) {
339
- this.networkParametersCached = await this.adapter.getNetworkParameters();
340
- }
341
- return this.networkParametersCached;
342
- }
343
- /**
344
- * Get all devices
345
- * @deprecated use getDevicesIterator()
346
- */
347
- getDevices() {
348
- return model_1.Device.all();
349
- }
350
- /**
351
- * Get iterator for all devices
352
- */
353
- getDevicesIterator(predicate) {
354
- return model_1.Device.allIterator(predicate);
355
- }
356
- /**
357
- * Get all devices with a specific type
358
- */
359
- getDevicesByType(type) {
360
- return model_1.Device.byType(type);
361
- }
362
- /**
363
- * Get device by ieeeAddr
364
- */
365
- getDeviceByIeeeAddr(ieeeAddr) {
366
- return model_1.Device.byIeeeAddr(ieeeAddr);
367
- }
368
- /**
369
- * Get device by networkAddress
370
- */
371
- getDeviceByNetworkAddress(networkAddress) {
372
- return model_1.Device.byNetworkAddress(networkAddress);
373
- }
374
- /**
375
- * Get IEEE address for all devices
376
- */
377
- getDeviceIeeeAddresses() {
378
- const deviceIeeeAddresses = [];
379
- for (const device of model_1.Device.allIterator()) {
380
- deviceIeeeAddresses.push(device.ieeeAddr);
381
- }
382
- return deviceIeeeAddresses;
383
- }
384
- /**
385
- * Get group by ID
386
- */
387
- getGroupByID(groupID) {
388
- return group_1.default.byGroupID(groupID);
389
- }
390
- /**
391
- * Get all groups
392
- * @deprecated use getGroupsIterator()
393
- */
394
- getGroups() {
395
- return group_1.default.all();
396
- }
397
- /**
398
- * Get iterator for all groups
399
- */
400
- getGroupsIterator(predicate) {
401
- return group_1.default.allIterator(predicate);
402
- }
403
- /**
404
- * Create a Group
405
- */
406
- createGroup(groupID) {
407
- return group_1.default.create(groupID);
408
- }
409
- /**
410
- * Broadcast a network-wide channel change.
411
- */
412
- async changeChannel(oldChannel, newChannel) {
413
- logger_1.logger.warning(`Changing channel from '${oldChannel}' to '${newChannel}'`, NS);
414
- const clusterId = Zdo.ClusterId.NWK_UPDATE_REQUEST;
415
- const zdoPayload = Zdo.Buffalo.buildRequest(this.adapter.hasZdoMessageOverhead, clusterId, [newChannel], 0xfe, undefined, 0, undefined);
416
- await this.adapter.sendZdo(ZSpec.BLANK_EUI64, ZSpec.BroadcastAddress.SLEEPY, clusterId, zdoPayload, true);
417
- logger_1.logger.info(`Channel changed to '${newChannel}'`, NS);
418
- this.networkParametersCached = undefined; // invalidate cache
419
- // wait for the broadcast to propagate and the adapter to actually change
420
- // NOTE: observed to ~9sec on `ember` with actual stack event
421
- await (0, utils_1.Wait)(12000);
422
- }
423
- async identifyUnknownDevice(nwkAddress) {
424
- if (this.unknownDevices.has(nwkAddress)) {
425
- // prevent duplicate triggering
426
- return;
427
- }
428
- logger_1.logger.debug(`Trying to identify unknown device with address '${nwkAddress}'`, NS);
429
- this.unknownDevices.add(nwkAddress);
430
- const clusterId = Zdo.ClusterId.IEEE_ADDRESS_REQUEST;
431
- const zdoPayload = Zdo.Buffalo.buildRequest(this.adapter.hasZdoMessageOverhead, clusterId, nwkAddress, false, 0);
432
- try {
433
- const response = await this.adapter.sendZdo(ZSpec.BLANK_EUI64, nwkAddress, clusterId, zdoPayload, false);
434
- if (Zdo.Buffalo.checkStatus(response)) {
435
- const payload = response[1];
436
- const device = model_1.Device.byIeeeAddr(payload.eui64);
437
- /* istanbul ignore else */
438
- if (device) {
439
- this.checkDeviceNetworkAddress(device, payload.eui64, payload.nwkAddress);
440
- this.unknownDevices.delete(payload.nwkAddress);
441
- }
442
- return device;
443
- }
444
- else {
445
- throw new Zdo.StatusError(response[0]);
446
- }
447
- }
448
- catch (error) {
449
- // Catches 2 types of exception: Zdo.StatusError and no response from `adapter.sendZdo()`.
450
- logger_1.logger.debug(`Failed to retrieve IEEE address for device '${nwkAddress}': ${error}`, NS);
451
- }
452
- // NOTE: by keeping nwkAddress in `this.unknownDevices` on fail, it prevents a non-responding device from potentially spamming identify.
453
- // This only lasts until next reboot (runtime Set), allowing to 'force' another trigger if necessary.
454
- }
455
- checkDeviceNetworkAddress(device, ieeeAddress, nwkAddress) {
456
- if (device.networkAddress !== nwkAddress) {
457
- logger_1.logger.debug(`Device '${ieeeAddress}' got new networkAddress '${nwkAddress}'`, NS);
458
- device.networkAddress = nwkAddress;
459
- device.save();
460
- this.selfAndDeviceEmit(device, 'deviceNetworkAddressChanged', { device });
461
- }
462
- }
463
- onNetworkAddress(payload) {
464
- logger_1.logger.debug(`Network address from '${payload.eui64}:${payload.nwkAddress}'`, NS);
465
- const device = model_1.Device.byIeeeAddr(payload.eui64);
466
- if (!device) {
467
- logger_1.logger.debug(`Network address is from unknown device '${payload.eui64}:${payload.nwkAddress}'`, NS);
468
- return;
469
- }
470
- device.updateLastSeen();
471
- this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'networkAddress' });
472
- this.checkDeviceNetworkAddress(device, payload.eui64, payload.nwkAddress);
473
- }
474
- onIEEEAddress(payload) {
475
- logger_1.logger.debug(`IEEE address from '${payload.eui64}:${payload.nwkAddress}'`, NS);
476
- const device = model_1.Device.byIeeeAddr(payload.eui64);
477
- if (!device) {
478
- logger_1.logger.debug(`IEEE address is from unknown device '${payload.eui64}:${payload.nwkAddress}'`, NS);
479
- return;
480
- }
481
- device.updateLastSeen();
482
- this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'networkAddress' });
483
- this.checkDeviceNetworkAddress(device, payload.eui64, payload.nwkAddress);
484
- }
485
- onDeviceAnnounce(payload) {
486
- logger_1.logger.debug(`Device announce from '${payload.eui64}:${payload.nwkAddress}'`, NS);
487
- const device = model_1.Device.byIeeeAddr(payload.eui64);
488
- if (!device) {
489
- logger_1.logger.debug(`Device announce is from unknown device '${payload.eui64}:${payload.nwkAddress}'`, NS);
490
- return;
491
- }
492
- device.updateLastSeen();
493
- this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'deviceAnnounce' });
494
- device.implicitCheckin();
495
- this.checkDeviceNetworkAddress(device, payload.eui64, payload.nwkAddress);
496
- this.selfAndDeviceEmit(device, 'deviceAnnounce', { device });
497
- }
498
- onDeviceLeave(payload) {
499
- logger_1.logger.debug(`Device leave '${payload.ieeeAddr}'`, NS);
500
- // XXX: seems type is not properly detected?
501
- const device = payload.ieeeAddr ? model_1.Device.byIeeeAddr(payload.ieeeAddr) : model_1.Device.byNetworkAddress(payload.networkAddress);
502
- if (!device) {
503
- logger_1.logger.debug(`Device leave is from unknown or already deleted device '${payload.ieeeAddr ?? payload.networkAddress}'`, NS);
504
- return;
505
- }
506
- logger_1.logger.debug(`Removing device from database '${device.ieeeAddr}'`, NS);
507
- device.removeFromDatabase();
508
- this.selfAndDeviceEmit(device, 'deviceLeave', { ieeeAddr: device.ieeeAddr });
509
- }
510
- async onAdapterDisconnected() {
511
- logger_1.logger.debug(`Adapter disconnected`, NS);
512
- this.adapterDisconnected = true;
513
- try {
514
- await this.adapter.stop();
515
- }
516
- catch (error) {
517
- logger_1.logger.error(`Failed to stop adapter on disconnect: ${error}`, NS);
518
- }
519
- this.emit('adapterDisconnected');
520
- }
521
- async onDeviceJoinedGreenPower(payload) {
522
- logger_1.logger.debug(() => `Green power device '${JSON.stringify(payload)}' joined`, NS);
523
- // Green power devices don't have an ieeeAddr, the sourceID is unique and static so use this.
524
- let ieeeAddr = payload.sourceID.toString(16);
525
- ieeeAddr = `0x${ieeeAddr.padStart(16, '0')}`;
526
- // Green power devices dont' have a modelID, create a modelID based on the deviceID (=type)
527
- const modelID = `GreenPower_${payload.deviceID}`;
528
- let device = model_1.Device.byIeeeAddr(ieeeAddr, true);
529
- if (!device) {
530
- logger_1.logger.debug(`New green power device '${ieeeAddr}' joined`, NS);
531
- logger_1.logger.debug(`Creating device '${ieeeAddr}'`, NS);
532
- device = model_1.Device.create('GreenPower', ieeeAddr, payload.networkAddress, undefined, undefined, undefined, modelID, true);
533
- device.save();
534
- this.selfAndDeviceEmit(device, 'deviceJoined', { device });
535
- this.selfAndDeviceEmit(device, 'deviceInterview', { status: 'successful', device });
536
- }
537
- else if (device.isDeleted) {
538
- logger_1.logger.debug(`Deleted green power device '${ieeeAddr}' joined, undeleting`, NS);
539
- device.undelete(true);
540
- this.selfAndDeviceEmit(device, 'deviceJoined', { device });
541
- this.selfAndDeviceEmit(device, 'deviceInterview', { status: 'successful', device });
542
- }
543
- }
544
- selfAndDeviceEmit(device, event, ...args) {
545
- device.emit(event, ...args);
546
- this.emit(event, ...args);
547
- }
548
- async onDeviceJoined(payload) {
549
- logger_1.logger.debug(`Device '${payload.ieeeAddr}' joined`, NS);
550
- /* istanbul ignore else */
551
- if (this.options.acceptJoiningDeviceHandler) {
552
- if (!(await this.options.acceptJoiningDeviceHandler(payload.ieeeAddr))) {
553
- logger_1.logger.debug(`Device '${payload.ieeeAddr}' rejected by handler, removing it`, NS);
554
- // XXX: GP devices? see Device.removeFromNetwork
555
- try {
556
- const clusterId = Zdo.ClusterId.LEAVE_REQUEST;
557
- const zdoPayload = Zdo.Buffalo.buildRequest(this.adapter.hasZdoMessageOverhead, clusterId, payload.ieeeAddr, Zdo.LeaveRequestFlags.WITHOUT_REJOIN);
558
- const response = await this.adapter.sendZdo(payload.ieeeAddr, payload.networkAddress, clusterId, zdoPayload, false);
559
- /* istanbul ignore else */
560
- if (!Zdo.Buffalo.checkStatus(response)) {
561
- throw new Zdo.StatusError(response[0]);
562
- }
563
- }
564
- catch (error) {
565
- logger_1.logger.error(`Failed to remove rejected device: ${error.message}`, NS);
566
- }
567
- return;
568
- }
569
- else {
570
- logger_1.logger.debug(`Device '${payload.ieeeAddr}' accepted by handler`, NS);
571
- }
572
- }
573
- let device = model_1.Device.byIeeeAddr(payload.ieeeAddr, true);
574
- if (!device) {
575
- logger_1.logger.debug(`New device '${payload.ieeeAddr}' joined`, NS);
576
- logger_1.logger.debug(`Creating device '${payload.ieeeAddr}'`, NS);
577
- device = model_1.Device.create('Unknown', payload.ieeeAddr, payload.networkAddress, undefined, undefined, undefined, undefined, false);
578
- this.selfAndDeviceEmit(device, 'deviceJoined', { device });
579
- }
580
- else if (device.isDeleted) {
581
- logger_1.logger.debug(`Deleted device '${payload.ieeeAddr}' joined, undeleting`, NS);
582
- device.undelete();
583
- this.selfAndDeviceEmit(device, 'deviceJoined', { device });
584
- }
585
- if (device.networkAddress !== payload.networkAddress) {
586
- logger_1.logger.debug(`Device '${payload.ieeeAddr}' is already in database with different network address, updating network address`, NS);
587
- device.networkAddress = payload.networkAddress;
588
- device.save();
589
- }
590
- device.updateLastSeen();
591
- this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'deviceJoined' });
592
- device.implicitCheckin();
593
- if (!device.interviewCompleted && !device.interviewing) {
594
- logger_1.logger.info(`Interview for '${device.ieeeAddr}' started`, NS);
595
- this.selfAndDeviceEmit(device, 'deviceInterview', { status: 'started', device });
596
- try {
597
- await device.interview();
598
- logger_1.logger.info(`Succesfully interviewed '${device.ieeeAddr}'`, NS);
599
- this.selfAndDeviceEmit(device, 'deviceInterview', { status: 'successful', device });
600
- }
601
- catch (error) {
602
- logger_1.logger.error(`Interview failed for '${device.ieeeAddr} with error '${error}'`, NS);
603
- this.selfAndDeviceEmit(device, 'deviceInterview', { status: 'failed', device });
604
- }
605
- }
606
- else {
607
- logger_1.logger.debug(`Not interviewing '${payload.ieeeAddr}', completed '${device.interviewCompleted}', in progress '${device.interviewing}'`, NS);
608
- }
609
- }
610
- async onZdoResponse(clusterId, response) {
611
- logger_1.logger.debug(`Received ZDO response: clusterId=${Zdo.ClusterId[clusterId]}, status=${Zdo.Status[response[0]]}, payload=${JSON.stringify(response[1])}`, NS);
612
- switch (clusterId) {
613
- case Zdo.ClusterId.NETWORK_ADDRESS_RESPONSE: {
614
- /* istanbul ignore else */
615
- if (Zdo.Buffalo.checkStatus(response)) {
616
- this.onNetworkAddress(response[1]);
617
- }
618
- break;
619
- }
620
- case Zdo.ClusterId.IEEE_ADDRESS_RESPONSE: {
621
- /* istanbul ignore else */
622
- if (Zdo.Buffalo.checkStatus(response)) {
623
- this.onIEEEAddress(response[1]);
624
- }
625
- break;
626
- }
627
- case Zdo.ClusterId.END_DEVICE_ANNOUNCE: {
628
- /* istanbul ignore else */
629
- if (Zdo.Buffalo.checkStatus(response)) {
630
- this.onDeviceAnnounce(response[1]);
631
- }
632
- break;
633
- }
634
- }
635
- }
636
- async onZclPayload(payload) {
637
- let frame;
638
- let device;
639
- if (payload.clusterID === Zcl.Clusters.touchlink.ID) {
640
- // This is handled by touchlink
641
- return;
642
- }
643
- else if (payload.clusterID === Zcl.Clusters.greenPower.ID) {
644
- try {
645
- // Custom clusters are not supported for Green Power since we need to parse the frame to get the device.
646
- frame = Zcl.Frame.fromBuffer(payload.clusterID, payload.header, payload.data, {});
647
- }
648
- catch (error) {
649
- logger_1.logger.debug(`Failed to parse frame green power frame, ignoring it: ${error}`, NS);
650
- return;
651
- }
652
- await this.greenPower.onZclGreenPowerData(payload, frame);
653
- // lookup encapsulated gpDevice for further processing
654
- device = model_1.Device.byNetworkAddress(frame.payload.srcID & 0xffff);
655
- }
656
- else {
657
- /**
658
- * Handling of re-transmitted Xiaomi messages.
659
- * https://github.com/Koenkk/zigbee2mqtt/issues/1238
660
- * https://github.com/Koenkk/zigbee2mqtt/issues/3592
661
- *
662
- * Some Xiaomi router devices re-transmit messages from Xiaomi end devices.
663
- * The network address of these message is set to the one of the Xiaomi router.
664
- * Therefore it looks like if the message came from the Xiaomi router, while in
665
- * fact it came from the end device.
666
- * Handling these message would result in false state updates.
667
- * The group ID attribute of these message defines the network address of the end device.
668
- */
669
- device = model_1.Device.find(payload.address);
670
- if (device?.manufacturerName === 'LUMI' && device?.type == 'Router' && payload.groupID) {
671
- logger_1.logger.debug(`Handling re-transmitted Xiaomi message ${device.networkAddress} -> ${payload.groupID}`, NS);
672
- device = model_1.Device.byNetworkAddress(payload.groupID);
673
- }
674
- try {
675
- frame = Zcl.Frame.fromBuffer(payload.clusterID, payload.header, payload.data, device ? device.customClusters : {});
676
- }
677
- catch (error) {
678
- logger_1.logger.debug(`Failed to parse frame: ${error}`, NS);
679
- }
680
- }
681
- if (!device) {
682
- if (typeof payload.address === 'number') {
683
- device = await this.identifyUnknownDevice(payload.address);
684
- }
685
- if (!device) {
686
- logger_1.logger.debug(`Data is from unknown device with address '${payload.address}', skipping...`, NS);
687
- return;
688
- }
689
- }
690
- logger_1.logger.debug(`Received payload: clusterID=${payload.clusterID}, address=${payload.address}, groupID=${payload.groupID}, ` +
691
- `endpoint=${payload.endpoint}, destinationEndpoint=${payload.destinationEndpoint}, wasBroadcast=${payload.wasBroadcast}, ` +
692
- `linkQuality=${payload.linkquality}, frame=${frame?.toString()}`, NS);
693
- device.updateLastSeen();
694
- //no implicit checkin for genPollCtrl data because it might interfere with the explicit checkin
695
- if (!frame?.isCluster('genPollCtrl')) {
696
- device.implicitCheckin();
697
- }
698
- device.linkquality = payload.linkquality;
699
- let endpoint = device.getEndpoint(payload.endpoint);
700
- if (!endpoint) {
701
- logger_1.logger.debug(`Data is from unknown endpoint '${payload.endpoint}' from device with network address '${payload.address}', creating it...`, NS);
702
- endpoint = device.createEndpoint(payload.endpoint);
703
- }
704
- // Parse command for event
705
- let type;
706
- let data = {};
707
- let clusterName;
708
- const meta = {};
709
- if (frame) {
710
- const command = frame.command;
711
- clusterName = frame.cluster.name;
712
- meta.zclTransactionSequenceNumber = frame.header.transactionSequenceNumber;
713
- meta.manufacturerCode = frame.header.manufacturerCode;
714
- meta.frameControl = frame.header.frameControl;
715
- if (frame.header.isGlobal) {
716
- switch (frame.command.name) {
717
- case 'report': {
718
- type = 'attributeReport';
719
- data = helpers_1.ZclFrameConverter.attributeKeyValue(frame, device.manufacturerID, device.customClusters);
720
- break;
721
- }
722
- case 'read': {
723
- type = 'read';
724
- data = helpers_1.ZclFrameConverter.attributeList(frame, device.manufacturerID, device.customClusters);
725
- break;
726
- }
727
- case 'write': {
728
- type = 'write';
729
- data = helpers_1.ZclFrameConverter.attributeKeyValue(frame, device.manufacturerID, device.customClusters);
730
- break;
731
- }
732
- case 'readRsp': {
733
- type = 'readResponse';
734
- data = helpers_1.ZclFrameConverter.attributeKeyValue(frame, device.manufacturerID, device.customClusters);
735
- break;
736
- }
737
- }
738
- }
739
- else {
740
- /* istanbul ignore else */
741
- if (frame.header.isSpecific) {
742
- type = `command${command.name.charAt(0).toUpperCase()}${command.name.slice(1)}`;
743
- data = frame.payload;
744
- }
745
- }
746
- if (type === 'readResponse' || type === 'attributeReport') {
747
- // Some device report, e.g. it's modelID through a readResponse or attributeReport
748
- for (const key in data) {
749
- const property = model_1.Device.ReportablePropertiesMapping[key];
750
- if (property && !device[property.key]) {
751
- // XXX: data technically can be `KeyValue | (string | number)[]`
752
- property.set(data[key], device);
753
- }
754
- }
755
- endpoint.saveClusterAttributeKeyValue(frame.cluster.ID, data);
756
- }
757
- }
758
- else {
759
- type = 'raw';
760
- data = payload.data;
761
- const name = Zcl.Utils.getCluster(payload.clusterID, device.manufacturerID, device.customClusters).name;
762
- clusterName = Number.isNaN(Number(name)) ? name : Number(name);
763
- }
764
- if (type && data) {
765
- const linkquality = payload.linkquality;
766
- const groupID = payload.groupID;
767
- this.selfAndDeviceEmit(device, 'message', {
768
- type,
769
- device,
770
- endpoint,
771
- data,
772
- linkquality,
773
- groupID,
774
- cluster: clusterName,
775
- meta,
776
- });
777
- this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'messageEmitted' });
778
- }
779
- else {
780
- this.selfAndDeviceEmit(device, 'lastSeenChanged', { device, reason: 'messageNonEmitted' });
781
- }
782
- if (frame) {
783
- await device.onZclData(payload, frame, endpoint);
784
- }
785
- }
786
- }
787
- exports.default = Controller;
788
- //# sourceMappingURL=controller.js.map