@willieee802/zigbee-herdsman 0.18.2 → 0.18.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (327) hide show
  1. package/dist/adapter/adapter.d.ts +61 -61
  2. package/dist/adapter/adapter.d.ts.map +1 -1
  3. package/dist/adapter/adapter.js +146 -146
  4. package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +68 -68
  5. package/dist/adapter/deconz/adapter/deconzAdapter.js +1060 -1060
  6. package/dist/adapter/deconz/adapter/index.d.ts +2 -2
  7. package/dist/adapter/deconz/adapter/index.js +10 -10
  8. package/dist/adapter/deconz/driver/constants.d.ts +104 -104
  9. package/dist/adapter/deconz/driver/constants.js +55 -55
  10. package/dist/adapter/deconz/driver/driver.d.ts +81 -81
  11. package/dist/adapter/deconz/driver/driver.js +732 -732
  12. package/dist/adapter/deconz/driver/frame.d.ts +6 -6
  13. package/dist/adapter/deconz/driver/frame.js +13 -13
  14. package/dist/adapter/deconz/driver/frameParser.d.ts +2 -2
  15. package/dist/adapter/deconz/driver/frameParser.js +443 -443
  16. package/dist/adapter/deconz/driver/parser.d.ts +12 -12
  17. package/dist/adapter/deconz/driver/parser.js +61 -61
  18. package/dist/adapter/deconz/driver/writer.d.ts +8 -8
  19. package/dist/adapter/deconz/driver/writer.js +44 -44
  20. package/dist/adapter/events.d.ts +47 -47
  21. package/dist/adapter/events.js +14 -14
  22. package/dist/adapter/ezsp/adapter/backup.d.ts +9 -9
  23. package/dist/adapter/ezsp/adapter/backup.js +53 -53
  24. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +59 -59
  25. package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
  26. package/dist/adapter/ezsp/adapter/ezspAdapter.js +603 -585
  27. package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
  28. package/dist/adapter/ezsp/adapter/index.d.ts +2 -2
  29. package/dist/adapter/ezsp/adapter/index.js +10 -10
  30. package/dist/adapter/ezsp/driver/commands.d.ts +36 -36
  31. package/dist/adapter/ezsp/driver/commands.js +2359 -2359
  32. package/dist/adapter/ezsp/driver/consts.d.ts +10 -10
  33. package/dist/adapter/ezsp/driver/consts.js +13 -13
  34. package/dist/adapter/ezsp/driver/driver.d.ts +103 -103
  35. package/dist/adapter/ezsp/driver/driver.js +639 -639
  36. package/dist/adapter/ezsp/driver/ezsp.d.ts +96 -96
  37. package/dist/adapter/ezsp/driver/ezsp.js +586 -586
  38. package/dist/adapter/ezsp/driver/index.d.ts +3 -3
  39. package/dist/adapter/ezsp/driver/index.js +8 -8
  40. package/dist/adapter/ezsp/driver/multicast.d.ts +12 -12
  41. package/dist/adapter/ezsp/driver/multicast.js +74 -74
  42. package/dist/adapter/ezsp/driver/parser.d.ts +12 -12
  43. package/dist/adapter/ezsp/driver/parser.js +111 -111
  44. package/dist/adapter/ezsp/driver/types/basic.d.ts +62 -62
  45. package/dist/adapter/ezsp/driver/types/basic.js +208 -208
  46. package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
  47. package/dist/adapter/ezsp/driver/types/index.d.ts +9 -9
  48. package/dist/adapter/ezsp/driver/types/index.js +133 -133
  49. package/dist/adapter/ezsp/driver/types/named.d.ts +697 -697
  50. package/dist/adapter/ezsp/driver/types/named.js +1726 -1726
  51. package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
  52. package/dist/adapter/ezsp/driver/types/struct.d.ts +251 -251
  53. package/dist/adapter/ezsp/driver/types/struct.js +708 -708
  54. package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
  55. package/dist/adapter/ezsp/driver/uart.d.ts +44 -44
  56. package/dist/adapter/ezsp/driver/uart.js +368 -368
  57. package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +2 -2
  58. package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +55 -55
  59. package/dist/adapter/ezsp/driver/utils/index.d.ts +18 -18
  60. package/dist/adapter/ezsp/driver/utils/index.js +67 -67
  61. package/dist/adapter/ezsp/driver/writer.d.ts +13 -13
  62. package/dist/adapter/ezsp/driver/writer.js +88 -88
  63. package/dist/adapter/index.d.ts +4 -4
  64. package/dist/adapter/index.js +35 -35
  65. package/dist/adapter/serialPort.d.ts +8 -8
  66. package/dist/adapter/serialPort.js +22 -22
  67. package/dist/adapter/serialPort.js.map +1 -1
  68. package/dist/adapter/serialPortUtils.d.ts +12 -12
  69. package/dist/adapter/serialPortUtils.js +18 -18
  70. package/dist/adapter/socketPortUtils.d.ts +10 -10
  71. package/dist/adapter/socketPortUtils.js +16 -16
  72. package/dist/adapter/tstype.d.ts +85 -85
  73. package/dist/adapter/tstype.js +2 -2
  74. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +62 -62
  75. package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
  76. package/dist/adapter/z-stack/adapter/adapter-backup.js +460 -441
  77. package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
  78. package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +150 -150
  79. package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +258 -258
  80. package/dist/adapter/z-stack/adapter/endpoints.d.ts +11 -11
  81. package/dist/adapter/z-stack/adapter/endpoints.js +73 -73
  82. package/dist/adapter/z-stack/adapter/index.d.ts +2 -2
  83. package/dist/adapter/z-stack/adapter/index.js +8 -8
  84. package/dist/adapter/z-stack/adapter/manager.d.ts +86 -86
  85. package/dist/adapter/z-stack/adapter/manager.js +476 -476
  86. package/dist/adapter/z-stack/adapter/tstype.d.ts +6 -6
  87. package/dist/adapter/z-stack/adapter/tstype.js +10 -10
  88. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +81 -81
  89. package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
  90. package/dist/adapter/z-stack/adapter/zStackAdapter.js +868 -868
  91. package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
  92. package/dist/adapter/z-stack/constants/af.d.ts +23 -23
  93. package/dist/adapter/z-stack/constants/af.js +27 -27
  94. package/dist/adapter/z-stack/constants/common.d.ts +278 -278
  95. package/dist/adapter/z-stack/constants/common.js +289 -289
  96. package/dist/adapter/z-stack/constants/dbg.d.ts +22 -22
  97. package/dist/adapter/z-stack/constants/dbg.js +24 -24
  98. package/dist/adapter/z-stack/constants/index.d.ts +10 -10
  99. package/dist/adapter/z-stack/constants/index.js +47 -47
  100. package/dist/adapter/z-stack/constants/mac.d.ts +127 -127
  101. package/dist/adapter/z-stack/constants/mac.js +129 -129
  102. package/dist/adapter/z-stack/constants/sapi.d.ts +24 -24
  103. package/dist/adapter/z-stack/constants/sapi.js +26 -26
  104. package/dist/adapter/z-stack/constants/sys.d.ts +71 -71
  105. package/dist/adapter/z-stack/constants/sys.js +73 -73
  106. package/dist/adapter/z-stack/constants/util.d.ts +81 -81
  107. package/dist/adapter/z-stack/constants/util.js +83 -83
  108. package/dist/adapter/z-stack/constants/utils.d.ts +4 -4
  109. package/dist/adapter/z-stack/constants/utils.js +14 -14
  110. package/dist/adapter/z-stack/constants/zdo.d.ts +102 -102
  111. package/dist/adapter/z-stack/constants/zdo.js +104 -104
  112. package/dist/adapter/z-stack/models/index.d.ts +1 -1
  113. package/dist/adapter/z-stack/models/index.js +17 -17
  114. package/dist/adapter/z-stack/models/startup-options.d.ts +12 -12
  115. package/dist/adapter/z-stack/models/startup-options.js +2 -2
  116. package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +23 -23
  117. package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +45 -45
  118. package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +10 -10
  119. package/dist/adapter/z-stack/structs/entries/address-manager-table.js +22 -22
  120. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +10 -10
  121. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +21 -21
  122. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +10 -10
  123. package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +23 -23
  124. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +10 -10
  125. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +24 -24
  126. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +10 -10
  127. package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +23 -23
  128. package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +8 -8
  129. package/dist/adapter/z-stack/structs/entries/channel-list.js +15 -15
  130. package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +8 -8
  131. package/dist/adapter/z-stack/structs/entries/has-configured.js +16 -16
  132. package/dist/adapter/z-stack/structs/entries/index.d.ts +16 -16
  133. package/dist/adapter/z-stack/structs/entries/index.js +32 -32
  134. package/dist/adapter/z-stack/structs/entries/nib.d.ts +10 -10
  135. package/dist/adapter/z-stack/structs/entries/nib.js +68 -68
  136. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +10 -10
  137. package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +18 -18
  138. package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +8 -8
  139. package/dist/adapter/z-stack/structs/entries/nwk-key.js +15 -15
  140. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +8 -8
  141. package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +15 -15
  142. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +13 -13
  143. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +23 -23
  144. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +10 -10
  145. package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +22 -22
  146. package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +20 -20
  147. package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +36 -36
  148. package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +10 -10
  149. package/dist/adapter/z-stack/structs/entries/security-manager-table.js +24 -24
  150. package/dist/adapter/z-stack/structs/index.d.ts +4 -4
  151. package/dist/adapter/z-stack/structs/index.js +20 -20
  152. package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +13 -13
  153. package/dist/adapter/z-stack/structs/serializable-memory-object.js +2 -2
  154. package/dist/adapter/z-stack/structs/struct.d.ts +99 -99
  155. package/dist/adapter/z-stack/structs/struct.js +295 -295
  156. package/dist/adapter/z-stack/structs/table.d.ts +94 -94
  157. package/dist/adapter/z-stack/structs/table.js +161 -161
  158. package/dist/adapter/z-stack/unpi/constants.d.ts +28 -28
  159. package/dist/adapter/z-stack/unpi/constants.js +41 -41
  160. package/dist/adapter/z-stack/unpi/frame.d.ts +16 -16
  161. package/dist/adapter/z-stack/unpi/frame.js +48 -48
  162. package/dist/adapter/z-stack/unpi/index.d.ts +5 -5
  163. package/dist/adapter/z-stack/unpi/index.js +37 -37
  164. package/dist/adapter/z-stack/unpi/parser.d.ts +10 -10
  165. package/dist/adapter/z-stack/unpi/parser.js +74 -74
  166. package/dist/adapter/z-stack/unpi/writer.d.ts +10 -10
  167. package/dist/adapter/z-stack/unpi/writer.js +44 -44
  168. package/dist/adapter/z-stack/utils/channel-list.d.ts +20 -20
  169. package/dist/adapter/z-stack/utils/channel-list.js +40 -40
  170. package/dist/adapter/z-stack/utils/index.d.ts +2 -2
  171. package/dist/adapter/z-stack/utils/index.js +18 -18
  172. package/dist/adapter/z-stack/utils/network-options.d.ts +8 -8
  173. package/dist/adapter/z-stack/utils/network-options.js +22 -22
  174. package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +11 -11
  175. package/dist/adapter/z-stack/znp/buffaloZnp.js +113 -113
  176. package/dist/adapter/z-stack/znp/definition.d.ts +5 -5
  177. package/dist/adapter/z-stack/znp/definition.js +3050 -3050
  178. package/dist/adapter/z-stack/znp/index.d.ts +3 -3
  179. package/dist/adapter/z-stack/znp/index.js +10 -10
  180. package/dist/adapter/z-stack/znp/parameterType.d.ts +22 -22
  181. package/dist/adapter/z-stack/znp/parameterType.js +25 -25
  182. package/dist/adapter/z-stack/znp/tstype.d.ts +21 -21
  183. package/dist/adapter/z-stack/znp/tstype.js +2 -2
  184. package/dist/adapter/z-stack/znp/znp.d.ts +43 -43
  185. package/dist/adapter/z-stack/znp/znp.js +325 -325
  186. package/dist/adapter/z-stack/znp/zpiObject.d.ts +19 -19
  187. package/dist/adapter/z-stack/znp/zpiObject.js +96 -96
  188. package/dist/adapter/zigate/adapter/index.d.ts +2 -2
  189. package/dist/adapter/zigate/adapter/index.js +10 -10
  190. package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +69 -69
  191. package/dist/adapter/zigate/adapter/zigateAdapter.js +678 -678
  192. package/dist/adapter/zigate/debug.d.ts +7 -7
  193. package/dist/adapter/zigate/debug.js +22 -22
  194. package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +18 -18
  195. package/dist/adapter/zigate/driver/buffaloZiGate.js +139 -139
  196. package/dist/adapter/zigate/driver/commandType.d.ts +41 -41
  197. package/dist/adapter/zigate/driver/commandType.js +385 -385
  198. package/dist/adapter/zigate/driver/constants.d.ts +276 -276
  199. package/dist/adapter/zigate/driver/constants.js +371 -371
  200. package/dist/adapter/zigate/driver/frame.d.ts +26 -26
  201. package/dist/adapter/zigate/driver/frame.js +172 -172
  202. package/dist/adapter/zigate/driver/frame.js.map +1 -1
  203. package/dist/adapter/zigate/driver/messageType.d.ts +11 -11
  204. package/dist/adapter/zigate/driver/messageType.js +278 -278
  205. package/dist/adapter/zigate/driver/parameterType.d.ts +20 -20
  206. package/dist/adapter/zigate/driver/parameterType.js +23 -23
  207. package/dist/adapter/zigate/driver/ziGateObject.d.ts +23 -23
  208. package/dist/adapter/zigate/driver/ziGateObject.js +106 -106
  209. package/dist/adapter/zigate/driver/zigate.d.ts +49 -49
  210. package/dist/adapter/zigate/driver/zigate.js +303 -303
  211. package/dist/buffalo/buffalo.d.ts +50 -50
  212. package/dist/buffalo/buffalo.js +322 -322
  213. package/dist/buffalo/index.d.ts +3 -3
  214. package/dist/buffalo/index.js +33 -33
  215. package/dist/buffalo/tstype.d.ts +8 -8
  216. package/dist/buffalo/tstype.js +2 -2
  217. package/dist/controller/controller.d.ts +113 -110
  218. package/dist/controller/controller.d.ts.map +1 -1
  219. package/dist/controller/controller.js +619 -607
  220. package/dist/controller/controller.js.map +1 -1
  221. package/dist/controller/database.d.ts +18 -18
  222. package/dist/controller/database.js +93 -93
  223. package/dist/controller/events.d.ts +58 -55
  224. package/dist/controller/events.d.ts.map +1 -1
  225. package/dist/controller/events.js +101 -101
  226. package/dist/controller/events.js.map +1 -1
  227. package/dist/controller/greenPower.d.ts +12 -12
  228. package/dist/controller/greenPower.js +220 -220
  229. package/dist/controller/helpers/index.d.ts +2 -2
  230. package/dist/controller/helpers/index.js +28 -28
  231. package/dist/controller/helpers/request.d.ts +22 -22
  232. package/dist/controller/helpers/request.js +71 -71
  233. package/dist/controller/helpers/zclFrameConverter.d.ts +7 -7
  234. package/dist/controller/helpers/zclFrameConverter.js +31 -31
  235. package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +5 -5
  236. package/dist/controller/helpers/zclTransactionSequenceNumber.js +13 -13
  237. package/dist/controller/index.d.ts +5 -5
  238. package/dist/controller/index.js +8 -8
  239. package/dist/controller/logger-stub.d.ts +6 -6
  240. package/dist/controller/logger-stub.js +2 -2
  241. package/dist/controller/model/device.d.ts +133 -132
  242. package/dist/controller/model/device.d.ts.map +1 -1
  243. package/dist/controller/model/device.js +717 -708
  244. package/dist/controller/model/device.js.map +1 -1
  245. package/dist/controller/model/endpoint.d.ts +131 -131
  246. package/dist/controller/model/endpoint.d.ts.map +1 -1
  247. package/dist/controller/model/endpoint.js +816 -817
  248. package/dist/controller/model/endpoint.js.map +1 -1
  249. package/dist/controller/model/entity.d.ts +14 -14
  250. package/dist/controller/model/entity.js +26 -26
  251. package/dist/controller/model/group.d.ts +38 -38
  252. package/dist/controller/model/group.js +221 -221
  253. package/dist/controller/model/index.d.ts +5 -5
  254. package/dist/controller/model/index.js +14 -14
  255. package/dist/controller/touchlink.d.ts +19 -19
  256. package/dist/controller/touchlink.js +157 -157
  257. package/dist/controller/tstype.d.ts +21 -21
  258. package/dist/controller/tstype.js +9 -9
  259. package/dist/index.d.ts +3 -3
  260. package/dist/index.js +33 -33
  261. package/dist/models/backup-storage-legacy.d.ts +26 -26
  262. package/dist/models/backup-storage-legacy.js +2 -2
  263. package/dist/models/backup-storage-unified.d.ts +49 -49
  264. package/dist/models/backup-storage-unified.js +2 -2
  265. package/dist/models/backup.d.ts +37 -37
  266. package/dist/models/backup.js +2 -2
  267. package/dist/models/index.d.ts +4 -4
  268. package/dist/models/index.js +20 -20
  269. package/dist/models/network-options.d.ts +12 -12
  270. package/dist/models/network-options.js +2 -2
  271. package/dist/utils/assertString.d.ts +2 -2
  272. package/dist/utils/assertString.js +8 -8
  273. package/dist/utils/backup.d.ts +20 -20
  274. package/dist/utils/backup.js +187 -187
  275. package/dist/utils/equalsPartial.d.ts +2 -2
  276. package/dist/utils/equalsPartial.js +11 -11
  277. package/dist/utils/index.d.ts +9 -9
  278. package/dist/utils/index.js +45 -45
  279. package/dist/utils/isNumberArray.d.ts +2 -2
  280. package/dist/utils/isNumberArray.js +6 -6
  281. package/dist/utils/queue.d.ts +11 -11
  282. package/dist/utils/queue.js +50 -50
  283. package/dist/utils/realpathSync.d.ts +2 -2
  284. package/dist/utils/realpathSync.js +12 -12
  285. package/dist/utils/wait.d.ts +2 -2
  286. package/dist/utils/wait.js +8 -8
  287. package/dist/utils/waitress.d.ts +21 -21
  288. package/dist/utils/waitress.js +61 -61
  289. package/dist/zcl/buffaloZcl.d.ts +41 -41
  290. package/dist/zcl/buffaloZcl.js +591 -591
  291. package/dist/zcl/definition/buffaloZclDataType.d.ts +17 -17
  292. package/dist/zcl/definition/buffaloZclDataType.js +20 -20
  293. package/dist/zcl/definition/cluster.d.ts +29 -29
  294. package/dist/zcl/definition/cluster.js +5335 -5335
  295. package/dist/zcl/definition/dataType.d.ts +59 -59
  296. package/dist/zcl/definition/dataType.js +64 -64
  297. package/dist/zcl/definition/direction.d.ts +5 -5
  298. package/dist/zcl/definition/direction.js +8 -8
  299. package/dist/zcl/definition/endpointDeviceType.d.ts +4 -4
  300. package/dist/zcl/definition/endpointDeviceType.js +15 -15
  301. package/dist/zcl/definition/foundation.d.ts +11 -11
  302. package/dist/zcl/definition/foundation.js +167 -167
  303. package/dist/zcl/definition/frameControl.d.ts +10 -10
  304. package/dist/zcl/definition/frameControl.js +2 -2
  305. package/dist/zcl/definition/frameType.d.ts +5 -5
  306. package/dist/zcl/definition/frameType.js +8 -8
  307. package/dist/zcl/definition/index.d.ts +13 -13
  308. package/dist/zcl/definition/index.js +51 -51
  309. package/dist/zcl/definition/manufacturerCode.d.ts +1074 -1074
  310. package/dist/zcl/definition/manufacturerCode.js +1079 -1079
  311. package/dist/zcl/definition/powerSource.d.ts +4 -4
  312. package/dist/zcl/definition/powerSource.js +12 -12
  313. package/dist/zcl/definition/status.d.ts +38 -38
  314. package/dist/zcl/definition/status.js +41 -41
  315. package/dist/zcl/definition/tstype.d.ts +16 -16
  316. package/dist/zcl/definition/tstype.js +2 -2
  317. package/dist/zcl/index.d.ts +15 -15
  318. package/dist/zcl/index.js +55 -55
  319. package/dist/zcl/tstype.d.ts +56 -56
  320. package/dist/zcl/tstype.js +10 -10
  321. package/dist/zcl/utils.d.ts +6 -6
  322. package/dist/zcl/utils.js +165 -165
  323. package/dist/zcl/zclFrame.d.ts +45 -45
  324. package/dist/zcl/zclFrame.js +347 -347
  325. package/dist/zcl/zclStatusError.d.ts +5 -5
  326. package/dist/zcl/zclStatusError.js +13 -13
  327. package/package.json +1 -1
