@willieee802/zigbee-herdsman 0.19.21 → 0.36.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 (523) hide show
  1. package/.babelrc.js +0 -4
  2. package/.release-please-manifest.json +1 -2
  3. package/CHANGELOG.md +462 -0
  4. package/README.md +1 -1
  5. package/dist/adapter/adapter.d.ts +61 -61
  6. package/dist/adapter/adapter.d.ts.map +1 -1
  7. package/dist/adapter/adapter.js +158 -153
  8. package/dist/adapter/adapter.js.map +1 -1
  9. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +68 -68
  10. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
  11. package/dist/adapter/deconz/adapter/deconzAdapter.js +1081 -1060
  12. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
  13. package/dist/adapter/deconz/adapter/index.d.ts +2 -2
  14. package/dist/adapter/deconz/adapter/index.js +10 -10
  15. package/dist/adapter/deconz/driver/constants.d.ts +104 -104
  16. package/dist/adapter/deconz/driver/constants.js +55 -55
  17. package/dist/adapter/deconz/driver/driver.d.ts +81 -81
  18. package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
  19. package/dist/adapter/deconz/driver/driver.js +750 -732
  20. package/dist/adapter/deconz/driver/driver.js.map +1 -1
  21. package/dist/adapter/deconz/driver/frame.d.ts +6 -6
  22. package/dist/adapter/deconz/driver/frame.js +13 -13
  23. package/dist/adapter/deconz/driver/frameParser.d.ts +2 -2
  24. package/dist/adapter/deconz/driver/frameParser.js +443 -443
  25. package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
  26. package/dist/adapter/deconz/driver/parser.d.ts +12 -12
  27. package/dist/adapter/deconz/driver/parser.js +63 -61
  28. package/dist/adapter/deconz/driver/parser.js.map +1 -1
  29. package/dist/adapter/deconz/driver/writer.d.ts +8 -8
  30. package/dist/adapter/deconz/driver/writer.js +44 -44
  31. package/dist/adapter/ember/adapter/emberAdapter.d.ts +810 -0
  32. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -0
  33. package/dist/adapter/ember/adapter/emberAdapter.js +2970 -0
  34. package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -0
  35. package/dist/adapter/ember/adapter/endpoints.d.ts +25 -0
  36. package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -0
  37. package/dist/adapter/ember/adapter/endpoints.js +66 -0
  38. package/dist/adapter/ember/adapter/endpoints.js.map +1 -0
  39. package/dist/adapter/ember/adapter/index.d.ts +3 -0
  40. package/dist/adapter/ember/adapter/index.d.ts.map +1 -0
  41. package/dist/adapter/ember/adapter/index.js +6 -0
  42. package/dist/adapter/ember/adapter/index.js.map +1 -0
  43. package/dist/adapter/ember/adapter/oneWaitress.d.ts +100 -0
  44. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -0
  45. package/dist/adapter/ember/adapter/oneWaitress.js +227 -0
  46. package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -0
  47. package/dist/adapter/ember/adapter/requestQueue.d.ts +59 -0
  48. package/dist/adapter/ember/adapter/requestQueue.d.ts.map +1 -0
  49. package/dist/adapter/ember/adapter/requestQueue.js +144 -0
  50. package/dist/adapter/ember/adapter/requestQueue.js.map +1 -0
  51. package/dist/adapter/ember/adapter/tokensManager.d.ts +69 -0
  52. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -0
  53. package/dist/adapter/ember/adapter/tokensManager.js +685 -0
  54. package/dist/adapter/ember/adapter/tokensManager.js.map +1 -0
  55. package/dist/adapter/ember/consts.d.ts +198 -0
  56. package/dist/adapter/ember/consts.d.ts.map +1 -0
  57. package/dist/adapter/ember/consts.js +253 -0
  58. package/dist/adapter/ember/consts.js.map +1 -0
  59. package/dist/adapter/ember/enums.d.ts +2174 -0
  60. package/dist/adapter/ember/enums.d.ts.map +1 -0
  61. package/dist/adapter/ember/enums.js +2377 -0
  62. package/dist/adapter/ember/enums.js.map +1 -0
  63. package/dist/adapter/ember/ezsp/buffalo.d.ts +156 -0
  64. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -0
  65. package/dist/adapter/ember/ezsp/buffalo.js +1033 -0
  66. package/dist/adapter/ember/ezsp/buffalo.js.map +1 -0
  67. package/dist/adapter/ember/ezsp/consts.d.ts +116 -0
  68. package/dist/adapter/ember/ezsp/consts.d.ts.map +1 -0
  69. package/dist/adapter/ember/ezsp/consts.js +128 -0
  70. package/dist/adapter/ember/ezsp/consts.js.map +1 -0
  71. package/dist/adapter/ember/ezsp/enums.d.ts +879 -0
  72. package/dist/adapter/ember/ezsp/enums.d.ts.map +1 -0
  73. package/dist/adapter/ember/ezsp/enums.js +948 -0
  74. package/dist/adapter/ember/ezsp/enums.js.map +1 -0
  75. package/dist/adapter/ember/ezsp/ezsp.d.ts +2663 -0
  76. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -0
  77. package/dist/adapter/ember/ezsp/ezsp.js +6435 -0
  78. package/dist/adapter/ember/ezsp/ezsp.js.map +1 -0
  79. package/dist/adapter/ember/types.d.ts +733 -0
  80. package/dist/adapter/ember/types.d.ts.map +1 -0
  81. package/dist/adapter/ember/types.js +3 -0
  82. package/dist/adapter/ember/types.js.map +1 -0
  83. package/dist/adapter/ember/uart/ash.d.ts +458 -0
  84. package/dist/adapter/ember/uart/ash.d.ts.map +1 -0
  85. package/dist/adapter/ember/uart/ash.js +1601 -0
  86. package/dist/adapter/ember/uart/ash.js.map +1 -0
  87. package/dist/adapter/ember/uart/consts.d.ts +91 -0
  88. package/dist/adapter/ember/uart/consts.d.ts.map +1 -0
  89. package/dist/adapter/ember/uart/consts.js +100 -0
  90. package/dist/adapter/ember/uart/consts.js.map +1 -0
  91. package/dist/adapter/ember/uart/enums.d.ts +191 -0
  92. package/dist/adapter/ember/uart/enums.d.ts.map +1 -0
  93. package/dist/adapter/ember/uart/enums.js +197 -0
  94. package/dist/adapter/ember/uart/enums.js.map +1 -0
  95. package/dist/adapter/ember/uart/parser.d.ts +10 -0
  96. package/dist/adapter/ember/uart/parser.d.ts.map +1 -0
  97. package/dist/adapter/ember/uart/parser.js +41 -0
  98. package/dist/adapter/ember/uart/parser.js.map +1 -0
  99. package/dist/adapter/ember/uart/queues.d.ts +85 -0
  100. package/dist/adapter/ember/uart/queues.d.ts.map +1 -0
  101. package/dist/adapter/ember/uart/queues.js +212 -0
  102. package/dist/adapter/ember/uart/queues.js.map +1 -0
  103. package/dist/adapter/ember/uart/writer.d.ts +15 -0
  104. package/dist/adapter/ember/uart/writer.d.ts.map +1 -0
  105. package/dist/adapter/ember/uart/writer.js +48 -0
  106. package/dist/adapter/ember/uart/writer.js.map +1 -0
  107. package/dist/adapter/ember/utils/initters.d.ts +20 -0
  108. package/dist/adapter/ember/utils/initters.d.ts.map +1 -0
  109. package/dist/adapter/ember/utils/initters.js +58 -0
  110. package/dist/adapter/ember/utils/initters.js.map +1 -0
  111. package/dist/adapter/ember/utils/math.d.ts +51 -0
  112. package/dist/adapter/ember/utils/math.d.ts.map +1 -0
  113. package/dist/adapter/ember/utils/math.js +102 -0
  114. package/dist/adapter/ember/utils/math.js.map +1 -0
  115. package/dist/adapter/ember/zdo.d.ts +921 -0
  116. package/dist/adapter/ember/zdo.d.ts.map +1 -0
  117. package/dist/adapter/ember/zdo.js +723 -0
  118. package/dist/adapter/ember/zdo.js.map +1 -0
  119. package/dist/adapter/events.d.ts +47 -47
  120. package/dist/adapter/events.js +13 -14
  121. package/dist/adapter/events.js.map +1 -1
  122. package/dist/adapter/ezsp/adapter/backup.d.ts +13 -9
  123. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  124. package/dist/adapter/ezsp/adapter/backup.js +104 -53
  125. package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
  126. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +61 -60
  127. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  128. package/dist/adapter/ezsp/adapter/ezspAdapter.js +626 -608
  129. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  130. package/dist/adapter/ezsp/adapter/index.d.ts +2 -2
  131. package/dist/adapter/ezsp/adapter/index.js +10 -10
  132. package/dist/adapter/ezsp/driver/commands.d.ts +36 -36
  133. package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
  134. package/dist/adapter/ezsp/driver/commands.js +2388 -2359
  135. package/dist/adapter/ezsp/driver/commands.js.map +1 -1
  136. package/dist/adapter/ezsp/driver/consts.d.ts +10 -10
  137. package/dist/adapter/ezsp/driver/consts.js +13 -13
  138. package/dist/adapter/ezsp/driver/driver.d.ts +111 -101
  139. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  140. package/dist/adapter/ezsp/driver/driver.js +816 -638
  141. package/dist/adapter/ezsp/driver/driver.js.map +1 -1
  142. package/dist/adapter/ezsp/driver/ezsp.d.ts +105 -96
  143. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
  144. package/dist/adapter/ezsp/driver/ezsp.js +652 -586
  145. package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
  146. package/dist/adapter/ezsp/driver/frame.d.ts +40 -0
  147. package/dist/adapter/ezsp/driver/frame.d.ts.map +1 -0
  148. package/dist/adapter/ezsp/driver/frame.js +101 -0
  149. package/dist/adapter/ezsp/driver/frame.js.map +1 -0
  150. package/dist/adapter/ezsp/driver/index.d.ts +3 -3
  151. package/dist/adapter/ezsp/driver/index.js +8 -8
  152. package/dist/adapter/ezsp/driver/multicast.d.ts +12 -12
  153. package/dist/adapter/ezsp/driver/multicast.js +77 -72
  154. package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
  155. package/dist/adapter/ezsp/driver/parser.d.ts +11 -12
  156. package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -1
  157. package/dist/adapter/ezsp/driver/parser.js +104 -111
  158. package/dist/adapter/ezsp/driver/parser.js.map +1 -1
  159. package/dist/adapter/ezsp/driver/types/basic.d.ts +62 -62
  160. package/dist/adapter/ezsp/driver/types/basic.js +208 -208
  161. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  162. package/dist/adapter/ezsp/driver/types/index.d.ts +9 -9
  163. package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
  164. package/dist/adapter/ezsp/driver/types/index.js +138 -133
  165. package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
  166. package/dist/adapter/ezsp/driver/types/named.d.ts +1287 -697
  167. package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -1
  168. package/dist/adapter/ezsp/driver/types/named.js +2329 -1726
  169. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  170. package/dist/adapter/ezsp/driver/types/struct.d.ts +270 -251
  171. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
  172. package/dist/adapter/ezsp/driver/types/struct.js +803 -708
  173. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  174. package/dist/adapter/ezsp/driver/uart.d.ts +48 -44
  175. package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
  176. package/dist/adapter/ezsp/driver/uart.js +382 -368
  177. package/dist/adapter/ezsp/driver/uart.js.map +1 -1
  178. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +2 -2
  179. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +55 -55
  180. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
  181. package/dist/adapter/ezsp/driver/utils/index.d.ts +19 -18
  182. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -1
  183. package/dist/adapter/ezsp/driver/utils/index.js +72 -67
  184. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  185. package/dist/adapter/ezsp/driver/writer.d.ts +13 -13
  186. package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -1
  187. package/dist/adapter/ezsp/driver/writer.js +85 -88
  188. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  189. package/dist/adapter/index.d.ts +4 -4
  190. package/dist/adapter/index.js +35 -35
  191. package/dist/adapter/serialPort.d.ts +13 -8
  192. package/dist/adapter/serialPort.d.ts.map +1 -1
  193. package/dist/adapter/serialPort.js +46 -22
  194. package/dist/adapter/serialPort.js.map +1 -1
  195. package/dist/adapter/serialPortUtils.d.ts +12 -12
  196. package/dist/adapter/serialPortUtils.js +18 -18
  197. package/dist/adapter/serialPortUtils.js.map +1 -1
  198. package/dist/adapter/socketPortUtils.d.ts +10 -10
  199. package/dist/adapter/socketPortUtils.js +16 -16
  200. package/dist/adapter/tstype.d.ts +85 -85
  201. package/dist/adapter/tstype.d.ts.map +1 -1
  202. package/dist/adapter/tstype.js +2 -2
  203. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +62 -62
  204. package/dist/adapter/z-stack/adapter/adapter-backup.js +462 -461
  205. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  206. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +150 -150
  207. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +258 -258
  208. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  209. package/dist/adapter/z-stack/adapter/endpoints.d.ts +11 -11
  210. package/dist/adapter/z-stack/adapter/endpoints.js +73 -73
  211. package/dist/adapter/z-stack/adapter/index.d.ts +2 -2
  212. package/dist/adapter/z-stack/adapter/index.js +8 -8
  213. package/dist/adapter/z-stack/adapter/manager.d.ts +86 -86
  214. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  215. package/dist/adapter/z-stack/adapter/manager.js +482 -476
  216. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  217. package/dist/adapter/z-stack/adapter/tstype.d.ts +6 -6
  218. package/dist/adapter/z-stack/adapter/tstype.js +9 -10
  219. package/dist/adapter/z-stack/adapter/tstype.js.map +1 -1
  220. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +81 -81
  221. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  222. package/dist/adapter/z-stack/adapter/zStackAdapter.js +885 -868
  223. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  224. package/dist/adapter/z-stack/constants/af.d.ts +23 -23
  225. package/dist/adapter/z-stack/constants/af.js +27 -27
  226. package/dist/adapter/z-stack/constants/common.d.ts +278 -278
  227. package/dist/adapter/z-stack/constants/common.d.ts.map +1 -1
  228. package/dist/adapter/z-stack/constants/common.js +292 -289
  229. package/dist/adapter/z-stack/constants/common.js.map +1 -1
  230. package/dist/adapter/z-stack/constants/dbg.d.ts +22 -22
  231. package/dist/adapter/z-stack/constants/dbg.js +24 -24
  232. package/dist/adapter/z-stack/constants/index.d.ts +10 -10
  233. package/dist/adapter/z-stack/constants/index.js +47 -47
  234. package/dist/adapter/z-stack/constants/mac.d.ts +127 -127
  235. package/dist/adapter/z-stack/constants/mac.js +129 -129
  236. package/dist/adapter/z-stack/constants/sapi.d.ts +24 -24
  237. package/dist/adapter/z-stack/constants/sapi.js +26 -26
  238. package/dist/adapter/z-stack/constants/sys.d.ts +71 -71
  239. package/dist/adapter/z-stack/constants/sys.js +73 -73
  240. package/dist/adapter/z-stack/constants/util.d.ts +81 -81
  241. package/dist/adapter/z-stack/constants/util.js +83 -83
  242. package/dist/adapter/z-stack/constants/utils.d.ts +4 -4
  243. package/dist/adapter/z-stack/constants/utils.js +14 -14
  244. package/dist/adapter/z-stack/constants/zdo.d.ts +102 -102
  245. package/dist/adapter/z-stack/constants/zdo.js +104 -104
  246. package/dist/adapter/z-stack/models/index.d.ts +1 -1
  247. package/dist/adapter/z-stack/models/index.js +17 -17
  248. package/dist/adapter/z-stack/models/startup-options.d.ts +12 -12
  249. package/dist/adapter/z-stack/models/startup-options.js +2 -2
  250. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +23 -23
  251. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +45 -45
  252. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  253. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +10 -10
  254. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +22 -22
  255. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +10 -10
  256. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +21 -21
  257. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +10 -10
  258. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +23 -23
  259. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +10 -10
  260. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +24 -24
  261. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +10 -10
  262. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +23 -23
  263. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +8 -8
  264. package/dist/adapter/z-stack/structs/entries/channel-list.js +15 -15
  265. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +8 -8
  266. package/dist/adapter/z-stack/structs/entries/has-configured.js +16 -16
  267. package/dist/adapter/z-stack/structs/entries/index.d.ts +16 -16
  268. package/dist/adapter/z-stack/structs/entries/index.js +32 -32
  269. package/dist/adapter/z-stack/structs/entries/nib.d.ts +10 -10
  270. package/dist/adapter/z-stack/structs/entries/nib.js +68 -68
  271. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +10 -10
  272. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +18 -18
  273. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +8 -8
  274. package/dist/adapter/z-stack/structs/entries/nwk-key.js +15 -15
  275. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +8 -8
  276. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +15 -15
  277. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +13 -13
  278. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +23 -23
  279. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +10 -10
  280. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +22 -22
  281. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +20 -20
  282. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +36 -36
  283. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
  284. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +10 -10
  285. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +24 -24
  286. package/dist/adapter/z-stack/structs/index.d.ts +4 -4
  287. package/dist/adapter/z-stack/structs/index.js +20 -20
  288. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +13 -13
  289. package/dist/adapter/z-stack/structs/serializable-memory-object.js +2 -2
  290. package/dist/adapter/z-stack/structs/struct.d.ts +99 -99
  291. package/dist/adapter/z-stack/structs/struct.js +296 -295
  292. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  293. package/dist/adapter/z-stack/structs/table.d.ts +94 -94
  294. package/dist/adapter/z-stack/structs/table.js +163 -161
  295. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  296. package/dist/adapter/z-stack/unpi/constants.d.ts +28 -28
  297. package/dist/adapter/z-stack/unpi/constants.js +39 -41
  298. package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
  299. package/dist/adapter/z-stack/unpi/frame.d.ts +16 -16
  300. package/dist/adapter/z-stack/unpi/frame.js +54 -48
  301. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  302. package/dist/adapter/z-stack/unpi/index.d.ts +5 -5
  303. package/dist/adapter/z-stack/unpi/index.js +37 -37
  304. package/dist/adapter/z-stack/unpi/parser.d.ts +10 -10
  305. package/dist/adapter/z-stack/unpi/parser.js +75 -74
  306. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  307. package/dist/adapter/z-stack/unpi/writer.d.ts +10 -10
  308. package/dist/adapter/z-stack/unpi/writer.js +44 -44
  309. package/dist/adapter/z-stack/utils/channel-list.d.ts +20 -20
  310. package/dist/adapter/z-stack/utils/channel-list.js +40 -40
  311. package/dist/adapter/z-stack/utils/channel-list.js.map +1 -1
  312. package/dist/adapter/z-stack/utils/index.d.ts +2 -2
  313. package/dist/adapter/z-stack/utils/index.js +18 -18
  314. package/dist/adapter/z-stack/utils/network-options.d.ts +8 -8
  315. package/dist/adapter/z-stack/utils/network-options.js +22 -22
  316. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +11 -11
  317. package/dist/adapter/z-stack/znp/buffaloZnp.js +113 -113
  318. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  319. package/dist/adapter/z-stack/znp/definition.d.ts +5 -5
  320. package/dist/adapter/z-stack/znp/definition.js +3050 -3050
  321. package/dist/adapter/z-stack/znp/index.d.ts +3 -3
  322. package/dist/adapter/z-stack/znp/index.js +10 -10
  323. package/dist/adapter/z-stack/znp/parameterType.d.ts +22 -22
  324. package/dist/adapter/z-stack/znp/parameterType.js +25 -25
  325. package/dist/adapter/z-stack/znp/tstype.d.ts +21 -21
  326. package/dist/adapter/z-stack/znp/tstype.js +2 -2
  327. package/dist/adapter/z-stack/znp/znp.d.ts +44 -43
  328. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  329. package/dist/adapter/z-stack/znp/znp.js +326 -325
  330. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  331. package/dist/adapter/z-stack/znp/zpiObject.d.ts +19 -19
  332. package/dist/adapter/z-stack/znp/zpiObject.js +102 -96
  333. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  334. package/dist/adapter/zigate/adapter/index.d.ts +2 -2
  335. package/dist/adapter/zigate/adapter/index.js +10 -10
  336. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +70 -70
  337. package/dist/adapter/zigate/adapter/zigateAdapter.js +689 -684
  338. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  339. package/dist/adapter/zigate/debug.d.ts +7 -7
  340. package/dist/adapter/zigate/debug.d.ts.map +1 -1
  341. package/dist/adapter/zigate/debug.js +19 -22
  342. package/dist/adapter/zigate/debug.js.map +1 -1
  343. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +18 -18
  344. package/dist/adapter/zigate/driver/buffaloZiGate.js +139 -139
  345. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  346. package/dist/adapter/zigate/driver/commandType.d.ts +41 -41
  347. package/dist/adapter/zigate/driver/commandType.js +385 -385
  348. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  349. package/dist/adapter/zigate/driver/constants.d.ts +276 -276
  350. package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
  351. package/dist/adapter/zigate/driver/constants.js +371 -371
  352. package/dist/adapter/zigate/driver/constants.js.map +1 -1
  353. package/dist/adapter/zigate/driver/frame.d.ts +26 -26
  354. package/dist/adapter/zigate/driver/frame.js +172 -172
  355. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  356. package/dist/adapter/zigate/driver/messageType.d.ts +11 -11
  357. package/dist/adapter/zigate/driver/messageType.js +278 -278
  358. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  359. package/dist/adapter/zigate/driver/parameterType.d.ts +20 -20
  360. package/dist/adapter/zigate/driver/parameterType.js +23 -23
  361. package/dist/adapter/zigate/driver/ziGateObject.d.ts +23 -23
  362. package/dist/adapter/zigate/driver/ziGateObject.js +110 -106
  363. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  364. package/dist/adapter/zigate/driver/zigate.d.ts +49 -49
  365. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  366. package/dist/adapter/zigate/driver/zigate.js +296 -303
  367. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  368. package/dist/buffalo/buffalo.d.ts +50 -50
  369. package/dist/buffalo/buffalo.js +324 -322
  370. package/dist/buffalo/buffalo.js.map +1 -1
  371. package/dist/buffalo/index.d.ts +3 -3
  372. package/dist/buffalo/index.js +33 -33
  373. package/dist/buffalo/tstype.d.ts +8 -8
  374. package/dist/buffalo/tstype.js +2 -2
  375. package/dist/controller/controller.d.ts +113 -113
  376. package/dist/controller/controller.d.ts.map +1 -1
  377. package/dist/controller/controller.js +641 -619
  378. package/dist/controller/controller.js.map +1 -1
  379. package/dist/controller/database.d.ts +18 -18
  380. package/dist/controller/database.js +96 -93
  381. package/dist/controller/database.js.map +1 -1
  382. package/dist/controller/events.d.ts +58 -58
  383. package/dist/controller/events.d.ts.map +1 -1
  384. package/dist/controller/events.js +108 -102
  385. package/dist/controller/events.js.map +1 -1
  386. package/dist/controller/greenPower.d.ts +12 -12
  387. package/dist/controller/greenPower.js +221 -220
  388. package/dist/controller/greenPower.js.map +1 -1
  389. package/dist/controller/helpers/index.d.ts +2 -2
  390. package/dist/controller/helpers/index.js +28 -28
  391. package/dist/controller/helpers/request.d.ts +21 -22
  392. package/dist/controller/helpers/request.d.ts.map +1 -1
  393. package/dist/controller/helpers/request.js +77 -71
  394. package/dist/controller/helpers/request.js.map +1 -1
  395. package/dist/controller/helpers/requestQueue.d.ts +13 -0
  396. package/dist/controller/helpers/requestQueue.d.ts.map +1 -0
  397. package/dist/controller/helpers/requestQueue.js +116 -0
  398. package/dist/controller/helpers/requestQueue.js.map +1 -0
  399. package/dist/controller/helpers/zclFrameConverter.d.ts +7 -7
  400. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  401. package/dist/controller/helpers/zclFrameConverter.js +50 -31
  402. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  403. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +5 -5
  404. package/dist/controller/helpers/zclTransactionSequenceNumber.js +13 -13
  405. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -1
  406. package/dist/controller/index.d.ts +5 -5
  407. package/dist/controller/index.js +8 -8
  408. package/dist/controller/logger-stub.d.ts +6 -6
  409. package/dist/controller/logger-stub.js +2 -2
  410. package/dist/controller/model/device.d.ts +132 -133
  411. package/dist/controller/model/device.d.ts.map +1 -1
  412. package/dist/controller/model/device.js +726 -717
  413. package/dist/controller/model/device.js.map +1 -1
  414. package/dist/controller/model/endpoint.d.ts +128 -131
  415. package/dist/controller/model/endpoint.d.ts.map +1 -1
  416. package/dist/controller/model/endpoint.js +755 -821
  417. package/dist/controller/model/endpoint.js.map +1 -1
  418. package/dist/controller/model/entity.d.ts +14 -14
  419. package/dist/controller/model/entity.js +26 -26
  420. package/dist/controller/model/entity.js.map +1 -1
  421. package/dist/controller/model/group.d.ts +38 -38
  422. package/dist/controller/model/group.d.ts.map +1 -1
  423. package/dist/controller/model/group.js +225 -221
  424. package/dist/controller/model/group.js.map +1 -1
  425. package/dist/controller/model/index.d.ts +5 -5
  426. package/dist/controller/model/index.js +14 -14
  427. package/dist/controller/touchlink.d.ts +19 -19
  428. package/dist/controller/touchlink.js +159 -157
  429. package/dist/controller/touchlink.js.map +1 -1
  430. package/dist/controller/tstype.d.ts +20 -21
  431. package/dist/controller/tstype.d.ts.map +1 -1
  432. package/dist/controller/tstype.js +8 -9
  433. package/dist/controller/tstype.js.map +1 -1
  434. package/dist/index.d.ts +3 -3
  435. package/dist/index.js +33 -33
  436. package/dist/models/backup-storage-legacy.d.ts +26 -26
  437. package/dist/models/backup-storage-legacy.js +2 -2
  438. package/dist/models/backup-storage-unified.d.ts +49 -49
  439. package/dist/models/backup-storage-unified.js +2 -2
  440. package/dist/models/backup.d.ts +37 -37
  441. package/dist/models/backup.js +2 -2
  442. package/dist/models/index.d.ts +4 -4
  443. package/dist/models/index.js +20 -20
  444. package/dist/models/network-options.d.ts +12 -12
  445. package/dist/models/network-options.js +2 -2
  446. package/dist/utils/assertString.d.ts +2 -2
  447. package/dist/utils/assertString.js +8 -8
  448. package/dist/utils/assertString.js.map +1 -1
  449. package/dist/utils/backup.d.ts +20 -20
  450. package/dist/utils/backup.d.ts.map +1 -1
  451. package/dist/utils/backup.js +189 -187
  452. package/dist/utils/backup.js.map +1 -1
  453. package/dist/utils/equalsPartial.d.ts +2 -2
  454. package/dist/utils/equalsPartial.js +11 -11
  455. package/dist/utils/index.d.ts +9 -9
  456. package/dist/utils/index.js +45 -45
  457. package/dist/utils/isNumberArray.d.ts +2 -2
  458. package/dist/utils/isNumberArray.js +6 -6
  459. package/dist/utils/queue.d.ts +11 -11
  460. package/dist/utils/queue.d.ts.map +1 -1
  461. package/dist/utils/queue.js +61 -50
  462. package/dist/utils/queue.js.map +1 -1
  463. package/dist/utils/realpathSync.d.ts +2 -2
  464. package/dist/utils/realpathSync.js +12 -12
  465. package/dist/utils/wait.d.ts +2 -2
  466. package/dist/utils/wait.js +8 -8
  467. package/dist/utils/waitress.d.ts +21 -21
  468. package/dist/utils/waitress.d.ts.map +1 -1
  469. package/dist/utils/waitress.js +68 -61
  470. package/dist/utils/waitress.js.map +1 -1
  471. package/dist/zcl/buffaloZcl.d.ts +41 -41
  472. package/dist/zcl/buffaloZcl.d.ts.map +1 -1
  473. package/dist/zcl/buffaloZcl.js +594 -591
  474. package/dist/zcl/buffaloZcl.js.map +1 -1
  475. package/dist/zcl/definition/buffaloZclDataType.d.ts +17 -17
  476. package/dist/zcl/definition/buffaloZclDataType.js +20 -20
  477. package/dist/zcl/definition/cluster.d.ts +29 -29
  478. package/dist/zcl/definition/cluster.d.ts.map +1 -1
  479. package/dist/zcl/definition/cluster.js +5530 -5335
  480. package/dist/zcl/definition/cluster.js.map +1 -1
  481. package/dist/zcl/definition/dataType.d.ts +59 -59
  482. package/dist/zcl/definition/dataType.js +64 -64
  483. package/dist/zcl/definition/direction.d.ts +5 -5
  484. package/dist/zcl/definition/direction.js +8 -8
  485. package/dist/zcl/definition/endpointDeviceType.d.ts +4 -4
  486. package/dist/zcl/definition/endpointDeviceType.js +15 -15
  487. package/dist/zcl/definition/foundation.d.ts +11 -11
  488. package/dist/zcl/definition/foundation.js +167 -167
  489. package/dist/zcl/definition/frameControl.d.ts +10 -10
  490. package/dist/zcl/definition/frameControl.js +2 -2
  491. package/dist/zcl/definition/frameType.d.ts +5 -5
  492. package/dist/zcl/definition/frameType.js +8 -8
  493. package/dist/zcl/definition/index.d.ts +13 -13
  494. package/dist/zcl/definition/index.js +51 -51
  495. package/dist/zcl/definition/manufacturerCode.d.ts +1077 -1074
  496. package/dist/zcl/definition/manufacturerCode.d.ts.map +1 -1
  497. package/dist/zcl/definition/manufacturerCode.js +1082 -1079
  498. package/dist/zcl/definition/manufacturerCode.js.map +1 -1
  499. package/dist/zcl/definition/powerSource.d.ts +4 -4
  500. package/dist/zcl/definition/powerSource.js +12 -12
  501. package/dist/zcl/definition/status.d.ts +38 -38
  502. package/dist/zcl/definition/status.js +41 -41
  503. package/dist/zcl/definition/tstype.d.ts +16 -16
  504. package/dist/zcl/definition/tstype.js +2 -2
  505. package/dist/zcl/index.d.ts +16 -16
  506. package/dist/zcl/index.js +55 -55
  507. package/dist/zcl/tstype.d.ts +56 -56
  508. package/dist/zcl/tstype.js +9 -10
  509. package/dist/zcl/tstype.js.map +1 -1
  510. package/dist/zcl/utils.d.ts +6 -6
  511. package/dist/zcl/utils.js +164 -165
  512. package/dist/zcl/utils.js.map +1 -1
  513. package/dist/zcl/zclFrame.d.ts +40 -40
  514. package/dist/zcl/zclFrame.js +351 -347
  515. package/dist/zcl/zclFrame.js.map +1 -1
  516. package/dist/zcl/zclHeader.d.ts +8 -8
  517. package/dist/zcl/zclHeader.js +2 -2
  518. package/dist/zcl/zclStatusError.d.ts +5 -5
  519. package/dist/zcl/zclStatusError.js +14 -13
  520. package/dist/zcl/zclStatusError.js.map +1 -1
  521. package/package.json +11 -11
  522. package/release-please-config.json +1 -5
  523. package/tsconfig.json +4 -2
