@willieee802/zigbee-herdsman 0.48.3 → 0.49.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 (1025) hide show
  1. package/.github/ISSUE_TEMPLATE/config.yml +5 -0
  2. package/.github/copilot-instructions.md +689 -0
  3. package/.github/dependabot.yml +22 -0
  4. package/.github/prompts/copilot-instructions-blueprint-generator.prompt.md +294 -0
  5. package/.github/prompts/create-agentsmd.prompt.md +249 -0
  6. package/.github/prompts/create-specification.prompt.md +127 -0
  7. package/.github/prompts/review-and-refactor.prompt.md +15 -0
  8. package/.github/prompts/update-specification.prompt.md +127 -0
  9. package/.github/workflows/ci.yml +70 -0
  10. package/.github/workflows/release-please.yml +18 -0
  11. package/.github/workflows/stale.yml +20 -0
  12. package/.github/workflows/typedoc.yaml +47 -0
  13. package/.release-please-manifest.json +2 -2
  14. package/.vscode/extensions.json +3 -0
  15. package/.vscode/settings.json +11 -0
  16. package/AGENTS.md +441 -0
  17. package/CHANGELOG.md +1245 -0
  18. package/README.md +1 -1
  19. package/biome.json +103 -0
  20. package/examples/join-and-log.js +18 -18
  21. package/package.json +83 -70
  22. package/release-please-config.json +8 -8
  23. package/scripts/check-clusters-changes.ts +328 -0
  24. package/scripts/clusters-changes.log +584 -0
  25. package/scripts/clusters-typegen.ts +608 -0
  26. package/scripts/utils.ts +88 -0
  27. package/scripts/zap-update-clusters-report.json +303 -0
  28. package/scripts/zap-update-clusters.ts +1520 -0
  29. package/scripts/zap-update-types.ts +707 -0
  30. package/scripts/zap-xml-clusters-overrides-data.ts +52 -0
  31. package/scripts/zap-xml-clusters-overrides.ts +400 -0
  32. package/scripts/zap-xml-types.ts +146 -0
  33. package/src/adapter/adapter.ts +210 -0
  34. package/src/adapter/adapterDiscovery.ts +736 -0
  35. package/src/adapter/const.ts +12 -0
  36. package/src/adapter/deconz/adapter/deconzAdapter.ts +888 -0
  37. package/src/adapter/deconz/driver/constants.ts +246 -0
  38. package/src/adapter/deconz/driver/driver.ts +1528 -0
  39. package/src/adapter/deconz/driver/frame.ts +11 -0
  40. package/src/adapter/deconz/driver/frameParser.ts +766 -0
  41. package/src/adapter/deconz/driver/parser.ts +45 -0
  42. package/src/adapter/deconz/driver/writer.ts +22 -0
  43. package/src/adapter/deconz/types.d.ts +13 -0
  44. package/src/adapter/ember/adapter/emberAdapter.ts +2262 -0
  45. package/src/adapter/ember/adapter/endpoints.ts +86 -0
  46. package/src/adapter/ember/adapter/oneWaitress.ts +324 -0
  47. package/src/adapter/ember/adapter/tokensManager.ts +780 -0
  48. package/src/adapter/ember/consts.ts +178 -0
  49. package/src/adapter/ember/enums.ts +1746 -0
  50. package/src/adapter/ember/ezsp/buffalo.ts +1392 -0
  51. package/src/adapter/ember/ezsp/consts.ts +148 -0
  52. package/src/adapter/ember/ezsp/enums.ts +1114 -0
  53. package/src/adapter/ember/ezsp/ezsp.ts +9073 -0
  54. package/src/adapter/ember/ezspError.ts +10 -0
  55. package/src/adapter/ember/types.ts +866 -0
  56. package/src/adapter/ember/uart/ash.ts +1933 -0
  57. package/src/adapter/ember/uart/consts.ts +109 -0
  58. package/src/adapter/ember/uart/enums.ts +192 -0
  59. package/src/adapter/ember/uart/parser.ts +42 -0
  60. package/src/adapter/ember/uart/queues.ts +247 -0
  61. package/src/adapter/ember/uart/writer.ts +50 -0
  62. package/src/adapter/ember/utils/initters.ts +58 -0
  63. package/src/adapter/ember/utils/math.ts +71 -0
  64. package/src/adapter/events.ts +21 -0
  65. package/src/adapter/ezsp/adapter/backup.ts +100 -0
  66. package/src/adapter/ezsp/adapter/ezspAdapter.ts +632 -0
  67. package/src/adapter/ezsp/driver/commands.ts +2497 -0
  68. package/src/adapter/ezsp/driver/consts.ts +11 -0
  69. package/src/adapter/ezsp/driver/driver.ts +1002 -0
  70. package/src/adapter/ezsp/driver/ezsp.ts +802 -0
  71. package/src/adapter/ezsp/driver/frame.ts +101 -0
  72. package/src/adapter/ezsp/driver/index.ts +4 -0
  73. package/src/adapter/ezsp/driver/multicast.ts +78 -0
  74. package/src/adapter/ezsp/driver/parser.ts +81 -0
  75. package/src/adapter/ezsp/driver/types/basic.ts +201 -0
  76. package/src/adapter/ezsp/driver/types/index.ts +239 -0
  77. package/src/adapter/ezsp/driver/types/named.ts +2330 -0
  78. package/src/adapter/ezsp/driver/types/struct.ts +844 -0
  79. package/src/adapter/ezsp/driver/uart.ts +460 -0
  80. package/src/adapter/ezsp/driver/utils/crc16ccitt.ts +44 -0
  81. package/src/adapter/ezsp/driver/utils/index.ts +32 -0
  82. package/src/adapter/ezsp/driver/writer.ts +64 -0
  83. package/src/adapter/index.ts +3 -0
  84. package/src/adapter/serialPort.ts +58 -0
  85. package/src/adapter/tstype.ts +57 -0
  86. package/src/adapter/utils.ts +41 -0
  87. package/src/adapter/z-stack/adapter/adapter-backup.ts +509 -0
  88. package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +457 -0
  89. package/src/adapter/z-stack/adapter/endpoints.ts +60 -0
  90. package/src/adapter/z-stack/adapter/manager.ts +543 -0
  91. package/src/adapter/z-stack/adapter/tstype.ts +6 -0
  92. package/src/adapter/z-stack/adapter/zStackAdapter.ts +1350 -0
  93. package/src/adapter/z-stack/constants/af.ts +27 -0
  94. package/src/adapter/z-stack/constants/common.ts +285 -0
  95. package/src/adapter/z-stack/constants/dbg.ts +23 -0
  96. package/src/adapter/z-stack/constants/index.ts +11 -0
  97. package/src/adapter/z-stack/constants/mac.ts +128 -0
  98. package/src/adapter/z-stack/constants/sapi.ts +25 -0
  99. package/src/adapter/z-stack/constants/sys.ts +72 -0
  100. package/src/adapter/z-stack/constants/util.ts +82 -0
  101. package/src/adapter/z-stack/constants/utils.ts +14 -0
  102. package/src/adapter/z-stack/constants/zdo.ts +103 -0
  103. package/src/adapter/z-stack/models/startup-options.ts +13 -0
  104. package/src/adapter/z-stack/structs/entries/address-manager-entry.ts +44 -0
  105. package/src/adapter/z-stack/structs/entries/address-manager-table.ts +19 -0
  106. package/src/adapter/z-stack/structs/entries/aps-link-key-data-entry.ts +12 -0
  107. package/src/adapter/z-stack/structs/entries/aps-link-key-data-table.ts +21 -0
  108. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-entry.ts +19 -0
  109. package/src/adapter/z-stack/structs/entries/aps-tc-link-key-table.ts +21 -0
  110. package/src/adapter/z-stack/structs/entries/channel-list.ts +8 -0
  111. package/src/adapter/z-stack/structs/entries/has-configured.ts +16 -0
  112. package/src/adapter/z-stack/structs/entries/index.ts +16 -0
  113. package/src/adapter/z-stack/structs/entries/nib.ts +66 -0
  114. package/src/adapter/z-stack/structs/entries/nwk-key-descriptor.ts +15 -0
  115. package/src/adapter/z-stack/structs/entries/nwk-key.ts +13 -0
  116. package/src/adapter/z-stack/structs/entries/nwk-pan-id.ts +8 -0
  117. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.ts +20 -0
  118. package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.ts +19 -0
  119. package/src/adapter/z-stack/structs/entries/security-manager-entry.ts +33 -0
  120. package/src/adapter/z-stack/structs/entries/security-manager-table.ts +22 -0
  121. package/src/adapter/z-stack/structs/index.ts +4 -0
  122. package/src/adapter/z-stack/structs/serializable-memory-object.ts +14 -0
  123. package/src/adapter/z-stack/structs/struct.ts +367 -0
  124. package/src/adapter/z-stack/structs/table.ts +198 -0
  125. package/src/adapter/z-stack/unpi/constants.ts +33 -0
  126. package/src/adapter/z-stack/unpi/frame.ts +62 -0
  127. package/src/adapter/z-stack/unpi/index.ts +4 -0
  128. package/src/adapter/z-stack/unpi/parser.ts +67 -0
  129. package/src/adapter/z-stack/unpi/writer.ts +37 -0
  130. package/src/adapter/z-stack/utils/channel-list.ts +40 -0
  131. package/src/adapter/z-stack/utils/index.ts +2 -0
  132. package/src/adapter/z-stack/utils/network-options.ts +26 -0
  133. package/src/adapter/z-stack/znp/buffaloZnp.ts +175 -0
  134. package/src/adapter/z-stack/znp/definition.ts +2713 -0
  135. package/src/adapter/z-stack/znp/index.ts +2 -0
  136. package/src/adapter/z-stack/znp/parameterType.ts +22 -0
  137. package/src/adapter/z-stack/znp/tstype.ts +44 -0
  138. package/src/adapter/z-stack/znp/utils.ts +10 -0
  139. package/src/adapter/z-stack/znp/znp.ts +345 -0
  140. package/src/adapter/z-stack/znp/zpiObject.ts +148 -0
  141. package/src/adapter/zboss/adapter/zbossAdapter.ts +535 -0
  142. package/src/adapter/zboss/commands.ts +1184 -0
  143. package/src/adapter/zboss/consts.ts +9 -0
  144. package/src/adapter/zboss/driver.ts +422 -0
  145. package/src/adapter/zboss/enums.ts +360 -0
  146. package/src/adapter/zboss/frame.ts +227 -0
  147. package/src/adapter/zboss/reader.ts +65 -0
  148. package/src/adapter/zboss/types.ts +0 -0
  149. package/src/adapter/zboss/uart.ts +428 -0
  150. package/src/adapter/zboss/utils.ts +58 -0
  151. package/src/adapter/zboss/writer.ts +49 -0
  152. package/src/adapter/zigate/adapter/patchZdoBuffaloBE.ts +25 -0
  153. package/src/adapter/zigate/adapter/zigateAdapter.ts +633 -0
  154. package/src/adapter/zigate/driver/LICENSE +17 -0
  155. package/src/adapter/zigate/driver/buffaloZiGate.ts +210 -0
  156. package/src/adapter/zigate/driver/commandType.ts +418 -0
  157. package/src/adapter/zigate/driver/constants.ts +150 -0
  158. package/src/adapter/zigate/driver/frame.ts +197 -0
  159. package/src/adapter/zigate/driver/messageType.ts +287 -0
  160. package/src/adapter/zigate/driver/parameterType.ts +32 -0
  161. package/src/adapter/zigate/driver/ziGateObject.ts +146 -0
  162. package/src/adapter/zigate/driver/zigate.ts +422 -0
  163. package/src/adapter/zoh/adapter/utils.ts +27 -0
  164. package/src/adapter/zoh/adapter/zohAdapter.ts +931 -0
  165. package/src/buffalo/buffalo.ts +336 -0
  166. package/src/buffalo/index.ts +1 -0
  167. package/src/controller/controller.ts +1159 -0
  168. package/src/controller/database.ts +148 -0
  169. package/src/controller/events.ts +52 -0
  170. package/src/controller/greenPower.ts +613 -0
  171. package/src/controller/helpers/index.ts +1 -0
  172. package/src/controller/helpers/installCodes.ts +107 -0
  173. package/src/controller/helpers/ota.ts +575 -0
  174. package/src/controller/helpers/request.ts +96 -0
  175. package/src/controller/helpers/requestQueue.ts +126 -0
  176. package/src/controller/helpers/zclFrameConverter.ts +64 -0
  177. package/src/controller/helpers/zclTransactionSequenceNumber.ts +15 -0
  178. package/src/controller/index.ts +6 -0
  179. package/src/controller/model/device.ts +1791 -0
  180. package/src/controller/model/endpoint.ts +1235 -0
  181. package/src/controller/model/entity.ts +43 -0
  182. package/src/controller/model/group.ts +446 -0
  183. package/src/controller/model/index.ts +5 -0
  184. package/src/controller/model/konnextConfig.ts +6 -0
  185. package/src/controller/model/zigbeeEntity.ts +30 -0
  186. package/src/controller/touchlink.ts +195 -0
  187. package/src/controller/tstype.ts +374 -0
  188. package/src/index.ts +14 -0
  189. package/src/models/backup-storage-legacy.ts +48 -0
  190. package/src/models/backup-storage-unified.ts +47 -0
  191. package/src/models/backup.ts +37 -0
  192. package/src/models/index.ts +5 -0
  193. package/src/models/network-options.ts +11 -0
  194. package/src/utils/aes.ts +218 -0
  195. package/src/utils/async-mutex.ts +31 -0
  196. package/src/utils/backup.ts +152 -0
  197. package/src/utils/index.ts +5 -0
  198. package/src/utils/logger.ts +20 -0
  199. package/src/utils/patchBigIntSerialization.ts +8 -0
  200. package/src/utils/queue.ts +79 -0
  201. package/src/utils/timeService.ts +139 -0
  202. package/src/utils/utils.ts +19 -0
  203. package/src/utils/wait.ts +5 -0
  204. package/src/utils/waitress.ts +96 -0
  205. package/src/zspec/consts.ts +89 -0
  206. package/src/zspec/enums.ts +22 -0
  207. package/src/zspec/index.ts +3 -0
  208. package/src/zspec/tstypes.ts +18 -0
  209. package/src/zspec/utils.ts +247 -0
  210. package/src/zspec/zcl/buffaloZcl.ts +1073 -0
  211. package/src/zspec/zcl/definition/cluster.ts +7845 -0
  212. package/src/zspec/zcl/definition/clusters-types.ts +8577 -0
  213. package/src/zspec/zcl/definition/consts.ts +24 -0
  214. package/src/zspec/zcl/definition/datatypes.ts +2454 -0
  215. package/src/zspec/zcl/definition/enums.ts +224 -0
  216. package/src/zspec/zcl/definition/foundation.ts +342 -0
  217. package/src/zspec/zcl/definition/manufacturerCode.ts +730 -0
  218. package/src/zspec/zcl/definition/status.ts +69 -0
  219. package/src/zspec/zcl/definition/tstype.ts +446 -0
  220. package/src/zspec/zcl/index.ts +11 -0
  221. package/src/zspec/zcl/utils.ts +521 -0
  222. package/src/zspec/zcl/zclFrame.ts +383 -0
  223. package/src/zspec/zcl/zclHeader.ts +102 -0
  224. package/src/zspec/zcl/zclStatusError.ts +10 -0
  225. package/src/zspec/zdo/buffaloZdo.ts +2336 -0
  226. package/src/zspec/zdo/definition/clusters.ts +722 -0
  227. package/src/zspec/zdo/definition/consts.ts +16 -0
  228. package/src/zspec/zdo/definition/enums.ts +99 -0
  229. package/src/zspec/zdo/definition/status.ts +105 -0
  230. package/src/zspec/zdo/definition/tstypes.ts +1062 -0
  231. package/src/zspec/zdo/index.ts +7 -0
  232. package/src/zspec/zdo/utils.ts +76 -0
  233. package/src/zspec/zdo/zdoStatusError.ts +10 -0
  234. package/test/adapter/adapter.test.ts +1276 -0
  235. package/test/adapter/ember/ash.test.ts +337 -0
  236. package/test/adapter/ember/consts.ts +131 -0
  237. package/test/adapter/ember/emberAdapter.test.ts +3447 -0
  238. package/test/adapter/ember/ezsp.test.ts +389 -0
  239. package/test/adapter/ember/ezspBuffalo.test.ts +93 -0
  240. package/test/adapter/ember/ezspError.test.ts +12 -0
  241. package/test/adapter/ember/math.test.ts +190 -0
  242. package/test/adapter/ezsp/frame.test.ts +30 -0
  243. package/test/adapter/ezsp/uart.test.ts +181 -0
  244. package/test/adapter/z-stack/adapter.test.ts +4260 -0
  245. package/test/adapter/z-stack/constants.test.ts +33 -0
  246. package/test/adapter/z-stack/structs.test.ts +115 -0
  247. package/test/adapter/z-stack/unpi.test.ts +213 -0
  248. package/test/adapter/z-stack/znp.test.ts +1288 -0
  249. package/test/adapter/zboss/fixZdoResponse.test.ts +179 -0
  250. package/test/adapter/zigate/patchZdoBuffaloBE.test.ts +81 -0
  251. package/test/adapter/zigate/zdo.test.ts +187 -0
  252. package/test/adapter/zoh/utils.test.ts +36 -0
  253. package/test/adapter/zoh/zohAdapter.test.ts +1451 -0
  254. package/test/benchOptions.ts +14 -0
  255. package/test/buffalo.test.ts +431 -0
  256. package/test/controller.bench.ts +215 -0
  257. package/test/controller.test.ts +10030 -0
  258. package/test/data/integrity-code-1166-012B-24031511-upgradeMe-RB 249 T.zigbee +0 -0
  259. package/test/data/manuf-tags-tradfri-cv-cct-unified_release_prod_v587757105_33e34452-9267-4665-bc5a-844c8f61f063.ota +0 -0
  260. package/test/data/padded-tretakt_smart_plug_soc-0x1100-2.4.25-prod.ota.ota.signed +0 -0
  261. package/test/data/telink-aes-A60_RGBW_T-0x00B6-0x03483712-MF_DIS.OTA +0 -0
  262. package/test/data/zbminir2_v1.0.8.ota +0 -0
  263. package/test/device-ota.test.ts +3332 -0
  264. package/test/greenpower.test.ts +1409 -0
  265. package/test/mockAdapters.ts +95 -0
  266. package/test/mockDevices.ts +623 -0
  267. package/test/requests.bench.ts +321 -0
  268. package/test/testUtils.ts +20 -0
  269. package/test/timeService.test.ts +214 -0
  270. package/test/tsconfig.json +9 -0
  271. package/test/utils/math.ts +19 -0
  272. package/test/utils.test.ts +352 -0
  273. package/test/vitest.config.mts +28 -0
  274. package/test/vitest.ts +9 -0
  275. package/test/zcl.test.ts +2858 -0
  276. package/test/zspec/utils.test.ts +68 -0
  277. package/test/zspec/zcl/buffalo.test.ts +1316 -0
  278. package/test/zspec/zcl/frame.test.ts +1056 -0
  279. package/test/zspec/zcl/utils.test.ts +650 -0
  280. package/test/zspec/zdo/buffalo.test.ts +1850 -0
  281. package/test/zspec/zdo/utils.test.ts +241 -0
  282. package/tsconfig.json +8 -10
  283. package/.babelrc.js +0 -6
  284. package/.eslintignore +0 -3
  285. package/dist/adapter/adapter.d.ts +0 -64
  286. package/dist/adapter/adapter.d.ts.map +0 -1
  287. package/dist/adapter/adapter.js +0 -157
  288. package/dist/adapter/adapter.js.map +0 -1
  289. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +0 -71
  290. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +0 -1
  291. package/dist/adapter/deconz/adapter/deconzAdapter.js +0 -1072
  292. package/dist/adapter/deconz/adapter/deconzAdapter.js.map +0 -1
  293. package/dist/adapter/deconz/adapter/index.d.ts +0 -3
  294. package/dist/adapter/deconz/adapter/index.d.ts.map +0 -1
  295. package/dist/adapter/deconz/adapter/index.js +0 -11
  296. package/dist/adapter/deconz/adapter/index.js.map +0 -1
  297. package/dist/adapter/deconz/driver/constants.d.ts +0 -105
  298. package/dist/adapter/deconz/driver/constants.d.ts.map +0 -1
  299. package/dist/adapter/deconz/driver/constants.js +0 -56
  300. package/dist/adapter/deconz/driver/constants.js.map +0 -1
  301. package/dist/adapter/deconz/driver/driver.d.ts +0 -82
  302. package/dist/adapter/deconz/driver/driver.d.ts.map +0 -1
  303. package/dist/adapter/deconz/driver/driver.js +0 -751
  304. package/dist/adapter/deconz/driver/driver.js.map +0 -1
  305. package/dist/adapter/deconz/driver/frame.d.ts +0 -7
  306. package/dist/adapter/deconz/driver/frame.d.ts.map +0 -1
  307. package/dist/adapter/deconz/driver/frame.js +0 -14
  308. package/dist/adapter/deconz/driver/frame.js.map +0 -1
  309. package/dist/adapter/deconz/driver/frameParser.d.ts +0 -3
  310. package/dist/adapter/deconz/driver/frameParser.d.ts.map +0 -1
  311. package/dist/adapter/deconz/driver/frameParser.js +0 -444
  312. package/dist/adapter/deconz/driver/frameParser.js.map +0 -1
  313. package/dist/adapter/deconz/driver/parser.d.ts +0 -13
  314. package/dist/adapter/deconz/driver/parser.d.ts.map +0 -1
  315. package/dist/adapter/deconz/driver/parser.js +0 -64
  316. package/dist/adapter/deconz/driver/parser.js.map +0 -1
  317. package/dist/adapter/deconz/driver/writer.d.ts +0 -9
  318. package/dist/adapter/deconz/driver/writer.d.ts.map +0 -1
  319. package/dist/adapter/deconz/driver/writer.js +0 -45
  320. package/dist/adapter/deconz/driver/writer.js.map +0 -1
  321. package/dist/adapter/ember/adapter/emberAdapter.d.ts +0 -806
  322. package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +0 -1
  323. package/dist/adapter/ember/adapter/emberAdapter.js +0 -2942
  324. package/dist/adapter/ember/adapter/emberAdapter.js.map +0 -1
  325. package/dist/adapter/ember/adapter/endpoints.d.ts +0 -27
  326. package/dist/adapter/ember/adapter/endpoints.d.ts.map +0 -1
  327. package/dist/adapter/ember/adapter/endpoints.js +0 -68
  328. package/dist/adapter/ember/adapter/endpoints.js.map +0 -1
  329. package/dist/adapter/ember/adapter/index.d.ts +0 -3
  330. package/dist/adapter/ember/adapter/index.d.ts.map +0 -1
  331. package/dist/adapter/ember/adapter/index.js +0 -6
  332. package/dist/adapter/ember/adapter/index.js.map +0 -1
  333. package/dist/adapter/ember/adapter/oneWaitress.d.ts +0 -108
  334. package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +0 -1
  335. package/dist/adapter/ember/adapter/oneWaitress.js +0 -241
  336. package/dist/adapter/ember/adapter/oneWaitress.js.map +0 -1
  337. package/dist/adapter/ember/adapter/requestQueue.d.ts +0 -57
  338. package/dist/adapter/ember/adapter/requestQueue.d.ts.map +0 -1
  339. package/dist/adapter/ember/adapter/requestQueue.js +0 -139
  340. package/dist/adapter/ember/adapter/requestQueue.js.map +0 -1
  341. package/dist/adapter/ember/adapter/tokensManager.d.ts +0 -69
  342. package/dist/adapter/ember/adapter/tokensManager.d.ts.map +0 -1
  343. package/dist/adapter/ember/adapter/tokensManager.js +0 -688
  344. package/dist/adapter/ember/adapter/tokensManager.js.map +0 -1
  345. package/dist/adapter/ember/consts.d.ts +0 -191
  346. package/dist/adapter/ember/consts.d.ts.map +0 -1
  347. package/dist/adapter/ember/consts.js +0 -246
  348. package/dist/adapter/ember/consts.js.map +0 -1
  349. package/dist/adapter/ember/enums.d.ts +0 -2172
  350. package/dist/adapter/ember/enums.d.ts.map +0 -1
  351. package/dist/adapter/ember/enums.js +0 -2375
  352. package/dist/adapter/ember/enums.js.map +0 -1
  353. package/dist/adapter/ember/ezsp/buffalo.d.ts +0 -156
  354. package/dist/adapter/ember/ezsp/buffalo.d.ts.map +0 -1
  355. package/dist/adapter/ember/ezsp/buffalo.js +0 -1033
  356. package/dist/adapter/ember/ezsp/buffalo.js.map +0 -1
  357. package/dist/adapter/ember/ezsp/consts.d.ts +0 -116
  358. package/dist/adapter/ember/ezsp/consts.d.ts.map +0 -1
  359. package/dist/adapter/ember/ezsp/consts.js +0 -128
  360. package/dist/adapter/ember/ezsp/consts.js.map +0 -1
  361. package/dist/adapter/ember/ezsp/enums.d.ts +0 -879
  362. package/dist/adapter/ember/ezsp/enums.d.ts.map +0 -1
  363. package/dist/adapter/ember/ezsp/enums.js +0 -948
  364. package/dist/adapter/ember/ezsp/enums.js.map +0 -1
  365. package/dist/adapter/ember/ezsp/ezsp.d.ts +0 -2662
  366. package/dist/adapter/ember/ezsp/ezsp.d.ts.map +0 -1
  367. package/dist/adapter/ember/ezsp/ezsp.js +0 -6454
  368. package/dist/adapter/ember/ezsp/ezsp.js.map +0 -1
  369. package/dist/adapter/ember/types.d.ts +0 -733
  370. package/dist/adapter/ember/types.d.ts.map +0 -1
  371. package/dist/adapter/ember/types.js +0 -3
  372. package/dist/adapter/ember/types.js.map +0 -1
  373. package/dist/adapter/ember/uart/ash.d.ts +0 -464
  374. package/dist/adapter/ember/uart/ash.d.ts.map +0 -1
  375. package/dist/adapter/ember/uart/ash.js +0 -1633
  376. package/dist/adapter/ember/uart/ash.js.map +0 -1
  377. package/dist/adapter/ember/uart/consts.d.ts +0 -91
  378. package/dist/adapter/ember/uart/consts.d.ts.map +0 -1
  379. package/dist/adapter/ember/uart/consts.js +0 -100
  380. package/dist/adapter/ember/uart/consts.js.map +0 -1
  381. package/dist/adapter/ember/uart/enums.d.ts +0 -191
  382. package/dist/adapter/ember/uart/enums.d.ts.map +0 -1
  383. package/dist/adapter/ember/uart/enums.js +0 -197
  384. package/dist/adapter/ember/uart/enums.js.map +0 -1
  385. package/dist/adapter/ember/uart/parser.d.ts +0 -10
  386. package/dist/adapter/ember/uart/parser.d.ts.map +0 -1
  387. package/dist/adapter/ember/uart/parser.js +0 -37
  388. package/dist/adapter/ember/uart/parser.js.map +0 -1
  389. package/dist/adapter/ember/uart/queues.d.ts +0 -85
  390. package/dist/adapter/ember/uart/queues.d.ts.map +0 -1
  391. package/dist/adapter/ember/uart/queues.js +0 -214
  392. package/dist/adapter/ember/uart/queues.js.map +0 -1
  393. package/dist/adapter/ember/uart/writer.d.ts +0 -15
  394. package/dist/adapter/ember/uart/writer.d.ts.map +0 -1
  395. package/dist/adapter/ember/uart/writer.js +0 -46
  396. package/dist/adapter/ember/uart/writer.js.map +0 -1
  397. package/dist/adapter/ember/utils/initters.d.ts +0 -20
  398. package/dist/adapter/ember/utils/initters.d.ts.map +0 -1
  399. package/dist/adapter/ember/utils/initters.js +0 -58
  400. package/dist/adapter/ember/utils/initters.js.map +0 -1
  401. package/dist/adapter/ember/utils/math.d.ts +0 -51
  402. package/dist/adapter/ember/utils/math.d.ts.map +0 -1
  403. package/dist/adapter/ember/utils/math.js +0 -102
  404. package/dist/adapter/ember/utils/math.js.map +0 -1
  405. package/dist/adapter/ember/zdo.d.ts +0 -925
  406. package/dist/adapter/ember/zdo.d.ts.map +0 -1
  407. package/dist/adapter/ember/zdo.js +0 -723
  408. package/dist/adapter/ember/zdo.js.map +0 -1
  409. package/dist/adapter/events.d.ts +0 -42
  410. package/dist/adapter/events.d.ts.map +0 -1
  411. package/dist/adapter/events.js +0 -13
  412. package/dist/adapter/events.js.map +0 -1
  413. package/dist/adapter/ezsp/adapter/backup.d.ts +0 -13
  414. package/dist/adapter/ezsp/adapter/backup.d.ts.map +0 -1
  415. package/dist/adapter/ezsp/adapter/backup.js +0 -101
  416. package/dist/adapter/ezsp/adapter/backup.js.map +0 -1
  417. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +0 -65
  418. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +0 -1
  419. package/dist/adapter/ezsp/adapter/ezspAdapter.js +0 -634
  420. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +0 -1
  421. package/dist/adapter/ezsp/adapter/index.d.ts +0 -3
  422. package/dist/adapter/ezsp/adapter/index.d.ts.map +0 -1
  423. package/dist/adapter/ezsp/adapter/index.js +0 -11
  424. package/dist/adapter/ezsp/adapter/index.js.map +0 -1
  425. package/dist/adapter/ezsp/driver/commands.d.ts +0 -37
  426. package/dist/adapter/ezsp/driver/commands.d.ts.map +0 -1
  427. package/dist/adapter/ezsp/driver/commands.js +0 -2387
  428. package/dist/adapter/ezsp/driver/commands.js.map +0 -1
  429. package/dist/adapter/ezsp/driver/consts.d.ts +0 -11
  430. package/dist/adapter/ezsp/driver/consts.d.ts.map +0 -1
  431. package/dist/adapter/ezsp/driver/consts.js +0 -14
  432. package/dist/adapter/ezsp/driver/consts.js.map +0 -1
  433. package/dist/adapter/ezsp/driver/driver.d.ts +0 -109
  434. package/dist/adapter/ezsp/driver/driver.d.ts.map +0 -1
  435. package/dist/adapter/ezsp/driver/driver.js +0 -796
  436. package/dist/adapter/ezsp/driver/driver.js.map +0 -1
  437. package/dist/adapter/ezsp/driver/ezsp.d.ts +0 -106
  438. package/dist/adapter/ezsp/driver/ezsp.d.ts.map +0 -1
  439. package/dist/adapter/ezsp/driver/ezsp.js +0 -664
  440. package/dist/adapter/ezsp/driver/ezsp.js.map +0 -1
  441. package/dist/adapter/ezsp/driver/frame.d.ts +0 -40
  442. package/dist/adapter/ezsp/driver/frame.d.ts.map +0 -1
  443. package/dist/adapter/ezsp/driver/frame.js +0 -101
  444. package/dist/adapter/ezsp/driver/frame.js.map +0 -1
  445. package/dist/adapter/ezsp/driver/index.d.ts +0 -4
  446. package/dist/adapter/ezsp/driver/index.d.ts.map +0 -1
  447. package/dist/adapter/ezsp/driver/index.js +0 -9
  448. package/dist/adapter/ezsp/driver/index.js.map +0 -1
  449. package/dist/adapter/ezsp/driver/multicast.d.ts +0 -13
  450. package/dist/adapter/ezsp/driver/multicast.d.ts.map +0 -1
  451. package/dist/adapter/ezsp/driver/multicast.js +0 -74
  452. package/dist/adapter/ezsp/driver/multicast.js.map +0 -1
  453. package/dist/adapter/ezsp/driver/parser.d.ts +0 -12
  454. package/dist/adapter/ezsp/driver/parser.d.ts.map +0 -1
  455. package/dist/adapter/ezsp/driver/parser.js +0 -105
  456. package/dist/adapter/ezsp/driver/parser.js.map +0 -1
  457. package/dist/adapter/ezsp/driver/types/basic.d.ts +0 -63
  458. package/dist/adapter/ezsp/driver/types/basic.d.ts.map +0 -1
  459. package/dist/adapter/ezsp/driver/types/basic.js +0 -209
  460. package/dist/adapter/ezsp/driver/types/basic.js.map +0 -1
  461. package/dist/adapter/ezsp/driver/types/index.d.ts +0 -10
  462. package/dist/adapter/ezsp/driver/types/index.d.ts.map +0 -1
  463. package/dist/adapter/ezsp/driver/types/index.js +0 -139
  464. package/dist/adapter/ezsp/driver/types/index.js.map +0 -1
  465. package/dist/adapter/ezsp/driver/types/named.d.ts +0 -1288
  466. package/dist/adapter/ezsp/driver/types/named.d.ts.map +0 -1
  467. package/dist/adapter/ezsp/driver/types/named.js +0 -2330
  468. package/dist/adapter/ezsp/driver/types/named.js.map +0 -1
  469. package/dist/adapter/ezsp/driver/types/struct.d.ts +0 -271
  470. package/dist/adapter/ezsp/driver/types/struct.d.ts.map +0 -1
  471. package/dist/adapter/ezsp/driver/types/struct.js +0 -804
  472. package/dist/adapter/ezsp/driver/types/struct.js.map +0 -1
  473. package/dist/adapter/ezsp/driver/uart.d.ts +0 -49
  474. package/dist/adapter/ezsp/driver/uart.d.ts.map +0 -1
  475. package/dist/adapter/ezsp/driver/uart.js +0 -383
  476. package/dist/adapter/ezsp/driver/uart.js.map +0 -1
  477. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +0 -3
  478. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +0 -1
  479. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +0 -56
  480. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +0 -1
  481. package/dist/adapter/ezsp/driver/utils/index.d.ts +0 -20
  482. package/dist/adapter/ezsp/driver/utils/index.d.ts.map +0 -1
  483. package/dist/adapter/ezsp/driver/utils/index.js +0 -73
  484. package/dist/adapter/ezsp/driver/utils/index.js.map +0 -1
  485. package/dist/adapter/ezsp/driver/writer.d.ts +0 -14
  486. package/dist/adapter/ezsp/driver/writer.d.ts.map +0 -1
  487. package/dist/adapter/ezsp/driver/writer.js +0 -83
  488. package/dist/adapter/ezsp/driver/writer.js.map +0 -1
  489. package/dist/adapter/index.d.ts +0 -5
  490. package/dist/adapter/index.d.ts.map +0 -1
  491. package/dist/adapter/index.js +0 -36
  492. package/dist/adapter/index.js.map +0 -1
  493. package/dist/adapter/serialPort.d.ts +0 -14
  494. package/dist/adapter/serialPort.d.ts.map +0 -1
  495. package/dist/adapter/serialPort.js +0 -47
  496. package/dist/adapter/serialPort.js.map +0 -1
  497. package/dist/adapter/serialPortUtils.d.ts +0 -13
  498. package/dist/adapter/serialPortUtils.d.ts.map +0 -1
  499. package/dist/adapter/serialPortUtils.js +0 -19
  500. package/dist/adapter/serialPortUtils.js.map +0 -1
  501. package/dist/adapter/socketPortUtils.d.ts +0 -11
  502. package/dist/adapter/socketPortUtils.d.ts.map +0 -1
  503. package/dist/adapter/socketPortUtils.js +0 -17
  504. package/dist/adapter/socketPortUtils.js.map +0 -1
  505. package/dist/adapter/tstype.d.ts +0 -86
  506. package/dist/adapter/tstype.d.ts.map +0 -1
  507. package/dist/adapter/tstype.js +0 -3
  508. package/dist/adapter/tstype.js.map +0 -1
  509. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +0 -62
  510. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +0 -1
  511. package/dist/adapter/z-stack/adapter/adapter-backup.js +0 -459
  512. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +0 -1
  513. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +0 -151
  514. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +0 -1
  515. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +0 -259
  516. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +0 -1
  517. package/dist/adapter/z-stack/adapter/endpoints.d.ts +0 -12
  518. package/dist/adapter/z-stack/adapter/endpoints.d.ts.map +0 -1
  519. package/dist/adapter/z-stack/adapter/endpoints.js +0 -74
  520. package/dist/adapter/z-stack/adapter/endpoints.js.map +0 -1
  521. package/dist/adapter/z-stack/adapter/index.d.ts +0 -3
  522. package/dist/adapter/z-stack/adapter/index.d.ts.map +0 -1
  523. package/dist/adapter/z-stack/adapter/index.js +0 -9
  524. package/dist/adapter/z-stack/adapter/index.js.map +0 -1
  525. package/dist/adapter/z-stack/adapter/manager.d.ts +0 -84
  526. package/dist/adapter/z-stack/adapter/manager.d.ts.map +0 -1
  527. package/dist/adapter/z-stack/adapter/manager.js +0 -474
  528. package/dist/adapter/z-stack/adapter/manager.js.map +0 -1
  529. package/dist/adapter/z-stack/adapter/tstype.d.ts +0 -7
  530. package/dist/adapter/z-stack/adapter/tstype.d.ts.map +0 -1
  531. package/dist/adapter/z-stack/adapter/tstype.js +0 -10
  532. package/dist/adapter/z-stack/adapter/tstype.js.map +0 -1
  533. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +0 -86
  534. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +0 -1
  535. package/dist/adapter/z-stack/adapter/zStackAdapter.js +0 -912
  536. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +0 -1
  537. package/dist/adapter/z-stack/constants/af.d.ts +0 -24
  538. package/dist/adapter/z-stack/constants/af.d.ts.map +0 -1
  539. package/dist/adapter/z-stack/constants/af.js +0 -28
  540. package/dist/adapter/z-stack/constants/af.js.map +0 -1
  541. package/dist/adapter/z-stack/constants/common.d.ts +0 -279
  542. package/dist/adapter/z-stack/constants/common.d.ts.map +0 -1
  543. package/dist/adapter/z-stack/constants/common.js +0 -293
  544. package/dist/adapter/z-stack/constants/common.js.map +0 -1
  545. package/dist/adapter/z-stack/constants/dbg.d.ts +0 -23
  546. package/dist/adapter/z-stack/constants/dbg.d.ts.map +0 -1
  547. package/dist/adapter/z-stack/constants/dbg.js +0 -25
  548. package/dist/adapter/z-stack/constants/dbg.js.map +0 -1
  549. package/dist/adapter/z-stack/constants/index.d.ts +0 -11
  550. package/dist/adapter/z-stack/constants/index.d.ts.map +0 -1
  551. package/dist/adapter/z-stack/constants/index.js +0 -48
  552. package/dist/adapter/z-stack/constants/index.js.map +0 -1
  553. package/dist/adapter/z-stack/constants/mac.d.ts +0 -128
  554. package/dist/adapter/z-stack/constants/mac.d.ts.map +0 -1
  555. package/dist/adapter/z-stack/constants/mac.js +0 -130
  556. package/dist/adapter/z-stack/constants/mac.js.map +0 -1
  557. package/dist/adapter/z-stack/constants/sapi.d.ts +0 -25
  558. package/dist/adapter/z-stack/constants/sapi.d.ts.map +0 -1
  559. package/dist/adapter/z-stack/constants/sapi.js +0 -27
  560. package/dist/adapter/z-stack/constants/sapi.js.map +0 -1
  561. package/dist/adapter/z-stack/constants/sys.d.ts +0 -72
  562. package/dist/adapter/z-stack/constants/sys.d.ts.map +0 -1
  563. package/dist/adapter/z-stack/constants/sys.js +0 -74
  564. package/dist/adapter/z-stack/constants/sys.js.map +0 -1
  565. package/dist/adapter/z-stack/constants/util.d.ts +0 -82
  566. package/dist/adapter/z-stack/constants/util.d.ts.map +0 -1
  567. package/dist/adapter/z-stack/constants/util.js +0 -84
  568. package/dist/adapter/z-stack/constants/util.js.map +0 -1
  569. package/dist/adapter/z-stack/constants/utils.d.ts +0 -5
  570. package/dist/adapter/z-stack/constants/utils.d.ts.map +0 -1
  571. package/dist/adapter/z-stack/constants/utils.js +0 -15
  572. package/dist/adapter/z-stack/constants/utils.js.map +0 -1
  573. package/dist/adapter/z-stack/constants/zdo.d.ts +0 -103
  574. package/dist/adapter/z-stack/constants/zdo.d.ts.map +0 -1
  575. package/dist/adapter/z-stack/constants/zdo.js +0 -105
  576. package/dist/adapter/z-stack/constants/zdo.js.map +0 -1
  577. package/dist/adapter/z-stack/models/index.d.ts +0 -2
  578. package/dist/adapter/z-stack/models/index.d.ts.map +0 -1
  579. package/dist/adapter/z-stack/models/index.js +0 -18
  580. package/dist/adapter/z-stack/models/index.js.map +0 -1
  581. package/dist/adapter/z-stack/models/startup-options.d.ts +0 -13
  582. package/dist/adapter/z-stack/models/startup-options.d.ts.map +0 -1
  583. package/dist/adapter/z-stack/models/startup-options.js +0 -3
  584. package/dist/adapter/z-stack/models/startup-options.js.map +0 -1
  585. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +0 -24
  586. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +0 -1
  587. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +0 -46
  588. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +0 -1
  589. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +0 -11
  590. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +0 -1
  591. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +0 -23
  592. package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +0 -1
  593. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +0 -11
  594. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +0 -1
  595. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +0 -22
  596. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +0 -1
  597. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +0 -11
  598. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +0 -1
  599. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +0 -24
  600. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +0 -1
  601. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +0 -11
  602. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts.map +0 -1
  603. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +0 -25
  604. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +0 -1
  605. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +0 -11
  606. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +0 -1
  607. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +0 -24
  608. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +0 -1
  609. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +0 -9
  610. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +0 -1
  611. package/dist/adapter/z-stack/structs/entries/channel-list.js +0 -16
  612. package/dist/adapter/z-stack/structs/entries/channel-list.js.map +0 -1
  613. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +0 -9
  614. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +0 -1
  615. package/dist/adapter/z-stack/structs/entries/has-configured.js +0 -17
  616. package/dist/adapter/z-stack/structs/entries/has-configured.js.map +0 -1
  617. package/dist/adapter/z-stack/structs/entries/index.d.ts +0 -17
  618. package/dist/adapter/z-stack/structs/entries/index.d.ts.map +0 -1
  619. package/dist/adapter/z-stack/structs/entries/index.js +0 -33
  620. package/dist/adapter/z-stack/structs/entries/index.js.map +0 -1
  621. package/dist/adapter/z-stack/structs/entries/nib.d.ts +0 -11
  622. package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +0 -1
  623. package/dist/adapter/z-stack/structs/entries/nib.js +0 -69
  624. package/dist/adapter/z-stack/structs/entries/nib.js.map +0 -1
  625. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +0 -11
  626. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +0 -1
  627. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +0 -19
  628. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +0 -1
  629. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +0 -9
  630. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +0 -1
  631. package/dist/adapter/z-stack/structs/entries/nwk-key.js +0 -16
  632. package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +0 -1
  633. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +0 -9
  634. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +0 -1
  635. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +0 -16
  636. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +0 -1
  637. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +0 -14
  638. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +0 -1
  639. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +0 -24
  640. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +0 -1
  641. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +0 -11
  642. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +0 -1
  643. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +0 -23
  644. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +0 -1
  645. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +0 -21
  646. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts.map +0 -1
  647. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +0 -37
  648. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +0 -1
  649. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +0 -11
  650. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +0 -1
  651. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +0 -25
  652. package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +0 -1
  653. package/dist/adapter/z-stack/structs/index.d.ts +0 -5
  654. package/dist/adapter/z-stack/structs/index.d.ts.map +0 -1
  655. package/dist/adapter/z-stack/structs/index.js +0 -21
  656. package/dist/adapter/z-stack/structs/index.js.map +0 -1
  657. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +0 -14
  658. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts.map +0 -1
  659. package/dist/adapter/z-stack/structs/serializable-memory-object.js +0 -3
  660. package/dist/adapter/z-stack/structs/serializable-memory-object.js.map +0 -1
  661. package/dist/adapter/z-stack/structs/struct.d.ts +0 -100
  662. package/dist/adapter/z-stack/structs/struct.d.ts.map +0 -1
  663. package/dist/adapter/z-stack/structs/struct.js +0 -297
  664. package/dist/adapter/z-stack/structs/struct.js.map +0 -1
  665. package/dist/adapter/z-stack/structs/table.d.ts +0 -95
  666. package/dist/adapter/z-stack/structs/table.d.ts.map +0 -1
  667. package/dist/adapter/z-stack/structs/table.js +0 -164
  668. package/dist/adapter/z-stack/structs/table.js.map +0 -1
  669. package/dist/adapter/z-stack/unpi/constants.d.ts +0 -29
  670. package/dist/adapter/z-stack/unpi/constants.d.ts.map +0 -1
  671. package/dist/adapter/z-stack/unpi/constants.js +0 -40
  672. package/dist/adapter/z-stack/unpi/constants.js.map +0 -1
  673. package/dist/adapter/z-stack/unpi/frame.d.ts +0 -17
  674. package/dist/adapter/z-stack/unpi/frame.d.ts.map +0 -1
  675. package/dist/adapter/z-stack/unpi/frame.js +0 -55
  676. package/dist/adapter/z-stack/unpi/frame.js.map +0 -1
  677. package/dist/adapter/z-stack/unpi/index.d.ts +0 -6
  678. package/dist/adapter/z-stack/unpi/index.d.ts.map +0 -1
  679. package/dist/adapter/z-stack/unpi/index.js +0 -38
  680. package/dist/adapter/z-stack/unpi/index.js.map +0 -1
  681. package/dist/adapter/z-stack/unpi/parser.d.ts +0 -13
  682. package/dist/adapter/z-stack/unpi/parser.d.ts.map +0 -1
  683. package/dist/adapter/z-stack/unpi/parser.js +0 -86
  684. package/dist/adapter/z-stack/unpi/parser.js.map +0 -1
  685. package/dist/adapter/z-stack/unpi/writer.d.ts +0 -12
  686. package/dist/adapter/z-stack/unpi/writer.d.ts.map +0 -1
  687. package/dist/adapter/z-stack/unpi/writer.js +0 -55
  688. package/dist/adapter/z-stack/unpi/writer.js.map +0 -1
  689. package/dist/adapter/z-stack/utils/channel-list.d.ts +0 -21
  690. package/dist/adapter/z-stack/utils/channel-list.d.ts.map +0 -1
  691. package/dist/adapter/z-stack/utils/channel-list.js +0 -41
  692. package/dist/adapter/z-stack/utils/channel-list.js.map +0 -1
  693. package/dist/adapter/z-stack/utils/index.d.ts +0 -3
  694. package/dist/adapter/z-stack/utils/index.d.ts.map +0 -1
  695. package/dist/adapter/z-stack/utils/index.js +0 -19
  696. package/dist/adapter/z-stack/utils/index.js.map +0 -1
  697. package/dist/adapter/z-stack/utils/network-options.d.ts +0 -9
  698. package/dist/adapter/z-stack/utils/network-options.d.ts.map +0 -1
  699. package/dist/adapter/z-stack/utils/network-options.js +0 -23
  700. package/dist/adapter/z-stack/utils/network-options.js.map +0 -1
  701. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +0 -14
  702. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +0 -1
  703. package/dist/adapter/z-stack/znp/buffaloZnp.js +0 -243
  704. package/dist/adapter/z-stack/znp/buffaloZnp.js.map +0 -1
  705. package/dist/adapter/z-stack/znp/definition.d.ts +0 -6
  706. package/dist/adapter/z-stack/znp/definition.d.ts.map +0 -1
  707. package/dist/adapter/z-stack/znp/definition.js +0 -3052
  708. package/dist/adapter/z-stack/znp/definition.js.map +0 -1
  709. package/dist/adapter/z-stack/znp/index.d.ts +0 -4
  710. package/dist/adapter/z-stack/znp/index.d.ts.map +0 -1
  711. package/dist/adapter/z-stack/znp/index.js +0 -11
  712. package/dist/adapter/z-stack/znp/index.js.map +0 -1
  713. package/dist/adapter/z-stack/znp/parameterType.d.ts +0 -23
  714. package/dist/adapter/z-stack/znp/parameterType.d.ts.map +0 -1
  715. package/dist/adapter/z-stack/znp/parameterType.js +0 -26
  716. package/dist/adapter/z-stack/znp/parameterType.js.map +0 -1
  717. package/dist/adapter/z-stack/znp/tstype.d.ts +0 -23
  718. package/dist/adapter/z-stack/znp/tstype.d.ts.map +0 -1
  719. package/dist/adapter/z-stack/znp/tstype.js +0 -3
  720. package/dist/adapter/z-stack/znp/tstype.js.map +0 -1
  721. package/dist/adapter/z-stack/znp/znp.d.ts +0 -47
  722. package/dist/adapter/z-stack/znp/znp.d.ts.map +0 -1
  723. package/dist/adapter/z-stack/znp/znp.js +0 -322
  724. package/dist/adapter/z-stack/znp/znp.js.map +0 -1
  725. package/dist/adapter/z-stack/znp/zpiObject.d.ts +0 -20
  726. package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +0 -1
  727. package/dist/adapter/z-stack/znp/zpiObject.js +0 -103
  728. package/dist/adapter/z-stack/znp/zpiObject.js.map +0 -1
  729. package/dist/adapter/zigate/adapter/index.d.ts +0 -3
  730. package/dist/adapter/zigate/adapter/index.d.ts.map +0 -1
  731. package/dist/adapter/zigate/adapter/index.js +0 -11
  732. package/dist/adapter/zigate/adapter/index.js.map +0 -1
  733. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +0 -72
  734. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +0 -1
  735. package/dist/adapter/zigate/adapter/zigateAdapter.js +0 -681
  736. package/dist/adapter/zigate/adapter/zigateAdapter.js.map +0 -1
  737. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +0 -18
  738. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +0 -1
  739. package/dist/adapter/zigate/driver/buffaloZiGate.js +0 -190
  740. package/dist/adapter/zigate/driver/buffaloZiGate.js.map +0 -1
  741. package/dist/adapter/zigate/driver/commandType.d.ts +0 -43
  742. package/dist/adapter/zigate/driver/commandType.d.ts.map +0 -1
  743. package/dist/adapter/zigate/driver/commandType.js +0 -390
  744. package/dist/adapter/zigate/driver/commandType.js.map +0 -1
  745. package/dist/adapter/zigate/driver/constants.d.ts +0 -277
  746. package/dist/adapter/zigate/driver/constants.d.ts.map +0 -1
  747. package/dist/adapter/zigate/driver/constants.js +0 -372
  748. package/dist/adapter/zigate/driver/constants.js.map +0 -1
  749. package/dist/adapter/zigate/driver/frame.d.ts +0 -27
  750. package/dist/adapter/zigate/driver/frame.d.ts.map +0 -1
  751. package/dist/adapter/zigate/driver/frame.js +0 -173
  752. package/dist/adapter/zigate/driver/frame.js.map +0 -1
  753. package/dist/adapter/zigate/driver/messageType.d.ts +0 -13
  754. package/dist/adapter/zigate/driver/messageType.d.ts.map +0 -1
  755. package/dist/adapter/zigate/driver/messageType.js +0 -284
  756. package/dist/adapter/zigate/driver/messageType.js.map +0 -1
  757. package/dist/adapter/zigate/driver/parameterType.d.ts +0 -28
  758. package/dist/adapter/zigate/driver/parameterType.d.ts.map +0 -1
  759. package/dist/adapter/zigate/driver/parameterType.js +0 -33
  760. package/dist/adapter/zigate/driver/parameterType.js.map +0 -1
  761. package/dist/adapter/zigate/driver/ziGateObject.d.ts +0 -24
  762. package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +0 -1
  763. package/dist/adapter/zigate/driver/ziGateObject.js +0 -111
  764. package/dist/adapter/zigate/driver/ziGateObject.js.map +0 -1
  765. package/dist/adapter/zigate/driver/zigate.d.ts +0 -50
  766. package/dist/adapter/zigate/driver/zigate.d.ts.map +0 -1
  767. package/dist/adapter/zigate/driver/zigate.js +0 -289
  768. package/dist/adapter/zigate/driver/zigate.js.map +0 -1
  769. package/dist/buffalo/buffalo.d.ts +0 -55
  770. package/dist/buffalo/buffalo.d.ts.map +0 -1
  771. package/dist/buffalo/buffalo.js +0 -230
  772. package/dist/buffalo/buffalo.js.map +0 -1
  773. package/dist/buffalo/index.d.ts +0 -3
  774. package/dist/buffalo/index.d.ts.map +0 -1
  775. package/dist/buffalo/index.js +0 -9
  776. package/dist/buffalo/index.js.map +0 -1
  777. package/dist/controller/controller.d.ts +0 -119
  778. package/dist/controller/controller.d.ts.map +0 -1
  779. package/dist/controller/controller.js +0 -700
  780. package/dist/controller/controller.js.map +0 -1
  781. package/dist/controller/database.d.ts +0 -20
  782. package/dist/controller/database.d.ts.map +0 -1
  783. package/dist/controller/database.js +0 -94
  784. package/dist/controller/database.js.map +0 -1
  785. package/dist/controller/events.d.ts +0 -59
  786. package/dist/controller/events.d.ts.map +0 -1
  787. package/dist/controller/events.js +0 -113
  788. package/dist/controller/events.js.map +0 -1
  789. package/dist/controller/greenPower.d.ts +0 -14
  790. package/dist/controller/greenPower.d.ts.map +0 -1
  791. package/dist/controller/greenPower.js +0 -216
  792. package/dist/controller/greenPower.js.map +0 -1
  793. package/dist/controller/helpers/index.d.ts +0 -3
  794. package/dist/controller/helpers/index.d.ts.map +0 -1
  795. package/dist/controller/helpers/index.js +0 -29
  796. package/dist/controller/helpers/index.js.map +0 -1
  797. package/dist/controller/helpers/request.d.ts +0 -22
  798. package/dist/controller/helpers/request.d.ts.map +0 -1
  799. package/dist/controller/helpers/request.js +0 -78
  800. package/dist/controller/helpers/request.js.map +0 -1
  801. package/dist/controller/helpers/requestQueue.d.ts +0 -13
  802. package/dist/controller/helpers/requestQueue.d.ts.map +0 -1
  803. package/dist/controller/helpers/requestQueue.js +0 -106
  804. package/dist/controller/helpers/requestQueue.js.map +0 -1
  805. package/dist/controller/helpers/zclFrameConverter.d.ts +0 -9
  806. package/dist/controller/helpers/zclFrameConverter.d.ts.map +0 -1
  807. package/dist/controller/helpers/zclFrameConverter.js +0 -70
  808. package/dist/controller/helpers/zclFrameConverter.js.map +0 -1
  809. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +0 -6
  810. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts.map +0 -1
  811. package/dist/controller/helpers/zclTransactionSequenceNumber.js +0 -14
  812. package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +0 -1
  813. package/dist/controller/index.d.ts +0 -6
  814. package/dist/controller/index.d.ts.map +0 -1
  815. package/dist/controller/index.js +0 -9
  816. package/dist/controller/index.js.map +0 -1
  817. package/dist/controller/model/device.d.ts +0 -140
  818. package/dist/controller/model/device.d.ts.map +0 -1
  819. package/dist/controller/model/device.js +0 -746
  820. package/dist/controller/model/device.js.map +0 -1
  821. package/dist/controller/model/endpoint.d.ts +0 -134
  822. package/dist/controller/model/endpoint.d.ts.map +0 -1
  823. package/dist/controller/model/endpoint.js +0 -667
  824. package/dist/controller/model/endpoint.js.map +0 -1
  825. package/dist/controller/model/entity.d.ts +0 -15
  826. package/dist/controller/model/entity.d.ts.map +0 -1
  827. package/dist/controller/model/entity.js +0 -27
  828. package/dist/controller/model/entity.js.map +0 -1
  829. package/dist/controller/model/group.d.ts +0 -39
  830. package/dist/controller/model/group.d.ts.map +0 -1
  831. package/dist/controller/model/group.js +0 -226
  832. package/dist/controller/model/group.js.map +0 -1
  833. package/dist/controller/model/index.d.ts +0 -6
  834. package/dist/controller/model/index.d.ts.map +0 -1
  835. package/dist/controller/model/index.js +0 -15
  836. package/dist/controller/model/index.js.map +0 -1
  837. package/dist/controller/model/konnextConfig.d.ts +0 -7
  838. package/dist/controller/model/konnextConfig.d.ts.map +0 -1
  839. package/dist/controller/model/konnextConfig.js +0 -3
  840. package/dist/controller/model/konnextConfig.js.map +0 -1
  841. package/dist/controller/touchlink.d.ts +0 -20
  842. package/dist/controller/touchlink.d.ts.map +0 -1
  843. package/dist/controller/touchlink.js +0 -157
  844. package/dist/controller/touchlink.js.map +0 -1
  845. package/dist/controller/tstype.d.ts +0 -21
  846. package/dist/controller/tstype.d.ts.map +0 -1
  847. package/dist/controller/tstype.js +0 -9
  848. package/dist/controller/tstype.js.map +0 -1
  849. package/dist/index.d.ts +0 -6
  850. package/dist/index.d.ts.map +0 -1
  851. package/dist/index.js +0 -37
  852. package/dist/index.js.map +0 -1
  853. package/dist/models/backup-storage-legacy.d.ts +0 -27
  854. package/dist/models/backup-storage-legacy.d.ts.map +0 -1
  855. package/dist/models/backup-storage-legacy.js +0 -3
  856. package/dist/models/backup-storage-legacy.js.map +0 -1
  857. package/dist/models/backup-storage-unified.d.ts +0 -50
  858. package/dist/models/backup-storage-unified.d.ts.map +0 -1
  859. package/dist/models/backup-storage-unified.js +0 -3
  860. package/dist/models/backup-storage-unified.js.map +0 -1
  861. package/dist/models/backup.d.ts +0 -38
  862. package/dist/models/backup.d.ts.map +0 -1
  863. package/dist/models/backup.js +0 -3
  864. package/dist/models/backup.js.map +0 -1
  865. package/dist/models/index.d.ts +0 -5
  866. package/dist/models/index.d.ts.map +0 -1
  867. package/dist/models/index.js +0 -21
  868. package/dist/models/index.js.map +0 -1
  869. package/dist/models/network-options.d.ts +0 -13
  870. package/dist/models/network-options.d.ts.map +0 -1
  871. package/dist/models/network-options.js +0 -3
  872. package/dist/models/network-options.js.map +0 -1
  873. package/dist/utils/aes.d.ts +0 -40
  874. package/dist/utils/aes.d.ts.map +0 -1
  875. package/dist/utils/aes.js +0 -198
  876. package/dist/utils/aes.js.map +0 -1
  877. package/dist/utils/assertString.d.ts +0 -3
  878. package/dist/utils/assertString.d.ts.map +0 -1
  879. package/dist/utils/assertString.js +0 -9
  880. package/dist/utils/assertString.js.map +0 -1
  881. package/dist/utils/backup.d.ts +0 -21
  882. package/dist/utils/backup.d.ts.map +0 -1
  883. package/dist/utils/backup.js +0 -190
  884. package/dist/utils/backup.js.map +0 -1
  885. package/dist/utils/equalsPartial.d.ts +0 -3
  886. package/dist/utils/equalsPartial.d.ts.map +0 -1
  887. package/dist/utils/equalsPartial.js +0 -12
  888. package/dist/utils/equalsPartial.js.map +0 -1
  889. package/dist/utils/index.d.ts +0 -10
  890. package/dist/utils/index.d.ts.map +0 -1
  891. package/dist/utils/index.js +0 -46
  892. package/dist/utils/index.js.map +0 -1
  893. package/dist/utils/isNumberArray.d.ts +0 -3
  894. package/dist/utils/isNumberArray.d.ts.map +0 -1
  895. package/dist/utils/isNumberArray.js +0 -7
  896. package/dist/utils/isNumberArray.js.map +0 -1
  897. package/dist/utils/logger.d.ts +0 -9
  898. package/dist/utils/logger.d.ts.map +0 -1
  899. package/dist/utils/logger.js +0 -14
  900. package/dist/utils/logger.js.map +0 -1
  901. package/dist/utils/queue.d.ts +0 -12
  902. package/dist/utils/queue.d.ts.map +0 -1
  903. package/dist/utils/queue.js +0 -62
  904. package/dist/utils/queue.js.map +0 -1
  905. package/dist/utils/realpathSync.d.ts +0 -3
  906. package/dist/utils/realpathSync.d.ts.map +0 -1
  907. package/dist/utils/realpathSync.js +0 -13
  908. package/dist/utils/realpathSync.js.map +0 -1
  909. package/dist/utils/wait.d.ts +0 -3
  910. package/dist/utils/wait.d.ts.map +0 -1
  911. package/dist/utils/wait.js +0 -9
  912. package/dist/utils/wait.js.map +0 -1
  913. package/dist/utils/waitress.d.ts +0 -22
  914. package/dist/utils/waitress.d.ts.map +0 -1
  915. package/dist/utils/waitress.js +0 -69
  916. package/dist/utils/waitress.js.map +0 -1
  917. package/dist/zspec/consts.d.ts +0 -60
  918. package/dist/zspec/consts.d.ts.map +0 -1
  919. package/dist/zspec/consts.js +0 -64
  920. package/dist/zspec/consts.js.map +0 -1
  921. package/dist/zspec/enums.d.ts +0 -19
  922. package/dist/zspec/enums.d.ts.map +0 -1
  923. package/dist/zspec/enums.js +0 -28
  924. package/dist/zspec/enums.js.map +0 -1
  925. package/dist/zspec/index.d.ts +0 -4
  926. package/dist/zspec/index.d.ts.map +0 -1
  927. package/dist/zspec/index.js +0 -43
  928. package/dist/zspec/index.js.map +0 -1
  929. package/dist/zspec/tstypes.d.ts +0 -19
  930. package/dist/zspec/tstypes.d.ts.map +0 -1
  931. package/dist/zspec/tstypes.js +0 -3
  932. package/dist/zspec/tstypes.js.map +0 -1
  933. package/dist/zspec/utils.d.ts +0 -14
  934. package/dist/zspec/utils.d.ts.map +0 -1
  935. package/dist/zspec/utils.js +0 -29
  936. package/dist/zspec/utils.js.map +0 -1
  937. package/dist/zspec/zcl/buffaloZcl.d.ts +0 -55
  938. package/dist/zspec/zcl/buffaloZcl.d.ts.map +0 -1
  939. package/dist/zspec/zcl/buffaloZcl.js +0 -929
  940. package/dist/zspec/zcl/buffaloZcl.js.map +0 -1
  941. package/dist/zspec/zcl/definition/cluster.d.ts +0 -3
  942. package/dist/zspec/zcl/definition/cluster.d.ts.map +0 -1
  943. package/dist/zspec/zcl/definition/cluster.js +0 -5500
  944. package/dist/zspec/zcl/definition/cluster.js.map +0 -1
  945. package/dist/zspec/zcl/definition/consts.d.ts +0 -9
  946. package/dist/zspec/zcl/definition/consts.d.ts.map +0 -1
  947. package/dist/zspec/zcl/definition/consts.js +0 -27
  948. package/dist/zspec/zcl/definition/consts.js.map +0 -1
  949. package/dist/zspec/zcl/definition/enums.d.ts +0 -177
  950. package/dist/zspec/zcl/definition/enums.d.ts.map +0 -1
  951. package/dist/zspec/zcl/definition/enums.js +0 -187
  952. package/dist/zspec/zcl/definition/enums.js.map +0 -1
  953. package/dist/zspec/zcl/definition/foundation.d.ts +0 -11
  954. package/dist/zspec/zcl/definition/foundation.d.ts.map +0 -1
  955. package/dist/zspec/zcl/definition/foundation.js +0 -241
  956. package/dist/zspec/zcl/definition/foundation.js.map +0 -1
  957. package/dist/zspec/zcl/definition/manufacturerCode.d.ts +0 -727
  958. package/dist/zspec/zcl/definition/manufacturerCode.d.ts.map +0 -1
  959. package/dist/zspec/zcl/definition/manufacturerCode.js +0 -733
  960. package/dist/zspec/zcl/definition/manufacturerCode.js.map +0 -1
  961. package/dist/zspec/zcl/definition/status.d.ts +0 -69
  962. package/dist/zspec/zcl/definition/status.d.ts.map +0 -1
  963. package/dist/zspec/zcl/definition/status.js +0 -74
  964. package/dist/zspec/zcl/definition/status.js.map +0 -1
  965. package/dist/zspec/zcl/definition/tstype.d.ts +0 -114
  966. package/dist/zspec/zcl/definition/tstype.d.ts.map +0 -1
  967. package/dist/zspec/zcl/definition/tstype.js +0 -4
  968. package/dist/zspec/zcl/definition/tstype.js.map +0 -1
  969. package/dist/zspec/zcl/index.d.ts +0 -11
  970. package/dist/zspec/zcl/index.d.ts.map +0 -1
  971. package/dist/zspec/zcl/index.js +0 -47
  972. package/dist/zspec/zcl/index.js.map +0 -1
  973. package/dist/zspec/zcl/utils.d.ts +0 -7
  974. package/dist/zspec/zcl/utils.d.ts.map +0 -1
  975. package/dist/zspec/zcl/utils.js +0 -234
  976. package/dist/zspec/zcl/utils.js.map +0 -1
  977. package/dist/zspec/zcl/zclFrame.d.ts +0 -36
  978. package/dist/zspec/zcl/zclFrame.d.ts.map +0 -1
  979. package/dist/zspec/zcl/zclFrame.js +0 -304
  980. package/dist/zspec/zcl/zclFrame.js.map +0 -1
  981. package/dist/zspec/zcl/zclHeader.d.ts +0 -17
  982. package/dist/zspec/zcl/zclHeader.d.ts.map +0 -1
  983. package/dist/zspec/zcl/zclHeader.js +0 -88
  984. package/dist/zspec/zcl/zclHeader.js.map +0 -1
  985. package/dist/zspec/zcl/zclStatusError.d.ts +0 -6
  986. package/dist/zspec/zcl/zclStatusError.d.ts.map +0 -1
  987. package/dist/zspec/zcl/zclStatusError.js +0 -13
  988. package/dist/zspec/zcl/zclStatusError.js.map +0 -1
  989. package/dist/zspec/zdo/buffaloZdo.d.ts +0 -438
  990. package/dist/zspec/zdo/buffaloZdo.d.ts.map +0 -1
  991. package/dist/zspec/zdo/buffaloZdo.js +0 -1892
  992. package/dist/zspec/zdo/buffaloZdo.js.map +0 -1
  993. package/dist/zspec/zdo/definition/clusters.d.ts +0 -624
  994. package/dist/zspec/zdo/definition/clusters.d.ts.map +0 -1
  995. package/dist/zspec/zdo/definition/clusters.js +0 -687
  996. package/dist/zspec/zdo/definition/clusters.js.map +0 -1
  997. package/dist/zspec/zdo/definition/consts.d.ts +0 -13
  998. package/dist/zspec/zdo/definition/consts.d.ts.map +0 -1
  999. package/dist/zspec/zdo/definition/consts.js +0 -16
  1000. package/dist/zspec/zdo/definition/consts.js.map +0 -1
  1001. package/dist/zspec/zdo/definition/enums.d.ts +0 -75
  1002. package/dist/zspec/zdo/definition/enums.d.ts.map +0 -1
  1003. package/dist/zspec/zdo/definition/enums.js +0 -97
  1004. package/dist/zspec/zdo/definition/enums.js.map +0 -1
  1005. package/dist/zspec/zdo/definition/status.d.ts +0 -99
  1006. package/dist/zspec/zdo/definition/status.d.ts.map +0 -1
  1007. package/dist/zspec/zdo/definition/status.js +0 -109
  1008. package/dist/zspec/zdo/definition/status.js.map +0 -1
  1009. package/dist/zspec/zdo/definition/tstypes.d.ts +0 -787
  1010. package/dist/zspec/zdo/definition/tstypes.d.ts.map +0 -1
  1011. package/dist/zspec/zdo/definition/tstypes.js +0 -3
  1012. package/dist/zspec/zdo/definition/tstypes.js.map +0 -1
  1013. package/dist/zspec/zdo/index.d.ts +0 -7
  1014. package/dist/zspec/zdo/index.d.ts.map +0 -1
  1015. package/dist/zspec/zdo/index.js +0 -39
  1016. package/dist/zspec/zdo/index.js.map +0 -1
  1017. package/dist/zspec/zdo/utils.d.ts +0 -25
  1018. package/dist/zspec/zdo/utils.d.ts.map +0 -1
  1019. package/dist/zspec/zdo/utils.js +0 -75
  1020. package/dist/zspec/zdo/utils.js.map +0 -1
  1021. package/dist/zspec/zdo/zdoStatusError.d.ts +0 -6
  1022. package/dist/zspec/zdo/zdoStatusError.d.ts.map +0 -1
  1023. package/dist/zspec/zdo/zdoStatusError.js +0 -13
  1024. package/dist/zspec/zdo/zdoStatusError.js.map +0 -1
  1025. package/typedoc-tsconfig.json +0 -44
