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