zigbee-herdsman 3.5.1 → 4.0.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/dependabot.yml +9 -3
- package/.github/workflows/ci.yml +2 -4
- package/.github/workflows/stale.yml +1 -1
- package/.release-please-manifest.json +1 -1
- package/.vscode/extensions.json +3 -0
- package/.vscode/settings.json +11 -0
- package/CHANGELOG.md +25 -0
- package/biome.json +89 -0
- package/dist/adapter/adapter.d.ts +11 -11
- package/dist/adapter/adapter.d.ts.map +1 -1
- package/dist/adapter/adapter.js +14 -14
- package/dist/adapter/adapterDiscovery.d.ts +6 -6
- package/dist/adapter/adapterDiscovery.d.ts.map +1 -1
- package/dist/adapter/adapterDiscovery.js +139 -141
- package/dist/adapter/adapterDiscovery.js.map +1 -1
- package/dist/adapter/const.d.ts +1 -1
- package/dist/adapter/const.js +2 -2
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +16 -16
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.js +95 -100
- package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
- package/dist/adapter/deconz/driver/constants.d.ts +5 -5
- package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/driver.d.ts +9 -9
- package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/driver.js +112 -106
- package/dist/adapter/deconz/driver/driver.js.map +1 -1
- package/dist/adapter/deconz/driver/frame.d.ts +1 -1
- package/dist/adapter/deconz/driver/frame.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/frame.js +1 -2
- package/dist/adapter/deconz/driver/frame.js.map +1 -1
- package/dist/adapter/deconz/driver/frameParser.d.ts +1 -1
- package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/frameParser.js +66 -70
- package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
- package/dist/adapter/deconz/driver/parser.d.ts +1 -1
- package/dist/adapter/deconz/driver/parser.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/parser.js +2 -2
- package/dist/adapter/deconz/driver/parser.js.map +1 -1
- package/dist/adapter/deconz/driver/writer.d.ts +2 -2
- package/dist/adapter/deconz/driver/writer.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/writer.js +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.d.ts +19 -19
- package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.js +117 -97
- package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
- package/dist/adapter/ember/adapter/endpoints.d.ts +1 -1
- package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.d.ts +5 -5
- package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.js +2 -2
- package/dist/adapter/ember/adapter/oneWaitress.js.map +1 -1
- package/dist/adapter/ember/adapter/tokensManager.d.ts +3 -3
- package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/tokensManager.js +20 -23
- package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
- package/dist/adapter/ember/enums.d.ts +4 -4
- package/dist/adapter/ember/enums.d.ts.map +1 -1
- package/dist/adapter/ember/enums.js +4 -6
- package/dist/adapter/ember/enums.js.map +1 -1
- package/dist/adapter/ember/ezsp/buffalo.d.ts +4 -4
- package/dist/adapter/ember/ezsp/buffalo.d.ts.map +1 -1
- package/dist/adapter/ember/ezsp/buffalo.js +30 -32
- package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.d.ts +46 -46
- package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.js +85 -111
- package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
- package/dist/adapter/ember/ezspError.d.ts +1 -1
- package/dist/adapter/ember/types.d.ts +14 -14
- package/dist/adapter/ember/types.d.ts.map +1 -1
- package/dist/adapter/ember/uart/ash.d.ts +5 -5
- package/dist/adapter/ember/uart/ash.d.ts.map +1 -1
- package/dist/adapter/ember/uart/ash.js +80 -71
- package/dist/adapter/ember/uart/ash.js.map +1 -1
- package/dist/adapter/ember/uart/parser.d.ts +2 -2
- package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
- package/dist/adapter/ember/uart/parser.js +2 -1
- package/dist/adapter/ember/uart/parser.js.map +1 -1
- package/dist/adapter/ember/uart/queues.js +27 -29
- package/dist/adapter/ember/uart/queues.js.map +1 -1
- package/dist/adapter/ember/uart/writer.d.ts +1 -1
- package/dist/adapter/ember/uart/writer.d.ts.map +1 -1
- package/dist/adapter/ember/uart/writer.js +3 -5
- package/dist/adapter/ember/uart/writer.js.map +1 -1
- package/dist/adapter/ember/utils/initters.d.ts +2 -2
- package/dist/adapter/ember/utils/initters.d.ts.map +1 -1
- package/dist/adapter/ember/utils/initters.js +1 -1
- package/dist/adapter/ember/utils/math.js +1 -1
- package/dist/adapter/events.d.ts +1 -1
- package/dist/adapter/events.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.d.ts +3 -3
- package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.js +8 -10
- package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +12 -12
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +45 -44
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
- package/dist/adapter/ezsp/driver/driver.d.ts +12 -12
- package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/driver.js +148 -141
- package/dist/adapter/ezsp/driver/driver.js.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.d.ts +7 -7
- package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.js +61 -59
- package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
- package/dist/adapter/ezsp/driver/frame.js +2 -2
- package/dist/adapter/ezsp/driver/index.d.ts +2 -2
- package/dist/adapter/ezsp/driver/multicast.d.ts +8 -5
- package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.js +9 -9
- package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
- package/dist/adapter/ezsp/driver/parser.d.ts +1 -1
- package/dist/adapter/ezsp/driver/parser.js +3 -3
- package/dist/adapter/ezsp/driver/types/basic.d.ts +5 -5
- package/dist/adapter/ezsp/driver/types/basic.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/types/basic.js +12 -33
- package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/index.d.ts +3 -3
- package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/types/index.js +8 -9
- package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/named.d.ts +2 -2
- package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/types/named.js +8 -11
- package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/struct.d.ts +2 -2
- package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/types/struct.js +207 -214
- package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
- package/dist/adapter/ezsp/driver/uart.d.ts +2 -2
- package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/uart.js +48 -37
- package/dist/adapter/ezsp/driver/uart.js.map +1 -1
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +3 -3
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +16 -34
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
- package/dist/adapter/ezsp/driver/utils/index.d.ts +4 -4
- package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/utils/index.js +4 -4
- package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/writer.d.ts +1 -1
- package/dist/adapter/ezsp/driver/writer.js +2 -2
- package/dist/adapter/index.d.ts +3 -3
- package/dist/adapter/serialPort.d.ts +3 -3
- package/dist/adapter/serialPort.d.ts.map +1 -1
- package/dist/adapter/serialPort.js +1 -0
- package/dist/adapter/serialPort.js.map +1 -1
- package/dist/adapter/socketPortUtils.js +3 -3
- package/dist/adapter/tstype.d.ts +6 -6
- package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +4 -4
- package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.js +106 -119
- package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +10 -10
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +23 -24
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.d.ts +6 -6
- package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.js +115 -127
- package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
- package/dist/adapter/z-stack/adapter/tstype.d.ts +3 -3
- package/dist/adapter/z-stack/adapter/tstype.js +3 -3
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +10 -10
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +125 -137
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
- package/dist/adapter/z-stack/constants/common.d.ts.map +1 -1
- package/dist/adapter/z-stack/constants/common.js +0 -3
- package/dist/adapter/z-stack/constants/common.js.map +1 -1
- package/dist/adapter/z-stack/constants/index.d.ts +10 -10
- package/dist/adapter/z-stack/constants/index.d.ts.map +1 -1
- package/dist/adapter/z-stack/constants/index.js +2 -2
- package/dist/adapter/z-stack/constants/index.js.map +1 -1
- package/dist/adapter/z-stack/constants/utils.d.ts +1 -1
- package/dist/adapter/z-stack/constants/utils.js +2 -2
- package/dist/adapter/z-stack/constants/utils.js.map +1 -1
- package/dist/adapter/z-stack/models/startup-options.d.ts +2 -2
- package/dist/adapter/z-stack/models/startup-options.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +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 +4 -5
- 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 +2 -2
- 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 +3 -4
- 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 +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 +1 -2
- 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 +2 -2
- 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 +3 -4
- 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 +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 +6 -7
- 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 +2 -2
- 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 +3 -4
- 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 +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 +1 -2
- 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 +2 -3
- package/dist/adapter/z-stack/structs/entries/has-configured.js.map +1 -1
- package/dist/adapter/z-stack/structs/entries/index.d.ts +16 -16
- 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 +49 -50
- 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 +1 -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 +1 -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 +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 +1 -2
- 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 +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 +3 -4
- 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 +2 -2
- 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 +3 -4
- 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 +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 +4 -5
- 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 +2 -2
- 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 +3 -4
- package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +1 -1
- package/dist/adapter/z-stack/structs/index.d.ts +4 -4
- package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +2 -2
- package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/struct.d.ts +8 -8
- package/dist/adapter/z-stack/structs/struct.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/struct.js +42 -43
- package/dist/adapter/z-stack/structs/struct.js.map +1 -1
- package/dist/adapter/z-stack/structs/table.d.ts +3 -3
- package/dist/adapter/z-stack/structs/table.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/table.js +10 -10
- package/dist/adapter/z-stack/structs/table.js.map +1 -1
- package/dist/adapter/z-stack/unpi/frame.d.ts +1 -1
- package/dist/adapter/z-stack/unpi/frame.d.ts.map +1 -1
- package/dist/adapter/z-stack/unpi/frame.js +2 -4
- package/dist/adapter/z-stack/unpi/frame.js.map +1 -1
- package/dist/adapter/z-stack/unpi/index.d.ts +4 -4
- package/dist/adapter/z-stack/unpi/parser.d.ts +1 -1
- package/dist/adapter/z-stack/unpi/parser.js +3 -3
- package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
- package/dist/adapter/z-stack/unpi/writer.d.ts +2 -2
- package/dist/adapter/z-stack/unpi/writer.d.ts.map +1 -1
- package/dist/adapter/z-stack/unpi/writer.js +1 -1
- package/dist/adapter/z-stack/utils/index.d.ts +2 -2
- package/dist/adapter/z-stack/utils/network-options.d.ts +1 -1
- package/dist/adapter/z-stack/utils/network-options.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +3 -3
- package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/buffaloZnp.js +34 -20
- package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
- package/dist/adapter/z-stack/znp/definition.d.ts +2 -2
- package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/definition.js +1111 -1111
- package/dist/adapter/z-stack/znp/index.d.ts +2 -2
- package/dist/adapter/z-stack/znp/tstype.d.ts +7 -7
- package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/utils.d.ts +1 -1
- package/dist/adapter/z-stack/znp/utils.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/utils.js +2 -2
- package/dist/adapter/z-stack/znp/znp.d.ts +7 -7
- package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/znp.js +46 -45
- package/dist/adapter/z-stack/znp/znp.js.map +1 -1
- package/dist/adapter/z-stack/znp/zpiObject.d.ts +8 -8
- package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/zpiObject.js +6 -6
- package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
- package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +11 -11
- package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -1
- package/dist/adapter/zboss/adapter/zbossAdapter.js +37 -36
- package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -1
- package/dist/adapter/zboss/commands.d.ts +4 -6
- package/dist/adapter/zboss/commands.d.ts.map +1 -1
- package/dist/adapter/zboss/commands.js +321 -287
- package/dist/adapter/zboss/commands.js.map +1 -1
- package/dist/adapter/zboss/driver.d.ts +9 -9
- package/dist/adapter/zboss/driver.d.ts.map +1 -1
- package/dist/adapter/zboss/driver.js +25 -25
- package/dist/adapter/zboss/driver.js.map +1 -1
- package/dist/adapter/zboss/frame.d.ts +9 -9
- package/dist/adapter/zboss/frame.d.ts.map +1 -1
- package/dist/adapter/zboss/frame.js +15 -15
- package/dist/adapter/zboss/frame.js.map +1 -1
- package/dist/adapter/zboss/reader.d.ts +2 -2
- package/dist/adapter/zboss/reader.d.ts.map +1 -1
- package/dist/adapter/zboss/reader.js +6 -5
- package/dist/adapter/zboss/reader.js.map +1 -1
- package/dist/adapter/zboss/uart.d.ts +3 -3
- package/dist/adapter/zboss/uart.d.ts.map +1 -1
- package/dist/adapter/zboss/uart.js +36 -36
- package/dist/adapter/zboss/uart.js.map +1 -1
- package/dist/adapter/zboss/writer.d.ts +1 -1
- package/dist/adapter/zboss/writer.d.ts.map +1 -1
- package/dist/adapter/zboss/writer.js +3 -5
- package/dist/adapter/zboss/writer.js.map +1 -1
- package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js +2 -2
- package/dist/adapter/zigate/adapter/patchZdoBuffaloBE.js.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +14 -14
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.js +52 -53
- package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +6 -6
- package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.js +41 -23
- package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
- package/dist/adapter/zigate/driver/commandType.d.ts +2 -2
- package/dist/adapter/zigate/driver/commandType.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/commandType.js +37 -37
- package/dist/adapter/zigate/driver/commandType.js.map +1 -1
- package/dist/adapter/zigate/driver/constants.d.ts +27 -200
- package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/constants.js +40 -236
- 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 +4 -3
- package/dist/adapter/zigate/driver/frame.js.map +1 -1
- package/dist/adapter/zigate/driver/messageType.d.ts +1 -1
- package/dist/adapter/zigate/driver/messageType.js +76 -76
- package/dist/adapter/zigate/driver/ziGateObject.d.ts +3 -3
- package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/ziGateObject.js +7 -6
- package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
- package/dist/adapter/zigate/driver/zigate.d.ts +8 -8
- package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/zigate.js +59 -54
- package/dist/adapter/zigate/driver/zigate.js.map +1 -1
- package/dist/adapter/zoh/adapter/utils.js +1 -1
- package/dist/adapter/zoh/adapter/zohAdapter.d.ts +13 -13
- package/dist/adapter/zoh/adapter/zohAdapter.d.ts.map +1 -1
- package/dist/adapter/zoh/adapter/zohAdapter.js +101 -67
- package/dist/adapter/zoh/adapter/zohAdapter.js.map +1 -1
- package/dist/buffalo/buffalo.d.ts +2 -2
- package/dist/buffalo/buffalo.js +4 -4
- package/dist/buffalo/buffalo.js.map +1 -1
- package/dist/buffalo/index.d.ts +1 -1
- package/dist/controller/controller.d.ts +7 -7
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/controller/controller.js +94 -98
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/database.d.ts +1 -1
- package/dist/controller/database.d.ts.map +1 -1
- package/dist/controller/database.js +9 -9
- package/dist/controller/database.js.map +1 -1
- package/dist/controller/events.d.ts +6 -6
- package/dist/controller/events.d.ts.map +1 -1
- package/dist/controller/greenPower.d.ts +21 -21
- package/dist/controller/greenPower.d.ts.map +1 -1
- package/dist/controller/greenPower.js +41 -41
- package/dist/controller/greenPower.js.map +1 -1
- package/dist/controller/helpers/index.d.ts +1 -1
- package/dist/controller/helpers/request.d.ts +2 -2
- package/dist/controller/helpers/request.d.ts.map +1 -1
- package/dist/controller/helpers/request.js +31 -27
- package/dist/controller/helpers/request.js.map +1 -1
- package/dist/controller/helpers/requestQueue.d.ts +3 -3
- package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
- package/dist/controller/helpers/requestQueue.js +20 -20
- 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 +1 -1
- package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
- package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +6 -4
- package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts.map +1 -1
- package/dist/controller/helpers/zclTransactionSequenceNumber.js +6 -5
- package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +1 -1
- package/dist/controller/index.d.ts +1 -1
- package/dist/controller/model/device.d.ts +23 -19
- package/dist/controller/model/device.d.ts.map +1 -1
- package/dist/controller/model/device.js +153 -128
- package/dist/controller/model/device.js.map +1 -1
- package/dist/controller/model/endpoint.d.ts +11 -11
- package/dist/controller/model/endpoint.d.ts.map +1 -1
- package/dist/controller/model/endpoint.js +84 -67
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/controller/model/entity.d.ts +3 -3
- package/dist/controller/model/entity.d.ts.map +1 -1
- package/dist/controller/model/group.d.ts +4 -4
- package/dist/controller/model/group.d.ts.map +1 -1
- package/dist/controller/model/group.js +21 -9
- package/dist/controller/model/group.js.map +1 -1
- package/dist/controller/model/index.d.ts +4 -4
- package/dist/controller/touchlink.d.ts +1 -1
- package/dist/controller/touchlink.d.ts.map +1 -1
- package/dist/controller/touchlink.js +11 -11
- package/dist/controller/tstype.d.ts +3 -3
- package/dist/index.d.ts +10 -10
- package/dist/models/backup-storage-legacy.d.ts +14 -16
- package/dist/models/backup-storage-legacy.d.ts.map +1 -1
- package/dist/models/backup-storage-unified.d.ts +1 -1
- package/dist/models/backup.d.ts +2 -2
- package/dist/models/backup.d.ts.map +1 -1
- package/dist/models/index.d.ts +4 -4
- package/dist/utils/backup.d.ts +1 -1
- package/dist/utils/backup.d.ts.map +1 -1
- package/dist/utils/backup.js +26 -26
- package/dist/utils/backup.js.map +1 -1
- package/dist/utils/index.d.ts +5 -5
- package/dist/utils/logger.js +3 -3
- package/dist/utils/patchBigIntSerialization.js +1 -1
- package/dist/utils/patchBigIntSerialization.js.map +1 -1
- package/dist/utils/queue.d.ts.map +1 -1
- package/dist/utils/queue.js +1 -0
- package/dist/utils/queue.js.map +1 -1
- package/dist/utils/utils.d.ts.map +1 -1
- package/dist/utils/utils.js +5 -4
- package/dist/utils/utils.js.map +1 -1
- package/dist/utils/waitress.d.ts +1 -1
- package/dist/utils/waitress.js +3 -3
- package/dist/zspec/consts.d.ts +1 -1
- package/dist/zspec/consts.d.ts.map +1 -1
- package/dist/zspec/consts.js +1 -1
- package/dist/zspec/index.d.ts +3 -3
- package/dist/zspec/tstypes.d.ts +1 -1
- package/dist/zspec/utils.d.ts +4 -4
- package/dist/zspec/utils.d.ts.map +1 -1
- package/dist/zspec/utils.js +9 -13
- package/dist/zspec/utils.js.map +1 -1
- package/dist/zspec/zcl/buffaloZcl.d.ts +3 -3
- package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
- package/dist/zspec/zcl/buffaloZcl.js +127 -84
- package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
- package/dist/zspec/zcl/definition/cluster.d.ts +1 -1
- package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/cluster.js +894 -893
- package/dist/zspec/zcl/definition/cluster.js.map +1 -1
- package/dist/zspec/zcl/definition/consts.js +7 -7
- package/dist/zspec/zcl/definition/foundation.d.ts +3 -3
- package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/foundation.js +88 -89
- package/dist/zspec/zcl/definition/foundation.js.map +1 -1
- package/dist/zspec/zcl/definition/manufacturerCode.d.ts +1 -1
- package/dist/zspec/zcl/definition/manufacturerCode.js +1 -1
- package/dist/zspec/zcl/definition/manufacturerCode.js.map +1 -1
- package/dist/zspec/zcl/definition/status.d.ts +3 -3
- package/dist/zspec/zcl/definition/status.js +3 -3
- package/dist/zspec/zcl/definition/tstype.d.ts +3 -3
- package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
- package/dist/zspec/zcl/index.d.ts +10 -10
- package/dist/zspec/zcl/utils.d.ts +3 -3
- package/dist/zspec/zcl/utils.d.ts.map +1 -1
- package/dist/zspec/zcl/utils.js +18 -21
- package/dist/zspec/zcl/utils.js.map +1 -1
- package/dist/zspec/zcl/zclFrame.d.ts +7 -7
- package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
- package/dist/zspec/zcl/zclFrame.js +38 -41
- 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/zclStatusError.d.ts +1 -1
- package/dist/zspec/zdo/buffaloZdo.d.ts +7 -7
- package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -1
- package/dist/zspec/zdo/buffaloZdo.js +4 -4
- package/dist/zspec/zdo/buffaloZdo.js.map +1 -1
- package/dist/zspec/zdo/definition/status.d.ts +1 -1
- package/dist/zspec/zdo/definition/status.js +1 -1
- package/dist/zspec/zdo/definition/tstypes.d.ts +48 -48
- package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -1
- package/dist/zspec/zdo/index.d.ts +7 -7
- package/dist/zspec/zdo/utils.d.ts +2 -2
- package/dist/zspec/zdo/utils.d.ts.map +1 -1
- package/dist/zspec/zdo/utils.js +1 -1
- package/dist/zspec/zdo/utils.js.map +1 -1
- package/dist/zspec/zdo/zdoStatusError.d.ts +1 -1
- package/examples/join-and-log.js +5 -5
- package/package.json +6 -13
- package/src/adapter/adapter.ts +189 -0
- package/src/adapter/adapterDiscovery.ts +653 -0
- package/src/adapter/const.ts +12 -0
- package/src/adapter/deconz/adapter/deconzAdapter.ts +768 -0
- package/src/adapter/deconz/driver/constants.ts +180 -0
- package/src/adapter/deconz/driver/driver.ts +900 -0
- package/src/adapter/deconz/driver/frame.ts +11 -0
- package/src/adapter/deconz/driver/frameParser.ts +557 -0
- package/src/adapter/deconz/driver/parser.ts +45 -0
- package/src/adapter/deconz/driver/writer.ts +22 -0
- package/src/adapter/deconz/types.d.ts +13 -0
- package/src/adapter/ember/adapter/emberAdapter.ts +2266 -0
- package/src/adapter/ember/adapter/endpoints.ts +86 -0
- package/src/adapter/ember/adapter/oneWaitress.ts +322 -0
- package/src/adapter/ember/adapter/tokensManager.ts +782 -0
- package/src/adapter/ember/consts.ts +178 -0
- package/src/adapter/ember/enums.ts +2123 -0
- package/src/adapter/ember/ezsp/buffalo.ts +1397 -0
- package/src/adapter/ember/ezsp/consts.ts +148 -0
- package/src/adapter/ember/ezsp/enums.ts +1087 -0
- package/src/adapter/ember/ezsp/ezsp.ts +8985 -0
- package/src/adapter/ember/ezspError.ts +10 -0
- package/src/adapter/ember/types.ts +866 -0
- package/src/adapter/ember/uart/ash.ts +1969 -0
- package/src/adapter/ember/uart/consts.ts +109 -0
- package/src/adapter/ember/uart/enums.ts +192 -0
- package/src/adapter/ember/uart/parser.ts +48 -0
- package/src/adapter/ember/uart/queues.ts +247 -0
- package/src/adapter/ember/uart/writer.ts +53 -0
- package/src/adapter/ember/utils/initters.ts +58 -0
- package/src/adapter/ember/utils/math.ts +73 -0
- package/src/adapter/events.ts +21 -0
- package/src/adapter/ezsp/adapter/backup.ts +109 -0
- package/src/adapter/ezsp/adapter/ezspAdapter.ts +614 -0
- package/src/adapter/ezsp/driver/commands.ts +2497 -0
- package/src/adapter/ezsp/driver/consts.ts +11 -0
- package/src/adapter/ezsp/driver/driver.ts +1002 -0
- package/src/adapter/ezsp/driver/ezsp.ts +802 -0
- package/src/adapter/ezsp/driver/frame.ts +101 -0
- package/src/adapter/ezsp/driver/index.ts +4 -0
- package/src/adapter/ezsp/driver/multicast.ts +78 -0
- package/src/adapter/ezsp/driver/parser.ts +81 -0
- package/src/adapter/ezsp/driver/types/basic.ts +201 -0
- package/src/adapter/ezsp/driver/types/index.ts +239 -0
- package/src/adapter/ezsp/driver/types/named.ts +2330 -0
- package/src/adapter/ezsp/driver/types/struct.ts +844 -0
- package/src/adapter/ezsp/driver/uart.ts +460 -0
- package/src/adapter/ezsp/driver/utils/crc16ccitt.ts +44 -0
- package/src/adapter/ezsp/driver/utils/index.ts +32 -0
- package/src/adapter/ezsp/driver/writer.ts +64 -0
- package/src/adapter/index.ts +3 -0
- package/src/adapter/serialPort.ts +58 -0
- package/src/adapter/socketPortUtils.ts +16 -0
- package/src/adapter/tstype.ts +78 -0
- package/src/adapter/z-stack/adapter/adapter-backup.ts +519 -0
- package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +457 -0
- package/src/adapter/z-stack/adapter/endpoints.ts +57 -0
- package/src/adapter/z-stack/adapter/manager.ts +543 -0
- package/src/adapter/z-stack/adapter/tstype.ts +6 -0
- package/src/adapter/z-stack/adapter/zStackAdapter.ts +1190 -0
- package/src/adapter/z-stack/constants/af.ts +27 -0
- package/src/adapter/z-stack/constants/common.ts +285 -0
- package/src/adapter/z-stack/constants/dbg.ts +23 -0
- package/src/adapter/z-stack/constants/index.ts +11 -0
- package/src/adapter/z-stack/constants/mac.ts +128 -0
- package/src/adapter/z-stack/constants/sapi.ts +25 -0
- package/src/adapter/z-stack/constants/sys.ts +72 -0
- package/src/adapter/z-stack/constants/util.ts +82 -0
- package/src/adapter/z-stack/constants/utils.ts +14 -0
- package/src/adapter/z-stack/constants/zdo.ts +103 -0
- package/src/adapter/z-stack/models/startup-options.ts +13 -0
- package/src/adapter/z-stack/structs/entries/address-manager-entry.ts +44 -0
- package/src/adapter/z-stack/structs/entries/address-manager-table.ts +19 -0
- package/src/adapter/z-stack/structs/entries/aps-link-key-data-entry.ts +12 -0
- package/src/adapter/z-stack/structs/entries/aps-link-key-data-table.ts +21 -0
- package/src/adapter/z-stack/structs/entries/aps-tc-link-key-entry.ts +19 -0
- package/src/adapter/z-stack/structs/entries/aps-tc-link-key-table.ts +21 -0
- package/src/adapter/z-stack/structs/entries/channel-list.ts +8 -0
- package/src/adapter/z-stack/structs/entries/has-configured.ts +16 -0
- package/src/adapter/z-stack/structs/entries/index.ts +16 -0
- package/src/adapter/z-stack/structs/entries/nib.ts +66 -0
- package/src/adapter/z-stack/structs/entries/nwk-key-descriptor.ts +15 -0
- package/src/adapter/z-stack/structs/entries/nwk-key.ts +13 -0
- package/src/adapter/z-stack/structs/entries/nwk-pan-id.ts +8 -0
- package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.ts +20 -0
- package/src/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.ts +19 -0
- package/src/adapter/z-stack/structs/entries/security-manager-entry.ts +33 -0
- package/src/adapter/z-stack/structs/entries/security-manager-table.ts +22 -0
- package/src/adapter/z-stack/structs/index.ts +4 -0
- package/src/adapter/z-stack/structs/serializable-memory-object.ts +14 -0
- package/src/adapter/z-stack/structs/struct.ts +367 -0
- package/src/adapter/z-stack/structs/table.ts +198 -0
- package/src/adapter/z-stack/unpi/constants.ts +33 -0
- package/src/adapter/z-stack/unpi/frame.ts +62 -0
- package/src/adapter/z-stack/unpi/index.ts +4 -0
- package/src/adapter/z-stack/unpi/parser.ts +56 -0
- package/src/adapter/z-stack/unpi/writer.ts +21 -0
- package/src/adapter/z-stack/utils/channel-list.ts +40 -0
- package/src/adapter/z-stack/utils/index.ts +2 -0
- package/src/adapter/z-stack/utils/network-options.ts +26 -0
- package/src/adapter/z-stack/znp/buffaloZnp.ts +175 -0
- package/src/adapter/z-stack/znp/definition.ts +2713 -0
- package/src/adapter/z-stack/znp/index.ts +2 -0
- package/src/adapter/z-stack/znp/parameterType.ts +22 -0
- package/src/adapter/z-stack/znp/tstype.ts +44 -0
- package/src/adapter/z-stack/znp/utils.ts +10 -0
- package/src/adapter/z-stack/znp/znp.ts +342 -0
- package/src/adapter/z-stack/znp/zpiObject.ts +148 -0
- package/src/adapter/zboss/adapter/zbossAdapter.ts +527 -0
- package/src/adapter/zboss/commands.ts +1184 -0
- package/src/adapter/zboss/consts.ts +9 -0
- package/src/adapter/zboss/driver.ts +423 -0
- package/src/adapter/zboss/enums.ts +360 -0
- package/src/adapter/zboss/frame.ts +227 -0
- package/src/adapter/zboss/reader.ts +65 -0
- package/src/adapter/zboss/types.ts +0 -0
- package/src/adapter/zboss/uart.ts +428 -0
- package/src/adapter/zboss/utils.ts +58 -0
- package/src/adapter/zboss/writer.ts +49 -0
- package/src/adapter/zigate/adapter/patchZdoBuffaloBE.ts +27 -0
- package/src/adapter/zigate/adapter/zigateAdapter.ts +618 -0
- package/src/adapter/zigate/driver/LICENSE +17 -0
- package/src/adapter/zigate/driver/buffaloZiGate.ts +212 -0
- package/src/adapter/zigate/driver/commandType.ts +418 -0
- package/src/adapter/zigate/driver/constants.ts +150 -0
- package/src/adapter/zigate/driver/frame.ts +197 -0
- package/src/adapter/zigate/driver/messageType.ts +287 -0
- package/src/adapter/zigate/driver/parameterType.ts +32 -0
- package/src/adapter/zigate/driver/ziGateObject.ts +146 -0
- package/src/adapter/zigate/driver/zigate.ts +426 -0
- package/src/adapter/zoh/adapter/utils.ts +27 -0
- package/src/adapter/zoh/adapter/zohAdapter.ts +837 -0
- package/src/buffalo/buffalo.ts +335 -0
- package/src/buffalo/index.ts +1 -0
- package/src/controller/controller.ts +1048 -0
- package/src/controller/database.ts +124 -0
- package/src/controller/events.ts +51 -0
- package/src/controller/greenPower.ts +603 -0
- package/src/controller/helpers/index.ts +1 -0
- package/src/controller/helpers/request.ts +94 -0
- package/src/controller/helpers/requestQueue.ts +125 -0
- package/src/controller/helpers/zclFrameConverter.ts +51 -0
- package/src/controller/helpers/zclTransactionSequenceNumber.ts +19 -0
- package/src/controller/index.ts +6 -0
- package/src/controller/model/device.ts +1320 -0
- package/src/controller/model/endpoint.ts +1040 -0
- package/src/controller/model/entity.ts +23 -0
- package/src/controller/model/group.ts +333 -0
- package/src/controller/model/index.ts +4 -0
- package/src/controller/touchlink.ts +189 -0
- package/src/controller/tstype.ts +39 -0
- package/src/index.ts +12 -0
- package/src/models/backup-storage-legacy.ts +48 -0
- package/src/models/backup-storage-unified.ts +47 -0
- package/src/models/backup.ts +37 -0
- package/src/models/index.ts +5 -0
- package/src/models/network-options.ts +11 -0
- package/src/utils/backup.ts +152 -0
- package/src/utils/index.ts +5 -0
- package/src/utils/logger.ts +20 -0
- package/src/utils/patchBigIntSerialization.ts +8 -0
- package/src/utils/queue.ts +76 -0
- package/src/utils/types.d.ts +3 -0
- package/src/utils/utils.ts +20 -0
- package/src/utils/wait.ts +5 -0
- package/src/utils/waitress.ts +95 -0
- package/src/zspec/consts.ts +84 -0
- package/src/zspec/enums.ts +22 -0
- package/src/zspec/index.ts +3 -0
- package/src/zspec/tstypes.ts +18 -0
- package/src/zspec/utils.ts +308 -0
- package/src/zspec/zcl/buffaloZcl.ts +1133 -0
- package/src/zspec/zcl/definition/cluster.ts +5398 -0
- package/src/zspec/zcl/definition/consts.ts +24 -0
- package/src/zspec/zcl/definition/enums.ts +194 -0
- package/src/zspec/zcl/definition/foundation.ts +301 -0
- package/src/zspec/zcl/definition/manufacturerCode.ts +729 -0
- package/src/zspec/zcl/definition/status.ts +69 -0
- package/src/zspec/zcl/definition/tstype.ts +236 -0
- package/src/zspec/zcl/index.ts +10 -0
- package/src/zspec/zcl/utils.ts +342 -0
- package/src/zspec/zcl/zclFrame.ts +336 -0
- package/src/zspec/zcl/zclHeader.ts +102 -0
- package/src/zspec/zcl/zclStatusError.ts +10 -0
- package/src/zspec/zdo/buffaloZdo.ts +2345 -0
- package/src/zspec/zdo/definition/clusters.ts +722 -0
- package/src/zspec/zdo/definition/consts.ts +16 -0
- package/src/zspec/zdo/definition/enums.ts +99 -0
- package/src/zspec/zdo/definition/status.ts +105 -0
- package/src/zspec/zdo/definition/tstypes.ts +1062 -0
- package/src/zspec/zdo/index.ts +7 -0
- package/src/zspec/zdo/utils.ts +76 -0
- package/src/zspec/zdo/zdoStatusError.ts +10 -0
- package/test/adapter/adapter.test.ts +1062 -0
- package/test/adapter/ember/ash.test.ts +337 -0
- package/test/adapter/ember/consts.ts +131 -0
- package/test/adapter/ember/emberAdapter.test.ts +3449 -0
- package/test/adapter/ember/ezsp.test.ts +386 -0
- package/test/adapter/ember/ezspBuffalo.test.ts +92 -0
- package/test/adapter/ember/ezspError.test.ts +11 -0
- package/test/adapter/ember/math.test.ts +205 -0
- package/test/adapter/ezsp/frame.test.ts +29 -0
- package/test/adapter/ezsp/uart.test.ts +180 -0
- package/test/adapter/z-stack/adapter.test.ts +3985 -0
- package/test/adapter/z-stack/constants.test.ts +32 -0
- package/test/adapter/z-stack/structs.test.ts +114 -0
- package/test/adapter/z-stack/unpi.test.ts +212 -0
- package/test/adapter/z-stack/znp.test.ts +1284 -0
- package/test/adapter/zboss/fixZdoResponse.test.ts +178 -0
- package/test/adapter/zigate/patchZdoBuffaloBE.test.ts +80 -0
- package/test/adapter/zigate/zdo.test.ts +187 -0
- package/test/adapter/zoh/utils.test.ts +35 -0
- package/test/adapter/zoh/zohAdapter.test.ts +1306 -0
- package/test/buffalo.test.ts +430 -0
- package/test/controller.test.ts +10005 -0
- package/test/greenpower.test.ts +1421 -0
- package/test/mockAdapters.ts +65 -0
- package/test/mockDevices.ts +472 -0
- package/test/testUtils.ts +20 -0
- package/test/tsconfig.json +10 -0
- package/test/utils/math.ts +19 -0
- package/test/utils.test.ts +227 -0
- package/test/vitest.config.mts +25 -0
- package/test/zcl.test.ts +2832 -0
- package/test/zspec/utils.test.ts +131 -0
- package/test/zspec/zcl/buffalo.test.ts +1231 -0
- package/test/zspec/zcl/frame.test.ts +925 -0
- package/test/zspec/zcl/utils.test.ts +280 -0
- package/test/zspec/zdo/buffalo.test.ts +1849 -0
- package/test/zspec/zdo/utils.test.ts +240 -0
- package/.prettierignore +0 -2
- package/.prettierrc +0 -26
- package/eslint.config.mjs +0 -32
package/dist/adapter/const.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as Zcl from
|
|
1
|
+
import * as Zcl from "../zspec/zcl";
|
|
2
2
|
/**
|
|
3
3
|
* Workaround for devices that require a specific manufacturer code to be reported by coordinator while interviewing...
|
|
4
4
|
* - Lumi/Aqara devices do not work properly otherwise (missing features): https://github.com/Koenkk/zigbee2mqtt/issues/9274
|
package/dist/adapter/const.js
CHANGED
|
@@ -42,7 +42,7 @@ const Zcl = __importStar(require("../zspec/zcl"));
|
|
|
42
42
|
exports.WORKAROUND_JOIN_MANUF_IEEE_PREFIX_TO_CODE = {
|
|
43
43
|
// NOTE: Lumi has a new prefix registered since 2021, in case they start using that one with new devices, it might need to be added here too...
|
|
44
44
|
// "0x18c23c" https://maclookup.app/vendors/lumi-united-technology-co-ltd
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
"0x54ef44": Zcl.ManufacturerCode.LUMI_UNITED_TECHOLOGY_LTD_SHENZHEN,
|
|
46
|
+
"0x04cf8c": Zcl.ManufacturerCode.LUMI_UNITED_TECHOLOGY_LTD_SHENZHEN,
|
|
47
47
|
};
|
|
48
48
|
//# sourceMappingURL=const.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import * as Models from
|
|
2
|
-
import { BroadcastAddress } from
|
|
3
|
-
import * as Zcl from
|
|
4
|
-
import * as Zdo from
|
|
5
|
-
import * as ZdoTypes from
|
|
6
|
-
import Adapter from
|
|
7
|
-
import * as Events from
|
|
8
|
-
import { AdapterOptions, CoordinatorVersion, NetworkOptions, NetworkParameters, SerialPortOptions, StartResult } from
|
|
1
|
+
import type * as Models from "../../../models";
|
|
2
|
+
import type { BroadcastAddress } from "../../../zspec/enums";
|
|
3
|
+
import * as Zcl from "../../../zspec/zcl";
|
|
4
|
+
import * as Zdo from "../../../zspec/zdo";
|
|
5
|
+
import type * as ZdoTypes from "../../../zspec/zdo/definition/tstypes";
|
|
6
|
+
import Adapter from "../../adapter";
|
|
7
|
+
import type * as Events from "../../events";
|
|
8
|
+
import type { AdapterOptions, CoordinatorVersion, NetworkOptions, NetworkParameters, SerialPortOptions, StartResult } from "../../tstype";
|
|
9
9
|
export declare class DeconzAdapter extends Adapter {
|
|
10
10
|
private driver;
|
|
11
11
|
private openRequestsQueue;
|
|
@@ -13,7 +13,7 @@ export declare class DeconzAdapter extends Adapter {
|
|
|
13
13
|
private frameParserEvent;
|
|
14
14
|
private fwVersion?;
|
|
15
15
|
private waitress;
|
|
16
|
-
private
|
|
16
|
+
private readonly txOptions;
|
|
17
17
|
private joinPermitted;
|
|
18
18
|
constructor(networkOptions: NetworkOptions, serialPortOptions: SerialPortOptions, backupPath: string, adapterOptions: AdapterOptions);
|
|
19
19
|
/**
|
|
@@ -25,25 +25,25 @@ export declare class DeconzAdapter extends Adapter {
|
|
|
25
25
|
permitJoin(seconds: number, networkAddress?: number): Promise<void>;
|
|
26
26
|
getCoordinatorVersion(): Promise<CoordinatorVersion>;
|
|
27
27
|
addInstallCode(ieeeAddress: string, key: Buffer, hashed: boolean): Promise<void>;
|
|
28
|
-
reset(
|
|
28
|
+
reset(_type: "soft" | "hard"): Promise<void>;
|
|
29
29
|
waitFor(networkAddress: number | undefined, endpoint: number, frameType: Zcl.FrameType, direction: Zcl.Direction, transactionSequenceNumber: number | undefined, clusterID: number, commandIdentifier: number, timeout: number): {
|
|
30
30
|
promise: Promise<Events.ZclPayload>;
|
|
31
31
|
cancel: () => void;
|
|
32
32
|
};
|
|
33
33
|
sendZdo(ieeeAddress: string, networkAddress: number, clusterId: Zdo.ClusterId, payload: Buffer, disableResponse: true): Promise<void>;
|
|
34
34
|
sendZdo<K extends keyof ZdoTypes.RequestToResponseMap>(ieeeAddress: string, networkAddress: number, clusterId: K, payload: Buffer, disableResponse: false): Promise<ZdoTypes.RequestToResponseMap[K]>;
|
|
35
|
-
sendZclFrameToEndpoint(
|
|
35
|
+
sendZclFrameToEndpoint(_ieeeAddr: string, networkAddress: number, endpoint: number, zclFrame: Zcl.Frame, timeout: number, disableResponse: boolean, _disableRecovery: boolean, sourceEndpoint?: number): Promise<Events.ZclPayload | undefined>;
|
|
36
36
|
sendZclFrameToGroup(groupID: number, zclFrame: Zcl.Frame): Promise<void>;
|
|
37
37
|
sendZclFrameToAll(endpoint: number, zclFrame: Zcl.Frame, sourceEndpoint: number, destination: BroadcastAddress): Promise<void>;
|
|
38
38
|
supportsBackup(): Promise<boolean>;
|
|
39
39
|
backup(): Promise<Models.Backup>;
|
|
40
40
|
getNetworkParameters(): Promise<NetworkParameters>;
|
|
41
41
|
restoreChannelInterPAN(): Promise<void>;
|
|
42
|
-
sendZclFrameInterPANToIeeeAddr(
|
|
43
|
-
sendZclFrameInterPANBroadcast(
|
|
44
|
-
sendZclFrameInterPANBroadcastWithResponse(
|
|
45
|
-
setChannelInterPAN(
|
|
46
|
-
sendZclFrameInterPANIeeeAddr(
|
|
42
|
+
sendZclFrameInterPANToIeeeAddr(_zclFrame: Zcl.Frame, _ieeeAddr: string): Promise<void>;
|
|
43
|
+
sendZclFrameInterPANBroadcast(_zclFrame: Zcl.Frame, _timeout: number): Promise<Events.ZclPayload>;
|
|
44
|
+
sendZclFrameInterPANBroadcastWithResponse(_zclFrame: Zcl.Frame, _timeout: number): Promise<Events.ZclPayload>;
|
|
45
|
+
setChannelInterPAN(_channel: number): Promise<void>;
|
|
46
|
+
sendZclFrameInterPANIeeeAddr(_zclFrame: Zcl.Frame, _ieeeAddr: string): Promise<void>;
|
|
47
47
|
/**
|
|
48
48
|
* Private methods
|
|
49
49
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deconzAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/adapter/deconzAdapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"deconzAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/adapter/deconzAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ const adapter_1 = __importDefault(require("../../adapter"));
|
|
|
48
48
|
const constants_1 = __importDefault(require("../driver/constants"));
|
|
49
49
|
const driver_1 = __importDefault(require("../driver/driver"));
|
|
50
50
|
const frameParser_1 = __importStar(require("../driver/frameParser"));
|
|
51
|
-
const NS =
|
|
51
|
+
const NS = "zh:deconz";
|
|
52
52
|
class DeconzAdapter extends adapter_1.default {
|
|
53
53
|
driver;
|
|
54
54
|
openRequestsQueue;
|
|
@@ -56,7 +56,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
56
56
|
frameParserEvent = frameParser_1.frameParserEvents;
|
|
57
57
|
fwVersion;
|
|
58
58
|
waitress;
|
|
59
|
-
|
|
59
|
+
txOptions;
|
|
60
60
|
joinPermitted = false;
|
|
61
61
|
constructor(networkOptions, serialPortOptions, backupPath, adapterOptions) {
|
|
62
62
|
super(networkOptions, serialPortOptions, backupPath, adapterOptions);
|
|
@@ -64,23 +64,22 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
64
64
|
this.manufacturerID = Zcl.ManufacturerCode.DRESDEN_ELEKTRONIK_INGENIEURTECHNIK_GMBH;
|
|
65
65
|
// const concurrent = this.adapterOptions && this.adapterOptions.concurrent ? this.adapterOptions.concurrent : 2;
|
|
66
66
|
// TODO: https://github.com/Koenkk/zigbee2mqtt/issues/4884#issuecomment-728903121
|
|
67
|
-
const delay = this.adapterOptions && typeof this.adapterOptions.delay ===
|
|
67
|
+
const delay = this.adapterOptions && typeof this.adapterOptions.delay === "number" ? this.adapterOptions.delay : 0;
|
|
68
68
|
this.waitress = new utils_1.Waitress(this.waitressValidator, this.waitressTimeoutFormatter);
|
|
69
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
69
70
|
this.driver = new driver_1.default(serialPortOptions.path);
|
|
70
71
|
this.driver.setDelay(delay);
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
this.driver.on('rxFrame', (frame) => {
|
|
72
|
+
this.txOptions = delay >= 200 ? 0x04 /* activate APS ACKs */ : 0x00 /* no APS ACKs */;
|
|
73
|
+
this.driver.on("rxFrame", (frame) => {
|
|
75
74
|
(0, frameParser_1.default)(frame);
|
|
76
75
|
});
|
|
77
76
|
this.transactionID = 0;
|
|
78
77
|
this.openRequestsQueue = [];
|
|
79
78
|
this.fwVersion = undefined;
|
|
80
|
-
this.frameParserEvent.on(
|
|
79
|
+
this.frameParserEvent.on("receivedDataPayload", (data) => {
|
|
81
80
|
this.checkReceivedDataPayload(data);
|
|
82
81
|
});
|
|
83
|
-
this.frameParserEvent.on(
|
|
82
|
+
this.frameParserEvent.on("receivedGreenPowerIndication", (data) => {
|
|
84
83
|
this.checkReceivedGreenPowerIndication(data);
|
|
85
84
|
});
|
|
86
85
|
setInterval(() => {
|
|
@@ -100,11 +99,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
100
99
|
const networkKey = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.NETWORK_KEY);
|
|
101
100
|
// check current channel against configuration.yaml
|
|
102
101
|
if (this.networkOptions.channelList[0] !== channel) {
|
|
103
|
-
logger_1.logger.debug(
|
|
104
|
-
this.networkOptions.channelList[0] +
|
|
105
|
-
') differs from current channel (' +
|
|
106
|
-
channel +
|
|
107
|
-
'). Changing channel.', NS);
|
|
102
|
+
logger_1.logger.debug(`Channel in configuration.yaml (${this.networkOptions.channelList[0]}) differs from current channel (${channel}). Changing channel.`, NS);
|
|
108
103
|
let setChannelMask = 0;
|
|
109
104
|
switch (this.networkOptions.channelList[0]) {
|
|
110
105
|
case 11:
|
|
@@ -164,47 +159,49 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
164
159
|
changed = true;
|
|
165
160
|
}
|
|
166
161
|
catch (error) {
|
|
167
|
-
logger_1.logger.debug(
|
|
162
|
+
logger_1.logger.debug(`Could not set channel: ${error}`, NS);
|
|
168
163
|
}
|
|
169
164
|
}
|
|
170
165
|
// check current panid against configuration.yaml
|
|
171
166
|
if (this.networkOptions.panID !== panid) {
|
|
172
|
-
logger_1.logger.debug(
|
|
167
|
+
logger_1.logger.debug(`panid in configuration.yaml (${this.networkOptions.panID}) differs from current panid (${panid}). Changing panid.`, NS);
|
|
173
168
|
try {
|
|
174
169
|
await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.PAN_ID, this.networkOptions.panID);
|
|
175
170
|
await (0, utils_1.wait)(500);
|
|
176
171
|
changed = true;
|
|
177
172
|
}
|
|
178
173
|
catch (error) {
|
|
179
|
-
logger_1.logger.debug(
|
|
174
|
+
logger_1.logger.debug(`Could not set panid: ${error}`, NS);
|
|
180
175
|
}
|
|
181
176
|
}
|
|
182
177
|
// check current extended_panid against configuration.yaml
|
|
178
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
183
179
|
if (this.driver.generalArrayToString(this.networkOptions.extendedPanID, 8) !== expanid) {
|
|
184
|
-
logger_1.logger.debug(
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
expanid +
|
|
188
|
-
'). Changing extended panid.', NS);
|
|
180
|
+
logger_1.logger.debug(`extended panid in configuration.yaml (${
|
|
181
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
182
|
+
this.driver.macAddrArrayToString(this.networkOptions.extendedPanID)}) differs from current extended panid (${expanid}). Changing extended panid.`, NS);
|
|
189
183
|
try {
|
|
184
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
190
185
|
await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID, this.networkOptions.extendedPanID);
|
|
191
186
|
await (0, utils_1.wait)(500);
|
|
192
187
|
changed = true;
|
|
193
188
|
}
|
|
194
189
|
catch (error) {
|
|
195
|
-
logger_1.logger.debug(
|
|
190
|
+
logger_1.logger.debug(`Could not set extended panid: ${error}`, NS);
|
|
196
191
|
}
|
|
197
192
|
}
|
|
198
193
|
// check current network key against configuration.yaml
|
|
194
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
199
195
|
if (this.driver.generalArrayToString(this.networkOptions.networkKey, 16) !== networkKey) {
|
|
200
|
-
logger_1.logger.debug(
|
|
196
|
+
logger_1.logger.debug(`network key in configuration.yaml (hidden) differs from current network key (${networkKey}). Changing network key.`, NS);
|
|
201
197
|
try {
|
|
198
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
202
199
|
await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.NETWORK_KEY, this.networkOptions.networkKey);
|
|
203
200
|
await (0, utils_1.wait)(500);
|
|
204
201
|
changed = true;
|
|
205
202
|
}
|
|
206
203
|
catch (error) {
|
|
207
|
-
logger_1.logger.debug(
|
|
204
|
+
logger_1.logger.debug(`Could not set network key: ${error}`, NS);
|
|
208
205
|
}
|
|
209
206
|
}
|
|
210
207
|
if (changed) {
|
|
@@ -221,7 +218,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
221
218
|
];
|
|
222
219
|
const sd1 = sd.reverse();
|
|
223
220
|
await this.driver.writeParameterRequest(constants_1.default.PARAM.STK.Endpoint, sd1);
|
|
224
|
-
return
|
|
221
|
+
return "resumed";
|
|
225
222
|
}
|
|
226
223
|
async stop() {
|
|
227
224
|
await this.driver.close();
|
|
@@ -254,39 +251,36 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
254
251
|
}
|
|
255
252
|
async getCoordinatorVersion() {
|
|
256
253
|
// product: number; transportrev: number; majorrel: number; minorrel: number; maintrel: number; revision: string;
|
|
257
|
-
if (this.fwVersion
|
|
254
|
+
if (this.fwVersion !== undefined) {
|
|
258
255
|
return this.fwVersion;
|
|
259
256
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
type = 'ConBee/RaspBee';
|
|
268
|
-
}
|
|
269
|
-
else if (fw[1] === 7) {
|
|
270
|
-
type = 'ConBee2/RaspBee2';
|
|
271
|
-
}
|
|
272
|
-
else {
|
|
273
|
-
type = 'ConBee3';
|
|
274
|
-
}
|
|
275
|
-
const meta = { transportrev: 0, product: 0, majorrel: fw[3], minorrel: fw[2], maintrel: 0, revision: fwString };
|
|
276
|
-
this.fwVersion = { type: type, meta: meta };
|
|
277
|
-
return { type: type, meta: meta };
|
|
257
|
+
try {
|
|
258
|
+
const fw = await this.driver.readFirmwareVersionRequest();
|
|
259
|
+
const buf = Buffer.from(fw);
|
|
260
|
+
const fwString = `0x${buf.readUInt32LE(0).toString(16)}`;
|
|
261
|
+
let type = "";
|
|
262
|
+
if (fw[1] === 5) {
|
|
263
|
+
type = "ConBee/RaspBee";
|
|
278
264
|
}
|
|
279
|
-
|
|
280
|
-
|
|
265
|
+
else if (fw[1] === 7) {
|
|
266
|
+
type = "ConBee2/RaspBee2";
|
|
281
267
|
}
|
|
268
|
+
else {
|
|
269
|
+
type = "ConBee3";
|
|
270
|
+
}
|
|
271
|
+
const meta = { transportrev: 0, product: 0, majorrel: fw[3], minorrel: fw[2], maintrel: 0, revision: fwString };
|
|
272
|
+
this.fwVersion = { type: type, meta: meta };
|
|
273
|
+
return { type: type, meta: meta };
|
|
274
|
+
}
|
|
275
|
+
catch (error) {
|
|
276
|
+
throw new Error(`Get coordinator version Error: ${error}`);
|
|
282
277
|
}
|
|
283
278
|
}
|
|
284
279
|
async addInstallCode(ieeeAddress, key, hashed) {
|
|
285
280
|
await this.driver.writeLinkKey(ieeeAddress, hashed ? key : ZSpec.Utils.aes128MmoHash(key));
|
|
286
281
|
}
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
return await Promise.reject(new Error('Reset is not supported'));
|
|
282
|
+
async reset(_type) {
|
|
283
|
+
return await Promise.reject(new Error("Reset is not supported"));
|
|
290
284
|
}
|
|
291
285
|
waitFor(networkAddress, endpoint, frameType, direction, transactionSequenceNumber, clusterID, commandIdentifier, timeout) {
|
|
292
286
|
const payload = {
|
|
@@ -330,11 +324,12 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
330
324
|
if (responseClusterId) {
|
|
331
325
|
try {
|
|
332
326
|
const response = await this.waitForData(isNwkAddrRequest ? ieeeAddress : networkAddress, Zdo.ZDO_PROFILE_ID, responseClusterId);
|
|
327
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
333
328
|
return response.zdo;
|
|
334
329
|
}
|
|
335
330
|
catch (error) {
|
|
336
|
-
if (responseClusterId
|
|
337
|
-
logger_1.logger.warning(
|
|
331
|
+
if (responseClusterId === Zdo.ClusterId.ACTIVE_ENDPOINTS_RESPONSE && networkAddress === 0) {
|
|
332
|
+
logger_1.logger.warning("Failed to determine active endpoints of coordinator, falling back to [1]", NS);
|
|
338
333
|
// Some Conbee adapaters don't provide a response to an active endpoint request of the coordinator, always return
|
|
339
334
|
// an endpoint here. Before an active endpoint request was done to determine the endpoints, they were hardcoded:
|
|
340
335
|
// https://github.com/Koenkk/zigbee-herdsman/blob/d855b3bf85a066cb7c325fe3ef0006873c735add/src/adapter/deconz/adapter/deconzAdapter.ts#L105
|
|
@@ -344,14 +339,12 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
344
339
|
];
|
|
345
340
|
return response;
|
|
346
341
|
}
|
|
347
|
-
|
|
348
|
-
throw error;
|
|
349
|
-
}
|
|
342
|
+
throw error;
|
|
350
343
|
}
|
|
351
344
|
}
|
|
352
345
|
}
|
|
353
346
|
}
|
|
354
|
-
async sendZclFrameToEndpoint(
|
|
347
|
+
async sendZclFrameToEndpoint(_ieeeAddr, networkAddress, endpoint, zclFrame, timeout, disableResponse, _disableRecovery, sourceEndpoint) {
|
|
355
348
|
const transactionID = this.nextTransactionID();
|
|
356
349
|
const payload = zclFrame.toBuffer();
|
|
357
350
|
const request = {
|
|
@@ -364,7 +357,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
364
357
|
srcEndpoint: sourceEndpoint || 1,
|
|
365
358
|
asduLength: payload.length,
|
|
366
359
|
asduPayload: payload,
|
|
367
|
-
txOptions: this.
|
|
360
|
+
txOptions: this.txOptions, // 0x00 normal, 0x04 APS ACK
|
|
368
361
|
radius: constants_1.default.PARAM.txRadius.DEFAULT_RADIUS,
|
|
369
362
|
timeout: timeout,
|
|
370
363
|
};
|
|
@@ -373,14 +366,8 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
373
366
|
.enqueueSendDataRequest(request)
|
|
374
367
|
.then(() => {
|
|
375
368
|
logger_1.logger.debug(`sendZclFrameToEndpoint - message send with transSeq Nr.: ${zclFrame.header.transactionSequenceNumber}`, NS);
|
|
376
|
-
logger_1.logger.debug(
|
|
377
|
-
|
|
378
|
-
zclFrame.header.frameControl.disableDefaultResponse +
|
|
379
|
-
', ' +
|
|
380
|
-
disableResponse +
|
|
381
|
-
', ' +
|
|
382
|
-
request.timeout, NS);
|
|
383
|
-
if (command.response == undefined || zclFrame.header.frameControl.disableDefaultResponse || !disableResponse) {
|
|
369
|
+
logger_1.logger.debug(`${command.response !== undefined}, ${zclFrame.header.frameControl.disableDefaultResponse}, ${disableResponse}, ${request.timeout}`, NS);
|
|
370
|
+
if (command.response === undefined || zclFrame.header.frameControl.disableDefaultResponse || !disableResponse) {
|
|
384
371
|
logger_1.logger.debug(`resolve request (${zclFrame.header.transactionSequenceNumber})`, NS);
|
|
385
372
|
return Promise.resolve();
|
|
386
373
|
}
|
|
@@ -392,17 +379,21 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
392
379
|
});
|
|
393
380
|
try {
|
|
394
381
|
let data = null;
|
|
395
|
-
if ((command.response
|
|
382
|
+
if ((command.response !== undefined && !disableResponse) || !zclFrame.header.frameControl.disableDefaultResponse) {
|
|
396
383
|
data = await this.waitForData(networkAddress, ZSpec.HA_PROFILE_ID, zclFrame.cluster.ID, zclFrame.header.transactionSequenceNumber, request.timeout);
|
|
397
384
|
}
|
|
398
385
|
if (data !== null) {
|
|
399
386
|
const response = {
|
|
400
|
-
address: data.srcAddr16 ??
|
|
387
|
+
address: data.srcAddr16 ??
|
|
388
|
+
`0x${
|
|
389
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
390
|
+
data.srcAddr64}`,
|
|
401
391
|
data: data.asduPayload,
|
|
402
392
|
clusterID: zclFrame.cluster.ID,
|
|
403
393
|
header: Zcl.Header.fromBuffer(data.asduPayload),
|
|
404
394
|
endpoint: data.srcEndpoint,
|
|
405
395
|
linkquality: data.lqi,
|
|
396
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
406
397
|
groupID: data.srcAddrMode === 0x01 ? data.srcAddr16 : 0,
|
|
407
398
|
wasBroadcast: data.srcAddrMode === 0x01 || data.srcAddrMode === 0xf,
|
|
408
399
|
destinationEndpoint: data.destEndpoint,
|
|
@@ -410,9 +401,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
410
401
|
logger_1.logger.debug(`response received (${zclFrame.header.transactionSequenceNumber})`, NS);
|
|
411
402
|
return response;
|
|
412
403
|
}
|
|
413
|
-
|
|
414
|
-
logger_1.logger.debug(`no response expected (${zclFrame.header.transactionSequenceNumber})`, NS);
|
|
415
|
-
}
|
|
404
|
+
logger_1.logger.debug(`no response expected (${zclFrame.header.transactionSequenceNumber})`, NS);
|
|
416
405
|
}
|
|
417
406
|
catch (error) {
|
|
418
407
|
throw new Error(`no response received (${zclFrame.header.transactionSequenceNumber}) ${error}`);
|
|
@@ -434,7 +423,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
434
423
|
txOptions: 0,
|
|
435
424
|
radius: constants_1.default.PARAM.txRadius.UNLIMITED,
|
|
436
425
|
};
|
|
437
|
-
logger_1.logger.debug(
|
|
426
|
+
logger_1.logger.debug("sendZclFrameToGroup - message send", NS);
|
|
438
427
|
return await this.driver.enqueueSendDataRequest(request);
|
|
439
428
|
}
|
|
440
429
|
async sendZclFrameToAll(endpoint, zclFrame, sourceEndpoint, destination) {
|
|
@@ -454,14 +443,14 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
454
443
|
txOptions: 0,
|
|
455
444
|
radius: constants_1.default.PARAM.txRadius.UNLIMITED,
|
|
456
445
|
};
|
|
457
|
-
logger_1.logger.debug(
|
|
446
|
+
logger_1.logger.debug("sendZclFrameToAll - message send", NS);
|
|
458
447
|
return await this.driver.enqueueSendDataRequest(request);
|
|
459
448
|
}
|
|
460
449
|
async supportsBackup() {
|
|
461
|
-
return false;
|
|
450
|
+
return await Promise.resolve(false);
|
|
462
451
|
}
|
|
463
452
|
async backup() {
|
|
464
|
-
|
|
453
|
+
return await Promise.reject(new Error("This adapter does not support backup"));
|
|
465
454
|
}
|
|
466
455
|
async getNetworkParameters() {
|
|
467
456
|
try {
|
|
@@ -479,33 +468,28 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
479
468
|
};
|
|
480
469
|
}
|
|
481
470
|
catch (error) {
|
|
482
|
-
const msg =
|
|
471
|
+
const msg = `get network parameters Error:${error}`;
|
|
483
472
|
logger_1.logger.debug(msg, NS);
|
|
484
473
|
return await Promise.reject(new Error(msg));
|
|
485
474
|
}
|
|
486
475
|
}
|
|
487
476
|
async restoreChannelInterPAN() {
|
|
488
|
-
|
|
477
|
+
await Promise.reject(new Error("not supported"));
|
|
489
478
|
}
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
throw new Error('not supported');
|
|
479
|
+
async sendZclFrameInterPANToIeeeAddr(_zclFrame, _ieeeAddr) {
|
|
480
|
+
await Promise.reject(new Error("not supported"));
|
|
493
481
|
}
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
throw new Error('not supported');
|
|
482
|
+
async sendZclFrameInterPANBroadcast(_zclFrame, _timeout) {
|
|
483
|
+
return await Promise.reject(new Error("not supported"));
|
|
497
484
|
}
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
throw new Error('not supported');
|
|
485
|
+
async sendZclFrameInterPANBroadcastWithResponse(_zclFrame, _timeout) {
|
|
486
|
+
return await Promise.reject(new Error("not supported"));
|
|
501
487
|
}
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
throw new Error('not supported');
|
|
488
|
+
async setChannelInterPAN(_channel) {
|
|
489
|
+
await Promise.reject(new Error("not supported"));
|
|
505
490
|
}
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
throw new Error('not supported');
|
|
491
|
+
async sendZclFrameInterPANIeeeAddr(_zclFrame, _ieeeAddr) {
|
|
492
|
+
await Promise.reject(new Error("not supported"));
|
|
509
493
|
}
|
|
510
494
|
/**
|
|
511
495
|
* Private methods
|
|
@@ -543,7 +527,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
543
527
|
destinationEndpoint: ZSpec.GP_ENDPOINT,
|
|
544
528
|
};
|
|
545
529
|
this.waitress.resolve(payload);
|
|
546
|
-
this.emit(
|
|
530
|
+
this.emit("zclPayload", payload);
|
|
547
531
|
}
|
|
548
532
|
checkReceivedDataPayload(resp) {
|
|
549
533
|
let srcAddr;
|
|
@@ -561,7 +545,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
561
545
|
if (resp.srcAddr64 != null) {
|
|
562
546
|
logger_1.logger.debug(`Try to find network address of ${resp.srcAddr64}`, NS);
|
|
563
547
|
// Note: Device expects addresses with a 0x prefix...
|
|
564
|
-
srcAddr = device_1.default.byIeeeAddr(
|
|
548
|
+
srcAddr = device_1.default.byIeeeAddr(`0x${resp.srcAddr64}`, false)?.networkAddress;
|
|
565
549
|
// apperantly some functions furhter up in the protocol stack expect this to be set.
|
|
566
550
|
// so let's make sure they get the network address
|
|
567
551
|
// Note: srcAddr16 can be undefined after this and this is intended behavior
|
|
@@ -572,18 +556,22 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
572
556
|
}
|
|
573
557
|
if (resp.profileId === Zdo.ZDO_PROFILE_ID) {
|
|
574
558
|
if (resp.clusterId === Zdo.ClusterId.NETWORK_ADDRESS_RESPONSE) {
|
|
559
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
575
560
|
if (Zdo.Buffalo.checkStatus(resp.zdo)) {
|
|
561
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
576
562
|
srcEUI64 = resp.zdo[1].eui64;
|
|
577
563
|
}
|
|
578
564
|
}
|
|
579
565
|
else if (resp.clusterId === Zdo.ClusterId.END_DEVICE_ANNOUNCE) {
|
|
580
566
|
// XXX: using same response for announce (handled by controller) or joined depending on permit join status?
|
|
567
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
581
568
|
if (this.joinPermitted === true && Zdo.Buffalo.checkStatus(resp.zdo)) {
|
|
582
569
|
const payload = resp.zdo[1];
|
|
583
|
-
this.emit(
|
|
570
|
+
this.emit("deviceJoined", { networkAddress: payload.nwkAddress, ieeeAddr: payload.eui64 });
|
|
584
571
|
}
|
|
585
572
|
}
|
|
586
|
-
|
|
573
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
574
|
+
this.emit("zdoResponse", resp.clusterId, resp.zdo);
|
|
587
575
|
}
|
|
588
576
|
else {
|
|
589
577
|
header = Zcl.Header.fromBuffer(resp.asduPayload);
|
|
@@ -594,7 +582,7 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
594
582
|
const req = this.openRequestsQueue[i];
|
|
595
583
|
if (resp &&
|
|
596
584
|
(req.addr === undefined ||
|
|
597
|
-
(typeof req.addr ===
|
|
585
|
+
(typeof req.addr === "number" ? srcAddr !== undefined && req.addr === srcAddr : srcEUI64 && req.addr === srcEUI64)) &&
|
|
598
586
|
req.clusterId === resp.clusterId &&
|
|
599
587
|
req.profileId === resp.profileId &&
|
|
600
588
|
(header === undefined ||
|
|
@@ -606,27 +594,34 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
606
594
|
const now = Date.now();
|
|
607
595
|
// Default timeout: 60 seconds.
|
|
608
596
|
// Comparison is negated to prevent orphans when invalid timeout is entered (resulting in NaN).
|
|
597
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
609
598
|
if (!(now - req.ts <= (req.timeout ?? 60000))) {
|
|
610
599
|
//logger.debug("Timeout for request in openRequestsQueue addr: " + req.addr.toString(16) + " clusterId: " + req.clusterId.toString(16) + " profileId: " + req.profileId.toString(16), NS);
|
|
611
600
|
//remove from busyQueue
|
|
612
601
|
this.openRequestsQueue.splice(i, 1);
|
|
613
|
-
req.reject(new Error(
|
|
602
|
+
req.reject(new Error("waiting for response TIMEOUT"));
|
|
614
603
|
}
|
|
615
604
|
}
|
|
616
|
-
if (resp && resp.profileId
|
|
605
|
+
if (resp && resp.profileId !== Zdo.ZDO_PROFILE_ID) {
|
|
617
606
|
const payload = {
|
|
618
607
|
clusterID: resp.clusterId,
|
|
619
608
|
header,
|
|
620
609
|
data: resp.asduPayload,
|
|
621
|
-
address: resp.srcAddrMode === 0x03
|
|
610
|
+
address: resp.srcAddrMode === 0x03
|
|
611
|
+
? `0x${
|
|
612
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
613
|
+
resp.srcAddr64}`
|
|
614
|
+
: // biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
615
|
+
resp.srcAddr16,
|
|
622
616
|
endpoint: resp.srcEndpoint,
|
|
623
617
|
linkquality: resp.lqi,
|
|
618
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
624
619
|
groupID: resp.destAddrMode === 0x01 ? resp.destAddr16 : 0,
|
|
625
620
|
wasBroadcast: resp.destAddrMode === 0x01 || resp.destAddrMode === 0xf,
|
|
626
621
|
destinationEndpoint: resp.destEndpoint,
|
|
627
622
|
};
|
|
628
623
|
this.waitress.resolve(payload);
|
|
629
|
-
this.emit(
|
|
624
|
+
this.emit("zclPayload", payload);
|
|
630
625
|
}
|
|
631
626
|
}
|
|
632
627
|
nextTransactionID() {
|