@@ -1,2662 +0,0 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import EventEmitter from "events";
4
- import { SerialPortOptions } from "../../tstype";
5
- import { EmberOutgoingMessageType, EmberCounterType, EmberDutyCycleState, EmberEntropySource, EmberEventUnits, EmberLibraryId, EmberLibraryStatus, EmberMultiPhyNwkConfig, EmberNetworkStatus, EmberNodeType, EmberStatus, EzspNetworkScanType, EzspStatus, SLStatus, EmberIncomingMessageType, EmberSourceRouteDiscoveryMode, EmberMacPassthroughType, EmberKeyStatus, SecManFlag, EmberDeviceUpdate, EmberJoinDecision, EzspZllNetworkOperation, EmberGpSecurityLevel, EmberGpKeyType, EmberTXPowerMode, EmberExtendedSecurityBitmask, EmberStackError } from "../enums";
6
- import { EmberVersion, EmberEUI64, EmberPanId, EmberBeaconData, EmberBeaconIterator, EmberBindingTableEntry, EmberChildData, EmberDutyCycleLimits, EmberMultiPhyRadioParameters, EmberNeighborTableEntry, EmberNetworkInitStruct, EmberNetworkParameters, EmberNodeId, EmberPerDeviceDutyCycle, EmberRouteTableEntry, EmberApsFrame, EmberMulticastTableEntry, EmberBeaconClassificationParams, EmberInitialSecurityState, EmberCurrentSecurityState, SecManContext, SecManKey, SecManNetworkKeyInfo, SecManAPSKeyMetadata, EmberKeyData, EmberAesMmoHashContext, EmberPublicKeyData, EmberCertificateData, EmberSmacData, EmberPublicKey283k1Data, EmberCertificate283k1Data, EmberMessageDigest, EmberSignatureData, EmberSignature283k1Data, EmberPrivateKeyData, EmberZllNetwork, EmberZllInitialSecurityState, EmberZllDeviceInfoRecord, EmberZllAddressAssignment, EmberTokTypeStackZllData, EmberTokTypeStackZllSecurity, EmberGpAddress, EmberGpProxyTableEntry, EmberGpSinkTableEntry, EmberTokenInfo, EmberTokenData, EmberZigbeeNetwork } from "../types";
7
- import { EmberLeaveReason, EmberRejoinReason, EzspConfigId, EzspEndpointFlag, EzspExtendedValueId, EzspMfgTokenId, EzspPolicyId, EzspValueId } from "./enums";
8
- import { UartAsh } from "../uart/ash";
9
- export declare enum EzspEvents {
10
- ncpNeedsResetAndInit = "ncpNeedsResetAndInit",
11
- /** params => status: EmberZdoStatus, sender: EmberNodeId, apsFrame: EmberApsFrame, payload: { cluster-dependent @see zdo.ts } */
12
- ZDO_RESPONSE = "ZDO_RESPONSE",
13
- /** params => type: EmberIncomingMessageType, apsFrame: EmberApsFrame, lastHopLqi: number, sender: EmberNodeId, messageContents: Buffer */
14
- INCOMING_MESSAGE = "INCOMING_MESSAGE",
15
- /** params => sourcePanId: EmberPanId, sourceAddress: EmberEUI64, groupId: number | null, lastHopLqi: number, messageContents: Buffer */
16
- TOUCHLINK_MESSAGE = "TOUCHLINK_MESSAGE",
17
- /** params => sender: EmberNodeId, apsFrame: EmberApsFrame, payload: EndDeviceAnnouncePayload */
18
- END_DEVICE_ANNOUNCE = "END_DEVICE_ANNOUNCE",
19
- /** params => status: EmberStatus */
20
- STACK_STATUS = "STACK_STATUS",
21
- /** params => newNodeId: EmberNodeId, newNodeEui64: EmberEUI64, status: EmberDeviceUpdate, policyDecision: EmberJoinDecision, parentOfNewNodeId: EmberNodeId */
22
- TRUST_CENTER_JOIN = "TRUST_CENTER_JOIN",
23
- /** params => type: EmberOutgoingMessageType, indexOrDestination: number, apsFrame: EmberApsFrame, messageTag: number */
24
- /** params => type: EmberOutgoingMessageType, indexOrDestination: number, apsFrame: EmberApsFrame, messageTag: number */
25
- MESSAGE_SENT_DELIVERY_FAILED = "MESSAGE_SENT_DELIVERY_FAILED",
26
- /** params => sequenceNumber: number, commandIdentifier: number, sourceId: number, frameCounter: number, gpdCommandId: number, gpdCommandPayload: Buffer, gpdLink: number */
27
- GREENPOWER_MESSAGE = "GREENPOWER_MESSAGE"
28
- }
29
- /**
30
- * Host EZSP layer.
31
- *
32
- * Provides functions that allow the Host application to send every EZSP command to the NCP.
33
- *
34
- * Commands to send to the serial>ASH layers all are named `ezsp${CommandName}`.
35
- * They do nothing but build the command, send it and return the value(s).
36
- * Callers are expected to handle errors appropriately.
37
- * - They will throw `EzspStatus` if `sendCommand` fails or the returned value(s) by NCP are invalid (wrong length, etc).
38
- * - Most will return `EmberStatus` given by NCP (some `EzspStatus`, some `SLStatus`...).
39
- *
40
- * @event 'ncpNeedsResetAndInit(EzspStatus)' An error was detected that requires resetting the NCP.
41
- */
42
- export declare class Ezsp extends EventEmitter {
43
- private readonly tickInterval;
44
- readonly ash: UartAsh;
45
- private readonly buffalo;
46
- /** The contents of the current EZSP frame. CAREFUL using this guy, it's pre-allocated. */
47
- private readonly frameContents;
48
- /** The total Length of the incoming frame */
49
- private frameLength;
50
- private initialVersionSent;
51
- /** True if a command is in the process of being sent. */
52
- private sendingCommand;
53
- /** EZSP frame sequence number. Used in EZSP_SEQUENCE_INDEX byte. */
54
- private frameSequence;
55
- /** Sequence used for EZSP send() tagging. static uint8_t */
56
- private sendSequence;
57
- /** If if a command is currently waiting for a response. Used to manage async CBs vs command responses */
58
- private waitingForResponse;
59
- /** Awaiting response resolve/timer struct. If waitingForResponse is not true, this should not be used. */
60
- private responseWaiter;
61
- /** Counter for Queue Full errors */
62
- counterErrQueueFull: number;
63
- /** Handle used to tick for possible received callbacks */
64
- private tickHandle;
65
- constructor(tickInterval: number, options: SerialPortOptions);
66
- /**
67
- * Returns the number of EZSP responses that have been received by the serial
68
- * protocol and are ready to be collected by the EZSP layer via
69
- * responseReceived().
70
- */
71
- get pendingResponseCount(): number;
72
- /**
73
- * Create a string representation of the last frame in storage (sent or received).
74
- */
75
- get frameToString(): string;
76
- private initVariables;
77
- start(): Promise<EzspStatus>;
78
- /**
79
- * Cleanly close down the serial protocol (UART).
80
- * After this function has been called, init() must be called to resume communication with the NCP.
81
- */
82
- stop(): Promise<void>;
83
- /**
84
- * Check if connected.
85
- * If not, attempt to restore the connection.
86
- *
87
- * @returns
88
- */
89
- checkConnection(): boolean;
90
- private onAshFatalError;
91
- private onAshFrame;
92
- /**
93
- * Event from the EZSP layer indicating that the transaction with the NCP could not be completed due to a
94
- * serial protocol error or that the response received from the NCP reported an error.
95
- * The status parameter provides more information about the error.
96
- *
97
- * @param status
98
- */
99
- ezspErrorHandler(status: EzspStatus): void;
100
- /**
101
- * The Host application must call this function periodically to allow the EZSP layer to handle asynchronous events.
102
- */
103
- private tick;
104
- private nextFrameSequence;
105
- private startCommand;
106
- /**
107
- * Sends the current EZSP command frame. Returns EZSP_SUCCESS if the command was sent successfully.
108
- * Any other return value means that an error has been detected by the serial protocol layer.
109
- *
110
- * if ezsp.sendCommand fails early, this will be:
111
- * - EzspStatus.ERROR_INVALID_CALL
112
- * - EzspStatus.NOT_CONNECTED
113
- * - EzspStatus.ERROR_COMMAND_TOO_LONG
114
- *
115
- * if ezsp.sendCommand fails, this will be whatever ash.send returns:
116
- * - EzspStatus.SUCCESS
117
- * - EzspStatus.NO_TX_SPACE
118
- * - EzspStatus.DATA_FRAME_TOO_SHORT
119
- * - EzspStatus.DATA_FRAME_TOO_LONG
120
- * - EzspStatus.NOT_CONNECTED
121
- *
122
- * if ezsp.sendCommand times out, this will be EzspStatus.ASH_ACK_TIMEOUT (XXX: for now)
123
- *
124
- * if ezsp.sendCommand resolves, this will be whatever ezsp.responseReceived returns:
125
- * - EzspStatus.NO_RX_DATA (should not happen if command was sent (since we subscribe to frame event to trigger function))
126
- * - status from EzspFrameID.INVALID_COMMAND status byte
127
- * - EzspStatus.ERROR_UNSUPPORTED_CONTROL
128
- * - EzspStatus.ERROR_WRONG_DIRECTION
129
- * - EzspStatus.ERROR_TRUNCATED
130
- * - EzspStatus.SUCCESS
131
- */
132
- private sendCommand;
133
- /**
134
- * Checks whether a new EZSP response frame has been received.
135
- * If any, the response payload is stored in frameContents/frameLength.
136
- * Any other return value means that an error has been detected by the serial protocol layer.
137
- * @returns NO_RX_DATA if no new response has been received.
138
- * @returns SUCCESS if a new response has been received.
139
- */
140
- checkResponseReceived(): EzspStatus;
141
- /**
142
- * Check if a response was received and sets the stage for parsing if valid (indexes buffalo to params index).
143
- * @returns
144
- */
145
- responseReceived(): EzspStatus;
146
- /**
147
- * Dispatches callback frames handlers.
148
- */
149
- callbackDispatch(): void;
150
- /**
151
- *
152
- * @returns uint8_t
153
- */
154
- private nextSendSequence;
155
- /**
156
- * Calls ezspSend${x} based on type and takes care of tagging message.
157
- *
158
- * Alias types expect `alias` & `sequence` params, along with `apsFrame.radius`.
159
- *
160
- * @param type Specifies the outgoing message type.
161
- * @param indexOrDestination uint16_t Depending on the type of addressing used, this is either the EmberNodeId of the destination,
162
- * an index into the address table, or an index into the binding table.
163
- * Unused for multicast types.
164
- * This must be one of the three ZigBee broadcast addresses for broadcast.
165
- * @param apsFrame [IN/OUT] EmberApsFrame * The APS frame which is to be added to the message.
166
- * @param message uint8_t * Content of the message.
167
- * @param alias The alias source address
168
- * @param sequence uint8_t The alias sequence number
169
- * @returns Result of the ezspSend${x} call or EmberStatus.BAD_ARGUMENT if type not supported.
170
- * @returns apsSequence as returned by ezspSend${x} command
171
- * @returns messageTag Tag used for ezspSend${x} command
172
- */
173
- send(type: EmberOutgoingMessageType, indexOrDestination: number, apsFrame: EmberApsFrame, message: Buffer, alias: EmberNodeId, sequence: number): Promise<[EmberStatus, messageTag: number]>;
174
- /**
175
- * Retrieving the new version info.
176
- * Wrapper for `ezspGetValue`.
177
- * @returns Send status
178
- * @returns EmberVersion*, null if status not SUCCESS.
179
- */
180
- ezspGetVersionStruct(): Promise<[EzspStatus, version: EmberVersion]>;
181
- /**
182
- * Function for manipulating the endpoints flags on the NCP.
183
- * Wrapper for `ezspGetExtendedValue`
184
- * @param endpoint uint8_t
185
- * @param flags EzspEndpointFlags
186
- * @returns EzspStatus
187
- */
188
- ezspSetEndpointFlags(endpoint: number, flags: EzspEndpointFlag): Promise<EzspStatus>;
189
- /**
190
- * Function for manipulating the endpoints flags on the NCP.
191
- * Wrapper for `ezspGetExtendedValue`.
192
- * @param endpoint uint8_t
193
- * @returns EzspStatus
194
- * @returns flags
195
- */
196
- ezspGetEndpointFlags(endpoint: number): Promise<[EzspStatus, flags: EzspEndpointFlag]>;
197
- /**
198
- * Wrapper for `ezspGetExtendedValue`.
199
- * @param EmberNodeId
200
- * @param destination
201
- * @returns EzspStatus
202
- * @returns overhead uint8_t
203
- */
204
- ezspGetSourceRouteOverhead(destination: EmberNodeId): Promise<[EzspStatus, overhead: number]>;
205
- /**
206
- * Wrapper for `ezspGetExtendedValue`.
207
- * @returns EzspStatus
208
- * @returns reason
209
- * @returns nodeId EmberNodeId*
210
- */
211
- ezspGetLastLeaveReason(): Promise<[EzspStatus, reason: EmberLeaveReason, nodeId: EmberNodeId]>;
212
- /**
213
- * Wrapper for `ezspGetValue`.
214
- * @returns EzspStatus
215
- * @returns reason
216
- */
217
- ezspGetLastRejoinReason(): Promise<[EzspStatus, reason: EmberRejoinReason]>;
218
- /**
219
- * Wrapper for `ezspSetValue`.
220
- * @param mask
221
- * @returns
222
- */
223
- ezspSetExtendedSecurityBitmask(mask: EmberExtendedSecurityBitmask): Promise<EzspStatus>;
224
- /**
225
- * Wrapper for `ezspGetValue`.
226
- * @returns
227
- */
228
- ezspGetExtendedSecurityBitmask(): Promise<[EzspStatus, mask: EmberExtendedSecurityBitmask]>;
229
- /**
230
- * Wrapper for `ezspSetValue`.
231
- * @returns
232
- */
233
- ezspStartWritingStackTokens(): Promise<EzspStatus>;
234
- /**
235
- * Wrapper for `ezspSetValue`.
236
- * @returns
237
- */
238
- ezspStopWritingStackTokens(): Promise<EzspStatus>;
239
- /**
240
- * The command allows the Host to specify the desired EZSP version and must be
241
- * sent before any other command. The response provides information about the
242
- * firmware running on the NCP.
243
- *
244
- * @param desiredProtocolVersion uint8_t The EZSP version the Host wishes to use.
245
- * To successfully set the version and allow other commands, this must be same as EZSP_PROTOCOL_VERSION.
246
- * @return
247
- * - uint8_t The EZSP version the NCP is using.
248
- * - uint8_t * The type of stack running on the NCP (2).
249
- * - uint16_t * The version number of the stack.
250
- */
251
- ezspVersion(desiredProtocolVersion: number): Promise<[protocolVersion: number, stackType: number, stackVersion: number]>;
252
- /**
253
- * Reads a configuration value from the NCP.
254
- *
255
- * @param configId Identifies which configuration value to read.
256
- * @returns
257
- * - EzspStatus.SUCCESS if the value was read successfully,
258
- * - EzspStatus.ERROR_INVALID_ID if the NCP does not recognize configId.
259
- * - uint16_t * The configuration value.
260
- */
261
- ezspGetConfigurationValue(configId: EzspConfigId): Promise<[EzspStatus, value: number]>;
262
- /**
263
- * Writes a configuration value to the NCP. Configuration values can be modified
264
- * by the Host after the NCP has reset. Once the status of the stack changes to
265
- * EMBER_NETWORK_UP, configuration values can no longer be modified and this
266
- * command will respond with EzspStatus.ERROR_INVALID_CALL.
267
- *
268
- * @param configId Identifies which configuration value to change.
269
- * @param value uint16_t The new configuration value.
270
- * @returns EzspStatus
271
- * - EzspStatus.SUCCESS if the configuration value was changed,
272
- * - EzspStatus.ERROR_OUT_OF_MEMORY if the new value exceeded the available memory,
273
- * - EzspStatus.ERROR_INVALID_VALUE if the new value was out of bounds,
274
- * - EzspStatus.ERROR_INVALID_ID if the NCP does not recognize configId,
275
- * - EzspStatus.ERROR_INVALID_CALL if configuration values can no longer be modified.
276
- */
277
- ezspSetConfigurationValue(configId: EzspConfigId, value: number): Promise<EzspStatus>;
278
- /**
279
- * Read attribute data on NCP endpoints.
280
- * @param endpoint uint8_t Endpoint
281
- * @param cluster uint16_t Cluster.
282
- * @param attributeId uint16_t Attribute ID.
283
- * @param mask uint8_t Mask.
284
- * @param manufacturerCode uint16_t Manufacturer code.
285
- * @returns
286
- * - An EmberStatus value indicating success or the reason for failure.
287
- * - uint8_t * Attribute data type.
288
- * - uint8_t * Length of attribute data.
289
- * - uint8_t * Attribute data.
290
- */
291
- ezspReadAttribute(endpoint: number, cluster: number, attributeId: number, mask: number, manufacturerCode: number, readLength: number): Promise<[EmberStatus, dataType: number, outReadLength: number, data: number[]]>;
292
- /**
293
- * Write attribute data on NCP endpoints.
294
- * @param endpoint uint8_t Endpoint
295
- * @param cluster uint16_t Cluster.
296
- * @param attributeId uint16_t Attribute ID.
297
- * @param mask uint8_t Mask.
298
- * @param manufacturerCode uint16_t Manufacturer code.
299
- * @param overrideReadOnlyAndDataType Override read only and data type.
300
- * @param justTest Override read only and data type.
301
- * @param dataType uint8_t Attribute data type.
302
- * @param data uint8_t * Attribute data.
303
- * @returns EmberStatus An EmberStatus value indicating success or the reason for failure.
304
- */
305
- ezspWriteAttribute(endpoint: number, cluster: number, attributeId: number, mask: number, manufacturerCode: number, overrideReadOnlyAndDataType: boolean, justTest: boolean, dataType: number, data: Buffer): Promise<EmberStatus>;
306
- /**
307
- * Configures endpoint information on the NCP. The NCP does not remember these
308
- * settings after a reset. Endpoints can be added by the Host after the NCP has
309
- * reset. Once the status of the stack changes to EMBER_NETWORK_UP, endpoints
310
- * can no longer be added and this command will respond with EzspStatus.ERROR_INVALID_CALL.
311
- * @param endpoint uint8_t The application endpoint to be added.
312
- * @param profileId uint16_t The endpoint's application profile.
313
- * @param deviceId uint16_t The endpoint's device ID within the application profile.
314
- * @param deviceVersion uint8_t The endpoint's device version.
315
- * @param inputClusterList uint16_t * Input cluster IDs the endpoint will accept.
316
- * @param outputClusterList uint16_t * Output cluster IDs the endpoint may send.
317
- * @returns EzspStatus
318
- * - EzspStatus.SUCCESS if the endpoint was added,
319
- * - EzspStatus.ERROR_OUT_OF_MEMORY if there is not enough memory available to add the endpoint,
320
- * - EzspStatus.ERROR_INVALID_VALUE if the endpoint already exists,
321
- * - EzspStatus.ERROR_INVALID_CALL if endpoints can no longer be added.
322
- */
323
- ezspAddEndpoint(endpoint: number, profileId: number, deviceId: number, deviceVersion: number, inputClusterList: number[], outputClusterList: number[]): Promise<EzspStatus>;
324
- /**
325
- * Allows the Host to change the policies used by the NCP to make fast
326
- * decisions.
327
- * @param policyId Identifies which policy to modify.
328
- * @param decisionId The new decision for the specified policy.
329
- * @returns
330
- * - EzspStatus.SUCCESS if the policy was changed,
331
- * - EzspStatus.ERROR_INVALID_ID if the NCP does not recognize policyId.
332
- */
333
- ezspSetPolicy(policyId: EzspPolicyId, decisionId: number): Promise<EzspStatus>;
334
- /**
335
- * Allows the Host to read the policies used by the NCP to make fast decisions.
336
- * @param policyId Identifies which policy to read.
337
- * @returns
338
- * - EzspStatus.SUCCESS if the policy was read successfully,
339
- * - EzspStatus.ERROR_INVALID_ID if the NCP does not recognize policyId.
340
- * - EzspDecisionId * The current decision for the specified policy.
341
- */
342
- ezspGetPolicy(policyId: EzspPolicyId): Promise<[EzspStatus, number]>;
343
- /**
344
- * Triggers a pan id update message.
345
- * @param The new Pan Id
346
- * @returns true if the request was successfully handed to the stack, false otherwise
347
- */
348
- ezspSendPanIdUpdate(newPan: EmberPanId): Promise<boolean>;
349
- /**
350
- * Reads a value from the NCP.
351
- * @param valueId Identifies which value to read.
352
- * @returns
353
- * - EzspStatus.SUCCESS if the value was read successfully,
354
- * - EzspStatus.ERROR_INVALID_ID if the NCP does not recognize valueId,
355
- * - EzspStatus.ERROR_INVALID_VALUE if the length of the returned value exceeds the size of local storage allocated to receive it.
356
- * - uint8_t * Both a command and response parameter.
357
- * On command, the maximum in bytes of local storage allocated to receive the returned value.
358
- * On response, the actual length in bytes of the returned value.
359
- * - uint8_t * The value.
360
- */
361
- ezspGetValue(valueId: EzspValueId, valueLength: number): Promise<[EzspStatus, outValueLength: number, outValue: number[]]>;
362
- /**
363
- * Reads a value from the NCP but passes an extra argument specific to the value
364
- * being retrieved.
365
- * @param valueId Identifies which extended value ID to read.
366
- * @param characteristics uint32_t Identifies which characteristics of the extended value ID to read. These are specific to the value being read.
367
- * @returns
368
- * - EzspStatus.SUCCESS if the value was read successfully,
369
- * - EzspStatus.ERROR_INVALID_ID if the NCP does not recognize valueId,
370
- * - EzspStatus.ERROR_INVALID_VALUE if the length of the returned value exceeds the size of local storage allocated to receive it.
371
- * - uint8_t * Both a command and response parameter.
372
- * On command, the maximum in bytes of local storage allocated to receive the returned value.
373
- * On response, the actual length in bytes of the returned value.
374
- * - uint8_t * The value.
375
- */
376
- ezspGetExtendedValue(valueId: EzspExtendedValueId, characteristics: number, valueLength: number): Promise<[EzspStatus, outValueLength: number, outValue: number[]]>;
377
- /**
378
- * Writes a value to the NCP.
379
- * @param valueId Identifies which value to change.
380
- * @param valueLength uint8_t The length of the value parameter in bytes.
381
- * @param value uint8_t * The new value.
382
- * @returns EzspStatus
383
- * - EzspStatus.SUCCESS if the value was changed,
384
- * - EzspStatus.ERROR_INVALID_VALUE if the new value was out of bounds,
385
- * - EzspStatus.ERROR_INVALID_ID if the NCP does not recognize valueId,
386
- * - EzspStatus.ERROR_INVALID_CALL if the value could not be modified.
387
- */
388
- ezspSetValue(valueId: EzspValueId, valueLength: number, value: number[]): Promise<EzspStatus>;
389
- /**
390
- * Allows the Host to control the broadcast behaviour of a routing device used
391
- * by the NCP.
392
- * @param config uint8_t Passive ack config enum.
393
- * @param minAcksNeeded uint8_t The minimum number of acknowledgments (re-broadcasts) to wait for until
394
- * deeming the broadcast transmission complete.
395
- * @returns EmberStatus An EmberStatus value indicating success or the reason for failure.
396
- */
397
- ezspSetPassiveAckConfig(config: number, minAcksNeeded: number): Promise<EmberStatus>;
398
- /**
399
- * A command which does nothing. The Host can use this to set the sleep mode or to check the status of the NCP.
400
- */
401
- ezspNop(): Promise<void>;
402
- /**
403
- * Variable length data from the Host is echoed back by the NCP. This command
404
- * has no other effects and is designed for testing the link between the Host and NCP.
405
- * @param data uint8_t * The data to be echoed back.
406
- * @returns
407
- * - The length of the echo parameter in bytes.
408
- * - echo uint8_t * The echo of the data.
409
- */
410
- ezspEcho(data: Buffer): Promise<Buffer>;
411
- /**
412
- * Allows the NCP to respond with a pending callback.
413
- */
414
- ezspCallback(): Promise<void>;
415
- /**
416
- * Callback
417
- * Indicates that there are currently no pending callbacks.
418
- */
419
- ezspNoCallbacks(): void;
420
- /**
421
- * Sets a token (8 bytes of non-volatile storage) in the Simulated EEPROM of the NCP.
422
- * @param tokenId uint8_t Which token to set
423
- * @param tokenData uint8_t * The data to write to the token.
424
- * @returns EmberStatus An EmberStatus value indicating success or the reason for failure.
425
- */
426
- ezspSetToken(tokenId: number, tokenData: number[]): Promise<EmberStatus>;
427
- /**
428
- * Retrieves a token (8 bytes of non-volatile storage) from the Simulated EEPROM of the NCP.
429
- * @param tokenId uint8_t Which token to read
430
- * @returns
431
- * - An EmberStatus value indicating success or the reason for failure.
432
- * - uint8_t * The contents of the token.
433
- */
434
- ezspGetToken(tokenId: number): Promise<[EmberStatus, tokenData: number[]]>;
435
- /**
436
- * Retrieves a manufacturing token from the Flash Information Area of the NCP
437
- * (except for EZSP_STACK_CAL_DATA which is managed by the stack).
438
- * @param Which manufacturing token to read.
439
- * @returns
440
- * - uint8_t The length of the tokenData parameter in bytes.
441
- * - uint8_t * The manufacturing token data.
442
- */
443
- ezspGetMfgToken(tokenId: EzspMfgTokenId): Promise<[number, tokenData: number[]]>;
444
- /**
445
- * Sets a manufacturing token in the Customer Information Block (CIB) area of
446
- * the NCP if that token currently unset (fully erased). Cannot be used with
447
- * EZSP_STACK_CAL_DATA, EZSP_STACK_CAL_FILTER, EZSP_MFG_ASH_CONFIG, or
448
- * EZSP_MFG_CBKE_DATA token.
449
- * @param tokenId Which manufacturing token to set.
450
- * @param tokenData uint8_t * The manufacturing token data.
451
- * @returns An EmberStatus value indicating success or the reason for failure.
452
- */
453
- ezspSetMfgToken(tokenId: EzspMfgTokenId, tokenData: Buffer): Promise<EmberStatus>;
454
- /**
455
- * Callback
456
- * A callback invoked to inform the application that a stack token has changed.
457
- * @param tokenAddress uint16_t The address of the stack token that has changed.
458
- */
459
- ezspStackTokenChangedHandler(tokenAddress: number): void;
460
- /**
461
- * Returns a pseudorandom number.
462
- * @returns
463
- * - Always returns EMBER_SUCCESS.
464
- * - uint16_t * A pseudorandom number.
465
- */
466
- ezspGetRandomNumber(): Promise<[EmberStatus, value: number]>;
467
- /**
468
- * Sets a timer on the NCP. There are 2 independent timers available for use by the Host.
469
- * A timer can be cancelled by setting time to 0 or units to EMBER_EVENT_INACTIVE.
470
- * @param timerId uint8_t Which timer to set (0 or 1).
471
- * @param time uint16_t The delay before the timerHandler callback will be generated.
472
- * Note that the timer clock is free running and is not synchronized with this command.
473
- * This means that the actual delay will be between time and (time - 1). The maximum delay is 32767.
474
- * @param units The units for time.
475
- * @param repeat If true, a timerHandler callback will be generated repeatedly. If false, only a single timerHandler callback will be generated.
476
- * @returns An EmberStatus value indicating success or the reason for failure.
477
- */
478
- ezspSetTimer(timerId: number, time: number, units: EmberEventUnits, repeat: boolean): Promise<EmberStatus>;
479
- /**
480
- * Gets information about a timer. The Host can use this command to find out how
481
- * much longer it will be before a previously set timer will generate a
482
- * callback.
483
- * @param timerId uint8_t Which timer to get information about (0 or 1).
484
- * @returns
485
- * - uint16_t The delay before the timerHandler callback will be generated.
486
- * - EmberEventUnits * The units for time.
487
- * - bool * True if a timerHandler callback will be generated repeatedly. False if only a single timerHandler callback will be generated.
488
- */
489
- ezspGetTimer(timerId: number): Promise<[number, units: EmberEventUnits, repeat: boolean]>;
490
- /**
491
- * Callback
492
- * A callback from the timer.
493
- * @param timerId uint8_t Which timer generated the callback (0 or 1).
494
- */
495
- ezspTimerHandler(timerId: number): void;
496
- /**
497
- * Sends a debug message from the Host to the Network Analyzer utility via the NCP.
498
- * @param binaryMessage true if the message should be interpreted as binary data, false if the message should be interpreted as ASCII text.
499
- * @param messageContents uint8_t * The binary message.
500
- * @returns An EmberStatus value indicating success or the reason for failure.
501
- */
502
- ezspDebugWrite(binaryMessage: boolean, messageContents: Buffer): Promise<EmberStatus>;
503
- /**
504
- * Retrieves and clears Ember counters. See the EmberCounterType enumeration for the counter types.
505
- * @returns uint16_t * A list of all counter values ordered according to the EmberCounterType enumeration.
506
- */
507
- ezspReadAndClearCounters(): Promise<number[]>;
508
- /**
509
- * Retrieves Ember counters. See the EmberCounterType enumeration for the counter types.
510
- * @returns uint16_t * A list of all counter values ordered according to the EmberCounterType enumeration.
511
- */
512
- ezspReadCounters(): Promise<number[]>;
513
- /**
514
- * Callback
515
- * This call is fired when a counter exceeds its threshold
516
- * @param type Type of Counter
517
- */
518
- ezspCounterRolloverHandler(type: EmberCounterType): void;
519
- /**
520
- * Used to test that UART flow control is working correctly.
521
- * @param delay uint16_t Data will not be read from the host for this many milliseconds.
522
- */
523
- ezspDelayTest(delay: number): Promise<void>;
524
- /**
525
- * This retrieves the status of the passed library ID to determine if it is compiled into the stack.
526
- * @param libraryId The ID of the library being queried.
527
- * @returns The status of the library being queried.
528
- */
529
- ezspGetLibraryStatus(libraryId: EmberLibraryId): Promise<EmberLibraryStatus>;
530
- /**
531
- * Allows the HOST to know whether the NCP is running the XNCP library. If so,
532
- * the response contains also the manufacturer ID and the version number of the
533
- * XNCP application that is running on the NCP.
534
- * @returns
535
- * - EMBER_SUCCESS if the NCP is running the XNCP library,
536
- * - EMBER_INVALID_CALL otherwise.
537
- * - manufacturerId uint16_t * The manufactured ID the user has defined in the XNCP application.
538
- * - versionNumber uint16_t * The version number of the XNCP application.
539
- */
540
- ezspGetXncpInfo(): Promise<[EmberStatus, manufacturerId: number, versionNumber: number]>;
541
- /**
542
- * Provides the customer a custom EZSP frame. On the NCP, these frames are only
543
- * handled if the XNCP library is included. On the NCP side these frames are
544
- * handled in the emberXNcpIncomingCustomEzspMessageCallback() callback
545
- * function.
546
- * @param uint8_t * The payload of the custom frame (maximum 119 bytes).
547
- * @param uint8_t The expected length of the response.
548
- * @returns
549
- * - The status returned by the custom command.
550
- * - uint8_t *The response.
551
- */
552
- ezspCustomFrame(payload: Buffer, replyLength: number): Promise<[EmberStatus, outReply: Buffer]>;
553
- /**
554
- * Callback
555
- * A callback indicating a custom EZSP message has been received.
556
- * @param payloadLength uint8_t The length of the custom frame payload.
557
- * @param payload uint8_t * The payload of the custom frame.
558
- */
559
- ezspCustomFrameHandler(payloadLength: number, payload: number[]): void;
560
- /**
561
- * Returns the EUI64 ID of the local node.
562
- * @returns The 64-bit ID.
563
- */
564
- ezspGetEui64(): Promise<EmberEUI64>;
565
- /**
566
- * Returns the 16-bit node ID of the local node.
567
- * @returns The 16-bit ID.
568
- */
569
- ezspGetNodeId(): Promise<EmberNodeId>;
570
- /**
571
- * Returns number of phy interfaces present.
572
- * @returns uint8_t Value indicate how many phy interfaces present.
573
- */
574
- ezspGetPhyInterfaceCount(): Promise<number>;
575
- /**
576
- * Returns the entropy source used for true random number generation.
577
- * @returns Value indicates the used entropy source.
578
- */
579
- ezspGetTrueRandomEntropySource(): Promise<EmberEntropySource>;
580
- /**
581
- * Sets the manufacturer code to the specified value.
582
- * The manufacturer code is one of the fields of the node descriptor.
583
- * @param code uint16_t The manufacturer code for the local node.
584
- */
585
- ezspSetManufacturerCode(code: number): Promise<void>;
586
- /**
587
- * Sets the power descriptor to the specified value. The power descriptor is a
588
- * dynamic value. Therefore, you should call this function whenever the value
589
- * changes.
590
- * @param descriptor uint16_t The new power descriptor for the local node.
591
- */
592
- ezspSetPowerDescriptor(descriptor: number): Promise<void>;
593
- /**
594
- * Resume network operation after a reboot. The node retains its original type.
595
- * This should be called on startup whether or not the node was previously part
596
- * of a network. EMBER_NOT_JOINED is returned if the node is not part of a
597
- * network. This command accepts options to control the network initialization.
598
- * @param networkInitStruct EmberNetworkInitStruct * An EmberNetworkInitStruct containing the options for initialization.
599
- * @returns An EmberStatus value that indicates one of the following: successful
600
- * initialization, EMBER_NOT_JOINED if the node is not part of a network, or the
601
- * reason for failure.
602
- */
603
- ezspNetworkInit(networkInitStruct: EmberNetworkInitStruct): Promise<EmberStatus>;
604
- /**
605
- * Returns a value indicating whether the node is joining, joined to, or leaving a network.
606
- * @returns Command send status.
607
- * @returns An EmberNetworkStatus value indicating the current join status.
608
- */
609
- ezspNetworkState(): Promise<EmberNetworkStatus>;
610
- /**
611
- * Callback
612
- * A callback invoked when the status of the stack changes. If the status
613
- * parameter equals EMBER_NETWORK_UP, then the getNetworkParameters command can
614
- * be called to obtain the new network parameters. If any of the parameters are
615
- * being stored in nonvolatile memory by the Host, the stored values should be
616
- * updated.
617
- * @param status Stack status
618
- */
619
- ezspStackStatusHandler(status: EmberStatus): void;
620
- /**
621
- * This function will start a scan.
622
- * @param scanType Indicates the type of scan to be performed. Possible values are: EZSP_ENERGY_SCAN and EZSP_ACTIVE_SCAN.
623
- * For each type, the respective callback for reporting results is: energyScanResultHandler and networkFoundHandler.
624
- * The energy scan and active scan report errors and completion via the scanCompleteHandler.
625
- * @param channelMask uint32_t Bits set as 1 indicate that this particular channel should be scanned.
626
- * Bits set to 0 indicate that this particular channel should not be scanned. For example, a channelMask value of 0x00000001
627
- * would indicate that only channel 0 should be scanned. Valid channels range from 11 to 26 inclusive.
628
- * This translates to a channel mask value of 0x07FFF800.
629
- * As a convenience, a value of 0 is reinterpreted as the mask for the current channel.
630
- * @param duration uint8_t Sets the exponent of the number of scan periods, where a scan period is 960 symbols.
631
- * The scan will occur for ((2^duration) + 1) scan periods.
632
- * @returns
633
- * - SL_STATUS_OK signals that the scan successfully started. Possible error responses and their meanings:
634
- * - SL_STATUS_MAC_SCANNING, we are already scanning;
635
- * - SL_STATUS_BAD_SCAN_DURATION, we have set a duration value that is not 0..14 inclusive;
636
- * - SL_STATUS_MAC_INCORRECT_SCAN_TYPE, we have requested an undefined scanning type;
637
- * - SL_STATUS_INVALID_CHANNEL_MASK, our channel mask did not specify any valid channels.
638
- */
639
- ezspStartScan(scanType: EzspNetworkScanType, channelMask: number, duration: number): Promise<SLStatus>;
640
- /**
641
- * Callback
642
- * Reports the result of an energy scan for a single channel. The scan is not
643
- * complete until the scanCompleteHandler callback is called.
644
- * @param channel uint8_t The 802.15.4 channel number that was scanned.
645
- * @param maxRssiValue int8_t The maximum RSSI value found on the channel.
646
- */
647
- ezspEnergyScanResultHandler(channel: number, maxRssiValue: number): void;
648
- /**
649
- * Callback
650
- * Reports that a network was found as a result of a prior call to startScan.
651
- * Gives the network parameters useful for deciding which network to join.
652
- * @param networkFound EmberZigbeeNetwork * The parameters associated with the network found.
653
- * @param lastHopLqi uint8_t The link quality from the node that generated this beacon.
654
- * @param lastHopRssi int8_t The energy level (in units of dBm) observed during the reception.
655
- */
656
- ezspNetworkFoundHandler(networkFound: EmberZigbeeNetwork, lastHopLqi: number, lastHopRssi: number): void;
657
- /**
658
- * Callback
659
- * @param channel uint8_t The channel on which the current error occurred. Undefined for the case of EMBER_SUCCESS.
660
- * @param status The error condition that occurred on the current channel. Value will be EMBER_SUCCESS when the scan has completed.
661
- * Returns the status of the current scan of type EZSP_ENERGY_SCAN or
662
- * EZSP_ACTIVE_SCAN. EMBER_SUCCESS signals that the scan has completed. Other
663
- * error conditions signify a failure to scan on the channel specified.
664
- */
665
- ezspScanCompleteHandler(channel: number, status: EmberStatus): void;
666
- /**
667
- * Callback
668
- * This function returns an unused panID and channel pair found via the find
669
- * unused panId scan procedure.
670
- * @param The unused panID which has been found.
671
- * @param channel uint8_t The channel that the unused panID was found on.
672
- */
673
- ezspUnusedPanIdFoundHandler(panId: EmberPanId, channel: number): void;
674
- /**
675
- * This function starts a series of scans which will return an available panId.
676
- * @param channelMask uint32_t The channels that will be scanned for available panIds.
677
- * @param duration uint8_t The duration of the procedure.
678
- * @returns The error condition that occurred during the scan. Value will be
679
- * EMBER_SUCCESS if there are no errors.
680
- */
681
- ezspFindUnusedPanId(channelMask: number, duration: number): Promise<EmberStatus>;
682
- /**
683
- * Terminates a scan in progress.
684
- * @returns An EmberStatus value indicating success or the reason for failure.
685
- */
686
- ezspStopScan(): Promise<EmberStatus>;
687
- /**
688
- * Forms a new network by becoming the coordinator.
689
- * @param parameters EmberNetworkParameters * Specification of the new network.
690
- * @returns An EmberStatus value indicating success or the reason for failure.
691
- */
692
- ezspFormNetwork(parameters: EmberNetworkParameters): Promise<EmberStatus>;
693
- /**
694
- * Causes the stack to associate with the network using the specified network
695
- * parameters. It can take several seconds for the stack to associate with the
696
- * local network. Do not send messages until the stackStatusHandler callback
697
- * informs you that the stack is up.
698
- * @param nodeType Specification of the role that this node will have in the network.
699
- * This role must not be EMBER_COORDINATOR. To be a coordinator, use the formNetwork command.
700
- * @param parameters EmberNetworkParameters * Specification of the network with which the node should associate.
701
- * @returns An EmberStatus value indicating success or the reason for failure.
702
- */
703
- ezspJoinNetwork(nodeType: EmberNodeType, parameters: EmberNetworkParameters): Promise<EmberStatus>;
704
- /**
705
- * Causes the stack to associate with the network using the specified network
706
- * parameters in the beacon parameter. It can take several seconds for the stack
707
- * to associate with the local network. Do not send messages until the
708
- * stackStatusHandler callback informs you that the stack is up. Unlike
709
- * ::emberJoinNetwork(), this function does not issue an active scan before
710
- * joining. Instead, it will cause the local node to issue a MAC Association
711
- * Request directly to the specified target node. It is assumed that the beacon
712
- * parameter is an artifact after issuing an active scan. (For more information,
713
- * see emberGetBestBeacon and emberGetNextBeacon.)
714
- * @param localNodeType Specifies the role that this node will have in the network. This role must not be EMBER_COORDINATOR.
715
- * To be a coordinator, use the formNetwork command.
716
- * @param beacon EmberBeaconData * Specifies the network with which the node should associate.
717
- * @param radioTxPower int8_t The radio transmit power to use, specified in dBm.
718
- * @param clearBeaconsAfterNetworkUp If true, clear beacons in cache upon join success. If join fail, do nothing.
719
- * @returns An EmberStatus value indicating success or the reason for failure.
720
- */
721
- ezspJoinNetworkDirectly(localNodeType: EmberNodeType, beacon: EmberBeaconData, radioTxPower: number, clearBeaconsAfterNetworkUp: boolean): Promise<EmberStatus>;
722
- /**
723
- * Causes the stack to leave the current network. This generates a
724
- * stackStatusHandler callback to indicate that the network is down. The radio
725
- * will not be used until after sending a formNetwork or joinNetwork command.
726
- * @returns An EmberStatus value indicating success or the reason for failure.
727
- */
728
- ezspLeaveNetwork(): Promise<EmberStatus>;
729
- /**
730
- * The application may call this function when contact with the network has been
731
- * lost. The most common usage case is when an end device can no longer
732
- * communicate with its parent and wishes to find a new one. Another case is
733
- * when a device has missed a Network Key update and no longer has the current
734
- * Network Key. The stack will call ezspStackStatusHandler to indicate that the
735
- * network is down, then try to re-establish contact with the network by
736
- * performing an active scan, choosing a network with matching extended pan id,
737
- * and sending a ZigBee network rejoin request. A second call to the
738
- * ezspStackStatusHandler callback indicates either the success or the failure
739
- * of the attempt. The process takes approximately 150 milliseconds per channel
740
- * to complete.
741
- * @param haveCurrentNetworkKey This parameter tells the stack whether to try to use the current network key.
742
- * If it has the current network key it will perform a secure rejoin (encrypted). If this fails the device should try an unsecure rejoin.
743
- * If the Trust Center allows the rejoin then the current Network Key will be sent encrypted using the device's Link Key.
744
- * @param channelMask uint32_t A mask indicating the channels to be scanned. See emberStartScan for format details.
745
- * A value of 0 is reinterpreted as the mask for the current channel.
746
- * @returns An EmberStatus value indicating success or the reason for failure.
747
- */
748
- ezspFindAndRejoinNetwork(haveCurrentNetworkKey: boolean, channelMask: number): Promise<EmberStatus>;
749
- /**
750
- * Tells the stack to allow other nodes to join the network with this node as
751
- * their parent. Joining is initially disabled by default.
752
- * @param duration uint8_t A value of 0x00 disables joining. A value of 0xFF enables joining.
753
- * Any other value enables joining for that number of seconds.
754
- * @returns An EmberStatus value indicating success or the reason for failure.
755
- */
756
- ezspPermitJoining(duration: number): Promise<EmberStatus>;
757
- /**
758
- * Callback
759
- * Indicates that a child has joined or left.
760
- * @param index uint8_t The index of the child of interest.
761
- * @param joining True if the child is joining. False the child is leaving.
762
- * @param childId The node ID of the child.
763
- * @param childEui64 The EUI64 of the child.
764
- * @param childType The node type of the child.
765
- */
766
- ezspChildJoinHandler(index: number, joining: boolean, childId: EmberNodeId, childEui64: EmberEUI64, childType: EmberNodeType): void;
767
- /**
768
- * Sends a ZDO energy scan request. This request may only be sent by the current
769
- * network manager and must be unicast, not broadcast. See ezsp-utils.h for
770
- * related macros emberSetNetworkManagerRequest() and
771
- * emberChangeChannelRequest().
772
- * @param target The network address of the node to perform the scan.
773
- * @param scanChannels uint32_t A mask of the channels to be scanned
774
- * @param scanDuration uint8_t How long to scan on each channel.
775
- * Allowed values are 0..5, with the scan times as specified by 802.15.4 (0 = 31ms, 1 = 46ms, 2 = 77ms, 3 = 138ms, 4 = 261ms, 5 = 507ms).
776
- * @param scanCount uint16_t The number of scans to be performed on each channel (1..8).
777
- * @returns An EmberStatus value indicating success or the reason for failure.
778
- */
779
- ezspEnergyScanRequest(target: EmberNodeId, scanChannels: number, scanDuration: number, scanCount: number): Promise<EmberStatus>;
780
- /**
781
- * Returns the current network parameters.
782
- * @returns An EmberStatus value indicating success or the reason for failure.
783
- * @returns EmberNodeType * An EmberNodeType value indicating the current node type.
784
- * @returns EmberNetworkParameters * The current network parameters.
785
- */
786
- ezspGetNetworkParameters(): Promise<[EmberStatus, nodeType: EmberNodeType, parameters: EmberNetworkParameters]>;
787
- /**
788
- * Returns the current radio parameters based on phy index.
789
- * @param phyIndex uint8_t Desired index of phy interface for radio parameters.
790
- * @returns An EmberStatus value indicating success or the reason for failure.
791
- * @returns EmberMultiPhyRadioParameters * The current radio parameters based on provided phy index.
792
- */
793
- ezspGetRadioParameters(phyIndex: number): Promise<[EmberStatus, parameters: EmberMultiPhyRadioParameters]>;
794
- /**
795
- * Returns information about the children of the local node and the parent of
796
- * the local node.
797
- * @returns uint8_t The number of children the node currently has.
798
- * @returns The parent's EUI64. The value is undefined for nodes without parents (coordinators and nodes that are not joined to a network).
799
- * @returns EmberNodeId * The parent's node ID. The value is undefined for nodes without parents
800
- * (coordinators and nodes that are not joined to a network).
801
- */
802
- ezspGetParentChildParameters(): Promise<[number, parentEui64: EmberEUI64, parentNodeId: EmberNodeId]>;
803
- /**
804
- * Returns information about a child of the local node.
805
- * @param uint8_t The index of the child of interest in the child table. Possible indexes range from zero to EMBER_CHILD_TABLE_SIZE.
806
- * @returns EMBER_SUCCESS if there is a child at index. EMBER_NOT_JOINED if there is no child at index.
807
- * @returns EmberChildData * The data of the child.
808
- */
809
- ezspGetChildData(index: number): Promise<[EmberStatus, childData: EmberChildData]>;
810
- /**
811
- * Sets child data to the child table token.
812
- * @param index uint8_t The index of the child of interest in the child table. Possible indexes range from zero to (EMBER_CHILD_TABLE_SIZE - 1).
813
- * @param childData EmberChildData * The data of the child.
814
- * @returns EMBER_SUCCESS if the child data is set successfully at index. EMBER_INDEX_OUT_OF_RANGE if provided index is out of range.
815
- */
816
- ezspSetChildData(index: number, childData: EmberChildData): Promise<EmberStatus>;
817
- /**
818
- * Convert a child index to a node ID
819
- * @param childIndex uint8_t The index of the child of interest in the child table. Possible indexes range from zero to EMBER_CHILD_TABLE_SIZE.
820
- * @returns The node ID of the child or EMBER_NULL_NODE_ID if there isn't a child at the childIndex specified
821
- */
822
- ezspChildId(childIndex: number): Promise<EmberNodeId>;
823
- /**
824
- * Convert a node ID to a child index
825
- * @param childId The node ID of the child
826
- * @returns uint8_t The child index or 0xFF if the node ID doesn't belong to a child
827
- */
828
- ezspChildIndex(childId: EmberNodeId): Promise<number>;
829
- /**
830
- * Returns the source route table total size.
831
- * @returns uint8_t Total size of source route table.
832
- */
833
- ezspGetSourceRouteTableTotalSize(): Promise<number>;
834
- /**
835
- * Returns the number of filled entries in source route table.
836
- * @returns uint8_t The number of filled entries in source route table.
837
- */
838
- ezspGetSourceRouteTableFilledSize(): Promise<number>;
839
- /**
840
- * Returns information about a source route table entry
841
- * @param index uint8_t The index of the entry of interest in the source route table.
842
- * Possible indexes range from zero to SOURCE_ROUTE_TABLE_FILLED_SIZE.
843
- * @returns EMBER_SUCCESS if there is source route entry at index. EMBER_NOT_FOUND if there is no source route at index.
844
- * @returns EmberNodeId * The node ID of the destination in that entry.
845
- * @returns uint8_t * The closer node index for this source route table entry
846
- */
847
- ezspGetSourceRouteTableEntry(index: number): Promise<[EmberStatus, destination: EmberNodeId, closerIndex: number]>;
848
- /**
849
- * Returns the neighbor table entry at the given index. The number of active
850
- * neighbors can be obtained using the neighborCount command.
851
- * @param index uint8_t The index of the neighbor of interest. Neighbors are stored in ascending order by node id,
852
- * with all unused entries at the end of the table.
853
- * @returns EMBER_ERR_FATAL if the index is greater or equal to the number of active neighbors, or if the device is an end device.
854
- * Returns EMBER_SUCCESS otherwise.
855
- * @returns EmberNeighborTableEntry * The contents of the neighbor table entry.
856
- */
857
- ezspGetNeighbor(index: number): Promise<[EmberStatus, value: EmberNeighborTableEntry]>;
858
- /**
859
- * Return EmberStatus depending on whether the frame counter of the node is
860
- * found in the neighbor or child table. This function gets the last received
861
- * frame counter as found in the Network Auxiliary header for the specified
862
- * neighbor or child
863
- * @param eui64 eui64 of the node
864
- * @returns Return EMBER_NOT_FOUND if the node is not found in the neighbor or child table. Returns EMBER_SUCCESS otherwise
865
- * @returns uint32_t * Return the frame counter of the node from the neighbor or child table
866
- */
867
- ezspGetNeighborFrameCounter(eui64: EmberEUI64): Promise<[EmberStatus, returnFrameCounter: number]>;
868
- /**
869
- * Sets the frame counter for the neighbour or child.
870
- * @param eui64 eui64 of the node
871
- * @param frameCounter uint32_t Return the frame counter of the node from the neighbor or child table
872
- * @returns
873
- * - EMBER_NOT_FOUND if the node is not found in the neighbor or child table.
874
- * - EMBER_SUCCESS otherwise
875
- */
876
- ezspSetNeighborFrameCounter(eui64: EmberEUI64, frameCounter: number): Promise<EmberStatus>;
877
- /**
878
- * Sets the routing shortcut threshold to directly use a neighbor instead of
879
- * performing routing.
880
- * @param costThresh uint8_t The routing shortcut threshold to configure.
881
- * @returns An EmberStatus value indicating success or the reason for failure.
882
- */
883
- ezspSetRoutingShortcutThreshold(costThresh: number): Promise<EmberStatus>;
884
- /**
885
- * Gets the routing shortcut threshold used to differentiate between directly
886
- * using a neighbor vs. performing routing.
887
- * @returns uint8_t The routing shortcut threshold
888
- */
889
- ezspGetRoutingShortcutThreshold(): Promise<number>;
890
- /**
891
- * Returns the number of active entries in the neighbor table.
892
- * @returns uint8_t The number of active entries in the neighbor table.
893
- */
894
- ezspNeighborCount(): Promise<number>;
895
- /**
896
- * Returns the route table entry at the given index. The route table size can be
897
- * obtained using the getConfigurationValue command.
898
- * @param index uint8_t The index of the route table entry of interest.
899
- * @returns
900
- * - EMBER_ERR_FATAL if the index is out of range or the device is an end
901
- * - EMBER_SUCCESS otherwise.
902
- * @returns EmberRouteTableEntry * The contents of the route table entry.
903
- */
904
- ezspGetRouteTableEntry(index: number): Promise<[EmberStatus, value: EmberRouteTableEntry]>;
905
- /**
906
- * Sets the radio output power at which a node is operating. Ember radios have
907
- * discrete power settings. For a list of available power settings, see the
908
- * technical specification for the RF communication module in your Developer
909
- * Kit. Note: Care should be taken when using this API on a running network, as
910
- * it will directly impact the established link qualities neighboring nodes have
911
- * with the node on which it is called. This can lead to disruption of existing
912
- * routes and erratic network behavior.
913
- * @param power int8_t Desired radio output power, in dBm.
914
- * @returns An EmberStatus value indicating the success or failure of the command.
915
- */
916
- ezspSetRadioPower(power: number): Promise<EmberStatus>;
917
- /**
918
- * Sets the channel to use for sending and receiving messages. For a list of
919
- * available radio channels, see the technical specification for the RF
920
- * communication module in your Developer Kit. Note: Care should be taken when
921
- * using this API, as all devices on a network must use the same channel.
922
- * @param channel uint8_t Desired radio channel.
923
- * @returns An EmberStatus value indicating the success or failure of the command.
924
- */
925
- ezspSetRadioChannel(channel: number): Promise<EmberStatus>;
926
- /**
927
- * Gets the channel in use for sending and receiving messages.
928
- * @returns uint8_t Current radio channel.
929
- */
930
- ezspGetRadioChannel(): Promise<number>;
931
- /**
932
- * Set the configured 802.15.4 CCA mode in the radio.
933
- * @param ccaMode uint8_t A RAIL_IEEE802154_CcaMode_t value.
934
- * @returns An EmberStatus value indicating the success or failure of the
935
- * command.
936
- */
937
- ezspSetRadioIeee802154CcaMode(ccaMode: number): Promise<EmberStatus>;
938
- /**
939
- * Enable/disable concentrator support.
940
- * @param on If this bool is true the concentrator support is enabled. Otherwise is disabled.
941
- * If this bool is false all the other arguments are ignored.
942
- * @param concentratorType uint16_t Must be either EMBER_HIGH_RAM_CONCENTRATOR or EMBER_LOW_RAM_CONCENTRATOR.
943
- * The former is used when the caller has enough memory to store source routes for the whole network.
944
- * In that case, remote nodes stop sending route records once the concentrator has successfully received one.
945
- * The latter is used when the concentrator has insufficient RAM to store all outbound source routes.
946
- * In that case, route records are sent to the concentrator prior to every inbound APS unicast.
947
- * @param minTime uint16_t The minimum amount of time that must pass between MTORR broadcasts.
948
- * @param maxTime uint16_t The maximum amount of time that can pass between MTORR broadcasts.
949
- * @param routeErrorThreshold uint8_t The number of route errors that will trigger a re-broadcast of the MTORR.
950
- * @param deliveryFailureThreshold uint8_t The number of APS delivery failures that will trigger a re-broadcast of the MTORR.
951
- * @param maxHops uint8_t The maximum number of hops that the MTORR broadcast will be allowed to have.
952
- * A value of 0 will be converted to the EMBER_MAX_HOPS value set by the stack.
953
- * @returns An EmberStatus value indicating success or the reason for failure.
954
- */
955
- ezspSetConcentrator(on: boolean, concentratorType: number, minTime: number, maxTime: number, routeErrorThreshold: number, deliveryFailureThreshold: number, maxHops: number): Promise<EmberStatus>;
956
- /**
957
- * Sets the error code that is sent back from a router with a broken route.
958
- * @param errorCode uint8_t Desired error code.
959
- * @returns An EmberStatus value indicating the success or failure of the
960
- * command.
961
- */
962
- ezspSetBrokenRouteErrorCode(errorCode: number): Promise<EmberStatus>;
963
- /**
964
- * This causes to initialize the desired radio interface other than native and
965
- * form a new network by becoming the coordinator with same panId as native
966
- * radio network.
967
- * @param phyIndex uint8_t Index of phy interface. The native phy index would be always zero hence valid phy index starts from one.
968
- * @param page uint8_t Desired radio channel page.
969
- * @param channel uint8_t Desired radio channel.
970
- * @param power int8_t Desired radio output power, in dBm.
971
- * @param bitmask Network configuration bitmask.
972
- * @returns An EmberStatus value indicating success or the reason for failure.
973
- */
974
- ezspMultiPhyStart(phyIndex: number, page: number, channel: number, power: number, bitmask: EmberMultiPhyNwkConfig): Promise<EmberStatus>;
975
- /**
976
- * This causes to bring down the radio interface other than native.
977
- * @param phyIndex uint8_t Index of phy interface. The native phy index would be always zero hence valid phy index starts from one.
978
- * @returns An EmberStatus value indicating success or the reason for failure.
979
- */
980
- ezspMultiPhyStop(phyIndex: number): Promise<EmberStatus>;
981
- /**
982
- * Sets the radio output power for desired phy interface at which a node is
983
- * operating. Ember radios have discrete power settings. For a list of available
984
- * power settings, see the technical specification for the RF communication
985
- * module in your Developer Kit. Note: Care should be taken when using this api
986
- * on a running network, as it will directly impact the established link
987
- * qualities neighboring nodes have with the node on which it is called. This
988
- * can lead to disruption of existing routes and erratic network behavior.
989
- * @param phyIndex uint8_t Index of phy interface. The native phy index would be always zero hence valid phy index starts from one.
990
- * @param power int8_t Desired radio output power, in dBm.
991
- * @returns An EmberStatus value indicating the success or failure of the
992
- * command.
993
- */
994
- ezspMultiPhySetRadioPower(phyIndex: number, power: number): Promise<EmberStatus>;
995
- /**
996
- * Send Link Power Delta Request from a child to its parent
997
- * @returns An EmberStatus value indicating the success or failure of sending the request.
998
- */
999
- ezspSendLinkPowerDeltaRequest(): Promise<EmberStatus>;
1000
- /**
1001
- * Sets the channel for desired phy interface to use for sending and receiving
1002
- * messages. For a list of available radio pages and channels, see the technical
1003
- * specification for the RF communication module in your Developer Kit. Note:
1004
- * Care should be taken when using this API, as all devices on a network must
1005
- * use the same page and channel.
1006
- * @param phyIndex uint8_t Index of phy interface. The native phy index would be always zero hence valid phy index starts from one.
1007
- * @param page uint8_t Desired radio channel page.
1008
- * @param channel uint8_t Desired radio channel.
1009
- * @returns An EmberStatus value indicating the success or failure of the command.
1010
- */
1011
- ezspMultiPhySetRadioChannel(phyIndex: number, page: number, channel: number): Promise<EmberStatus>;
1012
- /**
1013
- * Obtains the current duty cycle state.
1014
- * @returns An EmberStatus value indicating the success or failure of the command.
1015
- * @returns EmberDutyCycleState * The current duty cycle state in effect.
1016
- */
1017
- ezspGetDutyCycleState(): Promise<[EmberStatus, returnedState: EmberDutyCycleState]>;
1018
- /**
1019
- * Set the current duty cycle limits configuration. The Default limits set by
1020
- * stack if this call is not made.
1021
- * @param limits EmberDutyCycleLimits * The duty cycle limits configuration to utilize.
1022
- * @returns EMBER_SUCCESS if the duty cycle limit configurations set
1023
- * successfully, EMBER_BAD_ARGUMENT if set illegal value such as setting only
1024
- * one of the limits to default or violates constraints Susp > Crit > Limi,
1025
- * EMBER_INVALID_CALL if device is operating on 2.4Ghz
1026
- */
1027
- ezspSetDutyCycleLimitsInStack(limits: EmberDutyCycleLimits): Promise<EmberStatus>;
1028
- /**
1029
- * Obtains the current duty cycle limits that were previously set by a call to
1030
- * emberSetDutyCycleLimitsInStack(), or the defaults set by the stack if no set
1031
- * call was made.
1032
- * @returns An EmberStatus value indicating the success or failure of the command.
1033
- * @returns EmberDutyCycleLimits * Return current duty cycle limits if returnedLimits is not NULL
1034
- */
1035
- ezspGetDutyCycleLimits(): Promise<[EmberStatus, returnedLimits: EmberDutyCycleLimits]>;
1036
- /**
1037
- * Returns the duty cycle of the stack's connected children that are being
1038
- * monitored, up to maxDevices. It indicates the amount of overall duty cycle
1039
- * they have consumed (up to the suspend limit). The first entry is always the
1040
- * local stack's nodeId, and thus the total aggregate duty cycle for the device.
1041
- * The passed pointer arrayOfDeviceDutyCycles MUST have space for maxDevices.
1042
- * @param maxDevices uint8_t Number of devices to retrieve consumed duty cycle.
1043
- * @returns
1044
- * - EMBER_SUCCESS if the duty cycles were read successfully,
1045
- * - EMBER_BAD_ARGUMENT maxDevices is greater than EMBER_MAX_END_DEVICE_CHILDREN + 1.
1046
- * @returns uint8_t * Consumed duty cycles up to maxDevices. When the number of children that are being monitored is less than maxDevices,
1047
- * the EmberNodeId element in the EmberPerDeviceDutyCycle will be 0xFFFF.
1048
- */
1049
- ezspGetCurrentDutyCycle(maxDevices: number): Promise<[EmberStatus, arrayOfDeviceDutyCycles: number[]]>;
1050
- /**
1051
- * Callback
1052
- * Callback fires when the duty cycle state has changed
1053
- * @param channelPage uint8_t The channel page whose duty cycle state has changed.
1054
- * @param channel uint8_t The channel number whose duty cycle state has changed.
1055
- * @param state The current duty cycle state.
1056
- * @param totalDevices uint8_t The total number of connected end devices that are being monitored for duty cycle.
1057
- * @param arrayOfDeviceDutyCycles EmberPerDeviceDutyCycle * Consumed duty cycles of end devices that are being monitored.
1058
- * The first entry always be the local stack's nodeId, and thus the total aggregate duty cycle for the device.
1059
- */
1060
- ezspDutyCycleHandler(channelPage: number, channel: number, state: EmberDutyCycleState, totalDevices: number, arrayOfDeviceDutyCycles: EmberPerDeviceDutyCycle[]): void;
1061
- /**
1062
- * Returns the first beacon in the cache. Beacons are stored in cache after
1063
- * issuing an active scan.
1064
- * @returns
1065
- * - EMBER_SUCCESS if first beacon found,
1066
- * - EMBER_BAD_ARGUMENT if input parameters are invalid, EMBER_INVALID_CALL if no beacons stored,
1067
- * - EMBER_ERR_FATAL if no first beacon found.
1068
- * @returns EmberBeaconIterator * The iterator to use when returning the first beacon. This argument must not be NULL.
1069
- */
1070
- ezspGetFirstBeacon(): Promise<[EmberStatus, beaconIterator: EmberBeaconIterator]>;
1071
- /**
1072
- * Returns the next beacon in the cache. Beacons are stored in cache after
1073
- * issuing an active scan.
1074
- * @returns
1075
- * - EMBER_SUCCESS if next beacon found,
1076
- * - EMBER_BAD_ARGUMENT if input parameters are invalid,
1077
- * - EMBER_ERR_FATAL if no next beacon found.
1078
- * @returns EmberBeaconData * The next beacon retrieved. It is assumed that emberGetFirstBeacon has been called first.
1079
- * This argument must not be NULL.
1080
- */
1081
- ezspGetNextBeacon(): Promise<[EmberStatus, beacon: EmberBeaconData]>;
1082
- /**
1083
- * Returns the number of cached beacons that have been collected from a scan.
1084
- * @returns uint8_t The number of cached beacons that have been collected from a scan.
1085
- */
1086
- ezspGetNumStoredBeacons(): Promise<number>;
1087
- /**
1088
- * Clears all cached beacons that have been collected from a scan.
1089
- */
1090
- ezspClearStoredBeacons(): Promise<void>;
1091
- /**
1092
- * This call sets the radio channel in the stack and propagates the information
1093
- * to the hardware.
1094
- * @param radioChannel uint8_t The radio channel to be set.
1095
- * @returns An EmberStatus value indicating success or the reason for failure.
1096
- */
1097
- ezspSetLogicalAndRadioChannel(radioChannel: number): Promise<EmberStatus>;
1098
- /**
1099
- * Deletes all binding table entries.
1100
- * @returns An EmberStatus value indicating success or the reason for failure.
1101
- */
1102
- ezspClearBindingTable(): Promise<EmberStatus>;
1103
- /**
1104
- * Sets an entry in the binding table.
1105
- * @param index uint8_t The index of a binding table entry.
1106
- * @param value EmberBindingTableEntry * The contents of the binding entry.
1107
- * @returns An EmberStatus value indicating success or the reason for failure.
1108
- */
1109
- ezspSetBinding(index: number, value: EmberBindingTableEntry): Promise<EmberStatus>;
1110
- /**
1111
- * Gets an entry from the binding table.
1112
- * @param index uint8_t The index of a binding table entry.
1113
- * @returns An EmberStatus value indicating success or the reason for failure.
1114
- * @returns EmberBindingTableEntry * The contents of the binding entry.
1115
- */
1116
- ezspGetBinding(index: number): Promise<[EmberStatus, value: EmberBindingTableEntry]>;
1117
- /**
1118
- * Deletes a binding table entry.
1119
- * @param index uint8_t The index of a binding table entry.
1120
- * @returns An EmberStatus value indicating success or the reason for failure.
1121
- */
1122
- ezspDeleteBinding(index: number): Promise<EmberStatus>;
1123
- /**
1124
- * Indicates whether any messages are currently being sent using this binding
1125
- * table entry. Note that this command does not indicate whether a binding is
1126
- * clear. To determine whether a binding is clear, check whether the type field
1127
- * of the EmberBindingTableEntry has the value EMBER_UNUSED_BINDING.
1128
- * @param index uint8_t The index of a binding table entry.
1129
- * @returns True if the binding table entry is active, false otherwise.
1130
- */
1131
- ezspBindingIsActive(index: number): Promise<boolean>;
1132
- /**
1133
- * Returns the node ID for the binding's destination, if the ID is known. If a
1134
- * message is sent using the binding and the destination's ID is not known, the
1135
- * stack will discover the ID by broadcasting a ZDO address request. The
1136
- * application can avoid the need for this discovery by using
1137
- * setBindingRemoteNodeId when it knows the correct ID via some other means. The
1138
- * destination's node ID is forgotten when the binding is changed, when the
1139
- * local node reboots or, much more rarely, when the destination node changes
1140
- * its ID in response to an ID conflict.
1141
- * @param index uint8_t The index of a binding table entry.
1142
- * @returns The short ID of the destination node or EMBER_NULL_NODE_ID if no destination is known.
1143
- */
1144
- ezspGetBindingRemoteNodeId(index: number): Promise<EmberNodeId>;
1145
- /**
1146
- * Set the node ID for the binding's destination. See getBindingRemoteNodeId for
1147
- * a description.
1148
- * @param index uint8_t The index of a binding table entry.
1149
- * @param The short ID of the destination node.
1150
- */
1151
- ezspSetBindingRemoteNodeId(index: number, nodeId: EmberNodeId): Promise<void>;
1152
- /**
1153
- * Callback
1154
- * The NCP used the external binding modification policy to decide how to handle
1155
- * a remote set binding request. The Host cannot change the current decision,
1156
- * but it can change the policy for future decisions using the setPolicy
1157
- * command.
1158
- * @param entry EmberBindingTableEntry * The requested binding.
1159
- * @param index uint8_t The index at which the binding was added.
1160
- * @param policyDecision EMBER_SUCCESS if the binding was added to the table and any other status if not.
1161
- */
1162
- ezspRemoteSetBindingHandler(entry: EmberBindingTableEntry, index: number, policyDecision: EmberStatus): void;
1163
- /**
1164
- * Callback
1165
- * The NCP used the external binding modification policy to decide how to handle
1166
- * a remote delete binding request. The Host cannot change the current decision,
1167
- * but it can change the policy for future decisions using the setPolicy
1168
- * command.
1169
- * @param index uint8_t The index of the binding whose deletion was requested.
1170
- * @param policyDecision EMBER_SUCCESS if the binding was removed from the table and any other status if not.
1171
- */
1172
- ezspRemoteDeleteBindingHandler(index: number, policyDecision: EmberStatus): void;
1173
- /**
1174
- * Returns the maximum size of the payload. The size depends on the security level in use.
1175
- * @returns uint8_t The maximum APS payload length.
1176
- */
1177
- ezspMaximumPayloadLength(): Promise<number>;
1178
- /**
1179
- * Sends a unicast message as per the ZigBee specification. The message will
1180
- * arrive at its destination only if there is a known route to the destination
1181
- * node. Setting the ENABLE_ROUTE_DISCOVERY option will cause a route to be
1182
- * discovered if none is known. Setting the FORCE_ROUTE_DISCOVERY option will
1183
- * force route discovery. Routes to end-device children of the local node are
1184
- * always known. Setting the APS_RETRY option will cause the message to be
1185
- * retransmitted until either a matching acknowledgement is received or three
1186
- * transmissions have been made. Note: Using the FORCE_ROUTE_DISCOVERY option
1187
- * will cause the first transmission to be consumed by a route request as part
1188
- * of discovery, so the application payload of this packet will not reach its
1189
- * destination on the first attempt. If you want the packet to reach its
1190
- * destination, the APS_RETRY option must be set so that another attempt is made
1191
- * to transmit the message with its application payload after the route has been
1192
- * constructed. Note: When sending fragmented messages, the stack will only
1193
- * assign a new APS sequence number for the first fragment of the message (i.e.,
1194
- * EMBER_APS_OPTION_FRAGMENT is set and the low-order byte of the groupId field
1195
- * in the APS frame is zero). For all subsequent fragments of the same message,
1196
- * the application must set the sequence number field in the APS frame to the
1197
- * sequence number assigned by the stack to the first fragment.
1198
- * @param type Specifies the outgoing message type.
1199
- * Must be one of EMBER_OUTGOING_DIRECT, EMBER_OUTGOING_VIA_ADDRESS_TABLE, or EMBER_OUTGOING_VIA_BINDING.
1200
- * @param indexOrDestination Depending on the type of addressing used, this is either the EmberNodeId of the destination,
1201
- * an index into the address table, or an index into the binding table.
1202
- * @param apsFrame EmberApsFrame * The APS frame which is to be added to the message.
1203
- * @param messageTag uint8_t A value chosen by the Host. This value is used in the ezspMessageSentHandler response to refer to this message.
1204
- * @param messageContents uint8_t * Content of the message.
1205
- * @returns An EmberStatus value indicating success or the reason for failure.
1206
- * @returns uint8_t * The sequence number that will be used when this message is transmitted.
1207
- */
1208
- ezspSendUnicast(type: EmberOutgoingMessageType, indexOrDestination: EmberNodeId, apsFrame: EmberApsFrame, messageTag: number, messageContents: Buffer): Promise<[EmberStatus, apsSequence: number]>;
1209
- /**
1210
- * Sends a broadcast message as per the ZigBee specification.
1211
- * @param destination The destination to which to send the broadcast. This must be one of the three ZigBee broadcast addresses.
1212
- * @param apsFrame EmberApsFrame * The APS frame for the message.
1213
- * @param radius uint8_t The message will be delivered to all nodes within radius hops of the sender.
1214
- * A radius of zero is converted to EMBER_MAX_HOPS.
1215
- * @param uint8_t A value chosen by the Host. This value is used in the ezspMessageSentHandler response to refer to this message.
1216
- * @param uint8_t * The broadcast message.
1217
- * @returns An EmberStatus value indicating success or the reason for failure.
1218
- * @returns uint8_t * The sequence number that will be used when this message is transmitted.
1219
- */
1220
- ezspSendBroadcast(destination: EmberNodeId, apsFrame: EmberApsFrame, radius: number, messageTag: number, messageContents: Buffer): Promise<[EmberStatus, apsSequence: number]>;
1221
- /**
1222
- * Sends a proxied broadcast message as per the ZigBee specification.
1223
- * @param source The source from which to send the broadcast.
1224
- * @param destination The destination to which to send the broadcast. This must be one of the three ZigBee broadcast addresses.
1225
- * @param nwkSequence uint8_t The network sequence number for the broadcast.
1226
- * @param apsFrame EmberApsFrame * The APS frame for the message.
1227
- * @param radius uint8_t The message will be delivered to all nodes within radius hops of the sender.
1228
- * A radius of zero is converted to EMBER_MAX_HOPS.
1229
- * @param messageTag uint8_t A value chosen by the Host. This value is used in the ezspMessageSentHandler response to refer to this message.
1230
- * @param messageContents uint8_t * The broadcast message.
1231
- * @returns An EmberStatus value indicating success or the reason for failure.
1232
- * @returns uint8_t * The APS sequence number that will be used when this message is transmitted.
1233
- */
1234
- ezspProxyBroadcast(source: EmberNodeId, destination: EmberNodeId, nwkSequence: number, apsFrame: EmberApsFrame, radius: number, messageTag: number, messageContents: Buffer): Promise<[EmberStatus, apsSequence: number]>;
1235
- /**
1236
- * Sends a multicast message to all endpoints that share a specific multicast ID
1237
- * and are within a specified number of hops of the sender.
1238
- * @param apsFrame EmberApsFrame * The APS frame for the message. The multicast will be sent to the groupId in this frame.
1239
- * @param hops uint8_t The message will be delivered to all nodes within this number of hops of the sender.
1240
- * A value of zero is converted to EMBER_MAX_HOPS.
1241
- * @param nonmemberRadius uint8_t The number of hops that the message will be forwarded by devices that are not members of the group.
1242
- * A value of 7 or greater is treated as infinite.
1243
- * @param messageTag uint8_t A value chosen by the Host. This value is used in the ezspMessageSentHandler response to refer to this message.
1244
- * @param messageLength uint8_t The length of the messageContents parameter in bytes.
1245
- * @param messageContents uint8_t * The multicast message.
1246
- * @returns An EmberStatus value. For any result other than EMBER_SUCCESS, the message will not be sent.
1247
- * - EMBER_SUCCESS - The message has been submitted for transmission.
1248
- * - EMBER_INVALID_BINDING_INDEX - The bindingTableIndex refers to a non-multicast binding.
1249
- * - EMBER_NETWORK_DOWN - The node is not part of a network.
1250
- * - EMBER_MESSAGE_TOO_LONG - The message is too large to fit in a MAC layer frame.
1251
- * - EMBER_NO_BUFFERS - The free packet buffer pool is empty.
1252
- * - EMBER_NETWORK_BUSY - Insufficient resources available in Network or MAC layers to send message.
1253
- * @returns uint8_t * The sequence number that will be used when this message is transmitted.
1254
- */
1255
- ezspSendMulticast(apsFrame: EmberApsFrame, hops: number, nonmemberRadius: number, messageTag: number, messageContents: Buffer): Promise<[EmberStatus, apsSequence: number]>;
1256
- /**
1257
- * Sends a multicast message to all endpoints that share a specific multicast ID
1258
- * and are within a specified number of hops of the sender.
1259
- * @param apsFrame EmberApsFrame * The APS frame for the message. The multicast will be sent to the groupId in this frame.
1260
- * @param hops uint8_t The message will be delivered to all nodes within this number of hops of the sender.
1261
- * A value of zero is converted to EMBER_MAX_HOPS.
1262
- * @param nonmemberRadius uint8_t The number of hops that the message will be forwarded by devices that are not members of the group.
1263
- * A value of 7 or greater is treated as infinite.
1264
- * @param alias uint16_t The alias source address
1265
- * @param nwkSequence uint8_t the alias sequence number
1266
- * @param messageTag uint8_t A value chosen by the Host. This value is used in the ezspMessageSentHandler response to refer to this message.
1267
- * @param messageLength uint8_t The length of the messageContents parameter in bytes.
1268
- * @param messageContents uint8_t * The multicast message.
1269
- * @returns An EmberStatus value. For any result other than EMBER_SUCCESS, the
1270
- * message will not be sent. EMBER_SUCCESS - The message has been submitted for
1271
- * transmission. EMBER_INVALID_BINDING_INDEX - The bindingTableIndex refers to a
1272
- * non-multicast binding. EMBER_NETWORK_DOWN - The node is not part of a
1273
- * network. EMBER_MESSAGE_TOO_LONG - The message is too large to fit in a MAC
1274
- * layer frame. EMBER_NO_BUFFERS - The free packet buffer pool is empty.
1275
- * EMBER_NETWORK_BUSY - Insufficient resources available in Network or MAC
1276
- * layers to send message.
1277
- * @returns The sequence number that will be used when this message is transmitted.
1278
- */
1279
- ezspSendMulticastWithAlias(apsFrame: EmberApsFrame, hops: number, nonmemberRadius: number, alias: number, nwkSequence: number, messageTag: number, messageContents: Buffer): Promise<[EmberStatus, apsSequence: number]>;
1280
- /**
1281
- * Sends a reply to a received unicast message. The incomingMessageHandler
1282
- * callback for the unicast being replied to supplies the values for all the
1283
- * parameters except the reply itself.
1284
- * @param sender Value supplied by incoming unicast.
1285
- * @param apsFrame EmberApsFrame * Value supplied by incoming unicast.
1286
- * @param uint8_t The length of the messageContents parameter in bytes.
1287
- * @param uint8_t * The reply message.
1288
- * @returns An EmberStatus value.
1289
- * - EMBER_INVALID_CALL - The EZSP_UNICAST_REPLIES_POLICY is set to EZSP_HOST_WILL_NOT_SUPPLY_REPLY.
1290
- * This means the NCP will automatically send an empty reply. The Host must change
1291
- * the policy to EZSP_HOST_WILL_SUPPLY_REPLY before it can supply the reply.
1292
- * There is one exception to this rule: In the case of responses to message
1293
- * fragments, the host must call sendReply when a message fragment is received.
1294
- * In this case, the policy set on the NCP does not matter. The NCP expects a
1295
- * sendReply call from the Host for message fragments regardless of the current
1296
- * policy settings.
1297
- * - EMBER_NO_BUFFERS - Not enough memory was available to send the reply.
1298
- * - EMBER_NETWORK_BUSY - Either no route or insufficient resources available.
1299
- * - EMBER_SUCCESS - The reply was successfully queued for transmission.
1300
- */
1301
- ezspSendReply(sender: EmberNodeId, apsFrame: EmberApsFrame, messageContents: Buffer): Promise<EmberStatus>;
1302
- /**
1303
- * Callback
1304
- * A callback indicating the stack has completed sending a message.
1305
- * @param type The type of message sent.
1306
- * @param indexOrDestination uint16_t The destination to which the message was sent, for direct unicasts,
1307
- * or the address table or binding index for other unicasts. The value is unspecified for multicasts and broadcasts.
1308
- * @param apsFrame EmberApsFrame * The APS frame for the message.
1309
- * @param messageTag uint8_t The value supplied by the Host in the ezspSendUnicast, ezspSendBroadcast or ezspSendMulticast command.
1310
- * @param status An EmberStatus value of EMBER_SUCCESS if an ACK was received from the destination
1311
- * or EMBER_DELIVERY_FAILED if no ACK was received.
1312
- * @param messageContents uint8_t * The unicast message supplied by the Host. The message contents are only included here if the decision
1313
- * for the messageContentsInCallback policy is messageTagAndContentsInCallback.
1314
- */
1315
- ezspMessageSentHandler(type: EmberOutgoingMessageType, indexOrDestination: number, apsFrame: EmberApsFrame, messageTag: number, status: EmberStatus, messageContents: Buffer): void;
1316
- /**
1317
- * Sends a route request packet that creates routes from every node in the
1318
- * network back to this node. This function should be called by an application
1319
- * that wishes to communicate with many nodes, for example, a gateway, central
1320
- * monitor, or controller. A device using this function was referred to as an
1321
- * 'aggregator' in EmberZNet 2.x and earlier, and is referred to as a
1322
- * 'concentrator' in the ZigBee specification and EmberZNet 3. This function
1323
- * enables large scale networks, because the other devices do not have to
1324
- * individually perform bandwidth-intensive route discoveries. Instead, when a
1325
- * remote node sends an APS unicast to a concentrator, its network layer
1326
- * automatically delivers a special route record packet first, which lists the
1327
- * network ids of all the intermediate relays. The concentrator can then use
1328
- * source routing to send outbound APS unicasts. (A source routed message is one
1329
- * in which the entire route is listed in the network layer header.) This allows
1330
- * the concentrator to communicate with thousands of devices without requiring
1331
- * large route tables on neighboring nodes. This function is only available in
1332
- * ZigBee Pro (stack profile 2), and cannot be called on end devices. Any router
1333
- * can be a concentrator (not just the coordinator), and there can be multiple
1334
- * concentrators on a network. Note that a concentrator does not automatically
1335
- * obtain routes to all network nodes after calling this function. Remote
1336
- * applications must first initiate an inbound APS unicast. Many-to-one routes
1337
- * are not repaired automatically. Instead, the concentrator application must
1338
- * call this function to rediscover the routes as necessary, for example, upon
1339
- * failure of a retried APS message. The reason for this is that there is no
1340
- * scalable one-size-fits-all route repair strategy. A common and recommended
1341
- * strategy is for the concentrator application to refresh the routes by calling
1342
- * this function periodically.
1343
- * @param concentratorType uint16_t Must be either EMBER_HIGH_RAM_CONCENTRATOR or EMBER_LOW_RAM_CONCENTRATOR.
1344
- * The former is used when the caller has enough memory to store source routes for the whole network.
1345
- * In that case, remote nodes stop sending route records once the concentrator has successfully received one.
1346
- * The latter is used when the concentrator has insufficient RAM to store all outbound source routes.
1347
- * In that case, route records are sent to the concentrator prior to every inbound APS unicast.
1348
- * @param radius uint8_t The maximum number of hops the route request will be relayed. A radius of zero is converted to EMBER_MAX_HOPS
1349
- * @returns EMBER_SUCCESS if the route request was successfully submitted to the
1350
- * transmit queue, and EMBER_ERR_FATAL otherwise.
1351
- */
1352
- ezspSendManyToOneRouteRequest(concentratorType: number, radius: number): Promise<EmberStatus>;
1353
- /**
1354
- * Periodically request any pending data from our parent. Setting interval to 0
1355
- * or units to EMBER_EVENT_INACTIVE will generate a single poll.
1356
- * @param interval uint16_t The time between polls. Note that the timer clock is free running and is not synchronized with this command.
1357
- * This means that the time will be between interval and (interval - 1). The maximum interval is 32767.
1358
- * @param units The units for interval.
1359
- * @param failureLimit uint8_t The number of poll failures that will be tolerated before a pollCompleteHandler callback is generated.
1360
- * A value of zero will result in a callback for every poll. Any status value apart from EMBER_SUCCESS
1361
- * and EMBER_MAC_NO_DATA is counted as a failure.
1362
- * @returns The result of sending the first poll.
1363
- */
1364
- ezspPollForData(interval: number, units: EmberEventUnits, failureLimit: number): Promise<EmberStatus>;
1365
- /**
1366
- * Callback
1367
- * Indicates the result of a data poll to the parent of the local node.
1368
- * @param status An EmberStatus value:
1369
- * - EMBER_SUCCESS - Data was received in response to the poll.
1370
- * - EMBER_MAC_NO_DATA - No data was pending.
1371
- * - EMBER_DELIVERY_FAILED - The poll message could not be sent.
1372
- * - EMBER_MAC_NO_ACK_RECEIVED - The poll message was sent but not acknowledged by the parent.
1373
- */
1374
- ezspPollCompleteHandler(status: EmberStatus): void;
1375
- /**
1376
- * Callback
1377
- * Indicates that the local node received a data poll from a child.
1378
- * @param childId The node ID of the child that is requesting data.
1379
- * @param transmitExpected True if transmit is expected, false otherwise.
1380
- */
1381
- ezspPollHandler(childId: EmberNodeId, transmitExpected: boolean): void;
1382
- /**
1383
- * Callback
1384
- * A callback indicating a message has been received containing the EUI64 of the
1385
- * sender. This callback is called immediately before the incomingMessageHandler
1386
- * callback. It is not called if the incoming message did not contain the EUI64
1387
- * of the sender.
1388
- * @param senderEui64 The EUI64 of the sender
1389
- */
1390
- ezspIncomingSenderEui64Handler(senderEui64: EmberEUI64): void;
1391
- /**
1392
- * Callback
1393
- * A callback indicating a message has been received.
1394
- * @param type The type of the incoming message. One of the following: EMBER_INCOMING_UNICAST, EMBER_INCOMING_UNICAST_REPLY,
1395
- * EMBER_INCOMING_MULTICAST, EMBER_INCOMING_MULTICAST_LOOPBACK, EMBER_INCOMING_BROADCAST, EMBER_INCOMING_BROADCAST_LOOPBACK
1396
- * @param apsFrame EmberApsFrame * The APS frame from the incoming message.
1397
- * @param lastHopLqi uint8_t The link quality from the node that last relayed the message.
1398
- * @param lastHopRssi int8_t The energy level (in units of dBm) observed during the reception.
1399
- * @param sender The sender of the message.
1400
- * @param bindingIndex uint8_t The index of a binding that matches the message or 0xFF if there is no matching binding.
1401
- * @param addressIndex uint8_t The index of the entry in the address table that matches the sender of the message
1402
- * or 0xFF if there is no matching entry.
1403
- * @param messageContents uint8_t * The incoming message.
1404
- */
1405
- ezspIncomingMessageHandler(type: EmberIncomingMessageType, apsFrame: EmberApsFrame, lastHopLqi: number, lastHopRssi: number, sender: EmberNodeId, bindingIndex: number, addressIndex: number, messageContents: Buffer): void;
1406
- /**
1407
- * Sets source route discovery(MTORR) mode to on, off, reschedule
1408
- * @param mode uint8_t Source route discovery mode: off:0, on:1, reschedule:2
1409
- * @returns uint32_t Remaining time(ms) until next MTORR broadcast if the mode is on, MAX_INT32U_VALUE if the mode is off
1410
- */
1411
- ezspSetSourceRouteDiscoveryMode(mode: EmberSourceRouteDiscoveryMode): Promise<number>;
1412
- /**
1413
- * Callback
1414
- * A callback indicating that a many-to-one route to the concentrator with the given short and long id is available for use.
1415
- * @param EmberNodeId The short id of the concentrator.
1416
- * @param longId The EUI64 of the concentrator.
1417
- * @param cost uint8_t The path cost to the concentrator. The cost may decrease as additional route request packets
1418
- * for this discovery arrive, but the callback is made only once.
1419
- */
1420
- ezspIncomingManyToOneRouteRequestHandler(source: EmberNodeId, longId: EmberEUI64, cost: number): void;
1421
- /**
1422
- * Callback
1423
- * A callback invoked when a route error message is received.
1424
- * The error indicates that a problem routing to or from the target node was encountered.
1425
- *
1426
- * A status of ::EMBER_SOURCE_ROUTE_FAILURE indicates that a source-routed unicast sent from this node encountered a broken link.
1427
- * Note that this case occurs only if this node is a concentrator using many-to-one routing for inbound messages and source-routing for
1428
- * outbound messages. The node prior to the broken link generated the route error message and returned it to us along the many-to-one route.
1429
- *
1430
- * A status of ::EMBER_MANY_TO_ONE_ROUTE_FAILURE also occurs only if the local device is a concentrator, and indicates that a unicast sent
1431
- * to the local device along a many-to-one route encountered a broken link. The node prior to the broken link generated the route error
1432
- * message and forwarded it to the local device via a randomly chosen neighbor, taking advantage of the many-to-one nature of the route.
1433
- *
1434
- * A status of ::EMBER_MAC_INDIRECT_TIMEOUT indicates that a message sent to the target end device could not be delivered by the parent
1435
- * because the indirect transaction timer expired. Upon receipt of the route error, the stack sets the extended timeout for the target node
1436
- * in the address table, if present. It then calls this handler to indicate receipt of the error.
1437
- *
1438
- * Note that if the original unicast data message is sent using the ::EMBER_APS_OPTION_RETRY option, a new route error message is generated
1439
- * for each failed retry. Therefore, it is not unusual to receive three route error messages in succession for a single failed retried APS
1440
- * unicast. On the other hand, it is also not guaranteed that any route error messages will be delivered successfully at all.
1441
- * The only sure way to detect a route failure is to use retried APS messages and to check the status of the ::emberMessageSentHandler().
1442
- *
1443
- * @param status ::EMBER_SOURCE_ROUTE_FAILURE, ::EMBER_MANY_TO_ONE_ROUTE_FAILURE, ::EMBER_MAC_INDIRECT_TIMEOUT
1444
- * @param target The short id of the remote node.
1445
- */
1446
- ezspIncomingRouteErrorHandler(status: EmberStatus, target: EmberNodeId): void;
1447
- /**
1448
- * Callback
1449
- * A callback invoked when a network status/route error message is received.
1450
- * The error indicates that there was a problem sending/receiving messages from the target node.
1451
- *
1452
- * Note: Network analyzer may flag this message as "route error" which is the old name for the "network status" command.
1453
- *
1454
- * This handler is a superset of ezspIncomingRouteErrorHandler. The old API was only invoking the handler for a couple of the possible
1455
- * error codes and these were being translated into EmberStatus.
1456
- *
1457
- * @param errorCode uint8_t One byte over-the-air error code from network status message
1458
- * @param target The short ID of the remote node
1459
- */
1460
- ezspIncomingNetworkStatusHandler(errorCode: EmberStackError, target: EmberNodeId): void;
1461
- /**
1462
- * Callback
1463
- * Reports the arrival of a route record command frame.
1464
- * @param EmberNodeId The source of the route record.
1465
- * @param EmberEUI64 The EUI64 of the source.
1466
- * @param lastHopLqi uint8_t The link quality from the node that last relayed the route record.
1467
- * @param lastHopRssi int8_t The energy level (in units of dBm) observed during the reception.
1468
- * @param uint8_t The number of relays in relayList.
1469
- * @param relayList uint8_t * The route record. Each relay in the list is an uint16_t node ID.
1470
- * The list is passed as uint8_t * to avoid alignment problems.
1471
- */
1472
- ezspIncomingRouteRecordHandler(source: EmberNodeId, sourceEui: EmberEUI64, lastHopLqi: number, lastHopRssi: number, relayCount: number, relayList: number[]): void;
1473
- /**
1474
- * Supply a source route for the next outgoing message.
1475
- * @param destination The destination of the source route.
1476
- * @param relayList uint16_t * The source route.
1477
- * @returns EMBER_SUCCESS if the source route was successfully stored, and
1478
- * EMBER_NO_BUFFERS otherwise.
1479
- */
1480
- ezspSetSourceRoute(destination: EmberNodeId, relayList: number[]): Promise<EmberStatus>;
1481
- /**
1482
- * Send the network key to a destination.
1483
- * @param targetShort The destination node of the key.
1484
- * @param targetLong The long address of the destination node.
1485
- * @param parentShortId The parent node of the destination node.
1486
- * @returns EMBER_SUCCESS if send was successful
1487
- */
1488
- ezspUnicastCurrentNetworkKey(targetShort: EmberNodeId, targetLong: EmberEUI64, parentShortId: EmberNodeId): Promise<EmberStatus>;
1489
- /**
1490
- * Indicates whether any messages are currently being sent using this address
1491
- * table entry. Note that this function does not indicate whether the address
1492
- * table entry is unused. To determine whether an address table entry is unused,
1493
- * check the remote node ID. The remote node ID will have the value
1494
- * EMBER_TABLE_ENTRY_UNUSED_NODE_ID when the address table entry is not in use.
1495
- * @param uint8_tThe index of an address table entry.
1496
- * @returns True if the address table entry is active, false otherwise.
1497
- */
1498
- ezspAddressTableEntryIsActive(addressTableIndex: number): Promise<boolean>;
1499
- /**
1500
- * Sets the EUI64 of an address table entry. This function will also check other
1501
- * address table entries, the child table and the neighbor table to see if the
1502
- * node ID for the given EUI64 is already known. If known then this function
1503
- * will also set node ID. If not known it will set the node ID to
1504
- * EMBER_UNKNOWN_NODE_ID.
1505
- * @param addressTableIndex uint8_t The index of an address table entry.
1506
- * @param eui64 The EUI64 to use for the address table entry.
1507
- * @returns
1508
- * - EMBER_SUCCESS if the EUI64 was successfully set,
1509
- * - EMBER_ADDRESS_TABLE_ENTRY_IS_ACTIVE otherwise.
1510
- */
1511
- ezspSetAddressTableRemoteEui64(addressTableIndex: number, eui64: EmberEUI64): Promise<EmberStatus>;
1512
- /**
1513
- * Sets the short ID of an address table entry. Usually the application will not
1514
- * need to set the short ID in the address table. Once the remote EUI64 is set
1515
- * the stack is capable of figuring out the short ID on its own. However, in
1516
- * cases where the application does set the short ID, the application must set
1517
- * the remote EUI64 prior to setting the short ID.
1518
- * @param addressTableIndex uint8_t The index of an address table entry.
1519
- * @param id The short ID corresponding to the remote node whose EUI64 is stored in the address table at the given index
1520
- * or EMBER_TABLE_ENTRY_UNUSED_NODE_ID which indicates that the entry stored in the address table at the given index is not in use.
1521
- */
1522
- ezspSetAddressTableRemoteNodeId(addressTableIndex: number, id: EmberNodeId): Promise<void>;
1523
- /**
1524
- * Gets the EUI64 of an address table entry.
1525
- * @param addressTableIndex uint8_t The index of an address table entry.
1526
- * @returns The EUI64 of the address table entry is copied to this location.
1527
- */
1528
- ezspGetAddressTableRemoteEui64(addressTableIndex: number): Promise<EmberEUI64>;
1529
- /**
1530
- * Gets the short ID of an address table entry.
1531
- * @param addressTableIndex uint8_t The index of an address table entry.
1532
- * @returns One of the following: The short ID corresponding to the remote node
1533
- * whose EUI64 is stored in the address table at the given index.
1534
- * - EMBER_UNKNOWN_NODE_ID - Indicates that the EUI64 stored in the address table
1535
- * at the given index is valid but the short ID is currently unknown.
1536
- * - EMBER_DISCOVERY_ACTIVE_NODE_ID - Indicates that the EUI64 stored in the
1537
- * address table at the given location is valid and network address discovery is
1538
- * underway.
1539
- * - EMBER_TABLE_ENTRY_UNUSED_NODE_ID - Indicates that the entry stored
1540
- * in the address table at the given index is not in use.
1541
- */
1542
- ezspGetAddressTableRemoteNodeId(addressTableIndex: number): Promise<EmberNodeId>;
1543
- /**
1544
- * Tells the stack whether or not the normal interval between retransmissions of a retried unicast message should
1545
- * be increased by EMBER_INDIRECT_TRANSMISSION_TIMEOUT.
1546
- * The interval needs to be increased when sending to a sleepy node so that the message is not retransmitted until the destination
1547
- * has had time to wake up and poll its parent.
1548
- * The stack will automatically extend the timeout:
1549
- * - For our own sleepy children.
1550
- * - When an address response is received from a parent on behalf of its child.
1551
- * - When an indirect transaction expiry route error is received.
1552
- * - When an end device announcement is received from a sleepy node.
1553
- * @param remoteEui64 The address of the node for which the timeout is to be set.
1554
- * @param extendedTimeout true if the retry interval should be increased by EMBER_INDIRECT_TRANSMISSION_TIMEOUT.
1555
- * false if the normal retry interval should be used.
1556
- */
1557
- ezspSetExtendedTimeout(remoteEui64: EmberEUI64, extendedTimeout: boolean): Promise<void>;
1558
- /**
1559
- * Indicates whether or not the stack will extend the normal interval between
1560
- * retransmissions of a retried unicast message by
1561
- * EMBER_INDIRECT_TRANSMISSION_TIMEOUT.
1562
- * @param remoteEui64 The address of the node for which the timeout is to be returned.
1563
- * @returns true if the retry interval will be increased by EMBER_INDIRECT_TRANSMISSION_TIMEOUT
1564
- * and false if the normal retry interval will be used.
1565
- */
1566
- ezspGetExtendedTimeout(remoteEui64: EmberEUI64): Promise<boolean>;
1567
- /**
1568
- * Replaces the EUI64, short ID and extended timeout setting of an address table
1569
- * entry. The previous EUI64, short ID and extended timeout setting are
1570
- * returned.
1571
- * @param addressTableIndex uint8_t The index of the address table entry that will be modified.
1572
- * @param newEui64 The EUI64 to be written to the address table entry.
1573
- * @param newId One of the following: The short ID corresponding to the new EUI64.
1574
- * EMBER_UNKNOWN_NODE_ID if the new EUI64 is valid but the short ID is unknown and should be discovered by the stack.
1575
- * EMBER_TABLE_ENTRY_UNUSED_NODE_ID if the address table entry is now unused.
1576
- * @param newExtendedTimeout true if the retry interval should be increased by EMBER_INDIRECT_TRANSMISSION_TIMEOUT.
1577
- * false if the normal retry interval should be used.
1578
- * @returns EMBER_SUCCESS if the EUI64, short ID and extended timeout setting
1579
- * were successfully modified, and EMBER_ADDRESS_TABLE_ENTRY_IS_ACTIVE
1580
- * otherwise.
1581
- * @returns oldEui64 The EUI64 of the address table entry before it was modified.
1582
- * @returns oldId EmberNodeId * One of the following: The short ID corresponding to the EUI64 before it was modified.
1583
- * EMBER_UNKNOWN_NODE_ID if the short ID was unknown. EMBER_DISCOVERY_ACTIVE_NODE_ID if discovery of the short ID was underway.
1584
- * EMBER_TABLE_ENTRY_UNUSED_NODE_ID if the address table entry was unused.
1585
- * @returns oldExtendedTimeouttrue bool * if the retry interval was being increased by EMBER_INDIRECT_TRANSMISSION_TIMEOUT.
1586
- * false if the normal retry interval was being used.
1587
- */
1588
- ezspReplaceAddressTableEntry(addressTableIndex: number, newEui64: EmberEUI64, newId: EmberNodeId, newExtendedTimeout: boolean): Promise<[EmberStatus, oldEui64: EmberEUI64, oldId: EmberNodeId, oldExtendedTimeout: boolean]>;
1589
- /**
1590
- * Returns the node ID that corresponds to the specified EUI64. The node ID is
1591
- * found by searching through all stack tables for the specified EUI64.
1592
- * @param eui64 The EUI64 of the node to look up.
1593
- * @returns The short ID of the node or EMBER_NULL_NODE_ID if the short ID is not
1594
- * known.
1595
- */
1596
- ezspLookupNodeIdByEui64(eui64: EmberEUI64): Promise<EmberNodeId>;
1597
- /**
1598
- * Returns the EUI64 that corresponds to the specified node ID. The EUI64 is
1599
- * found by searching through all stack tables for the specified node ID.
1600
- * @param nodeId The short ID of the node to look up.
1601
- * @returns EMBER_SUCCESS if the EUI64 was found, EMBER_ERR_FATAL if the EUI64 is
1602
- * not known.
1603
- * @returns eui64 The EUI64 of the node.
1604
- */
1605
- ezspLookupEui64ByNodeId(nodeId: EmberNodeId): Promise<[EmberStatus, eui64: EmberEUI64]>;
1606
- /**
1607
- * Gets an entry from the multicast table.
1608
- * @param uint8_t The index of a multicast table entry.
1609
- * @returns An EmberStatus value indicating success or the reason for failure.
1610
- * @returns EmberMulticastTableEntry * The contents of the multicast entry.
1611
- */
1612
- ezspGetMulticastTableEntry(index: number): Promise<[EmberStatus, value: EmberMulticastTableEntry]>;
1613
- /**
1614
- * Sets an entry in the multicast table.
1615
- * @param index uint8_t The index of a multicast table entry
1616
- * @param EmberMulticastTableEntry * The contents of the multicast entry.
1617
- * @returns An EmberStatus value indicating success or the reason for failure.
1618
- */
1619
- ezspSetMulticastTableEntry(index: number, value: EmberMulticastTableEntry): Promise<EmberStatus>;
1620
- /**
1621
- * Callback
1622
- * A callback invoked by the EmberZNet stack when an id conflict is discovered,
1623
- * that is, two different nodes in the network were found to be using the same
1624
- * short id. The stack automatically removes the conflicting short id from its
1625
- * internal tables (address, binding, route, neighbor, and child tables). The
1626
- * application should discontinue any other use of the id.
1627
- * @param id The short id for which a conflict was detected
1628
- */
1629
- ezspIdConflictHandler(id: EmberNodeId): void;
1630
- /**
1631
- * Write the current node Id, PAN ID, or Node type to the tokens
1632
- * @param erase Erase the node type or not
1633
- * @returns An EmberStatus value indicating success or the reason for failure.
1634
- */
1635
- ezspWriteNodeData(erase: boolean): Promise<EmberStatus>;
1636
- /**
1637
- * Transmits the given message without modification. The MAC header is assumed
1638
- * to be configured in the message at the time this function is called.
1639
- * @param messageContents uint8_t * The raw message.
1640
- * @returns An EmberStatus value indicating success or the reason for failure.
1641
- */
1642
- ezspSendRawMessage(messageContents: Buffer): Promise<EmberStatus>;
1643
- /**
1644
- * Transmits the given message without modification. The MAC header is assumed
1645
- * to be configured in the message at the time this function is called.
1646
- * @param messageContents uint8_t * The raw message.
1647
- * @param priority uint8_t transmit priority.
1648
- * @param useCca Should we enable CCA or not.
1649
- * @returns An EmberStatus value indicating success or the reason for failure.
1650
- */
1651
- ezspSendRawMessageExtended(messageContents: Buffer, priority: number, useCca: boolean): Promise<EmberStatus>;
1652
- /**
1653
- * Callback
1654
- * A callback invoked by the EmberZNet stack when a MAC passthrough message is
1655
- * received.
1656
- * @param messageType The type of MAC passthrough message received.
1657
- * @param lastHopLqi uint8_t The link quality from the node that last relayed the message.
1658
- * @param lastHopRssi int8_t The energy level (in units of dBm) observed during reception.
1659
- * @param messageLength uint8_t The length of the messageContents parameter in bytes.
1660
- * @param messageContents uint8_t * The raw message that was received.
1661
- */
1662
- ezspMacPassthroughMessageHandler(messageType: EmberMacPassthroughType, lastHopLqi: number, lastHopRssi: number, messageContents: Buffer): void;
1663
- /**
1664
- * Callback
1665
- * A callback invoked by the EmberZNet stack when a raw MAC message that has
1666
- * matched one of the application's configured MAC filters.
1667
- * @param filterIndexMatch uint8_t The index of the filter that was matched.
1668
- * @param legacyPassthroughType The type of MAC passthrough message received.
1669
- * @param lastHopLqi uint8_t The link quality from the node that last relayed the message.
1670
- * @param lastHopRssi int8_t The energy level (in units of dBm) observed during reception.
1671
- * @param messageLength uint8_t The length of the messageContents parameter in bytes.
1672
- * @param messageContents uint8_t * The raw message that was received.
1673
- */
1674
- ezspMacFilterMatchMessageHandler(filterIndexMatch: number, legacyPassthroughType: EmberMacPassthroughType, lastHopLqi: number, lastHopRssi: number, messageContents: Buffer): void;
1675
- /**
1676
- * Callback
1677
- * A callback invoked by the EmberZNet stack when the MAC has finished
1678
- * transmitting a raw message.
1679
- * @param status EMBER_SUCCESS if the transmission was successful, or EMBER_DELIVERY_FAILED if not
1680
- */
1681
- ezspRawTransmitCompleteHandler(status: EmberStatus): void;
1682
- /**
1683
- * This function is useful to sleepy end devices. This function will set the
1684
- * retry interval (in milliseconds) for mac data poll. This interval is the time
1685
- * in milliseconds the device waits before retrying a data poll when a MAC level
1686
- * data poll fails for any reason.
1687
- * @param waitBeforeRetryIntervalMs uint32_t Time in milliseconds the device waits before retrying
1688
- * a data poll when a MAC level data poll fails for any reason.
1689
- */
1690
- ezspSetMacPollFailureWaitTime(waitBeforeRetryIntervalMs: number): Promise<void>;
1691
- /**
1692
- * Sets the priority masks and related variables for choosing the best beacon.
1693
- * @param param EmberBeaconClassificationParams * The beacon prioritization related variable
1694
- * @returns The attempt to set the pramaters returns EMBER_SUCCESS
1695
- */
1696
- ezspSetBeaconClassificationParams(param: EmberBeaconClassificationParams): Promise<EmberStatus>;
1697
- /**
1698
- * Gets the priority masks and related variables for choosing the best beacon.
1699
- * @returns The attempt to get the pramaters returns EMBER_SUCCESS
1700
- * @returns EmberBeaconClassificationParams * Gets the beacon prioritization related variable
1701
- */
1702
- ezspGetBeaconClassificationParams(): Promise<[EmberStatus, param: EmberBeaconClassificationParams]>;
1703
- /**
1704
- * Sets the security state that will be used by the device when it forms or
1705
- * joins the network. This call should not be used when restoring saved network
1706
- * state via networkInit as this will result in a loss of security data and will
1707
- * cause communication problems when the device re-enters the network.
1708
- * @param state EmberInitialSecurityState * The security configuration to be set.
1709
- * @returns The success or failure code of the operation.
1710
- */
1711
- ezspSetInitialSecurityState(state: EmberInitialSecurityState): Promise<EmberStatus>;
1712
- /**
1713
- * Gets the current security state that is being used by a device that is joined
1714
- * in the network.
1715
- * @returns The success or failure code of the operation.
1716
- * @returns EmberCurrentSecurityState * The security configuration in use by the stack.
1717
- */
1718
- ezspGetCurrentSecurityState(): Promise<[EmberStatus, state: EmberCurrentSecurityState]>;
1719
- /**
1720
- * Exports a key from security manager based on passed context.
1721
- * @param context sl_zb_sec_man_context_t * Metadata to identify the requested key.
1722
- * @returns sl_zb_sec_man_key_t * Data to store the exported key in.
1723
- * @returns sl_status_t * The success or failure code of the operation.
1724
- */
1725
- ezspExportKey(context: SecManContext): Promise<[key: SecManKey, status: SLStatus]>;
1726
- /**
1727
- * Imports a key into security manager based on passed context.
1728
- * @param context sl_zb_sec_man_context_t * Metadata to identify where the imported key should be stored.
1729
- * @param key sl_zb_sec_man_key_t * The key to be imported.
1730
- * @returns The success or failure code of the operation.
1731
- */
1732
- ezspImportKey(context: SecManContext, key: SecManKey): Promise<SLStatus>;
1733
- /**
1734
- * Callback
1735
- * A callback to inform the application that the Network Key has been updated
1736
- * and the node has been switched over to use the new key. The actual key being
1737
- * used is not passed up, but the sequence number is.
1738
- * @param sequenceNumber uint8_t The sequence number of the new network key.
1739
- */
1740
- ezspSwitchNetworkKeyHandler(sequenceNumber: number): void;
1741
- /**
1742
- * This function searches through the Key Table and tries to find the entry that
1743
- * matches the passed search criteria.
1744
- * @param address The address to search for. Alternatively, all zeros may be passed in to search for the first empty entry.
1745
- * @param linkKey This indicates whether to search for an entry that contains a link key or a master key.
1746
- * true means to search for an entry with a Link Key.
1747
- * @returns uint8_t This indicates the index of the entry that matches the search
1748
- * criteria. A value of 0xFF is returned if not matching entry is found.
1749
- */
1750
- ezspFindKeyTableEntry(address: EmberEUI64, linkKey: boolean): Promise<number>;
1751
- /**
1752
- * This function sends an APS TransportKey command containing the current trust
1753
- * center link key. The node to which the command is sent is specified via the
1754
- * short and long address arguments.
1755
- * @param destinationNodeId The short address of the node to which this command will be sent
1756
- * @param destinationEui64 The long address of the node to which this command will be sent
1757
- * @returns An EmberStatus value indicating success of failure of the operation
1758
- */
1759
- ezspSendTrustCenterLinkKey(destinationNodeId: EmberNodeId, destinationEui64: EmberEUI64): Promise<EmberStatus>;
1760
- /**
1761
- * This function erases the data in the key table entry at the specified index.
1762
- * If the index is invalid, false is returned.
1763
- * @param index uint8_t This indicates the index of entry to erase.
1764
- * @returns ::EMBER_SUCCESS if the index is valid and the key data was erased.
1765
- * ::EMBER_KEY_INVALID if the index is out of range for the size of the key table.
1766
- */
1767
- ezspEraseKeyTableEntry(index: number): Promise<EmberStatus>;
1768
- /**
1769
- * This function clears the key table of the current network.
1770
- * @returns ::EMBER_SUCCESS if the key table was successfully cleared.
1771
- * ::EMBER_INVALID_CALL otherwise.
1772
- */
1773
- ezspClearKeyTable(): Promise<EmberStatus>;
1774
- /**
1775
- * A function to request a Link Key from the Trust Center with another device on
1776
- * the Network (which could be the Trust Center). A Link Key with the Trust
1777
- * Center is possible but the requesting device cannot be the Trust Center. Link
1778
- * Keys are optional in ZigBee Standard Security and thus the stack cannot know
1779
- * whether the other device supports them. If EMBER_REQUEST_KEY_TIMEOUT is
1780
- * non-zero on the Trust Center and the partner device is not the Trust Center,
1781
- * both devices must request keys with their partner device within the time
1782
- * period. The Trust Center only supports one outstanding key request at a time
1783
- * and therefore will ignore other requests. If the timeout is zero then the
1784
- * Trust Center will immediately respond and not wait for the second request.
1785
- * The Trust Center will always immediately respond to requests for a Link Key
1786
- * with it. Sleepy devices should poll at a higher rate until a response is
1787
- * received or the request times out. The success or failure of the request is
1788
- * returned via ezspZigbeeKeyEstablishmentHandler(...)
1789
- * @param partner This is the IEEE address of the partner device that will share the link key.
1790
- * @returns The success or failure of sending the request.
1791
- * This is not the final result of the attempt. ezspZigbeeKeyEstablishmentHandler(...) will return that.
1792
- */
1793
- ezspRequestLinkKey(partner: EmberEUI64): Promise<EmberStatus>;
1794
- /**
1795
- * Requests a new link key from the Trust Center. This function starts by
1796
- * sending a Node Descriptor request to the Trust Center to verify its R21+
1797
- * stack version compliance. A Request Key message will then be sent, followed
1798
- * by a Verify Key Confirm message.
1799
- * @param maxAttempts uint8_t The maximum number of attempts a node should make when sending the Node Descriptor,
1800
- * Request Key, and Verify Key Confirm messages. The number of attempts resets for each message type sent
1801
- * (e.g., if maxAttempts is 3, up to 3 Node Descriptors are sent, up to 3 Request Keys, and up to 3 Verify Key Confirm messages are sent).
1802
- * @returns The success or failure of sending the request.
1803
- * If the Node Descriptor is successfully transmitted, ezspZigbeeKeyEstablishmentHandler(...)
1804
- * will be called at a later time with a final status result.
1805
- */
1806
- ezspUpdateTcLinkKey(maxAttempts: number): Promise<EmberStatus>;
1807
- /**
1808
- * Callback
1809
- * This is a callback that indicates the success or failure of an attempt to establish a key with a partner device.
1810
- * @param partner This is the IEEE address of the partner that the device successfully established a key with.
1811
- * This value is all zeros on a failure.
1812
- * @param status This is the status indicating what was established or why the key establishment failed.
1813
- */
1814
- ezspZigbeeKeyEstablishmentHandler(partner: EmberEUI64, status: EmberKeyStatus): void;
1815
- /**
1816
- * Clear all of the transient link keys from RAM.
1817
- */
1818
- ezspClearTransientLinkKeys(): Promise<void>;
1819
- /**
1820
- * Retrieve information about the current and alternate network key, excluding their contents.
1821
- * @returns Success or failure of retrieving network key info.
1822
- * @returns sl_zb_sec_man_network_key_info_t * Information about current and alternate network keys.
1823
- */
1824
- ezspGetNetworkKeyInfo(): Promise<[SLStatus, networkKeyInfo: SecManNetworkKeyInfo]>;
1825
- /**
1826
- * Retrieve metadata about an APS link key. Does not retrieve contents.
1827
- * @param context_in sl_zb_sec_man_context_t * Context used to input information about key.
1828
- * @returns EUI64 associated with this APS link key
1829
- * @returns sl_zb_sec_man_aps_key_metadata_t * Metadata about the referenced key.
1830
- * @returns sl_status_t * Status of metadata retrieval operation.
1831
- */
1832
- ezspGetApsKeyInfo(context_in: SecManContext): Promise<[eui: EmberEUI64, key_data: SecManAPSKeyMetadata, status: SLStatus]>;
1833
- /**
1834
- * Import an application link key into the key table.
1835
- * @param index uint8_t Index where this key is to be imported to.
1836
- * @param address EUI64 this key is associated with.
1837
- * @param plaintextKey sl_zb_sec_man_key_t * The key data to be imported.
1838
- * @returns Status of key import operation.
1839
- */
1840
- ezspImportLinkKey(index: number, address: EmberEUI64, plaintextKey: SecManKey): Promise<SLStatus>;
1841
- /**
1842
- * Export the link key at given index from the key table.
1843
- * @param uint8_t Index of key to export.
1844
- * @returns EUI64 associated with the exported key.
1845
- * @returns sl_zb_sec_man_key_t * The exported key.
1846
- * @returns sl_zb_sec_man_aps_key_metadata_t * Metadata about the key.
1847
- * @returns sl_status_t * Status of key export operation.
1848
- */
1849
- ezspExportLinkKeyByIndex(index: number): Promise<[eui: EmberEUI64, plaintextKey: SecManKey, keyData: SecManAPSKeyMetadata, status: SLStatus]>;
1850
- /**
1851
- * Export the link key associated with the given EUI from the key table.
1852
- * @param eui EUI64 associated with the key to export.
1853
- * @returns sl_zb_sec_man_key_t * The exported key.
1854
- * @returns uint8_t * Key index of the exported key.
1855
- * @returns sl_zb_sec_man_aps_key_metadata_t * Metadata about the key.
1856
- * @returns sl_status_t * Status of key export operation.
1857
- */
1858
- ezspExportLinkKeyByEui(eui: EmberEUI64): Promise<[plaintextKey: SecManKey, index: number, keyData: SecManAPSKeyMetadata, status: SLStatus]>;
1859
- /**
1860
- * Check whether a key context can be used to load a valid key.
1861
- * @param context sl_zb_sec_man_context_t * Context struct to check the validity of.
1862
- * @returns Validity of the checked context.
1863
- */
1864
- ezspCheckKeyContext(context: SecManContext): Promise<SLStatus>;
1865
- /**
1866
- * Import a transient link key.
1867
- * @param eui64 EUI64 associated with this transient key.
1868
- * @param plaintextKey sl_zb_sec_man_key_t * The key to import.
1869
- * @param sl_zigbee_sec_man_flags_t Flags associated with this transient key.
1870
- * @returns Status of key import operation.
1871
- */
1872
- ezspImportTransientKey(eui64: EmberEUI64, plaintextKey: SecManKey, flags: SecManFlag): Promise<SLStatus>;
1873
- /**
1874
- * Export a transient link key from a given table index.
1875
- * @param uint8_t Index to export from.
1876
- * @returns sl_zb_sec_man_context_t * Context struct for export operation.
1877
- * @returns sl_zb_sec_man_key_t * The exported key.
1878
- * @returns sl_zb_sec_man_aps_key_metadata_t * Metadata about the key.
1879
- * @returns sl_status_t * Status of key export operation.
1880
- */
1881
- ezspExportTransientKeyByIndex(index: number): Promise<[context: SecManContext, plaintextKey: SecManKey, key_data: SecManAPSKeyMetadata, status: SLStatus]>;
1882
- /**
1883
- * Export a transient link key associated with a given EUI64
1884
- * @param eui Index to export from.
1885
- * @returns sl_zb_sec_man_context_t * Context struct for export operation.
1886
- * @returns sl_zb_sec_man_key_t * The exported key.
1887
- * @returns sl_zb_sec_man_aps_key_metadata_t * Metadata about the key.
1888
- * @returns sl_status_t * Status of key export operation.
1889
- */
1890
- ezspExportTransientKeyByEui(eui: EmberEUI64): Promise<[context: SecManContext, plaintextKey: SecManKey, key_data: SecManAPSKeyMetadata, status: SLStatus]>;
1891
- /**
1892
- * Callback
1893
- * The NCP used the trust center behavior policy to decide whether to allow a
1894
- * new node to join the network. The Host cannot change the current decision,
1895
- * but it can change the policy for future decisions using the setPolicy
1896
- * command.
1897
- * @param newNodeId The Node Id of the node whose status changed
1898
- * @param newNodeEui64 The EUI64 of the node whose status changed.
1899
- * @param status The status of the node: Secure Join/Rejoin, Unsecure Join/Rejoin, Device left.
1900
- * @param policyDecision An EmberJoinDecision reflecting the decision made.
1901
- * @param parentOfNewNodeId The parent of the node whose status has changed.
1902
- */
1903
- ezspTrustCenterJoinHandler(newNodeId: EmberNodeId, newNodeEui64: EmberEUI64, status: EmberDeviceUpdate, policyDecision: EmberJoinDecision, parentOfNewNodeId: EmberNodeId): void;
1904
- /**
1905
- * This function broadcasts a new encryption key, but does not tell the nodes in
1906
- * the network to start using it. To tell nodes to switch to the new key, use
1907
- * ezspBroadcastNetworkKeySwitch(). This is only valid for the Trust
1908
- * Center/Coordinator. It is up to the application to determine how quickly to
1909
- * send the Switch Key after sending the alternate encryption key.
1910
- * @param key EmberKeyData * An optional pointer to a 16-byte encryption key (EMBER_ENCRYPTION_KEY_SIZE).
1911
- * An all zero key may be passed in, which will cause the stack to randomly generate a new key.
1912
- * @returns EmberStatus value that indicates the success or failure of the command.
1913
- */
1914
- ezspBroadcastNextNetworkKey(key: EmberKeyData): Promise<EmberStatus>;
1915
- /**
1916
- * This function broadcasts a switch key message to tell all nodes to change to
1917
- * the sequence number of the previously sent Alternate Encryption Key.
1918
- * @returns EmberStatus value that indicates the success or failure of the
1919
- * command.
1920
- */
1921
- ezspBroadcastNetworkKeySwitch(): Promise<EmberStatus>;
1922
- /**
1923
- * This routine processes the passed chunk of data and updates the hash context
1924
- * based on it. If the 'finalize' parameter is not set, then the length of the
1925
- * data passed in must be a multiple of 16. If the 'finalize' parameter is set
1926
- * then the length can be any value up 1-16, and the final hash value will be
1927
- * calculated.
1928
- * @param context EmberAesMmoHashContext * The hash context to update.
1929
- * @param finalize This indicates whether the final hash value should be calculated
1930
- * @param data uint8_t * The data to hash.
1931
- * @returns The result of the operation
1932
- * @returns EmberAesMmoHashContext * The updated hash context.
1933
- */
1934
- ezspAesMmoHash(context: EmberAesMmoHashContext, finalize: boolean, data: Buffer): Promise<[EmberStatus, returnContext: EmberAesMmoHashContext]>;
1935
- /**
1936
- * This command sends an APS remove device using APS encryption to the
1937
- * destination indicating either to remove itself from the network, or one of
1938
- * its children.
1939
- * @param destShort The node ID of the device that will receive the message
1940
- * @param destLong The long address (EUI64) of the device that will receive the message.
1941
- * @param targetLong The long address (EUI64) of the device to be removed.
1942
- * @returns An EmberStatus value indicating success, or the reason for failure
1943
- */
1944
- ezspRemoveDevice(destShort: EmberNodeId, destLong: EmberEUI64, targetLong: EmberEUI64): Promise<EmberStatus>;
1945
- /**
1946
- * This command will send a unicast transport key message with a new NWK key to
1947
- * the specified device. APS encryption using the device's existing link key
1948
- * will be used.
1949
- * @param destShort The node ID of the device that will receive the message
1950
- * @param destLong The long address (EUI64) of the device that will receive the message.
1951
- * @param key EmberKeyData * The NWK key to send to the new device.
1952
- * @returns An EmberStatus value indicating success, or the reason for failure
1953
- */
1954
- ezspUnicastNwkKeyUpdate(destShort: EmberNodeId, destLong: EmberEUI64, key: EmberKeyData): Promise<EmberStatus>;
1955
- /**
1956
- * This call starts the generation of the ECC Ephemeral Public/Private key pair.
1957
- * When complete it stores the private key. The results are returned via
1958
- * ezspGenerateCbkeKeysHandler().
1959
- */
1960
- ezspGenerateCbkeKeys(): Promise<EmberStatus>;
1961
- /**
1962
- * Callback
1963
- * A callback by the Crypto Engine indicating that a new ephemeral
1964
- * public/private key pair has been generated. The public/private key pair is
1965
- * stored on the NCP, but only the associated public key is returned to the
1966
- * host. The node's associated certificate is also returned.
1967
- * @param status The result of the CBKE operation.
1968
- * @param ephemeralPublicKey EmberPublicKeyData * The generated ephemeral public key.
1969
- */
1970
- ezspGenerateCbkeKeysHandler(status: EmberStatus, ephemeralPublicKey: EmberPublicKeyData): void;
1971
- /**
1972
- * Calculates the SMAC verification keys for both the initiator and responder
1973
- * roles of CBKE using the passed parameters and the stored public/private key
1974
- * pair previously generated with ezspGenerateKeysRetrieveCert(). It also stores
1975
- * the unverified link key data in temporary storage on the NCP until the key
1976
- * establishment is complete.
1977
- * @param amInitiator The role of this device in the Key Establishment protocol.
1978
- * @param partnerCertificate EmberCertificateData * The key establishment partner's implicit certificate.
1979
- * @param partnerEphemeralPublicKey EmberPublicKeyData * The key establishment partner's ephemeral public key
1980
- */
1981
- ezspCalculateSmacs(amInitiator: boolean, partnerCertificate: EmberCertificateData, partnerEphemeralPublicKey: EmberPublicKeyData): Promise<EmberStatus>;
1982
- /**
1983
- * Callback
1984
- * A callback to indicate that the NCP has finished calculating the Secure
1985
- * Message Authentication Codes (SMAC) for both the initiator and responder. The
1986
- * associated link key is kept in temporary storage until the host tells the NCP
1987
- * to store or discard the key via emberClearTemporaryDataMaybeStoreLinkKey().
1988
- * @param status The Result of the CBKE operation.
1989
- * @param initiatorSmac EmberSmacData * The calculated value of the initiator's SMAC
1990
- * @param responderSmac EmberSmacData * The calculated value of the responder's SMAC
1991
- */
1992
- ezspCalculateSmacsHandler(status: EmberStatus, initiatorSmac: EmberSmacData, responderSmac: EmberSmacData): void;
1993
- /**
1994
- * This call starts the generation of the ECC 283k1 curve Ephemeral
1995
- * Public/Private key pair. When complete it stores the private key. The results
1996
- * are returned via ezspGenerateCbkeKeysHandler283k1().
1997
- */
1998
- ezspGenerateCbkeKeys283k1(): Promise<EmberStatus>;
1999
- /**
2000
- * Callback
2001
- * A callback by the Crypto Engine indicating that a new 283k1 ephemeral
2002
- * public/private key pair has been generated. The public/private key pair is
2003
- * stored on the NCP, but only the associated public key is returned to the
2004
- * host. The node's associated certificate is also returned.
2005
- * @param status The result of the CBKE operation.
2006
- * @param ephemeralPublicKey EmberPublicKey283k1Data * The generated ephemeral public key.
2007
- */
2008
- ezspGenerateCbkeKeysHandler283k1(status: EmberStatus, ephemeralPublicKey: EmberPublicKey283k1Data): void;
2009
- /**
2010
- * Calculates the SMAC verification keys for both the initiator and responder
2011
- * roles of CBKE for the 283k1 ECC curve using the passed parameters and the
2012
- * stored public/private key pair previously generated with
2013
- * ezspGenerateKeysRetrieveCert283k1(). It also stores the unverified link key
2014
- * data in temporary storage on the NCP until the key establishment is complete.
2015
- * @param amInitiator The role of this device in the Key Establishment protocol.
2016
- * @param partnerCertificate EmberCertificate283k1Data * The key establishment partner's implicit certificate.
2017
- * @param partnerEphemeralPublicKey EmberPublicKey283k1Data * The key establishment partner's ephemeral public key
2018
- */
2019
- ezspCalculateSmacs283k1(amInitiator: boolean, partnerCertificate: EmberCertificate283k1Data, partnerEphemeralPublicKey: EmberPublicKey283k1Data): Promise<EmberStatus>;
2020
- /**
2021
- * Callback
2022
- * A callback to indicate that the NCP has finished calculating the Secure
2023
- * Message Authentication Codes (SMAC) for both the initiator and responder for
2024
- * the CBKE 283k1 Library. The associated link key is kept in temporary storage
2025
- * until the host tells the NCP to store or discard the key via
2026
- * emberClearTemporaryDataMaybeStoreLinkKey().
2027
- * @param status The Result of the CBKE operation.
2028
- * @param initiatorSmac EmberSmacData * The calculated value of the initiator's SMAC
2029
- * @param responderSmac EmberSmacData * The calculated value of the responder's SMAC
2030
- */
2031
- ezspCalculateSmacsHandler283k1(status: EmberStatus, initiatorSmac: EmberSmacData, responderSmac: EmberSmacData): void;
2032
- /**
2033
- * Clears the temporary data associated with CBKE and the key establishment,
2034
- * most notably the ephemeral public/private key pair. If storeLinKey is true it
2035
- * moves the unverified link key stored in temporary storage into the link key
2036
- * table. Otherwise it discards the key.
2037
- * @param storeLinkKey A bool indicating whether to store (true) or discard (false) the unverified link
2038
- * key derived when ezspCalculateSmacs() was previously called.
2039
- */
2040
- ezspClearTemporaryDataMaybeStoreLinkKey(storeLinkKey: boolean): Promise<EmberStatus>;
2041
- /**
2042
- * Clears the temporary data associated with CBKE and the key establishment,
2043
- * most notably the ephemeral public/private key pair. If storeLinKey is true it
2044
- * moves the unverified link key stored in temporary storage into the link key
2045
- * table. Otherwise it discards the key.
2046
- * @param storeLinkKey A bool indicating whether to store (true) or discard (false) the unverified link
2047
- * key derived when ezspCalculateSmacs() was previously called.
2048
- */
2049
- ezspClearTemporaryDataMaybeStoreLinkKey283k1(storeLinkKey: boolean): Promise<EmberStatus>;
2050
- /**
2051
- * Retrieves the certificate installed on the NCP.
2052
- * @returns EmberCertificateData * The locally installed certificate.
2053
- */
2054
- ezspGetCertificate(): Promise<[EmberStatus, localCert: EmberCertificateData]>;
2055
- /**
2056
- * Retrieves the 283k certificate installed on the NCP.
2057
- * @returns EmberCertificate283k1Data * The locally installed certificate.
2058
- */
2059
- ezspGetCertificate283k1(): Promise<[EmberStatus, localCert: EmberCertificate283k1Data]>;
2060
- /**
2061
- * LEGACY FUNCTION: This functionality has been replaced by a single bit in the
2062
- * EmberApsFrame, EMBER_APS_OPTION_DSA_SIGN. Devices wishing to send signed
2063
- * messages should use that as it requires fewer function calls and message
2064
- * buffering. The dsaSignHandler response is still called when
2065
- * EMBER_APS_OPTION_DSA_SIGN is used. However, this function is still supported.
2066
- * This function begins the process of signing the passed message contained
2067
- * within the messageContents array. If no other ECC operation is going on, it
2068
- * will immediately return with EMBER_OPERATION_IN_PROGRESS to indicate the
2069
- * start of ECC operation. It will delay a period of time to let APS retries
2070
- * take place, but then it will shut down the radio and consume the CPU
2071
- * processing until the signing is complete. This may take up to 1 second. The
2072
- * signed message will be returned in the dsaSignHandler response. Note that the
2073
- * last byte of the messageContents passed to this function has special
2074
- * significance. As the typical use case for DSA signing is to sign the ZCL
2075
- * payload of a DRLC Report Event Status message in SE 1.0, there is often both
2076
- * a signed portion (ZCL payload) and an unsigned portion (ZCL header). The last
2077
- * byte in the content of messageToSign is therefore used as a special indicator
2078
- * to signify how many bytes of leading data in the array should be excluded
2079
- * from consideration during the signing process. If the signature needs to
2080
- * cover the entire array (all bytes except last one), the caller should ensure
2081
- * that the last byte of messageContents is 0x00. When the signature operation
2082
- * is complete, this final byte will be replaced by the signature type indicator
2083
- * (0x01 for ECDSA signatures), and the actual signature will be appended to the
2084
- * original contents after this byte.
2085
- * @param messageLength uint8_t The length of the messageContents parameter in bytes.
2086
- * @param messageContents uint8_t * The message contents for which to create a signature.
2087
- * Per above notes, this may include a leading portion of data not included in the signature,
2088
- * in which case the last byte of this array should be set to the index of the first byte
2089
- * to be considered for signing. Otherwise, the last byte of messageContents should be 0x00
2090
- * to indicate that a signature should occur across the entire contents.
2091
- * @returns EMBER_OPERATION_IN_PROGRESS if the stack has queued up the operation
2092
- * for execution. EMBER_INVALID_CALL if the operation can't be performed in this
2093
- * context, possibly because another ECC operation is pending.
2094
- */
2095
- ezspDsaSign(messageContents: Buffer): Promise<EmberStatus>;
2096
- /**
2097
- * Callback
2098
- * The handler that returns the results of the signing operation. On success,
2099
- * the signature will be appended to the original message (including the
2100
- * signature type indicator that replaced the startIndex field for the signing)
2101
- * and both are returned via this callback.
2102
- * @param status The result of the DSA signing operation.
2103
- * @param messageLength uint8_t The length of the messageContents parameter in bytes.
2104
- * @param messageContents uint8_t *The message and attached which includes the original message and the appended signature.
2105
- */
2106
- ezspDsaSignHandler(status: EmberStatus, messageContents: Buffer): void;
2107
- /**
2108
- * Verify that signature of the associated message digest was signed by the
2109
- * private key of the associated certificate.
2110
- * @param digest EmberMessageDigest * The AES-MMO message digest of the signed data.
2111
- * If dsaSign command was used to generate the signature for this data, the final byte (replaced by signature type of 0x01)
2112
- * in the messageContents array passed to dsaSign is included in the hash context used for the digest calculation.
2113
- * @param signerCertificate EmberCertificateData * The certificate of the signer. Note that the signer's certificate and the verifier's
2114
- * certificate must both be issued by the same Certificate Authority, so they should share the same CA Public Key.
2115
- * @param receivedSig EmberSignatureData * The signature of the signed data.
2116
- */
2117
- ezspDsaVerify(digest: EmberMessageDigest, signerCertificate: EmberCertificateData, receivedSig: EmberSignatureData): Promise<EmberStatus>;
2118
- /**
2119
- * Callback
2120
- * This callback is executed by the stack when the DSA verification has
2121
- * completed and has a result. If the result is EMBER_SUCCESS, the signature is
2122
- * valid. If the result is EMBER_SIGNATURE_VERIFY_FAILURE then the signature is
2123
- * invalid. If the result is anything else then the signature verify operation
2124
- * failed and the validity is unknown.
2125
- * @param status The result of the DSA verification operation.
2126
- */
2127
- ezspDsaVerifyHandler(status: EmberStatus): void;
2128
- /**
2129
- * Verify that signature of the associated message digest was signed by the
2130
- * private key of the associated certificate.
2131
- * @param digest EmberMessageDigest * The AES-MMO message digest of the signed data.
2132
- * If dsaSign command was used to generate the signature for this data, the final byte (replaced by signature type of 0x01)
2133
- * in the messageContents array passed to dsaSign is included in the hash context used for the digest calculation.
2134
- * @param signerCertificate EmberCertificate283k1Data * The certificate of the signer. Note that the signer's certificate and the verifier's
2135
- * certificate must both be issued by the same Certificate Authority, so they should share the same CA Public Key.
2136
- * @param receivedSig EmberSignature283k1Data * The signature of the signed data.
2137
- */
2138
- ezspDsaVerify283k1(digest: EmberMessageDigest, signerCertificate: EmberCertificate283k1Data, receivedSig: EmberSignature283k1Data): Promise<EmberStatus>;
2139
- /**
2140
- * Sets the device's CA public key, local certificate, and static private key on
2141
- * the NCP associated with this node.
2142
- * @param caPublic EmberPublicKeyData * The Certificate Authority's public key.
2143
- * @param myCert EmberCertificateData * The node's new certificate signed by the CA.
2144
- * @param myKey EmberPrivateKeyData *The node's new static private key.
2145
- */
2146
- ezspSetPreinstalledCbkeData(caPublic: EmberPublicKeyData, myCert: EmberCertificateData, myKey: EmberPrivateKeyData): Promise<EmberStatus>;
2147
- /**
2148
- * Sets the device's 283k1 curve CA public key, local certificate, and static
2149
- * private key on the NCP associated with this node.
2150
- * @returns Status of operation
2151
- */
2152
- ezspSavePreinstalledCbkeData283k1(): Promise<EmberStatus>;
2153
- /**
2154
- * Activate use of mfglib test routines and enables the radio receiver to report
2155
- * packets it receives to the mfgLibRxHandler() callback. These packets will not
2156
- * be passed up with a CRC failure. All other mfglib functions will return an
2157
- * error until the mfglibStart() has been called
2158
- * @param rxCallback true to generate a mfglibRxHandler callback when a packet is received.
2159
- * @returns An EmberStatus value indicating success or the reason for failure.
2160
- */
2161
- ezspMfglibStart(rxCallback: boolean): Promise<EmberStatus>;
2162
- /**
2163
- * Deactivate use of mfglib test routines; restores the hardware to the state it
2164
- * was in prior to mfglibStart() and stops receiving packets started by
2165
- * mfglibStart() at the same time.
2166
- * @returns An EmberStatus value indicating success or the reason for failure.
2167
- */
2168
- mfglibEnd(): Promise<EmberStatus>;
2169
- /**
2170
- * Starts transmitting an unmodulated tone on the currently set channel and
2171
- * power level. Upon successful return, the tone will be transmitting. To stop
2172
- * transmitting tone, application must call mfglibStopTone(), allowing it the
2173
- * flexibility to determine its own criteria for tone duration (time, event,
2174
- * etc.)
2175
- * @returns An EmberStatus value indicating success or the reason for failure.
2176
- */
2177
- mfglibStartTone(): Promise<EmberStatus>;
2178
- /**
2179
- * Stops transmitting tone started by mfglibStartTone().
2180
- * @returns An EmberStatus value indicating success or the reason for failure.
2181
- */
2182
- mfglibStopTone(): Promise<EmberStatus>;
2183
- /**
2184
- * Starts transmitting a random stream of characters. This is so that the radio
2185
- * modulation can be measured.
2186
- * @returns An EmberStatus value indicating success or the reason for failure.
2187
- */
2188
- mfglibStartStream(): Promise<EmberStatus>;
2189
- /**
2190
- * Stops transmitting a random stream of characters started by
2191
- * mfglibStartStream().
2192
- * @returns An EmberStatus value indicating success or the reason for failure.
2193
- */
2194
- mfglibStopStream(): Promise<EmberStatus>;
2195
- /**
2196
- * Sends a single packet consisting of the following bytes: packetLength,
2197
- * packetContents[0], ... , packetContents[packetLength - 3], CRC[0], CRC[1].
2198
- * The total number of bytes sent is packetLength + 1. The radio replaces the
2199
- * last two bytes of packetContents[] with the 16-bit CRC for the packet.
2200
- * @param packetLength uint8_t The length of the packetContents parameter in bytes. Must be greater than 3 and less than 123.
2201
- * @param packetContents uint8_t * The packet to send. The last two bytes will be replaced with the 16-bit CRC.
2202
- * @returns An EmberStatus value indicating success or the reason for failure.
2203
- */
2204
- mfglibSendPacket(packetContents: Buffer): Promise<EmberStatus>;
2205
- /**
2206
- * Sets the radio channel. Calibration occurs if this is the first time the
2207
- * channel has been used.
2208
- * @param channel uint8_t The channel to switch to. Valid values are 11 - 26.
2209
- * @returns An EmberStatus value indicating success or the reason for failure.
2210
- */
2211
- mfglibSetChannel(channel: number): Promise<EmberStatus>;
2212
- /**
2213
- * Returns the current radio channel, as previously set via mfglibSetChannel().
2214
- * @returns uint8_t The current channel.
2215
- */
2216
- mfglibGetChannel(): Promise<number>;
2217
- /**
2218
- * First select the transmit power mode, and then include a method for selecting
2219
- * the radio transmit power. The valid power settings depend upon the specific
2220
- * radio in use. Ember radios have discrete power settings, and then requested
2221
- * power is rounded to a valid power setting; the actual power output is
2222
- * available to the caller via mfglibGetPower().
2223
- * @param txPowerMode uint16_t Power mode. Refer to txPowerModes in stack/include/ember-types.h for possible values.
2224
- * @param power int8_t Power in units of dBm. Refer to radio data sheet for valid range.
2225
- * @returns An EmberStatus value indicating success or the reason for failure.
2226
- */
2227
- mfglibSetPower(txPowerMode: EmberTXPowerMode, power: number): Promise<EmberStatus>;
2228
- /**
2229
- * Returns the current radio power setting, as previously set via mfglibSetPower().
2230
- * @returns int8_t Power in units of dBm. Refer to radio data sheet for valid range.
2231
- */
2232
- mfglibGetPower(): Promise<number>;
2233
- /**
2234
- * Callback
2235
- * A callback indicating a packet with a valid CRC has been received.
2236
- * @param linkQuality uint8_t The link quality observed during the reception
2237
- * @param rssi int8_t The energy level (in units of dBm) observed during the reception.
2238
- * @param packetLength uint8_t The length of the packetContents parameter in bytes. Will be greater than 3 and less than 123.
2239
- * @param packetContents uint8_t * The received packet (last 2 bytes are not FCS / CRC and may be discarded)
2240
- */
2241
- ezspMfglibRxHandler(linkQuality: number, rssi: number, packetLength: number, packetContents: number[]): void;
2242
- /**
2243
- * Quits the current application and launches the standalone bootloader (if
2244
- * installed) The function returns an error if the standalone bootloader is not
2245
- * present
2246
- * @param mode uint8_t Controls the mode in which the standalone bootloader will run. See the app. note for full details.
2247
- * Options are: STANDALONE_BOOTLOADER_NORMAL_MODE: Will listen for an over-the-air image transfer on the current
2248
- * channel with current power settings. STANDALONE_BOOTLOADER_RECOVERY_MODE: Will listen for an over-the-air image
2249
- * transfer on the default channel with default power settings. Both modes also allow an image transfer to begin
2250
- * with XMODEM over the serial protocol's Bootloader Frame.
2251
- * @returns An EmberStatus value indicating success or the reason for failure.
2252
- */
2253
- ezspLaunchStandaloneBootloader(mode: number): Promise<EmberStatus>;
2254
- /**
2255
- * Transmits the given bootload message to a neighboring node using a specific
2256
- * 802.15.4 header that allows the EmberZNet stack as well as the bootloader to
2257
- * recognize the message, but will not interfere with other ZigBee stacks.
2258
- * @param broadcast If true, the destination address and pan id are both set to the broadcast address.
2259
- * @param destEui64 The EUI64 of the target node. Ignored if the broadcast field is set to true.
2260
- * @param messageLength uint8_t The length of the messageContents parameter in bytes.
2261
- * @param messageContents uint8_t * The multicast message.
2262
- * @returns An EmberStatus value indicating success or the reason for failure.
2263
- */
2264
- ezspSendBootloadMessage(broadcast: boolean, destEui64: EmberEUI64, messageContents: Buffer): Promise<EmberStatus>;
2265
- /**
2266
- * Detects if the standalone bootloader is installed, and if so returns the
2267
- * installed version. If not return 0xffff. A returned version of 0x1234 would
2268
- * indicate version 1.2 build 34. Also return the node's version of PLAT, MICRO
2269
- * and PHY.
2270
- * @returns uint16_t BOOTLOADER_INVALID_VERSION if the standalone bootloader is not present,
2271
- * or the version of the installed standalone bootloader.
2272
- * @returns uint8_t * The value of PLAT on the node
2273
- * @returns uint8_t * The value of MICRO on the node
2274
- * @returns uint8_t * The value of PHY on the node
2275
- */
2276
- ezspGetStandaloneBootloaderVersionPlatMicroPhy(): Promise<[number, nodePlat: number, nodeMicro: number, nodePhy: number]>;
2277
- /**
2278
- * Callback
2279
- * A callback invoked by the EmberZNet stack when a bootload message is
2280
- * received.
2281
- * @param longId The EUI64 of the sending node.
2282
- * @param lastHopLqi uint8_t The link quality from the node that last relayed the message.
2283
- * @param lastHopRssi int8_t The energy level (in units of dBm) observed during the reception.
2284
- * @param messageLength uint8_t The length of the messageContents parameter in bytes.
2285
- * @param messageContents uint8_t *The bootload message that was sent.
2286
- */
2287
- ezspIncomingBootloadMessageHandler(longId: EmberEUI64, lastHopLqi: number, lastHopRssi: number, messageContents: Buffer): void;
2288
- /**
2289
- * Callback
2290
- * A callback invoked by the EmberZNet stack when the MAC has finished
2291
- * transmitting a bootload message.
2292
- * @param status An EmberStatus value of EMBER_SUCCESS if an ACK was received from the destination
2293
- * or EMBER_DELIVERY_FAILED if no ACK was received.
2294
- * @param messageLength uint8_t The length of the messageContents parameter in bytes.
2295
- * @param messageContents uint8_t * The message that was sent.
2296
- */
2297
- ezspBootloadTransmitCompleteHandler(status: EmberStatus, messageContents: Buffer): void;
2298
- /**
2299
- * Perform AES encryption on plaintext using key.
2300
- * @param uint8_t * 16 bytes of plaintext.
2301
- * @param uint8_t * The 16-byte encryption key to use.
2302
- * @returns uint8_t * 16 bytes of ciphertext.
2303
- */
2304
- ezspAesEncrypt(plaintext: number[], key: number[]): Promise<number[]>;
2305
- /**
2306
- * A consolidation of ZLL network operations with similar signatures;
2307
- * specifically, forming and joining networks or touch-linking.
2308
- * @param networkInfo EmberZllNetwork * Information about the network.
2309
- * @param op Operation indicator.
2310
- * @param radioTxPower int8_t Radio transmission power.
2311
- * @returns An EmberStatus value indicating success or the reason for failure.
2312
- */
2313
- ezspZllNetworkOps(networkInfo: EmberZllNetwork, op: EzspZllNetworkOperation, radioTxPower: number): Promise<EmberStatus>;
2314
- /**
2315
- * This call will cause the device to setup the security information used in its
2316
- * network. It must be called prior to forming, starting, or joining a network.
2317
- * @param networkKey EmberKeyData * ZLL Network key.
2318
- * @param securityState EmberZllInitialSecurityState * Initial security state of the network.
2319
- * @returns An EmberStatus value indicating success or the reason for failure.
2320
- */
2321
- ezspZllSetInitialSecurityState(networkKey: EmberKeyData, securityState: EmberZllInitialSecurityState): Promise<EmberStatus>;
2322
- /**
2323
- * This call will update ZLL security token information. Unlike
2324
- * emberZllSetInitialSecurityState, this can be called while a network is
2325
- * already established.
2326
- * @param securityState EmberZllInitialSecurityState * Security state of the network.
2327
- * @returns An EmberStatus value indicating success or the reason for failure.
2328
- */
2329
- ezspZllSetSecurityStateWithoutKey(securityState: EmberZllInitialSecurityState): Promise<EmberStatus>;
2330
- /**
2331
- * This call will initiate a ZLL network scan on all the specified channels.
2332
- * @param channelMask uint32_t The range of channels to scan.
2333
- * @param radioPowerForScan int8_t The radio output power used for the scan requests.
2334
- * @param nodeType The node type of the local device.
2335
- * @returns An EmberStatus value indicating success or the reason for failure.
2336
- */
2337
- ezspZllStartScan(channelMask: number, radioPowerForScan: number, nodeType: EmberNodeType): Promise<EmberStatus>;
2338
- /**
2339
- * This call will change the mode of the radio so that the receiver is on for a
2340
- * specified amount of time when the device is idle.
2341
- * @param durationMs uint32_t The duration in milliseconds to leave the radio on.
2342
- * @returns An EmberStatus value indicating success or the reason for failure.
2343
- */
2344
- ezspZllSetRxOnWhenIdle(durationMs: number): Promise<EmberStatus>;
2345
- /**
2346
- * Callback
2347
- * This call is fired when a ZLL network scan finds a ZLL network.
2348
- * @param networkInfo EmberZllNetwork * Information about the network.
2349
- * @param isDeviceInfoNull Used to interpret deviceInfo field.
2350
- * @param deviceInfo EmberZllDeviceInfoRecord * Device specific information.
2351
- * @param lastHopLqi uint8_t The link quality from the node that last relayed the message.
2352
- * @param lastHopRssi int8_t The energy level (in units of dBm) observed during reception.
2353
- */
2354
- ezspZllNetworkFoundHandler(networkInfo: EmberZllNetwork, isDeviceInfoNull: boolean, deviceInfo: EmberZllDeviceInfoRecord, lastHopLqi: number, lastHopRssi: number): void;
2355
- /**
2356
- * Callback
2357
- * This call is fired when a ZLL network scan is complete.
2358
- * @param status Status of the operation.
2359
- */
2360
- ezspZllScanCompleteHandler(status: EmberStatus): void;
2361
- /**
2362
- * Callback
2363
- * This call is fired when network and group addresses are assigned to a remote
2364
- * mode in a network start or network join request.
2365
- * @param addressInfo EmberZllAddressAssignment * Address assignment information.
2366
- * @param lastHopLqi uint8_t The link quality from the node that last relayed the message.
2367
- * @param lastHopRssi int8_t The energy level (in units of dBm) observed during reception.
2368
- */
2369
- ezspZllAddressAssignmentHandler(addressInfo: EmberZllAddressAssignment, lastHopLqi: number, lastHopRssi: number): void;
2370
- /**
2371
- * Callback
2372
- * This call is fired when the device is a target of a touch link.
2373
- * @param networkInfo EmberZllNetwork * Information about the network.
2374
- */
2375
- ezspZllTouchLinkTargetHandler(networkInfo: EmberZllNetwork): void;
2376
- /**
2377
- * Get the ZLL tokens.
2378
- * @returns EmberTokTypeStackZllData * Data token return value.
2379
- * @returns EmberTokTypeStackZllSecurity * Security token return value.
2380
- */
2381
- ezspZllGetTokens(): Promise<[data: EmberTokTypeStackZllData, security: EmberTokTypeStackZllSecurity]>;
2382
- /**
2383
- * Set the ZLL data token.
2384
- * @param data EmberTokTypeStackZllData * Data token to be set.
2385
- */
2386
- ezspZllSetDataToken(data: EmberTokTypeStackZllData): Promise<void>;
2387
- /**
2388
- * Set the ZLL data token bitmask to reflect the ZLL network state.
2389
- */
2390
- ezspZllSetNonZllNetwork(): Promise<void>;
2391
- /**
2392
- * Is this a ZLL network?
2393
- * @returns ZLL network?
2394
- */
2395
- ezspIsZllNetwork(): Promise<boolean>;
2396
- /**
2397
- * This call sets the radio's default idle power mode.
2398
- * @param mode The power mode to be set.
2399
- */
2400
- ezspZllSetRadioIdleMode(mode: number): Promise<void>;
2401
- /**
2402
- * This call gets the radio's default idle power mode.
2403
- * @returns uint8_t The current power mode.
2404
- */
2405
- ezspZllGetRadioIdleMode(): Promise<number>;
2406
- /**
2407
- * This call sets the default node type for a factory new ZLL device.
2408
- * @param nodeType The node type to be set.
2409
- */
2410
- ezspSetZllNodeType(nodeType: EmberNodeType): Promise<void>;
2411
- /**
2412
- * This call sets additional capability bits in the ZLL state.
2413
- * @param uint16_t A mask with the bits to be set or cleared.
2414
- */
2415
- ezspSetZllAdditionalState(state: number): Promise<void>;
2416
- /**
2417
- * Is there a ZLL (Touchlink) operation in progress?
2418
- * @returns ZLL operation in progress? false on error
2419
- */
2420
- ezspZllOperationInProgress(): Promise<boolean>;
2421
- /**
2422
- * Is the ZLL radio on when idle mode is active?
2423
- * @returns ZLL radio on when idle mode is active? false on error
2424
- */
2425
- ezspZllRxOnWhenIdleGetActive(): Promise<boolean>;
2426
- /**
2427
- * Informs the ZLL API that application scanning is complete
2428
- */
2429
- ezspZllScanningComplete(): Promise<void>;
2430
- /**
2431
- * Get the primary ZLL (touchlink) channel mask.
2432
- * @returns uint32_t The primary ZLL channel mask
2433
- */
2434
- ezspGetZllPrimaryChannelMask(): Promise<number>;
2435
- /**
2436
- * Get the secondary ZLL (touchlink) channel mask.
2437
- * @returns uint32_t The secondary ZLL channel mask
2438
- */
2439
- ezspGetZllSecondaryChannelMask(): Promise<number>;
2440
- /**
2441
- * Set the primary ZLL (touchlink) channel mask
2442
- * @param uint32_t The primary ZLL channel mask
2443
- */
2444
- ezspSetZllPrimaryChannelMask(zllPrimaryChannelMask: number): Promise<void>;
2445
- /**
2446
- * Set the secondary ZLL (touchlink) channel mask.
2447
- * @param uint32_t The secondary ZLL channel mask
2448
- */
2449
- ezspSetZllSecondaryChannelMask(zllSecondaryChannelMask: number): Promise<void>;
2450
- /**
2451
- * Clear ZLL stack tokens.
2452
- */
2453
- ezspZllClearTokens(): Promise<void>;
2454
- /**
2455
- * Sets whether to use parent classification when processing beacons during a
2456
- * join or rejoin. Parent classification considers whether a received beacon
2457
- * indicates trust center connectivity and long uptime on the network
2458
- * @param enabled Enable or disable parent classification
2459
- */
2460
- ezspSetParentClassificationEnabled(enabled: boolean): Promise<void>;
2461
- /**
2462
- * Gets whether to use parent classification when processing beacons during a
2463
- * join or rejoin. Parent classification considers whether a received beacon
2464
- * indicates trust center connectivity and long uptime on the network
2465
- * @returns Enable or disable parent classification
2466
- */
2467
- ezspGetParentClassificationEnabled(): Promise<boolean>;
2468
- /**
2469
- * sets the device uptime to be long or short
2470
- * @param hasLongUpTime if the uptime is long or not
2471
- */
2472
- ezspSetLongUpTime(hasLongUpTime: boolean): Promise<void>;
2473
- /**
2474
- * sets the hub connectivity to be true or false
2475
- * @param connected if the hub is connected or not
2476
- */
2477
- ezspSetHubConnectivity(connected: boolean): Promise<void>;
2478
- /**
2479
- * checks if the device uptime is long or short
2480
- * @returns if the uptime is long or not
2481
- */
2482
- ezspIsUpTimeLong(): Promise<boolean>;
2483
- /**
2484
- * checks if the hub is connected or not
2485
- * @returns if the hub is connected or not
2486
- */
2487
- ezspIsHubConnected(): Promise<boolean>;
2488
- /**
2489
- * Update the GP Proxy table based on a GP pairing.
2490
- * @param options uint32_t The options field of the GP Pairing command.
2491
- * @param addr EmberGpAddress * The target GPD.
2492
- * @param commMode uint8_t The communication mode of the GP Sink.
2493
- * @param sinkNetworkAddress uint16_t The network address of the GP Sink.
2494
- * @param sinkGroupId uint16_t The group ID of the GP Sink.
2495
- * @param assignedAlias uint16_t The alias assigned to the GPD.
2496
- * @param sinkIeeeAddress uint8_t * The IEEE address of the GP Sink.
2497
- * @param gpdKey EmberKeyData * The key to use for the target GPD.
2498
- * @param gpdSecurityFrameCounter uint32_t The GPD security frame counter.
2499
- * @param forwardingRadius uint8_t The forwarding radius.
2500
- * @returns Whether a GP Pairing has been created or not.
2501
- */
2502
- ezspGpProxyTableProcessGpPairing(options: number, addr: EmberGpAddress, commMode: number, sinkNetworkAddress: number, sinkGroupId: number, assignedAlias: number, sinkIeeeAddress: EmberEUI64, gpdKey: EmberKeyData, gpdSecurityFrameCounter: number, forwardingRadius: number): Promise<boolean>;
2503
- /**
2504
- * Adds/removes an entry from the GP Tx Queue.
2505
- * @param action The action to perform on the GP TX queue (true to add, false to remove).
2506
- * @param useCca Whether to use ClearChannelAssessment when transmitting the GPDF.
2507
- * @param addr EmberGpAddress * The Address of the destination GPD.
2508
- * @param gpdCommandId uint8_t The GPD command ID to send.
2509
- * @param gpdAsdu uint8_t * The GP command payload.
2510
- * @param gpepHandle uint8_t The handle to refer to the GPDF.
2511
- * @param gpTxQueueEntryLifetimeMs uint16_t How long to keep the GPDF in the TX Queue.
2512
- * @returns An EmberStatus value indicating success or the reason for failure.
2513
- */
2514
- ezspDGpSend(action: boolean, useCca: boolean, addr: EmberGpAddress, gpdCommandId: number, gpdAsdu: Buffer, gpepHandle: number, gpTxQueueEntryLifetimeMs: number): Promise<EmberStatus>;
2515
- /**
2516
- * Callback
2517
- * A callback to the GP endpoint to indicate the result of the GPDF
2518
- * transmission.
2519
- * @param status An EmberStatus value indicating success or the reason for failure.
2520
- * @param gpepHandle uint8_t The handle of the GPDF.
2521
- */
2522
- ezspDGpSentHandler(status: EmberStatus, gpepHandle: number): void;
2523
- /**
2524
- * Callback
2525
- * A callback invoked by the ZigBee GP stack when a GPDF is received.
2526
- * @param status The status of the GPDF receive.
2527
- * @param gpdLink uint8_t The gpdLink value of the received GPDF.
2528
- * @param sequenceNumber uint8_t The GPDF sequence number.
2529
- * @param addr EmberGpAddress *The address of the source GPD.
2530
- * @param gpdfSecurityLevel The security level of the received GPDF.
2531
- * @param gpdfSecurityKeyType The securityKeyType used to decrypt/authenticate the incoming GPDF.
2532
- * @param autoCommissioning Whether the incoming GPDF had the auto-commissioning bit set.
2533
- * @param bidirectionalInfo uint8_t Bidirectional information represented in bitfields,
2534
- * where bit0 holds the rxAfterTx of incoming gpdf and bit1 holds if tx queue is available for outgoing gpdf.
2535
- * @param gpdSecurityFrameCounter uint32_t The security frame counter of the incoming GDPF.
2536
- * @param gpdCommandId uint8_t The gpdCommandId of the incoming GPDF.
2537
- * @param mic uint32_t The received MIC of the GPDF.
2538
- * @param proxyTableIndex uint8_tThe proxy table index of the corresponding proxy table entry to the incoming GPDF.
2539
- * @param gpdCommandPayload uint8_t * The GPD command payload.
2540
- */
2541
- ezspGpepIncomingMessageHandler(status: EmberStatus, gpdLink: number, sequenceNumber: number, addr: EmberGpAddress, gpdfSecurityLevel: EmberGpSecurityLevel, gpdfSecurityKeyType: EmberGpKeyType, autoCommissioning: boolean, bidirectionalInfo: number, gpdSecurityFrameCounter: number, gpdCommandId: number, mic: number, proxyTableIndex: number, gpdCommandPayload: Buffer): void;
2542
- /**
2543
- * Retrieves the proxy table entry stored at the passed index.
2544
- * @param proxyIndex uint8_t The index of the requested proxy table entry.
2545
- * @returns An EmberStatus value indicating success or the reason for failure.
2546
- * @returns EmberGpProxyTableEntry * An EmberGpProxyTableEntry struct containing a copy of the requested proxy entry.
2547
- */
2548
- ezspGpProxyTableGetEntry(proxyIndex: number): Promise<[EmberStatus, entry: EmberGpProxyTableEntry]>;
2549
- /**
2550
- * Finds the index of the passed address in the gp table.
2551
- * @param addr EmberGpAddress * The address to search for
2552
- * @returns uint8_t The index, or 0xFF for not found
2553
- */
2554
- ezspGpProxyTableLookup(addr: EmberGpAddress): Promise<number>;
2555
- /**
2556
- * Retrieves the sink table entry stored at the passed index.
2557
- * @param sinkIndex uint8_t The index of the requested sink table entry.
2558
- * @returns An EmberStatus value indicating success or the reason for failure.
2559
- * @returns EmberGpSinkTableEntry * An EmberGpSinkTableEntry struct containing a copy of the requested sink entry.
2560
- */
2561
- ezspGpSinkTableGetEntry(sinkIndex: number): Promise<[EmberStatus, entry: EmberGpSinkTableEntry]>;
2562
- /**
2563
- * Finds the index of the passed address in the gp table.
2564
- * @param addr EmberGpAddress *The address to search for.
2565
- * @returns uint8_t The index, or 0xFF for not found
2566
- */
2567
- ezspGpSinkTableLookup(addr: EmberGpAddress): Promise<number>;
2568
- /**
2569
- * Retrieves the sink table entry stored at the passed index.
2570
- * @param sinkIndex uint8_t The index of the requested sink table entry.
2571
- * @param entry EmberGpSinkTableEntry * An EmberGpSinkTableEntry struct containing a copy of the sink entry to be updated.
2572
- * @returns An EmberStatus value indicating success or the reason for failure.
2573
- */
2574
- ezspGpSinkTableSetEntry(sinkIndex: number, entry: EmberGpSinkTableEntry): Promise<EmberStatus>;
2575
- /**
2576
- * Removes the sink table entry stored at the passed index.
2577
- * @param uint8_t The index of the requested sink table entry.
2578
- */
2579
- ezspGpSinkTableRemoveEntry(sinkIndex: number): Promise<void>;
2580
- /**
2581
- * Finds or allocates a sink entry
2582
- * @param addr EmberGpAddress * An EmberGpAddress struct containing a copy of the gpd address to be found.
2583
- * @returns uint8_t An index of found or allocated sink or 0xFF if failed.
2584
- */
2585
- ezspGpSinkTableFindOrAllocateEntry(addr: EmberGpAddress): Promise<number>;
2586
- /**
2587
- * Clear the entire sink table
2588
- */
2589
- ezspGpSinkTableClearAll(): Promise<void>;
2590
- /**
2591
- * Iniitializes Sink Table
2592
- */
2593
- ezspGpSinkTableInit(): Promise<void>;
2594
- /**
2595
- * Sets security framecounter in the sink table
2596
- * @param index uint8_t Index to the Sink table
2597
- * @param sfc uint32_t Security Frame Counter
2598
- */
2599
- ezspGpSinkTableSetSecurityFrameCounter(index: number, sfc: number): Promise<void>;
2600
- /**
2601
- * Puts the GPS in commissioning mode.
2602
- * @param uint8_t commissioning options
2603
- * @param uint16_t gpm address for security.
2604
- * @param uint16_t gpm address for pairing.
2605
- * @param uint8_t sink endpoint.
2606
- * @returns An EmberStatus value indicating success or the reason for failure.
2607
- */
2608
- ezspGpSinkCommission(options: number, gpmAddrForSecurity: number, gpmAddrForPairing: number, sinkEndpoint: number): Promise<EmberStatus>;
2609
- /**
2610
- * Clears all entries within the translation table.
2611
- */
2612
- ezspGpTranslationTableClear(): Promise<void>;
2613
- /**
2614
- * Return number of active entries in sink table.
2615
- * @returns uint8_t Number of active entries in sink table. 0 if error.
2616
- */
2617
- ezspGpSinkTableGetNumberOfActiveEntries(): Promise<number>;
2618
- /**
2619
- * Gets the total number of tokens.
2620
- * @returns uint8_t Total number of tokens.
2621
- */
2622
- ezspGetTokenCount(): Promise<number>;
2623
- /**
2624
- * Gets the token information for a single token at provided index
2625
- * @param index uint8_t Index of the token in the token table for which information is needed.
2626
- * @returns An EmberStatus value indicating success or the reason for failure.
2627
- * @returns EmberTokenInfo * Token information.
2628
- */
2629
- ezspGetTokenInfo(index: number): Promise<[EmberStatus, tokenInfo: EmberTokenInfo]>;
2630
- /**
2631
- * Gets the token data for a single token with provided key
2632
- * @param token uint32_t Key of the token in the token table for which data is needed.
2633
- * @param index uint32_t Index in case of the indexed token.
2634
- * @returns An EmberStatus value indicating success or the reason for failure.
2635
- * @returns EmberTokenData * Token Data
2636
- */
2637
- ezspGetTokenData(token: number, index: number): Promise<[EmberStatus, tokenData: EmberTokenData]>;
2638
- /**
2639
- * Sets the token data for a single token with provided key
2640
- * @param token uint32_t Key of the token in the token table for which data is to be set.
2641
- * @param index uint32_t Index in case of the indexed token.
2642
- * @param EmberTokenData * Token Data
2643
- * @returns An EmberStatus value indicating success or the reason for failure.
2644
- */
2645
- ezspSetTokenData(token: number, index: number, tokenData: EmberTokenData): Promise<EmberStatus>;
2646
- /**
2647
- * Reset the node by calling halReboot.
2648
- */
2649
- ezspResetNode(): Promise<void>;
2650
- /**
2651
- * Run GP security test vectors.
2652
- * @returns An EmberStatus value indicating success or the reason for failure.
2653
- */
2654
- ezspGpSecurityTestVectors(): Promise<EmberStatus>;
2655
- /**
2656
- * Factory reset all configured zigbee tokens
2657
- * @param excludeOutgoingFC Exclude network and APS outgoing frame counter tokens.
2658
- * @param excludeBootCounter Exclude stack boot counter token.
2659
- */
2660
- ezspTokenFactoryReset(excludeOutgoingFC: boolean, excludeBootCounter: boolean): Promise<void>;
2661
- }
2662
- //# sourceMappingURL=ezsp.d.ts.map