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
|
@@ -26,23 +26,23 @@ 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
|
-
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
const Events = __importStar(require("../../events"));
|
|
33
|
-
const frameParser_1 = __importDefault(require("../driver/frameParser"));
|
|
29
|
+
/* istanbul ignore file */
|
|
30
|
+
const assert_1 = __importDefault(require("assert"));
|
|
31
|
+
const device_1 = __importDefault(require("../../../controller/model/device"));
|
|
34
32
|
const utils_1 = require("../../../utils");
|
|
35
|
-
const constants_1 = __importDefault(require("../driver/constants"));
|
|
36
33
|
const logger_1 = require("../../../utils/logger");
|
|
37
|
-
const
|
|
34
|
+
const Zcl = __importStar(require("../../../zspec/zcl"));
|
|
35
|
+
const adapter_1 = __importDefault(require("../../adapter"));
|
|
36
|
+
const constants_1 = __importDefault(require("../driver/constants"));
|
|
37
|
+
const driver_1 = __importDefault(require("../driver/driver"));
|
|
38
|
+
const frameParser_1 = __importStar(require("../driver/frameParser"));
|
|
38
39
|
const NS = 'zh:deconz';
|
|
39
|
-
var frameParser = require('../driver/frameParser');
|
|
40
40
|
class DeconzAdapter extends adapter_1.default {
|
|
41
41
|
driver;
|
|
42
42
|
queue;
|
|
43
43
|
openRequestsQueue;
|
|
44
44
|
transactionID;
|
|
45
|
-
frameParserEvent =
|
|
45
|
+
frameParserEvent = frameParser_1.frameParserEvents;
|
|
46
46
|
joinPermitted;
|
|
47
47
|
fwVersion;
|
|
48
48
|
waitress;
|
|
@@ -65,19 +65,18 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
65
65
|
this.transactionID = 0;
|
|
66
66
|
this.openRequestsQueue = [];
|
|
67
67
|
this.joinPermitted = false;
|
|
68
|
-
this.fwVersion =
|
|
68
|
+
this.fwVersion = undefined;
|
|
69
69
|
this.frameParserEvent.on('receivedDataPayload', (data) => {
|
|
70
70
|
this.checkReceivedDataPayload(data);
|
|
71
71
|
});
|
|
72
72
|
this.frameParserEvent.on('receivedGreenPowerIndication', (data) => {
|
|
73
73
|
this.checkReceivedGreenPowerIndication(data);
|
|
74
74
|
});
|
|
75
|
-
const that = this;
|
|
76
75
|
setInterval(() => {
|
|
77
|
-
|
|
76
|
+
this.checkReceivedDataPayload(null);
|
|
78
77
|
}, 1000);
|
|
79
|
-
setTimeout(() => {
|
|
80
|
-
|
|
78
|
+
setTimeout(async () => {
|
|
79
|
+
await this.checkCoordinatorSimpleDescriptor(false);
|
|
81
80
|
}, 3000);
|
|
82
81
|
}
|
|
83
82
|
static async isValidPath(path) {
|
|
@@ -90,13 +89,13 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
90
89
|
* Adapter methods
|
|
91
90
|
*/
|
|
92
91
|
async start() {
|
|
93
|
-
|
|
92
|
+
const baudrate = this.serialPortOptions.baudRate || 38400;
|
|
94
93
|
await this.driver.open(baudrate);
|
|
95
94
|
let changed = false;
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
95
|
+
const panid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.PAN_ID);
|
|
96
|
+
const expanid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID);
|
|
97
|
+
const channel = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.CHANNEL);
|
|
98
|
+
const networkKey = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.NETWORK_KEY);
|
|
100
99
|
// check current channel against configuration.yaml
|
|
101
100
|
if (this.networkOptions.channelList[0] !== channel) {
|
|
102
101
|
logger_1.logger.debug('Channel in configuration.yaml (' +
|
|
@@ -274,20 +273,20 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
274
273
|
const msg = 'PERMIT_JOIN FAILED - ' + error;
|
|
275
274
|
logger_1.logger.debug(msg, NS);
|
|
276
275
|
// try again
|
|
277
|
-
this.permitJoin(seconds, networkAddress);
|
|
276
|
+
await this.permitJoin(seconds, networkAddress);
|
|
278
277
|
//return Promise.reject(new Error(msg)); // do not reject
|
|
279
278
|
}
|
|
280
279
|
}
|
|
281
280
|
async getCoordinatorVersion() {
|
|
282
281
|
// product: number; transportrev: number; majorrel: number; minorrel: number; maintrel: number; revision: string;
|
|
283
|
-
if (this.fwVersion !=
|
|
282
|
+
if (this.fwVersion != undefined) {
|
|
284
283
|
return this.fwVersion;
|
|
285
284
|
}
|
|
286
285
|
else {
|
|
287
286
|
try {
|
|
288
287
|
const fw = await this.driver.readFirmwareVersionRequest();
|
|
289
288
|
const buf = Buffer.from(fw);
|
|
290
|
-
|
|
289
|
+
const fwString = '0x' + buf.readUInt32LE(0).toString(16);
|
|
291
290
|
let type = '';
|
|
292
291
|
if (fw[1] === 5) {
|
|
293
292
|
type = 'ConBee/RaspBee';
|
|
@@ -303,13 +302,15 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
303
302
|
return { type: type, meta: meta };
|
|
304
303
|
}
|
|
305
304
|
catch (error) {
|
|
306
|
-
|
|
305
|
+
throw new Error('Get coordinator version Error: ' + error);
|
|
307
306
|
}
|
|
308
307
|
}
|
|
309
308
|
}
|
|
309
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
310
310
|
async addInstallCode(ieeeAddress, key) {
|
|
311
311
|
return Promise.reject(new Error('Add install code is not supported'));
|
|
312
312
|
}
|
|
313
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
313
314
|
async reset(type) {
|
|
314
315
|
return Promise.reject(new Error('Reset is not supported'));
|
|
315
316
|
}
|
|
@@ -347,8 +348,8 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
347
348
|
req.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
|
|
348
349
|
this.driver
|
|
349
350
|
.enqueueSendDataRequest(req)
|
|
350
|
-
.then((
|
|
351
|
-
.catch((
|
|
351
|
+
.then(() => { })
|
|
352
|
+
.catch(() => { });
|
|
352
353
|
try {
|
|
353
354
|
const d = await this.waitForData(networkAddress, 0, 0x8031);
|
|
354
355
|
const data = d.asduPayload;
|
|
@@ -442,8 +443,8 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
442
443
|
req.timeout = 30;
|
|
443
444
|
this.driver
|
|
444
445
|
.enqueueSendDataRequest(req)
|
|
445
|
-
.then((
|
|
446
|
-
.catch((
|
|
446
|
+
.then(() => { })
|
|
447
|
+
.catch(() => { });
|
|
447
448
|
try {
|
|
448
449
|
const d = await this.waitForData(networkAddress, 0, 0x8032);
|
|
449
450
|
const data = d.asduPayload;
|
|
@@ -518,8 +519,8 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
518
519
|
request.timeout = 30;
|
|
519
520
|
this.driver
|
|
520
521
|
.enqueueSendDataRequest(request)
|
|
521
|
-
.then((
|
|
522
|
-
.catch((
|
|
522
|
+
.then(() => { })
|
|
523
|
+
.catch(() => { });
|
|
523
524
|
try {
|
|
524
525
|
const d = await this.waitForData(networkAddress, 0, 0x8002);
|
|
525
526
|
const data = d.asduPayload;
|
|
@@ -561,8 +562,8 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
561
562
|
request.timeout = 30;
|
|
562
563
|
this.driver
|
|
563
564
|
.enqueueSendDataRequest(request)
|
|
564
|
-
.then((
|
|
565
|
-
.catch((
|
|
565
|
+
.then(() => { })
|
|
566
|
+
.catch(() => { });
|
|
566
567
|
try {
|
|
567
568
|
const d = await this.waitForData(networkAddress, 0, 0x8005);
|
|
568
569
|
const data = d.asduPayload;
|
|
@@ -601,8 +602,8 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
601
602
|
request.timeout = 30;
|
|
602
603
|
this.driver
|
|
603
604
|
.enqueueSendDataRequest(request)
|
|
604
|
-
.then((
|
|
605
|
-
.catch((
|
|
605
|
+
.then(() => { })
|
|
606
|
+
.catch(() => { });
|
|
606
607
|
try {
|
|
607
608
|
const d = await this.waitForData(networkAddress, 0, 0x8004);
|
|
608
609
|
const data = d.asduPayload;
|
|
@@ -646,14 +647,14 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
646
647
|
}
|
|
647
648
|
async checkCoordinatorSimpleDescriptor(skip) {
|
|
648
649
|
logger_1.logger.debug('checking coordinator simple descriptor', NS);
|
|
649
|
-
|
|
650
|
+
let simpleDesc;
|
|
650
651
|
if (skip === false) {
|
|
651
652
|
try {
|
|
652
653
|
simpleDesc = await this.simpleDescriptor(0x0, 1);
|
|
653
654
|
}
|
|
654
|
-
catch
|
|
655
|
-
if (simpleDesc
|
|
656
|
-
this.checkCoordinatorSimpleDescriptor(false);
|
|
655
|
+
catch { }
|
|
656
|
+
if (simpleDesc == undefined) {
|
|
657
|
+
await this.checkCoordinatorSimpleDescriptor(false);
|
|
657
658
|
return;
|
|
658
659
|
}
|
|
659
660
|
logger_1.logger.debug('EP: ' + simpleDesc.endpointID, NS);
|
|
@@ -695,8 +696,8 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
695
696
|
await this.driver.writeParameterRequest(constants_1.default.PARAM.STK.Endpoint, sd1);
|
|
696
697
|
}
|
|
697
698
|
catch (error) {
|
|
698
|
-
logger_1.logger.debug(
|
|
699
|
-
this.checkCoordinatorSimpleDescriptor(true);
|
|
699
|
+
logger_1.logger.debug(`error setting simple descriptor: ${error} - try again`, NS);
|
|
700
|
+
await this.checkCoordinatorSimpleDescriptor(true);
|
|
700
701
|
return;
|
|
701
702
|
}
|
|
702
703
|
logger_1.logger.debug('success setting simple descriptor', NS);
|
|
@@ -718,7 +719,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
718
719
|
async sendZclFrameToEndpoint(ieeeAddr, networkAddress, endpoint, zclFrame, timeout, disableResponse, disableRecovery, sourceEndpoint) {
|
|
719
720
|
const transactionID = this.nextTransactionID();
|
|
720
721
|
const request = {};
|
|
721
|
-
|
|
722
|
+
const pay = zclFrame.toBuffer();
|
|
722
723
|
//logger.info("zclFramte.toBuffer:", NS);
|
|
723
724
|
//logger.info(pay, NS);
|
|
724
725
|
request.requestId = transactionID;
|
|
@@ -736,7 +737,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
736
737
|
const command = zclFrame.command;
|
|
737
738
|
this.driver
|
|
738
739
|
.enqueueSendDataRequest(request)
|
|
739
|
-
.then((
|
|
740
|
+
.then(() => {
|
|
740
741
|
logger_1.logger.debug(`sendZclFrameToEndpoint - message send with transSeq Nr.: ${zclFrame.header.transactionSequenceNumber}`, NS);
|
|
741
742
|
logger_1.logger.debug(command.hasOwnProperty('response') +
|
|
742
743
|
', ' +
|
|
@@ -745,7 +746,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
745
746
|
disableResponse +
|
|
746
747
|
', ' +
|
|
747
748
|
request.timeout, NS);
|
|
748
|
-
if (
|
|
749
|
+
if (command.response == undefined || zclFrame.header.frameControl.disableDefaultResponse || !disableResponse) {
|
|
749
750
|
logger_1.logger.debug(`resolve request (${zclFrame.header.transactionSequenceNumber})`, NS);
|
|
750
751
|
return Promise.resolve();
|
|
751
752
|
}
|
|
@@ -757,20 +758,20 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
757
758
|
});
|
|
758
759
|
try {
|
|
759
760
|
let data = null;
|
|
760
|
-
if ((command.
|
|
761
|
+
if ((command.response != undefined && !disableResponse) || !zclFrame.header.frameControl.disableDefaultResponse) {
|
|
761
762
|
data = await this.waitForData(networkAddress, 0x104, zclFrame.cluster.ID, zclFrame.header.transactionSequenceNumber, request.timeout);
|
|
762
763
|
}
|
|
763
764
|
if (data !== null) {
|
|
764
765
|
const asdu = data.asduPayload;
|
|
765
766
|
const buffer = Buffer.from(asdu);
|
|
766
767
|
const response = {
|
|
767
|
-
address: data.
|
|
768
|
+
address: data.srcAddr16 ?? `0x${data.srcAddr64}`,
|
|
768
769
|
data: buffer,
|
|
769
770
|
clusterID: zclFrame.cluster.ID,
|
|
770
771
|
header: Zcl.Header.fromBuffer(buffer),
|
|
771
772
|
endpoint: data.srcEndpoint,
|
|
772
773
|
linkquality: data.lqi,
|
|
773
|
-
groupID: data.srcAddrMode === 0x01 ? data.srcAddr16 :
|
|
774
|
+
groupID: data.srcAddrMode === 0x01 ? data.srcAddr16 : 0,
|
|
774
775
|
wasBroadcast: data.srcAddrMode === 0x01 || data.srcAddrMode === 0xf,
|
|
775
776
|
destinationEndpoint: data.destEndpoint,
|
|
776
777
|
};
|
|
@@ -779,17 +780,16 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
779
780
|
}
|
|
780
781
|
else {
|
|
781
782
|
logger_1.logger.debug(`no response expected (${zclFrame.header.transactionSequenceNumber})`, NS);
|
|
782
|
-
return null;
|
|
783
783
|
}
|
|
784
784
|
}
|
|
785
785
|
catch (error) {
|
|
786
|
-
throw new Error(`no response received (${zclFrame.header.transactionSequenceNumber})`);
|
|
786
|
+
throw new Error(`no response received (${zclFrame.header.transactionSequenceNumber}) ${error}`);
|
|
787
787
|
}
|
|
788
788
|
}
|
|
789
789
|
async sendZclFrameToGroup(groupID, zclFrame) {
|
|
790
790
|
const transactionID = this.nextTransactionID();
|
|
791
791
|
const request = {};
|
|
792
|
-
|
|
792
|
+
const pay = zclFrame.toBuffer();
|
|
793
793
|
logger_1.logger.debug('zclFrame to group - zclFrame.payload:', NS);
|
|
794
794
|
logger_1.logger.debug(zclFrame.payload, NS);
|
|
795
795
|
//logger.info("zclFramte.toBuffer:", NS);
|
|
@@ -810,13 +810,13 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
810
810
|
}
|
|
811
811
|
catch (error) {
|
|
812
812
|
//logger.debug(`sendZclFrameToGroup ERROR: ${error}`, NS);
|
|
813
|
-
throw
|
|
813
|
+
throw error;
|
|
814
814
|
}
|
|
815
815
|
}
|
|
816
816
|
async sendZclFrameToAll(endpoint, zclFrame, sourceEndpoint, destination) {
|
|
817
817
|
const transactionID = this.nextTransactionID();
|
|
818
818
|
const request = {};
|
|
819
|
-
|
|
819
|
+
const pay = zclFrame.toBuffer();
|
|
820
820
|
logger_1.logger.debug('zclFrame to all - zclFrame.payload:', NS);
|
|
821
821
|
logger_1.logger.debug(zclFrame.payload, NS);
|
|
822
822
|
request.requestId = transactionID;
|
|
@@ -836,7 +836,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
836
836
|
}
|
|
837
837
|
catch (error) {
|
|
838
838
|
//logger.debug(`sendZclFrameToAll ERROR: ${error}`, NS);
|
|
839
|
-
throw
|
|
839
|
+
throw error;
|
|
840
840
|
}
|
|
841
841
|
}
|
|
842
842
|
async bind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint) {
|
|
@@ -846,6 +846,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
846
846
|
const destAddrMode = type === 'group' ? constants_1.default.PARAM.addressMode.GROUP_ADDR : constants_1.default.PARAM.addressMode.IEEE_ADDR;
|
|
847
847
|
let destArray;
|
|
848
848
|
if (type === 'endpoint') {
|
|
849
|
+
(0, assert_1.default)(destinationEndpoint, 'Destination endpoint must be defined when `type === endpoint`');
|
|
849
850
|
destArray = this.driver.macAddrStringToArray(destinationAddressOrGroup);
|
|
850
851
|
destArray = destArray.concat([destinationEndpoint]);
|
|
851
852
|
}
|
|
@@ -871,8 +872,8 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
871
872
|
request.timeout = 30;
|
|
872
873
|
this.driver
|
|
873
874
|
.enqueueSendDataRequest(request)
|
|
874
|
-
.then((
|
|
875
|
-
.catch((
|
|
875
|
+
.then(() => { })
|
|
876
|
+
.catch(() => { });
|
|
876
877
|
try {
|
|
877
878
|
const d = await this.waitForData(destinationNetworkAddress, 0, 0x8021);
|
|
878
879
|
const data = d.asduPayload;
|
|
@@ -883,7 +884,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
883
884
|
}
|
|
884
885
|
catch (error) {
|
|
885
886
|
logger_1.logger.debug('BIND FAILED - addr: 0x' + destinationNetworkAddress.toString(16) + ' ' + error, NS);
|
|
886
|
-
throw
|
|
887
|
+
throw error;
|
|
887
888
|
}
|
|
888
889
|
}
|
|
889
890
|
async unbind(destinationNetworkAddress, sourceIeeeAddress, sourceEndpoint, clusterID, destinationAddressOrGroup, type, destinationEndpoint) {
|
|
@@ -893,6 +894,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
893
894
|
const destAddrMode = type === 'group' ? constants_1.default.PARAM.addressMode.GROUP_ADDR : constants_1.default.PARAM.addressMode.IEEE_ADDR;
|
|
894
895
|
let destArray;
|
|
895
896
|
if (type === 'endpoint') {
|
|
897
|
+
(0, assert_1.default)(destinationEndpoint, 'Destination endpoint must be defined when `type === endpoint`');
|
|
896
898
|
destArray = this.driver.macAddrStringToArray(destinationAddressOrGroup);
|
|
897
899
|
destArray = destArray.concat([destinationEndpoint]);
|
|
898
900
|
}
|
|
@@ -918,8 +920,8 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
918
920
|
request.timeout = 30;
|
|
919
921
|
this.driver
|
|
920
922
|
.enqueueSendDataRequest(request)
|
|
921
|
-
.then((
|
|
922
|
-
.catch((
|
|
923
|
+
.then(() => { })
|
|
924
|
+
.catch(() => { });
|
|
923
925
|
try {
|
|
924
926
|
const d = await this.waitForData(destinationNetworkAddress, 0, 0x8022);
|
|
925
927
|
const data = d.asduPayload;
|
|
@@ -930,13 +932,13 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
930
932
|
}
|
|
931
933
|
catch (error) {
|
|
932
934
|
logger_1.logger.debug('UNBIND FAILED - addr: 0x' + destinationNetworkAddress.toString(16) + ' ' + error, NS);
|
|
933
|
-
throw
|
|
935
|
+
throw error;
|
|
934
936
|
}
|
|
935
937
|
}
|
|
936
938
|
async removeDevice(networkAddress, ieeeAddr) {
|
|
937
939
|
const transactionID = this.nextTransactionID();
|
|
938
|
-
const nwk1 = networkAddress & 0xff;
|
|
939
|
-
const nwk2 = (networkAddress >> 8) & 0xff;
|
|
940
|
+
// const nwk1 = networkAddress & 0xff;
|
|
941
|
+
// const nwk2 = (networkAddress >> 8) & 0xff;
|
|
940
942
|
const request = {};
|
|
941
943
|
//const zdpFrame = [transactionID].concat(this.driver.macAddrStringToArray(ieeeAddr)).concat([0]);
|
|
942
944
|
const zdpFrame = [transactionID].concat([0, 0, 0, 0, 0, 0, 0, 0]).concat([0]);
|
|
@@ -953,8 +955,8 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
953
955
|
request.radius = constants_1.default.PARAM.txRadius.DEFAULT_RADIUS;
|
|
954
956
|
this.driver
|
|
955
957
|
.enqueueSendDataRequest(request)
|
|
956
|
-
.then((
|
|
957
|
-
.catch((
|
|
958
|
+
.then(() => { })
|
|
959
|
+
.catch(() => { });
|
|
958
960
|
try {
|
|
959
961
|
const d = await this.waitForData(networkAddress, 0, 0x8034);
|
|
960
962
|
const data = d.asduPayload;
|
|
@@ -966,11 +968,11 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
966
968
|
if (data[1] !== 0) {
|
|
967
969
|
throw new Error('status: ' + data[1]);
|
|
968
970
|
}
|
|
969
|
-
this.emit(
|
|
971
|
+
this.emit('deviceLeave', payload);
|
|
970
972
|
}
|
|
971
973
|
catch (error) {
|
|
972
974
|
logger_1.logger.debug('REMOVE_DEVICE FAILED - addr: 0x' + networkAddress.toString(16) + ' ' + error, NS);
|
|
973
|
-
throw
|
|
975
|
+
throw error;
|
|
974
976
|
}
|
|
975
977
|
}
|
|
976
978
|
async supportsBackup() {
|
|
@@ -981,9 +983,9 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
981
983
|
}
|
|
982
984
|
async getNetworkParameters() {
|
|
983
985
|
try {
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
986
|
+
const panid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.PAN_ID);
|
|
987
|
+
const expanid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID);
|
|
988
|
+
const channel = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.CHANNEL);
|
|
987
989
|
return {
|
|
988
990
|
panID: panid,
|
|
989
991
|
extendedPanID: expanid,
|
|
@@ -999,24 +1001,31 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
999
1001
|
async restoreChannelInterPAN() {
|
|
1000
1002
|
throw new Error('not supported');
|
|
1001
1003
|
}
|
|
1004
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1002
1005
|
async sendZclFrameInterPANToIeeeAddr(zclFrame, ieeeAddr) {
|
|
1003
1006
|
throw new Error('not supported');
|
|
1004
1007
|
}
|
|
1008
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1005
1009
|
async sendZclFrameInterPANBroadcast(zclFrame, timeout) {
|
|
1006
1010
|
throw new Error('not supported');
|
|
1007
1011
|
}
|
|
1012
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1008
1013
|
async sendZclFrameInterPANBroadcastWithResponse(zclFrame, timeout) {
|
|
1009
1014
|
throw new Error('not supported');
|
|
1010
1015
|
}
|
|
1016
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1011
1017
|
async setChannelInterPAN(channel) {
|
|
1012
1018
|
throw new Error('not supported');
|
|
1013
1019
|
}
|
|
1020
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1014
1021
|
async changeChannel(newChannel) {
|
|
1015
1022
|
throw new Error(`Channel change is not supported for 'deconz'`);
|
|
1016
1023
|
}
|
|
1024
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1017
1025
|
async setTransmitPower(value) {
|
|
1018
1026
|
throw new Error('not supported');
|
|
1019
1027
|
}
|
|
1028
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1020
1029
|
async sendZclFrameInterPANIeeeAddr(zclFrame, ieeeAddr) {
|
|
1021
1030
|
throw new Error('not supported');
|
|
1022
1031
|
}
|
|
@@ -1029,14 +1038,14 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
1029
1038
|
waitForData(addr, profileId, clusterId, transactionSequenceNumber, timeout) {
|
|
1030
1039
|
return new Promise((resolve, reject) => {
|
|
1031
1040
|
const ts = Date.now();
|
|
1032
|
-
const commandId =
|
|
1041
|
+
// const commandId = PARAM.PARAM.APS.DATA_INDICATION;
|
|
1033
1042
|
const req = { addr, profileId, clusterId, transactionSequenceNumber, resolve, reject, ts, timeout };
|
|
1034
1043
|
this.openRequestsQueue.push(req);
|
|
1035
1044
|
});
|
|
1036
1045
|
}
|
|
1037
1046
|
checkReceivedGreenPowerIndication(ind) {
|
|
1038
1047
|
ind.clusterId = 0x21;
|
|
1039
|
-
|
|
1048
|
+
const gpFrame = [
|
|
1040
1049
|
ind.rspId,
|
|
1041
1050
|
ind.seqNr,
|
|
1042
1051
|
ind.id,
|
|
@@ -1067,12 +1076,12 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
1067
1076
|
destinationEndpoint: 1,
|
|
1068
1077
|
};
|
|
1069
1078
|
this.waitress.resolve(payload);
|
|
1070
|
-
this.emit(
|
|
1079
|
+
this.emit('zclPayload', payload);
|
|
1071
1080
|
}
|
|
1072
1081
|
checkReceivedDataPayload(resp) {
|
|
1073
|
-
let srcAddr =
|
|
1074
|
-
let header
|
|
1075
|
-
const payBuf = resp != null ? Buffer.from(resp.asduPayload) :
|
|
1082
|
+
let srcAddr = undefined;
|
|
1083
|
+
let header;
|
|
1084
|
+
const payBuf = resp != null ? Buffer.from(resp.asduPayload) : undefined;
|
|
1076
1085
|
if (resp != null) {
|
|
1077
1086
|
if (resp.srcAddr16 != null) {
|
|
1078
1087
|
srcAddr = resp.srcAddr16;
|
|
@@ -1085,34 +1094,32 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
1085
1094
|
if (resp.srcAddr64 != null) {
|
|
1086
1095
|
logger_1.logger.debug(`Try to find network address of ${resp.srcAddr64}`, NS);
|
|
1087
1096
|
// Note: Device expects addresses with a 0x prefix...
|
|
1088
|
-
|
|
1089
|
-
if (device != undefined) {
|
|
1090
|
-
srcAddr = device.networkAddress;
|
|
1091
|
-
}
|
|
1097
|
+
srcAddr = device_1.default.byIeeeAddr('0x' + resp.srcAddr64, false)?.networkAddress;
|
|
1092
1098
|
}
|
|
1099
|
+
(0, assert_1.default)(srcAddr, 'Failed to find srcAddr of message');
|
|
1093
1100
|
// apperantly some functions furhter up in the protocol stack expect this to be set.
|
|
1094
1101
|
// so let's make sure they get the network address
|
|
1095
|
-
resp.srcAddr16 = srcAddr;
|
|
1102
|
+
resp.srcAddr16 = srcAddr; // TODO: can't be undefined
|
|
1096
1103
|
}
|
|
1097
1104
|
if (resp.profileId != 0x00) {
|
|
1098
|
-
header = Zcl.Header.fromBuffer(payBuf);
|
|
1105
|
+
header = Zcl.Header.fromBuffer(payBuf); // valid from check
|
|
1099
1106
|
}
|
|
1100
1107
|
}
|
|
1101
1108
|
let i = this.openRequestsQueue.length;
|
|
1102
1109
|
while (i--) {
|
|
1103
1110
|
const req = this.openRequestsQueue[i];
|
|
1104
|
-
if (srcAddr != null && req.addr === srcAddr && req.clusterId === resp
|
|
1105
|
-
if (header !==
|
|
1111
|
+
if (srcAddr != null && req.addr === srcAddr && req.clusterId === resp?.clusterId && req.profileId === resp?.profileId) {
|
|
1112
|
+
if (header !== undefined && req.transactionSequenceNumber != undefined) {
|
|
1106
1113
|
if (req.transactionSequenceNumber === header.transactionSequenceNumber) {
|
|
1107
1114
|
logger_1.logger.debug('resolve data request with transSeq Nr.: ' + req.transactionSequenceNumber, NS);
|
|
1108
1115
|
this.openRequestsQueue.splice(i, 1);
|
|
1109
|
-
req.resolve(resp);
|
|
1116
|
+
req.resolve?.(resp);
|
|
1110
1117
|
}
|
|
1111
1118
|
}
|
|
1112
1119
|
else {
|
|
1113
1120
|
logger_1.logger.debug('resolve data request without a transSeq Nr.', NS);
|
|
1114
1121
|
this.openRequestsQueue.splice(i, 1);
|
|
1115
|
-
req.resolve(resp);
|
|
1122
|
+
req.resolve?.(resp);
|
|
1116
1123
|
}
|
|
1117
1124
|
}
|
|
1118
1125
|
const now = Date.now();
|
|
@@ -1122,37 +1129,37 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
1122
1129
|
//logger.debug("Timeout for request in openRequestsQueue addr: " + req.addr.toString(16) + " clusterId: " + req.clusterId.toString(16) + " profileId: " + req.profileId.toString(16), NS);
|
|
1123
1130
|
//remove from busyQueue
|
|
1124
1131
|
this.openRequestsQueue.splice(i, 1);
|
|
1125
|
-
req.reject('waiting for response TIMEOUT');
|
|
1132
|
+
req.reject?.('waiting for response TIMEOUT');
|
|
1126
1133
|
}
|
|
1127
1134
|
}
|
|
1128
1135
|
// check unattended incomming messages
|
|
1129
1136
|
if (resp != null && resp.profileId === 0x00 && resp.clusterId === 0x13) {
|
|
1130
1137
|
// device Annce
|
|
1131
1138
|
const payload = {
|
|
1132
|
-
networkAddress: payBuf.readUInt16LE(1),
|
|
1139
|
+
networkAddress: payBuf.readUInt16LE(1), // valid from check
|
|
1133
1140
|
ieeeAddr: this.driver.macAddrArrayToString(resp.asduPayload.slice(3, 11)),
|
|
1134
1141
|
};
|
|
1135
1142
|
if (this.joinPermitted === true) {
|
|
1136
|
-
this.emit(
|
|
1143
|
+
this.emit('deviceJoined', payload);
|
|
1137
1144
|
}
|
|
1138
1145
|
else {
|
|
1139
|
-
this.emit(
|
|
1146
|
+
this.emit('deviceAnnounce', payload);
|
|
1140
1147
|
}
|
|
1141
1148
|
}
|
|
1142
1149
|
if (resp != null && resp.profileId != 0x00) {
|
|
1143
1150
|
const payload = {
|
|
1144
1151
|
clusterID: resp.clusterId,
|
|
1145
1152
|
header,
|
|
1146
|
-
data: payBuf,
|
|
1147
|
-
address: resp.destAddrMode === 0x03 ? resp.srcAddr64 : resp.srcAddr16,
|
|
1153
|
+
data: payBuf, // valid from check
|
|
1154
|
+
address: resp.destAddrMode === 0x03 ? `0x${resp.srcAddr64}` : resp.srcAddr16,
|
|
1148
1155
|
endpoint: resp.srcEndpoint,
|
|
1149
1156
|
linkquality: resp.lqi,
|
|
1150
|
-
groupID: resp.destAddrMode === 0x01 ? resp.destAddr16 :
|
|
1157
|
+
groupID: resp.destAddrMode === 0x01 ? resp.destAddr16 : 0,
|
|
1151
1158
|
wasBroadcast: resp.destAddrMode === 0x01 || resp.destAddrMode === 0xf,
|
|
1152
1159
|
destinationEndpoint: resp.destEndpoint,
|
|
1153
1160
|
};
|
|
1154
1161
|
this.waitress.resolve(payload);
|
|
1155
|
-
this.emit(
|
|
1162
|
+
this.emit('zclPayload', payload);
|
|
1156
1163
|
}
|
|
1157
1164
|
}
|
|
1158
1165
|
nextTransactionID() {
|
|
@@ -1168,7 +1175,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
1168
1175
|
` - ${matcher.commandIdentifier} after ${timeout}ms`);
|
|
1169
1176
|
}
|
|
1170
1177
|
waitressValidator(payload, matcher) {
|
|
1171
|
-
return (payload.header &&
|
|
1178
|
+
return Boolean(payload.header &&
|
|
1172
1179
|
(!matcher.address || payload.address === matcher.address) &&
|
|
1173
1180
|
payload.endpoint === matcher.endpoint &&
|
|
1174
1181
|
(!matcher.transactionSequenceNumber || payload.header.transactionSequenceNumber === matcher.transactionSequenceNumber) &&
|