zigbee-herdsman 0.55.4 → 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/.github/workflows/update_deps.yml +1 -1
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +23 -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 +68 -80
- 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/consts.d.ts +0 -27
- package/dist/adapter/ember/consts.d.ts.map +1 -1
- package/dist/adapter/ember/consts.js +1 -28
- package/dist/adapter/ember/consts.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/ember/utils/initters.js +1 -1
- package/dist/adapter/ember/utils/initters.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 +7 -7
- 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 +22 -13
- 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 +8 -9
- 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 +2 -2
- 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 +1 -2
- 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 +9 -13
- 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 +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 -1
- package/dist/adapter/serialPort.js.map +1 -1
- package/dist/adapter/tstype.d.ts +1 -0
- package/dist/adapter/tstype.d.ts.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 +26 -18
- 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 +41 -31
- 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 +21 -28
- 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 +2 -2
- 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 +2 -2
- 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 +43 -31
- 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 +13 -13
- 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 +18 -18
- 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.
|
|
@@ -586,6 +589,9 @@ class EmberAdapter extends __1.Adapter {
|
|
|
586
589
|
if (status !== enums_1.SLStatus.OK) {
|
|
587
590
|
throw new Error(`Failed to get network parameters with status=${enums_1.SLStatus[status]}.`);
|
|
588
591
|
}
|
|
592
|
+
if (this.adapterOptions.transmitPower != null && parameters.radioTxPower !== this.adapterOptions.transmitPower) {
|
|
593
|
+
await this.setTransmitPower(this.adapterOptions.transmitPower);
|
|
594
|
+
}
|
|
589
595
|
this.networkCache.parameters = parameters;
|
|
590
596
|
this.networkCache.eui64 = await this.ezsp.ezspGetEui64();
|
|
591
597
|
logger_1.logger.debug(`[INIT] Network Ready! ${JSON.stringify(this.networkCache)}`, NS);
|
|
@@ -723,7 +729,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
723
729
|
const backup = this.getStoredBackup();
|
|
724
730
|
if (initStatus === enums_1.SLStatus.NOT_JOINED || action === NetworkInitAction.LEFT) {
|
|
725
731
|
// no network
|
|
726
|
-
if (backup !=
|
|
732
|
+
if (backup != undefined) {
|
|
727
733
|
if (this.networkOptions.panID === backup.networkOptions.panId &&
|
|
728
734
|
Buffer.from(this.networkOptions.extendedPanID).equals(backup.networkOptions.extendedPanId) &&
|
|
729
735
|
this.networkOptions.channelList.includes(backup.logicalChannel) &&
|
|
@@ -748,6 +754,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
748
754
|
switch (action) {
|
|
749
755
|
case NetworkInitAction.FORM_BACKUP: {
|
|
750
756
|
logger_1.logger.info(`[INIT TC] Forming from backup.`, NS);
|
|
757
|
+
// `backup` valid in this `action` path (not detected by TS)
|
|
751
758
|
/* istanbul ignore next */
|
|
752
759
|
const keyList = backup.devices.map((device) => {
|
|
753
760
|
const octets = Array.from(device.ieeeAddress.reverse());
|
|
@@ -830,12 +837,12 @@ class EmberAdapter extends __1.Adapter {
|
|
|
830
837
|
const netParams = {
|
|
831
838
|
panId,
|
|
832
839
|
extendedPanId,
|
|
833
|
-
radioTxPower: 5,
|
|
840
|
+
radioTxPower: this.adapterOptions.transmitPower || 5,
|
|
834
841
|
radioChannel,
|
|
835
842
|
joinMethod: enums_1.EmberJoinMethod.MAC_ASSOCIATION,
|
|
836
843
|
nwkManagerId: ZSpec.COORDINATOR_ADDRESS,
|
|
837
844
|
nwkUpdateId: 0,
|
|
838
|
-
channels:
|
|
845
|
+
channels: ZSpec.ALL_802_15_4_CHANNELS_MASK,
|
|
839
846
|
};
|
|
840
847
|
logger_1.logger.info(`[INIT FORM] Forming new network with: ${JSON.stringify(netParams)}`, NS);
|
|
841
848
|
status = await this.ezsp.ezspFormNetwork(netParams);
|
|
@@ -852,14 +859,14 @@ class EmberAdapter extends __1.Adapter {
|
|
|
852
859
|
*/
|
|
853
860
|
getStoredBackup() {
|
|
854
861
|
if (!(0, fs_1.existsSync)(this.backupPath)) {
|
|
855
|
-
return
|
|
862
|
+
return undefined;
|
|
856
863
|
}
|
|
857
864
|
let data;
|
|
858
865
|
try {
|
|
859
866
|
data = JSON.parse((0, fs_1.readFileSync)(this.backupPath).toString());
|
|
860
867
|
}
|
|
861
868
|
catch (error) {
|
|
862
|
-
throw new Error(`[BACKUP] Coordinator backup is corrupted
|
|
869
|
+
throw new Error(`[BACKUP] Coordinator backup is corrupted. (${error.stack})`);
|
|
863
870
|
}
|
|
864
871
|
if (data.metadata?.format === 'zigpy/open-coordinator-backup' && data.metadata?.version) {
|
|
865
872
|
if (data.metadata?.version !== 1) {
|
|
@@ -871,7 +878,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
871
878
|
if (data.metadata.internal.ezspVersion < BACKUP_OLDEST_SUPPORTED_EZSP_VERSION) {
|
|
872
879
|
(0, fs_1.renameSync)(this.backupPath, `${this.backupPath}.old`);
|
|
873
880
|
logger_1.logger.warning(`[BACKUP] Current backup file is from an unsupported EZSP version. Renaming and ignoring.`, NS);
|
|
874
|
-
return
|
|
881
|
+
return undefined;
|
|
875
882
|
}
|
|
876
883
|
return utils_1.BackupUtils.fromUnifiedBackup(data);
|
|
877
884
|
}
|
|
@@ -984,23 +991,8 @@ class EmberAdapter extends __1.Adapter {
|
|
|
984
991
|
* @param status
|
|
985
992
|
*/
|
|
986
993
|
async onNcpNeedsResetAndInit(status) {
|
|
987
|
-
logger_1.logger.error(
|
|
988
|
-
|
|
989
|
-
logger_1.logger.info(`Request queue is high (${this.queue.count()}), triggering full restart to prevent stressing the adapter.`, NS);
|
|
990
|
-
this.emit(events_1.Events.disconnected);
|
|
991
|
-
}
|
|
992
|
-
else {
|
|
993
|
-
logger_1.logger.info(`Attempting adapter reset...`, NS);
|
|
994
|
-
try {
|
|
995
|
-
await this.stop();
|
|
996
|
-
await (0, utils_1.Wait)(500); // just because
|
|
997
|
-
await this.start();
|
|
998
|
-
}
|
|
999
|
-
catch (err) {
|
|
1000
|
-
logger_1.logger.error(`Failed to reset and init adapter. ${err}`, NS);
|
|
1001
|
-
this.emit(events_1.Events.disconnected);
|
|
1002
|
-
}
|
|
1003
|
-
}
|
|
994
|
+
logger_1.logger.error(`Adapter fatal error: ${enums_1.EzspStatus[status]}`, NS);
|
|
995
|
+
this.emit('disconnected');
|
|
1004
996
|
}
|
|
1005
997
|
//---- START Events
|
|
1006
998
|
//---- END Events
|
|
@@ -1193,8 +1185,8 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1193
1185
|
*/
|
|
1194
1186
|
async emberPermitJoining(duration, broadcastMgmtPermitJoin) {
|
|
1195
1187
|
let status = await this.ezsp.ezspPermitJoining(duration);
|
|
1196
|
-
let apsFrame
|
|
1197
|
-
let messageTag
|
|
1188
|
+
let apsFrame;
|
|
1189
|
+
let messageTag;
|
|
1198
1190
|
logger_1.logger.debug(`Permit joining for ${duration} sec. status=${[status]}`, NS);
|
|
1199
1191
|
if (broadcastMgmtPermitJoin) {
|
|
1200
1192
|
// `authentication`: TC significance always 1 (zb specs)
|
|
@@ -1303,17 +1295,17 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1303
1295
|
static async autoDetectPath() {
|
|
1304
1296
|
const paths = await serialPortUtils_1.default.find(autoDetectDefinitions);
|
|
1305
1297
|
paths.sort((a, b) => (a < b ? -1 : 1));
|
|
1306
|
-
return paths.length > 0 ? paths[0] :
|
|
1298
|
+
return paths.length > 0 ? paths[0] : undefined;
|
|
1307
1299
|
}
|
|
1308
1300
|
async start() {
|
|
1309
1301
|
logger_1.logger.info(`======== Ember Adapter Starting ========`, NS);
|
|
1310
|
-
this.initVariables();
|
|
1311
1302
|
const result = await this.initEzsp();
|
|
1312
1303
|
return result;
|
|
1313
1304
|
}
|
|
1314
1305
|
async stop() {
|
|
1306
|
+
clearInterval(this.watchdogCountersHandle);
|
|
1315
1307
|
await this.ezsp.stop();
|
|
1316
|
-
this.
|
|
1308
|
+
this.ezsp.removeAllListeners();
|
|
1317
1309
|
logger_1.logger.info(`======== Ember Adapter Stopped ========`, NS);
|
|
1318
1310
|
}
|
|
1319
1311
|
// queued, non-InterPAN
|
|
@@ -1385,14 +1377,11 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1385
1377
|
if (nkStatus !== enums_1.SLStatus.OK) {
|
|
1386
1378
|
throw new Error(`[BACKUP] Failed to export Network Key with status=${enums_1.SLStatus[nkStatus]}.`);
|
|
1387
1379
|
}
|
|
1388
|
-
const zbChannels = Array.from(Array(consts_1.EMBER_NUM_802_15_4_CHANNELS), (e, i) => i + consts_1.EMBER_MIN_802_15_4_CHANNEL_NUMBER);
|
|
1389
1380
|
return {
|
|
1390
1381
|
networkOptions: {
|
|
1391
1382
|
panId: netParams.panId, // uint16_t
|
|
1392
1383
|
extendedPanId: Buffer.from(netParams.extendedPanId),
|
|
1393
|
-
channelList:
|
|
1394
|
-
.map(/* istanbul ignore next */ (c) => ((2 ** c) & netParams.channels ? c : null))
|
|
1395
|
-
.filter((x) => x),
|
|
1384
|
+
channelList: ZSpec.Utils.uint32MaskToChannels(netParams.channels),
|
|
1396
1385
|
networkKey: networkKey.contents,
|
|
1397
1386
|
networkKeyDistribute: false,
|
|
1398
1387
|
},
|
|
@@ -1567,7 +1556,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1567
1556
|
target: networkAddress,
|
|
1568
1557
|
apsFrame,
|
|
1569
1558
|
responseClusterId: Zdo.ClusterId.PERMIT_JOINING_RESPONSE,
|
|
1570
|
-
},
|
|
1559
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1571
1560
|
});
|
|
1572
1561
|
}
|
|
1573
1562
|
else {
|
|
@@ -1615,7 +1604,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1615
1604
|
target: networkAddress,
|
|
1616
1605
|
apsFrame,
|
|
1617
1606
|
responseClusterId: Zdo.ClusterId.LQI_TABLE_RESPONSE,
|
|
1618
|
-
},
|
|
1607
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1619
1608
|
for (const entry of result.entryList) {
|
|
1620
1609
|
neighbors.push({
|
|
1621
1610
|
ieeeAddr: entry.eui64,
|
|
@@ -1652,7 +1641,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1652
1641
|
target: networkAddress,
|
|
1653
1642
|
apsFrame,
|
|
1654
1643
|
responseClusterId: Zdo.ClusterId.ROUTING_TABLE_RESPONSE,
|
|
1655
|
-
},
|
|
1644
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1656
1645
|
for (const entry of result.entryList) {
|
|
1657
1646
|
table.push({
|
|
1658
1647
|
destinationAddress: entry.destinationAddress,
|
|
@@ -1685,7 +1674,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1685
1674
|
target: networkAddress,
|
|
1686
1675
|
apsFrame,
|
|
1687
1676
|
responseClusterId: Zdo.ClusterId.NODE_DESCRIPTOR_RESPONSE,
|
|
1688
|
-
},
|
|
1677
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1689
1678
|
let type = 'Unknown';
|
|
1690
1679
|
switch (result.logicalType) {
|
|
1691
1680
|
case 0x0:
|
|
@@ -1720,7 +1709,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1720
1709
|
target: networkAddress,
|
|
1721
1710
|
apsFrame,
|
|
1722
1711
|
responseClusterId: Zdo.ClusterId.ACTIVE_ENDPOINTS_RESPONSE,
|
|
1723
|
-
},
|
|
1712
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1724
1713
|
return { endpoints: result.endpointList };
|
|
1725
1714
|
}, networkAddress);
|
|
1726
1715
|
}
|
|
@@ -1737,7 +1726,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1737
1726
|
target: networkAddress,
|
|
1738
1727
|
apsFrame,
|
|
1739
1728
|
responseClusterId: Zdo.ClusterId.SIMPLE_DESCRIPTOR_RESPONSE,
|
|
1740
|
-
},
|
|
1729
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1741
1730
|
return {
|
|
1742
1731
|
profileID: result.profileId,
|
|
1743
1732
|
endpointID: result.endpoint,
|
|
@@ -1753,7 +1742,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1753
1742
|
this.checkInterpanLock();
|
|
1754
1743
|
const zdoPayload = buffaloZdo_1.BuffaloZdo.buildBindRequest(sourceIeeeAddress, sourceEndpoint, clusterID, type === 'group' ? Zdo.MULTICAST_BINDING : Zdo.UNICAST_BINDING, destinationAddressOrGroup, // not used with MULTICAST_BINDING
|
|
1755
1744
|
destinationAddressOrGroup, // not used with UNICAST_BINDING
|
|
1756
|
-
destinationEndpoint);
|
|
1745
|
+
destinationEndpoint ?? 0);
|
|
1757
1746
|
const [status, apsFrame] = await this.sendZDORequest(destinationNetworkAddress, Zdo.ClusterId.BIND_REQUEST, zdoPayload, exports.DEFAULT_APS_OPTIONS);
|
|
1758
1747
|
if (status !== enums_1.SLStatus.OK) {
|
|
1759
1748
|
throw new Error(`[ZDO] Failed bind request for '${destinationNetworkAddress}' destination '${destinationAddressOrGroup}' endpoint '${destinationEndpoint}' with status=${enums_1.SLStatus[status]}.`);
|
|
@@ -1762,7 +1751,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1762
1751
|
target: destinationNetworkAddress,
|
|
1763
1752
|
apsFrame,
|
|
1764
1753
|
responseClusterId: Zdo.ClusterId.BIND_RESPONSE,
|
|
1765
|
-
},
|
|
1754
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1766
1755
|
}, destinationNetworkAddress);
|
|
1767
1756
|
}
|
|
1768
1757
|
// queued, non-InterPAN
|
|
@@ -1771,7 +1760,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1771
1760
|
this.checkInterpanLock();
|
|
1772
1761
|
const zdoPayload = buffaloZdo_1.BuffaloZdo.buildUnbindRequest(sourceIeeeAddress, sourceEndpoint, clusterID, type === 'group' ? Zdo.MULTICAST_BINDING : Zdo.UNICAST_BINDING, destinationAddressOrGroup, // not used with MULTICAST_BINDING
|
|
1773
1762
|
destinationAddressOrGroup, // not used with UNICAST_BINDING
|
|
1774
|
-
destinationEndpoint);
|
|
1763
|
+
destinationEndpoint ?? 0);
|
|
1775
1764
|
const [status, apsFrame] = await this.sendZDORequest(destinationNetworkAddress, Zdo.ClusterId.UNBIND_REQUEST, zdoPayload, exports.DEFAULT_APS_OPTIONS);
|
|
1776
1765
|
if (status !== enums_1.SLStatus.OK) {
|
|
1777
1766
|
throw new Error(`[ZDO] Failed unbind request for '${destinationNetworkAddress}' destination '${destinationAddressOrGroup}' endpoint '${destinationEndpoint}' with status=${enums_1.SLStatus[status]}.`);
|
|
@@ -1780,7 +1769,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1780
1769
|
target: destinationNetworkAddress,
|
|
1781
1770
|
apsFrame,
|
|
1782
1771
|
responseClusterId: Zdo.ClusterId.UNBIND_RESPONSE,
|
|
1783
|
-
},
|
|
1772
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1784
1773
|
}, destinationNetworkAddress);
|
|
1785
1774
|
}
|
|
1786
1775
|
// queued, non-InterPAN
|
|
@@ -1796,7 +1785,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1796
1785
|
target: networkAddress,
|
|
1797
1786
|
apsFrame,
|
|
1798
1787
|
responseClusterId: Zdo.ClusterId.LEAVE_RESPONSE,
|
|
1799
|
-
},
|
|
1788
|
+
}, DEFAULT_REQUEST_TIMEOUT);
|
|
1800
1789
|
}, networkAddress);
|
|
1801
1790
|
}
|
|
1802
1791
|
//---- ZCL
|
|
@@ -1804,7 +1793,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1804
1793
|
async sendZclFrameToEndpoint(ieeeAddr, networkAddress, endpoint, zclFrame, timeout, disableResponse, disableRecovery, sourceEndpoint) {
|
|
1805
1794
|
const sourceEndpointInfo = (sourceEndpoint && endpoints_1.FIXED_ENDPOINTS.find((epi) => epi.endpoint === sourceEndpoint)) || endpoints_1.FIXED_ENDPOINTS[0];
|
|
1806
1795
|
const command = zclFrame.command;
|
|
1807
|
-
let commandResponseId
|
|
1796
|
+
let commandResponseId;
|
|
1808
1797
|
if (command.response !== undefined && disableResponse === false) {
|
|
1809
1798
|
commandResponseId = command.response;
|
|
1810
1799
|
}
|
|
@@ -1821,7 +1810,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1821
1810
|
sequence: 0, // set by stack
|
|
1822
1811
|
};
|
|
1823
1812
|
// don't RETRY if no response expected
|
|
1824
|
-
if (commandResponseId
|
|
1813
|
+
if (commandResponseId === undefined) {
|
|
1825
1814
|
apsFrame.options &= ~enums_1.EmberApsOption.RETRY;
|
|
1826
1815
|
}
|
|
1827
1816
|
const data = zclFrame.toBuffer();
|
|
@@ -1867,7 +1856,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1867
1856
|
}
|
|
1868
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);
|
|
1869
1858
|
}
|
|
1870
|
-
if (commandResponseId
|
|
1859
|
+
if (commandResponseId !== undefined) {
|
|
1871
1860
|
// NOTE: aps sequence number will have been set by send function
|
|
1872
1861
|
const result = await this.oneWaitress.startWaitingFor({
|
|
1873
1862
|
target: networkAddress,
|
|
@@ -1877,7 +1866,6 @@ class EmberAdapter extends __1.Adapter {
|
|
|
1877
1866
|
}, timeout);
|
|
1878
1867
|
return result;
|
|
1879
1868
|
}
|
|
1880
|
-
return null;
|
|
1881
1869
|
}, networkAddress);
|
|
1882
1870
|
}
|
|
1883
1871
|
// queued, non-InterPAN
|
|
@@ -2012,7 +2000,7 @@ class EmberAdapter extends __1.Adapter {
|
|
|
2012
2000
|
}
|
|
2013
2001
|
// NOTE: can use ezspRawTransmitCompleteHandler if needed here
|
|
2014
2002
|
const result = await this.oneWaitress.startWaitingFor({
|
|
2015
|
-
target:
|
|
2003
|
+
target: undefined,
|
|
2016
2004
|
apsFrame: apsFrame,
|
|
2017
2005
|
zclSequence: zclFrame.header.transactionSequenceNumber,
|
|
2018
2006
|
commandIdentifier: command.response,
|