@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
|
@@ -1,23 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.EZSPAdapterBackup = void 0;
|
|
7
|
-
/* istanbul ignore file */
|
|
8
|
-
const debug_1 = __importDefault(require("debug"));
|
|
9
4
|
const types_1 = require("../driver/types");
|
|
10
5
|
const utils_1 = require("../driver/utils");
|
|
6
|
+
const mz_1 = require("mz");
|
|
7
|
+
const utils_2 = require("../../../utils");
|
|
8
|
+
const logger_1 = require("../../../utils/logger");
|
|
9
|
+
const NS = 'zh:ezsp:backup';
|
|
11
10
|
class EZSPAdapterBackup {
|
|
12
11
|
driver;
|
|
13
12
|
defaultPath;
|
|
14
|
-
debug = (0, debug_1.default)("zigbee-herdsman:adapter:ezsp:backup");
|
|
15
13
|
constructor(driver, path) {
|
|
16
14
|
this.driver = driver;
|
|
17
15
|
this.defaultPath = path;
|
|
18
16
|
}
|
|
19
17
|
async createBackup() {
|
|
20
|
-
|
|
18
|
+
logger_1.logger.debug("creating backup", NS);
|
|
21
19
|
const version = await this.driver.ezsp.version();
|
|
22
20
|
const linkResult = await this.driver.getKey(types_1.EmberKeyType.TRUST_CENTER_LINK_KEY);
|
|
23
21
|
const netParams = await this.driver.ezsp.execCommand('getNetworkParameters');
|
|
@@ -68,6 +66,36 @@ class EZSPAdapterBackup {
|
|
|
68
66
|
devices: []
|
|
69
67
|
};
|
|
70
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Loads currently stored backup and returns it in internal backup model.
|
|
71
|
+
*/
|
|
72
|
+
async getStoredBackup() {
|
|
73
|
+
try {
|
|
74
|
+
await mz_1.fs.access(this.defaultPath);
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
let data;
|
|
80
|
+
try {
|
|
81
|
+
data = JSON.parse((await mz_1.fs.readFile(this.defaultPath)).toString());
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
throw new Error('Coordinator backup is corrupted');
|
|
85
|
+
}
|
|
86
|
+
if (data.metadata?.format === "zigpy/open-coordinator-backup" && data.metadata?.version) {
|
|
87
|
+
if (data.metadata?.version !== 1) {
|
|
88
|
+
throw new Error(`Unsupported open coordinator backup version (version=${data.metadata?.version})`);
|
|
89
|
+
}
|
|
90
|
+
if (!data.metadata.internal?.ezspVersion) {
|
|
91
|
+
throw new Error(`This open coordinator backup format not for EZSP adapter`);
|
|
92
|
+
}
|
|
93
|
+
return utils_2.BackupUtils.fromUnifiedBackup(data);
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
throw new Error("Unknown backup format");
|
|
97
|
+
}
|
|
98
|
+
}
|
|
71
99
|
}
|
|
72
100
|
exports.EZSPAdapterBackup = EZSPAdapterBackup;
|
|
73
101
|
//# sourceMappingURL=backup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/adapter/backup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"backup.js","sourceRoot":"","sources":["../../../../src/adapter/ezsp/adapter/backup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { NetworkOptions, SerialPortOptions, Coordinator, CoordinatorVersion, NodeDescriptor, ActiveEndpoints, SimpleDescriptor, LQI, RoutingTable, NetworkParameters, StartResult, AdapterOptions } from '../../tstype';
|
|
3
3
|
import Adapter from '../../adapter';
|
|
4
|
-
import
|
|
4
|
+
import * as Zcl from '../../../zspec/zcl';
|
|
5
5
|
import * as Events from '../../events';
|
|
6
6
|
import * as Models from "../../../models";
|
|
7
|
+
import { BroadcastAddress } from '../../../zspec/enums';
|
|
7
8
|
declare class EZSPAdapter extends Adapter {
|
|
8
9
|
private driver;
|
|
9
10
|
private waitress;
|
|
10
11
|
private interpanLock;
|
|
11
|
-
private backupMan;
|
|
12
12
|
private queue;
|
|
13
13
|
private closing;
|
|
14
|
+
private deprecatedTimer;
|
|
14
15
|
constructor(networkOptions: NetworkOptions, serialPortOptions: SerialPortOptions, backupPath: string, adapterOptions: AdapterOptions);
|
|
15
16
|
private processMessage;
|
|
16
17
|
private handleDeviceJoin;
|
|
@@ -34,10 +35,10 @@ declare class EZSPAdapter extends Adapter {
|
|
|
34
35
|
private nodeDescriptorInternal;
|
|
35
36
|
activeEndpoints(networkAddress: number): Promise<ActiveEndpoints>;
|
|
36
37
|
simpleDescriptor(networkAddress: number, endpointID: number): Promise<SimpleDescriptor>;
|
|
37
|
-
sendZclFrameToEndpoint(ieeeAddr: string, networkAddress: number, endpoint: number, zclFrame:
|
|
38
|
+
sendZclFrameToEndpoint(ieeeAddr: string, networkAddress: number, endpoint: number, zclFrame: Zcl.Frame, timeout: number, disableResponse: boolean, disableRecovery: boolean, sourceEndpoint?: number): Promise<Events.ZclPayload>;
|
|
38
39
|
private sendZclFrameToEndpointInternal;
|
|
39
|
-
sendZclFrameToGroup(groupID: number, zclFrame:
|
|
40
|
-
sendZclFrameToAll(endpoint: number, zclFrame:
|
|
40
|
+
sendZclFrameToGroup(groupID: number, zclFrame: Zcl.Frame): Promise<void>;
|
|
41
|
+
sendZclFrameToAll(endpoint: number, zclFrame: Zcl.Frame, sourceEndpoint: number, destination: BroadcastAddress): Promise<void>;
|
|
41
42
|
bind(destinationNetworkAddress: number, sourceIeeeAddress: string, sourceEndpoint: number, clusterID: number, destinationAddressOrGroup: string | number, type: 'endpoint' | 'group', destinationEndpoint?: number): Promise<void>;
|
|
42
43
|
unbind(destinationNetworkAddress: number, sourceIeeeAddress: string, sourceEndpoint: number, clusterID: number, destinationAddressOrGroup: string | number, type: 'endpoint' | 'group', destinationEndpoint: number): Promise<void>;
|
|
43
44
|
removeDevice(networkAddress: number, ieeeAddr: string): Promise<void>;
|
|
@@ -46,13 +47,15 @@ declare class EZSPAdapter extends Adapter {
|
|
|
46
47
|
backup(): Promise<Models.Backup>;
|
|
47
48
|
restoreChannelInterPAN(): Promise<void>;
|
|
48
49
|
private checkInterpanLock;
|
|
49
|
-
sendZclFrameInterPANToIeeeAddr(zclFrame:
|
|
50
|
-
sendZclFrameInterPANBroadcast(zclFrame:
|
|
50
|
+
sendZclFrameInterPANToIeeeAddr(zclFrame: Zcl.Frame, ieeeAddr: string): Promise<void>;
|
|
51
|
+
sendZclFrameInterPANBroadcast(zclFrame: Zcl.Frame, timeout: number): Promise<Events.ZclPayload>;
|
|
52
|
+
supportsChangeChannel(): Promise<boolean>;
|
|
53
|
+
changeChannel(newChannel: number): Promise<void>;
|
|
51
54
|
setTransmitPower(value: number): Promise<void>;
|
|
52
55
|
setChannelInterPAN(channel: number): Promise<void>;
|
|
53
56
|
private waitForInternal;
|
|
54
|
-
waitFor(networkAddress: number, endpoint: number, frameType: FrameType, direction: Direction, transactionSequenceNumber: number, clusterID: number, commandIdentifier: number, timeout: number): {
|
|
55
|
-
promise: Promise<Events.
|
|
57
|
+
waitFor(networkAddress: number, endpoint: number, frameType: Zcl.FrameType, direction: Zcl.Direction, transactionSequenceNumber: number, clusterID: number, commandIdentifier: number, timeout: number): {
|
|
58
|
+
promise: Promise<Events.ZclPayload>;
|
|
56
59
|
cancel: () => void;
|
|
57
60
|
};
|
|
58
61
|
private waitressTimeoutFormatter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ezspAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/adapter/ezspAdapter.ts"],"names":[],"mappings":";AACA,OAAO,EACH,cAAc,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAClF,eAAe,EAAE,gBAAgB,EAAE,GAAG,EAAE,YAAY,EAAE,iBAAiB,EACvE,WAAW,EAAkC,cAAc,EAC9D,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ezspAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/ezsp/adapter/ezspAdapter.ts"],"names":[],"mappings":";AACA,OAAO,EACH,cAAc,EAAE,iBAAiB,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAClF,eAAe,EAAE,gBAAgB,EAAE,GAAG,EAAE,YAAY,EAAE,iBAAiB,EACvE,WAAW,EAAkC,cAAc,EAC9D,MAAM,cAAc,CAAC;AACtB,OAAO,OAAO,MAAM,eAAe,CAAC;AAIpC,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAEvC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAK1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAkBtD,cAAM,WAAY,SAAQ,OAAO;IAC7B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,eAAe,CAAiB;gBAGrB,cAAc,EAAE,cAAc,EAC7C,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc;YAoB9E,cAAc;YAuEd,gBAAgB;IAgB9B,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;IAW7B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;WAQvB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAc3C,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAMxC,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAkCtC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBlE,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAIpD,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA8CzC,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA2C3D,cAAc,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;YAc9D,sBAAsB;IAYvB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAWjE,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkBvF,sBAAsB,CAC/B,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAChG,eAAe,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,MAAM,GAC5E,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;YAUf,8BAA8B;IA6D/B,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB9H,IAAI,CACb,yBAAyB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EACpF,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,EACzF,mBAAmB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,IAAI,CAAC;IA2BH,MAAM,CACf,yBAAyB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EACpF,SAAS,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,EACzF,mBAAmB,EAAE,MAAM,GAC5B,OAAO,CAAC,IAAI,CAAC;IA2BT,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/D,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAQlD,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IAMhC,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAUpD,OAAO,CAAC,iBAAiB;IAMZ,8BAA8B,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBpF,6BAA6B,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;IAkC/F,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO9C,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/D,OAAO,CAAC,eAAe;IAahB,OAAO,CACV,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAC5F,yBAAyB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GACjG;QAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,IAAI,CAAA;KAAE;IAS9D,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,iBAAiB;CAQ5B;AAGD,eAAe,WAAW,CAAC"}
|
|
@@ -26,17 +26,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const debug_1 = __importDefault(require("debug"));
|
|
30
29
|
const adapter_1 = __importDefault(require("../../adapter"));
|
|
31
|
-
const debug = (0, debug_1.default)("zigbee-herdsman:adapter:ezsp:debg");
|
|
32
30
|
const driver_1 = require("../driver");
|
|
33
31
|
const types_1 = require("../driver/types");
|
|
34
|
-
const
|
|
32
|
+
const Zcl = __importStar(require("../../../zspec/zcl"));
|
|
35
33
|
const Events = __importStar(require("../../events"));
|
|
36
34
|
const utils_1 = require("../../../utils");
|
|
37
35
|
const serialPortUtils_1 = __importDefault(require("../../serialPortUtils"));
|
|
38
36
|
const socketPortUtils_1 = __importDefault(require("../../socketPortUtils"));
|
|
39
|
-
const
|
|
37
|
+
const logger_1 = require("../../../utils/logger");
|
|
38
|
+
const NS = 'zh:ezsp';
|
|
40
39
|
const autoDetectDefinitions = [
|
|
41
40
|
{ manufacturer: 'ITEAD', vendorId: '1a86', productId: '55d4' }, // Sonoff ZBDongle-E
|
|
42
41
|
{ manufacturer: 'Nabu Casa', vendorId: '10c4', productId: 'ea60' }, // Home Assistant SkyConnect
|
|
@@ -45,26 +44,25 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
45
44
|
driver;
|
|
46
45
|
waitress;
|
|
47
46
|
interpanLock;
|
|
48
|
-
backupMan;
|
|
49
47
|
queue;
|
|
50
48
|
closing;
|
|
49
|
+
deprecatedTimer;
|
|
51
50
|
constructor(networkOptions, serialPortOptions, backupPath, adapterOptions) {
|
|
52
51
|
super(networkOptions, serialPortOptions, backupPath, adapterOptions);
|
|
53
52
|
this.waitress = new utils_1.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
|
|
54
53
|
this.interpanLock = false;
|
|
55
54
|
this.closing = false;
|
|
56
55
|
const concurrent = adapterOptions && adapterOptions.concurrent ? adapterOptions.concurrent : 8;
|
|
57
|
-
debug(`Adapter concurrent: ${concurrent}
|
|
56
|
+
logger_1.logger.debug(`Adapter concurrent: ${concurrent}`, NS);
|
|
58
57
|
this.queue = new utils_1.Queue(concurrent);
|
|
59
|
-
this.driver = new driver_1.Driver(this.serialPortOptions, this.networkOptions, this.greenPowerGroup);
|
|
58
|
+
this.driver = new driver_1.Driver(this.serialPortOptions, this.networkOptions, this.greenPowerGroup, backupPath);
|
|
60
59
|
this.driver.on('close', this.onDriverClose.bind(this));
|
|
61
60
|
this.driver.on('deviceJoined', this.handleDeviceJoin.bind(this));
|
|
62
61
|
this.driver.on('deviceLeft', this.handleDeviceLeft.bind(this));
|
|
63
62
|
this.driver.on('incomingMessage', this.processMessage.bind(this));
|
|
64
|
-
this.backupMan = new backup_1.EZSPAdapterBackup(this.driver, backupPath);
|
|
65
63
|
}
|
|
66
64
|
async processMessage(frame) {
|
|
67
|
-
debug(`processMessage: ${JSON.stringify(frame)}
|
|
65
|
+
logger_1.logger.debug(`processMessage: ${JSON.stringify(frame)}`, NS);
|
|
68
66
|
if (frame.apsFrame.profileId == 0) {
|
|
69
67
|
if (frame.apsFrame.clusterId == types_1.EmberZDOCmd.Device_annce &&
|
|
70
68
|
frame.apsFrame.destinationEndpoint == 0) {
|
|
@@ -73,41 +71,30 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
73
71
|
[nwk, rst] = types_1.uint16_t.deserialize(types_1.uint16_t, frame.message.subarray(1));
|
|
74
72
|
[ieee, rst] = types_1.EmberEUI64.deserialize(types_1.EmberEUI64, rst);
|
|
75
73
|
ieee = new types_1.EmberEUI64(ieee);
|
|
76
|
-
debug(
|
|
74
|
+
logger_1.logger.debug(`ZDO Device announce: ${nwk}, ${ieee.toString()}`, NS);
|
|
77
75
|
this.driver.handleNodeJoined(nwk, ieee);
|
|
78
76
|
}
|
|
79
77
|
}
|
|
80
78
|
else if (frame.apsFrame.profileId == 260 || frame.apsFrame.profileId == 0xFFFF) {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
catch (error) {
|
|
95
|
-
const payload = {
|
|
96
|
-
clusterID: frame.apsFrame.clusterId,
|
|
97
|
-
data: frame.message,
|
|
98
|
-
address: frame.sender,
|
|
99
|
-
endpoint: frame.apsFrame.sourceEndpoint,
|
|
100
|
-
linkquality: frame.lqi,
|
|
101
|
-
groupID: frame.apsFrame.groupId,
|
|
102
|
-
wasBroadcast: false, // TODO
|
|
103
|
-
destinationEndpoint: frame.apsFrame.destinationEndpoint,
|
|
104
|
-
};
|
|
105
|
-
this.emit(Events.Events.rawData, payload);
|
|
106
|
-
}
|
|
79
|
+
const payload = {
|
|
80
|
+
clusterID: frame.apsFrame.clusterId,
|
|
81
|
+
header: Zcl.Header.fromBuffer(frame.message),
|
|
82
|
+
data: frame.message,
|
|
83
|
+
address: frame.sender,
|
|
84
|
+
endpoint: frame.apsFrame.sourceEndpoint,
|
|
85
|
+
linkquality: frame.lqi,
|
|
86
|
+
groupID: frame.apsFrame.groupId,
|
|
87
|
+
wasBroadcast: false, // TODO
|
|
88
|
+
destinationEndpoint: frame.apsFrame.destinationEndpoint,
|
|
89
|
+
};
|
|
90
|
+
this.waitress.resolve(payload);
|
|
91
|
+
this.emit(Events.Events.zclPayload, payload);
|
|
107
92
|
}
|
|
108
93
|
else if (frame.apsFrame.profileId == 0xc05e && frame.senderEui64) { // ZLL Frame
|
|
109
94
|
const payload = {
|
|
110
|
-
|
|
95
|
+
clusterID: frame.apsFrame.clusterId,
|
|
96
|
+
header: Zcl.Header.fromBuffer(frame.message),
|
|
97
|
+
data: frame.message,
|
|
111
98
|
address: `0x${frame.senderEui64.toString()}`,
|
|
112
99
|
endpoint: 0xFE,
|
|
113
100
|
linkquality: frame.lqi,
|
|
@@ -116,16 +103,17 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
116
103
|
destinationEndpoint: null,
|
|
117
104
|
};
|
|
118
105
|
this.waitress.resolve(payload);
|
|
119
|
-
this.emit(Events.Events.
|
|
106
|
+
this.emit(Events.Events.zclPayload, payload);
|
|
120
107
|
}
|
|
121
108
|
else if (frame.apsFrame.profileId == 0xA1E0) { // GP Frame
|
|
122
109
|
// Only handle when clusterId == 33 (greenPower), some devices send messages with this profileId
|
|
123
110
|
// while the cluster is not greenPower
|
|
124
111
|
// https://github.com/Koenkk/zigbee2mqtt/issues/20838
|
|
125
112
|
if (frame.apsFrame.clusterId === 33) {
|
|
126
|
-
const zclFrame = zcl_1.ZclFrame.create(zcl_1.FrameType.SPECIFIC, zcl_1.Direction.CLIENT_TO_SERVER, true, null, frame.apsFrame.sequence, (frame.messageType == 0xE0) ? 'commissioningNotification' : 'notification', frame.apsFrame.clusterId, frame.message);
|
|
127
113
|
const payload = {
|
|
128
|
-
|
|
114
|
+
header: Zcl.Header.fromBuffer(frame.message),
|
|
115
|
+
clusterID: frame.apsFrame.clusterId,
|
|
116
|
+
data: frame.message,
|
|
129
117
|
address: frame.sender,
|
|
130
118
|
endpoint: frame.apsFrame.sourceEndpoint,
|
|
131
119
|
linkquality: frame.lqi,
|
|
@@ -134,10 +122,10 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
134
122
|
destinationEndpoint: frame.apsFrame.sourceEndpoint,
|
|
135
123
|
};
|
|
136
124
|
this.waitress.resolve(payload);
|
|
137
|
-
this.emit(Events.Events.
|
|
125
|
+
this.emit(Events.Events.zclPayload, payload);
|
|
138
126
|
}
|
|
139
127
|
else {
|
|
140
|
-
debug(`Ignoring GP frame because clusterId is not greenPower
|
|
128
|
+
logger_1.logger.debug(`Ignoring GP frame because clusterId is not greenPower`, NS);
|
|
141
129
|
}
|
|
142
130
|
}
|
|
143
131
|
this.emit('event', frame);
|
|
@@ -145,7 +133,7 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
145
133
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
146
134
|
async handleDeviceJoin(arr) {
|
|
147
135
|
const [nwk, ieee] = arr;
|
|
148
|
-
debug(
|
|
136
|
+
logger_1.logger.debug(`Device join request received: ${nwk} ${ieee.toString('hex')}`, NS);
|
|
149
137
|
const payload = {
|
|
150
138
|
networkAddress: nwk,
|
|
151
139
|
ieeeAddr: `0x${ieee.toString('hex')}`,
|
|
@@ -160,7 +148,7 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
160
148
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
161
149
|
handleDeviceLeft(arr) {
|
|
162
150
|
const [nwk, ieee] = arr;
|
|
163
|
-
debug(
|
|
151
|
+
logger_1.logger.debug(`Device left network request received: ${nwk} ${ieee}`, NS);
|
|
164
152
|
const payload = {
|
|
165
153
|
networkAddress: nwk,
|
|
166
154
|
ieeeAddr: `0x${ieee.toString('hex')}`,
|
|
@@ -171,14 +159,22 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
171
159
|
* Adapter methods
|
|
172
160
|
*/
|
|
173
161
|
async start() {
|
|
162
|
+
const logEzspDeprecated = () => {
|
|
163
|
+
const message = `Deprecated driver 'ezsp' currently in use, 'ember' will become the officially supported EmberZNet ` +
|
|
164
|
+
`driver in next release. If using Zigbee2MQTT see https://github.com/Koenkk/zigbee2mqtt/discussions/21462`;
|
|
165
|
+
logger_1.logger.warning(message, NS);
|
|
166
|
+
};
|
|
167
|
+
logEzspDeprecated();
|
|
168
|
+
this.deprecatedTimer = setInterval(logEzspDeprecated, 60 * 60 * 1000); // Every 60 mins
|
|
174
169
|
return this.driver.startup();
|
|
175
170
|
}
|
|
176
171
|
async stop() {
|
|
177
172
|
this.closing = true;
|
|
173
|
+
clearInterval(this.deprecatedTimer);
|
|
178
174
|
await this.driver.stop();
|
|
179
175
|
}
|
|
180
176
|
async onDriverClose() {
|
|
181
|
-
debug(`onDriverClose()
|
|
177
|
+
logger_1.logger.debug(`onDriverClose()`, NS);
|
|
182
178
|
if (!this.closing) {
|
|
183
179
|
this.emit(Events.Events.disconnected);
|
|
184
180
|
}
|
|
@@ -192,7 +188,7 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
192
188
|
return serialPortUtils_1.default.is((0, utils_1.RealpathSync)(path), autoDetectDefinitions);
|
|
193
189
|
}
|
|
194
190
|
catch (error) {
|
|
195
|
-
debug(`Failed to determine if path is valid: '${error}'
|
|
191
|
+
logger_1.logger.debug(`Failed to determine if path is valid: '${error}'`, NS);
|
|
196
192
|
return false;
|
|
197
193
|
}
|
|
198
194
|
}
|
|
@@ -329,12 +325,12 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
329
325
|
return this.queue.execute(async () => {
|
|
330
326
|
this.checkInterpanLock();
|
|
331
327
|
try {
|
|
332
|
-
debug(`Requesting 'Node Descriptor' for '${networkAddress}'
|
|
328
|
+
logger_1.logger.debug(`Requesting 'Node Descriptor' for '${networkAddress}'`, NS);
|
|
333
329
|
const result = await this.nodeDescriptorInternal(networkAddress);
|
|
334
330
|
return result;
|
|
335
331
|
}
|
|
336
332
|
catch (error) {
|
|
337
|
-
debug(`Node descriptor request for '${networkAddress}' failed (${error}), retry
|
|
333
|
+
logger_1.logger.debug(`Node descriptor request for '${networkAddress}' failed (${error}), retry`, NS);
|
|
338
334
|
throw error;
|
|
339
335
|
}
|
|
340
336
|
});
|
|
@@ -348,14 +344,14 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
348
344
|
};
|
|
349
345
|
}
|
|
350
346
|
async activeEndpoints(networkAddress) {
|
|
351
|
-
debug(`Requesting 'Active endpoints' for '${networkAddress}'
|
|
347
|
+
logger_1.logger.debug(`Requesting 'Active endpoints' for '${networkAddress}'`, NS);
|
|
352
348
|
return this.queue.execute(async () => {
|
|
353
349
|
const endpoints = await this.driver.zdoRequest(networkAddress, types_1.EmberZDOCmd.Active_EP_req, types_1.EmberZDOCmd.Active_EP_rsp, { dstaddr: networkAddress });
|
|
354
350
|
return { endpoints: [...endpoints.activeeplist] };
|
|
355
351
|
}, networkAddress);
|
|
356
352
|
}
|
|
357
353
|
async simpleDescriptor(networkAddress, endpointID) {
|
|
358
|
-
debug(`Requesting 'Simple Descriptor' for '${networkAddress}' endpoint ${endpointID}
|
|
354
|
+
logger_1.logger.debug(`Requesting 'Simple Descriptor' for '${networkAddress}' endpoint ${endpointID}`, NS);
|
|
359
355
|
return this.queue.execute(async () => {
|
|
360
356
|
this.checkInterpanLock();
|
|
361
357
|
const descriptor = await this.driver.zdoRequest(networkAddress, types_1.EmberZDOCmd.Simple_Desc_req, types_1.EmberZDOCmd.Simple_Desc_rsp, { dstaddr: networkAddress, targetEp: endpointID });
|
|
@@ -378,16 +374,17 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
378
374
|
if (ieeeAddr == null) {
|
|
379
375
|
ieeeAddr = `0x${this.driver.ieee.toString()}`;
|
|
380
376
|
}
|
|
381
|
-
debug(
|
|
377
|
+
logger_1.logger.debug(`sendZclFrameToEndpointInternal ${ieeeAddr}:${networkAddress}/${endpoint} `
|
|
378
|
+
+ `(${responseAttempt},${dataRequestAttempt},${this.queue.count()}), timeout=${timeout}`, NS);
|
|
382
379
|
let response = null;
|
|
383
|
-
const command = zclFrame.
|
|
380
|
+
const command = zclFrame.command;
|
|
384
381
|
if (command.hasOwnProperty('response') && disableResponse === false) {
|
|
385
|
-
response = this.waitForInternal(networkAddress, endpoint, zclFrame.
|
|
382
|
+
response = this.waitForInternal(networkAddress, endpoint, zclFrame.header.transactionSequenceNumber, zclFrame.cluster.ID, command.response, timeout);
|
|
386
383
|
}
|
|
387
|
-
else if (!zclFrame.
|
|
388
|
-
response = this.waitForInternal(networkAddress, endpoint, zclFrame.
|
|
384
|
+
else if (!zclFrame.header.frameControl.disableDefaultResponse) {
|
|
385
|
+
response = this.waitForInternal(networkAddress, endpoint, zclFrame.header.transactionSequenceNumber, zclFrame.cluster.ID, Zcl.Foundation.defaultRsp.ID, timeout);
|
|
389
386
|
}
|
|
390
|
-
const frame = this.driver.makeApsFrame(zclFrame.
|
|
387
|
+
const frame = this.driver.makeApsFrame(zclFrame.cluster.ID, disableResponse || zclFrame.header.frameControl.disableDefaultResponse);
|
|
391
388
|
frame.profileId = 0x0104;
|
|
392
389
|
frame.sourceEndpoint = sourceEndpoint || 0x01;
|
|
393
390
|
frame.destinationEndpoint = endpoint;
|
|
@@ -406,7 +403,7 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
406
403
|
return result;
|
|
407
404
|
}
|
|
408
405
|
catch (error) {
|
|
409
|
-
debug(
|
|
406
|
+
logger_1.logger.debug(`Response timeout (${ieeeAddr}:${networkAddress},${responseAttempt})`, NS);
|
|
410
407
|
if (responseAttempt < 1 && !disableRecovery) {
|
|
411
408
|
return this.sendZclFrameToEndpointInternal(ieeeAddr, networkAddress, endpoint, sourceEndpoint, zclFrame, timeout, disableResponse, disableRecovery, responseAttempt + 1, dataRequestAttempt, checkedNetworkAddress, discoveredRoute, assocRemove, assocRestore);
|
|
412
409
|
}
|
|
@@ -422,7 +419,7 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
422
419
|
async sendZclFrameToGroup(groupID, zclFrame) {
|
|
423
420
|
return this.queue.execute(async () => {
|
|
424
421
|
this.checkInterpanLock();
|
|
425
|
-
const frame = this.driver.makeApsFrame(zclFrame.
|
|
422
|
+
const frame = this.driver.makeApsFrame(zclFrame.cluster.ID, false);
|
|
426
423
|
frame.profileId = 0x0104;
|
|
427
424
|
frame.sourceEndpoint = 0x01;
|
|
428
425
|
frame.destinationEndpoint = 0x01;
|
|
@@ -436,14 +433,14 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
436
433
|
await (0, utils_1.Wait)(200);
|
|
437
434
|
});
|
|
438
435
|
}
|
|
439
|
-
async sendZclFrameToAll(endpoint, zclFrame, sourceEndpoint) {
|
|
436
|
+
async sendZclFrameToAll(endpoint, zclFrame, sourceEndpoint, destination) {
|
|
440
437
|
return this.queue.execute(async () => {
|
|
441
438
|
this.checkInterpanLock();
|
|
442
|
-
const frame = this.driver.makeApsFrame(zclFrame.
|
|
439
|
+
const frame = this.driver.makeApsFrame(zclFrame.cluster.ID, false);
|
|
443
440
|
frame.profileId = sourceEndpoint === 242 && endpoint === 242 ? 0xA1E0 : 0x0104;
|
|
444
441
|
frame.sourceEndpoint = sourceEndpoint;
|
|
445
442
|
frame.destinationEndpoint = endpoint;
|
|
446
|
-
frame.groupId =
|
|
443
|
+
frame.groupId = destination;
|
|
447
444
|
await this.driver.mrequest(frame, zclFrame.toBuffer());
|
|
448
445
|
/**
|
|
449
446
|
* As a broadcast command is not confirmed and thus immidiately returns
|
|
@@ -517,11 +514,11 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
517
514
|
};
|
|
518
515
|
}
|
|
519
516
|
async supportsBackup() {
|
|
520
|
-
return
|
|
517
|
+
return true;
|
|
521
518
|
}
|
|
522
519
|
async backup() {
|
|
523
520
|
if (this.driver.ezsp.isInitialized()) {
|
|
524
|
-
return this.backupMan.createBackup();
|
|
521
|
+
return this.driver.backupMan.createBackup();
|
|
525
522
|
}
|
|
526
523
|
}
|
|
527
524
|
async restoreChannelInterPAN() {
|
|
@@ -540,7 +537,7 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
540
537
|
}
|
|
541
538
|
async sendZclFrameInterPANToIeeeAddr(zclFrame, ieeeAddr) {
|
|
542
539
|
return this.queue.execute(async () => {
|
|
543
|
-
debug(`sendZclFrameInterPANToIeeeAddr to ${ieeeAddr}
|
|
540
|
+
logger_1.logger.debug(`sendZclFrameInterPANToIeeeAddr to ${ieeeAddr}`, NS);
|
|
544
541
|
try {
|
|
545
542
|
const frame = this.driver.makeEmberIeeeRawFrame();
|
|
546
543
|
frame.ieeeFrameControl = 0xcc21;
|
|
@@ -550,7 +547,7 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
550
547
|
frame.sourceAddress = this.driver.ieee;
|
|
551
548
|
frame.nwkFrameControl = 0x000b;
|
|
552
549
|
frame.appFrameControl = 0x03;
|
|
553
|
-
frame.clusterId = zclFrame.
|
|
550
|
+
frame.clusterId = zclFrame.cluster.ID;
|
|
554
551
|
frame.profileId = 0xc05e;
|
|
555
552
|
await this.driver.ieeerawrequest(frame, zclFrame.toBuffer());
|
|
556
553
|
}
|
|
@@ -561,12 +558,12 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
561
558
|
}
|
|
562
559
|
async sendZclFrameInterPANBroadcast(zclFrame, timeout) {
|
|
563
560
|
return this.queue.execute(async () => {
|
|
564
|
-
debug(`sendZclFrameInterPANBroadcast
|
|
565
|
-
const command = zclFrame.
|
|
561
|
+
logger_1.logger.debug(`sendZclFrameInterPANBroadcast`, NS);
|
|
562
|
+
const command = zclFrame.command;
|
|
566
563
|
if (!command.hasOwnProperty('response')) {
|
|
567
564
|
throw new Error(`Command '${command.name}' has no response, cannot wait for response`);
|
|
568
565
|
}
|
|
569
|
-
const response = this.waitForInternal(null, 0xFE, null, zclFrame.
|
|
566
|
+
const response = this.waitForInternal(null, 0xFE, null, zclFrame.cluster.ID, command.response, timeout);
|
|
570
567
|
try {
|
|
571
568
|
const frame = this.driver.makeEmberRawFrame();
|
|
572
569
|
frame.ieeeFrameControl = 0xc801;
|
|
@@ -576,7 +573,7 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
576
573
|
frame.ieeeAddress = this.driver.ieee;
|
|
577
574
|
frame.nwkFrameControl = 0x000b;
|
|
578
575
|
frame.appFrameControl = 0x0b;
|
|
579
|
-
frame.clusterId = zclFrame.
|
|
576
|
+
frame.clusterId = zclFrame.cluster.ID;
|
|
580
577
|
frame.profileId = 0xc05e;
|
|
581
578
|
await this.driver.rawrequest(frame, zclFrame.toBuffer());
|
|
582
579
|
}
|
|
@@ -587,8 +584,15 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
587
584
|
return response.start().promise;
|
|
588
585
|
});
|
|
589
586
|
}
|
|
587
|
+
async supportsChangeChannel() {
|
|
588
|
+
return false;
|
|
589
|
+
}
|
|
590
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
591
|
+
async changeChannel(newChannel) {
|
|
592
|
+
return Promise.reject(new Error("Not supported"));
|
|
593
|
+
}
|
|
590
594
|
async setTransmitPower(value) {
|
|
591
|
-
debug(`setTransmitPower to ${value}
|
|
595
|
+
logger_1.logger.debug(`setTransmitPower to ${value}`, NS);
|
|
592
596
|
return this.queue.execute(async () => {
|
|
593
597
|
await this.driver.setRadioPower(value);
|
|
594
598
|
});
|
|
@@ -618,12 +622,12 @@ class EZSPAdapter extends adapter_1.default {
|
|
|
618
622
|
` - ${matcher.commandIdentifier} after ${timeout}ms`;
|
|
619
623
|
}
|
|
620
624
|
waitressValidator(payload, matcher) {
|
|
621
|
-
|
|
622
|
-
|
|
625
|
+
return payload.header &&
|
|
626
|
+
(!matcher.address || payload.address === matcher.address) &&
|
|
623
627
|
payload.endpoint === matcher.endpoint &&
|
|
624
|
-
(!matcher.transactionSequenceNumber || transactionSequenceNumber === matcher.transactionSequenceNumber) &&
|
|
625
|
-
payload.
|
|
626
|
-
matcher.commandIdentifier === payload.
|
|
628
|
+
(!matcher.transactionSequenceNumber || payload.header.transactionSequenceNumber === matcher.transactionSequenceNumber) &&
|
|
629
|
+
payload.clusterID === matcher.clusterID &&
|
|
630
|
+
matcher.commandIdentifier === payload.header.commandIdentifier;
|
|
627
631
|
}
|
|
628
632
|
}
|
|
629
633
|
exports.default = EZSPAdapter;
|