zigbee-herdsman 0.51.0 → 0.53.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +4 -2
- package/.prettierrc +9 -0
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +25 -0
- package/dist/adapter/adapter.d.ts +4 -4
- package/dist/adapter/adapter.d.ts.map +1 -1
- package/dist/adapter/adapter.js +8 -13
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.js +249 -155
- package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
- package/dist/adapter/deconz/adapter/index.d.ts +1 -1
- package/dist/adapter/deconz/adapter/index.d.ts.map +1 -1
- package/dist/adapter/deconz/adapter/index.js.map +1 -1
- package/dist/adapter/deconz/driver/constants.d.ts +1 -1
- package/dist/adapter/deconz/driver/constants.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/constants.js +7 -7
- package/dist/adapter/deconz/driver/constants.js.map +1 -1
- package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/driver.js +92 -60
- package/dist/adapter/deconz/driver/driver.js.map +1 -1
- package/dist/adapter/deconz/driver/frameParser.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/frameParser.js +55 -46
- package/dist/adapter/deconz/driver/frameParser.js.map +1 -1
- package/dist/adapter/deconz/driver/parser.js +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.d.ts +5 -5
- package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.js +803 -955
- package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
- package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/endpoints.js +4 -2
- package/dist/adapter/ember/adapter/endpoints.js.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.d.ts +2 -2
- package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.js +16 -16
- 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 +86 -85
- package/dist/adapter/ember/adapter/tokensManager.js.map +1 -1
- package/dist/adapter/ember/consts.d.ts.map +1 -1
- package/dist/adapter/ember/consts.js +27 -27
- package/dist/adapter/ember/consts.js.map +1 -1
- package/dist/adapter/ember/enums.d.ts +2 -2
- package/dist/adapter/ember/enums.d.ts.map +1 -1
- package/dist/adapter/ember/enums.js +8 -50
- 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 +35 -34
- package/dist/adapter/ember/ezsp/buffalo.js.map +1 -1
- package/dist/adapter/ember/ezsp/consts.d.ts.map +1 -1
- package/dist/adapter/ember/ezsp/consts.js +4 -4
- package/dist/adapter/ember/ezsp/consts.js.map +1 -1
- package/dist/adapter/ember/ezsp/enums.d.ts.map +1 -1
- package/dist/adapter/ember/ezsp/enums.js +0 -2
- package/dist/adapter/ember/ezsp/enums.js.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.d.ts +23 -20
- package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.js +1146 -1141
- package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
- package/dist/adapter/ember/ezspError.d.ts +1 -1
- package/dist/adapter/ember/ezspError.d.ts.map +1 -1
- package/dist/adapter/ember/ezspError.js.map +1 -1
- package/dist/adapter/ember/types.d.ts +2 -1
- 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 +66 -65
- package/dist/adapter/ember/uart/ash.js.map +1 -1
- package/dist/adapter/ember/uart/consts.d.ts.map +1 -1
- package/dist/adapter/ember/uart/consts.js +9 -9
- package/dist/adapter/ember/uart/consts.js.map +1 -1
- package/dist/adapter/ember/uart/enums.d.ts.map +1 -1
- package/dist/adapter/ember/uart/parser.d.ts +1 -1
- package/dist/adapter/ember/uart/parser.d.ts.map +1 -1
- package/dist/adapter/ember/uart/parser.js +1 -1
- package/dist/adapter/ember/uart/parser.js.map +1 -1
- package/dist/adapter/ember/uart/queues.d.ts.map +1 -1
- package/dist/adapter/ember/uart/queues.js +1 -1
- 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 +2 -3
- 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 -0
- package/dist/adapter/ember/utils/initters.js.map +1 -1
- package/dist/adapter/ember/utils/math.d.ts.map +1 -1
- package/dist/adapter/ember/utils/math.js +11 -11
- package/dist/adapter/ember/utils/math.js.map +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 +1 -1
- package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.js +11 -10
- package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +4 -4
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +74 -41
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
- package/dist/adapter/ezsp/adapter/index.d.ts +1 -1
- package/dist/adapter/ezsp/adapter/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/commands.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/commands.js +452 -452
- package/dist/adapter/ezsp/driver/commands.js.map +1 -1
- package/dist/adapter/ezsp/driver/consts.js +4 -4
- package/dist/adapter/ezsp/driver/consts.js.map +1 -1
- package/dist/adapter/ezsp/driver/driver.d.ts +5 -5
- package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/driver.js +82 -82
- package/dist/adapter/ezsp/driver/driver.js.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.d.ts +3 -3
- package/dist/adapter/ezsp/driver/ezsp.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.js +58 -58
- package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
- package/dist/adapter/ezsp/driver/frame.js +9 -9
- package/dist/adapter/ezsp/driver/frame.js.map +1 -1
- package/dist/adapter/ezsp/driver/index.d.ts +1 -1
- package/dist/adapter/ezsp/driver/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/index.js +2 -2
- package/dist/adapter/ezsp/driver/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.js +1 -1
- package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
- package/dist/adapter/ezsp/driver/parser.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/parser.js +1 -1
- package/dist/adapter/ezsp/driver/parser.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/basic.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/types/basic.js +5 -5
- package/dist/adapter/ezsp/driver/types/basic.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/named.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/types/named.js +236 -234
- package/dist/adapter/ezsp/driver/types/named.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/struct.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/types/struct.js +5 -3
- package/dist/adapter/ezsp/driver/types/struct.js.map +1 -1
- package/dist/adapter/ezsp/driver/uart.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/uart.js +8 -8
- package/dist/adapter/ezsp/driver/uart.js.map +1 -1
- package/dist/adapter/ezsp/driver/utils/index.d.ts +1 -1
- package/dist/adapter/ezsp/driver/utils/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/utils/index.js +12 -11
- package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/writer.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/writer.js +6 -7
- package/dist/adapter/ezsp/driver/writer.js.map +1 -1
- package/dist/adapter/index.d.ts +2 -2
- package/dist/adapter/index.d.ts.map +1 -1
- package/dist/adapter/index.js +2 -2
- package/dist/adapter/index.js.map +1 -1
- package/dist/adapter/serialPort.d.ts +1 -1
- package/dist/adapter/serialPort.d.ts.map +1 -1
- package/dist/adapter/serialPort.js +1 -1
- package/dist/adapter/serialPort.js.map +1 -1
- package/dist/adapter/serialPortUtils.js +1 -1
- package/dist/adapter/serialPortUtils.js.map +1 -1
- package/dist/adapter/socketPortUtils.js +3 -3
- package/dist/adapter/tstype.d.ts +1 -1
- package/dist/adapter/tstype.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +3 -3
- package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.js +101 -86
- 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 +30 -24
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +1 -1
- package/dist/adapter/z-stack/adapter/endpoints.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/endpoints.js +4 -4
- package/dist/adapter/z-stack/adapter/endpoints.js.map +1 -1
- package/dist/adapter/z-stack/adapter/index.d.ts +1 -1
- package/dist/adapter/z-stack/adapter/index.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/index.js.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.d.ts +5 -5
- package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.js +90 -81
- package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
- package/dist/adapter/z-stack/adapter/tstype.d.ts +1 -1
- package/dist/adapter/z-stack/adapter/tstype.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +5 -5
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +72 -57
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
- package/dist/adapter/z-stack/constants/af.js +5 -5
- package/dist/adapter/z-stack/constants/af.js.map +1 -1
- package/dist/adapter/z-stack/constants/dbg.js +2 -2
- package/dist/adapter/z-stack/constants/index.d.ts +2 -2
- 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/mac.js +11 -11
- package/dist/adapter/z-stack/constants/sapi.js +4 -4
- package/dist/adapter/z-stack/constants/sys.js +11 -11
- package/dist/adapter/z-stack/constants/util.js +11 -11
- package/dist/adapter/z-stack/constants/utils.d.ts.map +1 -1
- package/dist/adapter/z-stack/constants/utils.js +3 -3
- package/dist/adapter/z-stack/constants/utils.js.map +1 -1
- package/dist/adapter/z-stack/constants/zdo.js +13 -13
- package/dist/adapter/z-stack/models/index.d.ts +1 -1
- package/dist/adapter/z-stack/models/startup-options.d.ts +2 -2
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +1 -1
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +4 -4
- 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 +4 -7
- 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 -5
- 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 -6
- 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.js +6 -6
- 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 -6
- 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 -3
- 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 -2
- 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 +50 -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 -4
- 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 -3
- 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 -3
- 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 -3
- 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 -6
- 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.js +4 -4
- 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 -7
- 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 +1 -1
- package/dist/adapter/z-stack/structs/struct.d.ts +6 -6
- package/dist/adapter/z-stack/structs/struct.d.ts.map +1 -1
- package/dist/adapter/z-stack/structs/struct.js +53 -52
- 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 +16 -16
- package/dist/adapter/z-stack/structs/table.js.map +1 -1
- package/dist/adapter/z-stack/unpi/constants.d.ts +1 -1
- package/dist/adapter/z-stack/unpi/constants.d.ts.map +1 -1
- package/dist/adapter/z-stack/unpi/constants.js +1 -1
- package/dist/adapter/z-stack/unpi/constants.js.map +1 -1
- package/dist/adapter/z-stack/unpi/frame.d.ts.map +1 -1
- package/dist/adapter/z-stack/unpi/frame.js +5 -6
- 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/index.d.ts.map +1 -1
- package/dist/adapter/z-stack/unpi/index.js +6 -6
- package/dist/adapter/z-stack/unpi/index.js.map +1 -1
- package/dist/adapter/z-stack/unpi/parser.d.ts.map +1 -1
- package/dist/adapter/z-stack/unpi/parser.js +1 -1
- package/dist/adapter/z-stack/unpi/parser.js.map +1 -1
- package/dist/adapter/z-stack/unpi/writer.d.ts.map +1 -1
- package/dist/adapter/z-stack/unpi/writer.js.map +1 -1
- package/dist/adapter/z-stack/utils/channel-list.d.ts.map +1 -1
- package/dist/adapter/z-stack/utils/channel-list.js +5 -2
- package/dist/adapter/z-stack/utils/channel-list.js.map +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/utils/network-options.js +1 -1
- package/dist/adapter/z-stack/utils/network-options.js.map +1 -1
- package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/buffaloZnp.js +8 -8
- package/dist/adapter/z-stack/znp/buffaloZnp.js.map +1 -1
- package/dist/adapter/z-stack/znp/definition.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/definition.js +200 -592
- package/dist/adapter/z-stack/znp/definition.js.map +1 -1
- package/dist/adapter/z-stack/znp/index.d.ts +1 -1
- package/dist/adapter/z-stack/znp/index.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/index.js.map +1 -1
- package/dist/adapter/z-stack/znp/parameterType.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/parameterType.js.map +1 -1
- package/dist/adapter/z-stack/znp/tstype.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/znp.d.ts +3 -3
- package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/znp.js +12 -15
- package/dist/adapter/z-stack/znp/znp.js.map +1 -1
- package/dist/adapter/z-stack/znp/zpiObject.d.ts +1 -1
- package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/zpiObject.js +17 -9
- package/dist/adapter/z-stack/znp/zpiObject.js.map +1 -1
- package/dist/adapter/zigate/adapter/index.d.ts.map +1 -1
- package/dist/adapter/zigate/adapter/index.js.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.js +88 -92
- package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
- 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 +72 -80
- package/dist/adapter/zigate/driver/commandType.js.map +1 -1
- package/dist/adapter/zigate/driver/constants.d.ts +9 -9
- package/dist/adapter/zigate/driver/constants.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/constants.js +11 -65
- package/dist/adapter/zigate/driver/constants.js.map +1 -1
- package/dist/adapter/zigate/driver/frame.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/frame.js +3 -15
- 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.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/messageType.js +29 -30
- package/dist/adapter/zigate/driver/messageType.js.map +1 -1
- package/dist/adapter/zigate/driver/parameterType.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/parameterType.js.map +1 -1
- package/dist/adapter/zigate/driver/ziGateObject.d.ts +2 -2
- package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/ziGateObject.js +11 -5
- package/dist/adapter/zigate/driver/ziGateObject.js.map +1 -1
- package/dist/adapter/zigate/driver/zigate.d.ts +5 -5
- package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/zigate.js +12 -12
- package/dist/adapter/zigate/driver/zigate.js.map +1 -1
- package/dist/buffalo/buffalo.d.ts +1 -1
- package/dist/buffalo/buffalo.d.ts.map +1 -1
- package/dist/buffalo/buffalo.js +1 -1
- package/dist/buffalo/buffalo.js.map +1 -1
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/controller/controller.js +34 -33
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/database.d.ts.map +1 -1
- package/dist/controller/database.js +6 -2
- package/dist/controller/database.js.map +1 -1
- package/dist/controller/events.d.ts +3 -3
- package/dist/controller/events.d.ts.map +1 -1
- package/dist/controller/greenPower.d.ts +1 -1
- package/dist/controller/greenPower.d.ts.map +1 -1
- package/dist/controller/greenPower.js +15 -17
- package/dist/controller/greenPower.js.map +1 -1
- package/dist/controller/helpers/index.d.ts +1 -1
- package/dist/controller/helpers/index.d.ts.map +1 -1
- package/dist/controller/helpers/index.js.map +1 -1
- package/dist/controller/helpers/request.d.ts +1 -1
- package/dist/controller/helpers/request.d.ts.map +1 -1
- package/dist/controller/helpers/request.js +7 -10
- package/dist/controller/helpers/request.js.map +1 -1
- package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
- package/dist/controller/helpers/requestQueue.js +2 -3
- package/dist/controller/helpers/requestQueue.js.map +1 -1
- package/dist/controller/helpers/zclFrameConverter.d.ts +1 -1
- package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
- package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
- package/dist/controller/index.d.ts +1 -1
- package/dist/controller/index.d.ts.map +1 -1
- package/dist/controller/index.js.map +1 -1
- package/dist/controller/model/device.d.ts +3 -3
- package/dist/controller/model/device.d.ts.map +1 -1
- package/dist/controller/model/device.js +247 -94
- package/dist/controller/model/device.js.map +1 -1
- package/dist/controller/model/endpoint.d.ts +4 -4
- package/dist/controller/model/endpoint.d.ts.map +1 -1
- package/dist/controller/model/endpoint.js +45 -31
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/controller/model/entity.d.ts +2 -2
- package/dist/controller/model/entity.d.ts.map +1 -1
- package/dist/controller/model/entity.js.map +1 -1
- package/dist/controller/model/group.d.ts +2 -2
- package/dist/controller/model/group.d.ts.map +1 -1
- package/dist/controller/model/group.js +8 -6
- package/dist/controller/model/group.js.map +1 -1
- package/dist/controller/model/index.d.ts +1 -1
- package/dist/controller/model/index.d.ts.map +1 -1
- package/dist/controller/model/index.js.map +1 -1
- package/dist/controller/touchlink.d.ts.map +1 -1
- package/dist/controller/touchlink.js +2 -2
- package/dist/controller/touchlink.js.map +1 -1
- package/dist/controller/tstype.d.ts.map +1 -1
- package/dist/controller/tstype.js +0 -1
- package/dist/controller/tstype.js.map +1 -1
- package/dist/models/backup-storage-legacy.d.ts +4 -4
- 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/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 +71 -58
- package/dist/utils/backup.js.map +1 -1
- package/dist/utils/index.d.ts +6 -6
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +10 -10
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/isNumberArray.js +1 -1
- package/dist/utils/isNumberArray.js.map +1 -1
- package/dist/utils/queue.js +1 -1
- package/dist/utils/queue.js.map +1 -1
- package/dist/utils/waitress.d.ts.map +1 -1
- package/dist/utils/waitress.js +2 -2
- package/dist/utils/waitress.js.map +1 -1
- package/dist/zspec/consts.d.ts +1 -1
- package/dist/zspec/consts.d.ts.map +1 -1
- package/dist/zspec/consts.js +16 -16
- package/dist/zspec/consts.js.map +1 -1
- package/dist/zspec/enums.js +0 -1
- package/dist/zspec/enums.js.map +1 -1
- package/dist/zspec/utils.d.ts.map +1 -1
- package/dist/zspec/utils.js +5 -3
- package/dist/zspec/utils.js.map +1 -1
- package/dist/zspec/zcl/buffaloZcl.d.ts +2 -2
- package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
- package/dist/zspec/zcl/buffaloZcl.js +44 -51
- package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
- package/dist/zspec/zcl/definition/cluster.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/cluster.js +284 -380
- package/dist/zspec/zcl/definition/cluster.js.map +1 -1
- package/dist/zspec/zcl/definition/consts.js +10 -10
- package/dist/zspec/zcl/definition/consts.js.map +1 -1
- package/dist/zspec/zcl/definition/enums.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/enums.js.map +1 -1
- package/dist/zspec/zcl/definition/foundation.d.ts +1 -1
- package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/foundation.js +51 -22
- package/dist/zspec/zcl/definition/foundation.js.map +1 -1
- package/dist/zspec/zcl/definition/manufacturerCode.js +0 -1
- package/dist/zspec/zcl/definition/manufacturerCode.js.map +1 -1
- package/dist/zspec/zcl/definition/status.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/tstype.d.ts +1 -1
- package/dist/zspec/zcl/definition/tstype.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/tstype.js +0 -1
- package/dist/zspec/zcl/definition/tstype.js.map +1 -1
- package/dist/zspec/zcl/utils.d.ts.map +1 -1
- package/dist/zspec/zcl/utils.js +59 -19
- package/dist/zspec/zcl/utils.js.map +1 -1
- package/dist/zspec/zcl/zclFrame.d.ts +1 -1
- package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
- package/dist/zspec/zcl/zclFrame.js +14 -15
- package/dist/zspec/zcl/zclFrame.js.map +1 -1
- package/dist/zspec/zcl/zclHeader.d.ts +1 -1
- package/dist/zspec/zcl/zclHeader.d.ts.map +1 -1
- package/dist/zspec/zcl/zclHeader.js +7 -7
- package/dist/zspec/zcl/zclHeader.js.map +1 -1
- package/dist/zspec/zcl/zclStatusError.d.ts.map +1 -1
- package/dist/zspec/zcl/zclStatusError.js.map +1 -1
- package/dist/zspec/zdo/buffaloZdo.d.ts +3 -3
- package/dist/zspec/zdo/buffaloZdo.d.ts.map +1 -1
- package/dist/zspec/zdo/buffaloZdo.js +92 -92
- package/dist/zspec/zdo/buffaloZdo.js.map +1 -1
- package/dist/zspec/zdo/definition/clusters.d.ts.map +1 -1
- package/dist/zspec/zdo/definition/clusters.js +0 -1
- package/dist/zspec/zdo/definition/clusters.js.map +1 -1
- package/dist/zspec/zdo/definition/consts.d.ts.map +1 -1
- package/dist/zspec/zdo/definition/consts.js.map +1 -1
- package/dist/zspec/zdo/definition/enums.d.ts.map +1 -1
- package/dist/zspec/zdo/definition/enums.js +0 -5
- package/dist/zspec/zdo/definition/enums.js.map +1 -1
- package/dist/zspec/zdo/definition/status.d.ts.map +1 -1
- package/dist/zspec/zdo/definition/status.js +0 -1
- package/dist/zspec/zdo/definition/status.js.map +1 -1
- package/dist/zspec/zdo/definition/tstypes.d.ts +2 -2
- package/dist/zspec/zdo/definition/tstypes.d.ts.map +1 -1
- package/dist/zspec/zdo/utils.d.ts.map +1 -1
- package/dist/zspec/zdo/utils.js +14 -14
- package/dist/zspec/zdo/utils.js.map +1 -1
- package/dist/zspec/zdo/zdoStatusError.d.ts.map +1 -1
- package/dist/zspec/zdo/zdoStatusError.js.map +1 -1
- package/package.json +6 -1
- package/dist/adapter/ember/adapter/requestQueue.d.ts +0 -67
- package/dist/adapter/ember/adapter/requestQueue.d.ts.map +0 -1
- package/dist/adapter/ember/adapter/requestQueue.js +0 -159
- package/dist/adapter/ember/adapter/requestQueue.js.map +0 -1
|
@@ -26,15 +26,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const zclTransactionSequenceNumber_1 = __importDefault(require("../helpers/zclTransactionSequenceNumber"));
|
|
30
|
-
const endpoint_1 = __importDefault(require("./endpoint"));
|
|
31
|
-
const entity_1 = __importDefault(require("./entity"));
|
|
32
|
-
const utils_1 = require("../../utils");
|
|
33
|
-
const Zcl = __importStar(require("../../zspec/zcl"));
|
|
34
29
|
const assert_1 = __importDefault(require("assert"));
|
|
35
|
-
const
|
|
30
|
+
const utils_1 = require("../../utils");
|
|
36
31
|
const logger_1 = require("../../utils/logger");
|
|
37
32
|
const enums_1 = require("../../zspec/enums");
|
|
33
|
+
const Zcl = __importStar(require("../../zspec/zcl"));
|
|
34
|
+
const helpers_1 = require("../helpers");
|
|
35
|
+
const zclTransactionSequenceNumber_1 = __importDefault(require("../helpers/zclTransactionSequenceNumber"));
|
|
36
|
+
const endpoint_1 = __importDefault(require("./endpoint"));
|
|
37
|
+
const entity_1 = __importDefault(require("./entity"));
|
|
38
38
|
/**
|
|
39
39
|
* @ignore
|
|
40
40
|
*/
|
|
@@ -68,72 +68,192 @@ class Device extends entity_1.default {
|
|
|
68
68
|
_pendingRequestTimeout;
|
|
69
69
|
_customClusters = {};
|
|
70
70
|
// Getters/setters
|
|
71
|
-
get ieeeAddr() {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
set
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
get
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
get
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
get
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
71
|
+
get ieeeAddr() {
|
|
72
|
+
return this._ieeeAddr;
|
|
73
|
+
}
|
|
74
|
+
set ieeeAddr(ieeeAddr) {
|
|
75
|
+
this._ieeeAddr = ieeeAddr;
|
|
76
|
+
}
|
|
77
|
+
get applicationVersion() {
|
|
78
|
+
return this._applicationVersion;
|
|
79
|
+
}
|
|
80
|
+
set applicationVersion(applicationVersion) {
|
|
81
|
+
this._applicationVersion = applicationVersion;
|
|
82
|
+
}
|
|
83
|
+
get endpoints() {
|
|
84
|
+
return this._endpoints;
|
|
85
|
+
}
|
|
86
|
+
get interviewCompleted() {
|
|
87
|
+
return this._interviewCompleted;
|
|
88
|
+
}
|
|
89
|
+
get interviewing() {
|
|
90
|
+
return this._interviewing;
|
|
91
|
+
}
|
|
92
|
+
get lastSeen() {
|
|
93
|
+
return this._lastSeen;
|
|
94
|
+
}
|
|
95
|
+
get manufacturerID() {
|
|
96
|
+
return this._manufacturerID;
|
|
97
|
+
}
|
|
98
|
+
get isDeleted() {
|
|
99
|
+
return this._deleted;
|
|
100
|
+
}
|
|
101
|
+
set type(type) {
|
|
102
|
+
this._type = type;
|
|
103
|
+
}
|
|
104
|
+
get type() {
|
|
105
|
+
return this._type;
|
|
106
|
+
}
|
|
107
|
+
get dateCode() {
|
|
108
|
+
return this._dateCode;
|
|
109
|
+
}
|
|
110
|
+
set dateCode(dateCode) {
|
|
111
|
+
this._dateCode = dateCode;
|
|
112
|
+
}
|
|
113
|
+
set hardwareVersion(hardwareVersion) {
|
|
114
|
+
this._hardwareVersion = hardwareVersion;
|
|
115
|
+
}
|
|
116
|
+
get hardwareVersion() {
|
|
117
|
+
return this._hardwareVersion;
|
|
118
|
+
}
|
|
119
|
+
get manufacturerName() {
|
|
120
|
+
return this._manufacturerName;
|
|
121
|
+
}
|
|
122
|
+
set manufacturerName(manufacturerName) {
|
|
123
|
+
this._manufacturerName = manufacturerName;
|
|
124
|
+
}
|
|
125
|
+
set modelID(modelID) {
|
|
126
|
+
this._modelID = modelID;
|
|
127
|
+
}
|
|
128
|
+
get modelID() {
|
|
129
|
+
return this._modelID;
|
|
130
|
+
}
|
|
131
|
+
get networkAddress() {
|
|
132
|
+
return this._networkAddress;
|
|
133
|
+
}
|
|
92
134
|
set networkAddress(networkAddress) {
|
|
93
135
|
this._networkAddress = networkAddress;
|
|
94
136
|
for (const endpoint of this._endpoints) {
|
|
95
137
|
endpoint.deviceNetworkAddress = networkAddress;
|
|
96
138
|
}
|
|
97
139
|
}
|
|
98
|
-
get powerSource() {
|
|
140
|
+
get powerSource() {
|
|
141
|
+
return this._powerSource;
|
|
142
|
+
}
|
|
99
143
|
set powerSource(powerSource) {
|
|
100
144
|
this._powerSource = typeof powerSource === 'number' ? Zcl.POWER_SOURCES[powerSource & ~(1 << 7)] : powerSource;
|
|
101
145
|
}
|
|
102
|
-
get softwareBuildID() {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
set
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
get
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
set
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
get
|
|
146
|
+
get softwareBuildID() {
|
|
147
|
+
return this._softwareBuildID;
|
|
148
|
+
}
|
|
149
|
+
set softwareBuildID(softwareBuildID) {
|
|
150
|
+
this._softwareBuildID = softwareBuildID;
|
|
151
|
+
}
|
|
152
|
+
get stackVersion() {
|
|
153
|
+
return this._stackVersion;
|
|
154
|
+
}
|
|
155
|
+
set stackVersion(stackVersion) {
|
|
156
|
+
this._stackVersion = stackVersion;
|
|
157
|
+
}
|
|
158
|
+
get zclVersion() {
|
|
159
|
+
return this._zclVersion;
|
|
160
|
+
}
|
|
161
|
+
set zclVersion(zclVersion) {
|
|
162
|
+
this._zclVersion = zclVersion;
|
|
163
|
+
}
|
|
164
|
+
get linkquality() {
|
|
165
|
+
return this._linkquality;
|
|
166
|
+
}
|
|
167
|
+
set linkquality(linkquality) {
|
|
168
|
+
this._linkquality = linkquality;
|
|
169
|
+
}
|
|
170
|
+
get skipDefaultResponse() {
|
|
171
|
+
return this._skipDefaultResponse;
|
|
172
|
+
}
|
|
173
|
+
set skipDefaultResponse(skipDefaultResponse) {
|
|
174
|
+
this._skipDefaultResponse = skipDefaultResponse;
|
|
175
|
+
}
|
|
176
|
+
get customReadResponse() {
|
|
177
|
+
return this._customReadResponse;
|
|
178
|
+
}
|
|
179
|
+
set customReadResponse(customReadResponse) {
|
|
180
|
+
this._customReadResponse = customReadResponse;
|
|
181
|
+
}
|
|
182
|
+
get checkinInterval() {
|
|
183
|
+
return this._checkinInterval;
|
|
184
|
+
}
|
|
115
185
|
set checkinInterval(checkinInterval) {
|
|
116
186
|
this._checkinInterval = checkinInterval;
|
|
117
187
|
this.resetPendingRequestTimeout();
|
|
118
188
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
189
|
+
get pendingRequestTimeout() {
|
|
190
|
+
return this._pendingRequestTimeout;
|
|
191
|
+
}
|
|
192
|
+
set pendingRequestTimeout(pendingRequestTimeout) {
|
|
193
|
+
this._pendingRequestTimeout = pendingRequestTimeout;
|
|
194
|
+
}
|
|
195
|
+
get customClusters() {
|
|
196
|
+
return this._customClusters;
|
|
197
|
+
}
|
|
123
198
|
meta;
|
|
124
199
|
// This lookup contains all devices that are queried from the database, this is to ensure that always
|
|
125
200
|
// the same instance is returned.
|
|
126
201
|
static devices = null;
|
|
127
202
|
static ReportablePropertiesMapping = {
|
|
128
|
-
modelId: {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
203
|
+
modelId: {
|
|
204
|
+
key: 'modelID',
|
|
205
|
+
set: (v, d) => {
|
|
206
|
+
d.modelID = v;
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
manufacturerName: {
|
|
210
|
+
key: 'manufacturerName',
|
|
211
|
+
set: (v, d) => {
|
|
212
|
+
d.manufacturerName = v;
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
powerSource: {
|
|
216
|
+
key: 'powerSource',
|
|
217
|
+
set: (v, d) => {
|
|
218
|
+
d.powerSource = v;
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
zclVersion: {
|
|
222
|
+
key: 'zclVersion',
|
|
223
|
+
set: (v, d) => {
|
|
224
|
+
d.zclVersion = v;
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
appVersion: {
|
|
228
|
+
key: 'applicationVersion',
|
|
229
|
+
set: (v, d) => {
|
|
230
|
+
d.applicationVersion = v;
|
|
231
|
+
},
|
|
232
|
+
},
|
|
233
|
+
stackVersion: {
|
|
234
|
+
key: 'stackVersion',
|
|
235
|
+
set: (v, d) => {
|
|
236
|
+
d.stackVersion = v;
|
|
237
|
+
},
|
|
238
|
+
},
|
|
239
|
+
hwVersion: {
|
|
240
|
+
key: 'hardwareVersion',
|
|
241
|
+
set: (v, d) => {
|
|
242
|
+
d.hardwareVersion = v;
|
|
243
|
+
},
|
|
244
|
+
},
|
|
245
|
+
dateCode: {
|
|
246
|
+
key: 'dateCode',
|
|
247
|
+
set: (v, d) => {
|
|
248
|
+
d.dateCode = v;
|
|
249
|
+
},
|
|
250
|
+
},
|
|
251
|
+
swBuildId: {
|
|
252
|
+
key: 'softwareBuildID',
|
|
253
|
+
set: (v, d) => {
|
|
254
|
+
d.softwareBuildID = v;
|
|
255
|
+
},
|
|
256
|
+
},
|
|
137
257
|
};
|
|
138
258
|
constructor(ID, type, ieeeAddr, networkAddress, manufacturerID, endpoints, manufacturerName, powerSource, modelID, applicationVersion, stackVersion, zclVersion, hardwareVersion, dateCode, softwareBuildID, interviewCompleted, meta, lastSeen, checkinInterval, pendingRequestTimeout) {
|
|
139
259
|
super();
|
|
@@ -173,7 +293,7 @@ class Device extends entity_1.default {
|
|
|
173
293
|
delete Device.devices[this.ieeeAddr];
|
|
174
294
|
this.ieeeAddr = ieeeAddr;
|
|
175
295
|
Device.devices[this.ieeeAddr] = this;
|
|
176
|
-
this.endpoints.forEach((e) => e.deviceIeeeAddress = ieeeAddr);
|
|
296
|
+
this.endpoints.forEach((e) => (e.deviceIeeeAddress = ieeeAddr));
|
|
177
297
|
this.save();
|
|
178
298
|
}
|
|
179
299
|
getEndpoint(ID) {
|
|
@@ -198,7 +318,7 @@ class Device extends entity_1.default {
|
|
|
198
318
|
this._pendingRequestTimeout = this._checkinInterval * 1000;
|
|
199
319
|
}
|
|
200
320
|
hasPendingRequests() {
|
|
201
|
-
return this.endpoints.find(e => e.hasPendingRequests()) !== undefined;
|
|
321
|
+
return this.endpoints.find((e) => e.hasPendingRequests()) !== undefined;
|
|
202
322
|
}
|
|
203
323
|
async onZclData(dataPayload, frame, endpoint) {
|
|
204
324
|
// Update reportable properties
|
|
@@ -214,18 +334,18 @@ class Device extends entity_1.default {
|
|
|
214
334
|
await endpoint.command('ssIasZone', 'enrollRsp', payload, { disableDefaultResponse: true });
|
|
215
335
|
}
|
|
216
336
|
// Reponse to read requests
|
|
217
|
-
if (frame.header.isGlobal && frame.isCommand('read') && !
|
|
218
|
-
const time = Math.round((
|
|
337
|
+
if (frame.header.isGlobal && frame.isCommand('read') && !this._customReadResponse?.(frame, endpoint)) {
|
|
338
|
+
const time = Math.round((new Date().getTime() - OneJanuary2000) / 1000);
|
|
219
339
|
const attributes = {
|
|
220
340
|
...endpoint.clusters,
|
|
221
341
|
genTime: {
|
|
222
342
|
attributes: {
|
|
223
343
|
timeStatus: 3, // Time-master + synchronised
|
|
224
344
|
time: time,
|
|
225
|
-
timeZone:
|
|
226
|
-
localTime: time -
|
|
345
|
+
timeZone: new Date().getTimezoneOffset() * -1 * 60,
|
|
346
|
+
localTime: time - new Date().getTimezoneOffset() * 60,
|
|
227
347
|
lastSetTime: time,
|
|
228
|
-
validUntilTime: time +
|
|
348
|
+
validUntilTime: time + 24 * 60 * 60, // valid for 24 hours
|
|
229
349
|
},
|
|
230
350
|
},
|
|
231
351
|
};
|
|
@@ -240,7 +360,9 @@ class Device extends entity_1.default {
|
|
|
240
360
|
}
|
|
241
361
|
}
|
|
242
362
|
try {
|
|
243
|
-
await endpoint.readResponse(frame.cluster.ID, frame.header.transactionSequenceNumber, response, {
|
|
363
|
+
await endpoint.readResponse(frame.cluster.ID, frame.header.transactionSequenceNumber, response, {
|
|
364
|
+
srcEndpoint: dataPayload.destinationEndpoint,
|
|
365
|
+
});
|
|
244
366
|
}
|
|
245
367
|
catch (error) {
|
|
246
368
|
logger_1.logger.error(`Read response to ${this.ieeeAddr} failed`, NS);
|
|
@@ -248,9 +370,9 @@ class Device extends entity_1.default {
|
|
|
248
370
|
}
|
|
249
371
|
}
|
|
250
372
|
// Handle check-in from sleeping end devices
|
|
251
|
-
if (frame.header.isSpecific && frame.isCluster(
|
|
373
|
+
if (frame.header.isSpecific && frame.isCluster('genPollCtrl') && frame.isCommand('checkin')) {
|
|
252
374
|
try {
|
|
253
|
-
if (this.hasPendingRequests() ||
|
|
375
|
+
if (this.hasPendingRequests() || this._checkinInterval === undefined) {
|
|
254
376
|
const payload = {
|
|
255
377
|
startFastPolling: true,
|
|
256
378
|
fastPollTimeout: 0,
|
|
@@ -292,17 +414,26 @@ class Device extends entity_1.default {
|
|
|
292
414
|
const disableTuyaDefaultResponse = endpoint.getDevice().manufacturerName?.startsWith('_TZ') && process.env['DISABLE_TUYA_DEFAULT_RESPONSE'];
|
|
293
415
|
// Sometimes messages are received twice, prevent responding twice
|
|
294
416
|
const alreadyResponded = this._lastDefaultResponseSequenceNumber === frame.header.transactionSequenceNumber;
|
|
295
|
-
if (this.type !== 'GreenPower' &&
|
|
296
|
-
!
|
|
417
|
+
if (this.type !== 'GreenPower' &&
|
|
418
|
+
!dataPayload.wasBroadcast &&
|
|
419
|
+
!disableDefaultResponse &&
|
|
420
|
+
!isDefaultResponse &&
|
|
421
|
+
!commandHasResponse &&
|
|
422
|
+
!this._skipDefaultResponse &&
|
|
423
|
+
!alreadyResponded &&
|
|
424
|
+
!disableTuyaDefaultResponse) {
|
|
297
425
|
try {
|
|
298
426
|
this._lastDefaultResponseSequenceNumber = frame.header.transactionSequenceNumber;
|
|
299
427
|
// In the ZCL it is not documented what the direction of the default response should be
|
|
300
428
|
// In https://github.com/Koenkk/zigbee2mqtt/issues/18096 a commandResponse (SERVER_TO_CLIENT)
|
|
301
429
|
// is send and the device expects a CLIENT_TO_SERVER back.
|
|
302
430
|
// Previously SERVER_TO_CLIENT was always used.
|
|
303
|
-
// Therefore for non-global commands we inverse the direction.
|
|
304
|
-
const direction = frame.header.isGlobal
|
|
305
|
-
? Zcl.Direction.SERVER_TO_CLIENT
|
|
431
|
+
// Therefore for non-global commands we inverse the direction.
|
|
432
|
+
const direction = frame.header.isGlobal
|
|
433
|
+
? Zcl.Direction.SERVER_TO_CLIENT
|
|
434
|
+
: frame.header.frameControl.direction === Zcl.Direction.CLIENT_TO_SERVER
|
|
435
|
+
? Zcl.Direction.SERVER_TO_CLIENT
|
|
436
|
+
: Zcl.Direction.CLIENT_TO_SERVER;
|
|
306
437
|
await endpoint.defaultResponse(frame.command.ID, 0, frame.cluster.ID, frame.header.transactionSequenceNumber, { direction });
|
|
307
438
|
}
|
|
308
439
|
catch (error) {
|
|
@@ -325,7 +456,7 @@ class Device extends entity_1.default {
|
|
|
325
456
|
}
|
|
326
457
|
// default: no timeout (messages expire immediately after first send attempt)
|
|
327
458
|
let pendingRequestTimeout = 0;
|
|
328
|
-
if (
|
|
459
|
+
if (endpoints.filter((e) => e.inputClusters.includes(Zcl.Clusters.genPollCtrl.ID)).length > 0) {
|
|
329
460
|
// default for devices that support genPollCtrl cluster (RX off when idle): 1 day
|
|
330
461
|
pendingRequestTimeout = 86400000;
|
|
331
462
|
/* istanbul ignore else */
|
|
@@ -344,12 +475,26 @@ class Device extends entity_1.default {
|
|
|
344
475
|
endpoints[endpoint.ID] = endpoint.toDatabaseRecord();
|
|
345
476
|
}
|
|
346
477
|
return {
|
|
347
|
-
id: this.ID,
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
478
|
+
id: this.ID,
|
|
479
|
+
type: this.type,
|
|
480
|
+
ieeeAddr: this.ieeeAddr,
|
|
481
|
+
nwkAddr: this.networkAddress,
|
|
482
|
+
manufId: this.manufacturerID,
|
|
483
|
+
manufName: this.manufacturerName,
|
|
484
|
+
powerSource: this.powerSource,
|
|
485
|
+
modelId: this.modelID,
|
|
486
|
+
epList,
|
|
487
|
+
endpoints,
|
|
488
|
+
appVersion: this.applicationVersion,
|
|
489
|
+
stackVersion: this.stackVersion,
|
|
490
|
+
hwVersion: this.hardwareVersion,
|
|
491
|
+
dateCode: this.dateCode,
|
|
492
|
+
swBuildId: this.softwareBuildID,
|
|
493
|
+
zclVersion: this.zclVersion,
|
|
494
|
+
interviewCompleted: this.interviewCompleted,
|
|
495
|
+
meta: this.meta,
|
|
496
|
+
lastSeen: this.lastSeen,
|
|
497
|
+
checkinInterval: this.checkinInterval,
|
|
353
498
|
};
|
|
354
499
|
}
|
|
355
500
|
save(writeDatabase = true) {
|
|
@@ -366,7 +511,8 @@ class Device extends entity_1.default {
|
|
|
366
511
|
}
|
|
367
512
|
}
|
|
368
513
|
static find(ieeeOrNwkAddress, includeDeleted = false) {
|
|
369
|
-
return typeof ieeeOrNwkAddress === 'string'
|
|
514
|
+
return typeof ieeeOrNwkAddress === 'string'
|
|
515
|
+
? Device.byIeeeAddr(ieeeOrNwkAddress, includeDeleted)
|
|
370
516
|
: Device.byNetworkAddress(ieeeOrNwkAddress, includeDeleted);
|
|
371
517
|
}
|
|
372
518
|
static byIeeeAddr(ieeeAddr, includeDeleted = false) {
|
|
@@ -376,14 +522,14 @@ class Device extends entity_1.default {
|
|
|
376
522
|
}
|
|
377
523
|
static byNetworkAddress(networkAddress, includeDeleted = false) {
|
|
378
524
|
Device.loadFromDatabaseIfNecessary();
|
|
379
|
-
return Object.values(Device.devices).find(d => (includeDeleted || !d._deleted) && d.networkAddress === networkAddress);
|
|
525
|
+
return Object.values(Device.devices).find((d) => (includeDeleted || !d._deleted) && d.networkAddress === networkAddress);
|
|
380
526
|
}
|
|
381
527
|
static byType(type) {
|
|
382
|
-
return Device.all().filter(d => d.type === type);
|
|
528
|
+
return Device.all().filter((d) => d.type === type);
|
|
383
529
|
}
|
|
384
530
|
static all() {
|
|
385
531
|
Device.loadFromDatabaseIfNecessary();
|
|
386
|
-
return Object.values(Device.devices).filter(d => !d._deleted);
|
|
532
|
+
return Object.values(Device.devices).filter((d) => !d._deleted);
|
|
387
533
|
}
|
|
388
534
|
undelete(interviewCompleted) {
|
|
389
535
|
(0, assert_1.default)(this._deleted, `Device '${this.ieeeAddr}' is not deleted`);
|
|
@@ -449,8 +595,7 @@ class Device extends entity_1.default {
|
|
|
449
595
|
// https://github.com/Koenkk/zigbee2mqtt/issues/4655
|
|
450
596
|
// Device does not change zoneState after enroll (event with original gateway)
|
|
451
597
|
// modelID is mostly in the form of e.g. TS0202 and manufacturerName like e.g. _TYZB01_xph99wvr
|
|
452
|
-
if (this.modelID?.match('^TS\\d*$') &&
|
|
453
|
-
(this.manufacturerName?.match('^_TZ.*_.*$') || this.manufacturerName?.match('^_TYZB01_.*$'))) {
|
|
598
|
+
if (this.modelID?.match('^TS\\d*$') && (this.manufacturerName?.match('^_TZ.*_.*$') || this.manufacturerName?.match('^_TYZB01_.*$'))) {
|
|
454
599
|
this._powerSource = this._powerSource || 'Battery';
|
|
455
600
|
this._interviewing = false;
|
|
456
601
|
this._interviewCompleted = true;
|
|
@@ -462,17 +607,24 @@ class Device extends entity_1.default {
|
|
|
462
607
|
// on the device.
|
|
463
608
|
const lookup = {
|
|
464
609
|
'^3R.*?Z': {
|
|
465
|
-
type: 'EndDevice',
|
|
610
|
+
type: 'EndDevice',
|
|
611
|
+
powerSource: 'Battery',
|
|
466
612
|
},
|
|
467
|
-
'lumi
|
|
468
|
-
type: 'EndDevice',
|
|
613
|
+
'lumi..*': {
|
|
614
|
+
type: 'EndDevice',
|
|
615
|
+
manufacturerID: 4151,
|
|
616
|
+
manufacturerName: 'LUMI',
|
|
617
|
+
powerSource: 'Battery',
|
|
469
618
|
},
|
|
470
619
|
'TERNCY-PP01': {
|
|
471
|
-
type: 'EndDevice',
|
|
620
|
+
type: 'EndDevice',
|
|
621
|
+
manufacturerID: 4648,
|
|
622
|
+
manufacturerName: 'TERNCY',
|
|
623
|
+
powerSource: 'Battery',
|
|
472
624
|
},
|
|
473
625
|
'3RWS18BZ': {}, // https://github.com/Koenkk/zigbee-herdsman-converters/pull/2710
|
|
474
626
|
'MULTI-MECI--EA01': {},
|
|
475
|
-
|
|
627
|
+
MOT003: {}, // https://github.com/Koenkk/zigbee2mqtt/issues/12471
|
|
476
628
|
};
|
|
477
629
|
const match = Object.keys(lookup).find((key) => this.modelID && this.modelID.match(key));
|
|
478
630
|
if (match) {
|
|
@@ -527,7 +679,7 @@ class Device extends entity_1.default {
|
|
|
527
679
|
if (this.manufacturerID === 4619 && this._type === 'EndDevice') {
|
|
528
680
|
// Give Tuya end device some time to pair. Otherwise they leave immediately.
|
|
529
681
|
// https://github.com/Koenkk/zigbee2mqtt/issues/5814
|
|
530
|
-
logger_1.logger.debug(
|
|
682
|
+
logger_1.logger.debug('Interview - Detected Tuya end device, waiting 10 seconds...', NS);
|
|
531
683
|
await (0, utils_1.Wait)(10000);
|
|
532
684
|
}
|
|
533
685
|
else if ([0, 4098].includes(this.manufacturerID)) {
|
|
@@ -535,12 +687,11 @@ class Device extends entity_1.default {
|
|
|
535
687
|
// In case the device responds, the endoint and modelID/manufacturerName are set
|
|
536
688
|
// in controller.onZclOrRawData()
|
|
537
689
|
// https://github.com/Koenkk/zigbee2mqtt/issues/7553
|
|
538
|
-
logger_1.logger.debug(
|
|
690
|
+
logger_1.logger.debug('Interview - Detected potential Tuya end device, reading modelID and manufacturerName...', NS);
|
|
539
691
|
try {
|
|
540
692
|
const endpoint = endpoint_1.default.create(1, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr);
|
|
541
693
|
const result = await endpoint.read('genBasic', ['modelId', 'manufacturerName'], { sendPolicy: 'immediate' });
|
|
542
|
-
Object.entries(result)
|
|
543
|
-
.forEach((entry) => Device.ReportablePropertiesMapping[entry[0]].set(entry[1], this));
|
|
694
|
+
Object.entries(result).forEach((entry) => Device.ReportablePropertiesMapping[entry[0]].set(entry[1], this));
|
|
544
695
|
}
|
|
545
696
|
catch (error) {
|
|
546
697
|
/* istanbul ignore next */
|
|
@@ -567,7 +718,9 @@ class Device extends entity_1.default {
|
|
|
567
718
|
// Some devices, e.g. TERNCY return endpoint 0 in the active endpoints request.
|
|
568
719
|
// This is not a valid endpoint number according to the ZCL, requesting a simple descriptor will result
|
|
569
720
|
// into an error. Therefore we filter it, more info: https://github.com/Koenkk/zigbee-herdsman/issues/82
|
|
570
|
-
activeEndpoints.endpoints
|
|
721
|
+
activeEndpoints.endpoints
|
|
722
|
+
.filter((e) => e !== 0 && !this.getEndpoint(e))
|
|
723
|
+
.forEach((e) => this._endpoints.push(endpoint_1.default.create(e, undefined, undefined, [], [], this.networkAddress, this.ieeeAddr)));
|
|
571
724
|
logger_1.logger.debug(`Interview - got active endpoints for device '${this.ieeeAddr}'`, NS);
|
|
572
725
|
for (const endpointID of activeEndpoints.endpoints.filter((e) => e !== 0)) {
|
|
573
726
|
const endpoint = this.getEndpoint(endpointID);
|
|
@@ -620,7 +773,7 @@ class Device extends entity_1.default {
|
|
|
620
773
|
// Do not enroll when device has already been enrolled
|
|
621
774
|
if (stateBefore.zoneState !== 1 || stateBefore.iasCieAddr !== coordinator.ieeeAddr) {
|
|
622
775
|
logger_1.logger.debug(`Interview - IAS - not enrolled, enrolling`, NS);
|
|
623
|
-
await endpoint.write('ssIasZone', {
|
|
776
|
+
await endpoint.write('ssIasZone', { iasCieAddr: coordinator.ieeeAddr }, { sendPolicy: 'immediate' });
|
|
624
777
|
logger_1.logger.debug(`Interview - IAS - wrote iasCieAddr`, NS);
|
|
625
778
|
// There are 2 enrollment procedures:
|
|
626
779
|
// - Auto enroll: coordinator has to send enrollResponse without receiving an enroll request
|
|
@@ -714,7 +867,7 @@ class Device extends entity_1.default {
|
|
|
714
867
|
await endpoint.read('genBasic', ['zclVersion'], { disableRecovery });
|
|
715
868
|
}
|
|
716
869
|
addCustomCluster(name, cluster) {
|
|
717
|
-
(0, assert_1.default)(!
|
|
870
|
+
(0, assert_1.default)(![Zcl.Clusters.touchlink.ID, Zcl.Clusters.greenPower.ID].includes(cluster.ID), 'Overriding of greenPower or touchlink cluster is not supported');
|
|
718
871
|
if (Zcl.Utils.isClusterName(name)) {
|
|
719
872
|
const existingCluster = Zcl.Clusters[name];
|
|
720
873
|
// Extend existing cluster
|