@willieee802/zigbee-herdsman 0.19.21 → 0.34.3

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 (522) hide show
  1. package/.babelrc.js +0 -4
  2. package/.release-please-manifest.json +1 -2
  3. package/CHANGELOG.md +376 -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 +817 -0
  32. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -0
  33. package/dist/adapter/ember/adapter/emberAdapter.js +2981 -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 +97 -0
  44. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -0
  45. package/dist/adapter/ember/adapter/oneWaitress.js +226 -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 +2184 -0
  60. package/dist/adapter/ember/enums.d.ts.map +1 -0
  61. package/dist/adapter/ember/enums.js +2391 -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 +2664 -0
  76. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -0
  77. package/dist/adapter/ember/ezsp/ezsp.js +6438 -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 +451 -0
  84. package/dist/adapter/ember/uart/ash.d.ts.map +1 -0
  85. package/dist/adapter/ember/uart/ash.js +1584 -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 +9 -9
  123. package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
  124. package/dist/adapter/ezsp/adapter/backup.js +72 -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 +629 -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 +106 -101
  139. package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
  140. package/dist/adapter/ezsp/driver/driver.js +731 -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 +651 -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 +18 -18
  182. package/dist/adapter/ezsp/driver/utils/index.js +72 -67
  183. package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
  184. package/dist/adapter/ezsp/driver/writer.d.ts +13 -13
  185. package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -1
  186. package/dist/adapter/ezsp/driver/writer.js +85 -88
  187. package/dist/adapter/ezsp/driver/writer.js.map +1 -1
  188. package/dist/adapter/index.d.ts +4 -4
  189. package/dist/adapter/index.js +35 -35
  190. package/dist/adapter/serialPort.d.ts +10 -8
  191. package/dist/adapter/serialPort.d.ts.map +1 -1
  192. package/dist/adapter/serialPort.js +53 -22
  193. package/dist/adapter/serialPort.js.map +1 -1
  194. package/dist/adapter/serialPortUtils.d.ts +12 -12
  195. package/dist/adapter/serialPortUtils.js +18 -18
  196. package/dist/adapter/serialPortUtils.js.map +1 -1
  197. package/dist/adapter/socketPortUtils.d.ts +10 -10
  198. package/dist/adapter/socketPortUtils.js +16 -16
  199. package/dist/adapter/tstype.d.ts +85 -85
  200. package/dist/adapter/tstype.d.ts.map +1 -1
  201. package/dist/adapter/tstype.js +2 -2
  202. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +62 -62
  203. package/dist/adapter/z-stack/adapter/adapter-backup.js +462 -461
  204. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  205. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +150 -150
  206. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +258 -258
  207. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
  208. package/dist/adapter/z-stack/adapter/endpoints.d.ts +11 -11
  209. package/dist/adapter/z-stack/adapter/endpoints.js +73 -73
  210. package/dist/adapter/z-stack/adapter/index.d.ts +2 -2
  211. package/dist/adapter/z-stack/adapter/index.js +8 -8
  212. package/dist/adapter/z-stack/adapter/manager.d.ts +86 -86
  213. package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
  214. package/dist/adapter/z-stack/adapter/manager.js +482 -476
  215. package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
  216. package/dist/adapter/z-stack/adapter/tstype.d.ts +6 -6
  217. package/dist/adapter/z-stack/adapter/tstype.js +9 -10
  218. package/dist/adapter/z-stack/adapter/tstype.js.map +1 -1
  219. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +81 -81
  220. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  221. package/dist/adapter/z-stack/adapter/zStackAdapter.js +891 -868
  222. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  223. package/dist/adapter/z-stack/constants/af.d.ts +23 -23
  224. package/dist/adapter/z-stack/constants/af.js +27 -27
  225. package/dist/adapter/z-stack/constants/common.d.ts +278 -278
  226. package/dist/adapter/z-stack/constants/common.d.ts.map +1 -1
  227. package/dist/adapter/z-stack/constants/common.js +292 -289
  228. package/dist/adapter/z-stack/constants/common.js.map +1 -1
  229. package/dist/adapter/z-stack/constants/dbg.d.ts +22 -22
  230. package/dist/adapter/z-stack/constants/dbg.js +24 -24
  231. package/dist/adapter/z-stack/constants/index.d.ts +10 -10
  232. package/dist/adapter/z-stack/constants/index.js +47 -47
  233. package/dist/adapter/z-stack/constants/mac.d.ts +127 -127
  234. package/dist/adapter/z-stack/constants/mac.js +129 -129
  235. package/dist/adapter/z-stack/constants/sapi.d.ts +24 -24
  236. package/dist/adapter/z-stack/constants/sapi.js +26 -26
  237. package/dist/adapter/z-stack/constants/sys.d.ts +71 -71
  238. package/dist/adapter/z-stack/constants/sys.js +73 -73
  239. package/dist/adapter/z-stack/constants/util.d.ts +81 -81
  240. package/dist/adapter/z-stack/constants/util.js +83 -83
  241. package/dist/adapter/z-stack/constants/utils.d.ts +4 -4
  242. package/dist/adapter/z-stack/constants/utils.js +14 -14
  243. package/dist/adapter/z-stack/constants/zdo.d.ts +102 -102
  244. package/dist/adapter/z-stack/constants/zdo.js +104 -104
  245. package/dist/adapter/z-stack/models/index.d.ts +1 -1
  246. package/dist/adapter/z-stack/models/index.js +17 -17
  247. package/dist/adapter/z-stack/models/startup-options.d.ts +12 -12
  248. package/dist/adapter/z-stack/models/startup-options.js +2 -2
  249. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +23 -23
  250. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +45 -45
  251. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
  252. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +10 -10
  253. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +22 -22
  254. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +10 -10
  255. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +21 -21
  256. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +10 -10
  257. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +23 -23
  258. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +10 -10
  259. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +24 -24
  260. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +10 -10
  261. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +23 -23
  262. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +8 -8
  263. package/dist/adapter/z-stack/structs/entries/channel-list.js +15 -15
  264. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +8 -8
  265. package/dist/adapter/z-stack/structs/entries/has-configured.js +16 -16
  266. package/dist/adapter/z-stack/structs/entries/index.d.ts +16 -16
  267. package/dist/adapter/z-stack/structs/entries/index.js +32 -32
  268. package/dist/adapter/z-stack/structs/entries/nib.d.ts +10 -10
  269. package/dist/adapter/z-stack/structs/entries/nib.js +68 -68
  270. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +10 -10
  271. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +18 -18
  272. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +8 -8
  273. package/dist/adapter/z-stack/structs/entries/nwk-key.js +15 -15
  274. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +8 -8
  275. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +15 -15
  276. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +13 -13
  277. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +23 -23
  278. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +10 -10
  279. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +22 -22
  280. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +20 -20
  281. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +36 -36
  282. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
  283. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +10 -10
  284. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +24 -24
  285. package/dist/adapter/z-stack/structs/index.d.ts +4 -4
  286. package/dist/adapter/z-stack/structs/index.js +20 -20
  287. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +13 -13
  288. package/dist/adapter/z-stack/structs/serializable-memory-object.js +2 -2
  289. package/dist/adapter/z-stack/structs/struct.d.ts +99 -99
  290. package/dist/adapter/z-stack/structs/struct.js +296 -295
  291. package/dist/adapter/z-stack/structs/struct.js.map +1 -1
  292. package/dist/adapter/z-stack/structs/table.d.ts +94 -94
  293. package/dist/adapter/z-stack/structs/table.js +163 -161
  294. package/dist/adapter/z-stack/structs/table.js.map +1 -1
  295. package/dist/adapter/z-stack/unpi/constants.d.ts +28 -28
  296. package/dist/adapter/z-stack/unpi/constants.js +39 -41
  297. package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
  298. package/dist/adapter/z-stack/unpi/frame.d.ts +16 -16
  299. package/dist/adapter/z-stack/unpi/frame.js +54 -48
  300. package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
  301. package/dist/adapter/z-stack/unpi/index.d.ts +5 -5
  302. package/dist/adapter/z-stack/unpi/index.js +37 -37
  303. package/dist/adapter/z-stack/unpi/parser.d.ts +10 -10
  304. package/dist/adapter/z-stack/unpi/parser.js +75 -74
  305. package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
  306. package/dist/adapter/z-stack/unpi/writer.d.ts +10 -10
  307. package/dist/adapter/z-stack/unpi/writer.js +44 -44
  308. package/dist/adapter/z-stack/utils/channel-list.d.ts +20 -20
  309. package/dist/adapter/z-stack/utils/channel-list.js +40 -40
  310. package/dist/adapter/z-stack/utils/channel-list.js.map +1 -1
  311. package/dist/adapter/z-stack/utils/index.d.ts +2 -2
  312. package/dist/adapter/z-stack/utils/index.js +18 -18
  313. package/dist/adapter/z-stack/utils/network-options.d.ts +8 -8
  314. package/dist/adapter/z-stack/utils/network-options.js +22 -22
  315. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +11 -11
  316. package/dist/adapter/z-stack/znp/buffaloZnp.js +113 -113
  317. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
  318. package/dist/adapter/z-stack/znp/definition.d.ts +5 -5
  319. package/dist/adapter/z-stack/znp/definition.js +3050 -3050
  320. package/dist/adapter/z-stack/znp/index.d.ts +3 -3
  321. package/dist/adapter/z-stack/znp/index.js +10 -10
  322. package/dist/adapter/z-stack/znp/parameterType.d.ts +22 -22
  323. package/dist/adapter/z-stack/znp/parameterType.js +25 -25
  324. package/dist/adapter/z-stack/znp/tstype.d.ts +21 -21
  325. package/dist/adapter/z-stack/znp/tstype.js +2 -2
  326. package/dist/adapter/z-stack/znp/znp.d.ts +44 -43
  327. package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
  328. package/dist/adapter/z-stack/znp/znp.js +326 -325
  329. package/dist/adapter/z-stack/znp/znp.js.map +1 -1
  330. package/dist/adapter/z-stack/znp/zpiObject.d.ts +19 -19
  331. package/dist/adapter/z-stack/znp/zpiObject.js +102 -96
  332. package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
  333. package/dist/adapter/zigate/adapter/index.d.ts +2 -2
  334. package/dist/adapter/zigate/adapter/index.js +10 -10
  335. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +70 -70
  336. package/dist/adapter/zigate/adapter/zigateAdapter.js +689 -684
  337. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
  338. package/dist/adapter/zigate/debug.d.ts +7 -7
  339. package/dist/adapter/zigate/debug.d.ts.map +1 -1
  340. package/dist/adapter/zigate/debug.js +19 -22
  341. package/dist/adapter/zigate/debug.js.map +1 -1
  342. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +18 -18
  343. package/dist/adapter/zigate/driver/buffaloZiGate.js +139 -139
  344. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
  345. package/dist/adapter/zigate/driver/commandType.d.ts +41 -41
  346. package/dist/adapter/zigate/driver/commandType.js +385 -385
  347. package/dist/adapter/zigate/driver/commandType.js.map +1 -1
  348. package/dist/adapter/zigate/driver/constants.d.ts +276 -276
  349. package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
  350. package/dist/adapter/zigate/driver/constants.js +371 -371
  351. package/dist/adapter/zigate/driver/constants.js.map +1 -1
  352. package/dist/adapter/zigate/driver/frame.d.ts +26 -26
  353. package/dist/adapter/zigate/driver/frame.js +172 -172
  354. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  355. package/dist/adapter/zigate/driver/messageType.d.ts +11 -11
  356. package/dist/adapter/zigate/driver/messageType.js +278 -278
  357. package/dist/adapter/zigate/driver/messageType.js.map +1 -1
  358. package/dist/adapter/zigate/driver/parameterType.d.ts +20 -20
  359. package/dist/adapter/zigate/driver/parameterType.js +23 -23
  360. package/dist/adapter/zigate/driver/ziGateObject.d.ts +23 -23
  361. package/dist/adapter/zigate/driver/ziGateObject.js +110 -106
  362. package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
  363. package/dist/adapter/zigate/driver/zigate.d.ts +49 -49
  364. package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
  365. package/dist/adapter/zigate/driver/zigate.js +296 -303
  366. package/dist/adapter/zigate/driver/zigate.js.map +1 -1
  367. package/dist/buffalo/buffalo.d.ts +50 -50
  368. package/dist/buffalo/buffalo.js +324 -322
  369. package/dist/buffalo/buffalo.js.map +1 -1
  370. package/dist/buffalo/index.d.ts +3 -3
  371. package/dist/buffalo/index.js +33 -33
  372. package/dist/buffalo/tstype.d.ts +8 -8
  373. package/dist/buffalo/tstype.js +2 -2
  374. package/dist/controller/controller.d.ts +113 -113
  375. package/dist/controller/controller.d.ts.map +1 -1
  376. package/dist/controller/controller.js +641 -619
  377. package/dist/controller/controller.js.map +1 -1
  378. package/dist/controller/database.d.ts +18 -18
  379. package/dist/controller/database.js +96 -93
  380. package/dist/controller/database.js.map +1 -1
  381. package/dist/controller/events.d.ts +58 -58
  382. package/dist/controller/events.d.ts.map +1 -1
  383. package/dist/controller/events.js +108 -102
  384. package/dist/controller/events.js.map +1 -1
  385. package/dist/controller/greenPower.d.ts +12 -12
  386. package/dist/controller/greenPower.js +221 -220
  387. package/dist/controller/greenPower.js.map +1 -1
  388. package/dist/controller/helpers/index.d.ts +2 -2
  389. package/dist/controller/helpers/index.js +28 -28
  390. package/dist/controller/helpers/request.d.ts +21 -22
  391. package/dist/controller/helpers/request.d.ts.map +1 -1
  392. package/dist/controller/helpers/request.js +77 -71
  393. package/dist/controller/helpers/request.js.map +1 -1
  394. package/dist/controller/helpers/requestQueue.d.ts +13 -0
  395. package/dist/controller/helpers/requestQueue.d.ts.map +1 -0
  396. package/dist/controller/helpers/requestQueue.js +116 -0
  397. package/dist/controller/helpers/requestQueue.js.map +1 -0
  398. package/dist/controller/helpers/zclFrameConverter.d.ts +7 -7
  399. package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
  400. package/dist/controller/helpers/zclFrameConverter.js +50 -31
  401. package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
  402. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +5 -5
  403. package/dist/controller/helpers/zclTransactionSequenceNumber.js +13 -13
  404. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -1
  405. package/dist/controller/index.d.ts +5 -5
  406. package/dist/controller/index.js +8 -8
  407. package/dist/controller/logger-stub.d.ts +6 -6
  408. package/dist/controller/logger-stub.js +2 -2
  409. package/dist/controller/model/device.d.ts +132 -133
  410. package/dist/controller/model/device.d.ts.map +1 -1
  411. package/dist/controller/model/device.js +724 -717
  412. package/dist/controller/model/device.js.map +1 -1
  413. package/dist/controller/model/endpoint.d.ts +128 -131
  414. package/dist/controller/model/endpoint.d.ts.map +1 -1
  415. package/dist/controller/model/endpoint.js +755 -821
  416. package/dist/controller/model/endpoint.js.map +1 -1
  417. package/dist/controller/model/entity.d.ts +14 -14
  418. package/dist/controller/model/entity.js +26 -26
  419. package/dist/controller/model/entity.js.map +1 -1
  420. package/dist/controller/model/group.d.ts +38 -38
  421. package/dist/controller/model/group.d.ts.map +1 -1
  422. package/dist/controller/model/group.js +225 -221
  423. package/dist/controller/model/group.js.map +1 -1
  424. package/dist/controller/model/index.d.ts +5 -5
  425. package/dist/controller/model/index.js +14 -14
  426. package/dist/controller/touchlink.d.ts +19 -19
  427. package/dist/controller/touchlink.js +159 -157
  428. package/dist/controller/touchlink.js.map +1 -1
  429. package/dist/controller/tstype.d.ts +20 -21
  430. package/dist/controller/tstype.d.ts.map +1 -1
  431. package/dist/controller/tstype.js +8 -9
  432. package/dist/controller/tstype.js.map +1 -1
  433. package/dist/index.d.ts +3 -3
  434. package/dist/index.js +33 -33
  435. package/dist/models/backup-storage-legacy.d.ts +26 -26
  436. package/dist/models/backup-storage-legacy.js +2 -2
  437. package/dist/models/backup-storage-unified.d.ts +49 -49
  438. package/dist/models/backup-storage-unified.js +2 -2
  439. package/dist/models/backup.d.ts +37 -37
  440. package/dist/models/backup.js +2 -2
  441. package/dist/models/index.d.ts +4 -4
  442. package/dist/models/index.js +20 -20
  443. package/dist/models/network-options.d.ts +12 -12
  444. package/dist/models/network-options.js +2 -2
  445. package/dist/utils/assertString.d.ts +2 -2
  446. package/dist/utils/assertString.js +8 -8
  447. package/dist/utils/assertString.js.map +1 -1
  448. package/dist/utils/backup.d.ts +20 -20
  449. package/dist/utils/backup.d.ts.map +1 -1
  450. package/dist/utils/backup.js +189 -187
  451. package/dist/utils/backup.js.map +1 -1
  452. package/dist/utils/equalsPartial.d.ts +2 -2
  453. package/dist/utils/equalsPartial.js +11 -11
  454. package/dist/utils/index.d.ts +9 -9
  455. package/dist/utils/index.js +45 -45
  456. package/dist/utils/isNumberArray.d.ts +2 -2
  457. package/dist/utils/isNumberArray.js +6 -6
  458. package/dist/utils/queue.d.ts +11 -11
  459. package/dist/utils/queue.d.ts.map +1 -1
  460. package/dist/utils/queue.js +61 -50
  461. package/dist/utils/queue.js.map +1 -1
  462. package/dist/utils/realpathSync.d.ts +2 -2
  463. package/dist/utils/realpathSync.js +12 -12
  464. package/dist/utils/wait.d.ts +2 -2
  465. package/dist/utils/wait.js +8 -8
  466. package/dist/utils/waitress.d.ts +21 -21
  467. package/dist/utils/waitress.d.ts.map +1 -1
  468. package/dist/utils/waitress.js +68 -61
  469. package/dist/utils/waitress.js.map +1 -1
  470. package/dist/zcl/buffaloZcl.d.ts +41 -41
  471. package/dist/zcl/buffaloZcl.d.ts.map +1 -1
  472. package/dist/zcl/buffaloZcl.js +594 -591
  473. package/dist/zcl/buffaloZcl.js.map +1 -1
  474. package/dist/zcl/definition/buffaloZclDataType.d.ts +17 -17
  475. package/dist/zcl/definition/buffaloZclDataType.js +20 -20
  476. package/dist/zcl/definition/cluster.d.ts +29 -29
  477. package/dist/zcl/definition/cluster.d.ts.map +1 -1
  478. package/dist/zcl/definition/cluster.js +5520 -5335
  479. package/dist/zcl/definition/cluster.js.map +1 -1
  480. package/dist/zcl/definition/dataType.d.ts +59 -59
  481. package/dist/zcl/definition/dataType.js +64 -64
  482. package/dist/zcl/definition/direction.d.ts +5 -5
  483. package/dist/zcl/definition/direction.js +8 -8
  484. package/dist/zcl/definition/endpointDeviceType.d.ts +4 -4
  485. package/dist/zcl/definition/endpointDeviceType.js +15 -15
  486. package/dist/zcl/definition/foundation.d.ts +11 -11
  487. package/dist/zcl/definition/foundation.js +167 -167
  488. package/dist/zcl/definition/frameControl.d.ts +10 -10
  489. package/dist/zcl/definition/frameControl.js +2 -2
  490. package/dist/zcl/definition/frameType.d.ts +5 -5
  491. package/dist/zcl/definition/frameType.js +8 -8
  492. package/dist/zcl/definition/index.d.ts +13 -13
  493. package/dist/zcl/definition/index.js +51 -51
  494. package/dist/zcl/definition/manufacturerCode.d.ts +1077 -1074
  495. package/dist/zcl/definition/manufacturerCode.d.ts.map +1 -1
  496. package/dist/zcl/definition/manufacturerCode.js +1082 -1079
  497. package/dist/zcl/definition/manufacturerCode.js.map +1 -1
  498. package/dist/zcl/definition/powerSource.d.ts +4 -4
  499. package/dist/zcl/definition/powerSource.js +12 -12
  500. package/dist/zcl/definition/status.d.ts +38 -38
  501. package/dist/zcl/definition/status.js +41 -41
  502. package/dist/zcl/definition/tstype.d.ts +16 -16
  503. package/dist/zcl/definition/tstype.js +2 -2
  504. package/dist/zcl/index.d.ts +16 -16
  505. package/dist/zcl/index.js +55 -55
  506. package/dist/zcl/tstype.d.ts +56 -56
  507. package/dist/zcl/tstype.js +9 -10
  508. package/dist/zcl/tstype.js.map +1 -1
  509. package/dist/zcl/utils.d.ts +6 -6
  510. package/dist/zcl/utils.js +164 -165
  511. package/dist/zcl/utils.js.map +1 -1
  512. package/dist/zcl/zclFrame.d.ts +40 -40
  513. package/dist/zcl/zclFrame.js +351 -347
  514. package/dist/zcl/zclFrame.js.map +1 -1
  515. package/dist/zcl/zclHeader.d.ts +8 -8
  516. package/dist/zcl/zclHeader.js +2 -2
  517. package/dist/zcl/zclStatusError.d.ts +5 -5
  518. package/dist/zcl/zclStatusError.js +14 -13
  519. package/dist/zcl/zclStatusError.js.map +1 -1
  520. package/package.json +11 -11
  521. package/release-please-config.json +1 -5
  522. package/tsconfig.json +4 -2
