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
|
@@ -17,7 +17,7 @@ const constants_1 = __importDefault(require("./constants"));
|
|
|
17
17
|
const frameParser_1 = require("./frameParser");
|
|
18
18
|
const parser_1 = __importDefault(require("./parser"));
|
|
19
19
|
const writer_1 = __importDefault(require("./writer"));
|
|
20
|
-
const NS =
|
|
20
|
+
const NS = "zh:deconz:driver";
|
|
21
21
|
const queue = [];
|
|
22
22
|
exports.busyQueue = [];
|
|
23
23
|
const apsQueue = [];
|
|
@@ -46,10 +46,10 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
46
46
|
apsDataIndication;
|
|
47
47
|
configChanged;
|
|
48
48
|
socketPort;
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
delay;
|
|
50
|
+
readyToSendTimeout;
|
|
51
|
+
handleDeviceStatusDelay;
|
|
52
|
+
processQueues;
|
|
53
53
|
timeoutCounter = 0;
|
|
54
54
|
currentBaudRate = 0;
|
|
55
55
|
constructor(path) {
|
|
@@ -62,10 +62,10 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
62
62
|
this.apsDataConfirm = 0;
|
|
63
63
|
this.apsDataIndication = 0;
|
|
64
64
|
this.configChanged = 0;
|
|
65
|
-
this.
|
|
66
|
-
this.
|
|
67
|
-
this.
|
|
68
|
-
this.
|
|
65
|
+
this.delay = 0;
|
|
66
|
+
this.readyToSendTimeout = 1;
|
|
67
|
+
this.handleDeviceStatusDelay = 5;
|
|
68
|
+
this.processQueues = 5;
|
|
69
69
|
this.writer = new writer_1.default();
|
|
70
70
|
this.parser = new parser_1.default();
|
|
71
71
|
setInterval(() => {
|
|
@@ -78,20 +78,22 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
78
78
|
.then(() => { })
|
|
79
79
|
.catch(() => {
|
|
80
80
|
//try again
|
|
81
|
-
logger_1.logger.debug(
|
|
81
|
+
logger_1.logger.debug("try again to reset watchdog", NS);
|
|
82
82
|
this.writeParameterRequest(0x26, 600)
|
|
83
83
|
.then(() => { })
|
|
84
84
|
.catch(() => {
|
|
85
|
-
logger_1.logger.debug(
|
|
85
|
+
logger_1.logger.debug("warning watchdog was not reset", NS);
|
|
86
86
|
});
|
|
87
87
|
});
|
|
88
88
|
}, 1000 * 60 * 8); // 8 minutes
|
|
89
89
|
this.onParsed = this.onParsed.bind(this);
|
|
90
|
-
this.frameParserEvent.on(
|
|
91
|
-
|
|
90
|
+
this.frameParserEvent.on("receivedDataNotification", (data) => {
|
|
91
|
+
this.checkDeviceStatus(data);
|
|
92
92
|
});
|
|
93
|
-
this.on(
|
|
94
|
-
this.intervals
|
|
93
|
+
this.on("close", () => {
|
|
94
|
+
for (const interval of this.intervals) {
|
|
95
|
+
clearInterval(interval);
|
|
96
|
+
}
|
|
95
97
|
queue.length = 0;
|
|
96
98
|
exports.busyQueue.length = 0;
|
|
97
99
|
apsQueue.length = 0;
|
|
@@ -105,52 +107,52 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
105
107
|
this.intervals.push(interval);
|
|
106
108
|
}
|
|
107
109
|
async catchPromise(val) {
|
|
108
|
-
return await Promise.resolve(val).catch((err) => logger_1.logger.debug(`Promise was caught with reason: ${err}`, NS));
|
|
110
|
+
return (await Promise.resolve(val).catch((err) => logger_1.logger.debug(`Promise was caught with reason: ${err}`, NS)));
|
|
109
111
|
}
|
|
110
112
|
setDelay(delay) {
|
|
111
113
|
logger_1.logger.debug(`Set delay to ${delay}`, NS);
|
|
112
|
-
this.
|
|
113
|
-
this.
|
|
114
|
-
this.
|
|
115
|
-
this.
|
|
116
|
-
if (this.
|
|
117
|
-
this.
|
|
114
|
+
this.delay = delay;
|
|
115
|
+
this.readyToSendTimeout = delay;
|
|
116
|
+
this.processQueues = delay;
|
|
117
|
+
this.handleDeviceStatusDelay = delay;
|
|
118
|
+
if (this.readyToSendTimeout === 0) {
|
|
119
|
+
this.readyToSendTimeout = 1;
|
|
118
120
|
}
|
|
119
|
-
if (this.
|
|
120
|
-
this.
|
|
121
|
+
if (this.processQueues < 5) {
|
|
122
|
+
this.processQueues = 5;
|
|
121
123
|
}
|
|
122
|
-
if (this.
|
|
123
|
-
this.
|
|
124
|
+
if (this.handleDeviceStatusDelay < 5) {
|
|
125
|
+
this.handleDeviceStatusDelay = 5;
|
|
124
126
|
}
|
|
125
|
-
if (this.
|
|
126
|
-
this.
|
|
127
|
+
if (this.processQueues > 60) {
|
|
128
|
+
this.processQueues = 60;
|
|
127
129
|
}
|
|
128
|
-
if (this.
|
|
129
|
-
this.
|
|
130
|
+
if (this.handleDeviceStatusDelay > 60) {
|
|
131
|
+
this.handleDeviceStatusDelay = 60;
|
|
130
132
|
}
|
|
131
133
|
this.registerInterval(setInterval(() => {
|
|
132
134
|
this.processQueue();
|
|
133
|
-
}, this.
|
|
135
|
+
}, this.processQueues)); // fire non aps requests
|
|
134
136
|
this.registerInterval(setInterval(async () => {
|
|
135
137
|
await this.catchPromise(this.processBusyQueue());
|
|
136
|
-
}, this.
|
|
138
|
+
}, this.processQueues)); // check timeouts for non aps requests
|
|
137
139
|
this.registerInterval(setInterval(async () => {
|
|
138
140
|
await this.catchPromise(this.processApsQueue());
|
|
139
|
-
}, this.
|
|
141
|
+
}, this.processQueues)); // fire aps request
|
|
140
142
|
this.registerInterval(setInterval(() => {
|
|
141
143
|
this.processApsBusyQueue();
|
|
142
|
-
}, this.
|
|
143
|
-
this.registerInterval(setInterval(
|
|
144
|
+
}, this.processQueues)); // check timeouts for all open aps requests
|
|
145
|
+
this.registerInterval(setInterval(() => {
|
|
144
146
|
this.processApsConfirmIndQueue();
|
|
145
|
-
}, this.
|
|
147
|
+
}, this.processQueues)); // fire aps indications and confirms
|
|
146
148
|
this.registerInterval(setInterval(async () => {
|
|
147
149
|
await this.catchPromise(this.handleDeviceStatus());
|
|
148
|
-
}, this.
|
|
150
|
+
}, this.handleDeviceStatusDelay)); // query confirm and indication requests
|
|
149
151
|
}
|
|
150
152
|
onPortClose() {
|
|
151
|
-
logger_1.logger.debug(
|
|
153
|
+
logger_1.logger.debug("Port closed", NS);
|
|
152
154
|
this.initialized = false;
|
|
153
|
-
this.emit(
|
|
155
|
+
this.emit("close");
|
|
154
156
|
}
|
|
155
157
|
async open(baudrate) {
|
|
156
158
|
this.currentBaudRate = baudrate;
|
|
@@ -161,18 +163,21 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
161
163
|
this.serialPort = new serialPort_1.SerialPort({ path: this.path, baudRate: baudrate, autoOpen: false }); //38400 RaspBee //115200 ConBee3
|
|
162
164
|
this.writer.pipe(this.serialPort);
|
|
163
165
|
this.serialPort.pipe(this.parser);
|
|
164
|
-
this.parser.on(
|
|
166
|
+
this.parser.on("parsed", this.onParsed);
|
|
165
167
|
return new Promise((resolve, reject) => {
|
|
168
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
166
169
|
this.serialPort.open((error) => {
|
|
167
170
|
if (error) {
|
|
168
171
|
reject(new Error(`Error while opening serialport '${error}'`));
|
|
169
172
|
this.initialized = false;
|
|
173
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
170
174
|
if (this.serialPort.isOpen) {
|
|
175
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
171
176
|
this.serialPort.close();
|
|
172
177
|
}
|
|
173
178
|
}
|
|
174
179
|
else {
|
|
175
|
-
logger_1.logger.debug(
|
|
180
|
+
logger_1.logger.debug("Serialport opened", NS);
|
|
176
181
|
this.initialized = true;
|
|
177
182
|
resolve();
|
|
178
183
|
}
|
|
@@ -189,22 +194,27 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
189
194
|
this.writer.pipe(this.socketPort);
|
|
190
195
|
this.parser = new parser_1.default();
|
|
191
196
|
this.socketPort.pipe(this.parser);
|
|
192
|
-
this.parser.on(
|
|
197
|
+
this.parser.on("parsed", this.onParsed);
|
|
193
198
|
return await new Promise((resolve, reject) => {
|
|
194
|
-
|
|
195
|
-
|
|
199
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
200
|
+
this.socketPort.on("connect", () => {
|
|
201
|
+
logger_1.logger.debug("Socket connected", NS);
|
|
196
202
|
});
|
|
197
|
-
|
|
198
|
-
|
|
203
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
204
|
+
this.socketPort.on("ready", () => {
|
|
205
|
+
logger_1.logger.debug("Socket ready", NS);
|
|
199
206
|
this.initialized = true;
|
|
200
207
|
resolve();
|
|
201
208
|
});
|
|
202
|
-
|
|
203
|
-
this.socketPort.
|
|
209
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
210
|
+
this.socketPort.once("close", this.onPortClose);
|
|
211
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
212
|
+
this.socketPort.on("error", (error) => {
|
|
204
213
|
logger_1.logger.error(`Socket error ${error}`, NS);
|
|
205
|
-
reject(new Error(
|
|
214
|
+
reject(new Error("Error while opening socket"));
|
|
206
215
|
this.initialized = false;
|
|
207
216
|
});
|
|
217
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
208
218
|
this.socketPort.connect(info.port, info.host);
|
|
209
219
|
});
|
|
210
220
|
}
|
|
@@ -213,6 +223,7 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
213
223
|
if (this.initialized) {
|
|
214
224
|
if (this.serialPort) {
|
|
215
225
|
this.serialPort.flush(() => {
|
|
226
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
216
227
|
this.serialPort.close((error) => {
|
|
217
228
|
this.initialized = false;
|
|
218
229
|
if (error == null) {
|
|
@@ -221,18 +232,19 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
221
232
|
else {
|
|
222
233
|
reject(new Error(`Error while closing serialport '${error}'`));
|
|
223
234
|
}
|
|
224
|
-
this.emit(
|
|
235
|
+
this.emit("close");
|
|
225
236
|
});
|
|
226
237
|
});
|
|
227
238
|
}
|
|
228
239
|
else {
|
|
240
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
229
241
|
this.socketPort.destroy();
|
|
230
242
|
resolve();
|
|
231
243
|
}
|
|
232
244
|
}
|
|
233
245
|
else {
|
|
234
246
|
resolve();
|
|
235
|
-
this.emit(
|
|
247
|
+
this.emit("close");
|
|
236
248
|
}
|
|
237
249
|
});
|
|
238
250
|
}
|
|
@@ -341,17 +353,15 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
341
353
|
}
|
|
342
354
|
}
|
|
343
355
|
parameterBuffer(parameter, parameterLength) {
|
|
344
|
-
if (typeof parameter ===
|
|
356
|
+
if (typeof parameter === "number") {
|
|
345
357
|
// for parameter <= 4 Byte
|
|
346
358
|
if (parameterLength > 4)
|
|
347
|
-
throw new Error(
|
|
359
|
+
throw new Error("parameter to big for type number");
|
|
348
360
|
const buf = Buffer.alloc(parameterLength);
|
|
349
361
|
buf.writeUIntLE(parameter, 0, parameterLength);
|
|
350
362
|
return buf;
|
|
351
363
|
}
|
|
352
|
-
|
|
353
|
-
return Buffer.from(parameter.reverse());
|
|
354
|
-
}
|
|
364
|
+
return Buffer.from(parameter.reverse());
|
|
355
365
|
}
|
|
356
366
|
sendReadFirmwareVersionRequest(seqNumber) {
|
|
357
367
|
/* command id, sequence number, 0, framelength(U16) */
|
|
@@ -366,16 +376,17 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
366
376
|
const slipframe = slip_1.default.encode(frame);
|
|
367
377
|
// TODO: write not awaited?
|
|
368
378
|
if (this.serialPort) {
|
|
369
|
-
this.serialPort.write(slipframe,
|
|
379
|
+
this.serialPort.write(slipframe, (err) => {
|
|
370
380
|
if (err) {
|
|
371
|
-
logger_1.logger.debug(
|
|
381
|
+
logger_1.logger.debug(`Error writing serial Port: ${err.message}`, NS);
|
|
372
382
|
}
|
|
373
383
|
});
|
|
374
384
|
}
|
|
375
385
|
else {
|
|
376
|
-
|
|
386
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
387
|
+
this.socketPort.write(slipframe, (err) => {
|
|
377
388
|
if (err) {
|
|
378
|
-
logger_1.logger.debug(
|
|
389
|
+
logger_1.logger.debug(`Error writing socket Port: ${err.message}`, NS);
|
|
379
390
|
}
|
|
380
391
|
});
|
|
381
392
|
}
|
|
@@ -393,10 +404,12 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
393
404
|
switch (req.commandId) {
|
|
394
405
|
case constants_1.default.PARAM.FrameType.ReadParameter:
|
|
395
406
|
logger_1.logger.debug(`send read parameter request from queue. seqNr: ${req.seqNumber} paramId: ${req.parameterId}`, NS);
|
|
407
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
396
408
|
this.sendReadParameterRequest(req.parameterId, req.seqNumber);
|
|
397
409
|
break;
|
|
398
410
|
case constants_1.default.PARAM.FrameType.WriteParameter:
|
|
399
411
|
logger_1.logger.debug(`send write parameter request from queue. seqNr: ${req.seqNumber} paramId: ${req.parameterId} param: ${req.parameter}`, NS);
|
|
412
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
400
413
|
this.sendWriteParameterRequest(req.parameterId, req.parameter, req.seqNumber);
|
|
401
414
|
break;
|
|
402
415
|
case constants_1.default.PARAM.FrameType.ReadFirmwareVersion:
|
|
@@ -409,10 +422,11 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
409
422
|
break;
|
|
410
423
|
case constants_1.default.PARAM.NetworkState.CHANGE_NETWORK_STATE:
|
|
411
424
|
logger_1.logger.debug(`send change network state request from queue. seqNr: ${req.seqNumber}`, NS);
|
|
425
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
412
426
|
this.sendChangeNetworkStateRequest(req.seqNumber, req.networkState);
|
|
413
427
|
break;
|
|
414
428
|
default:
|
|
415
|
-
throw new Error(
|
|
429
|
+
throw new Error("process queue - unknown command id");
|
|
416
430
|
}
|
|
417
431
|
exports.busyQueue.push(req);
|
|
418
432
|
}
|
|
@@ -422,6 +436,7 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
422
436
|
while (i--) {
|
|
423
437
|
const req = exports.busyQueue[i];
|
|
424
438
|
const now = Date.now();
|
|
439
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
425
440
|
if (now - req.ts > 10000) {
|
|
426
441
|
logger_1.logger.debug(`Timeout for request - CMD: 0x${req.commandId.toString(16)} seqNr: ${req.seqNumber}`, NS);
|
|
427
442
|
//remove from busyQueue
|
|
@@ -432,10 +447,10 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
432
447
|
clearTimeout(this.timeoutResetTimeout);
|
|
433
448
|
this.timeoutResetTimeout = undefined;
|
|
434
449
|
this.resetTimeoutCounterAfter1min();
|
|
435
|
-
req.reject(new Error(
|
|
450
|
+
req.reject(new Error("TIMEOUT"));
|
|
436
451
|
if (this.timeoutCounter >= 2) {
|
|
437
452
|
this.timeoutCounter = 0;
|
|
438
|
-
logger_1.logger.debug(
|
|
453
|
+
logger_1.logger.debug("too many timeouts - restart serial connecion", NS);
|
|
439
454
|
if (this.serialPort?.isOpen) {
|
|
440
455
|
this.serialPort.close();
|
|
441
456
|
}
|
|
@@ -470,27 +485,18 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
470
485
|
queue.push(req);
|
|
471
486
|
});
|
|
472
487
|
}
|
|
473
|
-
|
|
488
|
+
checkDeviceStatus(currentDeviceStatus) {
|
|
474
489
|
const networkState = currentDeviceStatus & 0x03;
|
|
475
490
|
this.apsDataConfirm = (currentDeviceStatus >> 2) & 0x01;
|
|
476
491
|
this.apsDataIndication = (currentDeviceStatus >> 3) & 0x01;
|
|
477
492
|
this.configChanged = (currentDeviceStatus >> 4) & 0x01;
|
|
478
493
|
this.apsRequestFreeSlots = (currentDeviceStatus >> 5) & 0x01;
|
|
479
|
-
logger_1.logger.debug(
|
|
480
|
-
networkState +
|
|
481
|
-
' apsDataConfirm: ' +
|
|
482
|
-
this.apsDataConfirm +
|
|
483
|
-
' apsDataIndication: ' +
|
|
484
|
-
this.apsDataIndication +
|
|
485
|
-
' configChanged: ' +
|
|
486
|
-
this.configChanged +
|
|
487
|
-
' apsRequestFreeSlots: ' +
|
|
488
|
-
this.apsRequestFreeSlots, NS);
|
|
494
|
+
logger_1.logger.debug(`networkstate: ${networkState} apsDataConfirm: ${this.apsDataConfirm} apsDataIndication: ${this.apsDataIndication} configChanged: ${this.configChanged} apsRequestFreeSlots: ${this.apsRequestFreeSlots}`, NS);
|
|
489
495
|
}
|
|
490
496
|
async handleDeviceStatus() {
|
|
491
497
|
if (this.apsDataConfirm === 1) {
|
|
492
498
|
try {
|
|
493
|
-
logger_1.logger.debug(
|
|
499
|
+
logger_1.logger.debug("query aps data confirm", NS);
|
|
494
500
|
this.apsDataConfirm = 0;
|
|
495
501
|
await this.querySendDataStateRequest();
|
|
496
502
|
}
|
|
@@ -503,7 +509,7 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
503
509
|
}
|
|
504
510
|
if (this.apsDataIndication === 1) {
|
|
505
511
|
try {
|
|
506
|
-
logger_1.logger.debug(
|
|
512
|
+
logger_1.logger.debug("query aps data indication", NS);
|
|
507
513
|
this.apsDataIndication = 0;
|
|
508
514
|
await this.readReceivedDataRequest();
|
|
509
515
|
}
|
|
@@ -556,7 +562,7 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
556
562
|
return;
|
|
557
563
|
}
|
|
558
564
|
if (this.apsRequestFreeSlots !== 1) {
|
|
559
|
-
logger_1.logger.debug(
|
|
565
|
+
logger_1.logger.debug("no free slots. Delay sending of APS Request", NS);
|
|
560
566
|
await this.sleep(1000);
|
|
561
567
|
return;
|
|
562
568
|
}
|
|
@@ -567,21 +573,20 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
567
573
|
case constants_1.default.PARAM.APS.DATA_REQUEST:
|
|
568
574
|
if (exports.readyToSend === false) {
|
|
569
575
|
// wait until last request was confirmed or given time elapsed
|
|
570
|
-
logger_1.logger.debug(
|
|
576
|
+
logger_1.logger.debug("delay sending of APS Request", NS);
|
|
571
577
|
apsQueue.unshift(req);
|
|
572
578
|
break;
|
|
573
579
|
}
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
}
|
|
580
|
+
disableRTS();
|
|
581
|
+
exports.enableRtsTimeout = setTimeout(() => {
|
|
582
|
+
enableRTS();
|
|
583
|
+
}, this.readyToSendTimeout);
|
|
584
|
+
exports.apsBusyQueue.push(req);
|
|
585
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
586
|
+
this.sendEnqueueSendDataRequest(req.request, req.seqNumber);
|
|
587
|
+
break;
|
|
583
588
|
default:
|
|
584
|
-
throw new Error(
|
|
589
|
+
throw new Error("process APS queue - unknown command id");
|
|
585
590
|
}
|
|
586
591
|
}
|
|
587
592
|
}
|
|
@@ -596,7 +601,7 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
596
601
|
switch (req.commandId) {
|
|
597
602
|
case constants_1.default.PARAM.APS.DATA_INDICATION:
|
|
598
603
|
//logger.debug(`read received data request. seqNr: ${req.seqNumber}`, NS);
|
|
599
|
-
if (this.
|
|
604
|
+
if (this.delay === 0) {
|
|
600
605
|
this.sendReadReceivedDataRequest(req.seqNumber);
|
|
601
606
|
}
|
|
602
607
|
else {
|
|
@@ -605,7 +610,7 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
605
610
|
break;
|
|
606
611
|
case constants_1.default.PARAM.APS.DATA_CONFIRM:
|
|
607
612
|
//logger.debug(`query send data state request. seqNr: ${req.seqNumber}`, NS);
|
|
608
|
-
if (this.
|
|
613
|
+
if (this.delay === 0) {
|
|
609
614
|
this.sendQueryDataStateRequest(req.seqNumber);
|
|
610
615
|
}
|
|
611
616
|
else {
|
|
@@ -613,7 +618,7 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
613
618
|
}
|
|
614
619
|
break;
|
|
615
620
|
default:
|
|
616
|
-
throw new Error(
|
|
621
|
+
throw new Error("process APS Confirm/Ind queue - unknown command id");
|
|
617
622
|
}
|
|
618
623
|
}
|
|
619
624
|
}
|
|
@@ -636,7 +641,7 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
636
641
|
const asdul1 = request.asduLength & 0xff;
|
|
637
642
|
const asdul2 = (request.asduLength >> 8) & 0xff;
|
|
638
643
|
let destArray = [];
|
|
639
|
-
let dest =
|
|
644
|
+
let dest = "";
|
|
640
645
|
if (request.destAddr16 !== undefined) {
|
|
641
646
|
destArray[0] = request.destAddr16 & 0xff;
|
|
642
647
|
destArray[1] = (request.destAddr16 >> 8) & 0xff;
|
|
@@ -648,7 +653,7 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
648
653
|
}
|
|
649
654
|
if (request.destEndpoint !== undefined) {
|
|
650
655
|
destArray.push(request.destEndpoint);
|
|
651
|
-
dest +=
|
|
656
|
+
dest += " EP:";
|
|
652
657
|
dest += request.destEndpoint;
|
|
653
658
|
}
|
|
654
659
|
logger_1.logger.debug(`DATA_REQUEST - destAddr: 0x${dest} SeqNr. ${seqNumber} request id: ${request.requestId}`, NS);
|
|
@@ -685,11 +690,12 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
685
690
|
if (req.request != null && req.request.timeout != null) {
|
|
686
691
|
timeout = req.request.timeout * 1000; // seconds * 1000 = milliseconds
|
|
687
692
|
}
|
|
693
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
688
694
|
if (now - req.ts > timeout) {
|
|
689
695
|
logger_1.logger.debug(`Timeout for aps request CMD: 0x${req.commandId.toString(16)} seq: ${req.seqNumber}`, NS);
|
|
690
696
|
//remove from busyQueue
|
|
691
697
|
exports.apsBusyQueue.splice(i, 1);
|
|
692
|
-
req.reject(new Error(
|
|
698
|
+
req.reject(new Error("APS TIMEOUT"));
|
|
693
699
|
}
|
|
694
700
|
}
|
|
695
701
|
}
|
|
@@ -703,34 +709,34 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
703
709
|
return Buffer.from([crc0, crc1]);
|
|
704
710
|
}
|
|
705
711
|
macAddrStringToArray(addr) {
|
|
706
|
-
if (addr.indexOf(
|
|
712
|
+
if (addr.indexOf("0x") === 0) {
|
|
707
713
|
addr = addr.slice(2, addr.length);
|
|
708
714
|
}
|
|
709
715
|
if (addr.length < 16) {
|
|
710
716
|
for (let l = 0; l < 16 - addr.length; l++) {
|
|
711
|
-
addr =
|
|
717
|
+
addr = `0${addr}`;
|
|
712
718
|
}
|
|
713
719
|
}
|
|
714
720
|
const result = new Array();
|
|
715
721
|
let y = 0;
|
|
716
722
|
for (let i = 0; i < 8; i++) {
|
|
717
|
-
result[i] = parseInt(addr.substr(y, 2), 16);
|
|
723
|
+
result[i] = Number.parseInt(addr.substr(y, 2), 16);
|
|
718
724
|
y += 2;
|
|
719
725
|
}
|
|
720
726
|
const reverse = result.reverse();
|
|
721
727
|
return reverse;
|
|
722
728
|
}
|
|
723
729
|
macAddrArrayToString(addr) {
|
|
724
|
-
if (addr.length
|
|
725
|
-
throw new Error(
|
|
730
|
+
if (addr.length !== 8) {
|
|
731
|
+
throw new Error(`invalid array length for MAC address: ${addr.length}`);
|
|
726
732
|
}
|
|
727
|
-
let result =
|
|
728
|
-
let char =
|
|
733
|
+
let result = "0x";
|
|
734
|
+
let char = "";
|
|
729
735
|
let i = 8;
|
|
730
736
|
while (i--) {
|
|
731
737
|
char = addr[i].toString(16);
|
|
732
738
|
if (char.length < 2) {
|
|
733
|
-
char =
|
|
739
|
+
char = `0${char}`;
|
|
734
740
|
}
|
|
735
741
|
result += char;
|
|
736
742
|
}
|
|
@@ -740,13 +746,13 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
740
746
|
* generalArrayToString result is not reversed!
|
|
741
747
|
*/
|
|
742
748
|
generalArrayToString(key, length) {
|
|
743
|
-
let result =
|
|
744
|
-
let char =
|
|
749
|
+
let result = "0x";
|
|
750
|
+
let char = "";
|
|
745
751
|
let i = 0;
|
|
746
752
|
while (i < length) {
|
|
747
753
|
char = key[i].toString(16);
|
|
748
754
|
if (char.length < 2) {
|
|
749
|
-
char =
|
|
755
|
+
char = `0${char}`;
|
|
750
756
|
}
|
|
751
757
|
result += char;
|
|
752
758
|
i++;
|
|
@@ -761,7 +767,7 @@ class Driver extends node_events_1.default.EventEmitter {
|
|
|
761
767
|
return this.seqNumber;
|
|
762
768
|
}
|
|
763
769
|
onParsed(frame) {
|
|
764
|
-
this.emit(
|
|
770
|
+
this.emit("rxFrame", frame);
|
|
765
771
|
}
|
|
766
772
|
sleep(ms) {
|
|
767
773
|
return new Promise((resolve) => setTimeout(resolve, ms));
|