@@ -1,1727 +1,1727 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.EzspSourceRouteOverheadInformation = exports.EzspZllNetworkOperation = exports.EmberZllKeyIndex = exports.EmberZllState = exports.EmberConcentratorType = exports.EmberZdoConfigurationFlags = exports.EmberJoinMethod = exports.EmberCounterType = exports.EmberKeyStatus = exports.EmberDeviceUpdate = exports.EmberKeyStructBitmask = exports.EmberKeyType = exports.EmberCurrentSecurityBitmask = exports.EmberInitialSecurityBitmask = exports.EmberJoinDecision = exports.EzspNetworkScanType = exports.EmberApsOption = exports.EmberBindingType = exports.EmberMacPassthroughType = exports.EmberOutgoingMessageType = exports.EmberIncomingMessageType = exports.EmberNetworkStatus = exports.EmberNodeType = exports.EmberEventUnits = exports.EmberStatus = exports.EzspStatus = exports.EzspMfgTokenId = exports.EzspDecisionId = exports.EzspPolicyId = exports.EmberConfigTxPowerMode = exports.EzspEndpointFlags = exports.EzspExtendedValueId = exports.EzspValueId = exports.EzspConfigId = exports.Bool = exports.SecureEzspSessionId = exports.SecureEzspRandomNumber = exports.EmberGpKeyType = exports.EmberGpSecurityLevel = exports.SecureEzspSecurityLevel = exports.SecureEzspSecurityType = exports.EmberLibraryStatus = exports.EmberEUI64 = exports.EmberMulticastId = exports.EmberPanId = exports.EmberNodeId = exports.EmberRf4ceApplicationCapabilities = exports.EmberRf4ceNodeCapabilities = exports.EmberRf4ceTxOption = exports.NcpResetCode = void 0;
27
- exports.EzspDecisionBitmask = exports.EmberZDOCmd = exports.EmberNetworkInitBitmask = void 0;
28
- /* istanbul ignore file */
29
- /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
30
- const basic = __importStar(require("./basic"));
31
- const basic_1 = require("./basic");
32
- console.assert(basic.uint8_t);
33
- class NcpResetCode extends basic.uint8_t {
34
- }
35
- //Reset and Error Codes for NCP
36
- NcpResetCode.RESET_UNKNOWN_REASON = 0x00;
37
- NcpResetCode.RESET_EXTERNAL = 0x01;
38
- NcpResetCode.RESET_POWER_ON = 0x02;
39
- NcpResetCode.RESET_WATCHDOG = 0x03;
40
- NcpResetCode.RESET_ASSERT = 0x06;
41
- NcpResetCode.RESET_BOOTLOADER = 0x09;
42
- NcpResetCode.RESET_SOFTWARE = 0x0B;
43
- NcpResetCode.ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT = 0x51;
44
- NcpResetCode.ERROR_UNKNOWN_EM3XX_ERROR = 0x80;
45
- exports.NcpResetCode = NcpResetCode;
46
- class EmberRf4ceTxOption extends basic.uint8_t {
47
- }
48
- exports.EmberRf4ceTxOption = EmberRf4ceTxOption;
49
- class EmberRf4ceNodeCapabilities extends basic.uint8_t {
50
- }
51
- exports.EmberRf4ceNodeCapabilities = EmberRf4ceNodeCapabilities;
52
- class EmberRf4ceApplicationCapabilities extends basic.uint8_t {
53
- }
54
- exports.EmberRf4ceApplicationCapabilities = EmberRf4ceApplicationCapabilities;
55
- class EmberNodeId extends basic.uint16_t {
56
- }
57
- exports.EmberNodeId = EmberNodeId;
58
- class EmberPanId extends basic.uint16_t {
59
- }
60
- exports.EmberPanId = EmberPanId;
61
- class EmberMulticastId extends basic.uint16_t {
62
- }
63
- exports.EmberMulticastId = EmberMulticastId;
64
- class EmberEUI64 extends (0, basic_1.fixed_list)(8, basic.uint8_t) {
65
- constructor(_value) {
66
- super();
67
- this._value = _value;
68
- if (typeof (_value) === 'string') {
69
- if (_value.startsWith('0x'))
70
- _value = _value.slice(2);
71
- if (_value.length !== 16) {
72
- throw new Error('Incorrect value passed');
73
- }
74
- this._value = Buffer.from(_value, 'hex');
75
- }
76
- else {
77
- if (_value.length !== 8) {
78
- throw new Error('Incorrect value passed');
79
- }
80
- this._value = _value;
81
- }
82
- }
83
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
84
- static deserialize(cls, data) {
85
- const arr = super.deserialize(cls, data);
86
- const r = arr[0];
87
- data = arr[1];
88
- return [Buffer.from(r).reverse(), data];
89
- }
90
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
91
- static serialize(cls, value) {
92
- if (value instanceof EmberEUI64) {
93
- value = value.value;
94
- }
95
- console.assert(cls._length === value.length);
96
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
97
- const val = Buffer.from(value).reverse().map(i => basic.uint8_t.serialize(basic.uint8_t, i)[0]);
98
- return Buffer.from(val);
99
- }
100
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
101
- get value() {
102
- return this._value;
103
- }
104
- toString() {
105
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
106
- return Buffer.from(this._value).toString('hex');
107
- }
108
- }
109
- exports.EmberEUI64 = EmberEUI64;
110
- class EmberLibraryStatus extends basic.uint8_t {
111
- }
112
- exports.EmberLibraryStatus = EmberLibraryStatus;
113
- class SecureEzspSecurityType extends basic.uint32_t {
114
- }
115
- exports.SecureEzspSecurityType = SecureEzspSecurityType;
116
- class SecureEzspSecurityLevel extends basic.uint8_t {
117
- }
118
- exports.SecureEzspSecurityLevel = SecureEzspSecurityLevel;
119
- class EmberGpSecurityLevel extends basic.uint8_t {
120
- }
121
- exports.EmberGpSecurityLevel = EmberGpSecurityLevel;
122
- class EmberGpKeyType extends basic.uint8_t {
123
- }
124
- exports.EmberGpKeyType = EmberGpKeyType;
125
- class SecureEzspRandomNumber extends basic.uint64_t {
126
- }
127
- exports.SecureEzspRandomNumber = SecureEzspRandomNumber;
128
- class SecureEzspSessionId extends basic.uint64_t {
129
- }
130
- exports.SecureEzspSessionId = SecureEzspSessionId;
131
- class Bool extends basic.uint8_t {
132
- }
133
- Bool.false = 0x00; // An alias for zero, used for clarity.
134
- Bool.true = 0x01; // An alias for one, used for clarity.
135
- exports.Bool = Bool;
136
- class EzspConfigId extends basic.uint8_t {
137
- }
138
- // Identifies a configuration value.
139
- // The number of packet buffers available to the stack. When set to the
140
- // special value 0xFF, the NCP will allocate all remaining configuration RAM
141
- // towards packet buffers, such that the resulting count will be the largest
142
- // whole number of packet buffers that can fit into the available memory.
143
- EzspConfigId.CONFIG_PACKET_BUFFER_COUNT = 0x01;
144
- // The maximum number of router neighbors the stack can keep track of. A
145
- // neighbor is a node within radio range.
146
- EzspConfigId.CONFIG_NEIGHBOR_TABLE_SIZE = 0x02;
147
- // The maximum number of APS retried messages the stack can be transmitting
148
- // at any time.
149
- EzspConfigId.CONFIG_APS_UNICAST_MESSAGE_COUNT = 0x03;
150
- // The maximum number of non-volatile bindings supported by the stack.
151
- EzspConfigId.CONFIG_BINDING_TABLE_SIZE = 0x04;
152
- // The maximum number of EUI64 to network address associations that the
153
- // stack can maintain for the application. (Note, the total number of such
154
- // address associations maintained by the NCP is the sum of the value of
155
- // this setting and the value of ::CONFIG_TRUST_CENTER_ADDRESS_CACHE_SIZE).
156
- EzspConfigId.CONFIG_ADDRESS_TABLE_SIZE = 0x05;
157
- // The maximum number of multicast groups that the device may be a member
158
- // of.
159
- EzspConfigId.CONFIG_MULTICAST_TABLE_SIZE = 0x06;
160
- // The maximum number of destinations to which a node can route messages.
161
- // This includes both messages originating at this node and those relayed
162
- // for others.
163
- EzspConfigId.CONFIG_ROUTE_TABLE_SIZE = 0x07;
164
- // The number of simultaneous route discoveries that a node will support.
165
- EzspConfigId.CONFIG_DISCOVERY_TABLE_SIZE = 0x08;
166
- // The size of the alarm broadcast buffer.
167
- EzspConfigId.CONFIG_BROADCAST_ALARM_DATA_SIZE = 0x09;
168
- // The size of the unicast alarm buffers allocated for end device children.
169
- EzspConfigId.CONFIG_UNICAST_ALARM_DATA_SIZE = 0x0A;
170
- // Specifies the stack profile.
171
- EzspConfigId.CONFIG_STACK_PROFILE = 0x0C;
172
- // The security level used for security at the MAC and network layers. The
173
- // supported values are 0 (no security) and 5 (payload is encrypted and a
174
- // four-byte MIC is used for authentication).
175
- EzspConfigId.CONFIG_SECURITY_LEVEL = 0x0D;
176
- // The maximum number of hops for a message.
177
- EzspConfigId.CONFIG_MAX_HOPS = 0x10;
178
- // The maximum number of end device children that a router will support.
179
- EzspConfigId.CONFIG_MAX_END_DEVICE_CHILDREN = 0x11;
180
- // The maximum amount of time that the MAC will hold a message for indirect
181
- // transmission to a child.
182
- EzspConfigId.CONFIG_INDIRECT_TRANSMISSION_TIMEOUT = 0x12;
183
- // The maximum amount of time that an end device child can wait between
184
- // polls. If no poll is heard within this timeout, then the parent removes
185
- // the end device from its tables.
186
- EzspConfigId.CONFIG_END_DEVICE_POLL_TIMEOUT = 0x13;
187
- // The maximum amount of time that a mobile node can wait between polls. If
188
- // no poll is heard within this timeout, then the parent removes the mobile
189
- // node from its tables.
190
- EzspConfigId.CONFIG_MOBILE_NODE_POLL_TIMEOUT = 0x14;
191
- // The number of child table entries reserved for use only by mobile nodes.
192
- EzspConfigId.CONFIG_RESERVED_MOBILE_CHILD_ENTRIES = 0x15;
193
- // Enables boost power mode and/or the alternate transmitter output.
194
- EzspConfigId.CONFIG_TX_POWER_MODE = 0x17;
195
- // 0: Allow this node to relay messages. 1: Prevent this node from relaying
196
- // messages.
197
- EzspConfigId.CONFIG_DISABLE_RELAY = 0x18;
198
- // The maximum number of EUI64 to network address associations that the
199
- // Trust Center can maintain. These address cache entries are reserved for
200
- // and reused by the Trust Center when processing device join/rejoin
201
- // authentications. This cache size limits the number of overlapping joins
202
- // the Trust Center can process within a narrow time window (e.g. two
203
- // seconds), and thus should be set to the maximum number of near
204
- // simultaneous joins the Trust Center is expected to accommodate. (Note,
205
- // the total number of such address associations maintained by the NCP is
206
- // the sum of the value of this setting and the value of
207
- // ::CONFIG_ADDRESS_TABLE_SIZE.)
208
- EzspConfigId.CONFIG_TRUST_CENTER_ADDRESS_CACHE_SIZE = 0x19;
209
- // The size of the source route table.
210
- EzspConfigId.CONFIG_SOURCE_ROUTE_TABLE_SIZE = 0x1A;
211
- // The units used for timing out end devices on their parents.
212
- EzspConfigId.CONFIG_END_DEVICE_POLL_TIMEOUT_SHIFT = 0x1B;
213
- // The number of blocks of a fragmented message that can be sent in a single
214
- // window.
215
- EzspConfigId.CONFIG_FRAGMENT_WINDOW_SIZE = 0x1C;
216
- // The time the stack will wait (in milliseconds) between sending blocks of
217
- // a fragmented message.
218
- EzspConfigId.CONFIG_FRAGMENT_DELAY_MS = 0x1D;
219
- // The size of the Key Table used for storing individual link keys (if the
220
- // device is a Trust Center) or Application Link Keys (if the device is a
221
- // normal node).
222
- EzspConfigId.CONFIG_KEY_TABLE_SIZE = 0x1E;
223
- // The APS ACK timeout value. The stack waits this amount of time between
224
- // resends of APS retried messages.
225
- EzspConfigId.CONFIG_APS_ACK_TIMEOUT = 0x1F;
226
- // The duration of an active scan, in the units used by the 15.4 scan
227
- // parameter (((1 << duration) + 1) * 15ms). This also controls the jitter
228
- // used when responding to a beacon request.
229
- EzspConfigId.CONFIG_ACTIVE_SCAN_DURATION = 0x20;
230
- // The time the coordinator will wait (in seconds) for a second end device
231
- // bind request to arrive.
232
- EzspConfigId.CONFIG_END_DEVICE_BIND_TIMEOUT = 0x21;
233
- // The number of PAN id conflict reports that must be received by the
234
- // network manager within one minute to trigger a PAN id change.
235
- EzspConfigId.CONFIG_PAN_ID_CONFLICT_REPORT_THRESHOLD = 0x22;
236
- // The timeout value in minutes for how long the Trust Center or a normal
237
- // node waits for the ZigBee Request Key to complete. On the Trust Center
238
- // this controls whether or not the device buffers the request, waiting for
239
- // a matching pair of ZigBee Request Key. If the value is non-zero, the
240
- // Trust Center buffers and waits for that amount of time. If the value is
241
- // zero, the Trust Center does not buffer the request and immediately
242
- // responds to the request. Zero is the most compliant behavior.
243
- EzspConfigId.CONFIG_REQUEST_KEY_TIMEOUT = 0x24;
244
- // This value indicates the size of the runtime modifiable certificate
245
- // table. Normally certificates are stored in MFG tokens but this table can
246
- // be used to field upgrade devices with new Smart Energy certificates.
247
- // This value cannot be set, it can only be queried.
248
- EzspConfigId.CONFIG_CERTIFICATE_TABLE_SIZE = 0x29;
249
- // This is a bitmask that controls which incoming ZDO request messages are
250
- // passed to the application. The bits are defined in the
251
- // EmberZdoConfigurationFlags enumeration. To see if the application is
252
- // required to send a ZDO response in reply to an incoming message, the
253
- // application must check the APS options bitfield within the
254
- // incomingMessageHandler callback to see if the
255
- // APS_OPTION_ZDO_RESPONSE_REQUIRED flag is set.
256
- EzspConfigId.CONFIG_APPLICATION_ZDO_FLAGS = 0x2A;
257
- // The maximum number of broadcasts during a single broadcast timeout
258
- // period.
259
- EzspConfigId.CONFIG_BROADCAST_TABLE_SIZE = 0x2B;
260
- // The size of the MAC filter list table.
261
- EzspConfigId.CONFIG_MAC_FILTER_TABLE_SIZE = 0x2C;
262
- // The number of supported networks.
263
- EzspConfigId.CONFIG_SUPPORTED_NETWORKS = 0x2D;
264
- // Whether multicasts are sent to the RxOnWhenIdle=true address (0xFFFD) or
265
- // the sleepy broadcast address (0xFFFF). The RxOnWhenIdle=true address is
266
- // the ZigBee compliant destination for multicasts.
267
- EzspConfigId.CONFIG_SEND_MULTICASTS_TO_SLEEPY_ADDRESS = 0x2E;
268
- // ZLL group address initial configuration.
269
- EzspConfigId.CONFIG_ZLL_GROUP_ADDRESSES = 0x2F;
270
- // ZLL rssi threshold initial configuration.
271
- EzspConfigId.CONFIG_ZLL_RSSI_THRESHOLD = 0x30;
272
- // The maximum number of pairings supported by the stack. Controllers
273
- // must support at least one pairing table entry while targets must
274
- // support at least five.
275
- EzspConfigId.CONFIG_RF4CE_PAIRING_TABLE_SIZE = 0x31;
276
- // The maximum number of outgoing RF4CE packets supported by the stack.
277
- EzspConfigId.CONFIG_RF4CE_PENDING_OUTGOING_PACKET_TABLE_SIZE = 0x32;
278
- // Toggles the mtorr flow control in the stack.
279
- EzspConfigId.CONFIG_MTORR_FLOW_CONTROL = 0x33;
280
- // Setting the retry queue size.
281
- EzspConfigId.CONFIG_RETRY_QUEUE_SIZE = 0x34;
282
- // Setting the new broadcast entry threshold.
283
- EzspConfigId.CONFIG_NEW_BROADCAST_ENTRY_THRESHOLD = 0x35;
284
- // The length of time, in seconds, that a trust center will store a
285
- // transient link key that a device can use to join its network. A transient
286
- // key is added with a call to emberAddTransientLinkKey. After the transient
287
- // key is added, it will be removed once this amount of time has passed. A
288
- // joining device will not be able to use that key to join until it is added
289
- // again on the trust center. The default value is 300 seconds, i.e., 5
290
- // minutes.
291
- EzspConfigId.CONFIG_TRANSIENT_KEY_TIMEOUT_S = 0x36;
292
- // The number of passive acknowledgements to record from neighbors before we stop
293
- // re-transmitting broadcasts
294
- EzspConfigId.CONFIG_BROADCAST_MIN_ACKS_NEEDED = 0x37;
295
- // The length of time, in seconds, that a trust center will allow a Trust Center
296
- // (insecure) rejoin for a device that is using the well-known link key. This timeout
297
- // takes effect once rejoins using the well-known key has been allowed. This command
298
- // updates the emAllowTcRejoinsUsingWellKnownKeyTimeoutSec value.
299
- EzspConfigId.CONFIG_TC_REJOINS_USING_WELL_KNOWN_KEY_TIMEOUT_S = 0x38;
300
- exports.EzspConfigId = EzspConfigId;
301
- class EzspValueId extends basic.uint8_t {
302
- }
303
- // Identifies a value.
304
- // The contents of the node data stack token.
305
- EzspValueId.VALUE_TOKEN_STACK_NODE_DATA = 0x00;
306
- // The types of MAC passthrough messages that the host wishes to receive.
307
- EzspValueId.VALUE_MAC_PASSTHROUGH_FLAGS = 0x01;
308
- // The source address used to filter legacy EmberNet messages when the
309
- // MAC_PASSTHROUGH_EMBERNET_SOURCE flag is set in
310
- // VALUE_MAC_PASSTHROUGH_FLAGS.
311
- EzspValueId.VALUE_EMBERNET_PASSTHROUGH_SOURCE_ADDRESS = 0x02;
312
- // The number of available message buffers.
313
- EzspValueId.VALUE_FREE_BUFFERS = 0x03;
314
- // Selects sending synchronous callbacks in ezsp-uart.
315
- EzspValueId.VALUE_UART_SYNCH_CALLBACKS = 0x04;
316
- // The maximum incoming transfer size for the local node.
317
- EzspValueId.VALUE_MAXIMUM_INCOMING_TRANSFER_SIZE = 0x05;
318
- // The maximum outgoing transfer size for the local node.
319
- EzspValueId.VALUE_MAXIMUM_OUTGOING_TRANSFER_SIZE = 0x06;
320
- // A boolean indicating whether stack tokens are written to persistent
321
- // storage as they change.
322
- EzspValueId.VALUE_STACK_TOKEN_WRITING = 0x07;
323
- // A read-only value indicating whether the stack is currently performing a
324
- // rejoin.
325
- EzspValueId.VALUE_STACK_IS_PERFORMING_REJOIN = 0x08;
326
- // A list of EmberMacFilterMatchData values.
327
- EzspValueId.VALUE_MAC_FILTER_LIST = 0x09;
328
- // The Ember Extended Security Bitmask.
329
- EzspValueId.VALUE_EXTENDED_SECURITY_BITMASK = 0x0A;
330
- // The node short ID.
331
- EzspValueId.VALUE_NODE_SHORT_ID = 0x0B;
332
- // The descriptor capability of the local node.
333
- EzspValueId.VALUE_DESCRIPTOR_CAPABILITY = 0x0C;
334
- // The stack device request sequence number of the local node.
335
- EzspValueId.VALUE_STACK_DEVICE_REQUEST_SEQUENCE_NUMBER = 0x0D;
336
- // Enable or disable radio hold-off.
337
- EzspValueId.VALUE_RADIO_HOLD_OFF = 0x0E;
338
- // The flags field associated with the endpoint data.
339
- EzspValueId.VALUE_ENDPOINT_FLAGS = 0x0F;
340
- // Enable/disable the Mfg security config key settings.
341
- EzspValueId.VALUE_MFG_SECURITY_CONFIG = 0x10;
342
- // Retrieves the version information from the stack on the NCP.
343
- EzspValueId.VALUE_VERSION_INFO = 0x11;
344
- // This will get/set the rejoin reason noted by the host for a subsequent
345
- // call to emberFindAndRejoinNetwork(). After a call to
346
- // emberFindAndRejoinNetwork() the host's rejoin reason will be set to
347
- // REJOIN_REASON_NONE. The NCP will store the rejoin reason used by the
348
- // call to emberFindAndRejoinNetwork()
349
- EzspValueId.VALUE_NEXT_HOST_REJOIN_REASON = 0x12;
350
- // This is the reason that the last rejoin took place. This value may only
351
- // be retrieved, not set. The rejoin may have been initiated by the stack
352
- // (NCP) or the application (host). If a host initiated a rejoin the reason
353
- // will be set by default to REJOIN_DUE_TO_APP_EVENT_1. If the application
354
- // wishes to denote its own rejoin reasons it can do so by calling
355
- // ezspSetValue(VALUE_HOST_REJOIN_REASON, REJOIN_DUE_TO_APP_EVENT_X). X is a
356
- // number corresponding to one of the app events defined. If the NCP
357
- // initiated a rejoin it will record this value internally for retrieval by
358
- // ezspGetValue(VALUE_REAL_REJOIN_REASON).
359
- EzspValueId.VALUE_LAST_REJOIN_REASON = 0x13;
360
- // The next ZigBee sequence number.
361
- EzspValueId.VALUE_NEXT_ZIGBEE_SEQUENCE_NUMBER = 0x14;
362
- // CCA energy detect threshold for radio.
363
- EzspValueId.VALUE_CCA_THRESHOLD = 0x15;
364
- // The threshold value for a counter
365
- EzspValueId.VALUE_SET_COUNTER_THRESHOLD = 0x17;
366
- // Resets all counters thresholds to 0xFF
367
- EzspValueId.VALUE_RESET_COUNTER_THRESHOLDS = 0x18;
368
- // Clears all the counters
369
- EzspValueId.VALUE_CLEAR_COUNTERS = 0x19;
370
- // The device RF4CE base channel
371
- EzspValueId.VALUE_RF4CE_BASE_CHANNEL = 0x1A;
372
- // The RF4CE device types supported by the node
373
- EzspValueId.VALUE_RF4CE_SUPPORTED_DEVICE_TYPES_LIST = 0x1B;
374
- // The RF4CE profiles supported by the node
375
- EzspValueId.VALUE_RF4CE_SUPPORTED_PROFILES_LIST = 0x1C;
376
- // Setting this byte enables R21 behavior on the NCP.
377
- EzspValueId.VALUE_ENABLE_R21_BEHAVIOR = 0x29;
378
- // Configure the antenna mode(0-primary,1-secondary,2- toggle on tx ack
379
- // fail).
380
- EzspValueId.VALUE_ANTENNA_MODE = 0x30;
381
- // The GDP binding recipient parameters
382
- EzspValueId.VALUE_RF4CE_GDP_BINDING_RECIPIENT_PARAMETERS = 0x1D;
383
- // The GDP binding push button stimulus received pending flag
384
- EzspValueId.VALUE_RF4CE_GDP_PUSH_BUTTON_STIMULUS_RECEIVED_PENDING_FLAG = 0x1E;
385
- // The GDP originator proxy flag in the advanced binding options
386
- EzspValueId.VALUE_RF4CE_GDP_BINDING_PROXY_FLAG = 0x1F;
387
- // The GDP application specific user s join unti_VALUE_RF4CE_MSO_USER_STRING
388
- // 0x21 The MSO user string
389
- EzspValueId.VALUE_RF4CE_GDP_APPLICATION_SPECIFIC_USER_STRING = 0x20;
390
- // The MSO user string
391
- EzspValueId.VALUE_RF4CE_MSO_USER_STRING = 0x21;
392
- // The MSO binding recipient parameters
393
- EzspValueId.VALUE_RF4CE_MSO_BINDING_RECIPIENT_PARAMETERS = 0x22;
394
- // The NWK layer security frame counter value
395
- EzspValueId.VALUE_NWK_FRAME_COUNTER = 0x23;
396
- // The APS layer security frame counter value
397
- EzspValueId.VALUE_APS_FRAME_COUNTER = 0x24;
398
- // Sets the device type to use on the next rejoin using device type
399
- EzspValueId.VALUE_RETRY_DEVICE_TYPE = 0x25;
400
- // The device RF4CE base channel
401
- EzspValueId.VALUE_RF4CE_BASE_CHANNEL2 = 0x26;
402
- // The RF4CE device types supported by the node
403
- EzspValueId.VALUE_RF4CE_SUPPORTED_DEVICE_TYPES_LIST2 = 0x27;
404
- // The RF4CE profiles supported by the node
405
- EzspValueId.VALUE_RF4CE_SUPPORTED_PROFILES_LIST2 = 0x28;
406
- // Enable or disable packet traffic arbitration.
407
- EzspValueId.VALUE_ENABLE_PTA = 0x31;
408
- // Set packet traffic arbitration configuration options.
409
- EzspValueId.VALUE_PTA_OPTIONS = 0x32;
410
- // Configure manufacturing library options(0-non-CSMA transmits,1-CSMA transmits).
411
- EzspValueId.VALUE_MFGLIB_OPTIONS = 0x33;
412
- EzspValueId.VALUE_END_DEVICE_KEEP_ALIVE_SUPPORT_MODE = 0x3F;
413
- exports.EzspValueId = EzspValueId;
414
- class EzspExtendedValueId extends basic.uint8_t {
415
- }
416
- // Identifies a value based on specified characteristics. Each set of
417
- // characteristics is unique to that value and is specified during the call
418
- // to get the extended value.
419
- // The flags field associated with the specified endpoint.
420
- EzspExtendedValueId.EXTENDED_VALUE_ENDPOINT_FLAGS = 0x00;
421
- // This is the reason for the node to leave the network as well as the
422
- // device that told it to leave. The leave reason is the 1st byte of the
423
- // value while the node ID is the 2nd and 3rd byte. If the leave was caused
424
- // due to an API call rather than an over the air message, the node ID will
425
- // be UNKNOWN_NODE_ID (0xFFFD).
426
- EzspExtendedValueId.EXTENDED_VALUE_LAST_LEAVE_REASON = 0x01;
427
- // This number of bytes of overhead required in the network frame for source
428
- // routing to a particular destination.
429
- EzspExtendedValueId.EXTENDED_VALUE_GET_SOURCE_ROUTE_OVERHEAD = 0x02;
430
- exports.EzspExtendedValueId = EzspExtendedValueId;
431
- class EzspEndpointFlags extends basic.uint16_t {
432
- }
433
- // Flags associated with the endpoint data configured on the NCP.
434
- // Indicates that the endpoint is disabled and NOT discoverable via ZDO.
435
- EzspEndpointFlags.ENDPOINT_DISABLED = 0x00;
436
- // Indicates that the endpoint is enabled and discoverable via ZDO.
437
- EzspEndpointFlags.ENDPOINT_ENABLED = 0x01;
438
- exports.EzspEndpointFlags = EzspEndpointFlags;
439
- class EmberConfigTxPowerMode extends basic.uint16_t {
440
- }
441
- // Values for CONFIG_TX_POWER_MODE.
442
- // Normal power mode and bi-directional RF transmitter output.
443
- EmberConfigTxPowerMode.TX_POWER_MODE_DEFAULT = 0x00;
444
- // Enable boost power mode. This is a high performance radio mode which
445
- // offers increased receive sensitivity and transmit power at the cost of an
446
- // increase in power consumption.
447
- EmberConfigTxPowerMode.TX_POWER_MODE_BOOST = 0x01;
448
- // Enable the alternate transmitter output. This allows for simplified
449
- // connection to an external power amplifier via the RF_TX_ALT_P and
450
- // RF_TX_ALT_N pins. TX_POWER_MODE_BOOST_AND_ALTERNATE 0x03 Enable both
451
- // boost mode and the alternate transmitter output.
452
- EmberConfigTxPowerMode.TX_POWER_MODE_ALTERNATE = 0x02;
453
- exports.EmberConfigTxPowerMode = EmberConfigTxPowerMode;
454
- class EzspPolicyId extends basic.uint8_t {
455
- }
456
- // Identifies a policy.
457
- // Controls trust center behavior.
458
- EzspPolicyId.TRUST_CENTER_POLICY = 0x00;
459
- // Controls how external binding modification requests are handled.
460
- EzspPolicyId.BINDING_MODIFICATION_POLICY = 0x01;
461
- // Controls whether the Host supplies unicast replies.
462
- EzspPolicyId.UNICAST_REPLIES_POLICY = 0x02;
463
- // Controls whether pollHandler callbacks are generated.
464
- EzspPolicyId.POLL_HANDLER_POLICY = 0x03;
465
- // Controls whether the message contents are included in the
466
- // messageSentHandler callback.
467
- EzspPolicyId.MESSAGE_CONTENTS_IN_CALLBACK_POLICY = 0x04;
468
- // Controls whether the Trust Center will respond to Trust Center link key
469
- // requests.
470
- EzspPolicyId.TC_KEY_REQUEST_POLICY = 0x05;
471
- // Controls whether the Trust Center will respond to application link key
472
- // requests.
473
- EzspPolicyId.APP_KEY_REQUEST_POLICY = 0x06;
474
- // Controls whether ZigBee packets that appear invalid are automatically
475
- // dropped by the stack. A counter will be incremented when this occurs.
476
- EzspPolicyId.PACKET_VALIDATE_LIBRARY_POLICY = 0x07;
477
- // Controls whether the stack will process ZLL messages.
478
- EzspPolicyId.ZLL_POLICY = 0x08;
479
- EzspPolicyId.TC_REJOINS_USING_WELL_KNOWN_KEY_POLICY = 0x09;
480
- exports.EzspPolicyId = EzspPolicyId;
481
- class EzspDecisionId extends basic.uint16_t {
482
- }
483
- // Identifies a policy decision.
484
- // Send the network key in the clear to all joining and rejoining devices.
485
- EzspDecisionId.ALLOW_JOINS = 0x00;
486
- // Send the network key in the clear to all joining devices. Rejoining
487
- // devices are sent the network key encrypted with their trust center link
488
- // key. The trust center and any rejoining device are assumed to share a
489
- // link key, either preconfigured or obtained under a previous policy.
490
- EzspDecisionId.ALLOW_JOINS_REJOINS_HAVE_LINK_KEY = 0x04;
491
- // Send the network key encrypted with the joining or rejoining device's
492
- // trust center link key. The trust center and any joining or rejoining
493
- // device are assumed to share a link key, either preconfigured or obtained
494
- // under a previous policy. This is the default value for the
495
- // TRUST_CENTER_POLICY.
496
- EzspDecisionId.ALLOW_PRECONFIGURED_KEY_JOINS = 0x01;
497
- // Send the network key encrypted with the rejoining device's trust center
498
- // link key. The trust center and any rejoining device are assumed to share
499
- // a link key, either preconfigured or obtained under a previous policy. No
500
- // new devices are allowed to join.
501
- EzspDecisionId.ALLOW_REJOINS_ONLY = 0x02;
502
- // Reject all unsecured join and rejoin attempts.
503
- EzspDecisionId.DISALLOW_ALL_JOINS_AND_REJOINS = 0x03;
504
- // Take no action on trust center rejoin attempts.
505
- EzspDecisionId.IGNORE_TRUST_CENTER_REJOINS = 0x05;
506
- // BINDING_MODIFICATION_POLICY default decision. Do not allow the local
507
- // binding table to be changed by remote nodes.
508
- EzspDecisionId.DISALLOW_BINDING_MODIFICATION = 0x10;
509
- // BINDING_MODIFICATION_POLICY decision. Allow remote nodes to change
510
- // the local binding table.
511
- EzspDecisionId.ALLOW_BINDING_MODIFICATION = 0x11;
512
- // BINDING_MODIFICATION_POLICY decision. Allows remote nodes to set local
513
- // binding entries only if the entries correspond to endpoints defined on
514
- // the device, and for output clusters bound to those endpoints.
515
- EzspDecisionId.CHECK_BINDING_MODIFICATIONS_ARE_VALID_ENDPOINT_CLUSTERS = 0x12;
516
- // UNICAST_REPLIES_POLICY default decision. The NCP will automatically send
517
- // an empty reply (containing no payload) for every unicast received.
518
- EzspDecisionId.HOST_WILL_NOT_SUPPLY_REPLY = 0x20;
519
- // UNICAST_REPLIES_POLICY decision. The NCP will only send a reply if it
520
- // receives a sendReply command from the Host.
521
- EzspDecisionId.HOST_WILL_SUPPLY_REPLY = 0x21;
522
- // POLL_HANDLER_POLICY default decision. Do not inform the Host when a child
523
- // polls.
524
- EzspDecisionId.POLL_HANDLER_IGNORE = 0x30;
525
- // POLL_HANDLER_POLICY decision. Generate a pollHandler callback when a
526
- // child polls.
527
- EzspDecisionId.POLL_HANDLER_CALLBACK = 0x31;
528
- // MESSAGE_CONTENTS_IN_CALLBACK_POLICY default decision. Include only the
529
- // message tag in the messageSentHandler callback.
530
- EzspDecisionId.MESSAGE_TAG_ONLY_IN_CALLBACK = 0x40;
531
- // MESSAGE_CONTENTS_IN_CALLBACK_POLICY decision. Include both the message
532
- // tag and the message contents in the messageSentHandler callback.
533
- EzspDecisionId.MESSAGE_TAG_AND_CONTENTS_IN_CALLBACK = 0x41;
534
- // TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
535
- // for a Trust Center link key, it will be ignored.
536
- EzspDecisionId.DENY_TC_KEY_REQUESTS = 0x50;
537
- // TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
538
- // for a Trust Center link key, it will reply to it with the corresponding
539
- // key.
540
- EzspDecisionId.ALLOW_TC_KEY_REQUESTS = 0x51;
541
- // TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
542
- // for a Trust Center link key, it will generate a key to send to the
543
- // joiner.
544
- EzspDecisionId.GENERATE_NEW_TC_LINK_KEY = 0x52;
545
- // APP_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
546
- // for an application link key, it will be ignored.
547
- EzspDecisionId.DENY_APP_KEY_REQUESTS = 0x60;
548
- // APP_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
549
- // for an application link key, it will randomly generate a key and send it
550
- // to both partners.
551
- EzspDecisionId.ALLOW_APP_KEY_REQUESTS = 0x61;
552
- // Indicates that packet validate library checks are enabled on the NCP.
553
- EzspDecisionId.PACKET_VALIDATE_LIBRARY_CHECKS_ENABLED = 0x62;
554
- // Indicates that packet validate library checks are NOT enabled on the NCP.
555
- EzspDecisionId.PACKET_VALIDATE_LIBRARY_CHECKS_DISABLED = 0x63;
556
- exports.EzspDecisionId = EzspDecisionId;
557
- class EzspMfgTokenId extends basic.uint8_t {
558
- }
559
- // Manufacturing token IDs used by ezspGetMfgToken().
560
- // Custom version (2 bytes).
561
- EzspMfgTokenId.MFG_CUSTOM_VERSION = 0x00;
562
- // Manufacturing string (16 bytes).
563
- EzspMfgTokenId.MFG_STRING = 0x01;
564
- // Board name (16 bytes).
565
- EzspMfgTokenId.MFG_BOARD_NAME = 0x02;
566
- // Manufacturing ID (2 bytes).
567
- EzspMfgTokenId.MFG_MANUF_ID = 0x03;
568
- // Radio configuration (2 bytes).
569
- EzspMfgTokenId.MFG_PHY_CONFIG = 0x04;
570
- // Bootload AES key (16 bytes).
571
- EzspMfgTokenId.MFG_BOOTLOAD_AES_KEY = 0x05;
572
- // ASH configuration (40 bytes).
573
- EzspMfgTokenId.MFG_ASH_CONFIG = 0x06;
574
- // EZSP storage (8 bytes).
575
- EzspMfgTokenId.MFG_STORAGE = 0x07;
576
- // Radio calibration data (64 bytes). 4 bytes are stored for each of the 16
577
- // channels. This token is not stored in the Flash Information Area. It is
578
- // updated by the stack each time a calibration is performed.
579
- EzspMfgTokenId.STACK_CAL_DATA = 0x08;
580
- // Certificate Based Key Exchange (CBKE) data (92 bytes).
581
- EzspMfgTokenId.MFG_CBKE_DATA = 0x09;
582
- // Installation code (20 bytes).
583
- EzspMfgTokenId.MFG_INSTALLATION_CODE = 0x0A;
584
- // Radio channel filter calibration data (1 byte). This token is not stored
585
- // in the Flash Information Area. It is updated by the stack each time a
586
- // calibration is performed.
587
- EzspMfgTokenId.STACK_CAL_FILTER = 0x0B;
588
- // Custom EUI64 MAC address (8 bytes).
589
- EzspMfgTokenId.MFG_CUSTOM_EUI_64 = 0x0C;
590
- // CTUNE value (2 byte).
591
- EzspMfgTokenId.MFG_CTUNE = 0x0D;
592
- exports.EzspMfgTokenId = EzspMfgTokenId;
593
- class EzspStatus extends basic.uint8_t {
594
- }
595
- // Status values used by EZSP.
596
- // Success.
597
- EzspStatus.SUCCESS = 0x00;
598
- // Fatal error.
599
- EzspStatus.SPI_ERR_FATAL = 0x10;
600
- // The Response frame of the current transaction indicates the NCP has
601
- // reset.
602
- EzspStatus.SPI_ERR_NCP_RESET = 0x11;
603
- // The NCP is reporting that the Command frame of the current transaction is
604
- // oversized (the length byte is too large).
605
- EzspStatus.SPI_ERR_OVERSIZED_FRAME = 0x12;
606
- // The Response frame of the current transaction indicates the previous
607
- // transaction was aborted (nSSEL deasserted too soon).
608
- EzspStatus.SPI_ERR_ABORTED_TRANSACTION = 0x13;
609
- // The Response frame of the current transaction indicates the frame
610
- // terminator is missing from the Command frame.
611
- EzspStatus.SPI_ERR_MISSING_FRAME_TERMINATOR = 0x14;
612
- // The NCP has not provided a Response within the time limit defined by
613
- // WAIT_SECTION_TIMEOUT.
614
- EzspStatus.SPI_ERR_WAIT_SECTION_TIMEOUT = 0x15;
615
- // The Response frame from the NCP is missing the frame terminator.
616
- EzspStatus.SPI_ERR_NO_FRAME_TERMINATOR = 0x16;
617
- // The Host attempted to send an oversized Command (the length byte is too
618
- // large) and the AVR's spi-protocol.c blocked the transmission.
619
- EzspStatus.SPI_ERR_COMMAND_OVERSIZED = 0x17;
620
- // The NCP attempted to send an oversized Response (the length byte is too
621
- // large) and the AVR's spi-protocol.c blocked the reception.
622
- EzspStatus.SPI_ERR_RESPONSE_OVERSIZED = 0x18;
623
- // The Host has sent the Command and is still waiting for the NCP to send a
624
- // Response.
625
- EzspStatus.SPI_WAITING_FOR_RESPONSE = 0x19;
626
- // The NCP has not asserted nHOST_INT within the time limit defined by
627
- // WAKE_HANDSHAKE_TIMEOUT.
628
- EzspStatus.SPI_ERR_HANDSHAKE_TIMEOUT = 0x1A;
629
- // The NCP has not asserted nHOST_INT after an NCP reset within the time
630
- // limit defined by STARTUP_TIMEOUT.
631
- EzspStatus.SPI_ERR_STARTUP_TIMEOUT = 0x1B;
632
- // The Host attempted to verify the SPI Protocol activity and version
633
- // number, and the verification failed.
634
- EzspStatus.SPI_ERR_STARTUP_FAIL = 0x1C;
635
- // The Host has sent a command with a SPI Byte that is unsupported by the
636
- // current mode the NCP is operating in.
637
- EzspStatus.SPI_ERR_UNSUPPORTED_SPI_COMMAND = 0x1D;
638
- // Operation not yet complete.
639
- EzspStatus.ASH_IN_PROGRESS = 0x20;
640
- // Fatal error detected by host.
641
- EzspStatus.HOST_FATAL_ERROR = 0x21;
642
- // Fatal error detected by NCP.
643
- EzspStatus.ASH_NCP_FATAL_ERROR = 0x22;
644
- // Tried to send DATA frame too long.
645
- EzspStatus.DATA_FRAME_TOO_LONG = 0x23;
646
- // Tried to send DATA frame too short.
647
- EzspStatus.DATA_FRAME_TOO_SHORT = 0x24;
648
- // No space for tx'ed DATA frame.
649
- EzspStatus.NO_TX_SPACE = 0x25;
650
- // No space for rec'd DATA frame.
651
- EzspStatus.NO_RX_SPACE = 0x26;
652
- // No receive data available.
653
- EzspStatus.NO_RX_DATA = 0x27;
654
- // Not in Connected state.
655
- EzspStatus.NOT_CONNECTED = 0x28;
656
- // The NCP received a command before the EZSP version had been set.
657
- EzspStatus.ERROR_VERSION_NOT_SET = 0x30;
658
- // The NCP received a command containing an unsupported frame ID.
659
- EzspStatus.ERROR_INVALID_FRAME_ID = 0x31;
660
- // The direction flag in the frame control field was incorrect.
661
- EzspStatus.ERROR_WRONG_DIRECTION = 0x32;
662
- // The truncated flag in the frame control field was set, indicating there
663
- // was not enough memory available to complete the response or that the
664
- // response would have exceeded the maximum EZSP frame length.
665
- EzspStatus.ERROR_TRUNCATED = 0x33;
666
- // The overflow flag in the frame control field was set, indicating one or
667
- // more callbacks occurred since the previous response and there was not
668
- // enough memory available to report them to the Host.
669
- EzspStatus.ERROR_OVERFLOW = 0x34;
670
- // Insufficient memory was available.
671
- EzspStatus.ERROR_OUT_OF_MEMORY = 0x35;
672
- // The value was out of bounds.
673
- EzspStatus.ERROR_INVALID_VALUE = 0x36;
674
- // The configuration id was not recognized.
675
- EzspStatus.ERROR_INVALID_ID = 0x37;
676
- // Configuration values can no longer be modified.
677
- EzspStatus.ERROR_INVALID_CALL = 0x38;
678
- // The NCP failed to respond to a command.
679
- EzspStatus.ERROR_NO_RESPONSE = 0x39;
680
- // The length of the command exceeded the maximum EZSP frame length.
681
- EzspStatus.ERROR_COMMAND_TOO_LONG = 0x40;
682
- // The UART receive queue was full causing a callback response to be
683
- // dropped.
684
- EzspStatus.ERROR_QUEUE_FULL = 0x41;
685
- // The command has been filtered out by NCP.
686
- EzspStatus.ERROR_COMMAND_FILTERED = 0x42;
687
- // EZSP Security Key is already set
688
- EzspStatus.ERROR_SECURITY_KEY_ALREADY_SET = 0x43;
689
- // EZSP Security Type is invalid
690
- EzspStatus.ERROR_SECURITY_TYPE_INVALID = 0x44;
691
- // EZSP Security Parameters are invalid
692
- EzspStatus.ERROR_SECURITY_PARAMETERS_INVALID = 0x45;
693
- // EZSP Security Parameters are already set
694
- EzspStatus.ERROR_SECURITY_PARAMETERS_ALREADY_SET = 0x46;
695
- // EZSP Security Key is not set
696
- EzspStatus.ERROR_SECURITY_KEY_NOT_SET = 0x47;
697
- // EZSP Security Parameters are not set
698
- EzspStatus.ERROR_SECURITY_PARAMETERS_NOT_SET = 0x48;
699
- // Received frame with unsupported control byte
700
- EzspStatus.ERROR_UNSUPPORTED_CONTROL = 0x49;
701
- // Received frame is unsecure, when security is established
702
- EzspStatus.ERROR_UNSECURE_FRAME = 0x4A;
703
- // Incompatible ASH version
704
- EzspStatus.ASH_ERROR_VERSION = 0x50;
705
- // Exceeded max ACK timeouts
706
- EzspStatus.ASH_ERROR_TIMEOUTS = 0x51;
707
- // Timed out waiting for RSTACK
708
- EzspStatus.ASH_ERROR_RESET_FAIL = 0x52;
709
- // Unexpected ncp reset
710
- EzspStatus.ASH_ERROR_NCP_RESET = 0x53;
711
- // Serial port initialization failed
712
- EzspStatus.ERROR_SERIAL_INIT = 0x54;
713
- // Invalid ncp processor type
714
- EzspStatus.ASH_ERROR_NCP_TYPE = 0x55;
715
- // Invalid ncp reset method
716
- EzspStatus.ASH_ERROR_RESET_METHOD = 0x56;
717
- // XON/XOFF not supported by host driver
718
- EzspStatus.ASH_ERROR_XON_XOFF = 0x57;
719
- // ASH protocol started
720
- EzspStatus.ASH_STARTED = 0x70;
721
- // ASH protocol connected
722
- EzspStatus.ASH_CONNECTED = 0x71;
723
- // ASH protocol disconnected
724
- EzspStatus.ASH_DISCONNECTED = 0x72;
725
- // Timer expired waiting for ack
726
- EzspStatus.ASH_ACK_TIMEOUT = 0x73;
727
- // Frame in progress cancelled
728
- EzspStatus.ASH_CANCELLED = 0x74;
729
- // Received frame out of sequence
730
- EzspStatus.ASH_OUT_OF_SEQUENCE = 0x75;
731
- // Received frame with CRC error
732
- EzspStatus.ASH_BAD_CRC = 0x76;
733
- // Received frame with comm error
734
- EzspStatus.ASH_COMM_ERROR = 0x77;
735
- // Received frame with bad ackNum
736
- EzspStatus.ASH_BAD_ACKNUM = 0x78;
737
- // Received frame shorter than minimum
738
- EzspStatus.ASH_TOO_SHORT = 0x79;
739
- // Received frame longer than maximum
740
- EzspStatus.ASH_TOO_LONG = 0x7A;
741
- // Received frame with illegal control byte
742
- EzspStatus.ASH_BAD_CONTROL = 0x7B;
743
- // Received frame with illegal length for its type
744
- EzspStatus.ASH_BAD_LENGTH = 0x7C;
745
- // Received ASH Ack
746
- EzspStatus.ASH_ACK_RECEIVED = 0x7D;
747
- // Sent ASH Ack
748
- EzspStatus.ASH_ACK_SENT = 0x7E;
749
- // No reset or error
750
- EzspStatus.NO_ERROR = 0xFF;
751
- exports.EzspStatus = EzspStatus;
752
- class EmberStatus extends basic.uint8_t {
753
- }
754
- // Return type for stack functions.
755
- // The generic 'no error' message.
756
- EmberStatus.SUCCESS = 0x00;
757
- // The generic 'fatal error' message.
758
- EmberStatus.ERR_FATAL = 0x01;
759
- // An invalid value was passed as an argument to a function
760
- EmberStatus.BAD_ARGUMENT = 0x02;
761
- // The manufacturing and stack token format in nonvolatile memory is
762
- // different than what the stack expects (returned at initialization).
763
- EmberStatus.EEPROM_MFG_STACK_VERSION_MISMATCH = 0x04;
764
- // The static memory definitions in ember-staticmemory.h are incompatible
765
- // with this stack version.
766
- EmberStatus.INCOMPATIBLE_STATIC_MEMORY_DEFINITIONS = 0x05;
767
- // The manufacturing token format in non-volatile memory is different than
768
- // what the stack expects (returned at initialization).
769
- EmberStatus.EEPROM_MFG_VERSION_MISMATCH = 0x06;
770
- // The stack token format in non-volatile memory is different than what the
771
- // stack expects (returned at initialization).
772
- EmberStatus.EEPROM_STACK_VERSION_MISMATCH = 0x07;
773
- // There are no more buffers.
774
- EmberStatus.NO_BUFFERS = 0x18;
775
- // Specified an invalid baud rate.
776
- EmberStatus.SERIAL_INVALID_BAUD_RATE = 0x20;
777
- // Specified an invalid serial port.
778
- EmberStatus.SERIAL_INVALID_PORT = 0x21;
779
- // Tried to send too much data.
780
- EmberStatus.SERIAL_TX_OVERFLOW = 0x22;
781
- // There was not enough space to store a received character and the
782
- // character was dropped.
783
- EmberStatus.SERIAL_RX_OVERFLOW = 0x23;
784
- // Detected a UART framing error.
785
- EmberStatus.SERIAL_RX_FRAME_ERROR = 0x24;
786
- // Detected a UART parity error.
787
- EmberStatus.SERIAL_RX_PARITY_ERROR = 0x25;
788
- // There is no received data to process.
789
- EmberStatus.SERIAL_RX_EMPTY = 0x26;
790
- // The receive interrupt was not handled in time, and a character was
791
- // dropped.
792
- EmberStatus.SERIAL_RX_OVERRUN_ERROR = 0x27;
793
- // The MAC transmit queue is full.
794
- EmberStatus.MAC_TRANSMIT_QUEUE_FULL = 0x39;
795
- // MAC header FCR error on receive.
796
- EmberStatus.MAC_UNKNOWN_HEADER_TYPE = 0x3A;
797
- // The MAC can't complete this task because it is scanning.
798
- EmberStatus.MAC_SCANNING = 0x3D;
799
- // No pending data exists for device doing a data poll.
800
- EmberStatus.MAC_NO_DATA = 0x31;
801
- // Attempt to scan when we are joined to a network.
802
- EmberStatus.MAC_JOINED_NETWORK = 0x32;
803
- // Scan duration must be 0 to 14 inclusive. Attempt was made to scan with an
804
- // incorrect duration value.
805
- EmberStatus.MAC_BAD_SCAN_DURATION = 0x33;
806
- // emberStartScan was called with an incorrect scan type.
807
- EmberStatus.MAC_INCORRECT_SCAN_TYPE = 0x34;
808
- // emberStartScan was called with an invalid channel mask.
809
- EmberStatus.MAC_INVALID_CHANNEL_MASK = 0x35;
810
- // Failed to scan current channel because we were unable to transmit the
811
- // relevant MAC command.
812
- EmberStatus.MAC_COMMAND_TRANSMIT_FAILURE = 0x36;
813
- // We expected to receive an ACK following the transmission, but the MAC
814
- // level ACK was never received.
815
- EmberStatus.MAC_NO_ACK_RECEIVED = 0x40;
816
- // Indirect data message timed out before polled.
817
- EmberStatus.MAC_INDIRECT_TIMEOUT = 0x42;
818
- // The Simulated EEPROM is telling the application that there is at least
819
- // one flash page to be erased. The GREEN status means the current page has
820
- // not filled above the ERASE_CRITICAL_THRESHOLD. The application should
821
- // call the function halSimEepromErasePage when it can to erase a page.
822
- EmberStatus.SIM_EEPROM_ERASE_PAGE_GREEN = 0x43;
823
- // The Simulated EEPROM is telling the application that there is at least
824
- // one flash page to be erased. The RED status means the current page has
825
- // filled above the ERASE_CRITICAL_THRESHOLD. Due to the shrinking
826
- // availability of write space, there is a danger of data loss. The
827
- // application must call the function halSimEepromErasePage as soon as
828
- // possible to erase a page.
829
- EmberStatus.SIM_EEPROM_ERASE_PAGE_RED = 0x44;
830
- // The Simulated EEPROM has run out of room to write any new data and the
831
- // data trying to be set has been lost. This error code is the result of
832
- // ignoring the SIM_EEPROM_ERASE_PAGE_RED error code. The application must
833
- // call the function halSimEepromErasePage to make room for any further
834
- // calls to set a token.
835
- EmberStatus.SIM_EEPROM_FULL = 0x45;
836
- // A fatal error has occurred while trying to write data to the Flash. The
837
- // target memory attempting to be programmed is already programmed. The
838
- // flash write routines were asked to flip a bit from a 0 to 1, which is
839
- // physically impossible and the write was therefore inhibited. The data in
840
- // the flash cannot be trusted after this error.
841
- EmberStatus.ERR_FLASH_WRITE_INHIBITED = 0x46;
842
- // A fatal error has occurred while trying to write data to the Flash and
843
- // the write verification has failed. The data in the flash cannot be
844
- // trusted after this error, and it is possible this error is the result of
845
- // exceeding the life cycles of the flash.
846
- EmberStatus.ERR_FLASH_VERIFY_FAILED = 0x47;
847
- // Attempt 1 to initialize the Simulated EEPROM has failed. This failure
848
- // means the information already stored in Flash (or a lack thereof), is
849
- // fatally incompatible with the token information compiled into the code
850
- // image being run.
851
- EmberStatus.SIM_EEPROM_INIT_1_FAILED = 0x48;
852
- // Attempt 2 to initialize the Simulated EEPROM has failed. This failure
853
- // means Attempt 1 failed, and the token system failed to properly reload
854
- // default tokens and reset the Simulated EEPROM.
855
- EmberStatus.SIM_EEPROM_INIT_2_FAILED = 0x49;
856
- // Attempt 3 to initialize the Simulated EEPROM has failed. This failure
857
- // means one or both of the tokens TOKEN_MFG_NVDATA_VERSION or
858
- // TOKEN_STACK_NVDATA_VERSION were incorrect and the token system failed to
859
- // properly reload default tokens and reset the Simulated EEPROM.
860
- EmberStatus.SIM_EEPROM_INIT_3_FAILED = 0x4A;
861
- // A fatal error has occurred while trying to write data to the flash,
862
- // possibly due to write protection or an invalid address. The data in the
863
- // flash cannot be trusted after this error, and it is possible this error
864
- // is the result of exceeding the life cycles of the flash.
865
- EmberStatus.ERR_FLASH_PROG_FAIL = 0x4B;
866
- // A fatal error has occurred while trying to erase flash, possibly due to
867
- // write protection. The data in the flash cannot be trusted after this
868
- // error, and it is possible this error is the result of exceeding the life
869
- // cycles of the flash.
870
- EmberStatus.ERR_FLASH_ERASE_FAIL = 0x4C;
871
- // The bootloader received an invalid message (failed attempt to go into
872
- // bootloader).
873
- EmberStatus.ERR_BOOTLOADER_TRAP_TABLE_BAD = 0x58;
874
- // Bootloader received an invalid message (failed attempt to go into
875
- // bootloader).
876
- EmberStatus.ERR_BOOTLOADER_TRAP_UNKNOWN = 0x59;
877
- // The bootloader cannot complete the bootload operation because either an
878
- // image was not found or the image exceeded memory bounds.
879
- EmberStatus.ERR_BOOTLOADER_NO_IMAGE = 0x5A;
880
- // The APS layer attempted to send or deliver a message, but it failed.
881
- EmberStatus.DELIVERY_FAILED = 0x66;
882
- // This binding index is out of range of the current binding table.
883
- EmberStatus.BINDING_INDEX_OUT_OF_RANGE = 0x69;
884
- // This address table index is out of range for the current address table.
885
- EmberStatus.ADDRESS_TABLE_INDEX_OUT_OF_RANGE = 0x6A;
886
- // An invalid binding table index was given to a function.
887
- EmberStatus.INVALID_BINDING_INDEX = 0x6C;
888
- // The API call is not allowed given the current state of the stack.
889
- EmberStatus.INVALID_CALL = 0x70;
890
- // The link cost to a node is not known.
891
- EmberStatus.COST_NOT_KNOWN = 0x71;
892
- // The maximum number of in-flight messages (i.e.
893
- // APS_UNICAST_MESSAGE_COUNT) has been reached.
894
- EmberStatus.MAX_MESSAGE_LIMIT_REACHED = 0x72;
895
- // The message to be transmitted is too big to fit into a single over-the-
896
- // air packet.
897
- EmberStatus.MESSAGE_TOO_LONG = 0x74;
898
- // The application is trying to delete or overwrite a binding that is in
899
- // use.
900
- EmberStatus.BINDING_IS_ACTIVE = 0x75;
901
- // The application is trying to overwrite an address table entry that is in
902
- // use.
903
- EmberStatus.ADDRESS_TABLE_ENTRY_IS_ACTIVE = 0x76;
904
- // Conversion is complete.
905
- EmberStatus.ADC_CONVERSION_DONE = 0x80;
906
- // Conversion cannot be done because a request is being processed.
907
- EmberStatus.ADC_CONVERSION_BUSY = 0x81;
908
- // Conversion is deferred until the current request has been processed.
909
- EmberStatus.ADC_CONVERSION_DEFERRED = 0x82;
910
- // No results are pending.
911
- EmberStatus.ADC_NO_CONVERSION_PENDING = 0x84;
912
- // Sleeping (for a duration) has been abnormally interrupted and exited
913
- // prematurely.
914
- EmberStatus.SLEEP_INTERRUPTED = 0x85;
915
- // The transmit hardware buffer underflowed.
916
- EmberStatus.PHY_TX_UNDERFLOW = 0x88;
917
- // The transmit hardware did not finish transmitting a packet.
918
- EmberStatus.PHY_TX_INCOMPLETE = 0x89;
919
- // An unsupported channel setting was specified.
920
- EmberStatus.PHY_INVALID_CHANNEL = 0x8A;
921
- // An unsupported power setting was specified.
922
- EmberStatus.PHY_INVALID_POWER = 0x8B;
923
- // The packet cannot be transmitted because the physical MAC layer is
924
- // currently transmitting a packet. (This is used for the MAC backoff
925
- // algorithm.) PHY_TX_CCA_FAIL 0x8D The transmit attempt failed because all
926
- // CCA attempts indicated that the channel was busy
927
- EmberStatus.PHY_TX_BUSY = 0x8C;
928
- // The software installed on the hardware doesn't recognize the hardware
929
- // radio type.
930
- EmberStatus.PHY_OSCILLATOR_CHECK_FAILED = 0x8E;
931
- // The expected ACK was received after the last transmission.
932
- EmberStatus.PHY_ACK_RECEIVED = 0x8F;
933
- // The stack software has completed initialization and is ready to send and
934
- // receive packets over the air.
935
- EmberStatus.NETWORK_UP = 0x90;
936
- // The network is not operating.
937
- EmberStatus.NETWORK_DOWN = 0x91;
938
- // An attempt to join a network failed.
939
- EmberStatus.JOIN_FAILED = 0x94;
940
- // After moving, a mobile node's attempt to re-establish contact with the
941
- // network failed.
942
- EmberStatus.MOVE_FAILED = 0x96;
943
- // An attempt to join as a router failed due to a ZigBee versus ZigBee Pro
944
- // incompatibility. ZigBee devices joining ZigBee Pro networks (or vice
945
- // versa) must join as End Devices, not Routers.
946
- EmberStatus.CANNOT_JOIN_AS_ROUTER = 0x98;
947
- // The local node ID has changed. The application can obtain the new node ID
948
- // by calling emberGetNodeId().
949
- EmberStatus.NODE_ID_CHANGED = 0x99;
950
- // The local PAN ID has changed. The application can obtain the new PAN ID
951
- // by calling emberGetPanId().
952
- EmberStatus.PAN_ID_CHANGED = 0x9A;
953
- // An attempt to join or rejoin the network failed because no router beacons
954
- // could be heard by the joining node.
955
- EmberStatus.NO_BEACONS = 0xAB;
956
- // An attempt was made to join a Secured Network using a pre-configured key,
957
- // but the Trust Center sent back a Network Key in-the-clear when an
958
- // encrypted Network Key was required.
959
- EmberStatus.RECEIVED_KEY_IN_THE_CLEAR = 0xAC;
960
- // An attempt was made to join a Secured Network, but the device did not
961
- // receive a Network Key.
962
- EmberStatus.NO_NETWORK_KEY_RECEIVED = 0xAD;
963
- // After a device joined a Secured Network, a Link Key was requested but no
964
- // response was ever received.
965
- EmberStatus.NO_LINK_KEY_RECEIVED = 0xAE;
966
- // An attempt was made to join a Secured Network without a pre-configured
967
- // key, but the Trust Center sent encrypted data using a pre-configured key.
968
- EmberStatus.PRECONFIGURED_KEY_REQUIRED = 0xAF;
969
- // The node has not joined a network.
970
- EmberStatus.NOT_JOINED = 0x93;
971
- // The chosen security level (the value of SECURITY_LEVEL) is not supported
972
- // by the stack.
973
- EmberStatus.INVALID_SECURITY_LEVEL = 0x95;
974
- // A message cannot be sent because the network is currently overloaded.
975
- EmberStatus.NETWORK_BUSY = 0xA1;
976
- // The application tried to send a message using an endpoint that it has not
977
- // defined.
978
- EmberStatus.INVALID_ENDPOINT = 0xA3;
979
- // The application tried to use a binding that has been remotely modified
980
- // and the change has not yet been reported to the application.
981
- EmberStatus.BINDING_HAS_CHANGED = 0xA4;
982
- // An attempt to generate random bytes failed because of insufficient random
983
- // data from the radio.
984
- EmberStatus.INSUFFICIENT_RANDOM_DATA = 0xA5;
985
- // There was an error in trying to encrypt at the APS Level. This could
986
- // result from either an inability to determine the long address of the
987
- // recipient from the short address (no entry in the binding table) or there
988
- // is no link key entry in the table associated with the destination, or
989
- // there was a failure to load the correct key into the encryption core.
990
- // TRUST_CENTER_MASTER_KEY_NOT_SET 0xA7 There was an attempt to form a
991
- // network using commercial security without setting the Trust Center master
992
- // key first.
993
- EmberStatus.APS_ENCRYPTION_ERROR = 0xA6;
994
- // There was an attempt to form or join a network with security without
995
- // calling emberSetInitialSecurityState() first.
996
- EmberStatus.SECURITY_STATE_NOT_SET = 0xA8;
997
- // There was an attempt to set an entry in the key table using an invalid
998
- // long address. An entry cannot be set using either the local device's or
999
- // Trust Center's IEEE address. Or an entry already exists in the table with
1000
- // the same IEEE address. An Address of all zeros or all F's are not valid
1001
- // addresses in 802.15.4.
1002
- EmberStatus.KEY_TABLE_INVALID_ADDRESS = 0xB3;
1003
- // There was an attempt to set a security configuration that is not valid
1004
- // given the other security settings.
1005
- EmberStatus.SECURITY_CONFIGURATION_INVALID = 0xB7;
1006
- // There was an attempt to broadcast a key switch too quickly after
1007
- // broadcasting the next network key. The Trust Center must wait at least a
1008
- // period equal to the broadcast timeout so that all routers have a chance
1009
- // to receive the broadcast of the new network key.
1010
- EmberStatus.TOO_SOON_FOR_SWITCH_KEY = 0xB8;
1011
- // The message could not be sent because the link key corresponding to the
1012
- // destination is not authorized for use in APS data messages. APS Commands
1013
- // (sent by the stack) are allowed. To use it for encryption of APS data
1014
- // messages it must be authorized using a key agreement protocol (such as
1015
- // CBKE).
1016
- EmberStatus.KEY_NOT_AUTHORIZED = 0xBB;
1017
- // The security data provided was not valid, or an integrity check failed.
1018
- EmberStatus.SECURITY_DATA_INVALID = 0xBD;
1019
- // A ZigBee route error command frame was received indicating that a source
1020
- // routed message from this node failed en route.
1021
- EmberStatus.SOURCE_ROUTE_FAILURE = 0xA9;
1022
- // A ZigBee route error command frame was received indicating that a message
1023
- // sent to this node along a many-to-one route failed en route. The route
1024
- // error frame was delivered by an ad-hoc search for a functioning route.
1025
- EmberStatus.MANY_TO_ONE_ROUTE_FAILURE = 0xAA;
1026
- // A critical and fatal error indicating that the version of the stack
1027
- // trying to run does not match with the chip it is running on. The software
1028
- // (stack) on the chip must be replaced with software that is compatible
1029
- // with the chip.
1030
- EmberStatus.STACK_AND_HARDWARE_MISMATCH = 0xB0;
1031
- // An index was passed into the function that was larger than the valid
1032
- // range.
1033
- EmberStatus.INDEX_OUT_OF_RANGE = 0xB1;
1034
- // There are no empty entries left in the table.
1035
- EmberStatus.TABLE_FULL = 0xB4;
1036
- // The requested table entry has been erased and contains no valid data.
1037
- EmberStatus.TABLE_ENTRY_ERASED = 0xB6;
1038
- // The requested function cannot be executed because the library that
1039
- // contains the necessary functionality is not present.
1040
- EmberStatus.LIBRARY_NOT_PRESENT = 0xB5;
1041
- // The stack accepted the command and is currently processing the request.
1042
- // The results will be returned via an appropriate handler.
1043
- EmberStatus.OPERATION_IN_PROGRESS = 0xBA;
1044
- // This error is reserved for customer application use. This will never be
1045
- // returned from any portion of the network stack or HAL.
1046
- EmberStatus.APPLICATION_ERROR_0 = 0xF0;
1047
- // This error is reserved for customer application use. This will never be
1048
- // returned from any portion of the network stack or HAL.
1049
- EmberStatus.APPLICATION_ERROR_1 = 0xF1;
1050
- // This error is reserved for customer application use. This will never be
1051
- // returned from any portion of the network stack or HAL.
1052
- EmberStatus.APPLICATION_ERROR_2 = 0xF2;
1053
- // This error is reserved for customer application use. This will never be
1054
- // returned from any portion of the network stack or HAL.
1055
- EmberStatus.APPLICATION_ERROR_3 = 0xF3;
1056
- // This error is reserved for customer application use. This will never be
1057
- // returned from any portion of the network stack or HAL.
1058
- EmberStatus.APPLICATION_ERROR_4 = 0xF4;
1059
- // This error is reserved for customer application use. This will never be
1060
- // returned from any portion of the network stack or HAL.
1061
- EmberStatus.APPLICATION_ERROR_5 = 0xF5;
1062
- // This error is reserved for customer application use. This will never be
1063
- // returned from any portion of the network stack or HAL.
1064
- EmberStatus.APPLICATION_ERROR_6 = 0xF6;
1065
- // This error is reserved for customer application use. This will never be
1066
- // returned from any portion of the network stack or HAL.
1067
- EmberStatus.APPLICATION_ERROR_7 = 0xF7;
1068
- // This error is reserved for customer application use. This will never be
1069
- // returned from any portion of the network stack or HAL.
1070
- EmberStatus.APPLICATION_ERROR_8 = 0xF8;
1071
- // This error is reserved for customer application use. This will never be
1072
- // returned from any portion of the network stack or HAL.
1073
- EmberStatus.APPLICATION_ERROR_9 = 0xF9;
1074
- // This error is reserved for customer application use. This will never be
1075
- // returned from any portion of the network stack or HAL.
1076
- EmberStatus.APPLICATION_ERROR_10 = 0xFA;
1077
- // This error is reserved for customer application use. This will never be
1078
- // returned from any portion of the network stack or HAL.
1079
- EmberStatus.APPLICATION_ERROR_11 = 0xFB;
1080
- // This error is reserved for customer application use. This will never be
1081
- // returned from any portion of the network stack or HAL.
1082
- EmberStatus.APPLICATION_ERROR_12 = 0xFC;
1083
- // This error is reserved for customer application use. This will never be
1084
- // returned from any portion of the network stack or HAL.
1085
- EmberStatus.APPLICATION_ERROR_13 = 0xFD;
1086
- // This error is reserved for customer application use. This will never be
1087
- // returned from any portion of the network stack or HAL.
1088
- EmberStatus.APPLICATION_ERROR_14 = 0xFE;
1089
- // This error is reserved for customer application use. This will never be
1090
- // returned from any portion of the network stack or HAL.
1091
- EmberStatus.APPLICATION_ERROR_15 = 0xFF;
1092
- exports.EmberStatus = EmberStatus;
1093
- class EmberEventUnits extends basic.uint8_t {
1094
- }
1095
- // Either marks an event as inactive or specifies the units for the event
1096
- // execution time.
1097
- // The event is not scheduled to run.
1098
- EmberEventUnits.EVENT_INACTIVE = 0x00;
1099
- // The execution time is in approximate milliseconds.
1100
- EmberEventUnits.EVENT_MS_TIME = 0x01;
1101
- // The execution time is in 'binary' quarter seconds (256 approximate
1102
- // milliseconds each).
1103
- EmberEventUnits.EVENT_QS_TIME = 0x02;
1104
- // The execution time is in 'binary' minutes (65536 approximate milliseconds
1105
- // each).
1106
- EmberEventUnits.EVENT_MINUTE_TIME = 0x03;
1107
- exports.EmberEventUnits = EmberEventUnits;
1108
- class EmberNodeType extends basic.uint8_t {
1109
- }
1110
- // The type of the node.
1111
- // Device is not joined.
1112
- EmberNodeType.UNKNOWN_DEVICE = 0x00;
1113
- // Will relay messages and can act as a parent to other nodes.
1114
- EmberNodeType.COORDINATOR = 0x01;
1115
- // Will relay messages and can act as a parent to other nodes.
1116
- EmberNodeType.ROUTER = 0x02;
1117
- // Communicates only with its parent and will not relay messages.
1118
- EmberNodeType.END_DEVICE = 0x03;
1119
- // An end device whose radio can be turned off to save power. The
1120
- // application must poll to receive messages.
1121
- EmberNodeType.SLEEPY_END_DEVICE = 0x04;
1122
- // A sleepy end device that can move through the network.
1123
- EmberNodeType.MOBILE_END_DEVICE = 0x05;
1124
- exports.EmberNodeType = EmberNodeType;
1125
- class EmberNetworkStatus extends basic.uint8_t {
1126
- }
1127
- // The possible join states for a node.
1128
- // The node is not associated with a network in any way.
1129
- EmberNetworkStatus.NO_NETWORK = 0x00;
1130
- // The node is currently attempting to join a network.
1131
- EmberNetworkStatus.JOINING_NETWORK = 0x01;
1132
- // The node is joined to a network.
1133
- EmberNetworkStatus.JOINED_NETWORK = 0x02;
1134
- // The node is an end device joined to a network but its parent is not
1135
- // responding.
1136
- EmberNetworkStatus.JOINED_NETWORK_NO_PARENT = 0x03;
1137
- // The node is in the process of leaving its current network.
1138
- EmberNetworkStatus.LEAVING_NETWORK = 0x04;
1139
- exports.EmberNetworkStatus = EmberNetworkStatus;
1140
- class EmberIncomingMessageType extends basic.uint8_t {
1141
- }
1142
- // Incoming message types.
1143
- // Unicast.
1144
- EmberIncomingMessageType.INCOMING_UNICAST = 0x00;
1145
- // Unicast reply.
1146
- EmberIncomingMessageType.INCOMING_UNICAST_REPLY = 0x01;
1147
- // Multicast.
1148
- EmberIncomingMessageType.INCOMING_MULTICAST = 0x02;
1149
- // Multicast sent by the local device.
1150
- EmberIncomingMessageType.INCOMING_MULTICAST_LOOPBACK = 0x03;
1151
- // Broadcast.
1152
- EmberIncomingMessageType.INCOMING_BROADCAST = 0x04;
1153
- // Broadcast sent by the local device.
1154
- EmberIncomingMessageType.INCOMING_BROADCAST_LOOPBACK = 0x05;
1155
- // Many to one route request.
1156
- EmberIncomingMessageType.INCOMING_MANY_TO_ONE_ROUTE_REQUEST = 0x06;
1157
- exports.EmberIncomingMessageType = EmberIncomingMessageType;
1158
- class EmberOutgoingMessageType extends basic.uint8_t {
1159
- }
1160
- // Outgoing message types.
1161
- // Unicast sent directly to an EmberNodeId.
1162
- EmberOutgoingMessageType.OUTGOING_DIRECT = 0x00;
1163
- // Unicast sent using an entry in the address table.
1164
- EmberOutgoingMessageType.OUTGOING_VIA_ADDRESS_TABLE = 0x01;
1165
- // Unicast sent using an entry in the binding table.
1166
- EmberOutgoingMessageType.OUTGOING_VIA_BINDING = 0x02;
1167
- // Multicast message. This value is passed to emberMessageSentHandler()
1168
- // only. It may not be passed to emberSendUnicast().
1169
- EmberOutgoingMessageType.OUTGOING_MULTICAST = 0x03;
1170
- // Broadcast message. This value is passed to emberMessageSentHandler()
1171
- // only. It may not be passed to emberSendUnicast().
1172
- EmberOutgoingMessageType.OUTGOING_BROADCAST = 0x04;
1173
- exports.EmberOutgoingMessageType = EmberOutgoingMessageType;
1174
- class EmberMacPassthroughType extends basic.uint8_t {
1175
- }
1176
- // MAC passthrough message type flags.
1177
- // No MAC passthrough messages.
1178
- EmberMacPassthroughType.MAC_PASSTHROUGH_NONE = 0x00;
1179
- // SE InterPAN messages.
1180
- EmberMacPassthroughType.MAC_PASSTHROUGH_SE_INTERPAN = 0x01;
1181
- // Legacy EmberNet messages.
1182
- EmberMacPassthroughType.MAC_PASSTHROUGH_EMBERNET = 0x02;
1183
- // Legacy EmberNet messages filtered by their source address.
1184
- EmberMacPassthroughType.MAC_PASSTHROUGH_EMBERNET_SOURCE = 0x04;
1185
- EmberMacPassthroughType.MAC_PASSTHROUGH_APPLICATION = 0x08;
1186
- EmberMacPassthroughType.MAC_PASSTHROUGH_CUSTOM = 0x10;
1187
- EmberMacPassthroughType.MAC_PASSTHROUGH_INTERNAL = 0x80;
1188
- exports.EmberMacPassthroughType = EmberMacPassthroughType;
1189
- class EmberBindingType extends basic.uint8_t {
1190
- }
1191
- // Binding types.
1192
- // A binding that is currently not in use.
1193
- EmberBindingType.UNUSED_BINDING = 0x00;
1194
- // A unicast binding whose 64-bit identifier is the destination EUI64.
1195
- EmberBindingType.UNICAST_BINDING = 0x01;
1196
- // A unicast binding whose 64-bit identifier is the aggregator EUI64.
1197
- EmberBindingType.MANY_TO_ONE_BINDING = 0x02;
1198
- // A multicast binding whose 64-bit identifier is the group address. A
1199
- // multicast binding can be used to send messages to the group and to
1200
- // receive messages sent to the group.
1201
- EmberBindingType.MULTICAST_BINDING = 0x03;
1202
- exports.EmberBindingType = EmberBindingType;
1203
- class EmberApsOption extends basic.uint16_t {
1204
- }
1205
- // Options to use when sending a message.
1206
- // No options.
1207
- EmberApsOption.APS_OPTION_NONE = 0x0000;
1208
- // UNKNOWN: Discovered while receiving data
1209
- EmberApsOption.APS_OPTION_UNKNOWN = 0x0008;
1210
- // Send the message using APS Encryption, using the Link Key shared with the
1211
- // destination node to encrypt the data at the APS Level.
1212
- EmberApsOption.APS_OPTION_ENCRYPTION = 0x0020;
1213
- // Resend the message using the APS retry mechanism.
1214
- EmberApsOption.APS_OPTION_RETRY = 0x0040;
1215
- // Causes a route discovery to be initiated if no route to the destination
1216
- // is known.
1217
- EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY = 0x0100;
1218
- // Causes a route discovery to be initiated even if one is known.
1219
- EmberApsOption.APS_OPTION_FORCE_ROUTE_DISCOVERY = 0x0200;
1220
- // Include the source EUI64 in the network frame.
1221
- EmberApsOption.APS_OPTION_SOURCE_EUI64 = 0x0400;
1222
- // Include the destination EUI64 in the network frame.
1223
- EmberApsOption.APS_OPTION_DESTINATION_EUI64 = 0x0800;
1224
- // Send a ZDO request to discover the node ID of the destination, if it is
1225
- // not already know.
1226
- EmberApsOption.APS_OPTION_ENABLE_ADDRESS_DISCOVERY = 0x1000;
1227
- // Reserved.
1228
- EmberApsOption.APS_OPTION_POLL_RESPONSE = 0x2000;
1229
- // This incoming message is a ZDO request not handled by the EmberZNet
1230
- // stack, and the application is responsible for sending a ZDO response.
1231
- // This flag is used only when the ZDO is configured to have requests
1232
- // handled by the application. See the CONFIG_APPLICATION_ZDO_FLAGS
1233
- // configuration parameter for more information.
1234
- EmberApsOption.APS_OPTION_ZDO_RESPONSE_REQUIRED = 0x4000;
1235
- // This message is part of a fragmented message. This option may only be set
1236
- // for unicasts. The groupId field gives the index of this fragment in the
1237
- // low-order byte. If the low-order byte is zero this is the first fragment
1238
- // and the high-order byte contains the number of fragments in the message.
1239
- EmberApsOption.APS_OPTION_FRAGMENT = 0x8000;
1240
- exports.EmberApsOption = EmberApsOption;
1241
- class EzspNetworkScanType extends basic.uint8_t {
1242
- }
1243
- // Network scan types.
1244
- // An energy scan scans each channel for its RSSI value.
1245
- EzspNetworkScanType.ENERGY_SCAN = 0x00;
1246
- // An active scan scans each channel for available networks.
1247
- EzspNetworkScanType.ACTIVE_SCAN = 0x01;
1248
- exports.EzspNetworkScanType = EzspNetworkScanType;
1249
- class EmberJoinDecision extends basic.uint8_t {
1250
- }
1251
- // Decision made by the trust center when a node attempts to join.
1252
- // Allow the node to join. The joining node should have a pre-configured
1253
- // key. The security data sent to it will be encrypted with that key.
1254
- EmberJoinDecision.USE_PRECONFIGURED_KEY = 0x00;
1255
- // Allow the node to join. Send the necessary key (the Network Key in
1256
- // Standard Security mode, the Trust Center Master in High Security mode)
1257
- // in-the-clear to the joining device.
1258
- EmberJoinDecision.SEND_KEY_IN_THE_CLEAR = 0x01;
1259
- // Deny join.
1260
- EmberJoinDecision.DENY_JOIN = 0x02;
1261
- // Take no action.
1262
- EmberJoinDecision.NO_ACTION = 0x03;
1263
- exports.EmberJoinDecision = EmberJoinDecision;
1264
- class EmberInitialSecurityBitmask extends basic.uint16_t {
1265
- }
1266
- // This is the Initial Security Bitmask that controls the use of various
1267
- // security features.
1268
- // This enables ZigBee Standard Security on the node.
1269
- EmberInitialSecurityBitmask.STANDARD_SECURITY_MODE = 0x0000;
1270
- // This enables Distributed Trust Center Mode for the device forming the
1271
- // network. (Previously known as NO_TRUST_CENTER_MODE)
1272
- EmberInitialSecurityBitmask.DISTRIBUTED_TRUST_CENTER_MODE = 0x0002;
1273
- // This enables a Global Link Key for the Trust Center. All nodes will share
1274
- // the same Trust Center Link Key.
1275
- EmberInitialSecurityBitmask.TRUST_CENTER_GLOBAL_LINK_KEY = 0x0004;
1276
- // This enables devices that perform MAC Association with a pre-configured
1277
- // Network Key to join the network. It is only set on the Trust Center.
1278
- EmberInitialSecurityBitmask.PRECONFIGURED_NETWORK_KEY_MODE = 0x0008;
1279
- // This denotes that the preconfiguredKey is not the actual Link Key but a
1280
- // Secret Key known only to the Trust Center. It is hashed with the IEEE
1281
- // Address of the destination device in order to create the actual Link Key
1282
- // used in encryption. This is bit is only used by the Trust Center. The
1283
- // joining device need not set this.
1284
- EmberInitialSecurityBitmask.TRUST_CENTER_USES_HASHED_LINK_KEY = 0x0084;
1285
- // This denotes that the preconfiguredKey element has valid data that should
1286
- // be used to configure the initial security state.
1287
- EmberInitialSecurityBitmask.HAVE_PRECONFIGURED_KEY = 0x0100;
1288
- // This denotes that the networkKey element has valid data that should be
1289
- // used to configure the initial security state.
1290
- EmberInitialSecurityBitmask.HAVE_NETWORK_KEY = 0x0200;
1291
- // This denotes to a joining node that it should attempt to acquire a Trust
1292
- // Center Link Key during joining. This is only necessary if the device does
1293
- // not have a pre-configured key.
1294
- EmberInitialSecurityBitmask.GET_LINK_KEY_WHEN_JOINING = 0x0400;
1295
- // This denotes that a joining device should only accept an encrypted
1296
- // network key from the Trust Center (using its preconfigured key). A key
1297
- // sent in-the-clear by the Trust Center will be rejected and the join will
1298
- // fail. This option is only valid when utilizing a pre-configured key.
1299
- EmberInitialSecurityBitmask.REQUIRE_ENCRYPTED_KEY = 0x0800;
1300
- // This denotes whether the device should NOT reset its outgoing frame
1301
- // counters (both NWK and APS) when ::emberSetInitialSecurityState() is
1302
- // called. Normally it is advised to reset the frame counter before joining
1303
- // a new network. However in cases where a device is joining to the same
1304
- // network a again (but not using ::emberRejoinNetwork()) it should keep the
1305
- // NWK and APS frame counters stored in its tokens.
1306
- EmberInitialSecurityBitmask.NO_FRAME_COUNTER_RESET = 0x1000;
1307
- // This denotes that the device should obtain its preconfigured key from an
1308
- // installation code stored in the manufacturing token. The token contains a
1309
- // value that will be hashed to obtain the actual preconfigured key. If that
1310
- // token is not valid, then the call to emberSetInitialSecurityState() will
1311
- // fail.
1312
- EmberInitialSecurityBitmask.GET_PRECONFIGURED_KEY_FROM_INSTALL_CODE = 0x2000;
1313
- // This denotes that the
1314
- // ::EmberInitialSecurityState::preconfiguredTrustCenterEui64 has a value in
1315
- // it containing the trust center EUI64. The device will only join a network
1316
- // and accept commands from a trust center with that EUI64. Normally this
1317
- // bit is NOT set, and the EUI64 of the trust center is learned during the
1318
- // join process. When commissioning a device to join onto an existing
1319
- // network, which is using a trust center, and without sending any messages,
1320
- // this bit must be set and the field
1321
- // ::EmberInitialSecurityState::preconfiguredTrustCenterEui64 must be
1322
- // populated with the appropriate EUI64.
1323
- EmberInitialSecurityBitmask.HAVE_TRUST_CENTER_EUI64 = 0x0040;
1324
- exports.EmberInitialSecurityBitmask = EmberInitialSecurityBitmask;
1325
- class EmberCurrentSecurityBitmask extends basic.uint16_t {
1326
- }
1327
- // This is the Current Security Bitmask that details the use of various
1328
- // security features.
1329
- // This denotes that the device is running in a network with ZigBee Standard
1330
- // Security.
1331
- EmberCurrentSecurityBitmask.STANDARD_SECURITY_MODE = 0x0000;
1332
- // This denotes that the device is running in a network with ZigBee High
1333
- // Security.
1334
- EmberCurrentSecurityBitmask.HIGH_SECURITY_MODE = 0x0001;
1335
- // This denotes that the device is running in a network without a
1336
- // centralized Trust Center.
1337
- EmberCurrentSecurityBitmask.DISTRIBUTED_TRUST_CENTER_MODE = 0x0002;
1338
- // This denotes that the device has a Global Link Key. The Trust Center Link
1339
- // Key is the same across multiple nodes.
1340
- EmberCurrentSecurityBitmask.GLOBAL_LINK_KEY = 0x0004;
1341
- // This denotes that the node has a Trust Center Link Key.
1342
- EmberCurrentSecurityBitmask.HAVE_TRUST_CENTER_LINK_KEY = 0x0010;
1343
- // This denotes that the Trust Center is using a Hashed Link Key.
1344
- EmberCurrentSecurityBitmask.TRUST_CENTER_USES_HASHED_LINK_KEY = 0x0084;
1345
- exports.EmberCurrentSecurityBitmask = EmberCurrentSecurityBitmask;
1346
- class EmberKeyType extends basic.uint8_t {
1347
- }
1348
- // Describes the type of ZigBee security key.
1349
- // A shared key between the Trust Center and a device.
1350
- EmberKeyType.TRUST_CENTER_LINK_KEY = 0x01;
1351
- // A shared secret used for deriving keys between the Trust Center and a
1352
- // device
1353
- EmberKeyType.TRUST_CENTER_MASTER_KEY = 0x02;
1354
- // The current active Network Key used by all devices in the network.
1355
- EmberKeyType.CURRENT_NETWORK_KEY = 0x03;
1356
- // The alternate Network Key that was previously in use, or the newer key
1357
- // that will be switched to.
1358
- EmberKeyType.NEXT_NETWORK_KEY = 0x04;
1359
- // An Application Link Key shared with another (non-Trust Center) device.
1360
- EmberKeyType.APPLICATION_LINK_KEY = 0x05;
1361
- // An Application Master Key shared secret used to derive an Application
1362
- // Link Key.
1363
- EmberKeyType.APPLICATION_MASTER_KEY = 0x06;
1364
- exports.EmberKeyType = EmberKeyType;
1365
- class EmberKeyStructBitmask extends basic.uint16_t {
1366
- }
1367
- // Describes the presence of valid data within the EmberKeyStruct structure.
1368
- // The key has a sequence number associated with it.
1369
- EmberKeyStructBitmask.KEY_HAS_SEQUENCE_NUMBER = 0x0001;
1370
- // The key has an outgoing frame counter associated with it.
1371
- EmberKeyStructBitmask.KEY_HAS_OUTGOING_FRAME_COUNTER = 0x0002;
1372
- // The key has an incoming frame counter associated with it.
1373
- EmberKeyStructBitmask.KEY_HAS_INCOMING_FRAME_COUNTER = 0x0004;
1374
- // The key has a Partner IEEE address associated with it.
1375
- EmberKeyStructBitmask.KEY_HAS_PARTNER_EUI64 = 0x0008;
1376
- exports.EmberKeyStructBitmask = EmberKeyStructBitmask;
1377
- class EmberDeviceUpdate extends basic.uint8_t {
1378
- }
1379
- // The status of the device update.
1380
- EmberDeviceUpdate.STANDARD_SECURITY_SECURED_REJOIN = 0x0;
1381
- EmberDeviceUpdate.STANDARD_SECURITY_UNSECURED_JOIN = 0x1;
1382
- EmberDeviceUpdate.DEVICE_LEFT = 0x2;
1383
- EmberDeviceUpdate.STANDARD_SECURITY_UNSECURED_REJOIN = 0x3;
1384
- EmberDeviceUpdate.HIGH_SECURITY_SECURED_REJOIN = 0x4;
1385
- EmberDeviceUpdate.HIGH_SECURITY_UNSECURED_JOIN = 0x5;
1386
- EmberDeviceUpdate.HIGH_SECURITY_UNSECURED_REJOIN = 0x7;
1387
- exports.EmberDeviceUpdate = EmberDeviceUpdate;
1388
- class EmberKeyStatus extends basic.uint8_t {
1389
- }
1390
- // The status of the attempt to establish a key.
1391
- EmberKeyStatus.APP_LINK_KEY_ESTABLISHED = 0x01;
1392
- EmberKeyStatus.APP_MASTER_KEY_ESTABLISHED = 0x02;
1393
- EmberKeyStatus.TRUST_CENTER_LINK_KEY_ESTABLISHED = 0x03;
1394
- EmberKeyStatus.KEY_ESTABLISHMENT_TIMEOUT = 0x04;
1395
- EmberKeyStatus.KEY_TABLE_FULL = 0x05;
1396
- EmberKeyStatus.TC_RESPONDED_TO_KEY_REQUEST = 0x06;
1397
- EmberKeyStatus.TC_APP_KEY_SENT_TO_REQUESTER = 0x07;
1398
- EmberKeyStatus.TC_RESPONSE_TO_KEY_REQUEST_FAILED = 0x08;
1399
- EmberKeyStatus.TC_REQUEST_KEY_TYPE_NOT_SUPPORTED = 0x09;
1400
- EmberKeyStatus.TC_NO_LINK_KEY_FOR_REQUESTER = 0x0A;
1401
- EmberKeyStatus.TC_REQUESTER_EUI64_UNKNOWN = 0x0B;
1402
- EmberKeyStatus.TC_RECEIVED_FIRST_APP_KEY_REQUEST = 0x0C;
1403
- EmberKeyStatus.TC_TIMEOUT_WAITING_FOR_SECOND_APP_KEY_REQUEST = 0x0D;
1404
- EmberKeyStatus.TC_NON_MATCHING_APP_KEY_REQUEST_RECEIVED = 0x0E;
1405
- EmberKeyStatus.TC_FAILED_TO_SEND_APP_KEYS = 0x0F;
1406
- EmberKeyStatus.TC_FAILED_TO_STORE_APP_KEY_REQUEST = 0x10;
1407
- EmberKeyStatus.TC_REJECTED_APP_KEY_REQUEST = 0x11;
1408
- exports.EmberKeyStatus = EmberKeyStatus;
1409
- class EmberCounterType extends basic.uint8_t {
1410
- }
1411
- // Defines the events reported to the application by the
1412
- // readAndClearCounters command.
1413
- // The MAC received a broadcast.
1414
- EmberCounterType.COUNTER_MAC_RX_BROADCAST = 0;
1415
- // The MAC transmitted a broadcast.
1416
- EmberCounterType.COUNTER_MAC_TX_BROADCAST = 1;
1417
- // The MAC received a unicast.
1418
- EmberCounterType.COUNTER_MAC_RX_UNICAST = 2;
1419
- // The MAC successfully transmitted a unicast.
1420
- EmberCounterType.COUNTER_MAC_TX_UNICAST_SUCCESS = 3;
1421
- // The MAC retried a unicast.
1422
- EmberCounterType.COUNTER_MAC_TX_UNICAST_RETRY = 4;
1423
- // The MAC unsuccessfully transmitted a unicast.
1424
- EmberCounterType.COUNTER_MAC_TX_UNICAST_FAILED = 5;
1425
- // The APS layer received a data broadcast.
1426
- EmberCounterType.COUNTER_APS_DATA_RX_BROADCAST = 6;
1427
- // The APS layer transmitted a data broadcast.
1428
- EmberCounterType.COUNTER_APS_DATA_TX_BROADCAST = 7;
1429
- // The APS layer received a data unicast.
1430
- EmberCounterType.COUNTER_APS_DATA_RX_UNICAST = 8;
1431
- // The APS layer successfully transmitted a data unicast.
1432
- EmberCounterType.COUNTER_APS_DATA_TX_UNICAST_SUCCESS = 9;
1433
- // The APS layer retried a data unicast.
1434
- EmberCounterType.COUNTER_APS_DATA_TX_UNICAST_RETRY = 10;
1435
- // The APS layer unsuccessfully transmitted a data unicast.
1436
- EmberCounterType.COUNTER_APS_DATA_TX_UNICAST_FAILED = 11;
1437
- // The network layer successfully submitted a new route discovery to the
1438
- // MAC.
1439
- EmberCounterType.COUNTER_ROUTE_DISCOVERY_INITIATED = 12;
1440
- // An entry was added to the neighbor table.
1441
- EmberCounterType.COUNTER_NEIGHBOR_ADDED = 13;
1442
- // An entry was removed from the neighbor table.
1443
- EmberCounterType.COUNTER_NEIGHBOR_REMOVED = 14;
1444
- // A neighbor table entry became stale because it had not been heard from.
1445
- EmberCounterType.COUNTER_NEIGHBOR_STALE = 15;
1446
- // A node joined or rejoined to the network via this node.
1447
- EmberCounterType.COUNTER_JOIN_INDICATION = 16;
1448
- // An entry was removed from the child table.
1449
- EmberCounterType.COUNTER_CHILD_REMOVED = 17;
1450
- // EZSP-UART only. An overflow error occurred in the UART.
1451
- EmberCounterType.COUNTER_ASH_OVERFLOW_ERROR = 18;
1452
- // EZSP-UART only. A framing error occurred in the UART.
1453
- EmberCounterType.COUNTER_ASH_FRAMING_ERROR = 19;
1454
- // EZSP-UART only. An overrun error occurred in the UART.
1455
- EmberCounterType.COUNTER_ASH_OVERRUN_ERROR = 20;
1456
- // A message was dropped at the network layer because the NWK frame counter
1457
- // was not higher than the last message seen from that source.
1458
- EmberCounterType.COUNTER_NWK_FRAME_COUNTER_FAILURE = 21;
1459
- // A message was dropped at the APS layer because the APS frame counter was
1460
- // not higher than the last message seen from that source.
1461
- EmberCounterType.COUNTER_APS_FRAME_COUNTER_FAILURE = 22;
1462
- // Utility counter for general debugging use.
1463
- EmberCounterType.COUNTER_UTILITY = 23;
1464
- // A message was dropped at the APS layer because it had APS encryption but
1465
- // the key associated with the sender has not been authenticated, and thus
1466
- // the key is not authorized for use in APS data messages.
1467
- EmberCounterType.COUNTER_APS_LINK_KEY_NOT_AUTHORIZED = 24;
1468
- // A NWK encrypted message was received but dropped because decryption
1469
- // failed.
1470
- EmberCounterType.COUNTER_NWK_DECRYPTION_FAILURE = 25;
1471
- // An APS encrypted message was received but dropped because decryption
1472
- // failed.
1473
- EmberCounterType.COUNTER_APS_DECRYPTION_FAILURE = 26;
1474
- // The number of times we failed to allocate a set of linked packet buffers.
1475
- // This doesn't necessarily mean that the packet buffer count was 0 at the
1476
- // time, but that the number requested was greater than the number free.
1477
- EmberCounterType.COUNTER_ALLOCATE_PACKET_BUFFER_FAILURE = 27;
1478
- // The number of relayed unicast packets.
1479
- EmberCounterType.COUNTER_RELAYED_UNICAST = 28;
1480
- // The number of times we dropped a packet due to reaching
1481
- // the preset PHY to MAC queue limit (emMaxPhyToMacQueueLength).
1482
- EmberCounterType.COUNTER_PHY_TO_MAC_QUEUE_LIMIT_REACHED = 29;
1483
- // The number of times we dropped a packet due to the
1484
- // packet-validate library checking a packet and rejecting it
1485
- // due to length or other formatting problems.
1486
- EmberCounterType.COUNTER_PACKET_VALIDATE_LIBRARY_DROPPED_COUNT = 30;
1487
- // The number of times the NWK retry queue is full and a
1488
- // new message failed to be added.
1489
- EmberCounterType.COUNTER_TYPE_NWK_RETRY_OVERFLOW = 31;
1490
- // The number of times the PHY layer was unable to transmit
1491
- // due to a failed CCA.
1492
- EmberCounterType.COUNTER_PHY_CCA_FAIL_COUNT = 32;
1493
- // The number of times a NWK broadcast was dropped because
1494
- // the broadcast table was full.
1495
- EmberCounterType.COUNTER_BROADCAST_TABLE_FULL = 33;
1496
- // The number of low priority packet traffic arbitration requests.
1497
- EmberCounterType.COUNTER_PTA_LO_PRI_REQUESTED = 34;
1498
- // The number of high priority packet traffic arbitration requests.
1499
- EmberCounterType.COUNTER_PTA_HI_PRI_REQUESTED = 35;
1500
- // The number of low priority packet traffic arbitration requests denied.
1501
- EmberCounterType.COUNTER_PTA_LO_PRI_DENIED = 36;
1502
- // The number of high priority packet traffic arbitration requests denied.
1503
- EmberCounterType.COUNTER_PTA_HI_PRI_DENIED = 37;
1504
- // The number of aborted low priority packet traffic arbitration transmissions.
1505
- EmberCounterType.COUNTER_PTA_LO_PRI_TX_ABORTED = 38;
1506
- // The number of aborted high priority packet traffic arbitration transmissions.
1507
- EmberCounterType.COUNTER_PTA_HI_PRI_TX_ABORTED = 39;
1508
- // A placeholder giving the number of Ember counter types.
1509
- EmberCounterType.COUNTER_TYPE_COUNT = 40;
1510
- exports.EmberCounterType = EmberCounterType;
1511
- class EmberJoinMethod extends basic.uint8_t {
1512
- }
1513
- // The type of method used for joining.
1514
- // Normally devices use MAC Association to join a network, which respects
1515
- // the "permit joining" flag in the MAC Beacon. For mobile nodes this value
1516
- // causes the device to use an Ember Mobile Node Join, which is functionally
1517
- // equivalent to a MAC association. This value should be used by default.
1518
- EmberJoinMethod.USE_MAC_ASSOCIATION = 0x0;
1519
- // For those networks where the "permit joining" flag is never turned on,
1520
- // they will need to use a ZigBee NWK Rejoin. This value causes the rejoin
1521
- // to be sent without NWK security and the Trust Center will be asked to
1522
- // send the NWK key to the device. The NWK key sent to the device can be
1523
- // encrypted with the device's corresponding Trust Center link key. That is
1524
- // determined by the ::EmberJoinDecision on the Trust Center returned by the
1525
- // ::emberTrustCenterJoinHandler(). For a mobile node this value will cause
1526
- // it to use an Ember Mobile node rejoin, which is functionally equivalent.
1527
- EmberJoinMethod.USE_NWK_REJOIN = 0x1;
1528
- // For those networks where the "permit joining" flag is never turned on,
1529
- // they will need to use a NWK Rejoin. If those devices have been
1530
- // preconfigured with the NWK key (including sequence number) they can use a
1531
- // secured rejoin. This is only necessary for end devices since they need a
1532
- // parent. Routers can simply use the ::USE_NWK_COMMISSIONING join method
1533
- // below.
1534
- EmberJoinMethod.USE_NWK_REJOIN_HAVE_NWK_KEY = 0x2;
1535
- // For those networks where all network and security information is known
1536
- // ahead of time, a router device may be commissioned such that it does not
1537
- // need to send any messages to begin communicating on the network.
1538
- EmberJoinMethod.USE_NWK_COMMISSIONING = 0x3;
1539
- exports.EmberJoinMethod = EmberJoinMethod;
1540
- class EmberZdoConfigurationFlags extends basic.uint8_t {
1541
- }
1542
- // Flags for controlling which incoming ZDO requests are passed to the
1543
- // application. To see if the application is required to send a ZDO response
1544
- // to an incoming message, the application must check the APS options
1545
- // bitfield within the incomingMessageHandler callback to see if the
1546
- // APS_OPTION_ZDO_RESPONSE_REQUIRED flag is set.
1547
- // Set this flag in order to receive supported ZDO request messages via the
1548
- // incomingMessageHandler callback. A supported ZDO request is one that is
1549
- // handled by the EmberZNet stack. The stack will continue to handle the
1550
- // request and send the appropriate ZDO response even if this configuration
1551
- // option is enabled.
1552
- EmberZdoConfigurationFlags.APP_RECEIVES_SUPPORTED_ZDO_REQUESTS = 0x01;
1553
- // Set this flag in order to receive unsupported ZDO request messages via
1554
- // the incomingMessageHandler callback. An unsupported ZDO request is one
1555
- // that is not handled by the EmberZNet stack, other than to send a 'not
1556
- // supported' ZDO response. If this configuration option is enabled, the
1557
- // stack will no longer send any ZDO response, and it is the application's
1558
- // responsibility to do so.
1559
- EmberZdoConfigurationFlags.APP_HANDLES_UNSUPPORTED_ZDO_REQUESTS = 0x02;
1560
- // Set this flag in order to receive the following ZDO request messages via
1561
- // the incomingMessageHandler callback: SIMPLE_DESCRIPTOR_REQUEST,
1562
- // MATCH_DESCRIPTORS_REQUEST, and ACTIVE_ENDPOINTS_REQUEST. If this
1563
- // configuration option is enabled, the stack will no longer send any ZDO
1564
- // response for these requests, and it is the application's responsibility
1565
- // to do so.
1566
- EmberZdoConfigurationFlags.APP_HANDLES_ZDO_ENDPOINT_REQUESTS = 0x04;
1567
- // Set this flag in order to receive the following ZDO request messages via
1568
- // the incomingMessageHandler callback: BINDING_TABLE_REQUEST, BIND_REQUEST,
1569
- // and UNBIND_REQUEST. If this configuration option is enabled, the stack
1570
- // will no longer send any ZDO response for these requests, and it is the
1571
- // application's responsibility to do so.
1572
- EmberZdoConfigurationFlags.APP_HANDLES_ZDO_BINDING_REQUESTS = 0x08;
1573
- exports.EmberZdoConfigurationFlags = EmberZdoConfigurationFlags;
1574
- class EmberConcentratorType extends basic.uint16_t {
1575
- }
1576
- // Type of concentrator.
1577
- // A concentrator with insufficient memory to store source routes for the
1578
- // entire network. Route records are sent to the concentrator prior to every
1579
- // inbound APS unicast.
1580
- EmberConcentratorType.LOW_RAM_CONCENTRATOR = 0xFFF8;
1581
- // A concentrator with sufficient memory to store source routes for the
1582
- // entire network. Remote nodes stop sending route records once the
1583
- // concentrator has successfully received one.
1584
- EmberConcentratorType.HIGH_RAM_CONCENTRATOR = 0xFFF9;
1585
- exports.EmberConcentratorType = EmberConcentratorType;
1586
- class EmberZllState extends basic.uint16_t {
1587
- }
1588
- // ZLL device state identifier.
1589
- // No state.
1590
- EmberZllState.ZLL_STATE_NONE = 0x0000;
1591
- // The device is factory new.
1592
- EmberZllState.ZLL_STATE_FACTORY_NEW = 0x0001;
1593
- // The device is capable of assigning addresses to other devices.
1594
- EmberZllState.ZLL_STATE_ADDRESS_ASSIGNMENT_CAPABLE = 0x0002;
1595
- // The device is initiating a link operation.
1596
- EmberZllState.ZLL_STATE_LINK_INITIATOR = 0x0010;
1597
- // The device is requesting link priority.
1598
- EmberZllState.ZLL_STATE_LINK_PRIORITY_REQUEST = 0x0020;
1599
- // The device is on a non-ZLL network.
1600
- EmberZllState.ZLL_STATE_NON_ZLL_NETWORK = 0x0100;
1601
- exports.EmberZllState = EmberZllState;
1602
- class EmberZllKeyIndex extends basic.uint8_t {
1603
- }
1604
- // ZLL key encryption algorithm enumeration.
1605
- // Key encryption algorithm for use during development.
1606
- EmberZllKeyIndex.ZLL_KEY_INDEX_DEVELOPMENT = 0x00;
1607
- // Key encryption algorithm shared by all certified devices.
1608
- EmberZllKeyIndex.ZLL_KEY_INDEX_MASTER = 0x04;
1609
- // Key encryption algorithm for use during development and certification.
1610
- EmberZllKeyIndex.ZLL_KEY_INDEX_CERTIFICATION = 0x0F;
1611
- exports.EmberZllKeyIndex = EmberZllKeyIndex;
1612
- class EzspZllNetworkOperation extends basic.uint8_t {
1613
- }
1614
- // Differentiates among ZLL network operations.
1615
- EzspZllNetworkOperation.ZLL_FORM_NETWORK = 0x00; // ZLL form network command.
1616
- EzspZllNetworkOperation.ZLL_JOIN_TARGET = 0x01; // ZLL join target command.
1617
- exports.EzspZllNetworkOperation = EzspZllNetworkOperation;
1618
- class EzspSourceRouteOverheadInformation extends basic.uint8_t {
1619
- }
1620
- // Validates Source Route Overhead Information cached.
1621
- // Ezsp source route overhead unknown
1622
- EzspSourceRouteOverheadInformation.SOURCE_ROUTE_OVERHEAD_UNKNOWN = 0xFF;
1623
- exports.EzspSourceRouteOverheadInformation = EzspSourceRouteOverheadInformation;
1624
- class EmberNetworkInitBitmask extends basic.uint16_t {
1625
- }
1626
- // Bitmask options for emberNetworkInit().
1627
- // No options for Network Init
1628
- EmberNetworkInitBitmask.NETWORK_INIT_NO_OPTIONS = 0x0000;
1629
- // Save parent info (node ID and EUI64) in a token during joining/rejoin,
1630
- // and restore on reboot.
1631
- EmberNetworkInitBitmask.NETWORK_INIT_PARENT_INFO_IN_TOKEN = 0x0001;
1632
- exports.EmberNetworkInitBitmask = EmberNetworkInitBitmask;
1633
- class EmberZDOCmd extends basic.uint16_t {
1634
- }
1635
- // Device and Service Discovery Server Requests
1636
- EmberZDOCmd.NWK_addr_req = 0x0000;
1637
- EmberZDOCmd.IEEE_addr_req = 0x0001;
1638
- EmberZDOCmd.Node_Desc_req = 0x0002;
1639
- EmberZDOCmd.Power_Desc_req = 0x0003;
1640
- EmberZDOCmd.Simple_Desc_req = 0x0004;
1641
- EmberZDOCmd.Active_EP_req = 0x0005;
1642
- EmberZDOCmd.Match_Desc_req = 0x0006;
1643
- EmberZDOCmd.Complex_Desc_req = 0x0010;
1644
- EmberZDOCmd.User_Desc_req = 0x0011;
1645
- EmberZDOCmd.Discovery_Cache_req = 0x0012;
1646
- EmberZDOCmd.Device_annce = 0x0013;
1647
- EmberZDOCmd.User_Desc_set = 0x0014;
1648
- EmberZDOCmd.System_Server_Discovery_req = 0x0015;
1649
- EmberZDOCmd.Discovery_store_req = 0x0016;
1650
- EmberZDOCmd.Node_Desc_store_req = 0x0017;
1651
- EmberZDOCmd.Active_EP_store_req = 0x0019;
1652
- EmberZDOCmd.Simple_Desc_store_req = 0x001A;
1653
- EmberZDOCmd.Remove_node_cache_req = 0x001B;
1654
- EmberZDOCmd.Find_node_cache_req = 0x001C;
1655
- EmberZDOCmd.Extended_Simple_Desc_req = 0x001D;
1656
- EmberZDOCmd.Extended_Active_EP_req = 0x001E;
1657
- EmberZDOCmd.Parent_annce = 0x001F;
1658
- // Bind Management Server Services Responses
1659
- EmberZDOCmd.End_Device_Bind_req = 0x0020;
1660
- EmberZDOCmd.Bind_req = 0x0021;
1661
- EmberZDOCmd.Unbind_req = 0x0022;
1662
- // Network Management Server Services Requests
1663
- // ... TODO optional stuff ...
1664
- EmberZDOCmd.Mgmt_Lqi_req = 0x0031;
1665
- EmberZDOCmd.Mgmt_Rtg_req = 0x0032;
1666
- // ... TODO optional stuff ...
1667
- EmberZDOCmd.Mgmt_Leave_req = 0x0034;
1668
- EmberZDOCmd.Mgmt_Permit_Joining_req = 0x0036;
1669
- EmberZDOCmd.Mgmt_NWK_Update_req = 0x0038;
1670
- // ... TODO optional stuff ...
1671
- // Responses
1672
- // Device and Service Discovery Server Responses
1673
- EmberZDOCmd.NWK_addr_rsp = 0x8000;
1674
- EmberZDOCmd.IEEE_addr_rsp = 0x8001;
1675
- EmberZDOCmd.Node_Desc_rsp = 0x8002;
1676
- EmberZDOCmd.Power_Desc_rsp = 0x8003;
1677
- EmberZDOCmd.Simple_Desc_rsp = 0x8004;
1678
- EmberZDOCmd.Active_EP_rsp = 0x8005;
1679
- EmberZDOCmd.Match_Desc_rsp = 0x8006;
1680
- EmberZDOCmd.Complex_Desc_rsp = 0x8010;
1681
- EmberZDOCmd.User_Desc_rsp = 0x8011;
1682
- EmberZDOCmd.Discovery_Cache_rsp = 0x8012;
1683
- EmberZDOCmd.User_Desc_conf = 0x8014;
1684
- EmberZDOCmd.System_Server_Discovery_rsp = 0x8015;
1685
- EmberZDOCmd.Discovery_Store_rsp = 0x8016;
1686
- EmberZDOCmd.Node_Desc_store_rsp = 0x8017;
1687
- EmberZDOCmd.Power_Desc_store_rsp = 0x8018;
1688
- EmberZDOCmd.Active_EP_store_rsp = 0x8019;
1689
- EmberZDOCmd.Simple_Desc_store_rsp = 0x801A;
1690
- EmberZDOCmd.Remove_node_cache_rsp = 0x801B;
1691
- EmberZDOCmd.Find_node_cache_rsp = 0x801C;
1692
- EmberZDOCmd.Extended_Simple_Desc_rsp = 0x801D;
1693
- EmberZDOCmd.Extended_Active_EP_rsp = 0x801E;
1694
- EmberZDOCmd.Parent_annce_rsp = 0x801F;
1695
- // Bind Management Server Services Responses
1696
- EmberZDOCmd.End_Device_Bind_rsp = 0x8020;
1697
- EmberZDOCmd.Bind_rsp = 0x8021;
1698
- EmberZDOCmd.Unbind_rsp = 0x8022;
1699
- // ... TODO optional stuff ...
1700
- // Network Management Server Services Responses
1701
- EmberZDOCmd.Mgmt_Lqi_rsp = 0x8031;
1702
- EmberZDOCmd.Mgmt_Rtg_rsp = 0x8032;
1703
- // ... TODO optional stuff ...
1704
- EmberZDOCmd.Mgmt_Leave_rsp = 0x8034;
1705
- EmberZDOCmd.Mgmt_Permit_Joining_rsp = 0x8036;
1706
- // ... TODO optional stuff ...
1707
- EmberZDOCmd.Mgmt_NWK_Update_rsp = 0x8038;
1708
- exports.EmberZDOCmd = EmberZDOCmd;
1709
- class EzspDecisionBitmask extends basic.uint16_t {
1710
- }
1711
- // EZSP Decision bitmask.
1712
- // Disallow joins and rejoins.
1713
- EzspDecisionBitmask.DEFAULT_CONFIGURATION = 0x0000;
1714
- // Send the network key to all joining devices.
1715
- EzspDecisionBitmask.ALLOW_JOINS = 0x0001;
1716
- // Send the network key to all rejoining devices.
1717
- EzspDecisionBitmask.ALLOW_UNSECURED_REJOINS = 0x0002;
1718
- // Send the network key in the clear.
1719
- EzspDecisionBitmask.SEND_KEY_IN_CLEAR = 0x0004;
1720
- // Do nothing for unsecured rejoins.
1721
- EzspDecisionBitmask.IGNORE_UNSECURED_REJOINS = 0x0008;
1722
- // Allow joins if there is an entry in the transient key table.
1723
- EzspDecisionBitmask.JOINS_USE_INSTALL_CODE_KEY = 0x0010;
1724
- // Delay sending the network key to a new joining device.
1725
- EzspDecisionBitmask.DEFER_JOINS = 0x0020;
1726
- exports.EzspDecisionBitmask = EzspDecisionBitmask;
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.EzspSourceRouteOverheadInformation = exports.EzspZllNetworkOperation = exports.EmberZllKeyIndex = exports.EmberZllState = exports.EmberConcentratorType = exports.EmberZdoConfigurationFlags = exports.EmberJoinMethod = exports.EmberCounterType = exports.EmberKeyStatus = exports.EmberDeviceUpdate = exports.EmberKeyStructBitmask = exports.EmberKeyType = exports.EmberCurrentSecurityBitmask = exports.EmberInitialSecurityBitmask = exports.EmberJoinDecision = exports.EzspNetworkScanType = exports.EmberApsOption = exports.EmberBindingType = exports.EmberMacPassthroughType = exports.EmberOutgoingMessageType = exports.EmberIncomingMessageType = exports.EmberNetworkStatus = exports.EmberNodeType = exports.EmberEventUnits = exports.EmberStatus = exports.EzspStatus = exports.EzspMfgTokenId = exports.EzspDecisionId = exports.EzspPolicyId = exports.EmberConfigTxPowerMode = exports.EzspEndpointFlags = exports.EzspExtendedValueId = exports.EzspValueId = exports.EzspConfigId = exports.Bool = exports.SecureEzspSessionId = exports.SecureEzspRandomNumber = exports.EmberGpKeyType = exports.EmberGpSecurityLevel = exports.SecureEzspSecurityLevel = exports.SecureEzspSecurityType = exports.EmberLibraryStatus = exports.EmberEUI64 = exports.EmberMulticastId = exports.EmberPanId = exports.EmberNodeId = exports.EmberRf4ceApplicationCapabilities = exports.EmberRf4ceNodeCapabilities = exports.EmberRf4ceTxOption = exports.NcpResetCode = void 0;
27
+ exports.EzspDecisionBitmask = exports.EmberZDOCmd = exports.EmberNetworkInitBitmask = void 0;
28
+ /* istanbul ignore file */
29
+ /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
30
+ const basic = __importStar(require("./basic"));
31
+ const basic_1 = require("./basic");
32
+ console.assert(basic.uint8_t);
33
+ class NcpResetCode extends basic.uint8_t {
34
+ }
35
+ exports.NcpResetCode = NcpResetCode;
36
+ //Reset and Error Codes for NCP
37
+ NcpResetCode.RESET_UNKNOWN_REASON = 0x00;
38
+ NcpResetCode.RESET_EXTERNAL = 0x01;
39
+ NcpResetCode.RESET_POWER_ON = 0x02;
40
+ NcpResetCode.RESET_WATCHDOG = 0x03;
41
+ NcpResetCode.RESET_ASSERT = 0x06;
42
+ NcpResetCode.RESET_BOOTLOADER = 0x09;
43
+ NcpResetCode.RESET_SOFTWARE = 0x0B;
44
+ NcpResetCode.ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT = 0x51;
45
+ NcpResetCode.ERROR_UNKNOWN_EM3XX_ERROR = 0x80;
46
+ class EmberRf4ceTxOption extends basic.uint8_t {
47
+ }
48
+ exports.EmberRf4ceTxOption = EmberRf4ceTxOption;
49
+ class EmberRf4ceNodeCapabilities extends basic.uint8_t {
50
+ }
51
+ exports.EmberRf4ceNodeCapabilities = EmberRf4ceNodeCapabilities;
52
+ class EmberRf4ceApplicationCapabilities extends basic.uint8_t {
53
+ }
54
+ exports.EmberRf4ceApplicationCapabilities = EmberRf4ceApplicationCapabilities;
55
+ class EmberNodeId extends basic.uint16_t {
56
+ }
57
+ exports.EmberNodeId = EmberNodeId;
58
+ class EmberPanId extends basic.uint16_t {
59
+ }
60
+ exports.EmberPanId = EmberPanId;
61
+ class EmberMulticastId extends basic.uint16_t {
62
+ }
63
+ exports.EmberMulticastId = EmberMulticastId;
64
+ class EmberEUI64 extends (0, basic_1.fixed_list)(8, basic.uint8_t) {
65
+ constructor(_value) {
66
+ super();
67
+ this._value = _value;
68
+ if (typeof (_value) === 'string') {
69
+ if (_value.startsWith('0x'))
70
+ _value = _value.slice(2);
71
+ if (_value.length !== 16) {
72
+ throw new Error('Incorrect value passed');
73
+ }
74
+ this._value = Buffer.from(_value, 'hex');
75
+ }
76
+ else {
77
+ if (_value.length !== 8) {
78
+ throw new Error('Incorrect value passed');
79
+ }
80
+ this._value = _value;
81
+ }
82
+ }
83
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
84
+ static deserialize(cls, data) {
85
+ const arr = super.deserialize(cls, data);
86
+ const r = arr[0];
87
+ data = arr[1];
88
+ return [Buffer.from(r).reverse(), data];
89
+ }
90
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
91
+ static serialize(cls, value) {
92
+ if (value instanceof EmberEUI64) {
93
+ value = value.value;
94
+ }
95
+ console.assert(cls._length === value.length);
96
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
97
+ const val = Buffer.from(value).reverse().map(i => basic.uint8_t.serialize(basic.uint8_t, i)[0]);
98
+ return Buffer.from(val);
99
+ }
100
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
101
+ get value() {
102
+ return this._value;
103
+ }
104
+ toString() {
105
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any*/
106
+ return Buffer.from(this._value).toString('hex');
107
+ }
108
+ }
109
+ exports.EmberEUI64 = EmberEUI64;
110
+ class EmberLibraryStatus extends basic.uint8_t {
111
+ }
112
+ exports.EmberLibraryStatus = EmberLibraryStatus;
113
+ class SecureEzspSecurityType extends basic.uint32_t {
114
+ }
115
+ exports.SecureEzspSecurityType = SecureEzspSecurityType;
116
+ class SecureEzspSecurityLevel extends basic.uint8_t {
117
+ }
118
+ exports.SecureEzspSecurityLevel = SecureEzspSecurityLevel;
119
+ class EmberGpSecurityLevel extends basic.uint8_t {
120
+ }
121
+ exports.EmberGpSecurityLevel = EmberGpSecurityLevel;
122
+ class EmberGpKeyType extends basic.uint8_t {
123
+ }
124
+ exports.EmberGpKeyType = EmberGpKeyType;
125
+ class SecureEzspRandomNumber extends basic.uint64_t {
126
+ }
127
+ exports.SecureEzspRandomNumber = SecureEzspRandomNumber;
128
+ class SecureEzspSessionId extends basic.uint64_t {
129
+ }
130
+ exports.SecureEzspSessionId = SecureEzspSessionId;
131
+ class Bool extends basic.uint8_t {
132
+ }
133
+ exports.Bool = Bool;
134
+ Bool.false = 0x00; // An alias for zero, used for clarity.
135
+ Bool.true = 0x01; // An alias for one, used for clarity.
136
+ class EzspConfigId extends basic.uint8_t {
137
+ }
138
+ exports.EzspConfigId = EzspConfigId;
139
+ // Identifies a configuration value.
140
+ // The number of packet buffers available to the stack. When set to the
141
+ // special value 0xFF, the NCP will allocate all remaining configuration RAM
142
+ // towards packet buffers, such that the resulting count will be the largest
143
+ // whole number of packet buffers that can fit into the available memory.
144
+ EzspConfigId.CONFIG_PACKET_BUFFER_COUNT = 0x01;
145
+ // The maximum number of router neighbors the stack can keep track of. A
146
+ // neighbor is a node within radio range.
147
+ EzspConfigId.CONFIG_NEIGHBOR_TABLE_SIZE = 0x02;
148
+ // The maximum number of APS retried messages the stack can be transmitting
149
+ // at any time.
150
+ EzspConfigId.CONFIG_APS_UNICAST_MESSAGE_COUNT = 0x03;
151
+ // The maximum number of non-volatile bindings supported by the stack.
152
+ EzspConfigId.CONFIG_BINDING_TABLE_SIZE = 0x04;
153
+ // The maximum number of EUI64 to network address associations that the
154
+ // stack can maintain for the application. (Note, the total number of such
155
+ // address associations maintained by the NCP is the sum of the value of
156
+ // this setting and the value of ::CONFIG_TRUST_CENTER_ADDRESS_CACHE_SIZE).
157
+ EzspConfigId.CONFIG_ADDRESS_TABLE_SIZE = 0x05;
158
+ // The maximum number of multicast groups that the device may be a member
159
+ // of.
160
+ EzspConfigId.CONFIG_MULTICAST_TABLE_SIZE = 0x06;
161
+ // The maximum number of destinations to which a node can route messages.
162
+ // This includes both messages originating at this node and those relayed
163
+ // for others.
164
+ EzspConfigId.CONFIG_ROUTE_TABLE_SIZE = 0x07;
165
+ // The number of simultaneous route discoveries that a node will support.
166
+ EzspConfigId.CONFIG_DISCOVERY_TABLE_SIZE = 0x08;
167
+ // The size of the alarm broadcast buffer.
168
+ EzspConfigId.CONFIG_BROADCAST_ALARM_DATA_SIZE = 0x09;
169
+ // The size of the unicast alarm buffers allocated for end device children.
170
+ EzspConfigId.CONFIG_UNICAST_ALARM_DATA_SIZE = 0x0A;
171
+ // Specifies the stack profile.
172
+ EzspConfigId.CONFIG_STACK_PROFILE = 0x0C;
173
+ // The security level used for security at the MAC and network layers. The
174
+ // supported values are 0 (no security) and 5 (payload is encrypted and a
175
+ // four-byte MIC is used for authentication).
176
+ EzspConfigId.CONFIG_SECURITY_LEVEL = 0x0D;
177
+ // The maximum number of hops for a message.
178
+ EzspConfigId.CONFIG_MAX_HOPS = 0x10;
179
+ // The maximum number of end device children that a router will support.
180
+ EzspConfigId.CONFIG_MAX_END_DEVICE_CHILDREN = 0x11;
181
+ // The maximum amount of time that the MAC will hold a message for indirect
182
+ // transmission to a child.
183
+ EzspConfigId.CONFIG_INDIRECT_TRANSMISSION_TIMEOUT = 0x12;
184
+ // The maximum amount of time that an end device child can wait between
185
+ // polls. If no poll is heard within this timeout, then the parent removes
186
+ // the end device from its tables.
187
+ EzspConfigId.CONFIG_END_DEVICE_POLL_TIMEOUT = 0x13;
188
+ // The maximum amount of time that a mobile node can wait between polls. If
189
+ // no poll is heard within this timeout, then the parent removes the mobile
190
+ // node from its tables.
191
+ EzspConfigId.CONFIG_MOBILE_NODE_POLL_TIMEOUT = 0x14;
192
+ // The number of child table entries reserved for use only by mobile nodes.
193
+ EzspConfigId.CONFIG_RESERVED_MOBILE_CHILD_ENTRIES = 0x15;
194
+ // Enables boost power mode and/or the alternate transmitter output.
195
+ EzspConfigId.CONFIG_TX_POWER_MODE = 0x17;
196
+ // 0: Allow this node to relay messages. 1: Prevent this node from relaying
197
+ // messages.
198
+ EzspConfigId.CONFIG_DISABLE_RELAY = 0x18;
199
+ // The maximum number of EUI64 to network address associations that the
200
+ // Trust Center can maintain. These address cache entries are reserved for
201
+ // and reused by the Trust Center when processing device join/rejoin
202
+ // authentications. This cache size limits the number of overlapping joins
203
+ // the Trust Center can process within a narrow time window (e.g. two
204
+ // seconds), and thus should be set to the maximum number of near
205
+ // simultaneous joins the Trust Center is expected to accommodate. (Note,
206
+ // the total number of such address associations maintained by the NCP is
207
+ // the sum of the value of this setting and the value of
208
+ // ::CONFIG_ADDRESS_TABLE_SIZE.)
209
+ EzspConfigId.CONFIG_TRUST_CENTER_ADDRESS_CACHE_SIZE = 0x19;
210
+ // The size of the source route table.
211
+ EzspConfigId.CONFIG_SOURCE_ROUTE_TABLE_SIZE = 0x1A;
212
+ // The units used for timing out end devices on their parents.
213
+ EzspConfigId.CONFIG_END_DEVICE_POLL_TIMEOUT_SHIFT = 0x1B;
214
+ // The number of blocks of a fragmented message that can be sent in a single
215
+ // window.
216
+ EzspConfigId.CONFIG_FRAGMENT_WINDOW_SIZE = 0x1C;
217
+ // The time the stack will wait (in milliseconds) between sending blocks of
218
+ // a fragmented message.
219
+ EzspConfigId.CONFIG_FRAGMENT_DELAY_MS = 0x1D;
220
+ // The size of the Key Table used for storing individual link keys (if the
221
+ // device is a Trust Center) or Application Link Keys (if the device is a
222
+ // normal node).
223
+ EzspConfigId.CONFIG_KEY_TABLE_SIZE = 0x1E;
224
+ // The APS ACK timeout value. The stack waits this amount of time between
225
+ // resends of APS retried messages.
226
+ EzspConfigId.CONFIG_APS_ACK_TIMEOUT = 0x1F;
227
+ // The duration of an active scan, in the units used by the 15.4 scan
228
+ // parameter (((1 << duration) + 1) * 15ms). This also controls the jitter
229
+ // used when responding to a beacon request.
230
+ EzspConfigId.CONFIG_ACTIVE_SCAN_DURATION = 0x20;
231
+ // The time the coordinator will wait (in seconds) for a second end device
232
+ // bind request to arrive.
233
+ EzspConfigId.CONFIG_END_DEVICE_BIND_TIMEOUT = 0x21;
234
+ // The number of PAN id conflict reports that must be received by the
235
+ // network manager within one minute to trigger a PAN id change.
236
+ EzspConfigId.CONFIG_PAN_ID_CONFLICT_REPORT_THRESHOLD = 0x22;
237
+ // The timeout value in minutes for how long the Trust Center or a normal
238
+ // node waits for the ZigBee Request Key to complete. On the Trust Center
239
+ // this controls whether or not the device buffers the request, waiting for
240
+ // a matching pair of ZigBee Request Key. If the value is non-zero, the
241
+ // Trust Center buffers and waits for that amount of time. If the value is
242
+ // zero, the Trust Center does not buffer the request and immediately
243
+ // responds to the request. Zero is the most compliant behavior.
244
+ EzspConfigId.CONFIG_REQUEST_KEY_TIMEOUT = 0x24;
245
+ // This value indicates the size of the runtime modifiable certificate
246
+ // table. Normally certificates are stored in MFG tokens but this table can
247
+ // be used to field upgrade devices with new Smart Energy certificates.
248
+ // This value cannot be set, it can only be queried.
249
+ EzspConfigId.CONFIG_CERTIFICATE_TABLE_SIZE = 0x29;
250
+ // This is a bitmask that controls which incoming ZDO request messages are
251
+ // passed to the application. The bits are defined in the
252
+ // EmberZdoConfigurationFlags enumeration. To see if the application is
253
+ // required to send a ZDO response in reply to an incoming message, the
254
+ // application must check the APS options bitfield within the
255
+ // incomingMessageHandler callback to see if the
256
+ // APS_OPTION_ZDO_RESPONSE_REQUIRED flag is set.
257
+ EzspConfigId.CONFIG_APPLICATION_ZDO_FLAGS = 0x2A;
258
+ // The maximum number of broadcasts during a single broadcast timeout
259
+ // period.
260
+ EzspConfigId.CONFIG_BROADCAST_TABLE_SIZE = 0x2B;
261
+ // The size of the MAC filter list table.
262
+ EzspConfigId.CONFIG_MAC_FILTER_TABLE_SIZE = 0x2C;
263
+ // The number of supported networks.
264
+ EzspConfigId.CONFIG_SUPPORTED_NETWORKS = 0x2D;
265
+ // Whether multicasts are sent to the RxOnWhenIdle=true address (0xFFFD) or
266
+ // the sleepy broadcast address (0xFFFF). The RxOnWhenIdle=true address is
267
+ // the ZigBee compliant destination for multicasts.
268
+ EzspConfigId.CONFIG_SEND_MULTICASTS_TO_SLEEPY_ADDRESS = 0x2E;
269
+ // ZLL group address initial configuration.
270
+ EzspConfigId.CONFIG_ZLL_GROUP_ADDRESSES = 0x2F;
271
+ // ZLL rssi threshold initial configuration.
272
+ EzspConfigId.CONFIG_ZLL_RSSI_THRESHOLD = 0x30;
273
+ // The maximum number of pairings supported by the stack. Controllers
274
+ // must support at least one pairing table entry while targets must
275
+ // support at least five.
276
+ EzspConfigId.CONFIG_RF4CE_PAIRING_TABLE_SIZE = 0x31;
277
+ // The maximum number of outgoing RF4CE packets supported by the stack.
278
+ EzspConfigId.CONFIG_RF4CE_PENDING_OUTGOING_PACKET_TABLE_SIZE = 0x32;
279
+ // Toggles the mtorr flow control in the stack.
280
+ EzspConfigId.CONFIG_MTORR_FLOW_CONTROL = 0x33;
281
+ // Setting the retry queue size.
282
+ EzspConfigId.CONFIG_RETRY_QUEUE_SIZE = 0x34;
283
+ // Setting the new broadcast entry threshold.
284
+ EzspConfigId.CONFIG_NEW_BROADCAST_ENTRY_THRESHOLD = 0x35;
285
+ // The length of time, in seconds, that a trust center will store a
286
+ // transient link key that a device can use to join its network. A transient
287
+ // key is added with a call to emberAddTransientLinkKey. After the transient
288
+ // key is added, it will be removed once this amount of time has passed. A
289
+ // joining device will not be able to use that key to join until it is added
290
+ // again on the trust center. The default value is 300 seconds, i.e., 5
291
+ // minutes.
292
+ EzspConfigId.CONFIG_TRANSIENT_KEY_TIMEOUT_S = 0x36;
293
+ // The number of passive acknowledgements to record from neighbors before we stop
294
+ // re-transmitting broadcasts
295
+ EzspConfigId.CONFIG_BROADCAST_MIN_ACKS_NEEDED = 0x37;
296
+ // The length of time, in seconds, that a trust center will allow a Trust Center
297
+ // (insecure) rejoin for a device that is using the well-known link key. This timeout
298
+ // takes effect once rejoins using the well-known key has been allowed. This command
299
+ // updates the emAllowTcRejoinsUsingWellKnownKeyTimeoutSec value.
300
+ EzspConfigId.CONFIG_TC_REJOINS_USING_WELL_KNOWN_KEY_TIMEOUT_S = 0x38;
301
+ class EzspValueId extends basic.uint8_t {
302
+ }
303
+ exports.EzspValueId = EzspValueId;
304
+ // Identifies a value.
305
+ // The contents of the node data stack token.
306
+ EzspValueId.VALUE_TOKEN_STACK_NODE_DATA = 0x00;
307
+ // The types of MAC passthrough messages that the host wishes to receive.
308
+ EzspValueId.VALUE_MAC_PASSTHROUGH_FLAGS = 0x01;
309
+ // The source address used to filter legacy EmberNet messages when the
310
+ // MAC_PASSTHROUGH_EMBERNET_SOURCE flag is set in
311
+ // VALUE_MAC_PASSTHROUGH_FLAGS.
312
+ EzspValueId.VALUE_EMBERNET_PASSTHROUGH_SOURCE_ADDRESS = 0x02;
313
+ // The number of available message buffers.
314
+ EzspValueId.VALUE_FREE_BUFFERS = 0x03;
315
+ // Selects sending synchronous callbacks in ezsp-uart.
316
+ EzspValueId.VALUE_UART_SYNCH_CALLBACKS = 0x04;
317
+ // The maximum incoming transfer size for the local node.
318
+ EzspValueId.VALUE_MAXIMUM_INCOMING_TRANSFER_SIZE = 0x05;
319
+ // The maximum outgoing transfer size for the local node.
320
+ EzspValueId.VALUE_MAXIMUM_OUTGOING_TRANSFER_SIZE = 0x06;
321
+ // A boolean indicating whether stack tokens are written to persistent
322
+ // storage as they change.
323
+ EzspValueId.VALUE_STACK_TOKEN_WRITING = 0x07;
324
+ // A read-only value indicating whether the stack is currently performing a
325
+ // rejoin.
326
+ EzspValueId.VALUE_STACK_IS_PERFORMING_REJOIN = 0x08;
327
+ // A list of EmberMacFilterMatchData values.
328
+ EzspValueId.VALUE_MAC_FILTER_LIST = 0x09;
329
+ // The Ember Extended Security Bitmask.
330
+ EzspValueId.VALUE_EXTENDED_SECURITY_BITMASK = 0x0A;
331
+ // The node short ID.
332
+ EzspValueId.VALUE_NODE_SHORT_ID = 0x0B;
333
+ // The descriptor capability of the local node.
334
+ EzspValueId.VALUE_DESCRIPTOR_CAPABILITY = 0x0C;
335
+ // The stack device request sequence number of the local node.
336
+ EzspValueId.VALUE_STACK_DEVICE_REQUEST_SEQUENCE_NUMBER = 0x0D;
337
+ // Enable or disable radio hold-off.
338
+ EzspValueId.VALUE_RADIO_HOLD_OFF = 0x0E;
339
+ // The flags field associated with the endpoint data.
340
+ EzspValueId.VALUE_ENDPOINT_FLAGS = 0x0F;
341
+ // Enable/disable the Mfg security config key settings.
342
+ EzspValueId.VALUE_MFG_SECURITY_CONFIG = 0x10;
343
+ // Retrieves the version information from the stack on the NCP.
344
+ EzspValueId.VALUE_VERSION_INFO = 0x11;
345
+ // This will get/set the rejoin reason noted by the host for a subsequent
346
+ // call to emberFindAndRejoinNetwork(). After a call to
347
+ // emberFindAndRejoinNetwork() the host's rejoin reason will be set to
348
+ // REJOIN_REASON_NONE. The NCP will store the rejoin reason used by the
349
+ // call to emberFindAndRejoinNetwork()
350
+ EzspValueId.VALUE_NEXT_HOST_REJOIN_REASON = 0x12;
351
+ // This is the reason that the last rejoin took place. This value may only
352
+ // be retrieved, not set. The rejoin may have been initiated by the stack
353
+ // (NCP) or the application (host). If a host initiated a rejoin the reason
354
+ // will be set by default to REJOIN_DUE_TO_APP_EVENT_1. If the application
355
+ // wishes to denote its own rejoin reasons it can do so by calling
356
+ // ezspSetValue(VALUE_HOST_REJOIN_REASON, REJOIN_DUE_TO_APP_EVENT_X). X is a
357
+ // number corresponding to one of the app events defined. If the NCP
358
+ // initiated a rejoin it will record this value internally for retrieval by
359
+ // ezspGetValue(VALUE_REAL_REJOIN_REASON).
360
+ EzspValueId.VALUE_LAST_REJOIN_REASON = 0x13;
361
+ // The next ZigBee sequence number.
362
+ EzspValueId.VALUE_NEXT_ZIGBEE_SEQUENCE_NUMBER = 0x14;
363
+ // CCA energy detect threshold for radio.
364
+ EzspValueId.VALUE_CCA_THRESHOLD = 0x15;
365
+ // The threshold value for a counter
366
+ EzspValueId.VALUE_SET_COUNTER_THRESHOLD = 0x17;
367
+ // Resets all counters thresholds to 0xFF
368
+ EzspValueId.VALUE_RESET_COUNTER_THRESHOLDS = 0x18;
369
+ // Clears all the counters
370
+ EzspValueId.VALUE_CLEAR_COUNTERS = 0x19;
371
+ // The device RF4CE base channel
372
+ EzspValueId.VALUE_RF4CE_BASE_CHANNEL = 0x1A;
373
+ // The RF4CE device types supported by the node
374
+ EzspValueId.VALUE_RF4CE_SUPPORTED_DEVICE_TYPES_LIST = 0x1B;
375
+ // The RF4CE profiles supported by the node
376
+ EzspValueId.VALUE_RF4CE_SUPPORTED_PROFILES_LIST = 0x1C;
377
+ // Setting this byte enables R21 behavior on the NCP.
378
+ EzspValueId.VALUE_ENABLE_R21_BEHAVIOR = 0x29;
379
+ // Configure the antenna mode(0-primary,1-secondary,2- toggle on tx ack
380
+ // fail).
381
+ EzspValueId.VALUE_ANTENNA_MODE = 0x30;
382
+ // The GDP binding recipient parameters
383
+ EzspValueId.VALUE_RF4CE_GDP_BINDING_RECIPIENT_PARAMETERS = 0x1D;
384
+ // The GDP binding push button stimulus received pending flag
385
+ EzspValueId.VALUE_RF4CE_GDP_PUSH_BUTTON_STIMULUS_RECEIVED_PENDING_FLAG = 0x1E;
386
+ // The GDP originator proxy flag in the advanced binding options
387
+ EzspValueId.VALUE_RF4CE_GDP_BINDING_PROXY_FLAG = 0x1F;
388
+ // The GDP application specific user s join unti_VALUE_RF4CE_MSO_USER_STRING
389
+ // 0x21 The MSO user string
390
+ EzspValueId.VALUE_RF4CE_GDP_APPLICATION_SPECIFIC_USER_STRING = 0x20;
391
+ // The MSO user string
392
+ EzspValueId.VALUE_RF4CE_MSO_USER_STRING = 0x21;
393
+ // The MSO binding recipient parameters
394
+ EzspValueId.VALUE_RF4CE_MSO_BINDING_RECIPIENT_PARAMETERS = 0x22;
395
+ // The NWK layer security frame counter value
396
+ EzspValueId.VALUE_NWK_FRAME_COUNTER = 0x23;
397
+ // The APS layer security frame counter value
398
+ EzspValueId.VALUE_APS_FRAME_COUNTER = 0x24;
399
+ // Sets the device type to use on the next rejoin using device type
400
+ EzspValueId.VALUE_RETRY_DEVICE_TYPE = 0x25;
401
+ // The device RF4CE base channel
402
+ EzspValueId.VALUE_RF4CE_BASE_CHANNEL2 = 0x26;
403
+ // The RF4CE device types supported by the node
404
+ EzspValueId.VALUE_RF4CE_SUPPORTED_DEVICE_TYPES_LIST2 = 0x27;
405
+ // The RF4CE profiles supported by the node
406
+ EzspValueId.VALUE_RF4CE_SUPPORTED_PROFILES_LIST2 = 0x28;
407
+ // Enable or disable packet traffic arbitration.
408
+ EzspValueId.VALUE_ENABLE_PTA = 0x31;
409
+ // Set packet traffic arbitration configuration options.
410
+ EzspValueId.VALUE_PTA_OPTIONS = 0x32;
411
+ // Configure manufacturing library options(0-non-CSMA transmits,1-CSMA transmits).
412
+ EzspValueId.VALUE_MFGLIB_OPTIONS = 0x33;
413
+ EzspValueId.VALUE_END_DEVICE_KEEP_ALIVE_SUPPORT_MODE = 0x3F;
414
+ class EzspExtendedValueId extends basic.uint8_t {
415
+ }
416
+ exports.EzspExtendedValueId = EzspExtendedValueId;
417
+ // Identifies a value based on specified characteristics. Each set of
418
+ // characteristics is unique to that value and is specified during the call
419
+ // to get the extended value.
420
+ // The flags field associated with the specified endpoint.
421
+ EzspExtendedValueId.EXTENDED_VALUE_ENDPOINT_FLAGS = 0x00;
422
+ // This is the reason for the node to leave the network as well as the
423
+ // device that told it to leave. The leave reason is the 1st byte of the
424
+ // value while the node ID is the 2nd and 3rd byte. If the leave was caused
425
+ // due to an API call rather than an over the air message, the node ID will
426
+ // be UNKNOWN_NODE_ID (0xFFFD).
427
+ EzspExtendedValueId.EXTENDED_VALUE_LAST_LEAVE_REASON = 0x01;
428
+ // This number of bytes of overhead required in the network frame for source
429
+ // routing to a particular destination.
430
+ EzspExtendedValueId.EXTENDED_VALUE_GET_SOURCE_ROUTE_OVERHEAD = 0x02;
431
+ class EzspEndpointFlags extends basic.uint16_t {
432
+ }
433
+ exports.EzspEndpointFlags = EzspEndpointFlags;
434
+ // Flags associated with the endpoint data configured on the NCP.
435
+ // Indicates that the endpoint is disabled and NOT discoverable via ZDO.
436
+ EzspEndpointFlags.ENDPOINT_DISABLED = 0x00;
437
+ // Indicates that the endpoint is enabled and discoverable via ZDO.
438
+ EzspEndpointFlags.ENDPOINT_ENABLED = 0x01;
439
+ class EmberConfigTxPowerMode extends basic.uint16_t {
440
+ }
441
+ exports.EmberConfigTxPowerMode = EmberConfigTxPowerMode;
442
+ // Values for CONFIG_TX_POWER_MODE.
443
+ // Normal power mode and bi-directional RF transmitter output.
444
+ EmberConfigTxPowerMode.TX_POWER_MODE_DEFAULT = 0x00;
445
+ // Enable boost power mode. This is a high performance radio mode which
446
+ // offers increased receive sensitivity and transmit power at the cost of an
447
+ // increase in power consumption.
448
+ EmberConfigTxPowerMode.TX_POWER_MODE_BOOST = 0x01;
449
+ // Enable the alternate transmitter output. This allows for simplified
450
+ // connection to an external power amplifier via the RF_TX_ALT_P and
451
+ // RF_TX_ALT_N pins. TX_POWER_MODE_BOOST_AND_ALTERNATE 0x03 Enable both
452
+ // boost mode and the alternate transmitter output.
453
+ EmberConfigTxPowerMode.TX_POWER_MODE_ALTERNATE = 0x02;
454
+ class EzspPolicyId extends basic.uint8_t {
455
+ }
456
+ exports.EzspPolicyId = EzspPolicyId;
457
+ // Identifies a policy.
458
+ // Controls trust center behavior.
459
+ EzspPolicyId.TRUST_CENTER_POLICY = 0x00;
460
+ // Controls how external binding modification requests are handled.
461
+ EzspPolicyId.BINDING_MODIFICATION_POLICY = 0x01;
462
+ // Controls whether the Host supplies unicast replies.
463
+ EzspPolicyId.UNICAST_REPLIES_POLICY = 0x02;
464
+ // Controls whether pollHandler callbacks are generated.
465
+ EzspPolicyId.POLL_HANDLER_POLICY = 0x03;
466
+ // Controls whether the message contents are included in the
467
+ // messageSentHandler callback.
468
+ EzspPolicyId.MESSAGE_CONTENTS_IN_CALLBACK_POLICY = 0x04;
469
+ // Controls whether the Trust Center will respond to Trust Center link key
470
+ // requests.
471
+ EzspPolicyId.TC_KEY_REQUEST_POLICY = 0x05;
472
+ // Controls whether the Trust Center will respond to application link key
473
+ // requests.
474
+ EzspPolicyId.APP_KEY_REQUEST_POLICY = 0x06;
475
+ // Controls whether ZigBee packets that appear invalid are automatically
476
+ // dropped by the stack. A counter will be incremented when this occurs.
477
+ EzspPolicyId.PACKET_VALIDATE_LIBRARY_POLICY = 0x07;
478
+ // Controls whether the stack will process ZLL messages.
479
+ EzspPolicyId.ZLL_POLICY = 0x08;
480
+ EzspPolicyId.TC_REJOINS_USING_WELL_KNOWN_KEY_POLICY = 0x09;
481
+ class EzspDecisionId extends basic.uint16_t {
482
+ }
483
+ exports.EzspDecisionId = EzspDecisionId;
484
+ // Identifies a policy decision.
485
+ // Send the network key in the clear to all joining and rejoining devices.
486
+ EzspDecisionId.ALLOW_JOINS = 0x00;
487
+ // Send the network key in the clear to all joining devices. Rejoining
488
+ // devices are sent the network key encrypted with their trust center link
489
+ // key. The trust center and any rejoining device are assumed to share a
490
+ // link key, either preconfigured or obtained under a previous policy.
491
+ EzspDecisionId.ALLOW_JOINS_REJOINS_HAVE_LINK_KEY = 0x04;
492
+ // Send the network key encrypted with the joining or rejoining device's
493
+ // trust center link key. The trust center and any joining or rejoining
494
+ // device are assumed to share a link key, either preconfigured or obtained
495
+ // under a previous policy. This is the default value for the
496
+ // TRUST_CENTER_POLICY.
497
+ EzspDecisionId.ALLOW_PRECONFIGURED_KEY_JOINS = 0x01;
498
+ // Send the network key encrypted with the rejoining device's trust center
499
+ // link key. The trust center and any rejoining device are assumed to share
500
+ // a link key, either preconfigured or obtained under a previous policy. No
501
+ // new devices are allowed to join.
502
+ EzspDecisionId.ALLOW_REJOINS_ONLY = 0x02;
503
+ // Reject all unsecured join and rejoin attempts.
504
+ EzspDecisionId.DISALLOW_ALL_JOINS_AND_REJOINS = 0x03;
505
+ // Take no action on trust center rejoin attempts.
506
+ EzspDecisionId.IGNORE_TRUST_CENTER_REJOINS = 0x05;
507
+ // BINDING_MODIFICATION_POLICY default decision. Do not allow the local
508
+ // binding table to be changed by remote nodes.
509
+ EzspDecisionId.DISALLOW_BINDING_MODIFICATION = 0x10;
510
+ // BINDING_MODIFICATION_POLICY decision. Allow remote nodes to change
511
+ // the local binding table.
512
+ EzspDecisionId.ALLOW_BINDING_MODIFICATION = 0x11;
513
+ // BINDING_MODIFICATION_POLICY decision. Allows remote nodes to set local
514
+ // binding entries only if the entries correspond to endpoints defined on
515
+ // the device, and for output clusters bound to those endpoints.
516
+ EzspDecisionId.CHECK_BINDING_MODIFICATIONS_ARE_VALID_ENDPOINT_CLUSTERS = 0x12;
517
+ // UNICAST_REPLIES_POLICY default decision. The NCP will automatically send
518
+ // an empty reply (containing no payload) for every unicast received.
519
+ EzspDecisionId.HOST_WILL_NOT_SUPPLY_REPLY = 0x20;
520
+ // UNICAST_REPLIES_POLICY decision. The NCP will only send a reply if it
521
+ // receives a sendReply command from the Host.
522
+ EzspDecisionId.HOST_WILL_SUPPLY_REPLY = 0x21;
523
+ // POLL_HANDLER_POLICY default decision. Do not inform the Host when a child
524
+ // polls.
525
+ EzspDecisionId.POLL_HANDLER_IGNORE = 0x30;
526
+ // POLL_HANDLER_POLICY decision. Generate a pollHandler callback when a
527
+ // child polls.
528
+ EzspDecisionId.POLL_HANDLER_CALLBACK = 0x31;
529
+ // MESSAGE_CONTENTS_IN_CALLBACK_POLICY default decision. Include only the
530
+ // message tag in the messageSentHandler callback.
531
+ EzspDecisionId.MESSAGE_TAG_ONLY_IN_CALLBACK = 0x40;
532
+ // MESSAGE_CONTENTS_IN_CALLBACK_POLICY decision. Include both the message
533
+ // tag and the message contents in the messageSentHandler callback.
534
+ EzspDecisionId.MESSAGE_TAG_AND_CONTENTS_IN_CALLBACK = 0x41;
535
+ // TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
536
+ // for a Trust Center link key, it will be ignored.
537
+ EzspDecisionId.DENY_TC_KEY_REQUESTS = 0x50;
538
+ // TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
539
+ // for a Trust Center link key, it will reply to it with the corresponding
540
+ // key.
541
+ EzspDecisionId.ALLOW_TC_KEY_REQUESTS = 0x51;
542
+ // TC_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
543
+ // for a Trust Center link key, it will generate a key to send to the
544
+ // joiner.
545
+ EzspDecisionId.GENERATE_NEW_TC_LINK_KEY = 0x52;
546
+ // APP_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
547
+ // for an application link key, it will be ignored.
548
+ EzspDecisionId.DENY_APP_KEY_REQUESTS = 0x60;
549
+ // APP_KEY_REQUEST_POLICY decision. When the Trust Center receives a request
550
+ // for an application link key, it will randomly generate a key and send it
551
+ // to both partners.
552
+ EzspDecisionId.ALLOW_APP_KEY_REQUESTS = 0x61;
553
+ // Indicates that packet validate library checks are enabled on the NCP.
554
+ EzspDecisionId.PACKET_VALIDATE_LIBRARY_CHECKS_ENABLED = 0x62;
555
+ // Indicates that packet validate library checks are NOT enabled on the NCP.
556
+ EzspDecisionId.PACKET_VALIDATE_LIBRARY_CHECKS_DISABLED = 0x63;
557
+ class EzspMfgTokenId extends basic.uint8_t {
558
+ }
559
+ exports.EzspMfgTokenId = EzspMfgTokenId;
560
+ // Manufacturing token IDs used by ezspGetMfgToken().
561
+ // Custom version (2 bytes).
562
+ EzspMfgTokenId.MFG_CUSTOM_VERSION = 0x00;
563
+ // Manufacturing string (16 bytes).
564
+ EzspMfgTokenId.MFG_STRING = 0x01;
565
+ // Board name (16 bytes).
566
+ EzspMfgTokenId.MFG_BOARD_NAME = 0x02;
567
+ // Manufacturing ID (2 bytes).
568
+ EzspMfgTokenId.MFG_MANUF_ID = 0x03;
569
+ // Radio configuration (2 bytes).
570
+ EzspMfgTokenId.MFG_PHY_CONFIG = 0x04;
571
+ // Bootload AES key (16 bytes).
572
+ EzspMfgTokenId.MFG_BOOTLOAD_AES_KEY = 0x05;
573
+ // ASH configuration (40 bytes).
574
+ EzspMfgTokenId.MFG_ASH_CONFIG = 0x06;
575
+ // EZSP storage (8 bytes).
576
+ EzspMfgTokenId.MFG_STORAGE = 0x07;
577
+ // Radio calibration data (64 bytes). 4 bytes are stored for each of the 16
578
+ // channels. This token is not stored in the Flash Information Area. It is
579
+ // updated by the stack each time a calibration is performed.
580
+ EzspMfgTokenId.STACK_CAL_DATA = 0x08;
581
+ // Certificate Based Key Exchange (CBKE) data (92 bytes).
582
+ EzspMfgTokenId.MFG_CBKE_DATA = 0x09;
583
+ // Installation code (20 bytes).
584
+ EzspMfgTokenId.MFG_INSTALLATION_CODE = 0x0A;
585
+ // Radio channel filter calibration data (1 byte). This token is not stored
586
+ // in the Flash Information Area. It is updated by the stack each time a
587
+ // calibration is performed.
588
+ EzspMfgTokenId.STACK_CAL_FILTER = 0x0B;
589
+ // Custom EUI64 MAC address (8 bytes).
590
+ EzspMfgTokenId.MFG_CUSTOM_EUI_64 = 0x0C;
591
+ // CTUNE value (2 byte).
592
+ EzspMfgTokenId.MFG_CTUNE = 0x0D;
593
+ class EzspStatus extends basic.uint8_t {
594
+ }
595
+ exports.EzspStatus = EzspStatus;
596
+ // Status values used by EZSP.
597
+ // Success.
598
+ EzspStatus.SUCCESS = 0x00;
599
+ // Fatal error.
600
+ EzspStatus.SPI_ERR_FATAL = 0x10;
601
+ // The Response frame of the current transaction indicates the NCP has
602
+ // reset.
603
+ EzspStatus.SPI_ERR_NCP_RESET = 0x11;
604
+ // The NCP is reporting that the Command frame of the current transaction is
605
+ // oversized (the length byte is too large).
606
+ EzspStatus.SPI_ERR_OVERSIZED_FRAME = 0x12;
607
+ // The Response frame of the current transaction indicates the previous
608
+ // transaction was aborted (nSSEL deasserted too soon).
609
+ EzspStatus.SPI_ERR_ABORTED_TRANSACTION = 0x13;
610
+ // The Response frame of the current transaction indicates the frame
611
+ // terminator is missing from the Command frame.
612
+ EzspStatus.SPI_ERR_MISSING_FRAME_TERMINATOR = 0x14;
613
+ // The NCP has not provided a Response within the time limit defined by
614
+ // WAIT_SECTION_TIMEOUT.
615
+ EzspStatus.SPI_ERR_WAIT_SECTION_TIMEOUT = 0x15;
616
+ // The Response frame from the NCP is missing the frame terminator.
617
+ EzspStatus.SPI_ERR_NO_FRAME_TERMINATOR = 0x16;
618
+ // The Host attempted to send an oversized Command (the length byte is too
619
+ // large) and the AVR's spi-protocol.c blocked the transmission.
620
+ EzspStatus.SPI_ERR_COMMAND_OVERSIZED = 0x17;
621
+ // The NCP attempted to send an oversized Response (the length byte is too
622
+ // large) and the AVR's spi-protocol.c blocked the reception.
623
+ EzspStatus.SPI_ERR_RESPONSE_OVERSIZED = 0x18;
624
+ // The Host has sent the Command and is still waiting for the NCP to send a
625
+ // Response.
626
+ EzspStatus.SPI_WAITING_FOR_RESPONSE = 0x19;
627
+ // The NCP has not asserted nHOST_INT within the time limit defined by
628
+ // WAKE_HANDSHAKE_TIMEOUT.
629
+ EzspStatus.SPI_ERR_HANDSHAKE_TIMEOUT = 0x1A;
630
+ // The NCP has not asserted nHOST_INT after an NCP reset within the time
631
+ // limit defined by STARTUP_TIMEOUT.
632
+ EzspStatus.SPI_ERR_STARTUP_TIMEOUT = 0x1B;
633
+ // The Host attempted to verify the SPI Protocol activity and version
634
+ // number, and the verification failed.
635
+ EzspStatus.SPI_ERR_STARTUP_FAIL = 0x1C;
636
+ // The Host has sent a command with a SPI Byte that is unsupported by the
637
+ // current mode the NCP is operating in.
638
+ EzspStatus.SPI_ERR_UNSUPPORTED_SPI_COMMAND = 0x1D;
639
+ // Operation not yet complete.
640
+ EzspStatus.ASH_IN_PROGRESS = 0x20;
641
+ // Fatal error detected by host.
642
+ EzspStatus.HOST_FATAL_ERROR = 0x21;
643
+ // Fatal error detected by NCP.
644
+ EzspStatus.ASH_NCP_FATAL_ERROR = 0x22;
645
+ // Tried to send DATA frame too long.
646
+ EzspStatus.DATA_FRAME_TOO_LONG = 0x23;
647
+ // Tried to send DATA frame too short.
648
+ EzspStatus.DATA_FRAME_TOO_SHORT = 0x24;
649
+ // No space for tx'ed DATA frame.
650
+ EzspStatus.NO_TX_SPACE = 0x25;
651
+ // No space for rec'd DATA frame.
652
+ EzspStatus.NO_RX_SPACE = 0x26;
653
+ // No receive data available.
654
+ EzspStatus.NO_RX_DATA = 0x27;
655
+ // Not in Connected state.
656
+ EzspStatus.NOT_CONNECTED = 0x28;
657
+ // The NCP received a command before the EZSP version had been set.
658
+ EzspStatus.ERROR_VERSION_NOT_SET = 0x30;
659
+ // The NCP received a command containing an unsupported frame ID.
660
+ EzspStatus.ERROR_INVALID_FRAME_ID = 0x31;
661
+ // The direction flag in the frame control field was incorrect.
662
+ EzspStatus.ERROR_WRONG_DIRECTION = 0x32;
663
+ // The truncated flag in the frame control field was set, indicating there
664
+ // was not enough memory available to complete the response or that the
665
+ // response would have exceeded the maximum EZSP frame length.
666
+ EzspStatus.ERROR_TRUNCATED = 0x33;
667
+ // The overflow flag in the frame control field was set, indicating one or
668
+ // more callbacks occurred since the previous response and there was not
669
+ // enough memory available to report them to the Host.
670
+ EzspStatus.ERROR_OVERFLOW = 0x34;
671
+ // Insufficient memory was available.
672
+ EzspStatus.ERROR_OUT_OF_MEMORY = 0x35;
673
+ // The value was out of bounds.
674
+ EzspStatus.ERROR_INVALID_VALUE = 0x36;
675
+ // The configuration id was not recognized.
676
+ EzspStatus.ERROR_INVALID_ID = 0x37;
677
+ // Configuration values can no longer be modified.
678
+ EzspStatus.ERROR_INVALID_CALL = 0x38;
679
+ // The NCP failed to respond to a command.
680
+ EzspStatus.ERROR_NO_RESPONSE = 0x39;
681
+ // The length of the command exceeded the maximum EZSP frame length.
682
+ EzspStatus.ERROR_COMMAND_TOO_LONG = 0x40;
683
+ // The UART receive queue was full causing a callback response to be
684
+ // dropped.
685
+ EzspStatus.ERROR_QUEUE_FULL = 0x41;
686
+ // The command has been filtered out by NCP.
687
+ EzspStatus.ERROR_COMMAND_FILTERED = 0x42;
688
+ // EZSP Security Key is already set
689
+ EzspStatus.ERROR_SECURITY_KEY_ALREADY_SET = 0x43;
690
+ // EZSP Security Type is invalid
691
+ EzspStatus.ERROR_SECURITY_TYPE_INVALID = 0x44;
692
+ // EZSP Security Parameters are invalid
693
+ EzspStatus.ERROR_SECURITY_PARAMETERS_INVALID = 0x45;
694
+ // EZSP Security Parameters are already set
695
+ EzspStatus.ERROR_SECURITY_PARAMETERS_ALREADY_SET = 0x46;
696
+ // EZSP Security Key is not set
697
+ EzspStatus.ERROR_SECURITY_KEY_NOT_SET = 0x47;
698
+ // EZSP Security Parameters are not set
699
+ EzspStatus.ERROR_SECURITY_PARAMETERS_NOT_SET = 0x48;
700
+ // Received frame with unsupported control byte
701
+ EzspStatus.ERROR_UNSUPPORTED_CONTROL = 0x49;
702
+ // Received frame is unsecure, when security is established
703
+ EzspStatus.ERROR_UNSECURE_FRAME = 0x4A;
704
+ // Incompatible ASH version
705
+ EzspStatus.ASH_ERROR_VERSION = 0x50;
706
+ // Exceeded max ACK timeouts
707
+ EzspStatus.ASH_ERROR_TIMEOUTS = 0x51;
708
+ // Timed out waiting for RSTACK
709
+ EzspStatus.ASH_ERROR_RESET_FAIL = 0x52;
710
+ // Unexpected ncp reset
711
+ EzspStatus.ASH_ERROR_NCP_RESET = 0x53;
712
+ // Serial port initialization failed
713
+ EzspStatus.ERROR_SERIAL_INIT = 0x54;
714
+ // Invalid ncp processor type
715
+ EzspStatus.ASH_ERROR_NCP_TYPE = 0x55;
716
+ // Invalid ncp reset method
717
+ EzspStatus.ASH_ERROR_RESET_METHOD = 0x56;
718
+ // XON/XOFF not supported by host driver
719
+ EzspStatus.ASH_ERROR_XON_XOFF = 0x57;
720
+ // ASH protocol started
721
+ EzspStatus.ASH_STARTED = 0x70;
722
+ // ASH protocol connected
723
+ EzspStatus.ASH_CONNECTED = 0x71;
724
+ // ASH protocol disconnected
725
+ EzspStatus.ASH_DISCONNECTED = 0x72;
726
+ // Timer expired waiting for ack
727
+ EzspStatus.ASH_ACK_TIMEOUT = 0x73;
728
+ // Frame in progress cancelled
729
+ EzspStatus.ASH_CANCELLED = 0x74;
730
+ // Received frame out of sequence
731
+ EzspStatus.ASH_OUT_OF_SEQUENCE = 0x75;
732
+ // Received frame with CRC error
733
+ EzspStatus.ASH_BAD_CRC = 0x76;
734
+ // Received frame with comm error
735
+ EzspStatus.ASH_COMM_ERROR = 0x77;
736
+ // Received frame with bad ackNum
737
+ EzspStatus.ASH_BAD_ACKNUM = 0x78;
738
+ // Received frame shorter than minimum
739
+ EzspStatus.ASH_TOO_SHORT = 0x79;
740
+ // Received frame longer than maximum
741
+ EzspStatus.ASH_TOO_LONG = 0x7A;
742
+ // Received frame with illegal control byte
743
+ EzspStatus.ASH_BAD_CONTROL = 0x7B;
744
+ // Received frame with illegal length for its type
745
+ EzspStatus.ASH_BAD_LENGTH = 0x7C;
746
+ // Received ASH Ack
747
+ EzspStatus.ASH_ACK_RECEIVED = 0x7D;
748
+ // Sent ASH Ack
749
+ EzspStatus.ASH_ACK_SENT = 0x7E;
750
+ // No reset or error
751
+ EzspStatus.NO_ERROR = 0xFF;
752
+ class EmberStatus extends basic.uint8_t {
753
+ }
754
+ exports.EmberStatus = EmberStatus;
755
+ // Return type for stack functions.
756
+ // The generic 'no error' message.
757
+ EmberStatus.SUCCESS = 0x00;
758
+ // The generic 'fatal error' message.
759
+ EmberStatus.ERR_FATAL = 0x01;
760
+ // An invalid value was passed as an argument to a function
761
+ EmberStatus.BAD_ARGUMENT = 0x02;
762
+ // The manufacturing and stack token format in nonvolatile memory is
763
+ // different than what the stack expects (returned at initialization).
764
+ EmberStatus.EEPROM_MFG_STACK_VERSION_MISMATCH = 0x04;
765
+ // The static memory definitions in ember-staticmemory.h are incompatible
766
+ // with this stack version.
767
+ EmberStatus.INCOMPATIBLE_STATIC_MEMORY_DEFINITIONS = 0x05;
768
+ // The manufacturing token format in non-volatile memory is different than
769
+ // what the stack expects (returned at initialization).
770
+ EmberStatus.EEPROM_MFG_VERSION_MISMATCH = 0x06;
771
+ // The stack token format in non-volatile memory is different than what the
772
+ // stack expects (returned at initialization).
773
+ EmberStatus.EEPROM_STACK_VERSION_MISMATCH = 0x07;
774
+ // There are no more buffers.
775
+ EmberStatus.NO_BUFFERS = 0x18;
776
+ // Specified an invalid baud rate.
777
+ EmberStatus.SERIAL_INVALID_BAUD_RATE = 0x20;
778
+ // Specified an invalid serial port.
779
+ EmberStatus.SERIAL_INVALID_PORT = 0x21;
780
+ // Tried to send too much data.
781
+ EmberStatus.SERIAL_TX_OVERFLOW = 0x22;
782
+ // There was not enough space to store a received character and the
783
+ // character was dropped.
784
+ EmberStatus.SERIAL_RX_OVERFLOW = 0x23;
785
+ // Detected a UART framing error.
786
+ EmberStatus.SERIAL_RX_FRAME_ERROR = 0x24;
787
+ // Detected a UART parity error.
788
+ EmberStatus.SERIAL_RX_PARITY_ERROR = 0x25;
789
+ // There is no received data to process.
790
+ EmberStatus.SERIAL_RX_EMPTY = 0x26;
791
+ // The receive interrupt was not handled in time, and a character was
792
+ // dropped.
793
+ EmberStatus.SERIAL_RX_OVERRUN_ERROR = 0x27;
794
+ // The MAC transmit queue is full.
795
+ EmberStatus.MAC_TRANSMIT_QUEUE_FULL = 0x39;
796
+ // MAC header FCR error on receive.
797
+ EmberStatus.MAC_UNKNOWN_HEADER_TYPE = 0x3A;
798
+ // The MAC can't complete this task because it is scanning.
799
+ EmberStatus.MAC_SCANNING = 0x3D;
800
+ // No pending data exists for device doing a data poll.
801
+ EmberStatus.MAC_NO_DATA = 0x31;
802
+ // Attempt to scan when we are joined to a network.
803
+ EmberStatus.MAC_JOINED_NETWORK = 0x32;
804
+ // Scan duration must be 0 to 14 inclusive. Attempt was made to scan with an
805
+ // incorrect duration value.
806
+ EmberStatus.MAC_BAD_SCAN_DURATION = 0x33;
807
+ // emberStartScan was called with an incorrect scan type.
808
+ EmberStatus.MAC_INCORRECT_SCAN_TYPE = 0x34;
809
+ // emberStartScan was called with an invalid channel mask.
810
+ EmberStatus.MAC_INVALID_CHANNEL_MASK = 0x35;
811
+ // Failed to scan current channel because we were unable to transmit the
812
+ // relevant MAC command.
813
+ EmberStatus.MAC_COMMAND_TRANSMIT_FAILURE = 0x36;
814
+ // We expected to receive an ACK following the transmission, but the MAC
815
+ // level ACK was never received.
816
+ EmberStatus.MAC_NO_ACK_RECEIVED = 0x40;
817
+ // Indirect data message timed out before polled.
818
+ EmberStatus.MAC_INDIRECT_TIMEOUT = 0x42;
819
+ // The Simulated EEPROM is telling the application that there is at least
820
+ // one flash page to be erased. The GREEN status means the current page has
821
+ // not filled above the ERASE_CRITICAL_THRESHOLD. The application should
822
+ // call the function halSimEepromErasePage when it can to erase a page.
823
+ EmberStatus.SIM_EEPROM_ERASE_PAGE_GREEN = 0x43;
824
+ // The Simulated EEPROM is telling the application that there is at least
825
+ // one flash page to be erased. The RED status means the current page has
826
+ // filled above the ERASE_CRITICAL_THRESHOLD. Due to the shrinking
827
+ // availability of write space, there is a danger of data loss. The
828
+ // application must call the function halSimEepromErasePage as soon as
829
+ // possible to erase a page.
830
+ EmberStatus.SIM_EEPROM_ERASE_PAGE_RED = 0x44;
831
+ // The Simulated EEPROM has run out of room to write any new data and the
832
+ // data trying to be set has been lost. This error code is the result of
833
+ // ignoring the SIM_EEPROM_ERASE_PAGE_RED error code. The application must
834
+ // call the function halSimEepromErasePage to make room for any further
835
+ // calls to set a token.
836
+ EmberStatus.SIM_EEPROM_FULL = 0x45;
837
+ // A fatal error has occurred while trying to write data to the Flash. The
838
+ // target memory attempting to be programmed is already programmed. The
839
+ // flash write routines were asked to flip a bit from a 0 to 1, which is
840
+ // physically impossible and the write was therefore inhibited. The data in
841
+ // the flash cannot be trusted after this error.
842
+ EmberStatus.ERR_FLASH_WRITE_INHIBITED = 0x46;
843
+ // A fatal error has occurred while trying to write data to the Flash and
844
+ // the write verification has failed. The data in the flash cannot be
845
+ // trusted after this error, and it is possible this error is the result of
846
+ // exceeding the life cycles of the flash.
847
+ EmberStatus.ERR_FLASH_VERIFY_FAILED = 0x47;
848
+ // Attempt 1 to initialize the Simulated EEPROM has failed. This failure
849
+ // means the information already stored in Flash (or a lack thereof), is
850
+ // fatally incompatible with the token information compiled into the code
851
+ // image being run.
852
+ EmberStatus.SIM_EEPROM_INIT_1_FAILED = 0x48;
853
+ // Attempt 2 to initialize the Simulated EEPROM has failed. This failure
854
+ // means Attempt 1 failed, and the token system failed to properly reload
855
+ // default tokens and reset the Simulated EEPROM.
856
+ EmberStatus.SIM_EEPROM_INIT_2_FAILED = 0x49;
857
+ // Attempt 3 to initialize the Simulated EEPROM has failed. This failure
858
+ // means one or both of the tokens TOKEN_MFG_NVDATA_VERSION or
859
+ // TOKEN_STACK_NVDATA_VERSION were incorrect and the token system failed to
860
+ // properly reload default tokens and reset the Simulated EEPROM.
861
+ EmberStatus.SIM_EEPROM_INIT_3_FAILED = 0x4A;
862
+ // A fatal error has occurred while trying to write data to the flash,
863
+ // possibly due to write protection or an invalid address. The data in the
864
+ // flash cannot be trusted after this error, and it is possible this error
865
+ // is the result of exceeding the life cycles of the flash.
866
+ EmberStatus.ERR_FLASH_PROG_FAIL = 0x4B;
867
+ // A fatal error has occurred while trying to erase flash, possibly due to
868
+ // write protection. The data in the flash cannot be trusted after this
869
+ // error, and it is possible this error is the result of exceeding the life
870
+ // cycles of the flash.
871
+ EmberStatus.ERR_FLASH_ERASE_FAIL = 0x4C;
872
+ // The bootloader received an invalid message (failed attempt to go into
873
+ // bootloader).
874
+ EmberStatus.ERR_BOOTLOADER_TRAP_TABLE_BAD = 0x58;
875
+ // Bootloader received an invalid message (failed attempt to go into
876
+ // bootloader).
877
+ EmberStatus.ERR_BOOTLOADER_TRAP_UNKNOWN = 0x59;
878
+ // The bootloader cannot complete the bootload operation because either an
879
+ // image was not found or the image exceeded memory bounds.
880
+ EmberStatus.ERR_BOOTLOADER_NO_IMAGE = 0x5A;
881
+ // The APS layer attempted to send or deliver a message, but it failed.
882
+ EmberStatus.DELIVERY_FAILED = 0x66;
883
+ // This binding index is out of range of the current binding table.
884
+ EmberStatus.BINDING_INDEX_OUT_OF_RANGE = 0x69;
885
+ // This address table index is out of range for the current address table.
886
+ EmberStatus.ADDRESS_TABLE_INDEX_OUT_OF_RANGE = 0x6A;
887
+ // An invalid binding table index was given to a function.
888
+ EmberStatus.INVALID_BINDING_INDEX = 0x6C;
889
+ // The API call is not allowed given the current state of the stack.
890
+ EmberStatus.INVALID_CALL = 0x70;
891
+ // The link cost to a node is not known.
892
+ EmberStatus.COST_NOT_KNOWN = 0x71;
893
+ // The maximum number of in-flight messages (i.e.
894
+ // APS_UNICAST_MESSAGE_COUNT) has been reached.
895
+ EmberStatus.MAX_MESSAGE_LIMIT_REACHED = 0x72;
896
+ // The message to be transmitted is too big to fit into a single over-the-
897
+ // air packet.
898
+ EmberStatus.MESSAGE_TOO_LONG = 0x74;
899
+ // The application is trying to delete or overwrite a binding that is in
900
+ // use.
901
+ EmberStatus.BINDING_IS_ACTIVE = 0x75;
902
+ // The application is trying to overwrite an address table entry that is in
903
+ // use.
904
+ EmberStatus.ADDRESS_TABLE_ENTRY_IS_ACTIVE = 0x76;
905
+ // Conversion is complete.
906
+ EmberStatus.ADC_CONVERSION_DONE = 0x80;
907
+ // Conversion cannot be done because a request is being processed.
908
+ EmberStatus.ADC_CONVERSION_BUSY = 0x81;
909
+ // Conversion is deferred until the current request has been processed.
910
+ EmberStatus.ADC_CONVERSION_DEFERRED = 0x82;
911
+ // No results are pending.
912
+ EmberStatus.ADC_NO_CONVERSION_PENDING = 0x84;
913
+ // Sleeping (for a duration) has been abnormally interrupted and exited
914
+ // prematurely.
915
+ EmberStatus.SLEEP_INTERRUPTED = 0x85;
916
+ // The transmit hardware buffer underflowed.
917
+ EmberStatus.PHY_TX_UNDERFLOW = 0x88;
918
+ // The transmit hardware did not finish transmitting a packet.
919
+ EmberStatus.PHY_TX_INCOMPLETE = 0x89;
920
+ // An unsupported channel setting was specified.
921
+ EmberStatus.PHY_INVALID_CHANNEL = 0x8A;
922
+ // An unsupported power setting was specified.
923
+ EmberStatus.PHY_INVALID_POWER = 0x8B;
924
+ // The packet cannot be transmitted because the physical MAC layer is
925
+ // currently transmitting a packet. (This is used for the MAC backoff
926
+ // algorithm.) PHY_TX_CCA_FAIL 0x8D The transmit attempt failed because all
927
+ // CCA attempts indicated that the channel was busy
928
+ EmberStatus.PHY_TX_BUSY = 0x8C;
929
+ // The software installed on the hardware doesn't recognize the hardware
930
+ // radio type.
931
+ EmberStatus.PHY_OSCILLATOR_CHECK_FAILED = 0x8E;
932
+ // The expected ACK was received after the last transmission.
933
+ EmberStatus.PHY_ACK_RECEIVED = 0x8F;
934
+ // The stack software has completed initialization and is ready to send and
935
+ // receive packets over the air.
936
+ EmberStatus.NETWORK_UP = 0x90;
937
+ // The network is not operating.
938
+ EmberStatus.NETWORK_DOWN = 0x91;
939
+ // An attempt to join a network failed.
940
+ EmberStatus.JOIN_FAILED = 0x94;
941
+ // After moving, a mobile node's attempt to re-establish contact with the
942
+ // network failed.
943
+ EmberStatus.MOVE_FAILED = 0x96;
944
+ // An attempt to join as a router failed due to a ZigBee versus ZigBee Pro
945
+ // incompatibility. ZigBee devices joining ZigBee Pro networks (or vice
946
+ // versa) must join as End Devices, not Routers.
947
+ EmberStatus.CANNOT_JOIN_AS_ROUTER = 0x98;
948
+ // The local node ID has changed. The application can obtain the new node ID
949
+ // by calling emberGetNodeId().
950
+ EmberStatus.NODE_ID_CHANGED = 0x99;
951
+ // The local PAN ID has changed. The application can obtain the new PAN ID
952
+ // by calling emberGetPanId().
953
+ EmberStatus.PAN_ID_CHANGED = 0x9A;
954
+ // An attempt to join or rejoin the network failed because no router beacons
955
+ // could be heard by the joining node.
956
+ EmberStatus.NO_BEACONS = 0xAB;
957
+ // An attempt was made to join a Secured Network using a pre-configured key,
958
+ // but the Trust Center sent back a Network Key in-the-clear when an
959
+ // encrypted Network Key was required.
960
+ EmberStatus.RECEIVED_KEY_IN_THE_CLEAR = 0xAC;
961
+ // An attempt was made to join a Secured Network, but the device did not
962
+ // receive a Network Key.
963
+ EmberStatus.NO_NETWORK_KEY_RECEIVED = 0xAD;
964
+ // After a device joined a Secured Network, a Link Key was requested but no
965
+ // response was ever received.
966
+ EmberStatus.NO_LINK_KEY_RECEIVED = 0xAE;
967
+ // An attempt was made to join a Secured Network without a pre-configured
968
+ // key, but the Trust Center sent encrypted data using a pre-configured key.
969
+ EmberStatus.PRECONFIGURED_KEY_REQUIRED = 0xAF;
970
+ // The node has not joined a network.
971
+ EmberStatus.NOT_JOINED = 0x93;
972
+ // The chosen security level (the value of SECURITY_LEVEL) is not supported
973
+ // by the stack.
974
+ EmberStatus.INVALID_SECURITY_LEVEL = 0x95;
975
+ // A message cannot be sent because the network is currently overloaded.
976
+ EmberStatus.NETWORK_BUSY = 0xA1;
977
+ // The application tried to send a message using an endpoint that it has not
978
+ // defined.
979
+ EmberStatus.INVALID_ENDPOINT = 0xA3;
980
+ // The application tried to use a binding that has been remotely modified
981
+ // and the change has not yet been reported to the application.
982
+ EmberStatus.BINDING_HAS_CHANGED = 0xA4;
983
+ // An attempt to generate random bytes failed because of insufficient random
984
+ // data from the radio.
985
+ EmberStatus.INSUFFICIENT_RANDOM_DATA = 0xA5;
986
+ // There was an error in trying to encrypt at the APS Level. This could
987
+ // result from either an inability to determine the long address of the
988
+ // recipient from the short address (no entry in the binding table) or there
989
+ // is no link key entry in the table associated with the destination, or
990
+ // there was a failure to load the correct key into the encryption core.
991
+ // TRUST_CENTER_MASTER_KEY_NOT_SET 0xA7 There was an attempt to form a
992
+ // network using commercial security without setting the Trust Center master
993
+ // key first.
994
+ EmberStatus.APS_ENCRYPTION_ERROR = 0xA6;
995
+ // There was an attempt to form or join a network with security without
996
+ // calling emberSetInitialSecurityState() first.
997
+ EmberStatus.SECURITY_STATE_NOT_SET = 0xA8;
998
+ // There was an attempt to set an entry in the key table using an invalid
999
+ // long address. An entry cannot be set using either the local device's or
1000
+ // Trust Center's IEEE address. Or an entry already exists in the table with
1001
+ // the same IEEE address. An Address of all zeros or all F's are not valid
1002
+ // addresses in 802.15.4.
1003
+ EmberStatus.KEY_TABLE_INVALID_ADDRESS = 0xB3;
1004
+ // There was an attempt to set a security configuration that is not valid
1005
+ // given the other security settings.
1006
+ EmberStatus.SECURITY_CONFIGURATION_INVALID = 0xB7;
1007
+ // There was an attempt to broadcast a key switch too quickly after
1008
+ // broadcasting the next network key. The Trust Center must wait at least a
1009
+ // period equal to the broadcast timeout so that all routers have a chance
1010
+ // to receive the broadcast of the new network key.
1011
+ EmberStatus.TOO_SOON_FOR_SWITCH_KEY = 0xB8;
1012
+ // The message could not be sent because the link key corresponding to the
1013
+ // destination is not authorized for use in APS data messages. APS Commands
1014
+ // (sent by the stack) are allowed. To use it for encryption of APS data
1015
+ // messages it must be authorized using a key agreement protocol (such as
1016
+ // CBKE).
1017
+ EmberStatus.KEY_NOT_AUTHORIZED = 0xBB;
1018
+ // The security data provided was not valid, or an integrity check failed.
1019
+ EmberStatus.SECURITY_DATA_INVALID = 0xBD;
1020
+ // A ZigBee route error command frame was received indicating that a source
1021
+ // routed message from this node failed en route.
1022
+ EmberStatus.SOURCE_ROUTE_FAILURE = 0xA9;
1023
+ // A ZigBee route error command frame was received indicating that a message
1024
+ // sent to this node along a many-to-one route failed en route. The route
1025
+ // error frame was delivered by an ad-hoc search for a functioning route.
1026
+ EmberStatus.MANY_TO_ONE_ROUTE_FAILURE = 0xAA;
1027
+ // A critical and fatal error indicating that the version of the stack
1028
+ // trying to run does not match with the chip it is running on. The software
1029
+ // (stack) on the chip must be replaced with software that is compatible
1030
+ // with the chip.
1031
+ EmberStatus.STACK_AND_HARDWARE_MISMATCH = 0xB0;
1032
+ // An index was passed into the function that was larger than the valid
1033
+ // range.
1034
+ EmberStatus.INDEX_OUT_OF_RANGE = 0xB1;
1035
+ // There are no empty entries left in the table.
1036
+ EmberStatus.TABLE_FULL = 0xB4;
1037
+ // The requested table entry has been erased and contains no valid data.
1038
+ EmberStatus.TABLE_ENTRY_ERASED = 0xB6;
1039
+ // The requested function cannot be executed because the library that
1040
+ // contains the necessary functionality is not present.
1041
+ EmberStatus.LIBRARY_NOT_PRESENT = 0xB5;
1042
+ // The stack accepted the command and is currently processing the request.
1043
+ // The results will be returned via an appropriate handler.
1044
+ EmberStatus.OPERATION_IN_PROGRESS = 0xBA;
1045
+ // This error is reserved for customer application use. This will never be
1046
+ // returned from any portion of the network stack or HAL.
1047
+ EmberStatus.APPLICATION_ERROR_0 = 0xF0;
1048
+ // This error is reserved for customer application use. This will never be
1049
+ // returned from any portion of the network stack or HAL.
1050
+ EmberStatus.APPLICATION_ERROR_1 = 0xF1;
1051
+ // This error is reserved for customer application use. This will never be
1052
+ // returned from any portion of the network stack or HAL.
1053
+ EmberStatus.APPLICATION_ERROR_2 = 0xF2;
1054
+ // This error is reserved for customer application use. This will never be
1055
+ // returned from any portion of the network stack or HAL.
1056
+ EmberStatus.APPLICATION_ERROR_3 = 0xF3;
1057
+ // This error is reserved for customer application use. This will never be
1058
+ // returned from any portion of the network stack or HAL.
1059
+ EmberStatus.APPLICATION_ERROR_4 = 0xF4;
1060
+ // This error is reserved for customer application use. This will never be
1061
+ // returned from any portion of the network stack or HAL.
1062
+ EmberStatus.APPLICATION_ERROR_5 = 0xF5;
1063
+ // This error is reserved for customer application use. This will never be
1064
+ // returned from any portion of the network stack or HAL.
1065
+ EmberStatus.APPLICATION_ERROR_6 = 0xF6;
1066
+ // This error is reserved for customer application use. This will never be
1067
+ // returned from any portion of the network stack or HAL.
1068
+ EmberStatus.APPLICATION_ERROR_7 = 0xF7;
1069
+ // This error is reserved for customer application use. This will never be
1070
+ // returned from any portion of the network stack or HAL.
1071
+ EmberStatus.APPLICATION_ERROR_8 = 0xF8;
1072
+ // This error is reserved for customer application use. This will never be
1073
+ // returned from any portion of the network stack or HAL.
1074
+ EmberStatus.APPLICATION_ERROR_9 = 0xF9;
1075
+ // This error is reserved for customer application use. This will never be
1076
+ // returned from any portion of the network stack or HAL.
1077
+ EmberStatus.APPLICATION_ERROR_10 = 0xFA;
1078
+ // This error is reserved for customer application use. This will never be
1079
+ // returned from any portion of the network stack or HAL.
1080
+ EmberStatus.APPLICATION_ERROR_11 = 0xFB;
1081
+ // This error is reserved for customer application use. This will never be
1082
+ // returned from any portion of the network stack or HAL.
1083
+ EmberStatus.APPLICATION_ERROR_12 = 0xFC;
1084
+ // This error is reserved for customer application use. This will never be
1085
+ // returned from any portion of the network stack or HAL.
1086
+ EmberStatus.APPLICATION_ERROR_13 = 0xFD;
1087
+ // This error is reserved for customer application use. This will never be
1088
+ // returned from any portion of the network stack or HAL.
1089
+ EmberStatus.APPLICATION_ERROR_14 = 0xFE;
1090
+ // This error is reserved for customer application use. This will never be
1091
+ // returned from any portion of the network stack or HAL.
1092
+ EmberStatus.APPLICATION_ERROR_15 = 0xFF;
1093
+ class EmberEventUnits extends basic.uint8_t {
1094
+ }
1095
+ exports.EmberEventUnits = EmberEventUnits;
1096
+ // Either marks an event as inactive or specifies the units for the event
1097
+ // execution time.
1098
+ // The event is not scheduled to run.
1099
+ EmberEventUnits.EVENT_INACTIVE = 0x00;
1100
+ // The execution time is in approximate milliseconds.
1101
+ EmberEventUnits.EVENT_MS_TIME = 0x01;
1102
+ // The execution time is in 'binary' quarter seconds (256 approximate
1103
+ // milliseconds each).
1104
+ EmberEventUnits.EVENT_QS_TIME = 0x02;
1105
+ // The execution time is in 'binary' minutes (65536 approximate milliseconds
1106
+ // each).
1107
+ EmberEventUnits.EVENT_MINUTE_TIME = 0x03;
1108
+ class EmberNodeType extends basic.uint8_t {
1109
+ }
1110
+ exports.EmberNodeType = EmberNodeType;
1111
+ // The type of the node.
1112
+ // Device is not joined.
1113
+ EmberNodeType.UNKNOWN_DEVICE = 0x00;
1114
+ // Will relay messages and can act as a parent to other nodes.
1115
+ EmberNodeType.COORDINATOR = 0x01;
1116
+ // Will relay messages and can act as a parent to other nodes.
1117
+ EmberNodeType.ROUTER = 0x02;
1118
+ // Communicates only with its parent and will not relay messages.
1119
+ EmberNodeType.END_DEVICE = 0x03;
1120
+ // An end device whose radio can be turned off to save power. The
1121
+ // application must poll to receive messages.
1122
+ EmberNodeType.SLEEPY_END_DEVICE = 0x04;
1123
+ // A sleepy end device that can move through the network.
1124
+ EmberNodeType.MOBILE_END_DEVICE = 0x05;
1125
+ class EmberNetworkStatus extends basic.uint8_t {
1126
+ }
1127
+ exports.EmberNetworkStatus = EmberNetworkStatus;
1128
+ // The possible join states for a node.
1129
+ // The node is not associated with a network in any way.
1130
+ EmberNetworkStatus.NO_NETWORK = 0x00;
1131
+ // The node is currently attempting to join a network.
1132
+ EmberNetworkStatus.JOINING_NETWORK = 0x01;
1133
+ // The node is joined to a network.
1134
+ EmberNetworkStatus.JOINED_NETWORK = 0x02;
1135
+ // The node is an end device joined to a network but its parent is not
1136
+ // responding.
1137
+ EmberNetworkStatus.JOINED_NETWORK_NO_PARENT = 0x03;
1138
+ // The node is in the process of leaving its current network.
1139
+ EmberNetworkStatus.LEAVING_NETWORK = 0x04;
1140
+ class EmberIncomingMessageType extends basic.uint8_t {
1141
+ }
1142
+ exports.EmberIncomingMessageType = EmberIncomingMessageType;
1143
+ // Incoming message types.
1144
+ // Unicast.
1145
+ EmberIncomingMessageType.INCOMING_UNICAST = 0x00;
1146
+ // Unicast reply.
1147
+ EmberIncomingMessageType.INCOMING_UNICAST_REPLY = 0x01;
1148
+ // Multicast.
1149
+ EmberIncomingMessageType.INCOMING_MULTICAST = 0x02;
1150
+ // Multicast sent by the local device.
1151
+ EmberIncomingMessageType.INCOMING_MULTICAST_LOOPBACK = 0x03;
1152
+ // Broadcast.
1153
+ EmberIncomingMessageType.INCOMING_BROADCAST = 0x04;
1154
+ // Broadcast sent by the local device.
1155
+ EmberIncomingMessageType.INCOMING_BROADCAST_LOOPBACK = 0x05;
1156
+ // Many to one route request.
1157
+ EmberIncomingMessageType.INCOMING_MANY_TO_ONE_ROUTE_REQUEST = 0x06;
1158
+ class EmberOutgoingMessageType extends basic.uint8_t {
1159
+ }
1160
+ exports.EmberOutgoingMessageType = EmberOutgoingMessageType;
1161
+ // Outgoing message types.
1162
+ // Unicast sent directly to an EmberNodeId.
1163
+ EmberOutgoingMessageType.OUTGOING_DIRECT = 0x00;
1164
+ // Unicast sent using an entry in the address table.
1165
+ EmberOutgoingMessageType.OUTGOING_VIA_ADDRESS_TABLE = 0x01;
1166
+ // Unicast sent using an entry in the binding table.
1167
+ EmberOutgoingMessageType.OUTGOING_VIA_BINDING = 0x02;
1168
+ // Multicast message. This value is passed to emberMessageSentHandler()
1169
+ // only. It may not be passed to emberSendUnicast().
1170
+ EmberOutgoingMessageType.OUTGOING_MULTICAST = 0x03;
1171
+ // Broadcast message. This value is passed to emberMessageSentHandler()
1172
+ // only. It may not be passed to emberSendUnicast().
1173
+ EmberOutgoingMessageType.OUTGOING_BROADCAST = 0x04;
1174
+ class EmberMacPassthroughType extends basic.uint8_t {
1175
+ }
1176
+ exports.EmberMacPassthroughType = EmberMacPassthroughType;
1177
+ // MAC passthrough message type flags.
1178
+ // No MAC passthrough messages.
1179
+ EmberMacPassthroughType.MAC_PASSTHROUGH_NONE = 0x00;
1180
+ // SE InterPAN messages.
1181
+ EmberMacPassthroughType.MAC_PASSTHROUGH_SE_INTERPAN = 0x01;
1182
+ // Legacy EmberNet messages.
1183
+ EmberMacPassthroughType.MAC_PASSTHROUGH_EMBERNET = 0x02;
1184
+ // Legacy EmberNet messages filtered by their source address.
1185
+ EmberMacPassthroughType.MAC_PASSTHROUGH_EMBERNET_SOURCE = 0x04;
1186
+ EmberMacPassthroughType.MAC_PASSTHROUGH_APPLICATION = 0x08;
1187
+ EmberMacPassthroughType.MAC_PASSTHROUGH_CUSTOM = 0x10;
1188
+ EmberMacPassthroughType.MAC_PASSTHROUGH_INTERNAL = 0x80;
1189
+ class EmberBindingType extends basic.uint8_t {
1190
+ }
1191
+ exports.EmberBindingType = EmberBindingType;
1192
+ // Binding types.
1193
+ // A binding that is currently not in use.
1194
+ EmberBindingType.UNUSED_BINDING = 0x00;
1195
+ // A unicast binding whose 64-bit identifier is the destination EUI64.
1196
+ EmberBindingType.UNICAST_BINDING = 0x01;
1197
+ // A unicast binding whose 64-bit identifier is the aggregator EUI64.
1198
+ EmberBindingType.MANY_TO_ONE_BINDING = 0x02;
1199
+ // A multicast binding whose 64-bit identifier is the group address. A
1200
+ // multicast binding can be used to send messages to the group and to
1201
+ // receive messages sent to the group.
1202
+ EmberBindingType.MULTICAST_BINDING = 0x03;
1203
+ class EmberApsOption extends basic.uint16_t {
1204
+ }
1205
+ exports.EmberApsOption = EmberApsOption;
1206
+ // Options to use when sending a message.
1207
+ // No options.
1208
+ EmberApsOption.APS_OPTION_NONE = 0x0000;
1209
+ // UNKNOWN: Discovered while receiving data
1210
+ EmberApsOption.APS_OPTION_UNKNOWN = 0x0008;
1211
+ // Send the message using APS Encryption, using the Link Key shared with the
1212
+ // destination node to encrypt the data at the APS Level.
1213
+ EmberApsOption.APS_OPTION_ENCRYPTION = 0x0020;
1214
+ // Resend the message using the APS retry mechanism.
1215
+ EmberApsOption.APS_OPTION_RETRY = 0x0040;
1216
+ // Causes a route discovery to be initiated if no route to the destination
1217
+ // is known.
1218
+ EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY = 0x0100;
1219
+ // Causes a route discovery to be initiated even if one is known.
1220
+ EmberApsOption.APS_OPTION_FORCE_ROUTE_DISCOVERY = 0x0200;
1221
+ // Include the source EUI64 in the network frame.
1222
+ EmberApsOption.APS_OPTION_SOURCE_EUI64 = 0x0400;
1223
+ // Include the destination EUI64 in the network frame.
1224
+ EmberApsOption.APS_OPTION_DESTINATION_EUI64 = 0x0800;
1225
+ // Send a ZDO request to discover the node ID of the destination, if it is
1226
+ // not already know.
1227
+ EmberApsOption.APS_OPTION_ENABLE_ADDRESS_DISCOVERY = 0x1000;
1228
+ // Reserved.
1229
+ EmberApsOption.APS_OPTION_POLL_RESPONSE = 0x2000;
1230
+ // This incoming message is a ZDO request not handled by the EmberZNet
1231
+ // stack, and the application is responsible for sending a ZDO response.
1232
+ // This flag is used only when the ZDO is configured to have requests
1233
+ // handled by the application. See the CONFIG_APPLICATION_ZDO_FLAGS
1234
+ // configuration parameter for more information.
1235
+ EmberApsOption.APS_OPTION_ZDO_RESPONSE_REQUIRED = 0x4000;
1236
+ // This message is part of a fragmented message. This option may only be set
1237
+ // for unicasts. The groupId field gives the index of this fragment in the
1238
+ // low-order byte. If the low-order byte is zero this is the first fragment
1239
+ // and the high-order byte contains the number of fragments in the message.
1240
+ EmberApsOption.APS_OPTION_FRAGMENT = 0x8000;
1241
+ class EzspNetworkScanType extends basic.uint8_t {
1242
+ }
1243
+ exports.EzspNetworkScanType = EzspNetworkScanType;
1244
+ // Network scan types.
1245
+ // An energy scan scans each channel for its RSSI value.
1246
+ EzspNetworkScanType.ENERGY_SCAN = 0x00;
1247
+ // An active scan scans each channel for available networks.
1248
+ EzspNetworkScanType.ACTIVE_SCAN = 0x01;
1249
+ class EmberJoinDecision extends basic.uint8_t {
1250
+ }
1251
+ exports.EmberJoinDecision = EmberJoinDecision;
1252
+ // Decision made by the trust center when a node attempts to join.
1253
+ // Allow the node to join. The joining node should have a pre-configured
1254
+ // key. The security data sent to it will be encrypted with that key.
1255
+ EmberJoinDecision.USE_PRECONFIGURED_KEY = 0x00;
1256
+ // Allow the node to join. Send the necessary key (the Network Key in
1257
+ // Standard Security mode, the Trust Center Master in High Security mode)
1258
+ // in-the-clear to the joining device.
1259
+ EmberJoinDecision.SEND_KEY_IN_THE_CLEAR = 0x01;
1260
+ // Deny join.
1261
+ EmberJoinDecision.DENY_JOIN = 0x02;
1262
+ // Take no action.
1263
+ EmberJoinDecision.NO_ACTION = 0x03;
1264
+ class EmberInitialSecurityBitmask extends basic.uint16_t {
1265
+ }
1266
+ exports.EmberInitialSecurityBitmask = EmberInitialSecurityBitmask;
1267
+ // This is the Initial Security Bitmask that controls the use of various
1268
+ // security features.
1269
+ // This enables ZigBee Standard Security on the node.
1270
+ EmberInitialSecurityBitmask.STANDARD_SECURITY_MODE = 0x0000;
1271
+ // This enables Distributed Trust Center Mode for the device forming the
1272
+ // network. (Previously known as NO_TRUST_CENTER_MODE)
1273
+ EmberInitialSecurityBitmask.DISTRIBUTED_TRUST_CENTER_MODE = 0x0002;
1274
+ // This enables a Global Link Key for the Trust Center. All nodes will share
1275
+ // the same Trust Center Link Key.
1276
+ EmberInitialSecurityBitmask.TRUST_CENTER_GLOBAL_LINK_KEY = 0x0004;
1277
+ // This enables devices that perform MAC Association with a pre-configured
1278
+ // Network Key to join the network. It is only set on the Trust Center.
1279
+ EmberInitialSecurityBitmask.PRECONFIGURED_NETWORK_KEY_MODE = 0x0008;
1280
+ // This denotes that the preconfiguredKey is not the actual Link Key but a
1281
+ // Secret Key known only to the Trust Center. It is hashed with the IEEE
1282
+ // Address of the destination device in order to create the actual Link Key
1283
+ // used in encryption. This is bit is only used by the Trust Center. The
1284
+ // joining device need not set this.
1285
+ EmberInitialSecurityBitmask.TRUST_CENTER_USES_HASHED_LINK_KEY = 0x0084;
1286
+ // This denotes that the preconfiguredKey element has valid data that should
1287
+ // be used to configure the initial security state.
1288
+ EmberInitialSecurityBitmask.HAVE_PRECONFIGURED_KEY = 0x0100;
1289
+ // This denotes that the networkKey element has valid data that should be
1290
+ // used to configure the initial security state.
1291
+ EmberInitialSecurityBitmask.HAVE_NETWORK_KEY = 0x0200;
1292
+ // This denotes to a joining node that it should attempt to acquire a Trust
1293
+ // Center Link Key during joining. This is only necessary if the device does
1294
+ // not have a pre-configured key.
1295
+ EmberInitialSecurityBitmask.GET_LINK_KEY_WHEN_JOINING = 0x0400;
1296
+ // This denotes that a joining device should only accept an encrypted
1297
+ // network key from the Trust Center (using its preconfigured key). A key
1298
+ // sent in-the-clear by the Trust Center will be rejected and the join will
1299
+ // fail. This option is only valid when utilizing a pre-configured key.
1300
+ EmberInitialSecurityBitmask.REQUIRE_ENCRYPTED_KEY = 0x0800;
1301
+ // This denotes whether the device should NOT reset its outgoing frame
1302
+ // counters (both NWK and APS) when ::emberSetInitialSecurityState() is
1303
+ // called. Normally it is advised to reset the frame counter before joining
1304
+ // a new network. However in cases where a device is joining to the same
1305
+ // network a again (but not using ::emberRejoinNetwork()) it should keep the
1306
+ // NWK and APS frame counters stored in its tokens.
1307
+ EmberInitialSecurityBitmask.NO_FRAME_COUNTER_RESET = 0x1000;
1308
+ // This denotes that the device should obtain its preconfigured key from an
1309
+ // installation code stored in the manufacturing token. The token contains a
1310
+ // value that will be hashed to obtain the actual preconfigured key. If that
1311
+ // token is not valid, then the call to emberSetInitialSecurityState() will
1312
+ // fail.
1313
+ EmberInitialSecurityBitmask.GET_PRECONFIGURED_KEY_FROM_INSTALL_CODE = 0x2000;
1314
+ // This denotes that the
1315
+ // ::EmberInitialSecurityState::preconfiguredTrustCenterEui64 has a value in
1316
+ // it containing the trust center EUI64. The device will only join a network
1317
+ // and accept commands from a trust center with that EUI64. Normally this
1318
+ // bit is NOT set, and the EUI64 of the trust center is learned during the
1319
+ // join process. When commissioning a device to join onto an existing
1320
+ // network, which is using a trust center, and without sending any messages,
1321
+ // this bit must be set and the field
1322
+ // ::EmberInitialSecurityState::preconfiguredTrustCenterEui64 must be
1323
+ // populated with the appropriate EUI64.
1324
+ EmberInitialSecurityBitmask.HAVE_TRUST_CENTER_EUI64 = 0x0040;
1325
+ class EmberCurrentSecurityBitmask extends basic.uint16_t {
1326
+ }
1327
+ exports.EmberCurrentSecurityBitmask = EmberCurrentSecurityBitmask;
1328
+ // This is the Current Security Bitmask that details the use of various
1329
+ // security features.
1330
+ // This denotes that the device is running in a network with ZigBee Standard
1331
+ // Security.
1332
+ EmberCurrentSecurityBitmask.STANDARD_SECURITY_MODE = 0x0000;
1333
+ // This denotes that the device is running in a network with ZigBee High
1334
+ // Security.
1335
+ EmberCurrentSecurityBitmask.HIGH_SECURITY_MODE = 0x0001;
1336
+ // This denotes that the device is running in a network without a
1337
+ // centralized Trust Center.
1338
+ EmberCurrentSecurityBitmask.DISTRIBUTED_TRUST_CENTER_MODE = 0x0002;
1339
+ // This denotes that the device has a Global Link Key. The Trust Center Link
1340
+ // Key is the same across multiple nodes.
1341
+ EmberCurrentSecurityBitmask.GLOBAL_LINK_KEY = 0x0004;
1342
+ // This denotes that the node has a Trust Center Link Key.
1343
+ EmberCurrentSecurityBitmask.HAVE_TRUST_CENTER_LINK_KEY = 0x0010;
1344
+ // This denotes that the Trust Center is using a Hashed Link Key.
1345
+ EmberCurrentSecurityBitmask.TRUST_CENTER_USES_HASHED_LINK_KEY = 0x0084;
1346
+ class EmberKeyType extends basic.uint8_t {
1347
+ }
1348
+ exports.EmberKeyType = EmberKeyType;
1349
+ // Describes the type of ZigBee security key.
1350
+ // A shared key between the Trust Center and a device.
1351
+ EmberKeyType.TRUST_CENTER_LINK_KEY = 0x01;
1352
+ // A shared secret used for deriving keys between the Trust Center and a
1353
+ // device
1354
+ EmberKeyType.TRUST_CENTER_MASTER_KEY = 0x02;
1355
+ // The current active Network Key used by all devices in the network.
1356
+ EmberKeyType.CURRENT_NETWORK_KEY = 0x03;
1357
+ // The alternate Network Key that was previously in use, or the newer key
1358
+ // that will be switched to.
1359
+ EmberKeyType.NEXT_NETWORK_KEY = 0x04;
1360
+ // An Application Link Key shared with another (non-Trust Center) device.
1361
+ EmberKeyType.APPLICATION_LINK_KEY = 0x05;
1362
+ // An Application Master Key shared secret used to derive an Application
1363
+ // Link Key.
1364
+ EmberKeyType.APPLICATION_MASTER_KEY = 0x06;
1365
+ class EmberKeyStructBitmask extends basic.uint16_t {
1366
+ }
1367
+ exports.EmberKeyStructBitmask = EmberKeyStructBitmask;
1368
+ // Describes the presence of valid data within the EmberKeyStruct structure.
1369
+ // The key has a sequence number associated with it.
1370
+ EmberKeyStructBitmask.KEY_HAS_SEQUENCE_NUMBER = 0x0001;
1371
+ // The key has an outgoing frame counter associated with it.
1372
+ EmberKeyStructBitmask.KEY_HAS_OUTGOING_FRAME_COUNTER = 0x0002;
1373
+ // The key has an incoming frame counter associated with it.
1374
+ EmberKeyStructBitmask.KEY_HAS_INCOMING_FRAME_COUNTER = 0x0004;
1375
+ // The key has a Partner IEEE address associated with it.
1376
+ EmberKeyStructBitmask.KEY_HAS_PARTNER_EUI64 = 0x0008;
1377
+ class EmberDeviceUpdate extends basic.uint8_t {
1378
+ }
1379
+ exports.EmberDeviceUpdate = EmberDeviceUpdate;
1380
+ // The status of the device update.
1381
+ EmberDeviceUpdate.STANDARD_SECURITY_SECURED_REJOIN = 0x0;
1382
+ EmberDeviceUpdate.STANDARD_SECURITY_UNSECURED_JOIN = 0x1;
1383
+ EmberDeviceUpdate.DEVICE_LEFT = 0x2;
1384
+ EmberDeviceUpdate.STANDARD_SECURITY_UNSECURED_REJOIN = 0x3;
1385
+ EmberDeviceUpdate.HIGH_SECURITY_SECURED_REJOIN = 0x4;
1386
+ EmberDeviceUpdate.HIGH_SECURITY_UNSECURED_JOIN = 0x5;
1387
+ EmberDeviceUpdate.HIGH_SECURITY_UNSECURED_REJOIN = 0x7;
1388
+ class EmberKeyStatus extends basic.uint8_t {
1389
+ }
1390
+ exports.EmberKeyStatus = EmberKeyStatus;
1391
+ // The status of the attempt to establish a key.
1392
+ EmberKeyStatus.APP_LINK_KEY_ESTABLISHED = 0x01;
1393
+ EmberKeyStatus.APP_MASTER_KEY_ESTABLISHED = 0x02;
1394
+ EmberKeyStatus.TRUST_CENTER_LINK_KEY_ESTABLISHED = 0x03;
1395
+ EmberKeyStatus.KEY_ESTABLISHMENT_TIMEOUT = 0x04;
1396
+ EmberKeyStatus.KEY_TABLE_FULL = 0x05;
1397
+ EmberKeyStatus.TC_RESPONDED_TO_KEY_REQUEST = 0x06;
1398
+ EmberKeyStatus.TC_APP_KEY_SENT_TO_REQUESTER = 0x07;
1399
+ EmberKeyStatus.TC_RESPONSE_TO_KEY_REQUEST_FAILED = 0x08;
1400
+ EmberKeyStatus.TC_REQUEST_KEY_TYPE_NOT_SUPPORTED = 0x09;
1401
+ EmberKeyStatus.TC_NO_LINK_KEY_FOR_REQUESTER = 0x0A;
1402
+ EmberKeyStatus.TC_REQUESTER_EUI64_UNKNOWN = 0x0B;
1403
+ EmberKeyStatus.TC_RECEIVED_FIRST_APP_KEY_REQUEST = 0x0C;
1404
+ EmberKeyStatus.TC_TIMEOUT_WAITING_FOR_SECOND_APP_KEY_REQUEST = 0x0D;
1405
+ EmberKeyStatus.TC_NON_MATCHING_APP_KEY_REQUEST_RECEIVED = 0x0E;
1406
+ EmberKeyStatus.TC_FAILED_TO_SEND_APP_KEYS = 0x0F;
1407
+ EmberKeyStatus.TC_FAILED_TO_STORE_APP_KEY_REQUEST = 0x10;
1408
+ EmberKeyStatus.TC_REJECTED_APP_KEY_REQUEST = 0x11;
1409
+ class EmberCounterType extends basic.uint8_t {
1410
+ }
1411
+ exports.EmberCounterType = EmberCounterType;
1412
+ // Defines the events reported to the application by the
1413
+ // readAndClearCounters command.
1414
+ // The MAC received a broadcast.
1415
+ EmberCounterType.COUNTER_MAC_RX_BROADCAST = 0;
1416
+ // The MAC transmitted a broadcast.
1417
+ EmberCounterType.COUNTER_MAC_TX_BROADCAST = 1;
1418
+ // The MAC received a unicast.
1419
+ EmberCounterType.COUNTER_MAC_RX_UNICAST = 2;
1420
+ // The MAC successfully transmitted a unicast.
1421
+ EmberCounterType.COUNTER_MAC_TX_UNICAST_SUCCESS = 3;
1422
+ // The MAC retried a unicast.
1423
+ EmberCounterType.COUNTER_MAC_TX_UNICAST_RETRY = 4;
1424
+ // The MAC unsuccessfully transmitted a unicast.
1425
+ EmberCounterType.COUNTER_MAC_TX_UNICAST_FAILED = 5;
1426
+ // The APS layer received a data broadcast.
1427
+ EmberCounterType.COUNTER_APS_DATA_RX_BROADCAST = 6;
1428
+ // The APS layer transmitted a data broadcast.
1429
+ EmberCounterType.COUNTER_APS_DATA_TX_BROADCAST = 7;
1430
+ // The APS layer received a data unicast.
1431
+ EmberCounterType.COUNTER_APS_DATA_RX_UNICAST = 8;
1432
+ // The APS layer successfully transmitted a data unicast.
1433
+ EmberCounterType.COUNTER_APS_DATA_TX_UNICAST_SUCCESS = 9;
1434
+ // The APS layer retried a data unicast.
1435
+ EmberCounterType.COUNTER_APS_DATA_TX_UNICAST_RETRY = 10;
1436
+ // The APS layer unsuccessfully transmitted a data unicast.
1437
+ EmberCounterType.COUNTER_APS_DATA_TX_UNICAST_FAILED = 11;
1438
+ // The network layer successfully submitted a new route discovery to the
1439
+ // MAC.
1440
+ EmberCounterType.COUNTER_ROUTE_DISCOVERY_INITIATED = 12;
1441
+ // An entry was added to the neighbor table.
1442
+ EmberCounterType.COUNTER_NEIGHBOR_ADDED = 13;
1443
+ // An entry was removed from the neighbor table.
1444
+ EmberCounterType.COUNTER_NEIGHBOR_REMOVED = 14;
1445
+ // A neighbor table entry became stale because it had not been heard from.
1446
+ EmberCounterType.COUNTER_NEIGHBOR_STALE = 15;
1447
+ // A node joined or rejoined to the network via this node.
1448
+ EmberCounterType.COUNTER_JOIN_INDICATION = 16;
1449
+ // An entry was removed from the child table.
1450
+ EmberCounterType.COUNTER_CHILD_REMOVED = 17;
1451
+ // EZSP-UART only. An overflow error occurred in the UART.
1452
+ EmberCounterType.COUNTER_ASH_OVERFLOW_ERROR = 18;
1453
+ // EZSP-UART only. A framing error occurred in the UART.
1454
+ EmberCounterType.COUNTER_ASH_FRAMING_ERROR = 19;
1455
+ // EZSP-UART only. An overrun error occurred in the UART.
1456
+ EmberCounterType.COUNTER_ASH_OVERRUN_ERROR = 20;
1457
+ // A message was dropped at the network layer because the NWK frame counter
1458
+ // was not higher than the last message seen from that source.
1459
+ EmberCounterType.COUNTER_NWK_FRAME_COUNTER_FAILURE = 21;
1460
+ // A message was dropped at the APS layer because the APS frame counter was
1461
+ // not higher than the last message seen from that source.
1462
+ EmberCounterType.COUNTER_APS_FRAME_COUNTER_FAILURE = 22;
1463
+ // Utility counter for general debugging use.
1464
+ EmberCounterType.COUNTER_UTILITY = 23;
1465
+ // A message was dropped at the APS layer because it had APS encryption but
1466
+ // the key associated with the sender has not been authenticated, and thus
1467
+ // the key is not authorized for use in APS data messages.
1468
+ EmberCounterType.COUNTER_APS_LINK_KEY_NOT_AUTHORIZED = 24;
1469
+ // A NWK encrypted message was received but dropped because decryption
1470
+ // failed.
1471
+ EmberCounterType.COUNTER_NWK_DECRYPTION_FAILURE = 25;
1472
+ // An APS encrypted message was received but dropped because decryption
1473
+ // failed.
1474
+ EmberCounterType.COUNTER_APS_DECRYPTION_FAILURE = 26;
1475
+ // The number of times we failed to allocate a set of linked packet buffers.
1476
+ // This doesn't necessarily mean that the packet buffer count was 0 at the
1477
+ // time, but that the number requested was greater than the number free.
1478
+ EmberCounterType.COUNTER_ALLOCATE_PACKET_BUFFER_FAILURE = 27;
1479
+ // The number of relayed unicast packets.
1480
+ EmberCounterType.COUNTER_RELAYED_UNICAST = 28;
1481
+ // The number of times we dropped a packet due to reaching
1482
+ // the preset PHY to MAC queue limit (emMaxPhyToMacQueueLength).
1483
+ EmberCounterType.COUNTER_PHY_TO_MAC_QUEUE_LIMIT_REACHED = 29;
1484
+ // The number of times we dropped a packet due to the
1485
+ // packet-validate library checking a packet and rejecting it
1486
+ // due to length or other formatting problems.
1487
+ EmberCounterType.COUNTER_PACKET_VALIDATE_LIBRARY_DROPPED_COUNT = 30;
1488
+ // The number of times the NWK retry queue is full and a
1489
+ // new message failed to be added.
1490
+ EmberCounterType.COUNTER_TYPE_NWK_RETRY_OVERFLOW = 31;
1491
+ // The number of times the PHY layer was unable to transmit
1492
+ // due to a failed CCA.
1493
+ EmberCounterType.COUNTER_PHY_CCA_FAIL_COUNT = 32;
1494
+ // The number of times a NWK broadcast was dropped because
1495
+ // the broadcast table was full.
1496
+ EmberCounterType.COUNTER_BROADCAST_TABLE_FULL = 33;
1497
+ // The number of low priority packet traffic arbitration requests.
1498
+ EmberCounterType.COUNTER_PTA_LO_PRI_REQUESTED = 34;
1499
+ // The number of high priority packet traffic arbitration requests.
1500
+ EmberCounterType.COUNTER_PTA_HI_PRI_REQUESTED = 35;
1501
+ // The number of low priority packet traffic arbitration requests denied.
1502
+ EmberCounterType.COUNTER_PTA_LO_PRI_DENIED = 36;
1503
+ // The number of high priority packet traffic arbitration requests denied.
1504
+ EmberCounterType.COUNTER_PTA_HI_PRI_DENIED = 37;
1505
+ // The number of aborted low priority packet traffic arbitration transmissions.
1506
+ EmberCounterType.COUNTER_PTA_LO_PRI_TX_ABORTED = 38;
1507
+ // The number of aborted high priority packet traffic arbitration transmissions.
1508
+ EmberCounterType.COUNTER_PTA_HI_PRI_TX_ABORTED = 39;
1509
+ // A placeholder giving the number of Ember counter types.
1510
+ EmberCounterType.COUNTER_TYPE_COUNT = 40;
1511
+ class EmberJoinMethod extends basic.uint8_t {
1512
+ }
1513
+ exports.EmberJoinMethod = EmberJoinMethod;
1514
+ // The type of method used for joining.
1515
+ // Normally devices use MAC Association to join a network, which respects
1516
+ // the "permit joining" flag in the MAC Beacon. For mobile nodes this value
1517
+ // causes the device to use an Ember Mobile Node Join, which is functionally
1518
+ // equivalent to a MAC association. This value should be used by default.
1519
+ EmberJoinMethod.USE_MAC_ASSOCIATION = 0x0;
1520
+ // For those networks where the "permit joining" flag is never turned on,
1521
+ // they will need to use a ZigBee NWK Rejoin. This value causes the rejoin
1522
+ // to be sent without NWK security and the Trust Center will be asked to
1523
+ // send the NWK key to the device. The NWK key sent to the device can be
1524
+ // encrypted with the device's corresponding Trust Center link key. That is
1525
+ // determined by the ::EmberJoinDecision on the Trust Center returned by the
1526
+ // ::emberTrustCenterJoinHandler(). For a mobile node this value will cause
1527
+ // it to use an Ember Mobile node rejoin, which is functionally equivalent.
1528
+ EmberJoinMethod.USE_NWK_REJOIN = 0x1;
1529
+ // For those networks where the "permit joining" flag is never turned on,
1530
+ // they will need to use a NWK Rejoin. If those devices have been
1531
+ // preconfigured with the NWK key (including sequence number) they can use a
1532
+ // secured rejoin. This is only necessary for end devices since they need a
1533
+ // parent. Routers can simply use the ::USE_NWK_COMMISSIONING join method
1534
+ // below.
1535
+ EmberJoinMethod.USE_NWK_REJOIN_HAVE_NWK_KEY = 0x2;
1536
+ // For those networks where all network and security information is known
1537
+ // ahead of time, a router device may be commissioned such that it does not
1538
+ // need to send any messages to begin communicating on the network.
1539
+ EmberJoinMethod.USE_NWK_COMMISSIONING = 0x3;
1540
+ class EmberZdoConfigurationFlags extends basic.uint8_t {
1541
+ }
1542
+ exports.EmberZdoConfigurationFlags = EmberZdoConfigurationFlags;
1543
+ // Flags for controlling which incoming ZDO requests are passed to the
1544
+ // application. To see if the application is required to send a ZDO response
1545
+ // to an incoming message, the application must check the APS options
1546
+ // bitfield within the incomingMessageHandler callback to see if the
1547
+ // APS_OPTION_ZDO_RESPONSE_REQUIRED flag is set.
1548
+ // Set this flag in order to receive supported ZDO request messages via the
1549
+ // incomingMessageHandler callback. A supported ZDO request is one that is
1550
+ // handled by the EmberZNet stack. The stack will continue to handle the
1551
+ // request and send the appropriate ZDO response even if this configuration
1552
+ // option is enabled.
1553
+ EmberZdoConfigurationFlags.APP_RECEIVES_SUPPORTED_ZDO_REQUESTS = 0x01;
1554
+ // Set this flag in order to receive unsupported ZDO request messages via
1555
+ // the incomingMessageHandler callback. An unsupported ZDO request is one
1556
+ // that is not handled by the EmberZNet stack, other than to send a 'not
1557
+ // supported' ZDO response. If this configuration option is enabled, the
1558
+ // stack will no longer send any ZDO response, and it is the application's
1559
+ // responsibility to do so.
1560
+ EmberZdoConfigurationFlags.APP_HANDLES_UNSUPPORTED_ZDO_REQUESTS = 0x02;
1561
+ // Set this flag in order to receive the following ZDO request messages via
1562
+ // the incomingMessageHandler callback: SIMPLE_DESCRIPTOR_REQUEST,
1563
+ // MATCH_DESCRIPTORS_REQUEST, and ACTIVE_ENDPOINTS_REQUEST. If this
1564
+ // configuration option is enabled, the stack will no longer send any ZDO
1565
+ // response for these requests, and it is the application's responsibility
1566
+ // to do so.
1567
+ EmberZdoConfigurationFlags.APP_HANDLES_ZDO_ENDPOINT_REQUESTS = 0x04;
1568
+ // Set this flag in order to receive the following ZDO request messages via
1569
+ // the incomingMessageHandler callback: BINDING_TABLE_REQUEST, BIND_REQUEST,
1570
+ // and UNBIND_REQUEST. If this configuration option is enabled, the stack
1571
+ // will no longer send any ZDO response for these requests, and it is the
1572
+ // application's responsibility to do so.
1573
+ EmberZdoConfigurationFlags.APP_HANDLES_ZDO_BINDING_REQUESTS = 0x08;
1574
+ class EmberConcentratorType extends basic.uint16_t {
1575
+ }
1576
+ exports.EmberConcentratorType = EmberConcentratorType;
1577
+ // Type of concentrator.
1578
+ // A concentrator with insufficient memory to store source routes for the
1579
+ // entire network. Route records are sent to the concentrator prior to every
1580
+ // inbound APS unicast.
1581
+ EmberConcentratorType.LOW_RAM_CONCENTRATOR = 0xFFF8;
1582
+ // A concentrator with sufficient memory to store source routes for the
1583
+ // entire network. Remote nodes stop sending route records once the
1584
+ // concentrator has successfully received one.
1585
+ EmberConcentratorType.HIGH_RAM_CONCENTRATOR = 0xFFF9;
1586
+ class EmberZllState extends basic.uint16_t {
1587
+ }
1588
+ exports.EmberZllState = EmberZllState;
1589
+ // ZLL device state identifier.
1590
+ // No state.
1591
+ EmberZllState.ZLL_STATE_NONE = 0x0000;
1592
+ // The device is factory new.
1593
+ EmberZllState.ZLL_STATE_FACTORY_NEW = 0x0001;
1594
+ // The device is capable of assigning addresses to other devices.
1595
+ EmberZllState.ZLL_STATE_ADDRESS_ASSIGNMENT_CAPABLE = 0x0002;
1596
+ // The device is initiating a link operation.
1597
+ EmberZllState.ZLL_STATE_LINK_INITIATOR = 0x0010;
1598
+ // The device is requesting link priority.
1599
+ EmberZllState.ZLL_STATE_LINK_PRIORITY_REQUEST = 0x0020;
1600
+ // The device is on a non-ZLL network.
1601
+ EmberZllState.ZLL_STATE_NON_ZLL_NETWORK = 0x0100;
1602
+ class EmberZllKeyIndex extends basic.uint8_t {
1603
+ }
1604
+ exports.EmberZllKeyIndex = EmberZllKeyIndex;
1605
+ // ZLL key encryption algorithm enumeration.
1606
+ // Key encryption algorithm for use during development.
1607
+ EmberZllKeyIndex.ZLL_KEY_INDEX_DEVELOPMENT = 0x00;
1608
+ // Key encryption algorithm shared by all certified devices.
1609
+ EmberZllKeyIndex.ZLL_KEY_INDEX_MASTER = 0x04;
1610
+ // Key encryption algorithm for use during development and certification.
1611
+ EmberZllKeyIndex.ZLL_KEY_INDEX_CERTIFICATION = 0x0F;
1612
+ class EzspZllNetworkOperation extends basic.uint8_t {
1613
+ }
1614
+ exports.EzspZllNetworkOperation = EzspZllNetworkOperation;
1615
+ // Differentiates among ZLL network operations.
1616
+ EzspZllNetworkOperation.ZLL_FORM_NETWORK = 0x00; // ZLL form network command.
1617
+ EzspZllNetworkOperation.ZLL_JOIN_TARGET = 0x01; // ZLL join target command.
1618
+ class EzspSourceRouteOverheadInformation extends basic.uint8_t {
1619
+ }
1620
+ exports.EzspSourceRouteOverheadInformation = EzspSourceRouteOverheadInformation;
1621
+ // Validates Source Route Overhead Information cached.
1622
+ // Ezsp source route overhead unknown
1623
+ EzspSourceRouteOverheadInformation.SOURCE_ROUTE_OVERHEAD_UNKNOWN = 0xFF;
1624
+ class EmberNetworkInitBitmask extends basic.uint16_t {
1625
+ }
1626
+ exports.EmberNetworkInitBitmask = EmberNetworkInitBitmask;
1627
+ // Bitmask options for emberNetworkInit().
1628
+ // No options for Network Init
1629
+ EmberNetworkInitBitmask.NETWORK_INIT_NO_OPTIONS = 0x0000;
1630
+ // Save parent info (node ID and EUI64) in a token during joining/rejoin,
1631
+ // and restore on reboot.
1632
+ EmberNetworkInitBitmask.NETWORK_INIT_PARENT_INFO_IN_TOKEN = 0x0001;
1633
+ class EmberZDOCmd extends basic.uint16_t {
1634
+ }
1635
+ exports.EmberZDOCmd = EmberZDOCmd;
1636
+ // Device and Service Discovery Server Requests
1637
+ EmberZDOCmd.NWK_addr_req = 0x0000;
1638
+ EmberZDOCmd.IEEE_addr_req = 0x0001;
1639
+ EmberZDOCmd.Node_Desc_req = 0x0002;
1640
+ EmberZDOCmd.Power_Desc_req = 0x0003;
1641
+ EmberZDOCmd.Simple_Desc_req = 0x0004;
1642
+ EmberZDOCmd.Active_EP_req = 0x0005;
1643
+ EmberZDOCmd.Match_Desc_req = 0x0006;
1644
+ EmberZDOCmd.Complex_Desc_req = 0x0010;
1645
+ EmberZDOCmd.User_Desc_req = 0x0011;
1646
+ EmberZDOCmd.Discovery_Cache_req = 0x0012;
1647
+ EmberZDOCmd.Device_annce = 0x0013;
1648
+ EmberZDOCmd.User_Desc_set = 0x0014;
1649
+ EmberZDOCmd.System_Server_Discovery_req = 0x0015;
1650
+ EmberZDOCmd.Discovery_store_req = 0x0016;
1651
+ EmberZDOCmd.Node_Desc_store_req = 0x0017;
1652
+ EmberZDOCmd.Active_EP_store_req = 0x0019;
1653
+ EmberZDOCmd.Simple_Desc_store_req = 0x001A;
1654
+ EmberZDOCmd.Remove_node_cache_req = 0x001B;
1655
+ EmberZDOCmd.Find_node_cache_req = 0x001C;
1656
+ EmberZDOCmd.Extended_Simple_Desc_req = 0x001D;
1657
+ EmberZDOCmd.Extended_Active_EP_req = 0x001E;
1658
+ EmberZDOCmd.Parent_annce = 0x001F;
1659
+ // Bind Management Server Services Responses
1660
+ EmberZDOCmd.End_Device_Bind_req = 0x0020;
1661
+ EmberZDOCmd.Bind_req = 0x0021;
1662
+ EmberZDOCmd.Unbind_req = 0x0022;
1663
+ // Network Management Server Services Requests
1664
+ // ... TODO optional stuff ...
1665
+ EmberZDOCmd.Mgmt_Lqi_req = 0x0031;
1666
+ EmberZDOCmd.Mgmt_Rtg_req = 0x0032;
1667
+ // ... TODO optional stuff ...
1668
+ EmberZDOCmd.Mgmt_Leave_req = 0x0034;
1669
+ EmberZDOCmd.Mgmt_Permit_Joining_req = 0x0036;
1670
+ EmberZDOCmd.Mgmt_NWK_Update_req = 0x0038;
1671
+ // ... TODO optional stuff ...
1672
+ // Responses
1673
+ // Device and Service Discovery Server Responses
1674
+ EmberZDOCmd.NWK_addr_rsp = 0x8000;
1675
+ EmberZDOCmd.IEEE_addr_rsp = 0x8001;
1676
+ EmberZDOCmd.Node_Desc_rsp = 0x8002;
1677
+ EmberZDOCmd.Power_Desc_rsp = 0x8003;
1678
+ EmberZDOCmd.Simple_Desc_rsp = 0x8004;
1679
+ EmberZDOCmd.Active_EP_rsp = 0x8005;
1680
+ EmberZDOCmd.Match_Desc_rsp = 0x8006;
1681
+ EmberZDOCmd.Complex_Desc_rsp = 0x8010;
1682
+ EmberZDOCmd.User_Desc_rsp = 0x8011;
1683
+ EmberZDOCmd.Discovery_Cache_rsp = 0x8012;
1684
+ EmberZDOCmd.User_Desc_conf = 0x8014;
1685
+ EmberZDOCmd.System_Server_Discovery_rsp = 0x8015;
1686
+ EmberZDOCmd.Discovery_Store_rsp = 0x8016;
1687
+ EmberZDOCmd.Node_Desc_store_rsp = 0x8017;
1688
+ EmberZDOCmd.Power_Desc_store_rsp = 0x8018;
1689
+ EmberZDOCmd.Active_EP_store_rsp = 0x8019;
1690
+ EmberZDOCmd.Simple_Desc_store_rsp = 0x801A;
1691
+ EmberZDOCmd.Remove_node_cache_rsp = 0x801B;
1692
+ EmberZDOCmd.Find_node_cache_rsp = 0x801C;
1693
+ EmberZDOCmd.Extended_Simple_Desc_rsp = 0x801D;
1694
+ EmberZDOCmd.Extended_Active_EP_rsp = 0x801E;
1695
+ EmberZDOCmd.Parent_annce_rsp = 0x801F;
1696
+ // Bind Management Server Services Responses
1697
+ EmberZDOCmd.End_Device_Bind_rsp = 0x8020;
1698
+ EmberZDOCmd.Bind_rsp = 0x8021;
1699
+ EmberZDOCmd.Unbind_rsp = 0x8022;
1700
+ // ... TODO optional stuff ...
1701
+ // Network Management Server Services Responses
1702
+ EmberZDOCmd.Mgmt_Lqi_rsp = 0x8031;
1703
+ EmberZDOCmd.Mgmt_Rtg_rsp = 0x8032;
1704
+ // ... TODO optional stuff ...
1705
+ EmberZDOCmd.Mgmt_Leave_rsp = 0x8034;
1706
+ EmberZDOCmd.Mgmt_Permit_Joining_rsp = 0x8036;
1707
+ // ... TODO optional stuff ...
1708
+ EmberZDOCmd.Mgmt_NWK_Update_rsp = 0x8038;
1709
+ class EzspDecisionBitmask extends basic.uint16_t {
1710
+ }
1711
+ exports.EzspDecisionBitmask = EzspDecisionBitmask;
1712
+ // EZSP Decision bitmask.
1713
+ // Disallow joins and rejoins.
1714
+ EzspDecisionBitmask.DEFAULT_CONFIGURATION = 0x0000;
1715
+ // Send the network key to all joining devices.
1716
+ EzspDecisionBitmask.ALLOW_JOINS = 0x0001;
1717
+ // Send the network key to all rejoining devices.
1718
+ EzspDecisionBitmask.ALLOW_UNSECURED_REJOINS = 0x0002;
1719
+ // Send the network key in the clear.
1720
+ EzspDecisionBitmask.SEND_KEY_IN_CLEAR = 0x0004;
1721
+ // Do nothing for unsecured rejoins.
1722
+ EzspDecisionBitmask.IGNORE_UNSECURED_REJOINS = 0x0008;
1723
+ // Allow joins if there is an entry in the transient key table.
1724
+ EzspDecisionBitmask.JOINS_USE_INSTALL_CODE_KEY = 0x0010;
1725
+ // Delay sending the network key to a new joining device.
1726
+ EzspDecisionBitmask.DEFER_JOINS = 0x0020;
1727
1727
  //# sourceMappingURL=named.js.map