@@ -0,0 +1,810 @@
1
+ /// <reference types="node" />
2
+ import { Adapter, TsType } from "../..";
3
+ import { LoggerStub } from "../../../controller/logger-stub";
4
+ import { Backup } from "../../../models";
5
+ import { FrameType, Direction, ZclFrame } from "../../../zcl";
6
+ import { ZclDataPayload } from "../../events";
7
+ import { EmberNetworkStatus } from "../enums";
8
+ import { EmberEUI64, EmberExtendedPanId, EmberKeyData, EmberNetworkParameters, EmberNodeId, EmberPanId } from "../types";
9
+ export type NetworkCache = {
10
+ eui64: EmberEUI64;
11
+ parameters: EmberNetworkParameters;
12
+ status: EmberNetworkStatus;
13
+ };
14
+ /**
15
+ * Use for a link key backup.
16
+ *
17
+ * Each entry notes the EUI64 of the device it is paired to and the key data.
18
+ * This key may be hashed and not the actual link key currently in use.
19
+ */
20
+ type LinkKeyBackupData = {
21
+ deviceEui64: EmberEUI64;
22
+ key: EmberKeyData;
23
+ outgoingFrameCounter: number;
24
+ incomingFrameCounter: number;
25
+ };
26
+ /**
27
+ * Relay calls between Z2M and EZSP-layer and handle any error that might occur via queue & waitress.
28
+ *
29
+ * Anything post `start` that requests anything from the EZSP layer must run through the request queue for proper execution flow.
30
+ */
31
+ export declare class EmberAdapter extends Adapter {
32
+ /** Key in STACK_CONFIGS */
33
+ readonly stackConfig: 'default' | 'zigbeed';
34
+ /** EMBER_LOW_RAM_CONCENTRATOR or EMBER_HIGH_RAM_CONCENTRATOR. */
35
+ private concentratorType;
36
+ private readonly ezsp;
37
+ private version;
38
+ private readonly requestQueue;
39
+ private readonly oneWaitress;
40
+ /** Periodically retrieve counters then clear them. */
41
+ private watchdogCountersHandle;
42
+ /** Hold ZDO request in process. */
43
+ private readonly zdoRequestBuffalo;
44
+ /** Sequence number used for ZDO requests. static uint8_t */
45
+ private zdoRequestSequence;
46
+ /** Default radius used for broadcast ZDO requests. uint8_t */
47
+ private zdoRequestRadius;
48
+ private interpanLock;
49
+ /**
50
+ * Cached network params to avoid NCP calls. Prevents frequent EZSP transactions.
51
+ * NOTE: Do not use directly, use getter functions for it that check if valid or need retrieval from NCP.
52
+ */
53
+ private networkCache;
54
+ private defaultApsOptions;
55
+ /**
56
+ * Mirrors the NCP multicast table. null === not in use.
57
+ * Index 0 is Green Power and must always remain there.
58
+ */
59
+ private multicastTable;
60
+ constructor(networkOptions: TsType.NetworkOptions, serialPortOptions: TsType.SerialPortOptions, backupPath: string, adapterOptions: TsType.AdapterOptions, logger?: LoggerStub);
61
+ /**
62
+ * Emitted from @see Ezsp.ezspStackStatusHandler
63
+ * @param status
64
+ */
65
+ private onStackStatus;
66
+ /**
67
+ * Emitted from @see Ezsp.ezspMessageSentHandler
68
+ * WARNING: Cannot rely on `ezspMessageSentHandler` > `ezspIncomingMessageHandler` order, some devices mix it up!
69
+ *
70
+ * @param type
71
+ * @param indexOrDestination
72
+ * @param apsFrame
73
+ * @param messageTag
74
+ */
75
+ private onMessageSentDeliveryFailed;
76
+ /**
77
+ * Emitted from @see Ezsp.ezspIncomingMessageHandler
78
+ *
79
+ * @param clusterId The ZDO response cluster ID.
80
+ * @param sender The sender of the response. Should match `payload.nodeId` in many responses.
81
+ * @param payload If null, the response indicated a failure.
82
+ */
83
+ private onZDOResponse;
84
+ /**
85
+ * Emitted from @see Ezsp.ezspIncomingMessageHandler
86
+ *
87
+ * @param sender
88
+ * @param nodeId
89
+ * @param eui64
90
+ * @param macCapFlags
91
+ */
92
+ private onEndDeviceAnnounce;
93
+ /**
94
+ * Emitted from @see Ezsp.ezspIncomingMessageHandler
95
+ *
96
+ * @param type
97
+ * @param apsFrame
98
+ * @param lastHopLqi
99
+ * @param sender
100
+ * @param messageContents
101
+ */
102
+ private onIncomingMessage;
103
+ /**
104
+ * Emitted from @see Ezsp.ezspMacFilterMatchMessageHandler when the message is a valid InterPAN touchlink message.
105
+ *
106
+ * @param sourcePanId
107
+ * @param sourceAddress
108
+ * @param groupId
109
+ * @param lastHopLqi
110
+ * @param messageContents
111
+ */
112
+ private onTouchlinkMessage;
113
+ /**
114
+ * Emitted from @see Ezsp.ezspGpepIncomingMessageHandler
115
+ *
116
+ * @param sequenceNumber
117
+ * @param commandIdentifier
118
+ * @param sourceId
119
+ * @param frameCounter
120
+ * @param gpdCommandId
121
+ * @param gpdCommandPayload
122
+ * @param gpdLink
123
+ */
124
+ private onGreenpowerMessage;
125
+ /**
126
+ * Emitted from @see Ezsp.ezspTrustCenterJoinHandler
127
+ *
128
+ * @param newNodeId
129
+ * @param newNodeEui64
130
+ * @param status
131
+ * @param policyDecision
132
+ * @param parentOfNewNodeId
133
+ */
134
+ private onTrustCenterJoin;
135
+ private watchdogCounters;
136
+ private initVariables;
137
+ /**
138
+ * Proceed to execute the long list of commands required to setup comms between Host<>NCP.
139
+ * This is called by start and on internal reset.
140
+ */
141
+ private initEzsp;
142
+ /**
143
+ * NCP Config init. Should always be called first in the init stack (after version cmd).
144
+ * @returns
145
+ */
146
+ private initNCPPreConfiguration;
147
+ /**
148
+ * NCP Address table init.
149
+ * @returns
150
+ */
151
+ private initNCPAddressTable;
152
+ /**
153
+ * NCP configuration init
154
+ */
155
+ private initNCPConfiguration;
156
+ /**
157
+ * NCP concentrator init. Also enables source route discovery mode with RESCHEDULE.
158
+ *
159
+ * From AN1233:
160
+ * To function correctly in a Zigbee PRO network, a trust center also requires that:
161
+ *
162
+ * 1. The trust center application must act as a concentrator (either high or low RAM).
163
+ * 2. The trust center application must have support for source routing.
164
+ * It must record the source routes and properly handle requests by the stack for a particular source route.
165
+ * 3. The trust center application must use an address cache for security, in order to maintain a mapping of IEEE address to short ID.
166
+ *
167
+ * Failure to satisfy all of the above requirements may result in failures when joining/rejoining devices to the network across multiple hops
168
+ * (through a target node that is neither the trust center nor one of its neighboring routers.)
169
+ */
170
+ private initNCPConcentrator;
171
+ /**
172
+ * Register fixed endpoints and set any related multicast entries that need to be.
173
+ */
174
+ private registerFixedEndpoints;
175
+ /**
176
+ *
177
+ * @returns True if the network needed to be formed.
178
+ */
179
+ private initTrustCenter;
180
+ /**
181
+ * Form a network using given parameters.
182
+ */
183
+ private formNetwork;
184
+ /**
185
+ * Loads currently stored backup and returns it in internal backup model.
186
+ */
187
+ getStoredBackup(): Promise<Backup>;
188
+ /**
189
+ * Export link keys for backup.
190
+ *
191
+ * @return List of keys data with AES hashed keys
192
+ */
193
+ exportLinkKeys(): Promise<LinkKeyBackupData[]>;
194
+ /**
195
+ * Import link keys from backup.
196
+ *
197
+ * @param backupData
198
+ */
199
+ importLinkKeys(backupData: LinkKeyBackupData[]): Promise<void>;
200
+ /**
201
+ * Routine to update the network key and broadcast the update to the network after a set time.
202
+ * NOTE: This should run at a large interval, but before the uint32_t of the frame counter is able to reach all Fs (can't wrap to 0).
203
+ * This may disrupt sleepy end devices that miss the update, but they should be able to TC rejoin (in most cases...).
204
+ * On the other hand, the more often this runs, the more secure the network is...
205
+ */
206
+ private broadcastNetworkKeyUpdate;
207
+ /**
208
+ * Received when EZSP layer alerts of a problem that needs the NCP to be reset.
209
+ * @param status
210
+ */
211
+ private onNcpNeedsResetAndInit;
212
+ /**
213
+ * Called right before a NCP reset.
214
+ */
215
+ private onNCPPreReset;
216
+ /**
217
+ * Called right after a NCP reset, right before the creation of endpoints.
218
+ */
219
+ private onNCPPostReset;
220
+ /**
221
+ * Handle changes in groups that needs to be propagated to the NCP multicast table.
222
+ *
223
+ * XXX: Since Z2M doesn't explicitly check-in downstream when groups are created/removed, we look at outgoing genGroups commands.
224
+ * If the NCP doesn't know about groups, it can miss messages from some devices (remotes for example), so we add it...
225
+ *
226
+ * @param commandId
227
+ * @param groupId
228
+ */
229
+ private onGroupChange;
230
+ /**
231
+ * Clear the cached network values (set to invalid values).
232
+ */
233
+ private clearNetworkCache;
234
+ /**
235
+ * Return the current network state.
236
+ * This call caches the results on the host to prevent frequent EZSP transactions.
237
+ * Check against UNKNOWN_NETWORK_STATE for validity.
238
+ */
239
+ emberNetworkState(): Promise<EmberNetworkStatus>;
240
+ /**
241
+ * Return the EUI 64 of the local node
242
+ * This call caches the results on the host to prevent frequent EZSP transactions.
243
+ * Check against BLANK_EUI64 for validity.
244
+ */
245
+ emberGetEui64(): Promise<EmberEUI64>;
246
+ /**
247
+ * Return the PAN ID of the local node.
248
+ * This call caches the results on the host to prevent frequent EZSP transactions.
249
+ * Check against INVALID_PAN_ID for validity.
250
+ */
251
+ emberGetPanId(): Promise<EmberPanId>;
252
+ /**
253
+ * Return the Extended PAN ID of the local node.
254
+ * This call caches the results on the host to prevent frequent EZSP transactions.
255
+ * Check against BLANK_EXTENDED_PAN_ID for validity.
256
+ */
257
+ emberGetExtendedPanId(): Promise<EmberExtendedPanId>;
258
+ /**
259
+ * Return the radio channel (uint8_t) of the current network.
260
+ * This call caches the results on the host to prevent frequent EZSP transactions.
261
+ * Check against INVALID_RADIO_CHANNEL for validity.
262
+ */
263
+ emberGetRadioChannel(): Promise<number>;
264
+ emberStartEnergyScan(): Promise<void>;
265
+ /**
266
+ * Ensure the Host & NCP are aligned on protocols using version.
267
+ * Cache the retrieved information.
268
+ *
269
+ * NOTE: currently throws on mismatch until support for lower versions is implemented (not planned atm)
270
+ *
271
+ * Does nothing if ncpNeedsResetAndInit == true.
272
+ */
273
+ private emberVersion;
274
+ /**
275
+ * This function sets an EZSP config value.
276
+ * WARNING: Do not call for values that cannot be set after init without first resetting NCP (like table sizes).
277
+ * To avoid an extra NCP call, this does not check for it.
278
+ * @param configId
279
+ * @param value uint16_t
280
+ * @returns
281
+ */
282
+ private emberSetEzspConfigValue;
283
+ /**
284
+ * This function sets an EZSP value.
285
+ * @param valueId
286
+ * @param valueLength uint8_t
287
+ * @param value uint8_t *
288
+ * @returns
289
+ */
290
+ private emberSetEzspValue;
291
+ /**
292
+ * This function sets an EZSP policy.
293
+ * @param policyId
294
+ * @param decisionId Can be bitop
295
+ * @returns
296
+ */
297
+ private emberSetEzspPolicy;
298
+ /**
299
+ * Here we convert the normal Ember AES hash call to the specialized EZSP call.
300
+ * This came about because we cannot pass a block of data that is
301
+ * both input and output into EZSP. The block must be broken up into two
302
+ * elements. We unify the two pieces here to make it invisible to the users.
303
+ * @param context EmberAesMmoHashContext *
304
+ * @param finalize
305
+ * @param data uint8_t * Expected of valid length (as in, not larger alloc)
306
+ * @returns status
307
+ * @returns result context or null
308
+ */
309
+ private aesMmoHash;
310
+ /**
311
+ * This routine processes the passed chunk of data and updates
312
+ * the hash calculation based on it. The data passed in MUST
313
+ * have a length that is a multiple of 16.
314
+ *
315
+ * @param context EmberAesMmoHashContext* A pointer to the location of the hash context to update.
316
+ * @param data const uint8_t* A pointer to the location of the data to hash.
317
+ *
318
+ * @returns An ::EmberStatus value indicating EMBER_SUCCESS if the hash was
319
+ * calculated successfully. EMBER_INVALID_CALL if the block size is not a
320
+ * multiple of 16 bytes, and EMBER_INDEX_OUT_OF_RANGE is returned when the
321
+ * data exceeds the maximum limits of the hash function.
322
+ * @returns result context or null
323
+ */
324
+ private emberAesMmoHashUpdate;
325
+ /**
326
+ * This routine processes the passed chunk of data (if non-NULL)
327
+ * and update the hash context that is passed in. In then performs
328
+ * the final calculations on the hash and returns the final answer
329
+ * in the result parameter of the ::EmberAesMmoHashContext structure.
330
+ * The length of the data passed in may be any value, it does not have
331
+ * to be a multiple of 16.
332
+ *
333
+ * @param context EmberAesMmoHashContext * A pointer to the location of the hash context to finalize.
334
+ * @param data uint8_t * A pointer to the location of data to hash. May be NULL.
335
+ *
336
+ * @returns An ::EmberStatus value indicating EMBER_SUCCESS if the hash was
337
+ * calculated successfully. EMBER_INVALID_CALL if the block size is not a
338
+ * multiple of 16 bytes, and EMBER_INDEX_OUT_OF_RANGE is returned when the
339
+ * data exceeds the maximum limits of the hash function.
340
+ * @returns result context or null
341
+ */
342
+ private emberAesMmoHashFinal;
343
+ /**
344
+ * This is a convenience method when the hash data is less than 255
345
+ * bytes. It inits, updates, and finalizes the hash in one function call.
346
+ *
347
+ * @param data const uint8_t* The data to hash. Expected of valid length (as in, not larger alloc)
348
+ *
349
+ * @returns An ::EmberStatus value indicating EMBER_SUCCESS if the hash was
350
+ * calculated successfully. EMBER_INVALID_CALL if the block size is not a
351
+ * multiple of 16 bytes, and EMBER_INDEX_OUT_OF_RANGE is returned when the
352
+ * data exceeds the maximum limits of the hash function.
353
+ * @returns result uint8_t* The location where the result of the hash will be written.
354
+ */
355
+ private emberAesHashSimple;
356
+ /**
357
+ * Enable local permit join and optionally broadcast the ZDO Mgmt_Permit_Join_req message.
358
+ * This API can be called from any device type and still return EMBER_SUCCESS.
359
+ * If the API is called from an end device, the permit association bit will just be left off.
360
+ *
361
+ * @param duration uint8_t The duration that the permit join bit will remain on
362
+ * and other devices will be able to join the current network.
363
+ * @param broadcastMgmtPermitJoin whether or not to broadcast the ZDO Mgmt_Permit_Join_req message.
364
+ *
365
+ * @returns status of whether or not permit join was enabled.
366
+ * @returns apsFrame Will be null if not broadcasting.
367
+ * @returns messageTag The tag passed to ezspSend${x} function.
368
+ */
369
+ private emberPermitJoining;
370
+ /**
371
+ * Set the trust center policy bitmask using decision.
372
+ * @param decision
373
+ * @returns
374
+ */
375
+ private emberSetJoinPolicy;
376
+ /**
377
+ * Get Source Route Overhead
378
+ *
379
+ * Returns the number of bytes needed in a packet for source routing.
380
+ * Since each hop consumes 2 bytes in the packet, this routine calculates the
381
+ * total number of bytes needed based on number of hops to reach the destination.
382
+ *
383
+ * This function is called by the framework to determine the overhead required
384
+ * in the network frame for source routing to a particular destination.
385
+ *
386
+ * @param destination The node id of the destination Ver.: always
387
+ * @returns int8u The number of bytes needed for source routing in a packet.
388
+ */
389
+ emberGetSourceRouteOverhead(destination: EmberNodeId): Promise<number>;
390
+ /**
391
+ * Return the maximum size of the payload that the Application Support sub-layer will accept for
392
+ * the given message type, destination, and APS frame.
393
+ *
394
+ * The size depends on multiple factors, including the security level in use and additional information
395
+ * added to the message to support the various options.
396
+ *
397
+ * @param type The outgoing message type.
398
+ * @param indexOrDestination uint16_t Depending on the message type, this is either the
399
+ * EmberNodeId of the destination, an index into the address table, an index
400
+ * into the binding table, the multicast identifier, or a broadcast address.
401
+ * @param apsFrame EmberApsFrame *The APS frame for the message.
402
+ * @return uint8_t The maximum APS payload length for the given message.
403
+ */
404
+ private maximumApsPayloadLength;
405
+ /**
406
+ * ZDO
407
+ * Change the default radius for broadcast ZDO requests
408
+ *
409
+ * @param radius uint8_t The radius to be used for future ZDO request broadcasts.
410
+ */
411
+ private setZDORequestRadius;
412
+ /**
413
+ * ZDO
414
+ * Retrieve the default radius for broadcast ZDO requests
415
+ *
416
+ * @return uint8_t The radius to be used for future ZDO request broadcasts.
417
+ */
418
+ private getZDORequestRadius;
419
+ /**
420
+ * ZDO
421
+ * Get the next device request sequence number.
422
+ *
423
+ * Requests have sequence numbers so that they can be matched up with the
424
+ * responses. To avoid complexities, the library uses numbers with the high
425
+ * bit clear and the stack uses numbers with the high bit set.
426
+ *
427
+ * @return uint8_t The next device request sequence number
428
+ */
429
+ private nextZDORequestSequence;
430
+ /**
431
+ * ZDO
432
+ *
433
+ * @param destination
434
+ * @param clusterId uint16_t
435
+ * @param options
436
+ * @param length uint8_t
437
+ * @returns status Indicates success or failure (with reason) of send
438
+ * @returns apsFrame The APS Frame resulting of the request being built and sent (`sequence` set from stack-given value).
439
+ * @returns messageTag The tag passed to ezspSend${x} function.
440
+ */
441
+ private sendZDORequestBuffer;
442
+ /**
443
+ * ZDO
444
+ * Service Discovery Functions
445
+ * Request the specified node to send a list of its endpoints that
446
+ * match the specified application profile and, optionally, lists of input
447
+ * and/or output clusters.
448
+ * @param target The node whose matching endpoints are desired. The request can
449
+ * be sent unicast or broadcast ONLY to the "RX-on-when-idle-address" (0xFFFD)
450
+ * If sent as a broadcast, any node that has matching endpoints will send a
451
+ * response.
452
+ * @param profile uint16_t The application profile to match.
453
+ * @param inCount uint8_t The number of input clusters. To not match any input
454
+ * clusters, set this value to 0.
455
+ * @param outCount uint8_t The number of output clusters. To not match any output
456
+ * clusters, set this value to 0.
457
+ * @param inClusters uint16_t * The list of input clusters.
458
+ * @param outClusters uint16_t * The list of output clusters.
459
+ * @param options The options to use when sending the unicast request. See
460
+ * emberSendUnicast() for a description. This parameter is ignored if the target
461
+ * is a broadcast address.
462
+ * @returns An EmberStatus value. EMBER_SUCCESS, MESSAGE_TOO_LONG,
463
+ * EMBER_NETWORK_DOWN or EMBER_NETWORK_BUSY.
464
+ */
465
+ private emberMatchDescriptorsRequest;
466
+ /**
467
+ * ZDO
468
+ * Device Discovery Functions
469
+ * Request the 16 bit network address of a node whose EUI64 is known.
470
+ *
471
+ * @param target The EUI64 of the node.
472
+ * @param reportKids true to request that the target list their children
473
+ * in the response.
474
+ * @param childStartIndex uint8_t The index of the first child to list in the response.
475
+ * Ignored if @c reportKids is false.
476
+ *
477
+ * @return An ::EmberStatus value.
478
+ * - ::EMBER_SUCCESS - The request was transmitted successfully.
479
+ * - ::EMBER_NO_BUFFERS - Insufficient message buffers were available to construct the request.
480
+ * - ::EMBER_NETWORK_DOWN - The node is not part of a network.
481
+ * - ::EMBER_NETWORK_BUSY - Transmission of the request failed.
482
+ */
483
+ private emberNetworkAddressRequest;
484
+ /**
485
+ * ZDO
486
+ * Device Discovery Functions
487
+ * @brief Request the EUI64 of a node whose 16 bit network address is known.
488
+ *
489
+ * @param target uint16_t The network address of the node.
490
+ * @param reportKids uint8_t true to request that the target list their children
491
+ * in the response.
492
+ * @param childStartIndex uint8_t The index of the first child to list in the response.
493
+ * Ignored if reportKids is false.
494
+ * @param options The options to use when sending the request. See ::emberSendUnicast() for a description.
495
+ *
496
+ * @return An ::EmberStatus value.
497
+ * - ::EMBER_SUCCESS
498
+ * - ::EMBER_NO_BUFFERS
499
+ * - ::EMBER_NETWORK_DOWN
500
+ * - ::EMBER_NETWORK_BUSY
501
+ */
502
+ private emberIeeeAddressRequest;
503
+ /**
504
+ * ZDO
505
+ * @param discoveryNodeId uint16_t
506
+ * @param reportKids uint8_t
507
+ * @param childStartIndex uint8_t
508
+ * @param options
509
+ * @param targetNodeIdOfRequest
510
+ */
511
+ private emberIeeeAddressRequestToTarget;
512
+ /**
513
+ * ZDO
514
+ *
515
+ * @param target uint16_t
516
+ * @param clusterId uint16_t
517
+ * @param options
518
+ * @returns
519
+ */
520
+ private emberSendZigDevRequestTarget;
521
+ /**
522
+ * ZDO
523
+ * @brief Request the specified node to send the simple descriptor for
524
+ * the specified endpoint.
525
+ * The simple descriptor contains information specific
526
+ * to a single endpoint. It describes the application profile identifier,
527
+ * application device identifier, application device version, application flags,
528
+ * application input clusters and application output clusters. It is defined in
529
+ * the ZigBee Application Framework Specification.
530
+ *
531
+ * @param target uint16_t The node of interest.
532
+ * @param targetEndpoint uint8_t The endpoint on the target node whose simple
533
+ * descriptor is desired.
534
+ * @param options The options to use when sending the request. See
535
+ * emberSendUnicast() for a description.
536
+ *
537
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
538
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
539
+ */
540
+ private emberSimpleDescriptorRequest;
541
+ /**
542
+ * ZDO
543
+ * Common logic used by `emberBindRequest` & `emberUnbindRequest`.
544
+ *
545
+ * @param target
546
+ * @param bindClusterId
547
+ * @param source
548
+ * @param sourceEndpoint
549
+ * @param clusterId
550
+ * @param type
551
+ * @param destination
552
+ * @param groupAddress
553
+ * @param destinationEndpoint
554
+ * @param options
555
+ *
556
+ * @returns An ::EmberStatus value.
557
+ * - ::EMBER_SUCCESS
558
+ * - ::EMBER_NO_BUFFERS
559
+ * - ::EMBER_NETWORK_DOWN
560
+ * - ::EMBER_NETWORK_BUSY
561
+ * @returns APS frame created for the request
562
+ * @returns The tag used on the message.
563
+ */
564
+ private emberSendZigDevBindRequest;
565
+ /**
566
+ * ZDO
567
+ * Send a request to create a binding entry with the specified
568
+ * contents on the specified node.
569
+ *
570
+ * @param target The node on which the binding will be created.
571
+ * @param source The source EUI64 in the binding entry.
572
+ * @param sourceEndpoint The source endpoint in the binding entry.
573
+ * @param clusterId The cluster ID in the binding entry.
574
+ * @param type The type of binding, either ::UNICAST_BINDING,
575
+ * ::MULTICAST_BINDING, or ::UNICAST_MANY_TO_ONE_BINDING.
576
+ * ::UNICAST_MANY_TO_ONE_BINDING is an Ember-specific extension
577
+ * and should be used only when the target is an Ember device.
578
+ * @param destination The destination EUI64 in the binding entry for
579
+ * ::UNICAST_BINDING or ::UNICAST_MANY_TO_ONE_BINDING.
580
+ * @param groupAddress The group address for the ::MULTICAST_BINDING.
581
+ * @param destinationEndpoint The destination endpoint in the binding entry for
582
+ * the ::UNICAST_BINDING or ::UNICAST_MANY_TO_ONE_BINDING.
583
+ * @param options The options to use when sending the request. See
584
+ * emberSendUnicast() for a description.
585
+ *
586
+ * @returns An ::EmberStatus value.
587
+ * - ::EMBER_SUCCESS
588
+ * - ::EMBER_NO_BUFFERS
589
+ * - ::EMBER_NETWORK_DOWN
590
+ * - ::EMBER_NETWORK_BUSY
591
+ * @returns APS frame created for the request
592
+ * @returns The tag used on the message.
593
+ */
594
+ private emberBindRequest;
595
+ /**
596
+ * ZDO
597
+ * Send a request to remove a binding entry with the specified
598
+ * contents from the specified node.
599
+ *
600
+ * @param target The node on which the binding will be removed.
601
+ * @param source The source EUI64 in the binding entry.
602
+ * @param sourceEndpoint uint8_t The source endpoint in the binding entry.
603
+ * @param clusterId uint16_t The cluster ID in the binding entry.
604
+ * @param type uint8_t The type of binding, either ::UNICAST_BINDING,
605
+ * ::MULTICAST_BINDING, or ::UNICAST_MANY_TO_ONE_BINDING.
606
+ * ::UNICAST_MANY_TO_ONE_BINDING is an Ember-specific extension
607
+ * and should be used only when the target is an Ember device.
608
+ * @param destination The destination EUI64 in the binding entry for the
609
+ * ::UNICAST_BINDING or ::UNICAST_MANY_TO_ONE_BINDING.
610
+ * @param groupAddress The group address for the ::MULTICAST_BINDING.
611
+ * @param destinationEndpoint uint8_t The destination endpoint in the binding entry for
612
+ * the ::UNICAST_BINDING or ::UNICAST_MANY_TO_ONE_BINDING.
613
+ * @param options The options to use when sending the request. See
614
+ * emberSendUnicast() for a description.
615
+ *
616
+ * @returns An ::EmberStatus value.
617
+ * - ::EMBER_SUCCESS
618
+ * - ::EMBER_NO_BUFFERS
619
+ * - ::EMBER_NETWORK_DOWN
620
+ * - ::EMBER_NETWORK_BUSY
621
+ * @returns APS frame created for the request
622
+ * @returns The tag used on the message.
623
+ */
624
+ private emberUnbindRequest;
625
+ /**
626
+ * ZDO
627
+ * Request the specified node to send a list of its active
628
+ * endpoints. An active endpoint is one for which a simple descriptor is
629
+ * available.
630
+ *
631
+ * @param target The node whose active endpoints are desired.
632
+ * @param options The options to use when sending the request. See
633
+ * emberSendUnicast() for a description.
634
+ *
635
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
636
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
637
+ */
638
+ private emberActiveEndpointsRequest;
639
+ /**
640
+ * ZDO
641
+ * Request the specified node to send its power descriptor.
642
+ * The power descriptor gives a dynamic indication of the power
643
+ * status of the node. It describes current power mode,
644
+ * available power sources, current power source and
645
+ * current power source level. It is defined in the ZigBee
646
+ * Application Framework Specification.
647
+ *
648
+ * @param target The node whose power descriptor is desired.
649
+ * @param options The options to use when sending the request. See
650
+ * emberSendUnicast() for a description.
651
+ *
652
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
653
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
654
+ */
655
+ private emberPowerDescriptorRequest;
656
+ /**
657
+ * ZDO
658
+ * Request the specified node to send its node descriptor.
659
+ * The node descriptor contains information about the capabilities of the ZigBee
660
+ * node. It describes logical type, APS flags, frequency band, MAC capabilities
661
+ * flags, manufacturer code and maximum buffer size. It is defined in the ZigBee
662
+ * Application Framework Specification.
663
+ *
664
+ * @param target The node whose node descriptor is desired.
665
+ * @param options The options to use when sending the request. See
666
+ * emberSendUnicast() for a description.
667
+ *
668
+ * @return An ::EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
669
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
670
+ */
671
+ private emberNodeDescriptorRequest;
672
+ /**
673
+ * ZDO
674
+ * Request the specified node to send its LQI (neighbor) table.
675
+ * The response gives PAN ID, EUI64, node ID and cost for each neighbor. The
676
+ * EUI64 is only available if security is enabled. The other fields in the
677
+ * response are set to zero. The response format is defined in the ZigBee Device
678
+ * Profile Specification.
679
+ *
680
+ * @param target The node whose LQI table is desired.
681
+ * @param startIndex uint8_t The index of the first neighbor to include in the
682
+ * response.
683
+ * @param options The options to use when sending the request. See
684
+ * emberSendUnicast() for a description.
685
+ *
686
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
687
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
688
+ */
689
+ private emberLqiTableRequest;
690
+ /**
691
+ * ZDO
692
+ * Request the specified node to send its routing table.
693
+ * The response gives destination node ID, status and many-to-one flags,
694
+ * and the next hop node ID.
695
+ * The response format is defined in the ZigBee Device
696
+ * Profile Specification.
697
+ *
698
+ * @param target The node whose routing table is desired.
699
+ * @param startIndex uint8_t The index of the first route entry to include in the
700
+ * response.
701
+ * @param options The options to use when sending the request. See
702
+ * emberSendUnicast() for a description.
703
+ *
704
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
705
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
706
+ */
707
+ private emberRoutingTableRequest;
708
+ /**
709
+ * ZDO
710
+ * Request the specified node to send its nonvolatile bindings.
711
+ * The response gives source address, source endpoint, cluster ID, destination
712
+ * address and destination endpoint for each binding entry. The response format
713
+ * is defined in the ZigBee Device Profile Specification.
714
+ * Note that bindings that have the Ember-specific ::UNICAST_MANY_TO_ONE_BINDING
715
+ * type are reported as having the standard ::UNICAST_BINDING type.
716
+ *
717
+ * @param target The node whose binding table is desired.
718
+ * @param startIndex uint8_t The index of the first binding entry to include in the
719
+ * response.
720
+ * @param options The options to use when sending the request. See
721
+ * emberSendUnicast() for a description.
722
+ *
723
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
724
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
725
+ */
726
+ private emberBindingTableRequest;
727
+ /**
728
+ * ZDO
729
+ *
730
+ * @param clusterId uint16_t
731
+ * @param target
732
+ * @param startIndex uint8_t
733
+ * @param options
734
+ * @returns
735
+ */
736
+ private emberTableRequest;
737
+ /**
738
+ * ZDO
739
+ * Request the specified node to remove the specified device from
740
+ * the network. The device to be removed must be the node to which the request
741
+ * is sent or one of its children.
742
+ *
743
+ * @param target The node which will remove the device.
744
+ * @param deviceAddress All zeros if the target is to remove itself from
745
+ * the network or the EUI64 of a child of the target device to remove
746
+ * that child.
747
+ * @param leaveRequestFlags uint8_t A bitmask of leave options.
748
+ * Include ::AND_REJOIN if the target is to rejoin the network immediately after leaving.
749
+ * @param options The options to use when sending the request. See
750
+ * emberSendUnicast() for a description.
751
+ *
752
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
753
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
754
+ */
755
+ private emberLeaveRequest;
756
+ /**
757
+ * ZDO
758
+ * Request the specified node to allow or disallow association.
759
+ *
760
+ * @param target The node which will allow or disallow association. The request
761
+ * can be broadcast by using a broadcast address (0xFFFC/0xFFFD/0xFFFF). No
762
+ * response is sent if the request is broadcast.
763
+ * @param duration uint8_t A value of 0x00 disables joining. A value of 0xFF enables
764
+ * joining. Any other value enables joining for that number of seconds.
765
+ * @param authentication uint8_t Controls Trust Center authentication behavior.
766
+ * @param options The options to use when sending the request. See
767
+ * emberSendUnicast() for a description. This parameter is ignored if the target
768
+ * is a broadcast address.
769
+ *
770
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
771
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
772
+ */
773
+ private emberPermitJoiningRequest;
774
+ static isValidPath(path: string): Promise<boolean>;
775
+ static autoDetectPath(): Promise<string>;
776
+ start(): Promise<TsType.StartResult>;
777
+ stop(): Promise<void>;
778
+ getCoordinator(): Promise<TsType.Coordinator>;
779
+ getCoordinatorVersion(): Promise<TsType.CoordinatorVersion>;
780
+ reset(type: "soft" | "hard"): Promise<void>;
781
+ supportsBackup(): Promise<boolean>;
782
+ backup(ieeeAddressesInDatabase: string[]): Promise<Backup>;
783
+ getNetworkParameters(): Promise<TsType.NetworkParameters>;
784
+ setTransmitPower(value: number): Promise<void>;
785
+ addInstallCode(ieeeAddress: string, key: Buffer): Promise<void>;
786
+ /** WARNING: Adapter impl. Starts timer immediately upon returning */
787
+ waitFor(networkAddress: number, endpoint: number, frameType: FrameType, direction: Direction, transactionSequenceNumber: number, clusterID: number, commandIdentifier: number, timeout: number): {
788
+ promise: Promise<ZclDataPayload>;
789
+ cancel: () => void;
790
+ };
791
+ permitJoin(seconds: number, networkAddress: number): Promise<void>;
792
+ lqi(networkAddress: number): Promise<TsType.LQI>;
793
+ routingTable(networkAddress: number): Promise<TsType.RoutingTable>;
794
+ nodeDescriptor(networkAddress: number): Promise<TsType.NodeDescriptor>;
795
+ activeEndpoints(networkAddress: number): Promise<TsType.ActiveEndpoints>;
796
+ simpleDescriptor(networkAddress: number, endpointID: number): Promise<TsType.SimpleDescriptor>;
797
+ bind(destinationNetworkAddress: number, sourceIeeeAddress: string, sourceEndpoint: number, clusterID: number, destinationAddressOrGroup: string | number, type: "endpoint" | "group", destinationEndpoint?: number): Promise<void>;
798
+ unbind(destinationNetworkAddress: number, sourceIeeeAddress: string, sourceEndpoint: number, clusterID: number, destinationAddressOrGroup: string | number, type: "endpoint" | "group", destinationEndpoint: number): Promise<void>;
799
+ removeDevice(networkAddress: number, ieeeAddr: string): Promise<void>;
800
+ sendZclFrameToEndpoint(ieeeAddr: string, networkAddress: number, endpoint: number, zclFrame: ZclFrame, timeout: number, disableResponse: boolean, disableRecovery: boolean, sourceEndpoint?: number): Promise<ZclDataPayload>;
801
+ sendZclFrameToGroup(groupID: number, zclFrame: ZclFrame, sourceEndpoint?: number): Promise<void>;
802
+ sendZclFrameToAll(endpoint: number, zclFrame: ZclFrame, sourceEndpoint: number): Promise<void>;
803
+ setChannelInterPAN(channel: number): Promise<void>;
804
+ sendZclFrameInterPANToIeeeAddr(zclFrame: ZclFrame, ieeeAddress: string): Promise<void>;
805
+ sendZclFrameInterPANBroadcast(zclFrame: ZclFrame, timeout: number): Promise<ZclDataPayload>;
806
+ restoreChannelInterPAN(): Promise<void>;
807
+ private checkInterpanLock;
808
+ }
809
+ export {};
810
+ //# sourceMappingURL=emberAdapter.d.ts.map