@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
|
@@ -31,14 +31,14 @@ const Events = __importStar(require("../../events"));
|
|
|
31
31
|
const adapter_1 = __importDefault(require("../../adapter"));
|
|
32
32
|
const znp_1 = require("../znp");
|
|
33
33
|
const unpi_1 = require("../unpi");
|
|
34
|
-
const
|
|
34
|
+
const Zcl = __importStar(require("../../../zspec/zcl"));
|
|
35
35
|
const utils_1 = require("../../../utils");
|
|
36
36
|
const Constants = __importStar(require("../constants"));
|
|
37
|
-
const debug_1 = __importDefault(require("debug"));
|
|
38
37
|
const debounce_1 = __importDefault(require("debounce"));
|
|
39
38
|
const manager_1 = require("./manager");
|
|
40
39
|
const assert_1 = __importDefault(require("assert"));
|
|
41
|
-
const
|
|
40
|
+
const logger_1 = require("../../../utils/logger");
|
|
41
|
+
const NS = "zh:zstack";
|
|
42
42
|
const Subsystem = unpi_1.Constants.Subsystem;
|
|
43
43
|
const Type = unpi_1.Constants.Type;
|
|
44
44
|
const { ZnpCommandStatus, AddressMode } = Constants.COMMON;
|
|
@@ -72,9 +72,11 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
72
72
|
interpanLock;
|
|
73
73
|
interpanEndpointRegistered;
|
|
74
74
|
waitress;
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
konnextConfig;
|
|
76
|
+
constructor(networkOptions, serialPortOptions, backupPath, adapterOptions, konnextConfig) {
|
|
77
|
+
super(networkOptions, serialPortOptions, backupPath, adapterOptions);
|
|
78
|
+
this.znp = new znp_1.Znp(this.serialPortOptions.path, this.serialPortOptions.baudRate, this.serialPortOptions.rtscts, konnextConfig);
|
|
79
|
+
this.konnextConfig = konnextConfig;
|
|
78
80
|
this.transactionID = 0;
|
|
79
81
|
this.deviceAnnounceRouteDiscoveryDebouncers = new Map();
|
|
80
82
|
this.interpanLock = false;
|
|
@@ -106,22 +108,22 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
106
108
|
this.version = (await this.znp.request(Subsystem.SYS, 'version', {})).payload;
|
|
107
109
|
}
|
|
108
110
|
catch (e) {
|
|
109
|
-
debug(`Failed to get zStack version, assuming 1.2
|
|
111
|
+
logger_1.logger.debug(`Failed to get zStack version, assuming 1.2`, NS);
|
|
110
112
|
this.version = { "transportrev": 2, "product": 0, "majorrel": 2, "minorrel": 0, "maintrel": 0, "revision": "" };
|
|
111
113
|
}
|
|
112
114
|
const concurrent = this.adapterOptions && this.adapterOptions.concurrent ?
|
|
113
115
|
this.adapterOptions.concurrent :
|
|
114
116
|
(this.version.product === tstype_1.ZnpVersion.zStack3x0 ? 16 : 2);
|
|
115
|
-
debug(`Adapter concurrent: ${concurrent}
|
|
117
|
+
logger_1.logger.debug(`Adapter concurrent: ${concurrent}`, NS);
|
|
116
118
|
this.queue = new utils_1.Queue(concurrent);
|
|
117
|
-
debug(`Detected znp version '${tstype_1.ZnpVersion[this.version.product]}' (${JSON.stringify(this.version)})
|
|
119
|
+
logger_1.logger.debug(`Detected znp version '${tstype_1.ZnpVersion[this.version.product]}' (${JSON.stringify(this.version)})`, NS);
|
|
118
120
|
this.adapterManager = new manager_1.ZnpAdapterManager(this.znp, {
|
|
119
121
|
backupPath: this.backupPath,
|
|
120
122
|
version: this.version.product,
|
|
121
123
|
greenPowerGroup: this.greenPowerGroup,
|
|
122
124
|
networkOptions: this.networkOptions,
|
|
123
125
|
adapterOptions: this.adapterOptions,
|
|
124
|
-
}
|
|
126
|
+
});
|
|
125
127
|
const startResult = this.adapterManager.start();
|
|
126
128
|
if (this.adapterOptions.disableLED) {
|
|
127
129
|
// Wait a bit for adapter to startup, otherwise led doesn't disable (tested with CC2531)
|
|
@@ -222,7 +224,7 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
222
224
|
* NOTE: There are cases where multiple nwkAddrRsp are recevied with different network addresses,
|
|
223
225
|
* this is currently not handled, the first nwkAddrRsp is taken.
|
|
224
226
|
*/
|
|
225
|
-
debug(
|
|
227
|
+
logger_1.logger.debug(`Request network address of '${ieeeAddr}'`, NS);
|
|
226
228
|
const response = this.znp.waitFor(unpi_1.Constants.Type.AREQ, Subsystem.ZDO, 'nwkAddrRsp', { ieeeaddr: ieeeAddr });
|
|
227
229
|
await this.znp.request(Subsystem.ZDO, 'nwkAddrReq', { ieeeaddr: ieeeAddr, reqtype: 0, startindex: 0 });
|
|
228
230
|
const result = await response.start().promise;
|
|
@@ -235,7 +237,7 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
235
237
|
return this.version.product === tstype_1.ZnpVersion.zStack3x0 && parseInt(this.version.revision) >= 20201026;
|
|
236
238
|
}
|
|
237
239
|
async discoverRoute(networkAddress, wait = true) {
|
|
238
|
-
debug(
|
|
240
|
+
logger_1.logger.debug(`Discovering route to ${networkAddress}`, NS);
|
|
239
241
|
const payload = { dstAddr: networkAddress, options: 0, radius: Constants.AF.DEFAULT_RADIUS };
|
|
240
242
|
await this.znp.request(Subsystem.ZDO, 'extRouteDisc', payload);
|
|
241
243
|
if (wait) {
|
|
@@ -250,7 +252,7 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
250
252
|
return result;
|
|
251
253
|
}
|
|
252
254
|
catch (error) {
|
|
253
|
-
debug(`Node descriptor request for '${networkAddress}' failed (${error}), retry
|
|
255
|
+
logger_1.logger.debug(`Node descriptor request for '${networkAddress}' failed (${error}), retry`, NS);
|
|
254
256
|
// Doing a route discovery after simple descriptor request fails makes it succeed sometimes.
|
|
255
257
|
// https://github.com/Koenkk/zigbee2mqtt/issues/3276
|
|
256
258
|
await this.discoverRoute(networkAddress);
|
|
@@ -313,19 +315,20 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
313
315
|
}, networkAddress);
|
|
314
316
|
}
|
|
315
317
|
async sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint, zclFrame, timeout, disableResponse, disableRecovery, responseAttempt, dataRequestAttempt, checkedNetworkAddress, discoveredRoute, assocRemove, assocRestore) {
|
|
316
|
-
debug(
|
|
318
|
+
logger_1.logger.debug(`sendZclFrameToEndpointInternal ${ieeeAddr}:${networkAddress}/${endpoint} `
|
|
319
|
+
+ `(${responseAttempt},${dataRequestAttempt},${this.queue.count()})`, NS);
|
|
317
320
|
let response = null;
|
|
318
|
-
const command = zclFrame.
|
|
321
|
+
const command = zclFrame.command;
|
|
319
322
|
if (command.hasOwnProperty('response') && disableResponse === false) {
|
|
320
|
-
response = this.waitForInternal(networkAddress, endpoint, zclFrame.
|
|
323
|
+
response = this.waitForInternal(networkAddress, endpoint, zclFrame.header.frameControl.frameType, Zcl.Direction.SERVER_TO_CLIENT, zclFrame.header.transactionSequenceNumber, zclFrame.cluster.ID, command.response, timeout);
|
|
321
324
|
}
|
|
322
|
-
else if (!zclFrame.
|
|
323
|
-
response = this.waitForInternal(networkAddress, endpoint,
|
|
325
|
+
else if (!zclFrame.header.frameControl.disableDefaultResponse) {
|
|
326
|
+
response = this.waitForInternal(networkAddress, endpoint, Zcl.FrameType.GLOBAL, Zcl.Direction.SERVER_TO_CLIENT, zclFrame.header.transactionSequenceNumber, zclFrame.cluster.ID, Zcl.Foundation.defaultRsp.ID, timeout);
|
|
324
327
|
}
|
|
325
|
-
const dataConfirmResult = await this.dataRequest(networkAddress, endpoint, sourceEndpoint, zclFrame.
|
|
328
|
+
const dataConfirmResult = await this.dataRequest(networkAddress, endpoint, sourceEndpoint, zclFrame.cluster.ID, Constants.AF.DEFAULT_RADIUS, zclFrame.toBuffer(), timeout);
|
|
326
329
|
if (dataConfirmResult !== ZnpCommandStatus.SUCCESS) {
|
|
327
330
|
// In case dataConfirm timesout (= null) or gives an error, try to recover
|
|
328
|
-
debug(
|
|
331
|
+
logger_1.logger.debug(`Data confirm error (${ieeeAddr}:${networkAddress},${dataConfirmResult},${dataRequestAttempt})`, NS);
|
|
329
332
|
if (response !== null)
|
|
330
333
|
response.cancel();
|
|
331
334
|
/**
|
|
@@ -334,7 +337,7 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
334
337
|
* Re-add the device to the assoc table, otherwise we will never be able to reach it anymore.
|
|
335
338
|
*/
|
|
336
339
|
if (assocRemove && assocRestore && this.supportsAssocAdd()) {
|
|
337
|
-
debug(
|
|
340
|
+
logger_1.logger.debug(`assocAdd(${assocRestore.ieeeadr})`, NS);
|
|
338
341
|
await this.znp.request(Subsystem.UTIL, 'assocAdd', assocRestore);
|
|
339
342
|
assocRestore = null;
|
|
340
343
|
}
|
|
@@ -387,7 +390,7 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
387
390
|
* z-stack-firmware firmware version. In case it's not supported by the coordinator we will
|
|
388
391
|
* automatically timeout after 60000ms.
|
|
389
392
|
*/
|
|
390
|
-
debug(
|
|
393
|
+
logger_1.logger.debug(`assocRemove(${ieeeAddr})`, NS);
|
|
391
394
|
await this.znp.request(Subsystem.UTIL, 'assocRemove', { ieeeadr: ieeeAddr });
|
|
392
395
|
}
|
|
393
396
|
else if (!discoveredRoute && dataRequestAttempt >= 1) {
|
|
@@ -400,19 +403,19 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
400
403
|
checkedNetworkAddress = true;
|
|
401
404
|
const actualNetworkAddress = await this.requestNetworkAddress(ieeeAddr);
|
|
402
405
|
if (networkAddress !== actualNetworkAddress) {
|
|
403
|
-
debug(`Failed because request was done with wrong network address
|
|
406
|
+
logger_1.logger.debug(`Failed because request was done with wrong network address`, NS);
|
|
404
407
|
discoveredRoute = true;
|
|
405
408
|
networkAddress = actualNetworkAddress;
|
|
406
409
|
await this.discoverRoute(actualNetworkAddress);
|
|
407
410
|
}
|
|
408
411
|
else {
|
|
409
|
-
debug('Network address did not change');
|
|
412
|
+
logger_1.logger.debug('Network address did not change', NS);
|
|
410
413
|
}
|
|
411
414
|
}
|
|
412
415
|
catch { }
|
|
413
416
|
}
|
|
414
417
|
else {
|
|
415
|
-
debug('Wait 2000ms');
|
|
418
|
+
logger_1.logger.debug('Wait 2000ms', NS);
|
|
416
419
|
await (0, utils_1.Wait)(2000);
|
|
417
420
|
}
|
|
418
421
|
return this.sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint, zclFrame, timeout, disableResponse, disableRecovery, responseAttempt, dataRequestAttempt + 1, checkedNetworkAddress, discoveredRoute, assocRemove, assocRestore);
|
|
@@ -424,16 +427,16 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
424
427
|
return result;
|
|
425
428
|
}
|
|
426
429
|
catch (error) {
|
|
427
|
-
debug(
|
|
430
|
+
logger_1.logger.debug(`Response timeout (${ieeeAddr}:${networkAddress},${responseAttempt})`, NS);
|
|
428
431
|
if (responseAttempt < 1 && !disableRecovery) {
|
|
429
432
|
// No response could be because the radio of the end device is turned off:
|
|
430
433
|
// Sometimes the coordinator does not properly set the PENDING flag.
|
|
431
434
|
// Try to rewrite the device entry in the association table, this fixes it sometimes.
|
|
432
435
|
const match = await this.znp.request(Subsystem.UTIL, 'assocGetWithAddress', { extaddr: ieeeAddr, nwkaddr: networkAddress });
|
|
433
|
-
debug(`Response timeout recovery: Node relation ${match.payload.noderelation} (${ieeeAddr} / ${match.payload.nwkaddr})
|
|
436
|
+
logger_1.logger.debug(`Response timeout recovery: Node relation ${match.payload.noderelation} (${ieeeAddr} / ${match.payload.nwkaddr})`, NS);
|
|
434
437
|
if (this.supportsAssocAdd() && this.supportsAssocRemove() &&
|
|
435
438
|
match.payload.nwkaddr !== 0xFFFE && match.payload.noderelation == 1) {
|
|
436
|
-
debug(`Response timeout recovery: Rewrite association table entry (${ieeeAddr})
|
|
439
|
+
logger_1.logger.debug(`Response timeout recovery: Rewrite association table entry (${ieeeAddr})`, NS);
|
|
437
440
|
await this.znp.request(Subsystem.UTIL, 'assocRemove', { ieeeadr: ieeeAddr });
|
|
438
441
|
await this.znp.request(Subsystem.UTIL, 'assocAdd', { ieeeadr: ieeeAddr, nwkaddr: networkAddress, noderelation: match.payload.noderelation });
|
|
439
442
|
}
|
|
@@ -453,7 +456,7 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
453
456
|
async sendZclFrameToGroup(groupID, zclFrame, sourceEndpoint) {
|
|
454
457
|
return this.queue.execute(async () => {
|
|
455
458
|
this.checkInterpanLock();
|
|
456
|
-
await this.dataRequestExtended(AddressMode.ADDR_GROUP, groupID, 0xFF, 0, sourceEndpoint || 1, zclFrame.
|
|
459
|
+
await this.dataRequestExtended(AddressMode.ADDR_GROUP, groupID, 0xFF, 0, sourceEndpoint || 1, zclFrame.cluster.ID, Constants.AF.DEFAULT_RADIUS, zclFrame.toBuffer(), 3000, true);
|
|
457
460
|
/**
|
|
458
461
|
* As a group command is not confirmed and thus immidiately returns
|
|
459
462
|
* (contrary to network address requests) we will give the
|
|
@@ -462,10 +465,10 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
462
465
|
await (0, utils_1.Wait)(200);
|
|
463
466
|
});
|
|
464
467
|
}
|
|
465
|
-
async sendZclFrameToAll(endpoint, zclFrame, sourceEndpoint) {
|
|
468
|
+
async sendZclFrameToAll(endpoint, zclFrame, sourceEndpoint, destination) {
|
|
466
469
|
return this.queue.execute(async () => {
|
|
467
470
|
this.checkInterpanLock();
|
|
468
|
-
await this.dataRequestExtended(AddressMode.ADDR_16BIT,
|
|
471
|
+
await this.dataRequestExtended(AddressMode.ADDR_16BIT, destination, endpoint, 0, sourceEndpoint, zclFrame.cluster.ID, Constants.AF.DEFAULT_RADIUS, zclFrame.toBuffer(), 3000, false, 0);
|
|
469
472
|
/**
|
|
470
473
|
* As a broadcast command is not confirmed and thus immidiately returns
|
|
471
474
|
* (contrary to network address requests) we will give the
|
|
@@ -654,11 +657,28 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
654
657
|
};
|
|
655
658
|
this.emit(Events.Events.networkAddress, payload);
|
|
656
659
|
}
|
|
660
|
+
else if (object.command === 'concentratorIndCb') {
|
|
661
|
+
// Some routers may change short addresses and the announcement
|
|
662
|
+
// is missed by the coordinator. This can happen when there are
|
|
663
|
+
// power outages or other interruptions in service. They may
|
|
664
|
+
// not send additional announcements, causing the device to go
|
|
665
|
+
// offline. However, those devices may instead send
|
|
666
|
+
// Concentrator Indicator Callback commands, which contain both
|
|
667
|
+
// the short and the long address allowing us to update our own
|
|
668
|
+
// mappings.
|
|
669
|
+
// https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/158/4403.zstacktask.c
|
|
670
|
+
// https://github.com/Koenkk/zigbee-herdsman/issues/74
|
|
671
|
+
const payload = {
|
|
672
|
+
networkAddress: object.payload.srcaddr,
|
|
673
|
+
ieeeAddr: object.payload.extaddr,
|
|
674
|
+
};
|
|
675
|
+
this.emit(Events.Events.networkAddress, payload);
|
|
676
|
+
}
|
|
657
677
|
else {
|
|
658
678
|
/* istanbul ignore else */
|
|
659
679
|
if (object.command === 'leaveInd') {
|
|
660
680
|
if (object.payload.rejoin) {
|
|
661
|
-
debug(`Device leave: Got leave indication with rejoin=true, nothing to do
|
|
681
|
+
logger_1.logger.debug(`Device leave: Got leave indication with rejoin=true, nothing to do`, NS);
|
|
662
682
|
}
|
|
663
683
|
else {
|
|
664
684
|
const payload = {
|
|
@@ -675,32 +695,19 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
675
695
|
if (object.subsystem === Subsystem.AF) {
|
|
676
696
|
/* istanbul ignore else */
|
|
677
697
|
if (object.command === 'incomingMsg' || object.command === 'incomingMsgExt') {
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
catch (error) {
|
|
692
|
-
const payload = {
|
|
693
|
-
clusterID: object.payload.clusterid,
|
|
694
|
-
data: object.payload.data,
|
|
695
|
-
address: object.payload.srcaddr,
|
|
696
|
-
endpoint: object.payload.srcendpoint,
|
|
697
|
-
linkquality: object.payload.linkquality,
|
|
698
|
-
groupID: object.payload.groupid,
|
|
699
|
-
wasBroadcast: object.payload.wasbroadcast === 1,
|
|
700
|
-
destinationEndpoint: object.payload.dstendpoint,
|
|
701
|
-
};
|
|
702
|
-
this.emit(Events.Events.rawData, payload);
|
|
703
|
-
}
|
|
698
|
+
const payload = {
|
|
699
|
+
clusterID: object.payload.clusterid,
|
|
700
|
+
data: object.payload.data,
|
|
701
|
+
header: Zcl.Header.fromBuffer(object.payload.data),
|
|
702
|
+
address: object.payload.srcaddr,
|
|
703
|
+
endpoint: object.payload.srcendpoint,
|
|
704
|
+
linkquality: object.payload.linkquality,
|
|
705
|
+
groupID: object.payload.groupid,
|
|
706
|
+
wasBroadcast: object.payload.wasbroadcast === 1,
|
|
707
|
+
destinationEndpoint: object.payload.dstendpoint,
|
|
708
|
+
};
|
|
709
|
+
this.waitress.resolve(payload);
|
|
710
|
+
this.emit(Events.Events.zclPayload, payload);
|
|
704
711
|
}
|
|
705
712
|
}
|
|
706
713
|
}
|
|
@@ -731,18 +738,18 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
731
738
|
}
|
|
732
739
|
async sendZclFrameInterPANToIeeeAddr(zclFrame, ieeeAddr) {
|
|
733
740
|
return this.queue.execute(async () => {
|
|
734
|
-
await this.dataRequestExtended(AddressMode.ADDR_64BIT, ieeeAddr, 0xFE, 0xFFFF, 12, zclFrame.
|
|
741
|
+
await this.dataRequestExtended(AddressMode.ADDR_64BIT, ieeeAddr, 0xFE, 0xFFFF, 12, zclFrame.cluster.ID, 30, zclFrame.toBuffer(), 10000, false);
|
|
735
742
|
});
|
|
736
743
|
}
|
|
737
744
|
async sendZclFrameInterPANBroadcast(zclFrame, timeout) {
|
|
738
745
|
return this.queue.execute(async () => {
|
|
739
|
-
const command = zclFrame.
|
|
746
|
+
const command = zclFrame.command;
|
|
740
747
|
if (!command.hasOwnProperty('response')) {
|
|
741
748
|
throw new Error(`Command '${command.name}' has no response, cannot wait for response`);
|
|
742
749
|
}
|
|
743
|
-
const response = this.waitForInternal(null, 0xFE, zclFrame.
|
|
750
|
+
const response = this.waitForInternal(null, 0xFE, zclFrame.header.frameControl.frameType, Zcl.Direction.SERVER_TO_CLIENT, null, zclFrame.cluster.ID, command.response, timeout);
|
|
744
751
|
try {
|
|
745
|
-
await this.dataRequestExtended(AddressMode.ADDR_16BIT, 0xFFFF, 0xFE, 0xFFFF, 12, zclFrame.
|
|
752
|
+
await this.dataRequestExtended(AddressMode.ADDR_16BIT, 0xFFFF, 0xFE, 0xFFFF, 12, zclFrame.cluster.ID, 30, zclFrame.toBuffer(), 10000, false);
|
|
746
753
|
}
|
|
747
754
|
catch (error) {
|
|
748
755
|
response.cancel();
|
|
@@ -759,6 +766,25 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
759
766
|
this.interpanLock = false;
|
|
760
767
|
});
|
|
761
768
|
}
|
|
769
|
+
async supportsChangeChannel() {
|
|
770
|
+
return false;
|
|
771
|
+
}
|
|
772
|
+
async changeChannel(newChannel) {
|
|
773
|
+
return this.queue.execute(async () => {
|
|
774
|
+
this.checkInterpanLock();
|
|
775
|
+
const payload = {
|
|
776
|
+
dstaddr: 0xFFFF, // broadcast with sleepy
|
|
777
|
+
dstaddrmode: AddressMode.ADDR_BROADCAST,
|
|
778
|
+
channelmask: [newChannel].reduce((a, c) => a + (1 << c), 0),
|
|
779
|
+
scanduration: 0xFE, // change channel
|
|
780
|
+
// scancount: null,// TODO: what's "not present" here?
|
|
781
|
+
// nwkmanageraddr: null,// TODO: what's "not present" here?
|
|
782
|
+
};
|
|
783
|
+
await this.znp.request(Subsystem.ZDO, 'mgmtNwkUpdateReq', payload);
|
|
784
|
+
// wait for the broadcast to propagate and the adapter to actually change
|
|
785
|
+
await (0, utils_1.Wait)(10000);
|
|
786
|
+
});
|
|
787
|
+
}
|
|
762
788
|
async setTransmitPower(value) {
|
|
763
789
|
return this.queue.execute(async () => {
|
|
764
790
|
await this.znp.request(Subsystem.SYS, 'stackTune', { operation: 0, value });
|
|
@@ -867,14 +893,14 @@ class ZStackAdapter extends adapter_1.default {
|
|
|
867
893
|
` - ${matcher.commandIdentifier} after ${timeout}ms`;
|
|
868
894
|
}
|
|
869
895
|
waitressValidator(payload, matcher) {
|
|
870
|
-
|
|
871
|
-
|
|
896
|
+
return payload.header &&
|
|
897
|
+
(!matcher.address || payload.address === matcher.address) &&
|
|
872
898
|
payload.endpoint === matcher.endpoint &&
|
|
873
|
-
(!matcher.transactionSequenceNumber || transactionSequenceNumber === matcher.transactionSequenceNumber) &&
|
|
874
|
-
payload.
|
|
875
|
-
matcher.frameType === payload.
|
|
876
|
-
matcher.commandIdentifier === payload.
|
|
877
|
-
matcher.direction === payload.
|
|
899
|
+
(!matcher.transactionSequenceNumber || payload.header.transactionSequenceNumber === matcher.transactionSequenceNumber) &&
|
|
900
|
+
payload.clusterID === matcher.clusterID &&
|
|
901
|
+
matcher.frameType === payload.header.frameControl.frameType &&
|
|
902
|
+
matcher.commandIdentifier === payload.header.commandIdentifier &&
|
|
903
|
+
matcher.direction === payload.header.frameControl.direction;
|
|
878
904
|
}
|
|
879
905
|
checkInterpanLock() {
|
|
880
906
|
if (this.interpanLock) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zStackAdapter.js","sourceRoot":"","sources":["../../../../src/adapter/z-stack/adapter/zStackAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zStackAdapter.js","sourceRoot":"","sources":["../../../../src/adapter/z-stack/adapter/zStackAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
import * as stream from 'stream';
|
|
4
|
+
import { KonnextConfig } from '../../../controller/model/konnextConfig';
|
|
4
5
|
declare class Parser extends stream.Transform {
|
|
5
6
|
private buffer;
|
|
6
|
-
|
|
7
|
+
private konnextConfig;
|
|
8
|
+
constructor(konnextConfig: KonnextConfig);
|
|
7
9
|
_transform(chunk: Buffer, _: string, cb: () => void): void;
|
|
8
10
|
private parseNext;
|
|
9
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/adapter/z-stack/unpi/parser.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/adapter/z-stack/unpi/parser.ts"],"names":[],"mappings":";;AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAKjC,OAAO,EAAC,aAAa,EAAC,MAAM,yCAAyC,CAAC;AAItE,cAAM,MAAO,SAAQ,MAAM,CAAC,SAAS;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAgB;gBAElB,aAAa,EAAE,aAAa;IAMxC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAcjE,OAAO,CAAC,SAAS;CAgCpB;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -29,22 +29,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
29
|
const stream = __importStar(require("stream"));
|
|
30
30
|
const constants_1 = require("./constants");
|
|
31
31
|
const frame_1 = __importDefault(require("./frame"));
|
|
32
|
-
const
|
|
33
|
-
const
|
|
32
|
+
const logger_1 = require("../../../utils/logger");
|
|
33
|
+
const aes_1 = require("../../../utils/aes");
|
|
34
|
+
const NS = 'zh:zstack:unpi:parser';
|
|
34
35
|
class Parser extends stream.Transform {
|
|
35
36
|
buffer;
|
|
36
|
-
|
|
37
|
+
konnextConfig;
|
|
38
|
+
constructor(konnextConfig) {
|
|
37
39
|
super();
|
|
38
40
|
this.buffer = Buffer.from([]);
|
|
41
|
+
this.konnextConfig = konnextConfig;
|
|
39
42
|
}
|
|
40
43
|
_transform(chunk, _, cb) {
|
|
41
|
-
debug(`<-- [${[...chunk]}]
|
|
42
|
-
|
|
44
|
+
logger_1.logger.debug(`<-- [${[...chunk]}]`, NS);
|
|
45
|
+
logger_1.logger.debug(`zigbee-parse [${chunk.toString('utf-8')}]`, NS);
|
|
46
|
+
let newChunk = chunk;
|
|
47
|
+
if (this.konnextConfig.isEncrypted === 1 && this.konnextConfig.encryptMode === 'LOTENALL') {
|
|
48
|
+
newChunk = (0, aes_1.aesCbcDecryptBase64ToHex)(chunk.toString('utf-8'), this.konnextConfig.secretKey, this.konnextConfig.macAddress);
|
|
49
|
+
logger_1.logger.debug(`zigbee-chunk [${chunk}]`, NS);
|
|
50
|
+
logger_1.logger.debug(`zigbee-parse [${newChunk}]`, NS);
|
|
51
|
+
}
|
|
52
|
+
this.buffer = Buffer.concat([this.buffer, Buffer.from(newChunk, 'hex')]);
|
|
43
53
|
this.parseNext();
|
|
44
54
|
cb();
|
|
45
55
|
}
|
|
46
56
|
parseNext() {
|
|
47
|
-
debug(`--- parseNext [${[...this.buffer]}]
|
|
57
|
+
logger_1.logger.debug(`--- parseNext [${[...this.buffer]}]`, NS);
|
|
48
58
|
if (this.buffer.length !== 0 && this.buffer.readUInt8(0) !== constants_1.SOF) {
|
|
49
59
|
// Buffer doesn't start with SOF, skip till SOF.
|
|
50
60
|
const index = this.buffer.indexOf(constants_1.SOF);
|
|
@@ -60,11 +70,11 @@ class Parser extends stream.Transform {
|
|
|
60
70
|
const frameBuffer = this.buffer.slice(0, frameLength);
|
|
61
71
|
try {
|
|
62
72
|
const frame = frame_1.default.fromBuffer(dataLength, fcsPosition, frameBuffer);
|
|
63
|
-
debug(`--> parsed ${frame}
|
|
73
|
+
logger_1.logger.debug(`--> parsed ${frame}`, NS);
|
|
64
74
|
this.emit('parsed', frame);
|
|
65
75
|
}
|
|
66
76
|
catch (error) {
|
|
67
|
-
debug(`--> error ${error.stack}
|
|
77
|
+
logger_1.logger.debug(`--> error ${error.stack}`, NS);
|
|
68
78
|
}
|
|
69
79
|
this.buffer = this.buffer.slice(frameLength, this.buffer.length);
|
|
70
80
|
this.parseNext();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/adapter/z-stack/unpi/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/adapter/z-stack/unpi/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
import * as stream from 'stream';
|
|
4
4
|
import Frame from './frame';
|
|
5
|
+
import { KonnextConfig } from '../../../controller/model/konnextConfig';
|
|
5
6
|
declare class Writer extends stream.Readable {
|
|
6
|
-
writeFrame(frame: Frame): void;
|
|
7
|
-
writeBuffer(buffer: Buffer): void;
|
|
7
|
+
writeFrame(frame: Frame, konnextConfig: KonnextConfig): void;
|
|
8
|
+
writeBuffer(buffer: Buffer, konnextConfig: KonnextConfig): void;
|
|
8
9
|
_read(): void;
|
|
9
10
|
}
|
|
10
11
|
export default Writer;
|