zigbee-herdsman 0.55.5 → 0.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +14 -0
- package/dist/adapter/adapter.d.ts +16 -8
- package/dist/adapter/adapter.d.ts.map +1 -1
- package/dist/adapter/adapter.js +4 -2
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +11 -11
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.js +98 -91
- package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
- package/dist/adapter/deconz/adapter/index.d.ts.map +1 -1
- package/dist/adapter/deconz/adapter/index.js +0 -2
- package/dist/adapter/deconz/adapter/index.js.map +1 -1
- package/dist/adapter/deconz/driver/driver.d.ts +13 -13
- package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/driver.js +124 -126
- package/dist/adapter/deconz/driver/driver.js.map +1 -1
- package/dist/adapter/deconz/driver/frame.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/frame.js +1 -1
- package/dist/adapter/deconz/driver/frame.js.map +1 -1
- package/dist/adapter/deconz/driver/frameParser.d.ts +3 -1
- package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/frameParser.js +31 -29
- package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
- package/dist/adapter/deconz/driver/parser.d.ts +3 -4
- package/dist/adapter/deconz/driver/parser.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/parser.js +3 -28
- package/dist/adapter/deconz/driver/parser.js.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.d.ts +7 -8
- package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.js +63 -78
- package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.js +5 -2
- package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
- package/dist/adapter/ember/adapter/tokensManager.d.ts +1 -1
- package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/tokensManager.js +2 -2
- package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
- package/dist/adapter/ember/ezsp/buffalo.d.ts +1 -3
- package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -1
- package/dist/adapter/ember/ezsp/buffalo.js +11 -34
- package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.d.ts +22 -38
- package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.js +36 -65
- package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
- package/dist/adapter/ember/types.d.ts +16 -23
- package/dist/adapter/ember/types.d.ts.map +1 -1
- package/dist/adapter/ember/uart/ash.d.ts +6 -22
- package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
- package/dist/adapter/ember/uart/ash.js +97 -115
- package/dist/adapter/ember/uart/ash.js.map +1 -1
- package/dist/adapter/ember/uart/queues.d.ts +9 -9
- package/dist/adapter/ember/uart/queues.d.ts.map +1 -1
- package/dist/adapter/ember/uart/queues.js +26 -25
- package/dist/adapter/ember/uart/queues.js.map +1 -1
- package/dist/adapter/events.d.ts +1 -9
- package/dist/adapter/events.d.ts.map +1 -1
- package/dist/adapter/events.js +0 -10
- package/dist/adapter/events.js.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.d.ts +1 -1
- package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.js +6 -6
- package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +6 -6
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +24 -29
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
- package/dist/adapter/ezsp/adapter/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/index.js +0 -2
- package/dist/adapter/ezsp/adapter/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/commands.d.ts +2 -2
- package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/commands.js +111 -111
- package/dist/adapter/ezsp/driver/commands.js.map +1 -1
- package/dist/adapter/ezsp/driver/driver.d.ts +0 -1
- package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/driver.js +20 -11
- package/dist/adapter/ezsp/driver/driver.js.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.d.ts +2 -2
- package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.js +7 -8
- package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
- package/dist/adapter/ezsp/driver/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/index.js +0 -1
- package/dist/adapter/ezsp/driver/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.js +1 -1
- package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
- package/dist/adapter/ezsp/driver/parser.d.ts +1 -2
- package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/parser.js +2 -8
- package/dist/adapter/ezsp/driver/parser.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/basic.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/types/basic.js +0 -1
- package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/index.d.ts +1 -1
- package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/types/index.js +0 -1
- package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/types/named.js +0 -1
- package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/types/struct.js +62 -1
- package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
- package/dist/adapter/ezsp/driver/uart.d.ts +2 -3
- package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/uart.js +8 -12
- package/dist/adapter/ezsp/driver/uart.js.map +1 -1
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +3 -1
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
- package/dist/adapter/ezsp/driver/utils/index.d.ts +1 -15
- package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/utils/index.js +1 -39
- package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
- package/dist/adapter/serialPort.d.ts +7 -2
- package/dist/adapter/serialPort.d.ts.map +1 -1
- package/dist/adapter/serialPort.js +5 -0
- package/dist/adapter/serialPort.js.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.js +25 -17
- package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +1 -1
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +27 -12
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.js +10 -9
- package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +6 -6
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +37 -30
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +0 -2
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/address-manager-table.js +5 -0
- package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +0 -1
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +5 -0
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +0 -1
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +5 -0
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/channel-list.js +0 -1
- package/dist/adapter/z-stack/structs/entries/channel-list.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +1 -1
- package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/has-configured.js +11 -5
- package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nib.d.ts +1 -1
- package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nib.js +5 -1
- package/dist/adapter/z-stack/structs/entries/nib.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +8 -2
- package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key.js +8 -2
- package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +0 -1
- package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +0 -1
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +5 -0
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +0 -1
- package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/security-manager-table.js +6 -0
- package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/struct.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/struct.js +11 -1
- package/dist/adapter/z-stack/structs/struct.js.map +1 -1
- package/dist/adapter/z-stack/structs/table.d.ts +1 -1
- package/dist/adapter/z-stack/structs/table.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/table.js +18 -13
- package/dist/adapter/z-stack/structs/table.js.map +1 -1
- package/dist/adapter/z-stack/unpi/frame.d.ts +2 -2
- package/dist/adapter/z-stack/unpi/frame.d.ts.map +1 -1
- package/dist/adapter/z-stack/unpi/frame.js +1 -1
- package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
- package/dist/adapter/z-stack/unpi/parser.js +1 -1
- package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
- package/dist/adapter/z-stack/utils/network-options.js +1 -1
- package/dist/adapter/z-stack/utils/network-options.js.map +1 -1
- package/dist/adapter/z-stack/znp/znp.d.ts +5 -6
- package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/znp.js +19 -26
- package/dist/adapter/z-stack/znp/znp.js.map +1 -1
- package/dist/adapter/z-stack/znp/zpiObject.d.ts.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 +9 -9
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.js +92 -118
- package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.js +3 -3
- package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
- package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/commandType.js +3 -2
- package/dist/adapter/zigate/driver/commandType.js.map +1 -1
- package/dist/adapter/zigate/driver/constants.d.ts +7 -1
- package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/constants.js +1 -2
- package/dist/adapter/zigate/driver/constants.js.map +1 -1
- package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/frame.js +3 -4
- package/dist/adapter/zigate/driver/frame.js.map +1 -1
- package/dist/adapter/zigate/driver/messageType.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/messageType.js +1 -2
- package/dist/adapter/zigate/driver/messageType.js.map +1 -1
- package/dist/adapter/zigate/driver/ziGateObject.d.ts +5 -5
- package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/ziGateObject.js +8 -9
- package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
- package/dist/adapter/zigate/driver/zigate.d.ts +7 -10
- package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/zigate.js +33 -39
- package/dist/adapter/zigate/driver/zigate.js.map +1 -1
- package/dist/controller/controller.d.ts +18 -6
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/controller/controller.js +95 -103
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/events.d.ts +2 -13
- package/dist/controller/events.d.ts.map +1 -1
- package/dist/controller/events.js +0 -13
- package/dist/controller/events.js.map +1 -1
- package/dist/controller/greenPower.d.ts +6 -2
- package/dist/controller/greenPower.d.ts.map +1 -1
- package/dist/controller/greenPower.js +17 -13
- package/dist/controller/greenPower.js.map +1 -1
- package/dist/controller/helpers/request.d.ts +1 -1
- package/dist/controller/helpers/request.d.ts.map +1 -1
- 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 +1 -1
- package/dist/controller/helpers/requestQueue.js.map +1 -1
- package/dist/controller/helpers/zclFrameConverter.d.ts +2 -2
- package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
- package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
- package/dist/controller/model/device.d.ts +30 -28
- package/dist/controller/model/device.d.ts.map +1 -1
- package/dist/controller/model/device.js +41 -29
- package/dist/controller/model/device.js.map +1 -1
- package/dist/controller/model/endpoint.d.ts +5 -2
- package/dist/controller/model/endpoint.d.ts.map +1 -1
- package/dist/controller/model/endpoint.js +92 -93
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/controller/model/entity.d.ts +5 -3
- package/dist/controller/model/entity.d.ts.map +1 -1
- package/dist/controller/model/entity.js +2 -2
- package/dist/controller/model/entity.js.map +1 -1
- package/dist/controller/model/group.d.ts +1 -0
- package/dist/controller/model/group.d.ts.map +1 -1
- package/dist/controller/model/group.js +36 -28
- package/dist/controller/model/group.js.map +1 -1
- package/dist/controller/touchlink.d.ts.map +1 -1
- package/dist/controller/touchlink.js +6 -5
- package/dist/controller/touchlink.js.map +1 -1
- package/dist/controller/tstype.d.ts +1 -4
- package/dist/controller/tstype.d.ts.map +1 -1
- package/dist/controller/tstype.js +0 -5
- package/dist/controller/tstype.js.map +1 -1
- package/dist/models/backup-storage-unified.d.ts +2 -2
- package/dist/models/backup-storage-unified.d.ts.map +1 -1
- package/dist/models/backup.d.ts +1 -1
- package/dist/models/backup.d.ts.map +1 -1
- package/dist/utils/backup.d.ts.map +1 -1
- package/dist/utils/backup.js +20 -52
- package/dist/utils/backup.js.map +1 -1
- package/dist/utils/index.d.ts +2 -3
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -5
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.d.ts +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/queue.d.ts.map +1 -1
- package/dist/utils/queue.js +8 -8
- package/dist/utils/queue.js.map +1 -1
- package/dist/utils/utils.d.ts +5 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +24 -0
- package/dist/utils/utils.js.map +1 -0
- package/dist/zspec/index.js +0 -10
- package/dist/zspec/index.js.map +1 -1
- package/dist/zspec/utils.d.ts.map +1 -1
- package/dist/zspec/utils.js +7 -1
- package/dist/zspec/utils.js.map +1 -1
- package/dist/zspec/zcl/buffaloZcl.js +12 -12
- package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
- package/dist/zspec/zcl/utils.d.ts +1 -1
- package/dist/zspec/zcl/utils.d.ts.map +1 -1
- package/dist/zspec/zcl/utils.js +21 -20
- package/dist/zspec/zcl/utils.js.map +1 -1
- package/dist/zspec/zcl/zclFrame.d.ts +3 -3
- package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
- package/dist/zspec/zcl/zclFrame.js +10 -17
- package/dist/zspec/zcl/zclFrame.js.map +1 -1
- package/dist/zspec/zcl/zclHeader.d.ts +2 -2
- package/dist/zspec/zcl/zclHeader.d.ts.map +1 -1
- package/dist/zspec/zcl/zclHeader.js +3 -3
- package/dist/zspec/zcl/zclHeader.js.map +1 -1
- package/dist/zspec/zdo/buffaloZdo.d.ts +1 -1
- package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -1
- package/dist/zspec/zdo/buffaloZdo.js +12 -8
- package/dist/zspec/zdo/buffaloZdo.js.map +1 -1
- package/package.json +3 -3
- package/tsconfig.json +1 -0
- package/dist/utils/assertString.d.ts +0 -3
- package/dist/utils/assertString.d.ts.map +0 -1
- package/dist/utils/assertString.js +0 -9
- package/dist/utils/assertString.js.map +0 -1
- package/dist/utils/isNumberArray.d.ts +0 -3
- package/dist/utils/isNumberArray.d.ts.map +0 -1
- package/dist/utils/isNumberArray.js +0 -7
- package/dist/utils/isNumberArray.js.map +0 -1
|
@@ -38,7 +38,6 @@ const ZSpec = __importStar(require("../../../zspec"));
|
|
|
38
38
|
const Zcl = __importStar(require("../../../zspec/zcl"));
|
|
39
39
|
const Zdo = __importStar(require("../../../zspec/zdo"));
|
|
40
40
|
const buffaloZdo_1 = require("../../../zspec/zdo/buffaloZdo");
|
|
41
|
-
const events_1 = require("../../events");
|
|
42
41
|
const serialPortUtils_1 = __importDefault(require("../../serialPortUtils"));
|
|
43
42
|
const socketPortUtils_1 = __importDefault(require("../../socketPortUtils"));
|
|
44
43
|
const consts_1 = require("../consts");
|
|
@@ -103,7 +102,6 @@ const BACKUP_OLDEST_SUPPORTED_EZSP_VERSION = 12;
|
|
|
103
102
|
* NOTE: This is blocking the request queue, so we shouldn't go crazy high.
|
|
104
103
|
*/
|
|
105
104
|
const BROADCAST_NETWORK_KEY_SWITCH_WAIT_TIME = 15000;
|
|
106
|
-
const QUEUE_HIGH_COUNT = 4;
|
|
107
105
|
const QUEUE_MAX_SEND_ATTEMPTS = 3;
|
|
108
106
|
const QUEUE_BUSY_DEFER_MSEC = 500;
|
|
109
107
|
const QUEUE_NETWORK_DOWN_DEFER_MSEC = 1500;
|
|
@@ -140,8 +138,8 @@ const TRUST_CENTER_ADDRESS_CACHE_SIZE = 2;
|
|
|
140
138
|
* Removing `ENABLE_ROUTE_DISCOVERY` leads to devices that won't reconnect/go offline, and various other issues. Keeping it for now.
|
|
141
139
|
*/
|
|
142
140
|
exports.DEFAULT_APS_OPTIONS = enums_1.EmberApsOption.RETRY | enums_1.EmberApsOption.ENABLE_ROUTE_DISCOVERY | enums_1.EmberApsOption.ENABLE_ADDRESS_DISCOVERY;
|
|
143
|
-
/** Time for a
|
|
144
|
-
const
|
|
141
|
+
/** Time for a request to get a callback response. ASH is 2400*6 for ACK timeout. */
|
|
142
|
+
const DEFAULT_REQUEST_TIMEOUT = 15000; // msec
|
|
145
143
|
/** Time for a network-related request to get a response (usually via event). */
|
|
146
144
|
const DEFAULT_NETWORK_REQUEST_TIMEOUT = 10000; // nothing on the network to bother requests, should be much faster than this
|
|
147
145
|
/** Time between watchdog counters reading/clearing */
|
|
@@ -183,17 +181,33 @@ class EmberAdapter extends __1.Adapter {
|
|
|
183
181
|
multicastTable;
|
|
184
182
|
constructor(networkOptions, serialPortOptions, backupPath, adapterOptions) {
|
|
185
183
|
super(networkOptions, serialPortOptions, backupPath, adapterOptions);
|
|
184
|
+
this.version = {
|
|
185
|
+
ezsp: 0,
|
|
186
|
+
revision: 'unknown',
|
|
187
|
+
build: 0,
|
|
188
|
+
major: 0,
|
|
189
|
+
minor: 0,
|
|
190
|
+
patch: 0,
|
|
191
|
+
special: 0,
|
|
192
|
+
type: enums_1.EmberVersionType.GA,
|
|
193
|
+
};
|
|
194
|
+
this.zdoRequestSequence = 0; // start at 1
|
|
195
|
+
this.interpanLock = false;
|
|
196
|
+
this.networkCache = (0, initters_1.initNetworkCache)();
|
|
197
|
+
this.manufacturerCode = DEFAULT_MANUFACTURER_CODE; // will be set in NCP in initEzsp
|
|
198
|
+
this.multicastTable = [];
|
|
186
199
|
this.stackConfig = this.loadStackConfig();
|
|
187
200
|
this.queue = new utils_1.Queue(this.adapterOptions.concurrent || 16); // ORed to avoid 0 (not checked in settings/queue constructor)
|
|
188
201
|
this.oneWaitress = new oneWaitress_1.EmberOneWaitress();
|
|
189
202
|
this.ezsp = new ezsp_1.Ezsp(serialPortOptions);
|
|
190
|
-
this.ezsp.on(
|
|
191
|
-
this.ezsp.on(
|
|
192
|
-
this.ezsp.on(
|
|
193
|
-
this.ezsp.on(
|
|
194
|
-
this.ezsp.on(
|
|
195
|
-
this.ezsp.on(
|
|
196
|
-
this.ezsp.on(
|
|
203
|
+
this.ezsp.on('zdoResponse', this.onZDOResponse.bind(this));
|
|
204
|
+
this.ezsp.on('incomingMessage', this.onIncomingMessage.bind(this));
|
|
205
|
+
this.ezsp.on('touchlinkMessage', this.onTouchlinkMessage.bind(this));
|
|
206
|
+
this.ezsp.on('stackStatus', this.onStackStatus.bind(this));
|
|
207
|
+
this.ezsp.on('trustCenterJoin', this.onTrustCenterJoin.bind(this));
|
|
208
|
+
this.ezsp.on('messageSent', this.onMessageSent.bind(this));
|
|
209
|
+
this.ezsp.on('greenpowerMessage', this.onGreenpowerMessage.bind(this));
|
|
210
|
+
this.ezsp.once('ncpNeedsResetAndInit', this.onNcpNeedsResetAndInit.bind(this));
|
|
197
211
|
}
|
|
198
212
|
loadStackConfig() {
|
|
199
213
|
// store stack config in same dir as backup
|
|
@@ -349,7 +363,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
349
363
|
catch (error) {
|
|
350
364
|
// remove to allow retry on next occurrence
|
|
351
365
|
this.multicastTable.splice(tableIdx, 1);
|
|
352
|
-
logger_1.logger.error(error, NS);
|
|
366
|
+
logger_1.logger.error(error.message, NS);
|
|
353
367
|
}
|
|
354
368
|
}
|
|
355
369
|
break;
|
|
@@ -370,13 +384,13 @@ class EmberAdapter extends __1.Adapter {
|
|
|
370
384
|
logger_1.logger.debug(`<~~~ [ZDO ${Zdo.ClusterId[apsFrame.clusterId]} from=${sender} ${payload ? JSON.stringify(payload) : 'OK'}]`, NS);
|
|
371
385
|
this.oneWaitress.resolveZDO(sender, apsFrame, payload);
|
|
372
386
|
if (apsFrame.clusterId === Zdo.ClusterId.NETWORK_ADDRESS_RESPONSE) {
|
|
373
|
-
this.emit(
|
|
387
|
+
this.emit('networkAddress', {
|
|
374
388
|
networkAddress: payload.nwkAddress,
|
|
375
389
|
ieeeAddr: payload.eui64,
|
|
376
390
|
});
|
|
377
391
|
}
|
|
378
392
|
else if (apsFrame.clusterId === Zdo.ClusterId.END_DEVICE_ANNOUNCE) {
|
|
379
|
-
this.emit(
|
|
393
|
+
this.emit('deviceAnnounce', {
|
|
380
394
|
networkAddress: payload.nwkAddress,
|
|
381
395
|
ieeeAddr: payload.eui64,
|
|
382
396
|
});
|
|
@@ -408,7 +422,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
408
422
|
destinationEndpoint: apsFrame.destinationEndpoint,
|
|
409
423
|
};
|
|
410
424
|
this.oneWaitress.resolveZCL(payload);
|
|
411
|
-
this.emit(
|
|
425
|
+
this.emit('zclPayload', payload);
|
|
412
426
|
}
|
|
413
427
|
/**
|
|
414
428
|
* Emitted from @see Ezsp.ezspMacFilterMatchMessageHandler when the message is a valid InterPAN touchlink message.
|
|
@@ -433,7 +447,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
433
447
|
destinationEndpoint: endpoint,
|
|
434
448
|
};
|
|
435
449
|
this.oneWaitress.resolveZCL(payload);
|
|
436
|
-
this.emit(
|
|
450
|
+
this.emit('zclPayload', payload);
|
|
437
451
|
}
|
|
438
452
|
/**
|
|
439
453
|
* Emitted from @see Ezsp.ezspGpepIncomingMessageHandler
|
|
@@ -472,11 +486,11 @@ class EmberAdapter extends __1.Adapter {
|
|
|
472
486
|
destinationEndpoint: ZSpec.GP_ENDPOINT,
|
|
473
487
|
};
|
|
474
488
|
this.oneWaitress.resolveZCL(payload);
|
|
475
|
-
this.emit(
|
|
489
|
+
this.emit('zclPayload', payload);
|
|
476
490
|
}
|
|
477
491
|
catch (err) {
|
|
492
|
+
/* istanbul ignore next */
|
|
478
493
|
logger_1.logger.error(`<~x~ [GP] Failed creating ZCL payload. Skipping. ${err}`, NS);
|
|
479
|
-
return;
|
|
480
494
|
}
|
|
481
495
|
}
|
|
482
496
|
/**
|
|
@@ -495,7 +509,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
495
509
|
networkAddress: newNodeId,
|
|
496
510
|
ieeeAddr: newNodeEui64,
|
|
497
511
|
};
|
|
498
|
-
this.emit(
|
|
512
|
+
this.emit('deviceLeave', payload);
|
|
499
513
|
}
|
|
500
514
|
else {
|
|
501
515
|
if (policyDecision !== enums_1.EmberJoinDecision.DENY_JOIN) {
|
|
@@ -510,11 +524,11 @@ class EmberAdapter extends __1.Adapter {
|
|
|
510
524
|
logger_1.logger.debug(`[WORKAROUND] Setting coordinator manufacturer code to ${Zcl.ManufacturerCode[joinManufCode]}.`, NS);
|
|
511
525
|
await this.ezsp.ezspSetManufacturerCode(joinManufCode);
|
|
512
526
|
this.manufacturerCode = joinManufCode;
|
|
513
|
-
this.emit(
|
|
527
|
+
this.emit('deviceJoined', payload);
|
|
514
528
|
});
|
|
515
529
|
}
|
|
516
530
|
else {
|
|
517
|
-
this.emit(
|
|
531
|
+
this.emit('deviceJoined', payload);
|
|
518
532
|
}
|
|
519
533
|
}
|
|
520
534
|
else {
|
|
@@ -531,17 +545,6 @@ class EmberAdapter extends __1.Adapter {
|
|
|
531
545
|
logger_1.logger.info(`[ASH COUNTERS] ${ashCounters.join(',')}`, NS);
|
|
532
546
|
});
|
|
533
547
|
}
|
|
534
|
-
initVariables() {
|
|
535
|
-
this.ezsp.removeAllListeners(ezsp_1.EzspEvents.NCP_NEEDS_RESET_AND_INIT);
|
|
536
|
-
clearInterval(this.watchdogCountersHandle);
|
|
537
|
-
this.queue.clear();
|
|
538
|
-
this.zdoRequestSequence = 0; // start at 1
|
|
539
|
-
this.interpanLock = false;
|
|
540
|
-
this.networkCache = (0, initters_1.initNetworkCache)();
|
|
541
|
-
this.manufacturerCode = DEFAULT_MANUFACTURER_CODE; // will be set in NCP in initEzsp
|
|
542
|
-
this.multicastTable = [];
|
|
543
|
-
this.ezsp.once(ezsp_1.EzspEvents.NCP_NEEDS_RESET_AND_INIT, this.onNcpNeedsResetAndInit.bind(this));
|
|
544
|
-
}
|
|
545
548
|
/**
|
|
546
549
|
* Proceed to execute the long list of commands required to setup comms between Host<>NCP.
|
|
547
550
|
* This is called by start and on internal reset.
|
|
@@ -726,7 +729,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
726
729
|
const backup = this.getStoredBackup();
|
|
727
730
|
if (initStatus === enums_1.SLStatus.NOT_JOINED || action === NetworkInitAction.LEFT) {
|
|
728
731
|
// no network
|
|
729
|
-
if (backup !=
|
|
732
|
+
if (backup != undefined) {
|
|
730
733
|
if (this.networkOptions.panID === backup.networkOptions.panId &&
|
|
731
734
|
Buffer.from(this.networkOptions.extendedPanID).equals(backup.networkOptions.extendedPanId) &&
|
|
732
735
|
this.networkOptions.channelList.includes(backup.logicalChannel) &&
|
|
@@ -751,6 +754,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
751
754
|
switch (action) {
|
|
752
755
|
case NetworkInitAction.FORM_BACKUP: {
|
|
753
756
|
logger_1.logger.info(`[INIT TC] Forming from backup.`, NS);
|
|
757
|
+
// `backup` valid in this `action` path (not detected by TS)
|
|
754
758
|
/* istanbul ignore next */
|
|
755
759
|
const keyList = backup.devices.map((device) => {
|
|
756
760
|
const octets = Array.from(device.ieeeAddress.reverse());
|
|
@@ -855,14 +859,14 @@ class EmberAdapter extends __1.Adapter {
|
|
|
855
859
|
*/
|
|
856
860
|
getStoredBackup() {
|
|
857
861
|
if (!(0, fs_1.existsSync)(this.backupPath)) {
|
|
858
|
-
return
|
|
862
|
+
return undefined;
|
|
859
863
|
}
|
|
860
864
|
let data;
|
|
861
865
|
try {
|
|
862
866
|
data = JSON.parse((0, fs_1.readFileSync)(this.backupPath).toString());
|
|
863
867
|
}
|
|
864
868
|
catch (error) {
|
|
865
|
-
throw new Error(`[BACKUP] Coordinator backup is corrupted. (${error.
|
|
869
|
+
throw new Error(`[BACKUP] Coordinator backup is corrupted. (${error.stack})`);
|
|
866
870
|
}
|
|
867
871
|
if (data.metadata?.format === 'zigpy/open-coordinator-backup' && data.metadata?.version) {
|
|
868
872
|
if (data.metadata?.version !== 1) {
|
|
@@ -874,7 +878,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
874
878
|
if (data.metadata.internal.ezspVersion < BACKUP_OLDEST_SUPPORTED_EZSP_VERSION) {
|
|
875
879
|
(0, fs_1.renameSync)(this.backupPath, `${this.backupPath}.old`);
|
|
876
880
|
logger_1.logger.warning(`[BACKUP] Current backup file is from an unsupported EZSP version. Renaming and ignoring.`, NS);
|
|
877
|
-
return
|
|
881
|
+
return undefined;
|
|
878
882
|
}
|
|
879
883
|
return utils_1.BackupUtils.fromUnifiedBackup(data);
|
|
880
884
|
}
|
|
@@ -987,23 +991,8 @@ class EmberAdapter extends __1.Adapter {
|
|
|
987
991
|
* @param status
|
|
988
992
|
*/
|
|
989
993
|
async onNcpNeedsResetAndInit(status) {
|
|
990
|
-
logger_1.logger.error(
|
|
991
|
-
|
|
992
|
-
logger_1.logger.info(`Request queue is high (${this.queue.count()}), triggering full restart to prevent stressing the adapter.`, NS);
|
|
993
|
-
this.emit(events_1.Events.disconnected);
|
|
994
|
-
}
|
|
995
|
-
else {
|
|
996
|
-
logger_1.logger.info(`Attempting adapter reset...`, NS);
|
|
997
|
-
try {
|
|
998
|
-
await this.stop();
|
|
999
|
-
await (0, utils_1.Wait)(500); // just because
|
|
1000
|
-
await this.start();
|
|
1001
|
-
}
|
|
1002
|
-
catch (err) {
|
|
1003
|
-
logger_1.logger.error(`Failed to reset and init adapter. ${err}`, NS);
|
|
1004
|
-
this.emit(events_1.Events.disconnected);
|
|
1005
|
-
}
|
|
1006
|
-
}
|
|
994
|
+
logger_1.logger.error(`Adapter fatal error: ${enums_1.EzspStatus[status]}`, NS);
|
|
995
|
+
this.emit('disconnected');
|
|
1007
996
|
}
|
|
1008
997
|
//---- START Events
|
|
1009
998
|
//---- END Events
|
|
@@ -1196,8 +1185,8 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1196
1185
|
*/
|
|
1197
1186
|
async emberPermitJoining(duration, broadcastMgmtPermitJoin) {
|
|
1198
1187
|
let status = await this.ezsp.ezspPermitJoining(duration);
|
|
1199
|
-
let apsFrame
|
|
1200
|
-
let messageTag
|
|
1188
|
+
let apsFrame;
|
|
1189
|
+
let messageTag;
|
|
1201
1190
|
logger_1.logger.debug(`Permit joining for ${duration} sec. status=${[status]}`, NS);
|
|
1202
1191
|
if (broadcastMgmtPermitJoin) {
|
|
1203
1192
|
// `authentication`: TC significance always 1 (zb specs)
|
|
@@ -1306,17 +1295,17 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1306
1295
|
static async autoDetectPath() {
|
|
1307
1296
|
const paths = await serialPortUtils_1.default.find(autoDetectDefinitions);
|
|
1308
1297
|
paths.sort((a, b) => (a < b ? -1 : 1));
|
|
1309
|
-
return paths.length > 0 ? paths[0] :
|
|
1298
|
+
return paths.length > 0 ? paths[0] : undefined;
|
|
1310
1299
|
}
|
|
1311
1300
|
async start() {
|
|
1312
1301
|
logger_1.logger.info(`======== Ember Adapter Starting ========`, NS);
|
|
1313
|
-
this.initVariables();
|
|
1314
1302
|
const result = await this.initEzsp();
|
|
1315
1303
|
return result;
|
|
1316
1304
|
}
|
|
1317
1305
|
async stop() {
|
|
1306
|
+
clearInterval(this.watchdogCountersHandle);
|
|
1318
1307
|
await this.ezsp.stop();
|
|
1319
|
-
this.
|
|
1308
|
+
this.ezsp.removeAllListeners();
|
|
1320
1309
|
logger_1.logger.info(`======== Ember Adapter Stopped ========`, NS);
|
|
1321
1310
|
}
|
|
1322
1311
|
// queued, non-InterPAN
|
|
@@ -1388,14 +1377,11 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1388
1377
|
if (nkStatus !== enums_1.SLStatus.OK) {
|
|
1389
1378
|
throw new Error(`[BACKUP] Failed to export Network Key with status=${enums_1.SLStatus[nkStatus]}.`);
|
|
1390
1379
|
}
|
|
1391
|
-
const zbChannels = Array.from(Array(ZSpec.NUM_802_15_4_CHANNELS), (e, i) => i + ZSpec.MIN_802_15_4_CHANNEL_NUMBER);
|
|
1392
1380
|
return {
|
|
1393
1381
|
networkOptions: {
|
|
1394
1382
|
panId: netParams.panId, // uint16_t
|
|
1395
1383
|
extendedPanId: Buffer.from(netParams.extendedPanId),
|
|
1396
|
-
channelList:
|
|
1397
|
-
.map(/* istanbul ignore next */ (c) => ((2 ** c) & netParams.channels ? c : null))
|
|
1398
|
-
.filter((x) => x),
|
|
1384
|
+
channelList: ZSpec.Utils.uint32MaskToChannels(netParams.channels),
|
|
1399
1385
|
networkKey: networkKey.contents,
|
|
1400
1386
|
networkKeyDistribute: false,
|
|
1401
1387
|
},
|
|
@@ -1570,7 +1556,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1570
1556
|
target: networkAddress,
|
|
1571
1557
|
apsFrame,
|
|
1572
1558
|
responseClusterId: Zdo.ClusterId.PERMIT_JOINING_RESPONSE,
|
|
1573
|
-
},
|
|
1559
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1574
1560
|
});
|
|
1575
1561
|
}
|
|
1576
1562
|
else {
|
|
@@ -1618,7 +1604,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1618
1604
|
target: networkAddress,
|
|
1619
1605
|
apsFrame,
|
|
1620
1606
|
responseClusterId: Zdo.ClusterId.LQI_TABLE_RESPONSE,
|
|
1621
|
-
},
|
|
1607
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1622
1608
|
for (const entry of result.entryList) {
|
|
1623
1609
|
neighbors.push({
|
|
1624
1610
|
ieeeAddr: entry.eui64,
|
|
@@ -1655,7 +1641,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1655
1641
|
target: networkAddress,
|
|
1656
1642
|
apsFrame,
|
|
1657
1643
|
responseClusterId: Zdo.ClusterId.ROUTING_TABLE_RESPONSE,
|
|
1658
|
-
},
|
|
1644
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1659
1645
|
for (const entry of result.entryList) {
|
|
1660
1646
|
table.push({
|
|
1661
1647
|
destinationAddress: entry.destinationAddress,
|
|
@@ -1688,7 +1674,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1688
1674
|
target: networkAddress,
|
|
1689
1675
|
apsFrame,
|
|
1690
1676
|
responseClusterId: Zdo.ClusterId.NODE_DESCRIPTOR_RESPONSE,
|
|
1691
|
-
},
|
|
1677
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1692
1678
|
let type = 'Unknown';
|
|
1693
1679
|
switch (result.logicalType) {
|
|
1694
1680
|
case 0x0:
|
|
@@ -1723,7 +1709,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1723
1709
|
target: networkAddress,
|
|
1724
1710
|
apsFrame,
|
|
1725
1711
|
responseClusterId: Zdo.ClusterId.ACTIVE_ENDPOINTS_RESPONSE,
|
|
1726
|
-
},
|
|
1712
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1727
1713
|
return { endpoints: result.endpointList };
|
|
1728
1714
|
}, networkAddress);
|
|
1729
1715
|
}
|
|
@@ -1740,7 +1726,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1740
1726
|
target: networkAddress,
|
|
1741
1727
|
apsFrame,
|
|
1742
1728
|
responseClusterId: Zdo.ClusterId.SIMPLE_DESCRIPTOR_RESPONSE,
|
|
1743
|
-
},
|
|
1729
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1744
1730
|
return {
|
|
1745
1731
|
profileID: result.profileId,
|
|
1746
1732
|
endpointID: result.endpoint,
|
|
@@ -1756,7 +1742,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1756
1742
|
this.checkInterpanLock();
|
|
1757
1743
|
const zdoPayload = buffaloZdo_1.BuffaloZdo.buildBindRequest(sourceIeeeAddress, sourceEndpoint, clusterID, type === 'group' ? Zdo.MULTICAST_BINDING : Zdo.UNICAST_BINDING, destinationAddressOrGroup, // not used with MULTICAST_BINDING
|
|
1758
1744
|
destinationAddressOrGroup, // not used with UNICAST_BINDING
|
|
1759
|
-
destinationEndpoint);
|
|
1745
|
+
destinationEndpoint ?? 0);
|
|
1760
1746
|
const [status, apsFrame] = await this.sendZDORequest(destinationNetworkAddress, Zdo.ClusterId.BIND_REQUEST, zdoPayload, exports.DEFAULT_APS_OPTIONS);
|
|
1761
1747
|
if (status !== enums_1.SLStatus.OK) {
|
|
1762
1748
|
throw new Error(`[ZDO] Failed bind request for '${destinationNetworkAddress}' destination '${destinationAddressOrGroup}' endpoint '${destinationEndpoint}' with status=${enums_1.SLStatus[status]}.`);
|
|
@@ -1765,7 +1751,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1765
1751
|
target: destinationNetworkAddress,
|
|
1766
1752
|
apsFrame,
|
|
1767
1753
|
responseClusterId: Zdo.ClusterId.BIND_RESPONSE,
|
|
1768
|
-
},
|
|
1754
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1769
1755
|
}, destinationNetworkAddress);
|
|
1770
1756
|
}
|
|
1771
1757
|
// queued, non-InterPAN
|
|
@@ -1774,7 +1760,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1774
1760
|
this.checkInterpanLock();
|
|
1775
1761
|
const zdoPayload = buffaloZdo_1.BuffaloZdo.buildUnbindRequest(sourceIeeeAddress, sourceEndpoint, clusterID, type === 'group' ? Zdo.MULTICAST_BINDING : Zdo.UNICAST_BINDING, destinationAddressOrGroup, // not used with MULTICAST_BINDING
|
|
1776
1762
|
destinationAddressOrGroup, // not used with UNICAST_BINDING
|
|
1777
|
-
destinationEndpoint);
|
|
1763
|
+
destinationEndpoint ?? 0);
|
|
1778
1764
|
const [status, apsFrame] = await this.sendZDORequest(destinationNetworkAddress, Zdo.ClusterId.UNBIND_REQUEST, zdoPayload, exports.DEFAULT_APS_OPTIONS);
|
|
1779
1765
|
if (status !== enums_1.SLStatus.OK) {
|
|
1780
1766
|
throw new Error(`[ZDO] Failed unbind request for '${destinationNetworkAddress}' destination '${destinationAddressOrGroup}' endpoint '${destinationEndpoint}' with status=${enums_1.SLStatus[status]}.`);
|
|
@@ -1783,7 +1769,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1783
1769
|
target: destinationNetworkAddress,
|
|
1784
1770
|
apsFrame,
|
|
1785
1771
|
responseClusterId: Zdo.ClusterId.UNBIND_RESPONSE,
|
|
1786
|
-
},
|
|
1772
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1787
1773
|
}, destinationNetworkAddress);
|
|
1788
1774
|
}
|
|
1789
1775
|
// queued, non-InterPAN
|
|
@@ -1799,7 +1785,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1799
1785
|
target: networkAddress,
|
|
1800
1786
|
apsFrame,
|
|
1801
1787
|
responseClusterId: Zdo.ClusterId.LEAVE_RESPONSE,
|
|
1802
|
-
},
|
|
1788
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1803
1789
|
}, networkAddress);
|
|
1804
1790
|
}
|
|
1805
1791
|
//---- ZCL
|
|
@@ -1807,7 +1793,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1807
1793
|
async sendZclFrameToEndpoint(ieeeAddr, networkAddress, endpoint, zclFrame, timeout, disableResponse, disableRecovery, sourceEndpoint) {
|
|
1808
1794
|
const sourceEndpointInfo = (sourceEndpoint && endpoints_1.FIXED_ENDPOINTS.find((epi) => epi.endpoint === sourceEndpoint)) || endpoints_1.FIXED_ENDPOINTS[0];
|
|
1809
1795
|
const command = zclFrame.command;
|
|
1810
|
-
let commandResponseId
|
|
1796
|
+
let commandResponseId;
|
|
1811
1797
|
if (command.response !== undefined && disableResponse === false) {
|
|
1812
1798
|
commandResponseId = command.response;
|
|
1813
1799
|
}
|
|
@@ -1824,7 +1810,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1824
1810
|
sequence: 0, // set by stack
|
|
1825
1811
|
};
|
|
1826
1812
|
// don't RETRY if no response expected
|
|
1827
|
-
if (commandResponseId
|
|
1813
|
+
if (commandResponseId === undefined) {
|
|
1828
1814
|
apsFrame.options &= ~enums_1.EmberApsOption.RETRY;
|
|
1829
1815
|
}
|
|
1830
1816
|
const data = zclFrame.toBuffer();
|
|
@@ -1870,7 +1856,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1870
1856
|
}
|
|
1871
1857
|
logger_1.logger.debug(`~x~> [ZCL to=${networkAddress}] Failed to send request attempt ${i}/${QUEUE_MAX_SEND_ATTEMPTS} with status=${enums_1.SLStatus[status]}.`, NS);
|
|
1872
1858
|
}
|
|
1873
|
-
if (commandResponseId
|
|
1859
|
+
if (commandResponseId !== undefined) {
|
|
1874
1860
|
// NOTE: aps sequence number will have been set by send function
|
|
1875
1861
|
const result = await this.oneWaitress.startWaitingFor({
|
|
1876
1862
|
target: networkAddress,
|
|
@@ -1880,7 +1866,6 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1880
1866
|
}, timeout);
|
|
1881
1867
|
return result;
|
|
1882
1868
|
}
|
|
1883
|
-
return null;
|
|
1884
1869
|
}, networkAddress);
|
|
1885
1870
|
}
|
|
1886
1871
|
// queued, non-InterPAN
|
|
@@ -2015,7 +2000,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
2015
2000
|
}
|
|
2016
2001
|
// NOTE: can use ezspRawTransmitCompleteHandler if needed here
|
|
2017
2002
|
const result = await this.oneWaitress.startWaitingFor({
|
|
2018
|
-
target:
|
|
2003
|
+
target: undefined,
|
|
2019
2004
|
apsFrame: apsFrame,
|
|
2020
2005
|
zclSequence: zclFrame.header.transactionSequenceNumber,
|
|
2021
2006
|
commandIdentifier: command.response,
|