@willieee802/zigbee-herdsman 0.36.0 → 0.48.2
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/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +317 -0
- package/dist/adapter/adapter.d.ts +15 -13
- package/dist/adapter/adapter.d.ts.map +1 -1
- package/dist/adapter/adapter.js +15 -17
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +14 -12
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.js +118 -128
- package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
- package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/driver.js +44 -44
- package/dist/adapter/deconz/driver/driver.js.map +1 -1
- package/dist/adapter/deconz/driver/frameParser.js +43 -43
- package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
- package/dist/adapter/deconz/driver/parser.js +6 -6
- package/dist/adapter/deconz/driver/parser.js.map +1 -1
- package/dist/adapter/deconz/driver/writer.js +3 -3
- package/dist/adapter/deconz/driver/writer.js.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.d.ts +32 -36
- package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.js +418 -446
- package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
- package/dist/adapter/ember/adapter/endpoints.d.ts +5 -3
- package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/endpoints.js +33 -31
- package/dist/adapter/ember/adapter/endpoints.js.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.d.ts +10 -2
- package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.js +19 -5
- package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
- package/dist/adapter/ember/adapter/requestQueue.d.ts +2 -4
- package/dist/adapter/ember/adapter/requestQueue.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/requestQueue.js +16 -21
- package/dist/adapter/ember/adapter/requestQueue.js.map +1 -1
- package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/tokensManager.js +23 -20
- package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
- package/dist/adapter/ember/consts.d.ts +0 -7
- package/dist/adapter/ember/consts.d.ts.map +1 -1
- package/dist/adapter/ember/consts.js +2 -9
- package/dist/adapter/ember/consts.js.map +1 -1
- package/dist/adapter/ember/enums.d.ts +12 -14
- package/dist/adapter/ember/enums.d.ts.map +1 -1
- package/dist/adapter/ember/enums.js +12 -14
- package/dist/adapter/ember/enums.js.map +1 -1
- package/dist/adapter/ember/ezsp/buffalo.js +4 -4
- package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.d.ts +1 -2
- package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.js +218 -199
- package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
- package/dist/adapter/ember/types.d.ts +9 -9
- package/dist/adapter/ember/types.d.ts.map +1 -1
- package/dist/adapter/ember/uart/ash.d.ts +11 -5
- package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
- package/dist/adapter/ember/uart/ash.js +125 -93
- package/dist/adapter/ember/uart/ash.js.map +1 -1
- package/dist/adapter/ember/uart/consts.d.ts +1 -1
- package/dist/adapter/ember/uart/consts.js +1 -1
- package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
- package/dist/adapter/ember/uart/parser.js +5 -9
- package/dist/adapter/ember/uart/parser.js.map +1 -1
- package/dist/adapter/ember/uart/queues.d.ts.map +1 -1
- package/dist/adapter/ember/uart/queues.js +3 -1
- package/dist/adapter/ember/uart/queues.js.map +1 -1
- package/dist/adapter/ember/uart/writer.d.ts.map +1 -1
- package/dist/adapter/ember/uart/writer.js +4 -6
- package/dist/adapter/ember/uart/writer.js.map +1 -1
- package/dist/adapter/ember/utils/math.d.ts.map +1 -1
- package/dist/adapter/ember/zdo.d.ts +6 -2
- package/dist/adapter/ember/zdo.d.ts.map +1 -1
- package/dist/adapter/ember/zdo.js +2 -2
- package/dist/adapter/ember/zdo.js.map +1 -1
- package/dist/adapter/events.d.ts +17 -23
- package/dist/adapter/events.d.ts.map +1 -1
- package/dist/adapter/events.js +1 -2
- package/dist/adapter/events.js.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.d.ts +0 -1
- package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.js +3 -7
- package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +13 -10
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +79 -72
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
- package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/commands.js +3 -5
- package/dist/adapter/ezsp/driver/commands.js.map +1 -1
- package/dist/adapter/ezsp/driver/driver.d.ts +1 -4
- package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/driver.js +101 -122
- package/dist/adapter/ezsp/driver/driver.js.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.js +61 -50
- package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.js +8 -12
- package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
- package/dist/adapter/ezsp/driver/parser.js +5 -5
- package/dist/adapter/ezsp/driver/parser.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/basic.js +1 -1
- package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/named.js +2 -2
- package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/struct.js +2 -2
- package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
- package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/uart.js +46 -46
- package/dist/adapter/ezsp/driver/uart.js.map +1 -1
- package/dist/adapter/ezsp/driver/writer.js +3 -6
- package/dist/adapter/ezsp/driver/writer.js.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +0 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.js +25 -29
- package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
- package/dist/adapter/z-stack/adapter/endpoints.js +4 -4
- package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.d.ts +1 -4
- package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.js +52 -61
- package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +14 -10
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +95 -69
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
- package/dist/adapter/z-stack/unpi/parser.d.ts +3 -1
- package/dist/adapter/z-stack/unpi/parser.d.ts.map +1 -1
- package/dist/adapter/z-stack/unpi/parser.js +18 -8
- package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
- package/dist/adapter/z-stack/unpi/writer.d.ts +3 -2
- package/dist/adapter/z-stack/unpi/writer.d.ts.map +1 -1
- package/dist/adapter/z-stack/unpi/writer.js +21 -11
- package/dist/adapter/z-stack/unpi/writer.js.map +1 -1
- package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +4 -2
- package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/buffaloZnp.js +154 -25
- package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
- package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/definition.js +2 -1
- package/dist/adapter/z-stack/znp/definition.js.map +1 -1
- package/dist/adapter/z-stack/znp/tstype.d.ts +4 -3
- package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/znp.d.ts +3 -1
- package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/znp.js +27 -32
- package/dist/adapter/z-stack/znp/znp.js.map +1 -1
- package/dist/adapter/z-stack/znp/zpiObject.js +2 -2
- package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +13 -12
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.js +81 -90
- package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +7 -8
- package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.js +150 -100
- package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
- package/dist/adapter/zigate/driver/commandType.d.ts +2 -1
- package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/commandType.js +56 -52
- package/dist/adapter/zigate/driver/commandType.js.map +1 -1
- package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/frame.js +8 -8
- package/dist/adapter/zigate/driver/frame.js.map +1 -1
- package/dist/adapter/zigate/driver/messageType.d.ts +2 -1
- package/dist/adapter/zigate/driver/messageType.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/messageType.js +113 -108
- package/dist/adapter/zigate/driver/messageType.js.map +1 -1
- package/dist/adapter/zigate/driver/parameterType.d.ts +8 -1
- package/dist/adapter/zigate/driver/parameterType.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/parameterType.js +9 -0
- package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
- package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/ziGateObject.js +9 -9
- package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
- package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/zigate.js +23 -31
- package/dist/adapter/zigate/driver/zigate.js.map +1 -1
- package/dist/buffalo/buffalo.d.ts +23 -19
- package/dist/buffalo/buffalo.d.ts.map +1 -1
- package/dist/buffalo/buffalo.js +74 -169
- package/dist/buffalo/buffalo.js.map +1 -1
- package/dist/buffalo/index.d.ts +1 -2
- package/dist/buffalo/index.d.ts.map +1 -1
- package/dist/buffalo/index.js +1 -26
- package/dist/buffalo/index.js.map +1 -1
- package/dist/controller/controller.d.ts +10 -5
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/controller/controller.js +184 -126
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/database.d.ts +1 -0
- package/dist/controller/database.d.ts.map +1 -1
- package/dist/controller/database.js +7 -10
- package/dist/controller/database.js.map +1 -1
- package/dist/controller/events.d.ts +2 -2
- package/dist/controller/events.d.ts.map +1 -1
- package/dist/controller/events.js +4 -0
- package/dist/controller/events.js.map +1 -1
- package/dist/controller/greenPower.d.ts +2 -1
- package/dist/controller/greenPower.d.ts.map +1 -1
- package/dist/controller/greenPower.js +51 -57
- package/dist/controller/greenPower.js.map +1 -1
- package/dist/controller/helpers/request.d.ts +3 -3
- package/dist/controller/helpers/request.d.ts.map +1 -1
- package/dist/controller/helpers/request.js +2 -2
- package/dist/controller/helpers/request.js.map +1 -1
- package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
- package/dist/controller/helpers/requestQueue.js +26 -36
- package/dist/controller/helpers/requestQueue.js.map +1 -1
- package/dist/controller/helpers/zclFrameConverter.d.ts +4 -3
- package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
- package/dist/controller/helpers/zclFrameConverter.js +33 -14
- package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
- package/dist/controller/model/device.d.ts +12 -5
- package/dist/controller/model/device.d.ts.map +1 -1
- package/dist/controller/model/device.js +105 -86
- package/dist/controller/model/device.js.map +1 -1
- package/dist/controller/model/endpoint.d.ts +22 -17
- package/dist/controller/model/endpoint.d.ts.map +1 -1
- package/dist/controller/model/endpoint.js +139 -228
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/controller/model/group.d.ts +1 -1
- package/dist/controller/model/group.d.ts.map +1 -1
- package/dist/controller/model/group.js +18 -18
- package/dist/controller/model/group.js.map +1 -1
- package/dist/controller/model/konnextConfig.d.ts +7 -0
- package/dist/controller/model/konnextConfig.d.ts.map +1 -0
- package/dist/controller/{logger-stub.js → model/konnextConfig.js} +1 -1
- package/dist/controller/model/konnextConfig.js.map +1 -0
- package/dist/controller/touchlink.js +25 -28
- package/dist/controller/touchlink.js.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/utils/aes.d.ts +40 -0
- package/dist/utils/aes.d.ts.map +1 -0
- package/dist/utils/aes.js +198 -0
- package/dist/utils/aes.js.map +1 -0
- package/dist/utils/logger.d.ts +9 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +14 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/zspec/consts.d.ts +60 -0
- package/dist/zspec/consts.d.ts.map +1 -0
- package/dist/zspec/consts.js +64 -0
- package/dist/zspec/consts.js.map +1 -0
- package/dist/zspec/enums.d.ts +19 -0
- package/dist/zspec/enums.d.ts.map +1 -0
- package/dist/zspec/enums.js +28 -0
- package/dist/zspec/enums.js.map +1 -0
- package/dist/zspec/index.d.ts +4 -0
- package/dist/zspec/index.d.ts.map +1 -0
- package/dist/zspec/index.js +43 -0
- package/dist/zspec/index.js.map +1 -0
- package/dist/zspec/tstypes.d.ts +19 -0
- package/dist/zspec/tstypes.d.ts.map +1 -0
- package/dist/{buffalo/tstype.js → zspec/tstypes.js} +1 -1
- package/dist/zspec/tstypes.js.map +1 -0
- package/dist/zspec/utils.d.ts +14 -0
- package/dist/zspec/utils.d.ts.map +1 -0
- package/dist/zspec/utils.js +29 -0
- package/dist/zspec/utils.js.map +1 -0
- package/dist/zspec/zcl/buffaloZcl.d.ts +55 -0
- package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -0
- package/dist/zspec/zcl/buffaloZcl.js +929 -0
- package/dist/zspec/zcl/buffaloZcl.js.map +1 -0
- package/dist/zspec/zcl/definition/cluster.d.ts +3 -0
- package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -0
- package/dist/zspec/zcl/definition/cluster.js +5500 -0
- package/dist/zspec/zcl/definition/cluster.js.map +1 -0
- package/dist/zspec/zcl/definition/consts.d.ts +9 -0
- package/dist/zspec/zcl/definition/consts.d.ts.map +1 -0
- package/dist/zspec/zcl/definition/consts.js +27 -0
- package/dist/zspec/zcl/definition/consts.js.map +1 -0
- package/dist/zspec/zcl/definition/enums.d.ts +177 -0
- package/dist/zspec/zcl/definition/enums.d.ts.map +1 -0
- package/dist/zspec/zcl/definition/enums.js +187 -0
- package/dist/zspec/zcl/definition/enums.js.map +1 -0
- package/dist/zspec/zcl/definition/foundation.d.ts +11 -0
- package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -0
- package/dist/zspec/zcl/definition/foundation.js +241 -0
- package/dist/zspec/zcl/definition/foundation.js.map +1 -0
- package/dist/zspec/zcl/definition/manufacturerCode.d.ts +727 -0
- package/dist/zspec/zcl/definition/manufacturerCode.d.ts.map +1 -0
- package/dist/zspec/zcl/definition/manufacturerCode.js +733 -0
- package/dist/zspec/zcl/definition/manufacturerCode.js.map +1 -0
- package/dist/zspec/zcl/definition/status.d.ts +69 -0
- package/dist/zspec/zcl/definition/status.d.ts.map +1 -0
- package/dist/zspec/zcl/definition/status.js +74 -0
- package/dist/zspec/zcl/definition/status.js.map +1 -0
- package/dist/zspec/zcl/definition/tstype.d.ts +114 -0
- package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -0
- package/dist/{zcl/zclHeader.js → zspec/zcl/definition/tstype.js} +2 -1
- package/dist/zspec/zcl/definition/tstype.js.map +1 -0
- package/dist/zspec/zcl/index.d.ts +11 -0
- package/dist/zspec/zcl/index.d.ts.map +1 -0
- package/dist/zspec/zcl/index.js +47 -0
- package/dist/zspec/zcl/index.js.map +1 -0
- package/dist/zspec/zcl/utils.d.ts +7 -0
- package/dist/zspec/zcl/utils.d.ts.map +1 -0
- package/dist/zspec/zcl/utils.js +234 -0
- package/dist/zspec/zcl/utils.js.map +1 -0
- package/dist/zspec/zcl/zclFrame.d.ts +36 -0
- package/dist/zspec/zcl/zclFrame.d.ts.map +1 -0
- package/dist/zspec/zcl/zclFrame.js +304 -0
- package/dist/zspec/zcl/zclFrame.js.map +1 -0
- package/dist/zspec/zcl/zclHeader.d.ts +17 -0
- package/dist/zspec/zcl/zclHeader.d.ts.map +1 -0
- package/dist/zspec/zcl/zclHeader.js +88 -0
- package/dist/zspec/zcl/zclHeader.js.map +1 -0
- package/dist/zspec/zcl/zclStatusError.d.ts +6 -0
- package/dist/zspec/zcl/zclStatusError.d.ts.map +1 -0
- package/dist/zspec/zcl/zclStatusError.js +13 -0
- package/dist/zspec/zcl/zclStatusError.js.map +1 -0
- package/dist/zspec/zdo/buffaloZdo.d.ts +438 -0
- package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -0
- package/dist/zspec/zdo/buffaloZdo.js +1892 -0
- package/dist/zspec/zdo/buffaloZdo.js.map +1 -0
- package/dist/zspec/zdo/definition/clusters.d.ts +624 -0
- package/dist/zspec/zdo/definition/clusters.d.ts.map +1 -0
- package/dist/zspec/zdo/definition/clusters.js +687 -0
- package/dist/zspec/zdo/definition/clusters.js.map +1 -0
- package/dist/zspec/zdo/definition/consts.d.ts +13 -0
- package/dist/zspec/zdo/definition/consts.d.ts.map +1 -0
- package/dist/zspec/zdo/definition/consts.js +16 -0
- package/dist/zspec/zdo/definition/consts.js.map +1 -0
- package/dist/zspec/zdo/definition/enums.d.ts +75 -0
- package/dist/zspec/zdo/definition/enums.d.ts.map +1 -0
- package/dist/zspec/zdo/definition/enums.js +97 -0
- package/dist/zspec/zdo/definition/enums.js.map +1 -0
- package/dist/zspec/zdo/definition/status.d.ts +99 -0
- package/dist/zspec/zdo/definition/status.d.ts.map +1 -0
- package/dist/zspec/zdo/definition/status.js +109 -0
- package/dist/zspec/zdo/definition/status.js.map +1 -0
- package/dist/zspec/zdo/definition/tstypes.d.ts +787 -0
- package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -0
- package/dist/{zcl/definition/tstype.js → zspec/zdo/definition/tstypes.js} +1 -1
- package/dist/zspec/zdo/definition/tstypes.js.map +1 -0
- package/dist/zspec/zdo/index.d.ts +7 -0
- package/dist/zspec/zdo/index.d.ts.map +1 -0
- package/dist/zspec/zdo/index.js +39 -0
- package/dist/zspec/zdo/index.js.map +1 -0
- package/dist/zspec/zdo/utils.d.ts +25 -0
- package/dist/zspec/zdo/utils.d.ts.map +1 -0
- package/dist/zspec/zdo/utils.js +75 -0
- package/dist/zspec/zdo/utils.js.map +1 -0
- package/dist/zspec/zdo/zdoStatusError.d.ts +6 -0
- package/dist/zspec/zdo/zdoStatusError.d.ts.map +1 -0
- package/dist/zspec/zdo/zdoStatusError.js +13 -0
- package/dist/zspec/zdo/zdoStatusError.js.map +1 -0
- package/examples/join-and-log.js +7 -12
- package/package.json +6 -6
- package/dist/adapter/zigate/debug.d.ts +0 -8
- package/dist/adapter/zigate/debug.d.ts.map +0 -1
- package/dist/adapter/zigate/debug.js +0 -20
- package/dist/adapter/zigate/debug.js.map +0 -1
- package/dist/buffalo/tstype.d.ts +0 -9
- package/dist/buffalo/tstype.d.ts.map +0 -1
- package/dist/buffalo/tstype.js.map +0 -1
- package/dist/controller/logger-stub.d.ts +0 -7
- package/dist/controller/logger-stub.d.ts.map +0 -1
- package/dist/controller/logger-stub.js.map +0 -1
- package/dist/zcl/buffaloZcl.d.ts +0 -42
- package/dist/zcl/buffaloZcl.d.ts.map +0 -1
- package/dist/zcl/buffaloZcl.js +0 -595
- package/dist/zcl/buffaloZcl.js.map +0 -1
- package/dist/zcl/definition/buffaloZclDataType.d.ts +0 -18
- package/dist/zcl/definition/buffaloZclDataType.d.ts.map +0 -1
- package/dist/zcl/definition/buffaloZclDataType.js +0 -21
- package/dist/zcl/definition/buffaloZclDataType.js.map +0 -1
- package/dist/zcl/definition/cluster.d.ts +0 -30
- package/dist/zcl/definition/cluster.d.ts.map +0 -1
- package/dist/zcl/definition/cluster.js +0 -5531
- package/dist/zcl/definition/cluster.js.map +0 -1
- package/dist/zcl/definition/dataType.d.ts +0 -60
- package/dist/zcl/definition/dataType.d.ts.map +0 -1
- package/dist/zcl/definition/dataType.js +0 -65
- package/dist/zcl/definition/dataType.js.map +0 -1
- package/dist/zcl/definition/direction.d.ts +0 -6
- package/dist/zcl/definition/direction.d.ts.map +0 -1
- package/dist/zcl/definition/direction.js +0 -9
- package/dist/zcl/definition/direction.js.map +0 -1
- package/dist/zcl/definition/endpointDeviceType.d.ts +0 -5
- package/dist/zcl/definition/endpointDeviceType.d.ts.map +0 -1
- package/dist/zcl/definition/endpointDeviceType.js +0 -16
- package/dist/zcl/definition/endpointDeviceType.js.map +0 -1
- package/dist/zcl/definition/foundation.d.ts +0 -12
- package/dist/zcl/definition/foundation.d.ts.map +0 -1
- package/dist/zcl/definition/foundation.js +0 -168
- package/dist/zcl/definition/foundation.js.map +0 -1
- package/dist/zcl/definition/frameControl.d.ts +0 -11
- package/dist/zcl/definition/frameControl.d.ts.map +0 -1
- package/dist/zcl/definition/frameControl.js +0 -3
- package/dist/zcl/definition/frameControl.js.map +0 -1
- package/dist/zcl/definition/frameType.d.ts +0 -6
- package/dist/zcl/definition/frameType.d.ts.map +0 -1
- package/dist/zcl/definition/frameType.js +0 -9
- package/dist/zcl/definition/frameType.js.map +0 -1
- package/dist/zcl/definition/index.d.ts +0 -14
- package/dist/zcl/definition/index.d.ts.map +0 -1
- package/dist/zcl/definition/index.js +0 -52
- package/dist/zcl/definition/index.js.map +0 -1
- package/dist/zcl/definition/manufacturerCode.d.ts +0 -1078
- package/dist/zcl/definition/manufacturerCode.d.ts.map +0 -1
- package/dist/zcl/definition/manufacturerCode.js +0 -1083
- package/dist/zcl/definition/manufacturerCode.js.map +0 -1
- package/dist/zcl/definition/powerSource.d.ts +0 -5
- package/dist/zcl/definition/powerSource.d.ts.map +0 -1
- package/dist/zcl/definition/powerSource.js +0 -13
- package/dist/zcl/definition/powerSource.js.map +0 -1
- package/dist/zcl/definition/status.d.ts +0 -39
- package/dist/zcl/definition/status.d.ts.map +0 -1
- package/dist/zcl/definition/status.js +0 -42
- package/dist/zcl/definition/status.js.map +0 -1
- package/dist/zcl/definition/tstype.d.ts +0 -17
- package/dist/zcl/definition/tstype.d.ts.map +0 -1
- package/dist/zcl/definition/tstype.js.map +0 -1
- package/dist/zcl/index.d.ts +0 -17
- package/dist/zcl/index.d.ts.map +0 -1
- package/dist/zcl/index.js +0 -56
- package/dist/zcl/index.js.map +0 -1
- package/dist/zcl/tstype.d.ts +0 -57
- package/dist/zcl/tstype.d.ts.map +0 -1
- package/dist/zcl/tstype.js +0 -10
- package/dist/zcl/tstype.js.map +0 -1
- package/dist/zcl/utils.d.ts +0 -7
- package/dist/zcl/utils.d.ts.map +0 -1
- package/dist/zcl/utils.js +0 -165
- package/dist/zcl/utils.js.map +0 -1
- package/dist/zcl/zclFrame.d.ts +0 -41
- package/dist/zcl/zclFrame.d.ts.map +0 -1
- package/dist/zcl/zclFrame.js +0 -352
- package/dist/zcl/zclFrame.js.map +0 -1
- package/dist/zcl/zclHeader.d.ts +0 -9
- package/dist/zcl/zclHeader.d.ts.map +0 -1
- package/dist/zcl/zclHeader.js.map +0 -1
- package/dist/zcl/zclStatusError.d.ts +0 -6
- package/dist/zcl/zclStatusError.d.ts.map +0 -1
- package/dist/zcl/zclStatusError.js +0 -15
- package/dist/zcl/zclStatusError.js.map +0 -1
|
@@ -5,9 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.Ezsp = exports.EzspEvents = void 0;
|
|
7
7
|
/* istanbul ignore file */
|
|
8
|
-
const debug_1 = __importDefault(require("debug"));
|
|
9
8
|
const events_1 = __importDefault(require("events"));
|
|
10
|
-
const cluster_1 =
|
|
9
|
+
const cluster_1 = require("../../../zspec/zcl/definition/cluster");
|
|
11
10
|
const math_1 = require("../utils/math");
|
|
12
11
|
const enums_1 = require("../enums");
|
|
13
12
|
const zdo_1 = require("../zdo");
|
|
@@ -17,7 +16,8 @@ const ash_1 = require("../uart/ash");
|
|
|
17
16
|
const buffalo_1 = require("./buffalo");
|
|
18
17
|
const consts_2 = require("../consts");
|
|
19
18
|
const endpoints_1 = require("../adapter/endpoints");
|
|
20
|
-
const
|
|
19
|
+
const logger_1 = require("../../../utils/logger");
|
|
20
|
+
const NS = 'zh:ember:ezsp';
|
|
21
21
|
/** no multi-network atm, so just use const */
|
|
22
22
|
const DEFAULT_NETWORK_INDEX = endpoints_1.FIXED_ENDPOINTS[0].networkIndex;
|
|
23
23
|
/** other values not supported atm */
|
|
@@ -110,8 +110,7 @@ class Ezsp extends events_1.default {
|
|
|
110
110
|
this.frameContents = Buffer.alloc(consts_1.EZSP_MAX_FRAME_LENGTH);
|
|
111
111
|
this.buffalo = new buffalo_1.EzspBuffalo(this.frameContents);
|
|
112
112
|
this.ash = new ash_1.UartAsh(options);
|
|
113
|
-
this.ash.on(ash_1.AshEvents.
|
|
114
|
-
this.ash.on(ash_1.AshEvents.frame, this.onAshFrame.bind(this));
|
|
113
|
+
this.ash.on(ash_1.AshEvents.FRAME, this.onAshFrame.bind(this));
|
|
115
114
|
}
|
|
116
115
|
/**
|
|
117
116
|
* Returns the number of EZSP responses that have been received by the serial
|
|
@@ -129,7 +128,11 @@ class Ezsp extends events_1.default {
|
|
|
129
128
|
return `[FRAME: ID=${id}:"${enums_2.EzspFrameID[id]}" Seq=${this.frameContents[consts_1.EZSP_SEQUENCE_INDEX]} Len=${this.frameLength}]`;
|
|
130
129
|
}
|
|
131
130
|
initVariables() {
|
|
132
|
-
|
|
131
|
+
if (this.waitingForResponse) {
|
|
132
|
+
clearTimeout(this.responseWaiter.timer);
|
|
133
|
+
}
|
|
134
|
+
clearTimeout(this.tickHandle);
|
|
135
|
+
this.ash.removeAllListeners(ash_1.AshEvents.FATAL_ERROR);
|
|
133
136
|
this.frameContents.fill(0);
|
|
134
137
|
this.frameLength = 0;
|
|
135
138
|
this.buffalo.setPosition(0);
|
|
@@ -143,7 +146,7 @@ class Ezsp extends events_1.default {
|
|
|
143
146
|
this.tickHandle = null;
|
|
144
147
|
}
|
|
145
148
|
async start() {
|
|
146
|
-
|
|
149
|
+
logger_1.logger.info(`======== EZSP starting ========`, NS);
|
|
147
150
|
this.initVariables();
|
|
148
151
|
let status;
|
|
149
152
|
for (let i = 0; i < MAX_INIT_ATTEMPTS; i++) {
|
|
@@ -154,8 +157,10 @@ class Ezsp extends events_1.default {
|
|
|
154
157
|
}
|
|
155
158
|
status = await this.ash.start();
|
|
156
159
|
if (status === enums_1.EzspStatus.SUCCESS) {
|
|
157
|
-
|
|
158
|
-
this
|
|
160
|
+
logger_1.logger.info(`======== EZSP started ========`, NS);
|
|
161
|
+
// registered after reset sequence to avoid bubbling up to adapter before this point
|
|
162
|
+
this.ash.on(ash_1.AshEvents.FATAL_ERROR, this.onAshFatalError.bind(this));
|
|
163
|
+
this.tick();
|
|
159
164
|
return status;
|
|
160
165
|
}
|
|
161
166
|
}
|
|
@@ -167,12 +172,8 @@ class Ezsp extends events_1.default {
|
|
|
167
172
|
*/
|
|
168
173
|
async stop() {
|
|
169
174
|
await this.ash.stop();
|
|
170
|
-
if (this.waitingForResponse) {
|
|
171
|
-
clearTimeout(this.responseWaiter.timer);
|
|
172
|
-
}
|
|
173
|
-
clearInterval(this.tickHandle);
|
|
174
175
|
this.initVariables();
|
|
175
|
-
|
|
176
|
+
logger_1.logger.info(`======== EZSP stopped ========`, NS);
|
|
176
177
|
}
|
|
177
178
|
/**
|
|
178
179
|
* Check if connected.
|
|
@@ -183,8 +184,8 @@ class Ezsp extends events_1.default {
|
|
|
183
184
|
checkConnection() {
|
|
184
185
|
return this.ash.connected;
|
|
185
186
|
}
|
|
186
|
-
|
|
187
|
-
this.
|
|
187
|
+
onAshFatalError(status) {
|
|
188
|
+
this.emit(EzspEvents.ncpNeedsResetAndInit, status);
|
|
188
189
|
}
|
|
189
190
|
onAshFrame() {
|
|
190
191
|
// let tick handle if not waiting for response (CBs)
|
|
@@ -208,14 +209,13 @@ class Ezsp extends events_1.default {
|
|
|
208
209
|
const lastFrameStr = `Last: ${this.frameToString}.`;
|
|
209
210
|
if (status === enums_1.EzspStatus.ERROR_QUEUE_FULL) {
|
|
210
211
|
this.counterErrQueueFull += 1;
|
|
211
|
-
|
|
212
|
+
logger_1.logger.error(`NCP Queue full (counter: ${this.counterErrQueueFull}). ${lastFrameStr}`, NS);
|
|
212
213
|
}
|
|
213
214
|
else if (status === enums_1.EzspStatus.ERROR_OVERFLOW) {
|
|
214
|
-
|
|
215
|
-
+ lastFrameStr);
|
|
215
|
+
logger_1.logger.error(`The NCP has run out of buffers, causing general malfunction. Remediate network congestion, if present. ${lastFrameStr}`, NS);
|
|
216
216
|
}
|
|
217
217
|
else {
|
|
218
|
-
|
|
218
|
+
logger_1.logger.error(`ERROR Transaction failure; status=${enums_1.EzspStatus[status]}. ${lastFrameStr}`, NS);
|
|
219
219
|
}
|
|
220
220
|
// Do not reset if this is a decryption failure, as we ignored the packet
|
|
221
221
|
// Do not reset for a callback overflow or error queue, as we don't want the device to reboot under stress;
|
|
@@ -227,31 +227,25 @@ class Ezsp extends events_1.default {
|
|
|
227
227
|
this.emit(EzspEvents.ncpNeedsResetAndInit, status);
|
|
228
228
|
}
|
|
229
229
|
}
|
|
230
|
-
registerHandlers() {
|
|
231
|
-
this.tickHandle = setInterval(this.tick.bind(this), this.tickInterval);
|
|
232
|
-
}
|
|
233
230
|
/**
|
|
234
231
|
* The Host application must call this function periodically to allow the EZSP layer to handle asynchronous events.
|
|
235
232
|
*/
|
|
236
233
|
tick() {
|
|
237
|
-
|
|
238
|
-
// don't process any callbacks while expecting a command's response
|
|
239
|
-
return;
|
|
240
|
-
}
|
|
234
|
+
// don't process any callbacks while sending a command and waiting for its response
|
|
241
235
|
// nothing in the rx queue, nothing to receive
|
|
242
|
-
if (this.ash.rxQueue.empty) {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
this.callbackDispatch();
|
|
236
|
+
if (!this.sendingCommand && !this.ash.rxQueue.empty) {
|
|
237
|
+
if (this.responseReceived() === enums_1.EzspStatus.SUCCESS) {
|
|
238
|
+
this.callbackDispatch();
|
|
239
|
+
}
|
|
247
240
|
}
|
|
241
|
+
this.tickHandle = setTimeout(this.tick.bind(this), this.tickInterval);
|
|
248
242
|
}
|
|
249
243
|
nextFrameSequence() {
|
|
250
244
|
return (this.frameSequence = ((++this.frameSequence) & 0xFF));
|
|
251
245
|
}
|
|
252
246
|
startCommand(command) {
|
|
253
247
|
if (this.sendingCommand) {
|
|
254
|
-
|
|
248
|
+
logger_1.logger.error(`[SEND COMMAND] Cannot send second one before processing response from first one.`, NS);
|
|
255
249
|
throw new Error(enums_1.EzspStatus[enums_1.EzspStatus.ERROR_INVALID_CALL]);
|
|
256
250
|
}
|
|
257
251
|
this.sendingCommand = true;
|
|
@@ -295,7 +289,7 @@ class Ezsp extends events_1.default {
|
|
|
295
289
|
*/
|
|
296
290
|
async sendCommand() {
|
|
297
291
|
if (!this.checkConnection()) {
|
|
298
|
-
debug(
|
|
292
|
+
logger_1.logger.debug(`[SEND COMMAND] NOT CONNECTED`, NS);
|
|
299
293
|
return enums_1.EzspStatus.NOT_CONNECTED;
|
|
300
294
|
}
|
|
301
295
|
this.buffalo.setCommandByte(consts_1.EZSP_SEQUENCE_INDEX, this.nextFrameSequence());
|
|
@@ -319,7 +313,7 @@ class Ezsp extends events_1.default {
|
|
|
319
313
|
}
|
|
320
314
|
this.frameLength = length;
|
|
321
315
|
let status;
|
|
322
|
-
debug(`===> ${this.frameToString}
|
|
316
|
+
logger_1.logger.debug(`===> ${this.frameToString}`, NS);
|
|
323
317
|
try {
|
|
324
318
|
status = await (new Promise((resolve, reject) => {
|
|
325
319
|
const sendStatus = (this.ash.send(this.frameLength, this.frameContents));
|
|
@@ -343,7 +337,7 @@ class Ezsp extends events_1.default {
|
|
|
343
337
|
}
|
|
344
338
|
}
|
|
345
339
|
catch (err) {
|
|
346
|
-
debug(`=x=> ${this.frameToString} Error: ${err}
|
|
340
|
+
logger_1.logger.debug(`=x=> ${this.frameToString} Error: ${err}`, NS);
|
|
347
341
|
this.ezspErrorHandler(status);
|
|
348
342
|
}
|
|
349
343
|
this.sendingCommand = false;
|
|
@@ -366,7 +360,7 @@ class Ezsp extends events_1.default {
|
|
|
366
360
|
// While we are waiting for a response to a command, we use the asynch callback flag to ignore asynchronous callbacks.
|
|
367
361
|
// This allows our caller to assume that no callbacks will appear between sending a command and receiving its response.
|
|
368
362
|
if (this.waitingForResponse && (buffer.data[consts_1.EZSP_FRAME_CONTROL_INDEX] & consts_1.EZSP_FRAME_CONTROL_ASYNCH_CB)) {
|
|
369
|
-
debug(`Skipping async callback while waiting for response to command
|
|
363
|
+
logger_1.logger.debug(`Skipping async callback while waiting for response to command.`, NS);
|
|
370
364
|
if (this.ash.rxFree.length === 0) {
|
|
371
365
|
dropBuffer = buffer;
|
|
372
366
|
}
|
|
@@ -376,7 +370,7 @@ class Ezsp extends events_1.default {
|
|
|
376
370
|
this.ash.rxQueue.removeEntry(buffer);
|
|
377
371
|
buffer.data.copy(this.frameContents, 0, 0, buffer.len); // take only what len tells us is actual content
|
|
378
372
|
this.frameLength = buffer.len;
|
|
379
|
-
debug(`<=== ${this.frameToString}
|
|
373
|
+
logger_1.logger.debug(`<=== ${this.frameToString}`, NS);
|
|
380
374
|
this.ash.rxFree.freeBuffer(buffer);
|
|
381
375
|
buffer = null;
|
|
382
376
|
status = enums_1.EzspStatus.SUCCESS;
|
|
@@ -386,7 +380,7 @@ class Ezsp extends events_1.default {
|
|
|
386
380
|
if (dropBuffer != null) {
|
|
387
381
|
this.ash.rxQueue.removeEntry(dropBuffer);
|
|
388
382
|
this.ash.rxFree.freeBuffer(dropBuffer);
|
|
389
|
-
debug(`ERROR Host receive queue full. Dropping received callback: ${dropBuffer.data.toString('hex')}
|
|
383
|
+
logger_1.logger.debug(`ERROR Host receive queue full. Dropping received callback: ${dropBuffer.data.toString('hex')}`, NS);
|
|
390
384
|
this.ezspErrorHandler(enums_1.EzspStatus.ERROR_QUEUE_FULL);
|
|
391
385
|
}
|
|
392
386
|
return status;
|
|
@@ -427,7 +421,7 @@ class Ezsp extends events_1.default {
|
|
|
427
421
|
//this.callbackNetworkIndex = (frameControl & EZSP_FRAME_CONTROL_NETWORK_INDEX_MASK) >> EZSP_FRAME_CONTROL_NETWORK_INDEX_OFFSET;
|
|
428
422
|
}
|
|
429
423
|
if (status !== enums_1.EzspStatus.SUCCESS) {
|
|
430
|
-
debug(`[RESPONSE RECEIVED] ERROR ${enums_1.EzspStatus[status]}
|
|
424
|
+
logger_1.logger.debug(`[RESPONSE RECEIVED] ERROR ${enums_1.EzspStatus[status]}`, NS);
|
|
431
425
|
this.ezspErrorHandler(status);
|
|
432
426
|
}
|
|
433
427
|
this.buffalo.setPosition(parametersIndex);
|
|
@@ -465,7 +459,7 @@ class Ezsp extends events_1.default {
|
|
|
465
459
|
}
|
|
466
460
|
case enums_2.EzspFrameID.CUSTOM_FRAME_HANDLER: {
|
|
467
461
|
const payloadLength = this.buffalo.readUInt8();
|
|
468
|
-
const payload = this.buffalo.readListUInt8(
|
|
462
|
+
const payload = this.buffalo.readListUInt8(payloadLength);
|
|
469
463
|
this.ezspCustomFrameHandler(payloadLength, payload);
|
|
470
464
|
break;
|
|
471
465
|
}
|
|
@@ -476,14 +470,14 @@ class Ezsp extends events_1.default {
|
|
|
476
470
|
}
|
|
477
471
|
case enums_2.EzspFrameID.ENERGY_SCAN_RESULT_HANDLER: {
|
|
478
472
|
const channel = this.buffalo.readUInt8();
|
|
479
|
-
const maxRssiValue = this.buffalo.
|
|
473
|
+
const maxRssiValue = this.buffalo.readInt8();
|
|
480
474
|
this.ezspEnergyScanResultHandler(channel, maxRssiValue);
|
|
481
475
|
break;
|
|
482
476
|
}
|
|
483
477
|
case enums_2.EzspFrameID.NETWORK_FOUND_HANDLER: {
|
|
484
478
|
const networkFound = this.buffalo.readEmberZigbeeNetwork();
|
|
485
479
|
const lastHopLqi = this.buffalo.readUInt8();
|
|
486
|
-
const lastHopRssi = this.buffalo.
|
|
480
|
+
const lastHopRssi = this.buffalo.readInt8();
|
|
487
481
|
this.ezspNetworkFoundHandler(networkFound, lastHopLqi, lastHopRssi);
|
|
488
482
|
break;
|
|
489
483
|
}
|
|
@@ -560,7 +554,7 @@ class Ezsp extends events_1.default {
|
|
|
560
554
|
const type = this.buffalo.readUInt8();
|
|
561
555
|
const apsFrame = this.buffalo.readEmberApsFrame();
|
|
562
556
|
const lastHopLqi = this.buffalo.readUInt8();
|
|
563
|
-
const lastHopRssi = this.buffalo.
|
|
557
|
+
const lastHopRssi = this.buffalo.readInt8();
|
|
564
558
|
const sender = this.buffalo.readUInt16();
|
|
565
559
|
const bindingIndex = this.buffalo.readUInt8();
|
|
566
560
|
const addressIndex = this.buffalo.readUInt8();
|
|
@@ -591,9 +585,9 @@ class Ezsp extends events_1.default {
|
|
|
591
585
|
const source = this.buffalo.readUInt16();
|
|
592
586
|
const sourceEui = this.buffalo.readIeeeAddr();
|
|
593
587
|
const lastHopLqi = this.buffalo.readUInt8();
|
|
594
|
-
const lastHopRssi = this.buffalo.
|
|
588
|
+
const lastHopRssi = this.buffalo.readInt8();
|
|
595
589
|
const relayCount = this.buffalo.readUInt8();
|
|
596
|
-
const relayList = this.buffalo.readListUInt16(
|
|
590
|
+
const relayList = this.buffalo.readListUInt16(relayCount); //this.buffalo.readListUInt8(relayCount * 2);
|
|
597
591
|
this.ezspIncomingRouteRecordHandler(source, sourceEui, lastHopLqi, lastHopRssi, relayCount, relayList);
|
|
598
592
|
break;
|
|
599
593
|
}
|
|
@@ -605,7 +599,7 @@ class Ezsp extends events_1.default {
|
|
|
605
599
|
case enums_2.EzspFrameID.MAC_PASSTHROUGH_MESSAGE_HANDLER: {
|
|
606
600
|
const messageType = this.buffalo.readUInt8();
|
|
607
601
|
const lastHopLqi = this.buffalo.readUInt8();
|
|
608
|
-
const lastHopRssi = this.buffalo.
|
|
602
|
+
const lastHopRssi = this.buffalo.readInt8();
|
|
609
603
|
const messageContents = this.buffalo.readPayload();
|
|
610
604
|
this.ezspMacPassthroughMessageHandler(messageType, lastHopLqi, lastHopRssi, messageContents);
|
|
611
605
|
break;
|
|
@@ -614,7 +608,7 @@ class Ezsp extends events_1.default {
|
|
|
614
608
|
const filterIndexMatch = this.buffalo.readUInt8();
|
|
615
609
|
const legacyPassthroughType = this.buffalo.readUInt8();
|
|
616
610
|
const lastHopLqi = this.buffalo.readUInt8();
|
|
617
|
-
const lastHopRssi = this.buffalo.
|
|
611
|
+
const lastHopRssi = this.buffalo.readInt8();
|
|
618
612
|
const messageContents = this.buffalo.readPayload();
|
|
619
613
|
this.ezspMacFilterMatchMessageHandler(filterIndexMatch, legacyPassthroughType, lastHopLqi, lastHopRssi, messageContents);
|
|
620
614
|
break;
|
|
@@ -683,16 +677,16 @@ class Ezsp extends events_1.default {
|
|
|
683
677
|
}
|
|
684
678
|
case enums_2.EzspFrameID.MFGLIB_RX_HANDLER: {
|
|
685
679
|
const linkQuality = this.buffalo.readUInt8();
|
|
686
|
-
const rssi = this.buffalo.
|
|
680
|
+
const rssi = this.buffalo.readInt8();
|
|
687
681
|
const packetLength = this.buffalo.readUInt8();
|
|
688
|
-
const packetContents = this.buffalo.readListUInt8(
|
|
682
|
+
const packetContents = this.buffalo.readListUInt8(packetLength);
|
|
689
683
|
this.ezspMfglibRxHandler(linkQuality, rssi, packetLength, packetContents);
|
|
690
684
|
break;
|
|
691
685
|
}
|
|
692
686
|
case enums_2.EzspFrameID.INCOMING_BOOTLOAD_MESSAGE_HANDLER: {
|
|
693
687
|
const longId = this.buffalo.readIeeeAddr();
|
|
694
688
|
const lastHopLqi = this.buffalo.readUInt8();
|
|
695
|
-
const lastHopRssi = this.buffalo.
|
|
689
|
+
const lastHopRssi = this.buffalo.readInt8();
|
|
696
690
|
const messageContents = this.buffalo.readPayload();
|
|
697
691
|
this.ezspIncomingBootloadMessageHandler(longId, lastHopLqi, lastHopRssi, messageContents);
|
|
698
692
|
break;
|
|
@@ -708,7 +702,7 @@ class Ezsp extends events_1.default {
|
|
|
708
702
|
const isDeviceInfoNull = this.buffalo.readUInt8() === 1 ? true : false;
|
|
709
703
|
const deviceInfo = this.buffalo.readEmberZllDeviceInfoRecord();
|
|
710
704
|
const lastHopLqi = this.buffalo.readUInt8();
|
|
711
|
-
const lastHopRssi = this.buffalo.
|
|
705
|
+
const lastHopRssi = this.buffalo.readInt8();
|
|
712
706
|
this.ezspZllNetworkFoundHandler(networkInfo, isDeviceInfoNull, deviceInfo, lastHopLqi, lastHopRssi);
|
|
713
707
|
break;
|
|
714
708
|
}
|
|
@@ -720,7 +714,7 @@ class Ezsp extends events_1.default {
|
|
|
720
714
|
case enums_2.EzspFrameID.ZLL_ADDRESS_ASSIGNMENT_HANDLER: {
|
|
721
715
|
const addressInfo = this.buffalo.readEmberZllAddressAssignment();
|
|
722
716
|
const lastHopLqi = this.buffalo.readUInt8();
|
|
723
|
-
const lastHopRssi = this.buffalo.
|
|
717
|
+
const lastHopRssi = this.buffalo.readInt8();
|
|
724
718
|
this.ezspZllAddressAssignmentHandler(addressInfo, lastHopLqi, lastHopRssi);
|
|
725
719
|
break;
|
|
726
720
|
}
|
|
@@ -813,7 +807,7 @@ class Ezsp extends events_1.default {
|
|
|
813
807
|
}
|
|
814
808
|
apsFrame.sequence = apsSequence;
|
|
815
809
|
// NOTE: match `~~~>` from adapter since this is just a wrapper for it
|
|
816
|
-
debug(`~~~> [SENT type=${enums_1.EmberOutgoingMessageType[type]} apsSequence=${apsSequence} messageTag=${messageTag} status=${enums_1.EmberStatus[status]}]
|
|
810
|
+
logger_1.logger.debug(`~~~> [SENT type=${enums_1.EmberOutgoingMessageType[type]} apsSequence=${apsSequence} messageTag=${messageTag} status=${enums_1.EmberStatus[status]}]`, NS);
|
|
817
811
|
return [status, messageTag];
|
|
818
812
|
}
|
|
819
813
|
/**
|
|
@@ -1040,7 +1034,7 @@ class Ezsp extends events_1.default {
|
|
|
1040
1034
|
if (readLength > maxReadLength) {
|
|
1041
1035
|
throw enums_1.EzspStatus.ERROR_INVALID_VALUE;
|
|
1042
1036
|
}
|
|
1043
|
-
const data = this.buffalo.readListUInt8(
|
|
1037
|
+
const data = this.buffalo.readListUInt8(readLength);
|
|
1044
1038
|
return [status, dataType, readLength, data];
|
|
1045
1039
|
}
|
|
1046
1040
|
/**
|
|
@@ -1188,7 +1182,7 @@ class Ezsp extends events_1.default {
|
|
|
1188
1182
|
if (valueLength > maxValueLength) {
|
|
1189
1183
|
throw enums_1.EzspStatus.ERROR_INVALID_VALUE;
|
|
1190
1184
|
}
|
|
1191
|
-
const value = this.buffalo.readListUInt8(
|
|
1185
|
+
const value = this.buffalo.readListUInt8(valueLength);
|
|
1192
1186
|
return [status, valueLength, value];
|
|
1193
1187
|
}
|
|
1194
1188
|
/**
|
|
@@ -1220,7 +1214,7 @@ class Ezsp extends events_1.default {
|
|
|
1220
1214
|
if (valueLength > maxValueLength) {
|
|
1221
1215
|
throw enums_1.EzspStatus.ERROR_INVALID_VALUE;
|
|
1222
1216
|
}
|
|
1223
|
-
const value = this.buffalo.readListUInt8(
|
|
1217
|
+
const value = this.buffalo.readListUInt8(valueLength);
|
|
1224
1218
|
return [status, valueLength, value];
|
|
1225
1219
|
}
|
|
1226
1220
|
/**
|
|
@@ -1315,7 +1309,7 @@ class Ezsp extends events_1.default {
|
|
|
1315
1309
|
* Indicates that there are currently no pending callbacks.
|
|
1316
1310
|
*/
|
|
1317
1311
|
ezspNoCallbacks() {
|
|
1318
|
-
debug(`ezspNoCallbacks(): callback called
|
|
1312
|
+
logger_1.logger.debug(`ezspNoCallbacks(): callback called`, NS);
|
|
1319
1313
|
}
|
|
1320
1314
|
/**
|
|
1321
1315
|
* Sets a token (8 bytes of non-volatile storage) in the Simulated EEPROM of the NCP.
|
|
@@ -1349,7 +1343,7 @@ class Ezsp extends events_1.default {
|
|
|
1349
1343
|
throw new Error(enums_1.EzspStatus[sendStatus]);
|
|
1350
1344
|
}
|
|
1351
1345
|
const status = this.buffalo.readUInt8();
|
|
1352
|
-
const tokenData = this.buffalo.readListUInt8(
|
|
1346
|
+
const tokenData = this.buffalo.readListUInt8(8);
|
|
1353
1347
|
return [status, tokenData];
|
|
1354
1348
|
}
|
|
1355
1349
|
/**
|
|
@@ -1407,7 +1401,7 @@ class Ezsp extends events_1.default {
|
|
|
1407
1401
|
if (tokenDataLength != expectedTokenDataLength) {
|
|
1408
1402
|
throw enums_1.EzspStatus.ERROR_INVALID_VALUE;
|
|
1409
1403
|
}
|
|
1410
|
-
const tokenData = this.buffalo.readListUInt8(
|
|
1404
|
+
const tokenData = this.buffalo.readListUInt8(tokenDataLength);
|
|
1411
1405
|
return [tokenDataLength, tokenData];
|
|
1412
1406
|
}
|
|
1413
1407
|
/**
|
|
@@ -1436,7 +1430,7 @@ class Ezsp extends events_1.default {
|
|
|
1436
1430
|
* @param tokenAddress uint16_t The address of the stack token that has changed.
|
|
1437
1431
|
*/
|
|
1438
1432
|
ezspStackTokenChangedHandler(tokenAddress) {
|
|
1439
|
-
debug(`ezspStackTokenChangedHandler(): callback called with: [tokenAddress=${tokenAddress}]
|
|
1433
|
+
logger_1.logger.debug(`ezspStackTokenChangedHandler(): callback called with: [tokenAddress=${tokenAddress}]`, NS);
|
|
1440
1434
|
}
|
|
1441
1435
|
/**
|
|
1442
1436
|
* Returns a pseudorandom number.
|
|
@@ -1506,7 +1500,7 @@ class Ezsp extends events_1.default {
|
|
|
1506
1500
|
* @param timerId uint8_t Which timer generated the callback (0 or 1).
|
|
1507
1501
|
*/
|
|
1508
1502
|
ezspTimerHandler(timerId) {
|
|
1509
|
-
debug(`ezspTimerHandler(): callback called with: [timerId=${timerId}]
|
|
1503
|
+
logger_1.logger.debug(`ezspTimerHandler(): callback called with: [timerId=${timerId}]`, NS);
|
|
1510
1504
|
}
|
|
1511
1505
|
/**
|
|
1512
1506
|
* Sends a debug message from the Host to the Network Analyzer utility via the NCP.
|
|
@@ -1535,7 +1529,7 @@ class Ezsp extends events_1.default {
|
|
|
1535
1529
|
if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
|
|
1536
1530
|
throw new Error(enums_1.EzspStatus[sendStatus]);
|
|
1537
1531
|
}
|
|
1538
|
-
const values = this.buffalo.readListUInt16(
|
|
1532
|
+
const values = this.buffalo.readListUInt16(enums_1.EmberCounterType.COUNT);
|
|
1539
1533
|
return values;
|
|
1540
1534
|
}
|
|
1541
1535
|
/**
|
|
@@ -1548,7 +1542,7 @@ class Ezsp extends events_1.default {
|
|
|
1548
1542
|
if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
|
|
1549
1543
|
throw new Error(enums_1.EzspStatus[sendStatus]);
|
|
1550
1544
|
}
|
|
1551
|
-
const values = this.buffalo.readListUInt16(
|
|
1545
|
+
const values = this.buffalo.readListUInt16(enums_1.EmberCounterType.COUNT);
|
|
1552
1546
|
return values;
|
|
1553
1547
|
}
|
|
1554
1548
|
/**
|
|
@@ -1557,7 +1551,8 @@ class Ezsp extends events_1.default {
|
|
|
1557
1551
|
* @param type Type of Counter
|
|
1558
1552
|
*/
|
|
1559
1553
|
ezspCounterRolloverHandler(type) {
|
|
1560
|
-
debug(`ezspCounterRolloverHandler(): callback called with: [type=${enums_1.EmberCounterType[type]}]
|
|
1554
|
+
logger_1.logger.debug(`ezspCounterRolloverHandler(): callback called with: [type=${enums_1.EmberCounterType[type]}]`, NS);
|
|
1555
|
+
logger_1.logger.info(`NCP Counter ${enums_1.EmberCounterType[type]} rolled over.`, NS);
|
|
1561
1556
|
}
|
|
1562
1557
|
/**
|
|
1563
1558
|
* Used to test that UART flow control is working correctly.
|
|
@@ -1639,7 +1634,7 @@ class Ezsp extends events_1.default {
|
|
|
1639
1634
|
* @param payload uint8_t * The payload of the custom frame.
|
|
1640
1635
|
*/
|
|
1641
1636
|
ezspCustomFrameHandler(payloadLength, payload) {
|
|
1642
|
-
debug(`ezspCustomFrameHandler(): callback called with: [payloadLength=${payloadLength}], [payload=${payload}]
|
|
1637
|
+
logger_1.logger.debug(`ezspCustomFrameHandler(): callback called with: [payloadLength=${payloadLength}], [payload=${payload}]`, NS);
|
|
1643
1638
|
}
|
|
1644
1639
|
/**
|
|
1645
1640
|
* Returns the EUI64 ID of the local node.
|
|
@@ -1767,7 +1762,7 @@ class Ezsp extends events_1.default {
|
|
|
1767
1762
|
* @param status Stack status
|
|
1768
1763
|
*/
|
|
1769
1764
|
ezspStackStatusHandler(status) {
|
|
1770
|
-
debug(`ezspStackStatusHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]
|
|
1765
|
+
logger_1.logger.debug(`ezspStackStatusHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`, NS);
|
|
1771
1766
|
this.emit(EzspEvents.STACK_STATUS, status);
|
|
1772
1767
|
}
|
|
1773
1768
|
/**
|
|
@@ -1809,8 +1804,8 @@ class Ezsp extends events_1.default {
|
|
|
1809
1804
|
* @param maxRssiValue int8_t The maximum RSSI value found on the channel.
|
|
1810
1805
|
*/
|
|
1811
1806
|
ezspEnergyScanResultHandler(channel, maxRssiValue) {
|
|
1812
|
-
debug(`ezspEnergyScanResultHandler(): callback called with: [channel=${channel}], [maxRssiValue=${maxRssiValue}]
|
|
1813
|
-
|
|
1807
|
+
logger_1.logger.debug(`ezspEnergyScanResultHandler(): callback called with: [channel=${channel}], [maxRssiValue=${maxRssiValue}]`, NS);
|
|
1808
|
+
logger_1.logger.info(`Energy scan for channel ${channel} reports max RSSI value at ${maxRssiValue} dBm.`, NS);
|
|
1814
1809
|
}
|
|
1815
1810
|
/**
|
|
1816
1811
|
* Callback
|
|
@@ -1821,8 +1816,8 @@ class Ezsp extends events_1.default {
|
|
|
1821
1816
|
* @param lastHopRssi int8_t The energy level (in units of dBm) observed during the reception.
|
|
1822
1817
|
*/
|
|
1823
1818
|
ezspNetworkFoundHandler(networkFound, lastHopLqi, lastHopRssi) {
|
|
1824
|
-
debug(`ezspNetworkFoundHandler(): callback called with: [networkFound=${networkFound}], `
|
|
1825
|
-
+ `[lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}]
|
|
1819
|
+
logger_1.logger.debug(`ezspNetworkFoundHandler(): callback called with: [networkFound=${JSON.stringify(networkFound)}], `
|
|
1820
|
+
+ `[lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}]`, NS);
|
|
1826
1821
|
}
|
|
1827
1822
|
/**
|
|
1828
1823
|
* Callback
|
|
@@ -1833,7 +1828,7 @@ class Ezsp extends events_1.default {
|
|
|
1833
1828
|
* error conditions signify a failure to scan on the channel specified.
|
|
1834
1829
|
*/
|
|
1835
1830
|
ezspScanCompleteHandler(channel, status) {
|
|
1836
|
-
debug(`ezspScanCompleteHandler(): callback called with: [channel=${channel}], [status=${enums_1.EmberStatus[status]}]
|
|
1831
|
+
logger_1.logger.debug(`ezspScanCompleteHandler(): callback called with: [channel=${channel}], [status=${enums_1.EmberStatus[status]}]`, NS);
|
|
1837
1832
|
}
|
|
1838
1833
|
/**
|
|
1839
1834
|
* Callback
|
|
@@ -1843,7 +1838,7 @@ class Ezsp extends events_1.default {
|
|
|
1843
1838
|
* @param channel uint8_t The channel that the unused panID was found on.
|
|
1844
1839
|
*/
|
|
1845
1840
|
ezspUnusedPanIdFoundHandler(panId, channel) {
|
|
1846
|
-
debug(`ezspUnusedPanIdFoundHandler(): callback called with: [panId=${panId}], [channel=${channel}]
|
|
1841
|
+
logger_1.logger.debug(`ezspUnusedPanIdFoundHandler(): callback called with: [panId=${panId}], [channel=${channel}]`, NS);
|
|
1847
1842
|
}
|
|
1848
1843
|
/**
|
|
1849
1844
|
* This function starts a series of scans which will return an available panId.
|
|
@@ -1933,7 +1928,7 @@ class Ezsp extends events_1.default {
|
|
|
1933
1928
|
this.startCommand(enums_2.EzspFrameID.JOIN_NETWORK_DIRECTLY);
|
|
1934
1929
|
this.buffalo.writeUInt8(localNodeType);
|
|
1935
1930
|
this.buffalo.writeEmberBeaconData(beacon);
|
|
1936
|
-
this.buffalo.
|
|
1931
|
+
this.buffalo.writeInt8(radioTxPower);
|
|
1937
1932
|
this.buffalo.writeUInt8(clearBeaconsAfterNetworkUp ? 1 : 0);
|
|
1938
1933
|
const sendStatus = await this.sendCommand();
|
|
1939
1934
|
if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
|
|
@@ -2014,8 +2009,8 @@ class Ezsp extends events_1.default {
|
|
|
2014
2009
|
* @param childType The node type of the child.
|
|
2015
2010
|
*/
|
|
2016
2011
|
ezspChildJoinHandler(index, joining, childId, childEui64, childType) {
|
|
2017
|
-
debug(`ezspChildJoinHandler(): callback called with: [index=${index}], [joining=${joining}], `
|
|
2018
|
-
+ `[childId=${childId}], [childEui64=${childEui64}], [childType=${childType}]
|
|
2012
|
+
logger_1.logger.debug(`ezspChildJoinHandler(): callback called with: [index=${index}], [joining=${joining}], `
|
|
2013
|
+
+ `[childId=${childId}], [childEui64=${childEui64}], [childType=${childType}]`, NS);
|
|
2019
2014
|
}
|
|
2020
2015
|
/**
|
|
2021
2016
|
* Sends a ZDO energy scan request. This request may only be sent by the current
|
|
@@ -2340,7 +2335,7 @@ class Ezsp extends events_1.default {
|
|
|
2340
2335
|
*/
|
|
2341
2336
|
async ezspSetRadioPower(power) {
|
|
2342
2337
|
this.startCommand(enums_2.EzspFrameID.SET_RADIO_POWER);
|
|
2343
|
-
this.buffalo.
|
|
2338
|
+
this.buffalo.writeInt8(power);
|
|
2344
2339
|
const sendStatus = await this.sendCommand();
|
|
2345
2340
|
if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
|
|
2346
2341
|
throw new Error(enums_1.EzspStatus[sendStatus]);
|
|
@@ -2460,7 +2455,7 @@ class Ezsp extends events_1.default {
|
|
|
2460
2455
|
this.buffalo.writeUInt8(phyIndex);
|
|
2461
2456
|
this.buffalo.writeUInt8(page);
|
|
2462
2457
|
this.buffalo.writeUInt8(channel);
|
|
2463
|
-
this.buffalo.
|
|
2458
|
+
this.buffalo.writeInt8(power);
|
|
2464
2459
|
this.buffalo.writeUInt8(bitmask);
|
|
2465
2460
|
const sendStatus = await this.sendCommand();
|
|
2466
2461
|
if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
|
|
@@ -2500,7 +2495,7 @@ class Ezsp extends events_1.default {
|
|
|
2500
2495
|
async ezspMultiPhySetRadioPower(phyIndex, power) {
|
|
2501
2496
|
this.startCommand(enums_2.EzspFrameID.MULTI_PHY_SET_RADIO_POWER);
|
|
2502
2497
|
this.buffalo.writeUInt8(phyIndex);
|
|
2503
|
-
this.buffalo.
|
|
2498
|
+
this.buffalo.writeInt8(power);
|
|
2504
2499
|
const sendStatus = await this.sendCommand();
|
|
2505
2500
|
if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
|
|
2506
2501
|
throw new Error(enums_1.EzspStatus[sendStatus]);
|
|
@@ -2616,7 +2611,7 @@ class Ezsp extends events_1.default {
|
|
|
2616
2611
|
throw new Error(enums_1.EzspStatus[sendStatus]);
|
|
2617
2612
|
}
|
|
2618
2613
|
const status = this.buffalo.readUInt8();
|
|
2619
|
-
const arrayOfDeviceDutyCycles = this.buffalo.readListUInt8(
|
|
2614
|
+
const arrayOfDeviceDutyCycles = this.buffalo.readListUInt8(134);
|
|
2620
2615
|
return [status, arrayOfDeviceDutyCycles];
|
|
2621
2616
|
}
|
|
2622
2617
|
/**
|
|
@@ -2630,8 +2625,8 @@ class Ezsp extends events_1.default {
|
|
|
2630
2625
|
* The first entry always be the local stack's nodeId, and thus the total aggregate duty cycle for the device.
|
|
2631
2626
|
*/
|
|
2632
2627
|
ezspDutyCycleHandler(channelPage, channel, state, totalDevices, arrayOfDeviceDutyCycles) {
|
|
2633
|
-
debug(`ezspDutyCycleHandler(): callback called with: [channelPage=${channelPage}], [channel=${channel}], `
|
|
2634
|
-
+ `[state=${state}], [totalDevices=${totalDevices}], [arrayOfDeviceDutyCycles=${arrayOfDeviceDutyCycles}]
|
|
2628
|
+
logger_1.logger.debug(`ezspDutyCycleHandler(): callback called with: [channelPage=${channelPage}], [channel=${channel}], `
|
|
2629
|
+
+ `[state=${state}], [totalDevices=${totalDevices}], [arrayOfDeviceDutyCycles=${arrayOfDeviceDutyCycles}]`, NS);
|
|
2635
2630
|
}
|
|
2636
2631
|
/**
|
|
2637
2632
|
* Returns the first beacon in the cache. Beacons are stored in cache after
|
|
@@ -2842,8 +2837,8 @@ class Ezsp extends events_1.default {
|
|
|
2842
2837
|
* @param policyDecision EMBER_SUCCESS if the binding was added to the table and any other status if not.
|
|
2843
2838
|
*/
|
|
2844
2839
|
ezspRemoteSetBindingHandler(entry, index, policyDecision) {
|
|
2845
|
-
debug(`ezspRemoteSetBindingHandler(): callback called with: [entry=${entry}], [index=${index}], `
|
|
2846
|
-
+ `[policyDecision=${enums_1.EmberStatus[policyDecision]}]
|
|
2840
|
+
logger_1.logger.debug(`ezspRemoteSetBindingHandler(): callback called with: [entry=${entry}], [index=${index}], `
|
|
2841
|
+
+ `[policyDecision=${enums_1.EmberStatus[policyDecision]}]`, NS);
|
|
2847
2842
|
}
|
|
2848
2843
|
/**
|
|
2849
2844
|
* Callback
|
|
@@ -2855,7 +2850,7 @@ class Ezsp extends events_1.default {
|
|
|
2855
2850
|
* @param policyDecision EMBER_SUCCESS if the binding was removed from the table and any other status if not.
|
|
2856
2851
|
*/
|
|
2857
2852
|
ezspRemoteDeleteBindingHandler(index, policyDecision) {
|
|
2858
|
-
debug(`ezspRemoteDeleteBindingHandler(): callback called with: [index=${index}], [policyDecision=${enums_1.EmberStatus[policyDecision]}]
|
|
2853
|
+
logger_1.logger.debug(`ezspRemoteDeleteBindingHandler(): callback called with: [index=${index}], [policyDecision=${enums_1.EmberStatus[policyDecision]}]`, NS);
|
|
2859
2854
|
}
|
|
2860
2855
|
//-----------------------------------------------------------------------------
|
|
2861
2856
|
// Messaging Frames
|
|
@@ -3096,9 +3091,9 @@ class Ezsp extends events_1.default {
|
|
|
3096
3091
|
* for the messageContentsInCallback policy is messageTagAndContentsInCallback.
|
|
3097
3092
|
*/
|
|
3098
3093
|
ezspMessageSentHandler(type, indexOrDestination, apsFrame, messageTag, status, messageContents) {
|
|
3099
|
-
debug(`ezspMessageSentHandler(): callback called with: [type=${enums_1.EmberOutgoingMessageType[type]}], [indexOrDestination=${indexOrDestination}], `
|
|
3094
|
+
logger_1.logger.debug(`ezspMessageSentHandler(): callback called with: [type=${enums_1.EmberOutgoingMessageType[type]}], [indexOrDestination=${indexOrDestination}], `
|
|
3100
3095
|
+ `[apsFrame=${JSON.stringify(apsFrame)}], [messageTag=${messageTag}], [status=${enums_1.EmberStatus[status]}], `
|
|
3101
|
-
+ `[messageContents=${messageContents.toString('hex')}]
|
|
3096
|
+
+ `[messageContents=${messageContents.toString('hex')}]`, NS);
|
|
3102
3097
|
if (status === enums_1.EmberStatus.DELIVERY_FAILED) {
|
|
3103
3098
|
// no ACK was received from the destination
|
|
3104
3099
|
this.emit(EzspEvents.MESSAGE_SENT_DELIVERY_FAILED, type, indexOrDestination, apsFrame, messageTag);
|
|
@@ -3185,7 +3180,7 @@ class Ezsp extends events_1.default {
|
|
|
3185
3180
|
* - EMBER_MAC_NO_ACK_RECEIVED - The poll message was sent but not acknowledged by the parent.
|
|
3186
3181
|
*/
|
|
3187
3182
|
ezspPollCompleteHandler(status) {
|
|
3188
|
-
debug(`ezspPollCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]
|
|
3183
|
+
logger_1.logger.debug(`ezspPollCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`, NS);
|
|
3189
3184
|
}
|
|
3190
3185
|
/**
|
|
3191
3186
|
* Callback
|
|
@@ -3194,7 +3189,7 @@ class Ezsp extends events_1.default {
|
|
|
3194
3189
|
* @param transmitExpected True if transmit is expected, false otherwise.
|
|
3195
3190
|
*/
|
|
3196
3191
|
ezspPollHandler(childId, transmitExpected) {
|
|
3197
|
-
debug(`ezspPollHandler(): callback called with: [childId=${childId}], [transmitExpected=${transmitExpected}]
|
|
3192
|
+
logger_1.logger.debug(`ezspPollHandler(): callback called with: [childId=${childId}], [transmitExpected=${transmitExpected}]`, NS);
|
|
3198
3193
|
}
|
|
3199
3194
|
/**
|
|
3200
3195
|
* Callback
|
|
@@ -3205,7 +3200,7 @@ class Ezsp extends events_1.default {
|
|
|
3205
3200
|
* @param senderEui64 The EUI64 of the sender
|
|
3206
3201
|
*/
|
|
3207
3202
|
ezspIncomingSenderEui64Handler(senderEui64) {
|
|
3208
|
-
debug(`ezspIncomingSenderEui64Handler(): callback called with: [senderEui64=${senderEui64}]
|
|
3203
|
+
logger_1.logger.debug(`ezspIncomingSenderEui64Handler(): callback called with: [senderEui64=${senderEui64}]`, NS);
|
|
3209
3204
|
}
|
|
3210
3205
|
/**
|
|
3211
3206
|
* Callback
|
|
@@ -3222,17 +3217,16 @@ class Ezsp extends events_1.default {
|
|
|
3222
3217
|
* @param messageContents uint8_t * The incoming message.
|
|
3223
3218
|
*/
|
|
3224
3219
|
ezspIncomingMessageHandler(type, apsFrame, lastHopLqi, lastHopRssi, sender, bindingIndex, addressIndex, messageContents) {
|
|
3225
|
-
debug(`ezspIncomingMessageHandler(): callback called with: [type=${enums_1.EmberIncomingMessageType[type]}], [apsFrame=${JSON.stringify(apsFrame)}], `
|
|
3220
|
+
logger_1.logger.debug(`ezspIncomingMessageHandler(): callback called with: [type=${enums_1.EmberIncomingMessageType[type]}], [apsFrame=${JSON.stringify(apsFrame)}], `
|
|
3226
3221
|
+ `[lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}], [sender=${sender}], [bindingIndex=${bindingIndex}], `
|
|
3227
|
-
+ `[addressIndex=${addressIndex}], [messageContents=${messageContents.toString('hex')}]
|
|
3228
|
-
// from protocol\zigbee\app\util\zigbee-framework\zigbee-device-host.h
|
|
3222
|
+
+ `[addressIndex=${addressIndex}], [messageContents=${messageContents.toString('hex')}]`, NS);
|
|
3229
3223
|
if (apsFrame.profileId === zdo_1.ZDO_PROFILE_ID) {
|
|
3230
3224
|
const zdoBuffalo = new buffalo_1.EzspBuffalo(messageContents, zdo_1.ZDO_MESSAGE_OVERHEAD); // set pos to skip `transaction sequence number`
|
|
3231
3225
|
switch (apsFrame.clusterId) {
|
|
3232
3226
|
case zdo_1.IEEE_ADDRESS_RESPONSE: {
|
|
3233
3227
|
const status = zdoBuffalo.readUInt8();
|
|
3234
3228
|
if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
|
|
3235
|
-
debug(`<=== [ZDO IEEE_ADDRESS_RESPONSE status=${status}]
|
|
3229
|
+
logger_1.logger.debug(`<=== [ZDO IEEE_ADDRESS_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3236
3230
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
|
|
3237
3231
|
}
|
|
3238
3232
|
else {
|
|
@@ -3256,11 +3250,11 @@ class Ezsp extends events_1.default {
|
|
|
3256
3250
|
if (zdoBuffalo.isMore()) {
|
|
3257
3251
|
assocDevCount = zdoBuffalo.readUInt8();
|
|
3258
3252
|
startIndex = zdoBuffalo.readUInt8();
|
|
3259
|
-
assocDevList = zdoBuffalo.readListUInt16(
|
|
3253
|
+
assocDevList = zdoBuffalo.readListUInt16(assocDevCount);
|
|
3260
3254
|
}
|
|
3261
|
-
debug(`<=== [ZDO IEEE_ADDRESS_RESPONSE status=${status} eui64=${eui64} nodeId=${nodeId}
|
|
3262
|
-
+ `assocDevList=${assocDevList}]
|
|
3263
|
-
debug(`<=== [ZDO IEEE_ADDRESS_RESPONSE] Support not implemented upstream
|
|
3255
|
+
logger_1.logger.debug(`<=== [ZDO IEEE_ADDRESS_RESPONSE status=${zdo_1.EmberZdoStatus[status]} eui64=${eui64} nodeId=${nodeId} `
|
|
3256
|
+
+ `startIndex=${startIndex} assocDevList=${assocDevList}]`, NS);
|
|
3257
|
+
logger_1.logger.debug(`<=== [ZDO IEEE_ADDRESS_RESPONSE] Support not implemented upstream`, NS);
|
|
3264
3258
|
const payload = { eui64, nodeId, assocDevList };
|
|
3265
3259
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
|
|
3266
3260
|
}
|
|
@@ -3269,7 +3263,7 @@ class Ezsp extends events_1.default {
|
|
|
3269
3263
|
case zdo_1.NETWORK_ADDRESS_RESPONSE: {
|
|
3270
3264
|
const status = zdoBuffalo.readUInt8();
|
|
3271
3265
|
if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
|
|
3272
|
-
debug(`<=== [ZDO NETWORK_ADDRESS_RESPONSE status=${status}]
|
|
3266
|
+
logger_1.logger.debug(`<=== [ZDO NETWORK_ADDRESS_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3273
3267
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
|
|
3274
3268
|
}
|
|
3275
3269
|
else {
|
|
@@ -3293,10 +3287,10 @@ class Ezsp extends events_1.default {
|
|
|
3293
3287
|
if (zdoBuffalo.isMore()) {
|
|
3294
3288
|
assocDevCount = zdoBuffalo.readUInt8();
|
|
3295
3289
|
startIndex = zdoBuffalo.readUInt8();
|
|
3296
|
-
assocDevList = zdoBuffalo.readListUInt16(
|
|
3290
|
+
assocDevList = zdoBuffalo.readListUInt16(assocDevCount);
|
|
3297
3291
|
}
|
|
3298
|
-
debug(`<=== [ZDO NETWORK_ADDRESS_RESPONSE status=${status} eui64=${eui64} nodeId=${nodeId}
|
|
3299
|
-
+ `assocDevList=${assocDevList}]
|
|
3292
|
+
logger_1.logger.debug(`<=== [ZDO NETWORK_ADDRESS_RESPONSE status=${zdo_1.EmberZdoStatus[status]} eui64=${eui64} nodeId=${nodeId} `
|
|
3293
|
+
+ `startIndex=${startIndex} assocDevList=${assocDevList}]`, NS);
|
|
3300
3294
|
const payload = { eui64, nodeId, assocDevList };
|
|
3301
3295
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
|
|
3302
3296
|
}
|
|
@@ -3305,15 +3299,15 @@ class Ezsp extends events_1.default {
|
|
|
3305
3299
|
case zdo_1.MATCH_DESCRIPTORS_RESPONSE: {
|
|
3306
3300
|
const status = zdoBuffalo.readUInt8();
|
|
3307
3301
|
if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
|
|
3308
|
-
debug(`<=== [ZDO MATCH_DESCRIPTORS_RESPONSE status=${status}]
|
|
3302
|
+
logger_1.logger.debug(`<=== [ZDO MATCH_DESCRIPTORS_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3309
3303
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
|
|
3310
3304
|
}
|
|
3311
3305
|
else {
|
|
3312
3306
|
const nodeId = zdoBuffalo.readUInt16();
|
|
3313
3307
|
const endpointCount = zdoBuffalo.readUInt8();
|
|
3314
|
-
const endpointList = zdoBuffalo.readListUInt8(
|
|
3315
|
-
debug(`<=== [ZDO MATCH_DESCRIPTORS_RESPONSE status=${status} nodeId=${nodeId} endpointList=${endpointList}]
|
|
3316
|
-
debug(`<=== [ZDO MATCH_DESCRIPTORS_RESPONSE] Support not implemented upstream
|
|
3308
|
+
const endpointList = zdoBuffalo.readListUInt8(endpointCount);
|
|
3309
|
+
logger_1.logger.debug(`<=== [ZDO MATCH_DESCRIPTORS_RESPONSE status=${zdo_1.EmberZdoStatus[status]} nodeId=${nodeId} endpointList=${endpointList}]`, NS);
|
|
3310
|
+
logger_1.logger.debug(`<=== [ZDO MATCH_DESCRIPTORS_RESPONSE] Support not implemented upstream`, NS);
|
|
3317
3311
|
const payload = { nodeId, endpointList };
|
|
3318
3312
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
|
|
3319
3313
|
}
|
|
@@ -3322,7 +3316,7 @@ class Ezsp extends events_1.default {
|
|
|
3322
3316
|
case zdo_1.SIMPLE_DESCRIPTOR_RESPONSE: {
|
|
3323
3317
|
const status = zdoBuffalo.readUInt8();
|
|
3324
3318
|
if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
|
|
3325
|
-
debug(`<=== [ZDO SIMPLE_DESCRIPTOR_RESPONSE status=${status}]
|
|
3319
|
+
logger_1.logger.debug(`<=== [ZDO SIMPLE_DESCRIPTOR_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3326
3320
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
|
|
3327
3321
|
}
|
|
3328
3322
|
else {
|
|
@@ -3335,11 +3329,12 @@ class Ezsp extends events_1.default {
|
|
|
3335
3329
|
// values 0000-1111, others reserved
|
|
3336
3330
|
const deviceVersion = zdoBuffalo.readUInt8();
|
|
3337
3331
|
const inClusterCount = zdoBuffalo.readUInt8();
|
|
3338
|
-
const inClusterList = zdoBuffalo.readListUInt16(
|
|
3332
|
+
const inClusterList = zdoBuffalo.readListUInt16(inClusterCount);
|
|
3339
3333
|
const outClusterCount = zdoBuffalo.readUInt8();
|
|
3340
|
-
const outClusterList = zdoBuffalo.readListUInt16(
|
|
3341
|
-
debug(`<=== [ZDO SIMPLE_DESCRIPTOR_RESPONSE status=${status} nodeId=${nodeId} endpoint=${endpoint}
|
|
3342
|
-
+ `deviceId=${deviceId} deviceVersion=${deviceVersion} inClusterList=${inClusterList}
|
|
3334
|
+
const outClusterList = zdoBuffalo.readListUInt16(outClusterCount);
|
|
3335
|
+
logger_1.logger.debug(`<=== [ZDO SIMPLE_DESCRIPTOR_RESPONSE status=${zdo_1.EmberZdoStatus[status]} nodeId=${nodeId} endpoint=${endpoint} `
|
|
3336
|
+
+ `profileId=${profileId} deviceId=${deviceId} deviceVersion=${deviceVersion} inClusterList=${inClusterList} `
|
|
3337
|
+
+ `outClusterList=${outClusterList}]`, NS);
|
|
3343
3338
|
const payload = {
|
|
3344
3339
|
nodeId,
|
|
3345
3340
|
endpoint,
|
|
@@ -3355,7 +3350,7 @@ class Ezsp extends events_1.default {
|
|
|
3355
3350
|
case zdo_1.NODE_DESCRIPTOR_RESPONSE: {
|
|
3356
3351
|
const status = zdoBuffalo.readUInt8();
|
|
3357
3352
|
if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
|
|
3358
|
-
debug(`<=== [ZDO NODE_DESCRIPTOR_RESPONSE status=${status}]
|
|
3353
|
+
logger_1.logger.debug(`<=== [ZDO NODE_DESCRIPTOR_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3359
3354
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
|
|
3360
3355
|
}
|
|
3361
3356
|
else {
|
|
@@ -3410,9 +3405,9 @@ class Ezsp extends events_1.default {
|
|
|
3410
3405
|
// in bits: [extended active endpoint list available: 1] [extended simple descriptor list available: 1] [reserved: 6]
|
|
3411
3406
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3412
3407
|
const descCapFlags = zdoBuffalo.readUInt8();
|
|
3413
|
-
debug(`<=== [ZDO NODE_DESCRIPTOR_RESPONSE status=${status} nodeId=${nodeId} logicalType=${logicalType} `
|
|
3408
|
+
logger_1.logger.debug(`<=== [ZDO NODE_DESCRIPTOR_RESPONSE status=${zdo_1.EmberZdoStatus[status]} nodeId=${nodeId} logicalType=${logicalType} `
|
|
3414
3409
|
+ `freqBand=${freqBand} macCapFlags=${(0, math_1.byteToBits)(macCapFlags)} manufacturerCode=${manufacturerCode} maxBufSize=${maxBufSize} `
|
|
3415
|
-
+ `maxIncTxSize=${maxIncTxSize} stackRevision=${stackRevision} maxOutTxSize=${maxOutTxSize}]
|
|
3410
|
+
+ `maxIncTxSize=${maxIncTxSize} stackRevision=${stackRevision} maxOutTxSize=${maxOutTxSize}]`, NS);
|
|
3416
3411
|
const payload = {
|
|
3417
3412
|
nodeId,
|
|
3418
3413
|
logicalType,
|
|
@@ -3427,7 +3422,7 @@ class Ezsp extends events_1.default {
|
|
|
3427
3422
|
case zdo_1.POWER_DESCRIPTOR_RESPONSE: {
|
|
3428
3423
|
const status = zdoBuffalo.readUInt8();
|
|
3429
3424
|
if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
|
|
3430
|
-
debug(`<=== [ZDO POWER_DESCRIPTOR_RESPONSE status=${status}]
|
|
3425
|
+
logger_1.logger.debug(`<=== [ZDO POWER_DESCRIPTOR_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3431
3426
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
|
|
3432
3427
|
}
|
|
3433
3428
|
else {
|
|
@@ -3451,10 +3446,10 @@ class Ezsp extends events_1.default {
|
|
|
3451
3446
|
// 1100 == 100%
|
|
3452
3447
|
// All other values reserved
|
|
3453
3448
|
const [currentPowerSource, currentPowerSourceLevel] = (0, math_1.lowHighBits)(zdoBuffalo.readUInt8());
|
|
3454
|
-
debug(`<=== [ZDO POWER_DESCRIPTOR_RESPONSE status=${status} nodeId=${nodeId}
|
|
3455
|
-
+ `availPowerSources=${availPowerSources} currentPowerSource=${currentPowerSource} `
|
|
3456
|
-
+ `currentPowerSourceLevel=${currentPowerSourceLevel}]
|
|
3457
|
-
debug(`<=== [ZDO POWER_DESCRIPTOR_RESPONSE] Support not implemented upstream
|
|
3449
|
+
logger_1.logger.debug(`<=== [ZDO POWER_DESCRIPTOR_RESPONSE status=${zdo_1.EmberZdoStatus[status]} nodeId=${nodeId} `
|
|
3450
|
+
+ `currentPowerMode=${currentPowerMode} availPowerSources=${availPowerSources} currentPowerSource=${currentPowerSource} `
|
|
3451
|
+
+ `currentPowerSourceLevel=${currentPowerSourceLevel}]`, NS);
|
|
3452
|
+
logger_1.logger.debug(`<=== [ZDO POWER_DESCRIPTOR_RESPONSE] Support not implemented upstream`, NS);
|
|
3458
3453
|
const payload = {
|
|
3459
3454
|
nodeId,
|
|
3460
3455
|
currentPowerMode,
|
|
@@ -3469,14 +3464,14 @@ class Ezsp extends events_1.default {
|
|
|
3469
3464
|
case zdo_1.ACTIVE_ENDPOINTS_RESPONSE: {
|
|
3470
3465
|
const status = zdoBuffalo.readUInt8();
|
|
3471
3466
|
if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
|
|
3472
|
-
debug(`<=== [ZDO ACTIVE_ENDPOINTS_RESPONSE status=${status}]
|
|
3467
|
+
logger_1.logger.debug(`<=== [ZDO ACTIVE_ENDPOINTS_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3473
3468
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
|
|
3474
3469
|
}
|
|
3475
3470
|
else {
|
|
3476
3471
|
const nodeId = zdoBuffalo.readUInt16();
|
|
3477
3472
|
const endpointCount = zdoBuffalo.readUInt8();
|
|
3478
|
-
const endpointList = zdoBuffalo.readListUInt8(
|
|
3479
|
-
debug(`<=== [ZDO ACTIVE_ENDPOINTS_RESPONSE status=${status} nodeId=${nodeId} endpointList=${endpointList}]
|
|
3473
|
+
const endpointList = zdoBuffalo.readListUInt8(endpointCount);
|
|
3474
|
+
logger_1.logger.debug(`<=== [ZDO ACTIVE_ENDPOINTS_RESPONSE status=${zdo_1.EmberZdoStatus[status]} nodeId=${nodeId} endpointList=${endpointList}]`, NS);
|
|
3480
3475
|
const payload = { nodeId, endpointList };
|
|
3481
3476
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
|
|
3482
3477
|
}
|
|
@@ -3485,7 +3480,7 @@ class Ezsp extends events_1.default {
|
|
|
3485
3480
|
case zdo_1.LQI_TABLE_RESPONSE: {
|
|
3486
3481
|
const status = zdoBuffalo.readUInt8();
|
|
3487
3482
|
if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
|
|
3488
|
-
debug(`<=== [ZDO LQI_TABLE_RESPONSE status=${status}]
|
|
3483
|
+
logger_1.logger.debug(`<=== [ZDO LQI_TABLE_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3489
3484
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
|
|
3490
3485
|
}
|
|
3491
3486
|
else {
|
|
@@ -3499,7 +3494,7 @@ class Ezsp extends events_1.default {
|
|
|
3499
3494
|
// of the elements in the remote device's neighbor table, including the device address and assoc. LQI
|
|
3500
3495
|
const entryList = [];
|
|
3501
3496
|
for (let i = 0; i < entryCount; i++) {
|
|
3502
|
-
const extendedPanId = zdoBuffalo.readListUInt8(
|
|
3497
|
+
const extendedPanId = zdoBuffalo.readListUInt8(consts_1.EXTENDED_PAN_ID_SIZE);
|
|
3503
3498
|
const eui64 = zdoBuffalo.readIeeeAddr();
|
|
3504
3499
|
const nodeId = zdoBuffalo.readUInt16();
|
|
3505
3500
|
const deviceTypeByte = zdoBuffalo.readUInt8();
|
|
@@ -3520,8 +3515,8 @@ class Ezsp extends events_1.default {
|
|
|
3520
3515
|
lqi,
|
|
3521
3516
|
});
|
|
3522
3517
|
}
|
|
3523
|
-
debug(`<=== [ZDO LQI_TABLE_RESPONSE status=${status} neighborTableEntries=${neighborTableEntries}
|
|
3524
|
-
+ `entryCount=${entryCount} entryList=${JSON.stringify(entryList)}]
|
|
3518
|
+
logger_1.logger.debug(`<=== [ZDO LQI_TABLE_RESPONSE status=${zdo_1.EmberZdoStatus[status]} neighborTableEntries=${neighborTableEntries} `
|
|
3519
|
+
+ `startIndex=${startIndex} entryCount=${entryCount} entryList=${JSON.stringify(entryList)}]`, NS);
|
|
3525
3520
|
const payload = { neighborTableEntries, entryList };
|
|
3526
3521
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
|
|
3527
3522
|
}
|
|
@@ -3530,7 +3525,7 @@ class Ezsp extends events_1.default {
|
|
|
3530
3525
|
case zdo_1.ROUTING_TABLE_RESPONSE: {
|
|
3531
3526
|
const status = zdoBuffalo.readUInt8();
|
|
3532
3527
|
if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
|
|
3533
|
-
debug(`<=== [ZDO ROUTING_TABLE_RESPONSE status=${status}]
|
|
3528
|
+
logger_1.logger.debug(`<=== [ZDO ROUTING_TABLE_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3534
3529
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
|
|
3535
3530
|
}
|
|
3536
3531
|
else {
|
|
@@ -3557,8 +3552,8 @@ class Ezsp extends events_1.default {
|
|
|
3557
3552
|
nextHopAddress,
|
|
3558
3553
|
});
|
|
3559
3554
|
}
|
|
3560
|
-
debug(`<=== [ZDO ROUTING_TABLE_RESPONSE status=${status} routingTableEntries=${routingTableEntries}
|
|
3561
|
-
+ `entryCount=${entryCount} entryList=${JSON.stringify(entryList)}]
|
|
3555
|
+
logger_1.logger.debug(`<=== [ZDO ROUTING_TABLE_RESPONSE status=${zdo_1.EmberZdoStatus[status]} routingTableEntries=${routingTableEntries} `
|
|
3556
|
+
+ `startIndex=${startIndex} entryCount=${entryCount} entryList=${JSON.stringify(entryList)}]`, NS);
|
|
3562
3557
|
const payload = { routingTableEntries, entryList };
|
|
3563
3558
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
|
|
3564
3559
|
}
|
|
@@ -3567,7 +3562,7 @@ class Ezsp extends events_1.default {
|
|
|
3567
3562
|
case zdo_1.BINDING_TABLE_RESPONSE: {
|
|
3568
3563
|
const status = zdoBuffalo.readUInt8();
|
|
3569
3564
|
if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
|
|
3570
|
-
debug(`<=== [ZDO BINDING_TABLE_RESPONSE status=${status}]
|
|
3565
|
+
logger_1.logger.debug(`<=== [ZDO BINDING_TABLE_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3571
3566
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
|
|
3572
3567
|
}
|
|
3573
3568
|
else {
|
|
@@ -3591,9 +3586,9 @@ class Ezsp extends events_1.default {
|
|
|
3591
3586
|
destEndpoint,
|
|
3592
3587
|
});
|
|
3593
3588
|
}
|
|
3594
|
-
debug(`<=== [ZDO BINDING_TABLE_RESPONSE status=${status} bindingTableEntries=${bindingTableEntries}
|
|
3595
|
-
+ `entryCount=${entryCount} entryList=${JSON.stringify(entryList)}]
|
|
3596
|
-
debug(`<=== [ZDO BINDING_TABLE_RESPONSE] Support not implemented upstream
|
|
3589
|
+
logger_1.logger.debug(`<=== [ZDO BINDING_TABLE_RESPONSE status=${zdo_1.EmberZdoStatus[status]} bindingTableEntries=${bindingTableEntries} `
|
|
3590
|
+
+ `startIndex=${startIndex} entryCount=${entryCount} entryList=${JSON.stringify(entryList)}]`, NS);
|
|
3591
|
+
logger_1.logger.debug(`<=== [ZDO BINDING_TABLE_RESPONSE] Support not implemented upstream`, NS);
|
|
3597
3592
|
const payload = { bindingTableEntries, entryList };
|
|
3598
3593
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
|
|
3599
3594
|
}
|
|
@@ -3601,25 +3596,25 @@ class Ezsp extends events_1.default {
|
|
|
3601
3596
|
}
|
|
3602
3597
|
case zdo_1.BIND_RESPONSE: {
|
|
3603
3598
|
const status = zdoBuffalo.readUInt8();
|
|
3604
|
-
debug(`<=== [ZDO BIND_RESPONSE status=${status}]
|
|
3599
|
+
logger_1.logger.debug(`<=== [ZDO BIND_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3605
3600
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame);
|
|
3606
3601
|
break;
|
|
3607
3602
|
}
|
|
3608
3603
|
case zdo_1.UNBIND_RESPONSE: {
|
|
3609
3604
|
const status = zdoBuffalo.readUInt8();
|
|
3610
|
-
debug(`<=== [ZDO UNBIND_RESPONSE status=${status}]
|
|
3605
|
+
logger_1.logger.debug(`<=== [ZDO UNBIND_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3611
3606
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame);
|
|
3612
3607
|
break;
|
|
3613
3608
|
}
|
|
3614
3609
|
case zdo_1.LEAVE_RESPONSE: {
|
|
3615
3610
|
const status = zdoBuffalo.readUInt8();
|
|
3616
|
-
debug(`<=== [ZDO LEAVE_RESPONSE status=${status}]
|
|
3611
|
+
logger_1.logger.debug(`<=== [ZDO LEAVE_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3617
3612
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame);
|
|
3618
3613
|
break;
|
|
3619
3614
|
}
|
|
3620
3615
|
case zdo_1.PERMIT_JOINING_RESPONSE: {
|
|
3621
3616
|
const status = zdoBuffalo.readUInt8();
|
|
3622
|
-
debug(`<=== [ZDO PERMIT_JOINING_RESPONSE status=${status}]
|
|
3617
|
+
logger_1.logger.debug(`<=== [ZDO PERMIT_JOINING_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3623
3618
|
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame);
|
|
3624
3619
|
break;
|
|
3625
3620
|
}
|
|
@@ -3628,14 +3623,35 @@ class Ezsp extends events_1.default {
|
|
|
3628
3623
|
const eui64 = zdoBuffalo.readIeeeAddr();
|
|
3629
3624
|
/** @see MACCapabilityFlags */
|
|
3630
3625
|
const capabilities = zdoBuffalo.readUInt8();
|
|
3631
|
-
debug(`<=== [ZDO END_DEVICE_ANNOUNCE nodeId=${nodeId} eui64=${eui64} capabilities=${(0, math_1.byteToBits)(capabilities)}]
|
|
3626
|
+
logger_1.logger.debug(`<=== [ZDO END_DEVICE_ANNOUNCE nodeId=${nodeId} eui64=${eui64} capabilities=${(0, math_1.byteToBits)(capabilities)}]`, NS);
|
|
3632
3627
|
const payload = { nodeId, eui64, capabilities: (0, math_1.getMacCapFlags)(capabilities) };
|
|
3633
3628
|
// this one gets its own event since its purpose is to pass an event up to Z2M
|
|
3634
3629
|
this.emit(EzspEvents.END_DEVICE_ANNOUNCE, sender, apsFrame, payload);
|
|
3635
3630
|
break;
|
|
3636
3631
|
}
|
|
3632
|
+
case zdo_1.PARENT_ANNOUNCE_RESPONSE: {
|
|
3633
|
+
const status = zdoBuffalo.readUInt8();
|
|
3634
|
+
if (status !== zdo_1.EmberZdoStatus.ZDP_SUCCESS) {
|
|
3635
|
+
// status should always be NOT_SUPPORTED here
|
|
3636
|
+
logger_1.logger.debug(`<=== [ZDO PARENT_ANNOUNCE_RESPONSE status=${zdo_1.EmberZdoStatus[status]}]`, NS);
|
|
3637
|
+
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, null);
|
|
3638
|
+
}
|
|
3639
|
+
else {
|
|
3640
|
+
const numberOfChildren = zdoBuffalo.readUInt8();
|
|
3641
|
+
const children = [];
|
|
3642
|
+
for (let i = 0; i < numberOfChildren; i++) {
|
|
3643
|
+
const childEui64 = zdoBuffalo.readIeeeAddr();
|
|
3644
|
+
children.push(childEui64);
|
|
3645
|
+
}
|
|
3646
|
+
logger_1.logger.debug(`<=== [ZDO PARENT_ANNOUNCE_RESPONSE status=${zdo_1.EmberZdoStatus[status]} numberOfChildren=${numberOfChildren} `
|
|
3647
|
+
+ `children=${children}]`, NS);
|
|
3648
|
+
logger_1.logger.debug(`<=== [ZDO PARENT_ANNOUNCE_RESPONSE] Support not implemented upstream`, NS);
|
|
3649
|
+
const payload = { children };
|
|
3650
|
+
this.emit(EzspEvents.ZDO_RESPONSE, status, sender, apsFrame, payload);
|
|
3651
|
+
}
|
|
3652
|
+
}
|
|
3637
3653
|
default: {
|
|
3638
|
-
|
|
3654
|
+
logger_1.logger.info(`<=== [ZDO clusterId=${apsFrame.clusterId} sender=${sender}] Support not implemented upstream.`, NS);
|
|
3639
3655
|
break;
|
|
3640
3656
|
}
|
|
3641
3657
|
}
|
|
@@ -3671,7 +3687,7 @@ class Ezsp extends events_1.default {
|
|
|
3671
3687
|
* for this discovery arrive, but the callback is made only once.
|
|
3672
3688
|
*/
|
|
3673
3689
|
ezspIncomingManyToOneRouteRequestHandler(source, longId, cost) {
|
|
3674
|
-
debug(`ezspIncomingManyToOneRouteRequestHandler(): callback called with: [source=${source}], [longId=${longId}], [cost=${cost}]
|
|
3690
|
+
logger_1.logger.debug(`ezspIncomingManyToOneRouteRequestHandler(): callback called with: [source=${source}], [longId=${longId}], [cost=${cost}]`, NS);
|
|
3675
3691
|
}
|
|
3676
3692
|
/**
|
|
3677
3693
|
* Callback
|
|
@@ -3699,7 +3715,7 @@ class Ezsp extends events_1.default {
|
|
|
3699
3715
|
* @param target The short id of the remote node.
|
|
3700
3716
|
*/
|
|
3701
3717
|
ezspIncomingRouteErrorHandler(status, target) {
|
|
3702
|
-
debug(`ezspIncomingRouteErrorHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [target=${target}]
|
|
3718
|
+
logger_1.logger.debug(`ezspIncomingRouteErrorHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [target=${target}]`, NS);
|
|
3703
3719
|
// NOTE: This can trigger immediately after removal of a device with status MAC_INDIRECT_TIMEOUT
|
|
3704
3720
|
}
|
|
3705
3721
|
/**
|
|
@@ -3716,8 +3732,8 @@ class Ezsp extends events_1.default {
|
|
|
3716
3732
|
* @param target The short ID of the remote node
|
|
3717
3733
|
*/
|
|
3718
3734
|
ezspIncomingNetworkStatusHandler(errorCode, target) {
|
|
3719
|
-
debug(`ezspIncomingNetworkStatusHandler(): callback called with: [errorCode=${enums_1.EmberStackError[errorCode]}], [target=${target}]
|
|
3720
|
-
|
|
3735
|
+
logger_1.logger.debug(`ezspIncomingNetworkStatusHandler(): callback called with: [errorCode=${enums_1.EmberStackError[errorCode]}], [target=${target}]`, NS);
|
|
3736
|
+
logger_1.logger.info(`Received network/route error ${enums_1.EmberStackError[errorCode]} for "${target}".`, NS);
|
|
3721
3737
|
}
|
|
3722
3738
|
/**
|
|
3723
3739
|
* Callback
|
|
@@ -3731,8 +3747,8 @@ class Ezsp extends events_1.default {
|
|
|
3731
3747
|
* The list is passed as uint8_t * to avoid alignment problems.
|
|
3732
3748
|
*/
|
|
3733
3749
|
ezspIncomingRouteRecordHandler(source, sourceEui, lastHopLqi, lastHopRssi, relayCount, relayList) {
|
|
3734
|
-
debug(`ezspIncomingRouteRecordHandler(): callback called with: [source=${source}], [sourceEui=${sourceEui}], `
|
|
3735
|
-
+ `[lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}], [relayCount=${relayCount}], [relayList=${relayList}]
|
|
3750
|
+
logger_1.logger.debug(`ezspIncomingRouteRecordHandler(): callback called with: [source=${source}], [sourceEui=${sourceEui}], `
|
|
3751
|
+
+ `[lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}], [relayCount=${relayCount}], [relayList=${relayList}]`, NS);
|
|
3736
3752
|
// XXX: could at least trigger a `Events.lastSeenChanged` but this is not currently being listened to at the adapter level
|
|
3737
3753
|
}
|
|
3738
3754
|
/**
|
|
@@ -4030,8 +4046,12 @@ class Ezsp extends events_1.default {
|
|
|
4030
4046
|
* @param id The short id for which a conflict was detected
|
|
4031
4047
|
*/
|
|
4032
4048
|
ezspIdConflictHandler(id) {
|
|
4033
|
-
debug(`ezspIdConflictHandler(): callback called with: [id=${id}]
|
|
4034
|
-
|
|
4049
|
+
logger_1.logger.debug(`ezspIdConflictHandler(): callback called with: [id=${id}]`, NS);
|
|
4050
|
+
logger_1.logger.warning(`An ID conflict was detected for network address "${id}". Corresponding devices kicked from the network.`, NS);
|
|
4051
|
+
// XXX: this is currently causing more problems than not doing it, so disabled for now.
|
|
4052
|
+
// devices should rejoin on ID conflict anyway, so the database isn't out of sync for very long.
|
|
4053
|
+
// hijacking the event from `ezspTrustCenterJoinHandler`, and forging a DEVICE_LEFT to avoid another event ending up doing the same logic
|
|
4054
|
+
// this.emit(EzspEvents.TRUST_CENTER_JOIN, id, null, EmberDeviceUpdate.DEVICE_LEFT, EmberJoinDecision.NO_ACTION, NULL_NODE_ID);
|
|
4035
4055
|
}
|
|
4036
4056
|
/**
|
|
4037
4057
|
* Write the current node Id, PAN ID, or Node type to the tokens
|
|
@@ -4095,8 +4115,8 @@ class Ezsp extends events_1.default {
|
|
|
4095
4115
|
* @param messageContents uint8_t * The raw message that was received.
|
|
4096
4116
|
*/
|
|
4097
4117
|
ezspMacPassthroughMessageHandler(messageType, lastHopLqi, lastHopRssi, messageContents) {
|
|
4098
|
-
debug(`ezspMacPassthroughMessageHandler(): callback called with: [messageType=${messageType}], [lastHopLqi=${lastHopLqi}], `
|
|
4099
|
-
+ `[lastHopRssi=${lastHopRssi}], [messageContents=${messageContents.toString('hex')}]
|
|
4118
|
+
logger_1.logger.debug(`ezspMacPassthroughMessageHandler(): callback called with: [messageType=${messageType}], [lastHopLqi=${lastHopLqi}], `
|
|
4119
|
+
+ `[lastHopRssi=${lastHopRssi}], [messageContents=${messageContents.toString('hex')}]`, NS);
|
|
4100
4120
|
}
|
|
4101
4121
|
/**
|
|
4102
4122
|
* Callback
|
|
@@ -4110,9 +4130,9 @@ class Ezsp extends events_1.default {
|
|
|
4110
4130
|
* @param messageContents uint8_t * The raw message that was received.
|
|
4111
4131
|
*/
|
|
4112
4132
|
ezspMacFilterMatchMessageHandler(filterIndexMatch, legacyPassthroughType, lastHopLqi, lastHopRssi, messageContents) {
|
|
4113
|
-
debug(`ezspMacFilterMatchMessageHandler(): callback called with: [filterIndexMatch=${filterIndexMatch}], `
|
|
4133
|
+
logger_1.logger.debug(`ezspMacFilterMatchMessageHandler(): callback called with: [filterIndexMatch=${filterIndexMatch}], `
|
|
4114
4134
|
+ `[legacyPassthroughType=${legacyPassthroughType}], [lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}], `
|
|
4115
|
-
+ `[messageContents=${messageContents.toString('hex')}]
|
|
4135
|
+
+ `[messageContents=${messageContents.toString('hex')}]`, NS);
|
|
4116
4136
|
// TODO: needs triple-checking, this is only valid for InterPAN messages
|
|
4117
4137
|
const msgBuffalo = new buffalo_1.EzspBuffalo(messageContents, 0);
|
|
4118
4138
|
const macFrameControl = msgBuffalo.readUInt16() & ~(consts_2.MAC_ACK_REQUIRED);
|
|
@@ -4129,7 +4149,7 @@ class Ezsp extends events_1.default {
|
|
|
4129
4149
|
destAddress = msgBuffalo.readUInt16();
|
|
4130
4150
|
}
|
|
4131
4151
|
else {
|
|
4132
|
-
debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN macFrameControl "${macFrameControl}"
|
|
4152
|
+
logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN macFrameControl "${macFrameControl}".`, NS);
|
|
4133
4153
|
return;
|
|
4134
4154
|
}
|
|
4135
4155
|
const sourcePanId = msgBuffalo.readUInt16();
|
|
@@ -4137,19 +4157,19 @@ class Ezsp extends events_1.default {
|
|
|
4137
4157
|
// Now that we know the correct MAC length, verify the interpan frame is the correct length.
|
|
4138
4158
|
let remainingLength = msgBuffalo.getBufferLength() - msgBuffalo.getPosition();
|
|
4139
4159
|
if (remainingLength < (consts_2.STUB_NWK_SIZE + consts_2.MIN_STUB_APS_SIZE)) {
|
|
4140
|
-
debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN length "${remainingLength}"
|
|
4160
|
+
logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN length "${remainingLength}".`, NS);
|
|
4141
4161
|
return;
|
|
4142
4162
|
}
|
|
4143
4163
|
const nwkFrameControl = msgBuffalo.readUInt16();
|
|
4144
4164
|
remainingLength -= 2; // read 2 more bytes before APS stuff
|
|
4145
4165
|
if (nwkFrameControl !== consts_2.STUB_NWK_FRAME_CONTROL) {
|
|
4146
|
-
debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN nwkFrameControl "${nwkFrameControl}"
|
|
4166
|
+
logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN nwkFrameControl "${nwkFrameControl}".`, NS);
|
|
4147
4167
|
return;
|
|
4148
4168
|
}
|
|
4149
4169
|
const apsFrameControl = msgBuffalo.readUInt8();
|
|
4150
4170
|
if ((apsFrameControl & ~(consts_2.INTERPAN_APS_FRAME_DELIVERY_MODE_MASK) & ~(consts_2.INTERPAN_APS_FRAME_SECURITY))
|
|
4151
4171
|
!== consts_2.INTERPAN_APS_FRAME_CONTROL_NO_DELIVERY_MODE) {
|
|
4152
|
-
debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN apsFrameControl "${apsFrameControl}"
|
|
4172
|
+
logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN apsFrameControl "${apsFrameControl}".`, NS);
|
|
4153
4173
|
return;
|
|
4154
4174
|
}
|
|
4155
4175
|
const messageType = (apsFrameControl & consts_2.INTERPAN_APS_FRAME_DELIVERY_MODE_MASK);
|
|
@@ -4158,28 +4178,28 @@ class Ezsp extends events_1.default {
|
|
|
4158
4178
|
case enums_1.EmberInterpanMessageType.UNICAST:
|
|
4159
4179
|
case enums_1.EmberInterpanMessageType.BROADCAST: {
|
|
4160
4180
|
if (remainingLength < consts_2.INTERPAN_APS_UNICAST_BROADCAST_SIZE) {
|
|
4161
|
-
debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN length "${remainingLength}"
|
|
4181
|
+
logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN length "${remainingLength}".`, NS);
|
|
4162
4182
|
return;
|
|
4163
4183
|
}
|
|
4164
4184
|
break;
|
|
4165
4185
|
}
|
|
4166
4186
|
case enums_1.EmberInterpanMessageType.MULTICAST: {
|
|
4167
4187
|
if (remainingLength < consts_2.INTERPAN_APS_MULTICAST_SIZE) {
|
|
4168
|
-
debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN length "${remainingLength}"
|
|
4188
|
+
logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN length "${remainingLength}".`, NS);
|
|
4169
4189
|
return;
|
|
4170
4190
|
}
|
|
4171
4191
|
groupId = msgBuffalo.readUInt16();
|
|
4172
4192
|
break;
|
|
4173
4193
|
}
|
|
4174
4194
|
default: {
|
|
4175
|
-
debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN messageType "${messageType}"
|
|
4195
|
+
logger_1.logger.debug(`ezspMacFilterMatchMessageHandler INVALID InterPAN messageType "${messageType}".`, NS);
|
|
4176
4196
|
return;
|
|
4177
4197
|
}
|
|
4178
4198
|
}
|
|
4179
4199
|
const clusterId = msgBuffalo.readUInt16();
|
|
4180
4200
|
const profileId = msgBuffalo.readUInt16();
|
|
4181
4201
|
const payload = msgBuffalo.readRest();
|
|
4182
|
-
if (profileId === consts_2.TOUCHLINK_PROFILE_ID && clusterId === cluster_1.
|
|
4202
|
+
if (profileId === consts_2.TOUCHLINK_PROFILE_ID && clusterId === cluster_1.Clusters.touchlink.ID) {
|
|
4183
4203
|
this.emit(EzspEvents.TOUCHLINK_MESSAGE, sourcePanId, sourceAddress, groupId, lastHopLqi, payload);
|
|
4184
4204
|
}
|
|
4185
4205
|
}
|
|
@@ -4190,7 +4210,7 @@ class Ezsp extends events_1.default {
|
|
|
4190
4210
|
* @param status EMBER_SUCCESS if the transmission was successful, or EMBER_DELIVERY_FAILED if not
|
|
4191
4211
|
*/
|
|
4192
4212
|
ezspRawTransmitCompleteHandler(status) {
|
|
4193
|
-
debug(`ezspRawTransmitCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]
|
|
4213
|
+
logger_1.logger.debug(`ezspRawTransmitCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`, NS);
|
|
4194
4214
|
}
|
|
4195
4215
|
/**
|
|
4196
4216
|
* This function is useful to sleepy end devices. This function will set the
|
|
@@ -4323,7 +4343,7 @@ class Ezsp extends events_1.default {
|
|
|
4323
4343
|
*/
|
|
4324
4344
|
// NOTE: added for good measure
|
|
4325
4345
|
if (context.coreKeyType === enums_1.SecManKeyType.INTERNAL) {
|
|
4326
|
-
|
|
4346
|
+
logger_1.logger.error(`ezspImportKey cannot use INTERNAL key type.`, NS);
|
|
4327
4347
|
return [null, enums_1.SLStatus.INVALID_PARAMETER];
|
|
4328
4348
|
}
|
|
4329
4349
|
this.startCommand(enums_2.EzspFrameID.EXPORT_KEY);
|
|
@@ -4382,7 +4402,7 @@ class Ezsp extends events_1.default {
|
|
|
4382
4402
|
*/
|
|
4383
4403
|
// NOTE: added for good measure
|
|
4384
4404
|
if (context.coreKeyType === enums_1.SecManKeyType.INTERNAL) {
|
|
4385
|
-
|
|
4405
|
+
logger_1.logger.error(`ezspImportKey cannot use INTERNAL key type.`, NS);
|
|
4386
4406
|
return enums_1.SLStatus.INVALID_PARAMETER;
|
|
4387
4407
|
}
|
|
4388
4408
|
this.startCommand(enums_2.EzspFrameID.IMPORT_KEY);
|
|
@@ -4403,7 +4423,7 @@ class Ezsp extends events_1.default {
|
|
|
4403
4423
|
* @param sequenceNumber uint8_t The sequence number of the new network key.
|
|
4404
4424
|
*/
|
|
4405
4425
|
ezspSwitchNetworkKeyHandler(sequenceNumber) {
|
|
4406
|
-
debug(`ezspSwitchNetworkKeyHandler(): callback called with: [sequenceNumber=${sequenceNumber}]
|
|
4426
|
+
logger_1.logger.debug(`ezspSwitchNetworkKeyHandler(): callback called with: [sequenceNumber=${sequenceNumber}]`, NS);
|
|
4407
4427
|
}
|
|
4408
4428
|
/**
|
|
4409
4429
|
* This function searches through the Key Table and tries to find the entry that
|
|
@@ -4534,7 +4554,7 @@ class Ezsp extends events_1.default {
|
|
|
4534
4554
|
* @param status This is the status indicating what was established or why the key establishment failed.
|
|
4535
4555
|
*/
|
|
4536
4556
|
ezspZigbeeKeyEstablishmentHandler(partner, status) {
|
|
4537
|
-
debug(`ezspZigbeeKeyEstablishmentHandler(): callback called with: [partner=${partner}], [status=${enums_1.EmberKeyStatus[status]}]
|
|
4557
|
+
logger_1.logger.debug(`ezspZigbeeKeyEstablishmentHandler(): callback called with: [partner=${partner}], [status=${enums_1.EmberKeyStatus[status]}]`, NS);
|
|
4538
4558
|
// NOTE: For security reasons, any valid `partner` (not wildcard) that return with a status=TC_REQUESTER_VERIFY_KEY_TIMEOUT
|
|
4539
4559
|
// are kicked off the network for posing a risk, unless HA devices allowed (as opposed to Z3)
|
|
4540
4560
|
// and always if status=TC_REQUESTER_VERIFY_KEY_FAILURE
|
|
@@ -4862,9 +4882,9 @@ class Ezsp extends events_1.default {
|
|
|
4862
4882
|
* @param parentOfNewNodeId The parent of the node whose status has changed.
|
|
4863
4883
|
*/
|
|
4864
4884
|
ezspTrustCenterJoinHandler(newNodeId, newNodeEui64, status, policyDecision, parentOfNewNodeId) {
|
|
4865
|
-
debug(`ezspTrustCenterJoinHandler(): callback called with: [newNodeId=${newNodeId}], [newNodeEui64=${newNodeEui64}], `
|
|
4885
|
+
logger_1.logger.debug(`ezspTrustCenterJoinHandler(): callback called with: [newNodeId=${newNodeId}], [newNodeEui64=${newNodeEui64}], `
|
|
4866
4886
|
+ `[status=${enums_1.EmberDeviceUpdate[status]}], [policyDecision=${enums_1.EmberJoinDecision[policyDecision]}], `
|
|
4867
|
-
+ `[parentOfNewNodeId=${parentOfNewNodeId}]
|
|
4887
|
+
+ `[parentOfNewNodeId=${parentOfNewNodeId}]`, NS);
|
|
4868
4888
|
// NOTE: this is mostly just passing stuff up to Z2M, so use only one emit for all, let adapter do the rest, no parsing needed
|
|
4869
4889
|
this.emit(EzspEvents.TRUST_CENTER_JOIN, newNodeId, newNodeEui64, status, policyDecision, parentOfNewNodeId);
|
|
4870
4890
|
}
|
|
@@ -4997,7 +5017,7 @@ class Ezsp extends events_1.default {
|
|
|
4997
5017
|
* @param ephemeralPublicKey EmberPublicKeyData * The generated ephemeral public key.
|
|
4998
5018
|
*/
|
|
4999
5019
|
ezspGenerateCbkeKeysHandler(status, ephemeralPublicKey) {
|
|
5000
|
-
debug(`ezspGenerateCbkeKeysHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [ephemeralPublicKey=${ephemeralPublicKey}]
|
|
5020
|
+
logger_1.logger.debug(`ezspGenerateCbkeKeysHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [ephemeralPublicKey=${ephemeralPublicKey}]`, NS);
|
|
5001
5021
|
}
|
|
5002
5022
|
/**
|
|
5003
5023
|
* Calculates the SMAC verification keys for both the initiator and responder
|
|
@@ -5032,8 +5052,8 @@ class Ezsp extends events_1.default {
|
|
|
5032
5052
|
* @param responderSmac EmberSmacData * The calculated value of the responder's SMAC
|
|
5033
5053
|
*/
|
|
5034
5054
|
ezspCalculateSmacsHandler(status, initiatorSmac, responderSmac) {
|
|
5035
|
-
debug(`ezspCalculateSmacsHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [initiatorSmac=${initiatorSmac}], `
|
|
5036
|
-
+ `[responderSmac=${responderSmac}]
|
|
5055
|
+
logger_1.logger.debug(`ezspCalculateSmacsHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [initiatorSmac=${initiatorSmac}], `
|
|
5056
|
+
+ `[responderSmac=${responderSmac}]`, NS);
|
|
5037
5057
|
}
|
|
5038
5058
|
/**
|
|
5039
5059
|
* This call starts the generation of the ECC 283k1 curve Ephemeral
|
|
@@ -5059,8 +5079,8 @@ class Ezsp extends events_1.default {
|
|
|
5059
5079
|
* @param ephemeralPublicKey EmberPublicKey283k1Data * The generated ephemeral public key.
|
|
5060
5080
|
*/
|
|
5061
5081
|
ezspGenerateCbkeKeysHandler283k1(status, ephemeralPublicKey) {
|
|
5062
|
-
debug(`ezspGenerateCbkeKeysHandler283k1(): callback called with: [status=${enums_1.EmberStatus[status]}], `
|
|
5063
|
-
+ `[ephemeralPublicKey=${ephemeralPublicKey}]
|
|
5082
|
+
logger_1.logger.debug(`ezspGenerateCbkeKeysHandler283k1(): callback called with: [status=${enums_1.EmberStatus[status]}], `
|
|
5083
|
+
+ `[ephemeralPublicKey=${ephemeralPublicKey}]`, NS);
|
|
5064
5084
|
}
|
|
5065
5085
|
/**
|
|
5066
5086
|
* Calculates the SMAC verification keys for both the initiator and responder
|
|
@@ -5096,8 +5116,8 @@ class Ezsp extends events_1.default {
|
|
|
5096
5116
|
* @param responderSmac EmberSmacData * The calculated value of the responder's SMAC
|
|
5097
5117
|
*/
|
|
5098
5118
|
ezspCalculateSmacsHandler283k1(status, initiatorSmac, responderSmac) {
|
|
5099
|
-
debug(`ezspCalculateSmacsHandler283k1(): callback called with: [status=${enums_1.EmberStatus[status]}], [initiatorSmac=${initiatorSmac}], `
|
|
5100
|
-
+ `[responderSmac=${responderSmac}]
|
|
5119
|
+
logger_1.logger.debug(`ezspCalculateSmacsHandler283k1(): callback called with: [status=${enums_1.EmberStatus[status]}], [initiatorSmac=${initiatorSmac}], `
|
|
5120
|
+
+ `[responderSmac=${responderSmac}]`, NS);
|
|
5101
5121
|
}
|
|
5102
5122
|
/**
|
|
5103
5123
|
* Clears the temporary data associated with CBKE and the key establishment,
|
|
@@ -5219,7 +5239,7 @@ class Ezsp extends events_1.default {
|
|
|
5219
5239
|
* @param messageContents uint8_t *The message and attached which includes the original message and the appended signature.
|
|
5220
5240
|
*/
|
|
5221
5241
|
ezspDsaSignHandler(status, messageContents) {
|
|
5222
|
-
debug(`ezspDsaSignHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [messageContents=${messageContents.toString('hex')}]
|
|
5242
|
+
logger_1.logger.debug(`ezspDsaSignHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [messageContents=${messageContents.toString('hex')}]`, NS);
|
|
5223
5243
|
}
|
|
5224
5244
|
/**
|
|
5225
5245
|
* Verify that signature of the associated message digest was signed by the
|
|
@@ -5253,7 +5273,7 @@ class Ezsp extends events_1.default {
|
|
|
5253
5273
|
* @param status The result of the DSA verification operation.
|
|
5254
5274
|
*/
|
|
5255
5275
|
ezspDsaVerifyHandler(status) {
|
|
5256
|
-
debug(`ezspDsaVerifyHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]
|
|
5276
|
+
logger_1.logger.debug(`ezspDsaVerifyHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`, NS);
|
|
5257
5277
|
}
|
|
5258
5278
|
/**
|
|
5259
5279
|
* Verify that signature of the associated message digest was signed by the
|
|
@@ -5465,7 +5485,7 @@ class Ezsp extends events_1.default {
|
|
|
5465
5485
|
async mfglibSetPower(txPowerMode, power) {
|
|
5466
5486
|
this.startCommand(enums_2.EzspFrameID.MFGLIB_SET_POWER);
|
|
5467
5487
|
this.buffalo.writeUInt16(txPowerMode);
|
|
5468
|
-
this.buffalo.
|
|
5488
|
+
this.buffalo.writeInt8(power);
|
|
5469
5489
|
const sendStatus = await this.sendCommand();
|
|
5470
5490
|
if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
|
|
5471
5491
|
throw new Error(enums_1.EzspStatus[sendStatus]);
|
|
@@ -5483,7 +5503,7 @@ class Ezsp extends events_1.default {
|
|
|
5483
5503
|
if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
|
|
5484
5504
|
throw new Error(enums_1.EzspStatus[sendStatus]);
|
|
5485
5505
|
}
|
|
5486
|
-
const power = this.buffalo.
|
|
5506
|
+
const power = this.buffalo.readInt8();
|
|
5487
5507
|
return power;
|
|
5488
5508
|
}
|
|
5489
5509
|
/**
|
|
@@ -5495,9 +5515,8 @@ class Ezsp extends events_1.default {
|
|
|
5495
5515
|
* @param packetContents uint8_t * The received packet (last 2 bytes are not FCS / CRC and may be discarded)
|
|
5496
5516
|
*/
|
|
5497
5517
|
ezspMfglibRxHandler(linkQuality, rssi, packetLength, packetContents) {
|
|
5498
|
-
debug(`ezspMfglibRxHandler(): callback called with: [linkQuality=${linkQuality}], [rssi=${rssi}], `
|
|
5499
|
-
+ `[packetLength=${packetLength}], [packetContents=${packetContents}]
|
|
5500
|
-
// gecko_sdk_4.4.0\protocol\zigbee\app\framework\plugin\manufacturing-library-cli\manufacturing-library-cli-host.c
|
|
5518
|
+
logger_1.logger.debug(`ezspMfglibRxHandler(): callback called with: [linkQuality=${linkQuality}], [rssi=${rssi}], `
|
|
5519
|
+
+ `[packetLength=${packetLength}], [packetContents=${packetContents}]`, NS);
|
|
5501
5520
|
}
|
|
5502
5521
|
//-----------------------------------------------------------------------------
|
|
5503
5522
|
// Bootloader Frames
|
|
@@ -5579,8 +5598,8 @@ class Ezsp extends events_1.default {
|
|
|
5579
5598
|
* @param messageContents uint8_t *The bootload message that was sent.
|
|
5580
5599
|
*/
|
|
5581
5600
|
ezspIncomingBootloadMessageHandler(longId, lastHopLqi, lastHopRssi, messageContents) {
|
|
5582
|
-
debug(`ezspIncomingBootloadMessageHandler(): callback called with: [longId=${longId}], [lastHopLqi=${lastHopLqi}], `
|
|
5583
|
-
+ `[lastHopRssi=${lastHopRssi}], [messageContents=${messageContents.toString('hex')}]
|
|
5601
|
+
logger_1.logger.debug(`ezspIncomingBootloadMessageHandler(): callback called with: [longId=${longId}], [lastHopLqi=${lastHopLqi}], `
|
|
5602
|
+
+ `[lastHopRssi=${lastHopRssi}], [messageContents=${messageContents.toString('hex')}]`, NS);
|
|
5584
5603
|
}
|
|
5585
5604
|
/**
|
|
5586
5605
|
* Callback
|
|
@@ -5592,8 +5611,8 @@ class Ezsp extends events_1.default {
|
|
|
5592
5611
|
* @param messageContents uint8_t * The message that was sent.
|
|
5593
5612
|
*/
|
|
5594
5613
|
ezspBootloadTransmitCompleteHandler(status, messageContents) {
|
|
5595
|
-
debug(`ezspBootloadTransmitCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], `
|
|
5596
|
-
+ `[messageContents=${messageContents.toString('hex')}]
|
|
5614
|
+
logger_1.logger.debug(`ezspBootloadTransmitCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], `
|
|
5615
|
+
+ `[messageContents=${messageContents.toString('hex')}]`, NS);
|
|
5597
5616
|
}
|
|
5598
5617
|
/**
|
|
5599
5618
|
* Perform AES encryption on plaintext using key.
|
|
@@ -5609,7 +5628,7 @@ class Ezsp extends events_1.default {
|
|
|
5609
5628
|
if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
|
|
5610
5629
|
throw new Error(enums_1.EzspStatus[sendStatus]);
|
|
5611
5630
|
}
|
|
5612
|
-
const ciphertext = this.buffalo.readListUInt8(
|
|
5631
|
+
const ciphertext = this.buffalo.readListUInt8(consts_1.EMBER_ENCRYPTION_KEY_SIZE);
|
|
5613
5632
|
return ciphertext;
|
|
5614
5633
|
}
|
|
5615
5634
|
//-----------------------------------------------------------------------------
|
|
@@ -5627,7 +5646,7 @@ class Ezsp extends events_1.default {
|
|
|
5627
5646
|
this.startCommand(enums_2.EzspFrameID.ZLL_NETWORK_OPS);
|
|
5628
5647
|
this.buffalo.writeEmberZllNetwork(networkInfo);
|
|
5629
5648
|
this.buffalo.writeUInt8(op);
|
|
5630
|
-
this.buffalo.
|
|
5649
|
+
this.buffalo.writeInt8(radioTxPower);
|
|
5631
5650
|
const sendStatus = await this.sendCommand();
|
|
5632
5651
|
if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
|
|
5633
5652
|
throw new Error(enums_1.EzspStatus[sendStatus]);
|
|
@@ -5680,7 +5699,7 @@ class Ezsp extends events_1.default {
|
|
|
5680
5699
|
async ezspZllStartScan(channelMask, radioPowerForScan, nodeType) {
|
|
5681
5700
|
this.startCommand(enums_2.EzspFrameID.ZLL_START_SCAN);
|
|
5682
5701
|
this.buffalo.writeUInt32(channelMask);
|
|
5683
|
-
this.buffalo.
|
|
5702
|
+
this.buffalo.writeInt8(radioPowerForScan);
|
|
5684
5703
|
this.buffalo.writeUInt8(nodeType);
|
|
5685
5704
|
const sendStatus = await this.sendCommand();
|
|
5686
5705
|
if (sendStatus !== enums_1.EzspStatus.SUCCESS) {
|
|
@@ -5715,8 +5734,8 @@ class Ezsp extends events_1.default {
|
|
|
5715
5734
|
* @param lastHopRssi int8_t The energy level (in units of dBm) observed during reception.
|
|
5716
5735
|
*/
|
|
5717
5736
|
ezspZllNetworkFoundHandler(networkInfo, isDeviceInfoNull, deviceInfo, lastHopLqi, lastHopRssi) {
|
|
5718
|
-
debug(`ezspZllNetworkFoundHandler(): callback called with: [networkInfo=${networkInfo}], [isDeviceInfoNull=${isDeviceInfoNull}], `
|
|
5719
|
-
+ `[deviceInfo=${deviceInfo}], [lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}]
|
|
5737
|
+
logger_1.logger.debug(`ezspZllNetworkFoundHandler(): callback called with: [networkInfo=${networkInfo}], [isDeviceInfoNull=${isDeviceInfoNull}], `
|
|
5738
|
+
+ `[deviceInfo=${deviceInfo}], [lastHopLqi=${lastHopLqi}], [lastHopRssi=${lastHopRssi}]`, NS);
|
|
5720
5739
|
}
|
|
5721
5740
|
/**
|
|
5722
5741
|
* Callback
|
|
@@ -5724,7 +5743,7 @@ class Ezsp extends events_1.default {
|
|
|
5724
5743
|
* @param status Status of the operation.
|
|
5725
5744
|
*/
|
|
5726
5745
|
ezspZllScanCompleteHandler(status) {
|
|
5727
|
-
debug(`ezspZllScanCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]
|
|
5746
|
+
logger_1.logger.debug(`ezspZllScanCompleteHandler(): callback called with: [status=${enums_1.EmberStatus[status]}]`, NS);
|
|
5728
5747
|
}
|
|
5729
5748
|
/**
|
|
5730
5749
|
* Callback
|
|
@@ -5735,8 +5754,8 @@ class Ezsp extends events_1.default {
|
|
|
5735
5754
|
* @param lastHopRssi int8_t The energy level (in units of dBm) observed during reception.
|
|
5736
5755
|
*/
|
|
5737
5756
|
ezspZllAddressAssignmentHandler(addressInfo, lastHopLqi, lastHopRssi) {
|
|
5738
|
-
debug(`ezspZllAddressAssignmentHandler(): callback called with: [addressInfo=${addressInfo}], [lastHopLqi=${lastHopLqi}], `
|
|
5739
|
-
+ `[lastHopRssi=${lastHopRssi}]
|
|
5757
|
+
logger_1.logger.debug(`ezspZllAddressAssignmentHandler(): callback called with: [addressInfo=${addressInfo}], [lastHopLqi=${lastHopLqi}], `
|
|
5758
|
+
+ `[lastHopRssi=${lastHopRssi}]`, NS);
|
|
5740
5759
|
}
|
|
5741
5760
|
/**
|
|
5742
5761
|
* Callback
|
|
@@ -5744,7 +5763,7 @@ class Ezsp extends events_1.default {
|
|
|
5744
5763
|
* @param networkInfo EmberZllNetwork * Information about the network.
|
|
5745
5764
|
*/
|
|
5746
5765
|
ezspZllTouchLinkTargetHandler(networkInfo) {
|
|
5747
|
-
debug(`ezspZllTouchLinkTargetHandler(): callback called with: [networkInfo=${networkInfo}]
|
|
5766
|
+
logger_1.logger.debug(`ezspZllTouchLinkTargetHandler(): callback called with: [networkInfo=${networkInfo}]`, NS);
|
|
5748
5767
|
}
|
|
5749
5768
|
/**
|
|
5750
5769
|
* Get the ZLL tokens.
|
|
@@ -6094,7 +6113,7 @@ class Ezsp extends events_1.default {
|
|
|
6094
6113
|
* @param gpepHandle uint8_t The handle of the GPDF.
|
|
6095
6114
|
*/
|
|
6096
6115
|
ezspDGpSentHandler(status, gpepHandle) {
|
|
6097
|
-
debug(`ezspDGpSentHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [gpepHandle=${gpepHandle}]
|
|
6116
|
+
logger_1.logger.debug(`ezspDGpSentHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [gpepHandle=${gpepHandle}]`, NS);
|
|
6098
6117
|
}
|
|
6099
6118
|
/**
|
|
6100
6119
|
* Callback
|
|
@@ -6115,24 +6134,24 @@ class Ezsp extends events_1.default {
|
|
|
6115
6134
|
* @param gpdCommandPayload uint8_t * The GPD command payload.
|
|
6116
6135
|
*/
|
|
6117
6136
|
ezspGpepIncomingMessageHandler(status, gpdLink, sequenceNumber, addr, gpdfSecurityLevel, gpdfSecurityKeyType, autoCommissioning, bidirectionalInfo, gpdSecurityFrameCounter, gpdCommandId, mic, proxyTableIndex, gpdCommandPayload) {
|
|
6118
|
-
debug(`ezspGpepIncomingMessageHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [gpdLink=${gpdLink}], `
|
|
6137
|
+
logger_1.logger.debug(`ezspGpepIncomingMessageHandler(): callback called with: [status=${enums_1.EmberStatus[status]}], [gpdLink=${gpdLink}], `
|
|
6119
6138
|
+ `[sequenceNumber=${sequenceNumber}], [addr=${JSON.stringify(addr)}], [gpdfSecurityLevel=${enums_1.EmberGpSecurityLevel[gpdfSecurityLevel]}], `
|
|
6120
6139
|
+ `[gpdfSecurityKeyType=${enums_1.EmberGpKeyType[gpdfSecurityKeyType]}], [autoCommissioning=${autoCommissioning}], `
|
|
6121
6140
|
+ `[bidirectionalInfo=${bidirectionalInfo}], [gpdSecurityFrameCounter=${gpdSecurityFrameCounter}], [gpdCommandId=${gpdCommandId}], `
|
|
6122
|
-
+ `[mic=${mic}], [proxyTableIndex=${proxyTableIndex}], [gpdCommandPayload=${gpdCommandPayload.toString('hex')}]
|
|
6141
|
+
+ `[mic=${mic}], [proxyTableIndex=${proxyTableIndex}], [gpdCommandPayload=${gpdCommandPayload.toString('hex')}]`, NS);
|
|
6123
6142
|
if (addr.applicationId === enums_1.EmberGpApplicationId.IEEE_ADDRESS) {
|
|
6124
6143
|
// XXX: don't bother parsing for upstream for now, since it will be rejected
|
|
6125
|
-
|
|
6144
|
+
logger_1.logger.error(`<=== [GP] Received IEEE address type in message. Support not implemented upstream. Dropping.`, NS);
|
|
6126
6145
|
return;
|
|
6127
6146
|
}
|
|
6128
|
-
let commandIdentifier = cluster_1.
|
|
6147
|
+
let commandIdentifier = cluster_1.Clusters.greenPower.commands.notification.ID;
|
|
6129
6148
|
if (gpdCommandId === 0xE0) {
|
|
6130
6149
|
if (!gpdCommandPayload.length) {
|
|
6131
6150
|
// XXX: seem to be receiving duplicate commissioningNotification from some devices, second one with empty payload?
|
|
6132
6151
|
// this will mess with the process no doubt, so dropping them
|
|
6133
6152
|
return;
|
|
6134
6153
|
}
|
|
6135
|
-
commandIdentifier = cluster_1.
|
|
6154
|
+
commandIdentifier = cluster_1.Clusters.greenPower.commands.commissioningNotification.ID;
|
|
6136
6155
|
}
|
|
6137
6156
|
this.emit(EzspEvents.GREENPOWER_MESSAGE, sequenceNumber, commandIdentifier, addr.sourceId, gpdSecurityFrameCounter, gpdCommandId, gpdCommandPayload, gpdLink);
|
|
6138
6157
|
}
|