@willieee802/zigbee-herdsman 0.34.3 → 0.48.1
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 +403 -0
- package/dist/adapter/adapter.d.ts +14 -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 +60 -71
- package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.js +453 -492
- 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 +16 -5
- package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.js +19 -4
- 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 +17 -22
- 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 +133 -145
- package/dist/adapter/ember/enums.d.ts.map +1 -1
- package/dist/adapter/ember/enums.js +132 -148
- 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 -3
- package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.js +224 -208
- 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 +27 -14
- package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
- package/dist/adapter/ember/uart/ash.js +158 -109
- 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/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 +4 -1
- package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.js +35 -7
- package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +12 -9
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +79 -75
- 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 +4 -2
- package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/driver.js +183 -119
- 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 +62 -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.d.ts +1 -1
- package/dist/adapter/ezsp/driver/types/struct.d.ts.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/utils/index.d.ts +2 -1
- package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/utils/index.js +2 -2
- package/dist/adapter/ezsp/driver/utils/index.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/serialPort.d.ts +3 -0
- package/dist/adapter/serialPort.d.ts.map +1 -1
- package/dist/adapter/serialPort.js +16 -23
- package/dist/adapter/serialPort.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 +12 -10
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +102 -84
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
- package/dist/adapter/z-stack/unpi/parser.js +6 -6
- package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
- package/dist/adapter/z-stack/unpi/writer.js +4 -7
- 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.map +1 -1
- package/dist/adapter/z-stack/znp/znp.js +18 -25
- 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 +8 -5
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/controller/controller.js +181 -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 +108 -87
- 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/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/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 +5 -5
- 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 +0 -3
- 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 -5521
- 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
|
@@ -22,13 +22,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
26
|
exports.AdapterBackup = void 0;
|
|
30
|
-
/* eslint-disable max-len */
|
|
31
|
-
const debug_1 = __importDefault(require("debug"));
|
|
32
27
|
const Structs = __importStar(require("../structs"));
|
|
33
28
|
const Utils = __importStar(require("../utils"));
|
|
34
29
|
const utils_1 = require("../../../utils");
|
|
@@ -37,6 +32,8 @@ const common_1 = require("../constants/common");
|
|
|
37
32
|
const constants_1 = require("../unpi/constants");
|
|
38
33
|
const tstype_1 = require("./tstype");
|
|
39
34
|
const structs_1 = require("../structs");
|
|
35
|
+
const logger_1 = require("../../../utils/logger");
|
|
36
|
+
const NS = 'zh:zstack:backup';
|
|
40
37
|
/**
|
|
41
38
|
* Class providing ZNP adapter backup and restore procedures based mostly on NV memory manipulation.
|
|
42
39
|
*/
|
|
@@ -44,7 +41,6 @@ class AdapterBackup {
|
|
|
44
41
|
znp;
|
|
45
42
|
nv;
|
|
46
43
|
defaultPath;
|
|
47
|
-
debug = (0, debug_1.default)("zigbee-herdsman:adapter:zStack:startup:backup");
|
|
48
44
|
constructor(znp, nv, path) {
|
|
49
45
|
this.znp = znp;
|
|
50
46
|
this.nv = nv;
|
|
@@ -84,7 +80,7 @@ class AdapterBackup {
|
|
|
84
80
|
* Creates a new backup from connected ZNP adapter and returns it in internal backup model format.
|
|
85
81
|
*/
|
|
86
82
|
async createBackup(ieeeAddressesInDatabase) {
|
|
87
|
-
|
|
83
|
+
logger_1.logger.debug("creating backup", NS);
|
|
88
84
|
const version = await this.getAdapterVersion();
|
|
89
85
|
/* get adapter ieee address */
|
|
90
86
|
const ieeeAddressResponse = await this.znp.request(constants_1.Subsystem.SYS, "getExtAddr", {});
|
|
@@ -92,13 +88,13 @@ class AdapterBackup {
|
|
|
92
88
|
throw new Error("Failed to read adapter IEEE address");
|
|
93
89
|
}
|
|
94
90
|
const ieeeAddress = Buffer.from(ieeeAddressResponse.payload.extaddress.split("0x")[1], "hex");
|
|
95
|
-
|
|
91
|
+
logger_1.logger.debug("fetched adapter ieee address", NS);
|
|
96
92
|
/* get adapter nib */
|
|
97
93
|
const nib = await this.nv.readItem(common_1.NvItemsIds.NIB, 0, Structs.nib);
|
|
98
94
|
if (!nib) {
|
|
99
95
|
throw new Error("Cannot backup - adapter not commissioned");
|
|
100
96
|
}
|
|
101
|
-
|
|
97
|
+
logger_1.logger.debug("fetched adapter nib", NS);
|
|
102
98
|
/* get adapter active key information */
|
|
103
99
|
let activeKeyInfo;
|
|
104
100
|
if (version === tstype_1.ZnpVersion.zStack12) {
|
|
@@ -112,22 +108,22 @@ class AdapterBackup {
|
|
|
112
108
|
if (!activeKeyInfo) {
|
|
113
109
|
throw new Error("Cannot backup - missing active key info");
|
|
114
110
|
}
|
|
115
|
-
|
|
111
|
+
logger_1.logger.debug("fetched adapter active key information", NS);
|
|
116
112
|
/* get adapter security data */
|
|
117
113
|
const preconfiguredKeyEnabled = await this.nv.readItem(common_1.NvItemsIds.PRECFGKEYS_ENABLE, 0);
|
|
118
|
-
|
|
114
|
+
logger_1.logger.debug("fetched adapter pre-configured key", NS);
|
|
119
115
|
const addressManagerTable = await this.getAddressManagerTable(version);
|
|
120
|
-
|
|
116
|
+
logger_1.logger.debug(`fetched adapter address manager table (capacity=${addressManagerTable?.capacity || 0}, used=${addressManagerTable?.usedCount || 0})`, NS);
|
|
121
117
|
const securityManagerTable = await this.getSecurityManagerTable();
|
|
122
|
-
|
|
118
|
+
logger_1.logger.debug(`fetched adapter security manager table (capacity=${securityManagerTable?.usedCount || 0}, used=${securityManagerTable?.usedCount || 0})`, NS);
|
|
123
119
|
const apsLinkKeyDataTable = await this.getApsLinkKeyDataTable(version);
|
|
124
|
-
|
|
120
|
+
logger_1.logger.debug(`fetched adapter aps link key data table (capacity=${apsLinkKeyDataTable?.usedCount || 0}, used=${apsLinkKeyDataTable?.usedCount || 0})`, NS);
|
|
125
121
|
const tclkSeed = version === tstype_1.ZnpVersion.zStack12 ? null : await this.nv.readItem(common_1.NvItemsIds.TCLK_SEED, 0, Structs.nwkKey);
|
|
126
|
-
|
|
122
|
+
logger_1.logger.debug("fetched adapter tclk seed", NS);
|
|
127
123
|
const tclkTable = await this.getTclkTable(version);
|
|
128
|
-
|
|
124
|
+
logger_1.logger.debug(`fetched adapter tclk table (capacity=${tclkTable?.usedCount || 0}, used=${tclkTable?.usedCount || 0})`, NS);
|
|
129
125
|
const secMaterialTable = await this.getNetworkSecurityMaterialTable(version);
|
|
130
|
-
|
|
126
|
+
logger_1.logger.debug(`fetched adapter network security material table (capacity=${secMaterialTable?.usedCount || 0}, used=${secMaterialTable?.usedCount || 0})`, NS);
|
|
131
127
|
/* examine network security material table */
|
|
132
128
|
const genericExtendedPanId = Buffer.alloc(8, 0xff);
|
|
133
129
|
let secMaterialDescriptor = null;
|
|
@@ -224,12 +220,12 @@ class AdapterBackup {
|
|
|
224
220
|
const missing = oldBackup.devices.filter((d) => d.linkKey && ieeeAddressesInDatabase.includes(`0x${d.ieeeAddress.toString("hex")}`) &&
|
|
225
221
|
!backup.devices.find((dd) => d.ieeeAddress.equals(dd.ieeeAddress)));
|
|
226
222
|
const missingStr = missing.map((d) => `0x${d.ieeeAddress.toString('hex')}`).join(', ');
|
|
227
|
-
|
|
228
|
-
`adding them back: ${missingStr}
|
|
223
|
+
logger_1.logger.debug(`Following devices with link key are missing from new backup but present in old backup and database, ` +
|
|
224
|
+
`adding them back: ${missingStr}`, NS);
|
|
229
225
|
backup.devices = [...backup.devices, ...missing];
|
|
230
226
|
}
|
|
231
227
|
catch (error) {
|
|
232
|
-
|
|
228
|
+
logger_1.logger.debug(`Failed to read old backup, not checking for missing routers: ${error}`, NS);
|
|
233
229
|
}
|
|
234
230
|
return backup;
|
|
235
231
|
}
|
|
@@ -239,7 +235,7 @@ class AdapterBackup {
|
|
|
239
235
|
* @param backup Backup to restore to connected adapter.
|
|
240
236
|
*/
|
|
241
237
|
async restoreBackup(backup) {
|
|
242
|
-
|
|
238
|
+
logger_1.logger.debug("restoring backup", NS);
|
|
243
239
|
const version = await this.getAdapterVersion();
|
|
244
240
|
/* istanbul ignore next */
|
|
245
241
|
if (version === tstype_1.ZnpVersion.zStack12) {
|
|
@@ -264,12 +260,12 @@ class AdapterBackup {
|
|
|
264
260
|
const currentApsLinkKeyDataTable = await this.getApsLinkKeyDataTable(version);
|
|
265
261
|
const currentTclkTable = await this.getTclkTable(version);
|
|
266
262
|
const currentNwkSecMaterialTable = await this.getNetworkSecurityMaterialTable(version);
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
263
|
+
logger_1.logger.debug(`got target adapter table sizes:`, NS);
|
|
264
|
+
logger_1.logger.debug(` - address manager table: ${currentAddressManagerTable.capacity}`, NS);
|
|
265
|
+
logger_1.logger.debug(` - security manager table: ${currentSecurityManagerTable.capacity}`, NS);
|
|
266
|
+
logger_1.logger.debug(` - aps link key data table: ${currentApsLinkKeyDataTable.capacity}`, NS);
|
|
267
|
+
logger_1.logger.debug(` - tclk table: ${currentTclkTable.capacity}`, NS);
|
|
268
|
+
logger_1.logger.debug(` - network security material table: ${currentNwkSecMaterialTable.capacity}`, NS);
|
|
273
269
|
/* prepare table structures */
|
|
274
270
|
const addressManagerTable = Structs.addressManagerTable(currentAddressManagerTable.capacity);
|
|
275
271
|
const securityManagerTable = Structs.securityManagerTable(currentSecurityManagerTable.capacity);
|
|
@@ -321,7 +317,7 @@ class AdapterBackup {
|
|
|
321
317
|
tclkEntry.rxFrmCntr = device.linkKey.rxCounter;
|
|
322
318
|
tclkEntry.txFrmCntr = device.linkKey.txCounter + 2500;
|
|
323
319
|
linkKeyProcessed = true;
|
|
324
|
-
|
|
320
|
+
logger_1.logger.debug(`successfully recovered link key for ${device.ieeeAddress.toString("hex")} using tclk seed (shift=${recoveredSeedShift})`, NS);
|
|
325
321
|
}
|
|
326
322
|
}
|
|
327
323
|
/* attempt to create aps link key data entry */
|
|
@@ -342,7 +338,7 @@ class AdapterBackup {
|
|
|
342
338
|
sme.keyNvId = version === tstype_1.ZnpVersion.zStack3x0 ? apsLinkKeyDataTable.indexOf(apsKeyDataEntry) : common_1.NvItemsIds.APS_LINK_KEY_DATA_START + apsLinkKeyDataTable.indexOf(apsKeyDataEntry);
|
|
343
339
|
sme.authenticationOption = structs_1.SecurityManagerAuthenticationOption.AuthenticatedCBCK;
|
|
344
340
|
linkKeyProcessed = true;
|
|
345
|
-
|
|
341
|
+
logger_1.logger.debug(`successfully recovered link key for ${device.ieeeAddress.toString("hex")} using aps key data table`, NS);
|
|
346
342
|
}
|
|
347
343
|
}
|
|
348
344
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-backup.js","sourceRoot":"","sources":["../../../../src/adapter/z-stack/adapter/adapter-backup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapter-backup.js","sourceRoot":"","sources":["../../../../src/adapter/z-stack/adapter/adapter-backup.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.Endpoints = void 0;
|
|
27
27
|
const Constants = __importStar(require("../constants"));
|
|
28
|
-
const
|
|
28
|
+
const cluster_1 = require("../../../zspec/zcl/definition/cluster");
|
|
29
29
|
const EndpointDefaults = {
|
|
30
30
|
appdeviceid: 0x0005,
|
|
31
31
|
appdevver: 0,
|
|
@@ -51,10 +51,10 @@ exports.Endpoints = [
|
|
|
51
51
|
appprofid: 0x0104,
|
|
52
52
|
appdeviceid: 0x0400,
|
|
53
53
|
appnumoutclusters: 2,
|
|
54
|
-
appoutclusterlist: [
|
|
54
|
+
appoutclusterlist: [cluster_1.Clusters.ssIasZone.ID, cluster_1.Clusters.ssIasWd.ID],
|
|
55
55
|
appnuminclusters: 2,
|
|
56
56
|
// genTime required for https://github.com/Koenkk/zigbee2mqtt/issues/10816
|
|
57
|
-
appinclusterlist: [
|
|
57
|
+
appinclusterlist: [cluster_1.Clusters.ssIasAce.ID, cluster_1.Clusters.genTime.ID]
|
|
58
58
|
},
|
|
59
59
|
// TERNCY: https://github.com/Koenkk/zigbee-herdsman/issues/82
|
|
60
60
|
{ ...EndpointDefaults, endpoint: 0x6E, appprofid: 0x0104 },
|
|
@@ -64,7 +64,7 @@ exports.Endpoints = [
|
|
|
64
64
|
endpoint: 13,
|
|
65
65
|
appprofid: 0x0104,
|
|
66
66
|
appnuminclusters: 1,
|
|
67
|
-
appinclusterlist: [
|
|
67
|
+
appinclusterlist: [cluster_1.Clusters.genOta.ID]
|
|
68
68
|
},
|
|
69
69
|
// Insta/Jung/Gira: OTA fallback EP (since it's buggy in firmware 10023202 when it tries to find a matching EP for
|
|
70
70
|
// OTA - it queries for ZLL profile, but then contacts with HA profile)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../../../src/adapter/z-stack/adapter/endpoints.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"endpoints.js","sourceRoot":"","sources":["../../../../src/adapter/z-stack/adapter/endpoints.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAC1C,mEAA+D;AAE/D,MAAM,gBAAgB,GAQlB;IACA,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,CAAC;IACZ,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,EAAE,EAAE;IACpB,iBAAiB,EAAE,CAAC;IACpB,iBAAiB,EAAE,EAAE;IACrB,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,iBAAiB,CAAC,eAAe;CAC7D,CAAC;AAEW,QAAA,SAAS,GAAG;IACrB,EAAC,GAAG,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAC;IACrD,EAAC,GAAG,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAC;IACrD,oHAAoH;IACpH,EAAC,GAAG,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAC;IACrD,EAAC,GAAG,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAC;IACrD,EAAC,GAAG,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAC;IACrD,EAAC,GAAG,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAC;IACrD,EAAC,GAAG,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAC;IACrD,EAAC,GAAG,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAC;IACtD;QACI,GAAG,gBAAgB;QACnB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,MAAM;QACjB,WAAW,EAAE,MAAM;QACnB,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC,kBAAQ,CAAC,SAAS,CAAC,EAAE,EAAE,kBAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/D,gBAAgB,EAAE,CAAC;QACnB,0EAA0E;QAC1E,gBAAgB,EAAE,CAAC,kBAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,kBAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;KAEhE;IACD,8DAA8D;IAC9D,EAAC,GAAG,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAC;IACxD,EAAC,GAAG,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAC;IACtD;QACI,GAAG,gBAAgB;QACnB,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,MAAM;QACjB,gBAAgB,EAAE,CAAC;QACnB,gBAAgB,EAAE,CAAC,kBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;KACzC;IACD,kHAAkH;IAClH,uEAAuE;IACvE,EAAC,GAAG,gBAAgB,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAC;IACtD,EAAC,GAAG,gBAAgB,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAC;CAC1D,CAAC"}
|
|
@@ -3,7 +3,6 @@ import { TsType } from "../../";
|
|
|
3
3
|
import * as ZStackModels from "../models";
|
|
4
4
|
import { AdapterBackup } from "./adapter-backup";
|
|
5
5
|
import { AdapterNvMemory } from "./adapter-nv-memory";
|
|
6
|
-
import { LoggerStub } from "../../../controller/logger-stub";
|
|
7
6
|
/**
|
|
8
7
|
* ZNP Adapter Manager is responsible for handling adapter startup, network commissioning,
|
|
9
8
|
* configuration backup and restore.
|
|
@@ -14,9 +13,7 @@ export declare class ZnpAdapterManager {
|
|
|
14
13
|
private znp;
|
|
15
14
|
private options;
|
|
16
15
|
private nwkOptions;
|
|
17
|
-
|
|
18
|
-
private debug;
|
|
19
|
-
constructor(znp: Znp, options: ZStackModels.StartupOptions, logger: LoggerStub);
|
|
16
|
+
constructor(znp: Znp, options: ZStackModels.StartupOptions);
|
|
20
17
|
/**
|
|
21
18
|
* Performs ZNP adapter startup. After this method returns the adapter is configured, endpoints are registered
|
|
22
19
|
* and network is ready to process frames.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/adapter/z-stack/adapter/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../../src/adapter/z-stack/adapter/manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAI9B,OAAO,KAAK,YAAY,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAepD;;;GAGG;AACH,qBAAa,iBAAiB;IAEnB,EAAE,EAAE,eAAe,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IAE7B,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,UAAU,CAAwB;gBAEvB,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,YAAY,CAAC,cAAc;IAOjE;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC;IAmDjD;;;OAGG;YACW,iBAAiB;IA8I/B;;OAEG;YACW,YAAY;IAa1B;;OAEG;YACW,YAAY;IA2C1B;;;;;;;OAOG;YACW,kBAAkB;IAyDhC;;;;;OAKG;YACW,0BAA0B;IAyCxC;;OAEG;YACW,iBAAiB;IAgB/B;;;;;OAKG;YACW,UAAU;IAOxB;;OAEG;YACW,YAAY;IAM1B;;OAEG;YACW,YAAY;IAO1B;;;;;;;OAOG;YACW,yBAAyB;IAoBvC;;OAEG;YACW,sBAAsB;CAIvC"}
|
|
@@ -22,12 +22,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
22
22
|
__setModuleDefault(result, mod);
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
26
|
exports.ZnpAdapterManager = void 0;
|
|
30
|
-
const debug_1 = __importDefault(require("debug"));
|
|
31
27
|
const tstype_1 = require("./tstype");
|
|
32
28
|
const common_1 = require("../constants/common");
|
|
33
29
|
const Structs = __importStar(require("../structs"));
|
|
@@ -40,6 +36,8 @@ const UnpiConstants = __importStar(require("../unpi/constants"));
|
|
|
40
36
|
const crypto = __importStar(require("crypto"));
|
|
41
37
|
const utils_1 = require("../../../utils");
|
|
42
38
|
const endpoints_1 = require("./endpoints");
|
|
39
|
+
const logger_1 = require("../../../utils/logger");
|
|
40
|
+
const NS = 'zh:adapter:zstack:manager';
|
|
43
41
|
/**
|
|
44
42
|
* ZNP Adapter Manager is responsible for handling adapter startup, network commissioning,
|
|
45
43
|
* configuration backup and restore.
|
|
@@ -50,30 +48,23 @@ class ZnpAdapterManager {
|
|
|
50
48
|
znp;
|
|
51
49
|
options;
|
|
52
50
|
nwkOptions;
|
|
53
|
-
|
|
54
|
-
debug = {
|
|
55
|
-
startup: (0, debug_1.default)("zigbee-herdsman:adapter:zStack:startup"),
|
|
56
|
-
strategy: (0, debug_1.default)("zigbee-herdsman:adapter:zStack:startup:strategy"),
|
|
57
|
-
commissioning: (0, debug_1.default)("zigbee-herdsman:adapter:zStack:startup:commissioning")
|
|
58
|
-
};
|
|
59
|
-
constructor(znp, options, logger) {
|
|
51
|
+
constructor(znp, options) {
|
|
60
52
|
this.znp = znp;
|
|
61
53
|
this.options = options;
|
|
62
54
|
this.nv = new adapter_nv_memory_1.AdapterNvMemory(this.znp);
|
|
63
55
|
this.backup = new adapter_backup_1.AdapterBackup(this.znp, this.nv, this.options.backupPath);
|
|
64
|
-
this.logger = logger;
|
|
65
56
|
}
|
|
66
57
|
/**
|
|
67
58
|
* Performs ZNP adapter startup. After this method returns the adapter is configured, endpoints are registered
|
|
68
59
|
* and network is ready to process frames.
|
|
69
60
|
*/
|
|
70
61
|
async start() {
|
|
71
|
-
|
|
62
|
+
logger_1.logger.debug(`beginning znp startup`, NS);
|
|
72
63
|
this.nwkOptions = await this.parseConfigNetworkOptions(this.options.networkOptions);
|
|
73
64
|
await this.nv.init();
|
|
74
65
|
/* determine startup strategy */
|
|
75
66
|
const strategy = await this.determineStrategy();
|
|
76
|
-
|
|
67
|
+
logger_1.logger.debug(`determined startup strategy: ${strategy}`, NS);
|
|
77
68
|
/* perform coordinator startup based on determined strategy */
|
|
78
69
|
let result;
|
|
79
70
|
switch (strategy) {
|
|
@@ -84,7 +75,7 @@ class ZnpAdapterManager {
|
|
|
84
75
|
}
|
|
85
76
|
case "restoreBackup": {
|
|
86
77
|
if (this.options.version === tstype_1.ZnpVersion.zStack12) {
|
|
87
|
-
|
|
78
|
+
logger_1.logger.debug(`performing recommissioning instead of restore for z-stack 1.2`, NS);
|
|
88
79
|
await this.beginCommissioning(this.nwkOptions);
|
|
89
80
|
await this.beginStartup();
|
|
90
81
|
}
|
|
@@ -119,7 +110,7 @@ class ZnpAdapterManager {
|
|
|
119
110
|
* [this GitHub issue comment](https://github.com/Koenkk/zigbee-herdsman/issues/286#issuecomment-761029689).
|
|
120
111
|
*/
|
|
121
112
|
async determineStrategy() {
|
|
122
|
-
|
|
113
|
+
logger_1.logger.debug("determining znp startup strategy", NS);
|
|
123
114
|
/* acquire data from adapter */
|
|
124
115
|
const hasConfiguredNvId = this.options.version === tstype_1.ZnpVersion.zStack12 ? common_1.NvItemsIds.ZNP_HAS_CONFIGURED_ZSTACK1 : common_1.NvItemsIds.ZNP_HAS_CONFIGURED_ZSTACK3;
|
|
125
116
|
const hasConfigured = await this.nv.readItem(hasConfiguredNvId, 0, Structs.hasConfigured);
|
|
@@ -142,7 +133,7 @@ class ZnpAdapterManager {
|
|
|
142
133
|
const isExtendedPanIdReversed = nib && this.nwkOptions.extendedPanId.equals(Buffer.from(nib.extendedPANID).reverse());
|
|
143
134
|
/* istanbul ignore next */
|
|
144
135
|
const configMatchesAdapter = (nib &&
|
|
145
|
-
Utils.compareChannelLists(this.nwkOptions.channelList, nib.channelList) &&
|
|
136
|
+
Utils.compareChannelLists(this.nwkOptions.channelList, nib.channelList) && // TODO: remove?
|
|
146
137
|
this.nwkOptions.panId === nib.nwkPanId &&
|
|
147
138
|
(this.nwkOptions.extendedPanId.equals(nib.extendedPANID) ||
|
|
148
139
|
/* exception for migration from previous code-base */
|
|
@@ -168,56 +159,56 @@ class ZnpAdapterManager {
|
|
|
168
159
|
/* Determine startup strategy */
|
|
169
160
|
if (!hasConfigured || !hasConfigured.isConfigured() || !nib) {
|
|
170
161
|
/* Adapter is not configured or not commissioned */
|
|
171
|
-
|
|
162
|
+
logger_1.logger.debug("(stage-1) adapter is not configured / not commissioned", NS);
|
|
172
163
|
if (configMatchesBackup) {
|
|
173
164
|
/* Adapter backup is available and matches configuration */
|
|
174
|
-
|
|
165
|
+
logger_1.logger.debug("(stage-2) configuration matches backup", NS);
|
|
175
166
|
checkRestoreVersionCompatibility();
|
|
176
167
|
return "restoreBackup";
|
|
177
168
|
}
|
|
178
169
|
else {
|
|
179
170
|
/* Adapter backup is either not available or does not match configuration */
|
|
180
171
|
if (!backup) {
|
|
181
|
-
|
|
172
|
+
logger_1.logger.debug("(stage-2) adapter backup does not exist", NS);
|
|
182
173
|
}
|
|
183
174
|
else {
|
|
184
|
-
|
|
175
|
+
logger_1.logger.debug("(stage-2) configuration does not match backup", NS);
|
|
185
176
|
}
|
|
186
177
|
return "startCommissioning";
|
|
187
178
|
}
|
|
188
179
|
}
|
|
189
180
|
else {
|
|
190
181
|
/* Adapter is configured and commissioned */
|
|
191
|
-
|
|
182
|
+
logger_1.logger.debug("(stage-1) adapter is configured", NS);
|
|
192
183
|
if (configMatchesAdapter) {
|
|
193
184
|
/* Warn if EPID is reversed (backward-compat) */
|
|
194
185
|
if (isExtendedPanIdReversed) {
|
|
195
|
-
|
|
196
|
-
|
|
186
|
+
logger_1.logger.debug("(stage-2) extended pan id is reversed", NS);
|
|
187
|
+
logger_1.logger.warning(`Extended PAN ID is reversed (expected=${this.nwkOptions.extendedPanId.toString("hex")}, actual=${nib.extendedPANID.toString("hex")})`, NS);
|
|
197
188
|
}
|
|
198
189
|
/* Configuration matches adapter state - regular startup */
|
|
199
|
-
|
|
190
|
+
logger_1.logger.debug("(stage-2) adapter state matches configuration", NS);
|
|
200
191
|
return "startup";
|
|
201
192
|
}
|
|
202
193
|
else {
|
|
203
194
|
/* Configuration does not match adapter state */
|
|
204
|
-
|
|
195
|
+
logger_1.logger.debug("(stage-2) adapter state does not match configuration", NS);
|
|
205
196
|
if (backup) {
|
|
206
197
|
/* Backup is present */
|
|
207
|
-
|
|
198
|
+
logger_1.logger.debug("(stage-3) got adapter backup", NS);
|
|
208
199
|
if (backupMatchesAdapter) {
|
|
209
200
|
/* Backup matches adapter state */
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
201
|
+
logger_1.logger.debug("(stage-4) adapter state matches backup", NS);
|
|
202
|
+
logger_1.logger.error(`Configuration is not consistent with adapter state/backup!`, NS);
|
|
203
|
+
logger_1.logger.error(`- PAN ID: configured=${this.nwkOptions.panId}, adapter=${nib.nwkPanId}`, NS);
|
|
204
|
+
logger_1.logger.error(`- Extended PAN ID: configured=${this.nwkOptions.extendedPanId.toString("hex")}, adapter=${nib.extendedPANID.toString("hex")}`, NS);
|
|
205
|
+
logger_1.logger.error(`- Network Key: configured=${this.nwkOptions.networkKey.toString("hex")}, adapter=${activeKeyInfo.key.toString("hex")}`, NS);
|
|
206
|
+
logger_1.logger.error(`- Channel List: configured=${this.nwkOptions.channelList.toString()}, adapter=${Utils.unpackChannelList(nib.channelList).toString()}`, NS);
|
|
207
|
+
logger_1.logger.error(`Please update configuration to prevent further issues.`, NS);
|
|
208
|
+
logger_1.logger.error(`If you wish to re-commission your network, please remove coordinator backup at ${this.options.backupPath}.`, NS);
|
|
209
|
+
logger_1.logger.error(`Re-commissioning your network will require re-pairing of all devices!`, NS);
|
|
219
210
|
if (this.options.adapterOptions.forceStartWithInconsistentAdapterConfiguration) {
|
|
220
|
-
|
|
211
|
+
logger_1.logger.error(`Running despite adapter configuration mismatch as configured. Please update the adapter to compatible firmware and recreate your network as soon as possible.`, NS);
|
|
221
212
|
return "startup";
|
|
222
213
|
}
|
|
223
214
|
else {
|
|
@@ -226,23 +217,23 @@ class ZnpAdapterManager {
|
|
|
226
217
|
}
|
|
227
218
|
else {
|
|
228
219
|
/* Backup does not match adapter state */
|
|
229
|
-
|
|
220
|
+
logger_1.logger.debug("(stage-4) adapter state does not match backup", NS);
|
|
230
221
|
if (configMatchesBackup) {
|
|
231
222
|
/* Adapter backup matches configuration */
|
|
232
|
-
|
|
223
|
+
logger_1.logger.debug("(stage-5) adapter backup matches configuration", NS);
|
|
233
224
|
checkRestoreVersionCompatibility();
|
|
234
225
|
return "restoreBackup";
|
|
235
226
|
}
|
|
236
227
|
else {
|
|
237
228
|
/* Adapter backup does not match configuration */
|
|
238
|
-
|
|
229
|
+
logger_1.logger.debug("(stage-5) adapter backup does not match configuration", NS);
|
|
239
230
|
return "startCommissioning";
|
|
240
231
|
}
|
|
241
232
|
}
|
|
242
233
|
}
|
|
243
234
|
else {
|
|
244
235
|
/* Configuration mismatches adapter and no backup is available */
|
|
245
|
-
|
|
236
|
+
logger_1.logger.debug("(stage-3) configuration-adapter mismatch (no backup)", NS);
|
|
246
237
|
return "startCommissioning";
|
|
247
238
|
}
|
|
248
239
|
}
|
|
@@ -254,14 +245,14 @@ class ZnpAdapterManager {
|
|
|
254
245
|
async beginStartup() {
|
|
255
246
|
const deviceInfo = await this.znp.request(constants_1.Subsystem.UTIL, 'getDeviceInfo', {});
|
|
256
247
|
if (deviceInfo.payload.devicestate !== common_1.DevStates.ZB_COORD) {
|
|
257
|
-
|
|
248
|
+
logger_1.logger.debug("starting adapter as coordinator", NS);
|
|
258
249
|
const started = this.znp.waitFor(UnpiConstants.Type.AREQ, constants_1.Subsystem.ZDO, 'stateChangeInd', { state: 9 }, 60000);
|
|
259
250
|
await this.znp.request(constants_1.Subsystem.ZDO, 'startupFromApp', { startdelay: 100 }, null, null, [common_1.ZnpCommandStatus.SUCCESS, common_1.ZnpCommandStatus.FAILURE]);
|
|
260
251
|
await started.start().promise;
|
|
261
|
-
|
|
252
|
+
logger_1.logger.debug("adapter successfully started in coordinator mode", NS);
|
|
262
253
|
}
|
|
263
254
|
else {
|
|
264
|
-
|
|
255
|
+
logger_1.logger.debug("adapter is already running in coordinator mode", NS);
|
|
265
256
|
}
|
|
266
257
|
}
|
|
267
258
|
/**
|
|
@@ -282,19 +273,19 @@ class ZnpAdapterManager {
|
|
|
282
273
|
networkKeyDistribute: false
|
|
283
274
|
};
|
|
284
275
|
/* commission provisioning network */
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
276
|
+
logger_1.logger.debug("commissioning random provisioning network:", NS);
|
|
277
|
+
logger_1.logger.debug(` - panId: ${provisioningNwkOptions.panId}`, NS);
|
|
278
|
+
logger_1.logger.debug(` - extendedPanId: ${provisioningNwkOptions.extendedPanId.toString("hex")}`, NS);
|
|
279
|
+
logger_1.logger.debug(` - channelList: ${provisioningNwkOptions.channelList.join(", ")}`, NS);
|
|
280
|
+
logger_1.logger.debug(` - networkKey: ${provisioningNwkOptions.networkKey.toString("hex")}`, NS);
|
|
281
|
+
logger_1.logger.debug(` - networkKeyDistribute: ${provisioningNwkOptions.networkKeyDistribute}`, NS);
|
|
291
282
|
await this.beginCommissioning(provisioningNwkOptions, false, false);
|
|
292
283
|
/* perform NV restore */
|
|
293
284
|
await this.backup.restoreBackup(backup);
|
|
294
285
|
/* update commissioning NV items with desired nwk configuration */
|
|
295
286
|
await this.updateCommissioningNvItems(this.nwkOptions);
|
|
296
287
|
/* settle & reset adapter */
|
|
297
|
-
|
|
288
|
+
logger_1.logger.debug("giving adapter some time to settle", NS);
|
|
298
289
|
await (0, utils_1.Wait)(1000);
|
|
299
290
|
await this.resetAdapter();
|
|
300
291
|
/* startup with restored adapter */
|
|
@@ -319,7 +310,7 @@ class ZnpAdapterManager {
|
|
|
319
310
|
await this.clearAdapter();
|
|
320
311
|
/* commission the network as per parameters */
|
|
321
312
|
await this.updateCommissioningNvItems(nwkOptions);
|
|
322
|
-
|
|
313
|
+
logger_1.logger.debug("beginning network commissioning", NS);
|
|
323
314
|
if ([tstype_1.ZnpVersion.zStack30x, tstype_1.ZnpVersion.zStack3x0].includes(this.options.version)) {
|
|
324
315
|
/* configure channel */
|
|
325
316
|
await this.znp.request(constants_1.Subsystem.APP_CNF, "bdbSetChannel", { isPrimary: 0x1, channel: Utils.packChannelList(nwkOptions.channelList) });
|
|
@@ -339,7 +330,7 @@ class ZnpAdapterManager {
|
|
|
339
330
|
await this.beginStartup();
|
|
340
331
|
}
|
|
341
332
|
/* wait for NIB to settle (takes different amount of time of different platforms */
|
|
342
|
-
|
|
333
|
+
logger_1.logger.debug("waiting for NIB to settle", NS);
|
|
343
334
|
let reads = 0;
|
|
344
335
|
let nib = null;
|
|
345
336
|
do {
|
|
@@ -355,7 +346,7 @@ class ZnpAdapterManager {
|
|
|
355
346
|
if (extNwkInfo.payload.panid !== nwkOptions.panId && failOnCollision) {
|
|
356
347
|
throw new Error(`network commissioning failed - panId collision detected (expected=${nwkOptions.panId}, actual=${extNwkInfo.payload.panid})`);
|
|
357
348
|
}
|
|
358
|
-
|
|
349
|
+
logger_1.logger.debug("network commissioned", NS);
|
|
359
350
|
/* write configuration flag */
|
|
360
351
|
if (writeConfiguredFlag) {
|
|
361
352
|
await this.writeConfigurationFlag();
|
|
@@ -373,7 +364,7 @@ class ZnpAdapterManager {
|
|
|
373
364
|
const channelList = Structs.channelList();
|
|
374
365
|
channelList.channelList = Utils.packChannelList(options.channelList);
|
|
375
366
|
const extendedPanIdReversed = Buffer.from(options.extendedPanId).reverse();
|
|
376
|
-
|
|
367
|
+
logger_1.logger.debug(`setting network commissioning parameters`, NS);
|
|
377
368
|
await this.nv.updateItem(common_1.NvItemsIds.STARTUP_OPTION, Buffer.from([0x00]));
|
|
378
369
|
await this.nv.updateItem(common_1.NvItemsIds.LOGICAL_TYPE, Buffer.from([ZnpConstants.ZDO.deviceLogicalType.COORDINATOR]));
|
|
379
370
|
await this.nv.updateItem(common_1.NvItemsIds.ZDO_DIRECT_CB, Buffer.from([0x01]));
|
|
@@ -408,10 +399,10 @@ class ZnpAdapterManager {
|
|
|
408
399
|
const activeEp = await activeEpResponse.start().promise;
|
|
409
400
|
for (const endpoint of endpoints_1.Endpoints) {
|
|
410
401
|
if (activeEp.payload.activeeplist.includes(endpoint.endpoint)) {
|
|
411
|
-
|
|
402
|
+
logger_1.logger.debug(`endpoint '${endpoint.endpoint}' already registered`, NS);
|
|
412
403
|
}
|
|
413
404
|
else {
|
|
414
|
-
|
|
405
|
+
logger_1.logger.debug(`registering endpoint '${endpoint.endpoint}'`, NS);
|
|
415
406
|
await this.znp.request(constants_1.Subsystem.AF, 'register', endpoint);
|
|
416
407
|
}
|
|
417
408
|
}
|
|
@@ -432,15 +423,15 @@ class ZnpAdapterManager {
|
|
|
432
423
|
* Internal method to reset the adapter.
|
|
433
424
|
*/
|
|
434
425
|
async resetAdapter() {
|
|
435
|
-
|
|
426
|
+
logger_1.logger.debug("adapter reset requested", NS);
|
|
436
427
|
await this.znp.request(constants_1.Subsystem.SYS, 'resetReq', { type: ZnpConstants.SYS.resetType.SOFT });
|
|
437
|
-
|
|
428
|
+
logger_1.logger.debug("adapter reset successful", NS);
|
|
438
429
|
}
|
|
439
430
|
/**
|
|
440
431
|
* Internal method to reset adapter config and data.
|
|
441
432
|
*/
|
|
442
433
|
async clearAdapter() {
|
|
443
|
-
|
|
434
|
+
logger_1.logger.debug("clearing adapter using startup option 3", NS);
|
|
444
435
|
await this.nv.writeItem(common_1.NvItemsIds.STARTUP_OPTION, Buffer.from([0x03]));
|
|
445
436
|
await this.resetAdapter();
|
|
446
437
|
await this.nv.writeItem(common_1.NvItemsIds.STARTUP_OPTION, Buffer.from([0x00]));
|
|
@@ -475,7 +466,7 @@ class ZnpAdapterManager {
|
|
|
475
466
|
* Writes ZNP `hasConfigured` flag to NV memory. This flag indicates the adapter has been configured.
|
|
476
467
|
*/
|
|
477
468
|
async writeConfigurationFlag() {
|
|
478
|
-
|
|
469
|
+
logger_1.logger.debug("writing configuration flag to adapter NV memory", NS);
|
|
479
470
|
await this.nv.writeItem(this.options.version === tstype_1.ZnpVersion.zStack12 ? common_1.NvItemsIds.ZNP_HAS_CONFIGURED_ZSTACK1 : common_1.NvItemsIds.ZNP_HAS_CONFIGURED_ZSTACK3, Buffer.from([0x55]));
|
|
480
471
|
}
|
|
481
472
|
}
|