@@ -0,0 +1,817 @@
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 requestQueue;
39
+ private oneWaitress;
40
+ /** Periodically retrieve counters then clear them. */
41
+ private watchdogCountersHandle;
42
+ /** Hold ZDO request in process. */
43
+ private 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
+ * @brief Send a request to remove a binding entry with the specified
544
+ * contents from the specified node.
545
+ *
546
+ * @param target The node on which the binding will be removed.
547
+ * @param source The source EUI64 in the binding entry.
548
+ * @param sourceEndpoint The source endpoint in the binding entry.
549
+ * @param clusterId The cluster ID in the binding entry.
550
+ * @param type The type of binding, either ::UNICAST_BINDING,
551
+ * ::MULTICAST_BINDING, or ::UNICAST_MANY_TO_ONE_BINDING.
552
+ * ::UNICAST_MANY_TO_ONE_BINDING is an Ember-specific extension
553
+ * and should be used only when the target is an Ember device.
554
+ * @param destination The destination EUI64 in the binding entry for the
555
+ * ::UNICAST_BINDING or ::UNICAST_MANY_TO_ONE_BINDING.
556
+ * @param groupAddress The group address for the ::MULTICAST_BINDING.
557
+ * @param destinationEndpoint The destination endpoint in the binding entry for
558
+ * the ::UNICAST_BINDING or ::UNICAST_MANY_TO_ONE_BINDING.
559
+ * @param options The options to use when sending the request. See
560
+ * emberSendUnicast() for a description.
561
+ *
562
+ * @return An ::EmberStatus value.
563
+ * - ::EMBER_SUCCESS
564
+ * - ::EMBER_NO_BUFFERS
565
+ * _ ::EMBER_NETWORK_DOWN
566
+ * - ::EMBER_NETWORK_BUSY
567
+ * @param target
568
+ * @param bindClusterId
569
+ * @param source
570
+ * @param sourceEndpoint uint8_t
571
+ * @param clusterId uint16_t
572
+ * @param type uint8_t
573
+ * @param destination
574
+ * @param groupAddress uint16_t
575
+ * @param destinationEndpoint uint8_t
576
+ * @param options
577
+ */
578
+ private emberSendZigDevBindRequest;
579
+ /**
580
+ * ZDO
581
+ * Send a request to create a binding entry with the specified
582
+ * contents on the specified node.
583
+ *
584
+ * @param target The node on which the binding will be created.
585
+ * @param source The source EUI64 in the binding entry.
586
+ * @param sourceEndpoint The source endpoint in the binding entry.
587
+ * @param clusterId The cluster ID in the binding entry.
588
+ * @param type The type of binding, either ::UNICAST_BINDING,
589
+ * ::MULTICAST_BINDING, or ::UNICAST_MANY_TO_ONE_BINDING.
590
+ * ::UNICAST_MANY_TO_ONE_BINDING is an Ember-specific extension
591
+ * and should be used only when the target is an Ember device.
592
+ * @param destination The destination EUI64 in the binding entry for
593
+ * ::UNICAST_BINDING or ::UNICAST_MANY_TO_ONE_BINDING.
594
+ * @param groupAddress The group address for the ::MULTICAST_BINDING.
595
+ * @param destinationEndpoint The destination endpoint in the binding entry for
596
+ * the ::UNICAST_BINDING or ::UNICAST_MANY_TO_ONE_BINDING.
597
+ * @param options The options to use when sending the request. See
598
+ * emberSendUnicast() for a description.
599
+ *
600
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
601
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
602
+ */
603
+ private emberBindRequest;
604
+ /**
605
+ * ZDO
606
+ * Send a request to remove a binding entry with the specified
607
+ * contents from the specified node.
608
+ *
609
+ * @param target The node on which the binding will be removed.
610
+ * @param source The source EUI64 in the binding entry.
611
+ * @param sourceEndpoint uint8_t The source endpoint in the binding entry.
612
+ * @param clusterId uint16_t The cluster ID in the binding entry.
613
+ * @param type uint8_t The type of binding, either ::UNICAST_BINDING,
614
+ * ::MULTICAST_BINDING, or ::UNICAST_MANY_TO_ONE_BINDING.
615
+ * ::UNICAST_MANY_TO_ONE_BINDING is an Ember-specific extension
616
+ * and should be used only when the target is an Ember device.
617
+ * @param destination The destination EUI64 in the binding entry for the
618
+ * ::UNICAST_BINDING or ::UNICAST_MANY_TO_ONE_BINDING.
619
+ * @param groupAddress The group address for the ::MULTICAST_BINDING.
620
+ * @param destinationEndpoint uint8_t The destination endpoint in the binding entry for
621
+ * the ::UNICAST_BINDING or ::UNICAST_MANY_TO_ONE_BINDING.
622
+ * @param options The options to use when sending the request. See
623
+ * emberSendUnicast() for a description.
624
+ *
625
+ * @return An ::EmberStatus value.
626
+ * - ::EMBER_SUCCESS
627
+ * - ::EMBER_NO_BUFFERS
628
+ * _ ::EMBER_NETWORK_DOWN
629
+ * - ::EMBER_NETWORK_BUSY
630
+ */
631
+ private emberUnbindRequest;
632
+ /**
633
+ * ZDO
634
+ * Request the specified node to send a list of its active
635
+ * endpoints. An active endpoint is one for which a simple descriptor is
636
+ * available.
637
+ *
638
+ * @param target The node whose active endpoints are desired.
639
+ * @param options The options to use when sending the request. See
640
+ * emberSendUnicast() for a description.
641
+ *
642
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
643
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
644
+ */
645
+ private emberActiveEndpointsRequest;
646
+ /**
647
+ * ZDO
648
+ * Request the specified node to send its power descriptor.
649
+ * The power descriptor gives a dynamic indication of the power
650
+ * status of the node. It describes current power mode,
651
+ * available power sources, current power source and
652
+ * current power source level. It is defined in the ZigBee
653
+ * Application Framework Specification.
654
+ *
655
+ * @param target The node whose power descriptor is desired.
656
+ * @param options The options to use when sending the request. See
657
+ * emberSendUnicast() for a description.
658
+ *
659
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
660
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
661
+ */
662
+ private emberPowerDescriptorRequest;
663
+ /**
664
+ * ZDO
665
+ * Request the specified node to send its node descriptor.
666
+ * The node descriptor contains information about the capabilities of the ZigBee
667
+ * node. It describes logical type, APS flags, frequency band, MAC capabilities
668
+ * flags, manufacturer code and maximum buffer size. It is defined in the ZigBee
669
+ * Application Framework Specification.
670
+ *
671
+ * @param target The node whose node descriptor is desired.
672
+ * @param options The options to use when sending the request. See
673
+ * emberSendUnicast() for a description.
674
+ *
675
+ * @return An ::EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
676
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
677
+ */
678
+ private emberNodeDescriptorRequest;
679
+ /**
680
+ * ZDO
681
+ * Request the specified node to send its LQI (neighbor) table.
682
+ * The response gives PAN ID, EUI64, node ID and cost for each neighbor. The
683
+ * EUI64 is only available if security is enabled. The other fields in the
684
+ * response are set to zero. The response format is defined in the ZigBee Device
685
+ * Profile Specification.
686
+ *
687
+ * @param target The node whose LQI table is desired.
688
+ * @param startIndex uint8_t The index of the first neighbor to include in the
689
+ * response.
690
+ * @param options The options to use when sending the request. See
691
+ * emberSendUnicast() for a description.
692
+ *
693
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
694
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
695
+ */
696
+ private emberLqiTableRequest;
697
+ /**
698
+ * ZDO
699
+ * Request the specified node to send its routing table.
700
+ * The response gives destination node ID, status and many-to-one flags,
701
+ * and the next hop node ID.
702
+ * The response format is defined in the ZigBee Device
703
+ * Profile Specification.
704
+ *
705
+ * @param target The node whose routing table is desired.
706
+ * @param startIndex uint8_t The index of the first route entry to include in the
707
+ * response.
708
+ * @param options The options to use when sending the request. See
709
+ * emberSendUnicast() for a description.
710
+ *
711
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
712
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
713
+ */
714
+ private emberRoutingTableRequest;
715
+ /**
716
+ * ZDO
717
+ * Request the specified node to send its nonvolatile bindings.
718
+ * The response gives source address, source endpoint, cluster ID, destination
719
+ * address and destination endpoint for each binding entry. The response format
720
+ * is defined in the ZigBee Device Profile Specification.
721
+ * Note that bindings that have the Ember-specific ::UNICAST_MANY_TO_ONE_BINDING
722
+ * type are reported as having the standard ::UNICAST_BINDING type.
723
+ *
724
+ * @param target The node whose binding table is desired.
725
+ * @param startIndex uint8_t The index of the first binding entry to include in the
726
+ * response.
727
+ * @param options The options to use when sending the request. See
728
+ * emberSendUnicast() for a description.
729
+ *
730
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
731
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
732
+ */
733
+ private emberBindingTableRequest;
734
+ /**
735
+ * ZDO
736
+ *
737
+ * @param clusterId uint16_t
738
+ * @param target
739
+ * @param startIndex uint8_t
740
+ * @param options
741
+ * @returns
742
+ */
743
+ private emberTableRequest;
744
+ /**
745
+ * ZDO
746
+ * Request the specified node to remove the specified device from
747
+ * the network. The device to be removed must be the node to which the request
748
+ * is sent or one of its children.
749
+ *
750
+ * @param target The node which will remove the device.
751
+ * @param deviceAddress All zeros if the target is to remove itself from
752
+ * the network or the EUI64 of a child of the target device to remove
753
+ * that child.
754
+ * @param leaveRequestFlags uint8_t A bitmask of leave options.
755
+ * Include ::AND_REJOIN if the target is to rejoin the network immediately after leaving.
756
+ * @param options The options to use when sending the request. See
757
+ * emberSendUnicast() for a description.
758
+ *
759
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
760
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
761
+ */
762
+ private emberLeaveRequest;
763
+ /**
764
+ * ZDO
765
+ * Request the specified node to allow or disallow association.
766
+ *
767
+ * @param target The node which will allow or disallow association. The request
768
+ * can be broadcast by using a broadcast address (0xFFFC/0xFFFD/0xFFFF). No
769
+ * response is sent if the request is broadcast.
770
+ * @param duration uint8_t A value of 0x00 disables joining. A value of 0xFF enables
771
+ * joining. Any other value enables joining for that number of seconds.
772
+ * @param authentication uint8_t Controls Trust Center authentication behavior.
773
+ * @param options The options to use when sending the request. See
774
+ * emberSendUnicast() for a description. This parameter is ignored if the target
775
+ * is a broadcast address.
776
+ *
777
+ * @return An EmberStatus value. ::EMBER_SUCCESS, ::EMBER_NO_BUFFERS,
778
+ * ::EMBER_NETWORK_DOWN or ::EMBER_NETWORK_BUSY.
779
+ */
780
+ private emberPermitJoiningRequest;
781
+ static isValidPath(path: string): Promise<boolean>;
782
+ static autoDetectPath(): Promise<string>;
783
+ start(): Promise<TsType.StartResult>;
784
+ stop(): Promise<void>;
785
+ getCoordinator(): Promise<TsType.Coordinator>;
786
+ getCoordinatorVersion(): Promise<TsType.CoordinatorVersion>;
787
+ reset(type: "soft" | "hard"): Promise<void>;
788
+ supportsBackup(): Promise<boolean>;
789
+ backup(ieeeAddressesInDatabase: string[]): Promise<Backup>;
790
+ getNetworkParameters(): Promise<TsType.NetworkParameters>;
791
+ setTransmitPower(value: number): Promise<void>;
792
+ addInstallCode(ieeeAddress: string, key: Buffer): Promise<void>;
793
+ /** WARNING: Adapter impl. Starts timer immediately upon returning */
794
+ waitFor(networkAddress: number, endpoint: number, frameType: FrameType, direction: Direction, transactionSequenceNumber: number, clusterID: number, commandIdentifier: number, timeout: number): {
795
+ promise: Promise<ZclDataPayload>;
796
+ cancel: () => void;
797
+ };
798
+ permitJoin(seconds: number, networkAddress: number): Promise<void>;
799
+ lqi(networkAddress: number): Promise<TsType.LQI>;
800
+ routingTable(networkAddress: number): Promise<TsType.RoutingTable>;
801
+ nodeDescriptor(networkAddress: number): Promise<TsType.NodeDescriptor>;
802
+ activeEndpoints(networkAddress: number): Promise<TsType.ActiveEndpoints>;
803
+ simpleDescriptor(networkAddress: number, endpointID: number): Promise<TsType.SimpleDescriptor>;
804
+ bind(destinationNetworkAddress: number, sourceIeeeAddress: string, sourceEndpoint: number, clusterID: number, destinationAddressOrGroup: string | number, type: "endpoint" | "group", destinationEndpoint?: number): Promise<void>;
805
+ unbind(destinationNetworkAddress: number, sourceIeeeAddress: string, sourceEndpoint: number, clusterID: number, destinationAddressOrGroup: string | number, type: "endpoint" | "group", destinationEndpoint: number): Promise<void>;
806
+ removeDevice(networkAddress: number, ieeeAddr: string): Promise<void>;
807
+ sendZclFrameToEndpoint(ieeeAddr: string, networkAddress: number, endpoint: number, zclFrame: ZclFrame, timeout: number, disableResponse: boolean, disableRecovery: boolean, sourceEndpoint?: number): Promise<ZclDataPayload>;
808
+ sendZclFrameToGroup(groupID: number, zclFrame: ZclFrame, sourceEndpoint?: number): Promise<void>;
809
+ sendZclFrameToAll(endpoint: number, zclFrame: ZclFrame, sourceEndpoint: number): Promise<void>;
810
+ setChannelInterPAN(channel: number): Promise<void>;
811
+ sendZclFrameInterPANToIeeeAddr(zclFrame: ZclFrame, ieeeAddress: string): Promise<void>;
812
+ sendZclFrameInterPANBroadcast(zclFrame: ZclFrame, timeout: number): Promise<ZclDataPayload>;
813
+ restoreChannelInterPAN(): Promise<void>;
814
+ private checkInterpanLock;
815
+ }
816
+ export {};
817
+ //# sourceMappingURL=emberAdapter.d.ts.map