@willieee802/zigbee-herdsman 0.48.3 → 0.49.1
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/ISSUE_TEMPLATE/config.yml +5 -0
- package/.github/copilot-instructions.md +689 -0
- package/.github/dependabot.yml +22 -0
- package/.github/prompts/copilot-instructions-blueprint-generator.prompt.md +294 -0
- package/.github/prompts/create-agentsmd.prompt.md +249 -0
- package/.github/prompts/create-specification.prompt.md +127 -0
- package/.github/prompts/review-and-refactor.prompt.md +15 -0
- package/.github/prompts/update-specification.prompt.md +127 -0
- package/.github/workflows/ci.yml +70 -0
- package/.github/workflows/release-please.yml +18 -0
- package/.github/workflows/stale.yml +20 -0
- package/.github/workflows/typedoc.yaml +47 -0
- package/.release-please-manifest.json +2 -2
- package/.vscode/extensions.json +3 -0
- package/.vscode/settings.json +11 -0
- package/AGENTS.md +441 -0
- package/CHANGELOG.md +1283 -0
- package/README.md +1 -1
- package/biome.json +103 -0
- package/dist/adapter/adapter.d.ts.map +1 -1
- package/dist/adapter/adapterDiscovery.d.ts.map +1 -0
- package/dist/adapter/const.d.ts.map +1 -0
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/endpoints.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/oneWaitress.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/tokensManager.d.ts.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
- package/dist/adapter/ember/utils/initters.d.ts.map +1 -1
- package/dist/adapter/events.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/driver.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/index.d.ts.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.d.ts.map +1 -1
- package/dist/adapter/index.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/endpoints.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
- package/dist/adapter/z-stack/models/startup-options.d.ts.map +1 -1
- package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -0
- package/dist/adapter/zboss/driver.d.ts.map +1 -0
- package/dist/adapter/zboss/frame.d.ts.map +1 -0
- package/dist/adapter/zboss/frame.js +200 -0
- package/dist/adapter/zboss/frame.js.map +1 -0
- package/dist/adapter/zboss/uart.d.ts.map +1 -0
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.js +70 -62
- package/dist/adapter/zigate/driver/buffaloZiGate.js.map +1 -1
- package/dist/adapter/zigate/driver/ziGateObject.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
- package/dist/adapter/zoh/adapter/zohAdapter.d.ts.map +1 -0
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/controller/controller.js +524 -350
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/database.d.ts.map +1 -1
- package/dist/controller/events.d.ts.map +1 -1
- package/dist/controller/events.js +0 -110
- package/dist/controller/events.js.map +1 -1
- package/dist/controller/greenPower.d.ts.map +1 -1
- package/dist/controller/greenPower.js +330 -121
- package/dist/controller/greenPower.js.map +1 -1
- package/dist/controller/helpers/index.d.ts.map +1 -1
- package/dist/controller/helpers/ota.d.ts.map +1 -0
- package/dist/controller/helpers/ota.js +467 -0
- package/dist/controller/helpers/ota.js.map +1 -0
- package/dist/controller/helpers/request.d.ts.map +1 -1
- package/dist/controller/helpers/requestQueue.d.ts.map +1 -1
- package/dist/controller/helpers/zclFrameConverter.d.ts.map +1 -1
- package/dist/controller/helpers/zclFrameConverter.js +36 -22
- package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
- package/dist/controller/index.d.ts.map +1 -1
- package/dist/controller/model/device.d.ts.map +1 -1
- package/dist/controller/model/device.js +1052 -402
- package/dist/controller/model/device.js.map +1 -1
- package/dist/controller/model/endpoint.d.ts.map +1 -1
- package/dist/controller/model/endpoint.js +447 -292
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/controller/model/entity.d.ts.map +1 -1
- package/dist/controller/model/group.d.ts.map +1 -1
- package/dist/controller/model/group.js +202 -85
- package/dist/controller/model/group.js.map +1 -1
- package/dist/controller/model/index.d.ts.map +1 -1
- package/dist/controller/model/zigbeeEntity.d.ts.map +1 -0
- package/dist/controller/touchlink.d.ts.map +1 -1
- package/dist/controller/tstype.d.ts.map +1 -1
- package/dist/controller/tstype.js +0 -6
- package/dist/controller/tstype.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/utils/timeService.d.ts.map +1 -0
- package/dist/utils/timeService.js +127 -0
- package/dist/utils/timeService.js.map +1 -0
- package/dist/zspec/zcl/buffaloZcl.d.ts.map +1 -1
- package/dist/zspec/zcl/buffaloZcl.js +327 -287
- 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 +6050 -4043
- package/dist/zspec/zcl/definition/cluster.js.map +1 -1
- package/dist/zspec/zcl/definition/clusters-types.d.ts +8135 -0
- package/dist/zspec/zcl/definition/clusters-types.d.ts.map +1 -0
- package/dist/zspec/zcl/definition/clusters-types.js +3 -0
- package/dist/zspec/zcl/definition/clusters-types.js.map +1 -0
- package/dist/zspec/zcl/definition/foundation.d.ts.map +1 -1
- package/dist/zspec/zcl/definition/foundation.js +170 -99
- package/dist/zspec/zcl/definition/foundation.js.map +1 -1
- package/dist/zspec/zcl/definition/tstype.d.ts +190 -31
- 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/index.d.ts.map +1 -1
- package/dist/zspec/zcl/index.js +23 -13
- package/dist/zspec/zcl/index.js.map +1 -1
- package/dist/zspec/zcl/utils.d.ts.map +1 -1
- package/dist/zspec/zcl/utils.js +288 -103
- package/dist/zspec/zcl/utils.js.map +1 -1
- package/dist/zspec/zcl/zclFrame.d.ts.map +1 -1
- package/dist/zspec/zcl/zclFrame.js +121 -97
- package/dist/zspec/zcl/zclFrame.js.map +1 -1
- package/dist/zspec/zcl/zclHeader.d.ts.map +1 -1
- package/dist/zspec/zcl/zclHeader.js +13 -13
- package/dist/zspec/zcl/zclHeader.js.map +1 -1
- package/examples/join-and-log.js +18 -18
- package/package.json +23 -3
- package/release-please-config.json +8 -8
- package/scripts/check-clusters-changes.ts +328 -0
- package/scripts/clusters-changes.log +584 -0
- package/scripts/clusters-typegen.ts +608 -0
- package/scripts/utils.ts +88 -0
- package/scripts/zap-update-clusters-report.json +303 -0
- package/scripts/zap-update-clusters.ts +1520 -0
- package/scripts/zap-update-types.ts +707 -0
- package/scripts/zap-xml-clusters-overrides-data.ts +52 -0
- package/scripts/zap-xml-clusters-overrides.ts +400 -0
- package/scripts/zap-xml-types.ts +146 -0
- package/src/adapter/adapter.ts +210 -0
- package/src/adapter/adapterDiscovery.ts +736 -0
- package/src/adapter/const.ts +12 -0
- package/src/adapter/deconz/adapter/deconzAdapter.ts +888 -0
- package/src/adapter/deconz/driver/constants.ts +246 -0
- package/src/adapter/deconz/driver/driver.ts +1528 -0
- package/src/adapter/deconz/driver/frame.ts +11 -0
- package/src/adapter/deconz/driver/frameParser.ts +766 -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 +2262 -0
- package/src/adapter/ember/adapter/endpoints.ts +86 -0
- package/src/adapter/ember/adapter/oneWaitress.ts +324 -0
- package/src/adapter/ember/adapter/tokensManager.ts +780 -0
- package/src/adapter/ember/consts.ts +178 -0
- package/src/adapter/ember/enums.ts +1746 -0
- package/src/adapter/ember/ezsp/buffalo.ts +1392 -0
- package/src/adapter/ember/ezsp/consts.ts +148 -0
- package/src/adapter/ember/ezsp/enums.ts +1114 -0
- package/src/adapter/ember/ezsp/ezsp.ts +9073 -0
- package/src/adapter/ember/ezspError.ts +10 -0
- package/src/adapter/ember/types.ts +866 -0
- package/src/adapter/ember/uart/ash.ts +1933 -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 +42 -0
- package/src/adapter/ember/uart/queues.ts +247 -0
- package/src/adapter/ember/uart/writer.ts +50 -0
- package/src/adapter/ember/utils/initters.ts +58 -0
- package/src/adapter/ember/utils/math.ts +71 -0
- package/src/adapter/events.ts +21 -0
- package/src/adapter/ezsp/adapter/backup.ts +100 -0
- package/src/adapter/ezsp/adapter/ezspAdapter.ts +632 -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/tstype.ts +57 -0
- package/src/adapter/utils.ts +41 -0
- package/src/adapter/z-stack/adapter/adapter-backup.ts +509 -0
- package/src/adapter/z-stack/adapter/adapter-nv-memory.ts +457 -0
- package/src/adapter/z-stack/adapter/endpoints.ts +60 -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 +1350 -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 +67 -0
- package/src/adapter/z-stack/unpi/writer.ts +37 -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 +345 -0
- package/src/adapter/z-stack/znp/zpiObject.ts +148 -0
- package/src/adapter/zboss/adapter/zbossAdapter.ts +535 -0
- package/src/adapter/zboss/commands.ts +1184 -0
- package/src/adapter/zboss/consts.ts +9 -0
- package/src/adapter/zboss/driver.ts +422 -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 +25 -0
- package/src/adapter/zigate/adapter/zigateAdapter.ts +633 -0
- package/src/adapter/zigate/driver/LICENSE +17 -0
- package/src/adapter/zigate/driver/buffaloZiGate.ts +210 -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 +422 -0
- package/src/adapter/zoh/adapter/utils.ts +27 -0
- package/src/adapter/zoh/adapter/zohAdapter.ts +931 -0
- package/src/buffalo/buffalo.ts +336 -0
- package/src/buffalo/index.ts +1 -0
- package/src/controller/controller.ts +1159 -0
- package/src/controller/database.ts +148 -0
- package/src/controller/events.ts +52 -0
- package/src/controller/greenPower.ts +613 -0
- package/src/controller/helpers/index.ts +1 -0
- package/src/controller/helpers/installCodes.ts +107 -0
- package/src/controller/helpers/ota.ts +578 -0
- package/src/controller/helpers/request.ts +96 -0
- package/src/controller/helpers/requestQueue.ts +126 -0
- package/src/controller/helpers/zclFrameConverter.ts +64 -0
- package/src/controller/helpers/zclTransactionSequenceNumber.ts +15 -0
- package/src/controller/index.ts +6 -0
- package/src/controller/model/device.ts +1791 -0
- package/src/controller/model/endpoint.ts +1235 -0
- package/src/controller/model/entity.ts +43 -0
- package/src/controller/model/group.ts +446 -0
- package/src/controller/model/index.ts +5 -0
- package/src/controller/model/konnextConfig.ts +6 -0
- package/src/controller/model/zigbeeEntity.ts +30 -0
- package/src/controller/touchlink.ts +195 -0
- package/src/controller/tstype.ts +374 -0
- package/src/index.ts +14 -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/aes.ts +218 -0
- package/src/utils/async-mutex.ts +31 -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 +79 -0
- package/src/utils/timeService.ts +139 -0
- package/src/utils/utils.ts +19 -0
- package/src/utils/wait.ts +5 -0
- package/src/utils/waitress.ts +96 -0
- package/src/zspec/consts.ts +89 -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 +247 -0
- package/src/zspec/zcl/buffaloZcl.ts +1073 -0
- package/src/zspec/zcl/definition/cluster.ts +7554 -0
- package/src/zspec/zcl/definition/clusters-types.ts +8228 -0
- package/src/zspec/zcl/definition/consts.ts +24 -0
- package/src/zspec/zcl/definition/datatypes.ts +2454 -0
- package/src/zspec/zcl/definition/enums.ts +224 -0
- package/src/zspec/zcl/definition/foundation.ts +342 -0
- package/src/zspec/zcl/definition/manufacturerCode.ts +730 -0
- package/src/zspec/zcl/definition/status.ts +69 -0
- package/src/zspec/zcl/definition/tstype.ts +432 -0
- package/src/zspec/zcl/index.ts +11 -0
- package/src/zspec/zcl/utils.ts +504 -0
- package/src/zspec/zcl/zclFrame.ts +383 -0
- package/src/zspec/zcl/zclHeader.ts +102 -0
- package/src/zspec/zcl/zclStatusError.ts +10 -0
- package/src/zspec/zdo/buffaloZdo.ts +2336 -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 +1276 -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 +3447 -0
- package/test/adapter/ember/ezsp.test.ts +389 -0
- package/test/adapter/ember/ezspBuffalo.test.ts +93 -0
- package/test/adapter/ember/ezspError.test.ts +12 -0
- package/test/adapter/ember/math.test.ts +190 -0
- package/test/adapter/ezsp/frame.test.ts +30 -0
- package/test/adapter/ezsp/uart.test.ts +181 -0
- package/test/adapter/z-stack/adapter.test.ts +4260 -0
- package/test/adapter/z-stack/constants.test.ts +33 -0
- package/test/adapter/z-stack/structs.test.ts +115 -0
- package/test/adapter/z-stack/unpi.test.ts +213 -0
- package/test/adapter/z-stack/znp.test.ts +1288 -0
- package/test/adapter/zboss/fixZdoResponse.test.ts +179 -0
- package/test/adapter/zigate/patchZdoBuffaloBE.test.ts +81 -0
- package/test/adapter/zigate/zdo.test.ts +187 -0
- package/test/adapter/zoh/utils.test.ts +36 -0
- package/test/adapter/zoh/zohAdapter.test.ts +1451 -0
- package/test/benchOptions.ts +14 -0
- package/test/buffalo.test.ts +431 -0
- package/test/controller.bench.ts +215 -0
- package/test/controller.test.ts +10038 -0
- package/test/data/integrity-code-1166-012B-24031511-upgradeMe-RB 249 T.zigbee +0 -0
- package/test/data/manuf-tags-tradfri-cv-cct-unified_release_prod_v587757105_33e34452-9267-4665-bc5a-844c8f61f063.ota +0 -0
- package/test/data/padded-tretakt_smart_plug_soc-0x1100-2.4.25-prod.ota.ota.signed +0 -0
- package/test/data/telink-aes-A60_RGBW_T-0x00B6-0x03483712-MF_DIS.OTA +0 -0
- package/test/data/zbminir2_v1.0.8.ota +0 -0
- package/test/device-ota.test.ts +3332 -0
- package/test/greenpower.test.ts +1409 -0
- package/test/mockAdapters.ts +95 -0
- package/test/mockDevices.ts +623 -0
- package/test/requests.bench.ts +321 -0
- package/test/testUtils.ts +20 -0
- package/test/timeService.test.ts +214 -0
- package/test/tsconfig.json +9 -0
- package/test/utils/math.ts +19 -0
- package/test/utils.test.ts +352 -0
- package/test/vitest.config.mts +28 -0
- package/test/vitest.ts +9 -0
- package/test/zcl.test.ts +2887 -0
- package/test/zspec/utils.test.ts +68 -0
- package/test/zspec/zcl/buffalo.test.ts +1316 -0
- package/test/zspec/zcl/frame.test.ts +1056 -0
- package/test/zspec/zcl/utils.test.ts +650 -0
- package/test/zspec/zdo/buffalo.test.ts +1850 -0
- package/test/zspec/zdo/utils.test.ts +241 -0
- package/tsconfig.json +8 -10
- package/.babelrc.js +0 -6
- package/.eslintignore +0 -3
- package/dist/adapter/adapter.d.ts +0 -64
- package/dist/adapter/adapter.js +0 -157
- package/dist/adapter/adapter.js.map +0 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +0 -71
- package/dist/adapter/deconz/adapter/deconzAdapter.js +0 -1072
- package/dist/adapter/deconz/adapter/deconzAdapter.js.map +0 -1
- package/dist/adapter/deconz/adapter/index.d.ts +0 -3
- package/dist/adapter/deconz/adapter/index.d.ts.map +0 -1
- package/dist/adapter/deconz/adapter/index.js +0 -11
- package/dist/adapter/deconz/adapter/index.js.map +0 -1
- package/dist/adapter/deconz/driver/constants.d.ts +0 -105
- package/dist/adapter/deconz/driver/constants.d.ts.map +0 -1
- package/dist/adapter/deconz/driver/constants.js +0 -56
- package/dist/adapter/deconz/driver/constants.js.map +0 -1
- package/dist/adapter/deconz/driver/driver.d.ts +0 -82
- package/dist/adapter/deconz/driver/driver.d.ts.map +0 -1
- package/dist/adapter/deconz/driver/driver.js +0 -751
- package/dist/adapter/deconz/driver/driver.js.map +0 -1
- package/dist/adapter/deconz/driver/frame.d.ts +0 -7
- package/dist/adapter/deconz/driver/frame.d.ts.map +0 -1
- package/dist/adapter/deconz/driver/frame.js +0 -14
- package/dist/adapter/deconz/driver/frame.js.map +0 -1
- package/dist/adapter/deconz/driver/frameParser.d.ts +0 -3
- package/dist/adapter/deconz/driver/frameParser.d.ts.map +0 -1
- package/dist/adapter/deconz/driver/frameParser.js +0 -444
- package/dist/adapter/deconz/driver/frameParser.js.map +0 -1
- package/dist/adapter/deconz/driver/parser.d.ts +0 -13
- package/dist/adapter/deconz/driver/parser.d.ts.map +0 -1
- package/dist/adapter/deconz/driver/parser.js +0 -64
- package/dist/adapter/deconz/driver/parser.js.map +0 -1
- package/dist/adapter/deconz/driver/writer.d.ts +0 -9
- package/dist/adapter/deconz/driver/writer.d.ts.map +0 -1
- package/dist/adapter/deconz/driver/writer.js +0 -45
- package/dist/adapter/deconz/driver/writer.js.map +0 -1
- package/dist/adapter/ember/adapter/emberAdapter.d.ts +0 -806
- package/dist/adapter/ember/adapter/emberAdapter.js +0 -2942
- package/dist/adapter/ember/adapter/emberAdapter.js.map +0 -1
- package/dist/adapter/ember/adapter/endpoints.d.ts +0 -27
- package/dist/adapter/ember/adapter/endpoints.js +0 -68
- package/dist/adapter/ember/adapter/endpoints.js.map +0 -1
- package/dist/adapter/ember/adapter/index.d.ts +0 -3
- package/dist/adapter/ember/adapter/index.d.ts.map +0 -1
- package/dist/adapter/ember/adapter/index.js +0 -6
- package/dist/adapter/ember/adapter/index.js.map +0 -1
- package/dist/adapter/ember/adapter/oneWaitress.d.ts +0 -108
- package/dist/adapter/ember/adapter/oneWaitress.js +0 -241
- package/dist/adapter/ember/adapter/oneWaitress.js.map +0 -1
- package/dist/adapter/ember/adapter/requestQueue.d.ts +0 -57
- package/dist/adapter/ember/adapter/requestQueue.d.ts.map +0 -1
- package/dist/adapter/ember/adapter/requestQueue.js +0 -139
- package/dist/adapter/ember/adapter/requestQueue.js.map +0 -1
- package/dist/adapter/ember/adapter/tokensManager.d.ts +0 -69
- package/dist/adapter/ember/adapter/tokensManager.js +0 -688
- package/dist/adapter/ember/adapter/tokensManager.js.map +0 -1
- package/dist/adapter/ember/consts.d.ts +0 -191
- package/dist/adapter/ember/consts.d.ts.map +0 -1
- package/dist/adapter/ember/consts.js +0 -246
- package/dist/adapter/ember/consts.js.map +0 -1
- package/dist/adapter/ember/enums.d.ts +0 -2172
- package/dist/adapter/ember/enums.d.ts.map +0 -1
- package/dist/adapter/ember/enums.js +0 -2375
- package/dist/adapter/ember/enums.js.map +0 -1
- package/dist/adapter/ember/ezsp/buffalo.d.ts +0 -156
- package/dist/adapter/ember/ezsp/buffalo.d.ts.map +0 -1
- package/dist/adapter/ember/ezsp/buffalo.js +0 -1033
- package/dist/adapter/ember/ezsp/buffalo.js.map +0 -1
- package/dist/adapter/ember/ezsp/consts.d.ts +0 -116
- package/dist/adapter/ember/ezsp/consts.d.ts.map +0 -1
- package/dist/adapter/ember/ezsp/consts.js +0 -128
- package/dist/adapter/ember/ezsp/consts.js.map +0 -1
- package/dist/adapter/ember/ezsp/enums.d.ts +0 -879
- package/dist/adapter/ember/ezsp/enums.d.ts.map +0 -1
- package/dist/adapter/ember/ezsp/enums.js +0 -948
- package/dist/adapter/ember/ezsp/enums.js.map +0 -1
- package/dist/adapter/ember/ezsp/ezsp.d.ts +0 -2662
- package/dist/adapter/ember/ezsp/ezsp.js +0 -6454
- package/dist/adapter/ember/ezsp/ezsp.js.map +0 -1
- package/dist/adapter/ember/types.d.ts +0 -733
- package/dist/adapter/ember/types.d.ts.map +0 -1
- package/dist/adapter/ember/types.js +0 -3
- package/dist/adapter/ember/types.js.map +0 -1
- package/dist/adapter/ember/uart/ash.d.ts +0 -464
- package/dist/adapter/ember/uart/ash.d.ts.map +0 -1
- package/dist/adapter/ember/uart/ash.js +0 -1633
- package/dist/adapter/ember/uart/ash.js.map +0 -1
- package/dist/adapter/ember/uart/consts.d.ts +0 -91
- package/dist/adapter/ember/uart/consts.d.ts.map +0 -1
- package/dist/adapter/ember/uart/consts.js +0 -100
- package/dist/adapter/ember/uart/consts.js.map +0 -1
- package/dist/adapter/ember/uart/enums.d.ts +0 -191
- package/dist/adapter/ember/uart/enums.d.ts.map +0 -1
- package/dist/adapter/ember/uart/enums.js +0 -197
- package/dist/adapter/ember/uart/enums.js.map +0 -1
- package/dist/adapter/ember/uart/parser.d.ts +0 -10
- package/dist/adapter/ember/uart/parser.d.ts.map +0 -1
- package/dist/adapter/ember/uart/parser.js +0 -37
- package/dist/adapter/ember/uart/parser.js.map +0 -1
- package/dist/adapter/ember/uart/queues.d.ts +0 -85
- package/dist/adapter/ember/uart/queues.d.ts.map +0 -1
- package/dist/adapter/ember/uart/queues.js +0 -214
- package/dist/adapter/ember/uart/queues.js.map +0 -1
- package/dist/adapter/ember/uart/writer.d.ts +0 -15
- package/dist/adapter/ember/uart/writer.d.ts.map +0 -1
- package/dist/adapter/ember/uart/writer.js +0 -46
- package/dist/adapter/ember/uart/writer.js.map +0 -1
- package/dist/adapter/ember/utils/initters.d.ts +0 -20
- package/dist/adapter/ember/utils/initters.js +0 -58
- package/dist/adapter/ember/utils/initters.js.map +0 -1
- package/dist/adapter/ember/utils/math.d.ts +0 -51
- package/dist/adapter/ember/utils/math.d.ts.map +0 -1
- package/dist/adapter/ember/utils/math.js +0 -102
- package/dist/adapter/ember/utils/math.js.map +0 -1
- package/dist/adapter/ember/zdo.d.ts +0 -925
- package/dist/adapter/ember/zdo.d.ts.map +0 -1
- package/dist/adapter/ember/zdo.js +0 -723
- package/dist/adapter/ember/zdo.js.map +0 -1
- package/dist/adapter/events.d.ts +0 -42
- package/dist/adapter/events.js +0 -13
- package/dist/adapter/events.js.map +0 -1
- package/dist/adapter/ezsp/adapter/backup.d.ts +0 -13
- package/dist/adapter/ezsp/adapter/backup.js +0 -101
- package/dist/adapter/ezsp/adapter/backup.js.map +0 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +0 -65
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +0 -634
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +0 -1
- package/dist/adapter/ezsp/adapter/index.d.ts +0 -3
- package/dist/adapter/ezsp/adapter/index.d.ts.map +0 -1
- package/dist/adapter/ezsp/adapter/index.js +0 -11
- package/dist/adapter/ezsp/adapter/index.js.map +0 -1
- package/dist/adapter/ezsp/driver/commands.d.ts +0 -37
- package/dist/adapter/ezsp/driver/commands.d.ts.map +0 -1
- package/dist/adapter/ezsp/driver/commands.js +0 -2387
- package/dist/adapter/ezsp/driver/commands.js.map +0 -1
- package/dist/adapter/ezsp/driver/consts.d.ts +0 -11
- package/dist/adapter/ezsp/driver/consts.d.ts.map +0 -1
- package/dist/adapter/ezsp/driver/consts.js +0 -14
- package/dist/adapter/ezsp/driver/consts.js.map +0 -1
- package/dist/adapter/ezsp/driver/driver.d.ts +0 -109
- package/dist/adapter/ezsp/driver/driver.js +0 -796
- package/dist/adapter/ezsp/driver/driver.js.map +0 -1
- package/dist/adapter/ezsp/driver/ezsp.d.ts +0 -106
- package/dist/adapter/ezsp/driver/ezsp.d.ts.map +0 -1
- package/dist/adapter/ezsp/driver/ezsp.js +0 -664
- package/dist/adapter/ezsp/driver/ezsp.js.map +0 -1
- package/dist/adapter/ezsp/driver/frame.d.ts +0 -40
- package/dist/adapter/ezsp/driver/frame.d.ts.map +0 -1
- package/dist/adapter/ezsp/driver/frame.js +0 -101
- package/dist/adapter/ezsp/driver/frame.js.map +0 -1
- package/dist/adapter/ezsp/driver/index.d.ts +0 -4
- package/dist/adapter/ezsp/driver/index.js +0 -9
- package/dist/adapter/ezsp/driver/index.js.map +0 -1
- package/dist/adapter/ezsp/driver/multicast.d.ts +0 -13
- package/dist/adapter/ezsp/driver/multicast.js +0 -74
- package/dist/adapter/ezsp/driver/multicast.js.map +0 -1
- package/dist/adapter/ezsp/driver/parser.d.ts +0 -12
- package/dist/adapter/ezsp/driver/parser.d.ts.map +0 -1
- package/dist/adapter/ezsp/driver/parser.js +0 -105
- package/dist/adapter/ezsp/driver/parser.js.map +0 -1
- package/dist/adapter/ezsp/driver/types/basic.d.ts +0 -63
- package/dist/adapter/ezsp/driver/types/basic.d.ts.map +0 -1
- package/dist/adapter/ezsp/driver/types/basic.js +0 -209
- package/dist/adapter/ezsp/driver/types/basic.js.map +0 -1
- package/dist/adapter/ezsp/driver/types/index.d.ts +0 -10
- package/dist/adapter/ezsp/driver/types/index.d.ts.map +0 -1
- package/dist/adapter/ezsp/driver/types/index.js +0 -139
- package/dist/adapter/ezsp/driver/types/index.js.map +0 -1
- package/dist/adapter/ezsp/driver/types/named.d.ts +0 -1288
- package/dist/adapter/ezsp/driver/types/named.d.ts.map +0 -1
- package/dist/adapter/ezsp/driver/types/named.js +0 -2330
- package/dist/adapter/ezsp/driver/types/named.js.map +0 -1
- package/dist/adapter/ezsp/driver/types/struct.d.ts +0 -271
- package/dist/adapter/ezsp/driver/types/struct.d.ts.map +0 -1
- package/dist/adapter/ezsp/driver/types/struct.js +0 -804
- package/dist/adapter/ezsp/driver/types/struct.js.map +0 -1
- package/dist/adapter/ezsp/driver/uart.d.ts +0 -49
- package/dist/adapter/ezsp/driver/uart.d.ts.map +0 -1
- package/dist/adapter/ezsp/driver/uart.js +0 -383
- package/dist/adapter/ezsp/driver/uart.js.map +0 -1
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts +0 -3
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.d.ts.map +0 -1
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +0 -56
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +0 -1
- package/dist/adapter/ezsp/driver/utils/index.d.ts +0 -20
- package/dist/adapter/ezsp/driver/utils/index.d.ts.map +0 -1
- package/dist/adapter/ezsp/driver/utils/index.js +0 -73
- package/dist/adapter/ezsp/driver/utils/index.js.map +0 -1
- package/dist/adapter/ezsp/driver/writer.d.ts +0 -14
- package/dist/adapter/ezsp/driver/writer.d.ts.map +0 -1
- package/dist/adapter/ezsp/driver/writer.js +0 -83
- package/dist/adapter/ezsp/driver/writer.js.map +0 -1
- package/dist/adapter/index.d.ts +0 -5
- package/dist/adapter/index.js +0 -36
- package/dist/adapter/index.js.map +0 -1
- package/dist/adapter/serialPort.d.ts +0 -14
- package/dist/adapter/serialPort.d.ts.map +0 -1
- package/dist/adapter/serialPort.js +0 -47
- package/dist/adapter/serialPort.js.map +0 -1
- package/dist/adapter/serialPortUtils.d.ts +0 -13
- package/dist/adapter/serialPortUtils.d.ts.map +0 -1
- package/dist/adapter/serialPortUtils.js +0 -19
- package/dist/adapter/serialPortUtils.js.map +0 -1
- package/dist/adapter/socketPortUtils.d.ts +0 -11
- package/dist/adapter/socketPortUtils.d.ts.map +0 -1
- package/dist/adapter/socketPortUtils.js +0 -17
- package/dist/adapter/socketPortUtils.js.map +0 -1
- package/dist/adapter/tstype.d.ts +0 -86
- package/dist/adapter/tstype.d.ts.map +0 -1
- package/dist/adapter/tstype.js +0 -3
- package/dist/adapter/tstype.js.map +0 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.d.ts +0 -62
- package/dist/adapter/z-stack/adapter/adapter-backup.d.ts.map +0 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.js +0 -459
- package/dist/adapter/z-stack/adapter/adapter-backup.js.map +0 -1
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts +0 -151
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.d.ts.map +0 -1
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.js +0 -259
- package/dist/adapter/z-stack/adapter/adapter-nv-memory.js.map +0 -1
- package/dist/adapter/z-stack/adapter/endpoints.d.ts +0 -12
- package/dist/adapter/z-stack/adapter/endpoints.js +0 -74
- package/dist/adapter/z-stack/adapter/endpoints.js.map +0 -1
- package/dist/adapter/z-stack/adapter/index.d.ts +0 -3
- package/dist/adapter/z-stack/adapter/index.d.ts.map +0 -1
- package/dist/adapter/z-stack/adapter/index.js +0 -9
- package/dist/adapter/z-stack/adapter/index.js.map +0 -1
- package/dist/adapter/z-stack/adapter/manager.d.ts +0 -84
- package/dist/adapter/z-stack/adapter/manager.js +0 -474
- package/dist/adapter/z-stack/adapter/manager.js.map +0 -1
- package/dist/adapter/z-stack/adapter/tstype.d.ts +0 -7
- package/dist/adapter/z-stack/adapter/tstype.d.ts.map +0 -1
- package/dist/adapter/z-stack/adapter/tstype.js +0 -10
- package/dist/adapter/z-stack/adapter/tstype.js.map +0 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +0 -86
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +0 -912
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +0 -1
- package/dist/adapter/z-stack/constants/af.d.ts +0 -24
- package/dist/adapter/z-stack/constants/af.d.ts.map +0 -1
- package/dist/adapter/z-stack/constants/af.js +0 -28
- package/dist/adapter/z-stack/constants/af.js.map +0 -1
- package/dist/adapter/z-stack/constants/common.d.ts +0 -279
- package/dist/adapter/z-stack/constants/common.d.ts.map +0 -1
- package/dist/adapter/z-stack/constants/common.js +0 -293
- package/dist/adapter/z-stack/constants/common.js.map +0 -1
- package/dist/adapter/z-stack/constants/dbg.d.ts +0 -23
- package/dist/adapter/z-stack/constants/dbg.d.ts.map +0 -1
- package/dist/adapter/z-stack/constants/dbg.js +0 -25
- package/dist/adapter/z-stack/constants/dbg.js.map +0 -1
- package/dist/adapter/z-stack/constants/index.d.ts +0 -11
- package/dist/adapter/z-stack/constants/index.d.ts.map +0 -1
- package/dist/adapter/z-stack/constants/index.js +0 -48
- package/dist/adapter/z-stack/constants/index.js.map +0 -1
- package/dist/adapter/z-stack/constants/mac.d.ts +0 -128
- package/dist/adapter/z-stack/constants/mac.d.ts.map +0 -1
- package/dist/adapter/z-stack/constants/mac.js +0 -130
- package/dist/adapter/z-stack/constants/mac.js.map +0 -1
- package/dist/adapter/z-stack/constants/sapi.d.ts +0 -25
- package/dist/adapter/z-stack/constants/sapi.d.ts.map +0 -1
- package/dist/adapter/z-stack/constants/sapi.js +0 -27
- package/dist/adapter/z-stack/constants/sapi.js.map +0 -1
- package/dist/adapter/z-stack/constants/sys.d.ts +0 -72
- package/dist/adapter/z-stack/constants/sys.d.ts.map +0 -1
- package/dist/adapter/z-stack/constants/sys.js +0 -74
- package/dist/adapter/z-stack/constants/sys.js.map +0 -1
- package/dist/adapter/z-stack/constants/util.d.ts +0 -82
- package/dist/adapter/z-stack/constants/util.d.ts.map +0 -1
- package/dist/adapter/z-stack/constants/util.js +0 -84
- package/dist/adapter/z-stack/constants/util.js.map +0 -1
- package/dist/adapter/z-stack/constants/utils.d.ts +0 -5
- package/dist/adapter/z-stack/constants/utils.d.ts.map +0 -1
- package/dist/adapter/z-stack/constants/utils.js +0 -15
- package/dist/adapter/z-stack/constants/utils.js.map +0 -1
- package/dist/adapter/z-stack/constants/zdo.d.ts +0 -103
- package/dist/adapter/z-stack/constants/zdo.d.ts.map +0 -1
- package/dist/adapter/z-stack/constants/zdo.js +0 -105
- package/dist/adapter/z-stack/constants/zdo.js.map +0 -1
- package/dist/adapter/z-stack/models/index.d.ts +0 -2
- package/dist/adapter/z-stack/models/index.d.ts.map +0 -1
- package/dist/adapter/z-stack/models/index.js +0 -18
- package/dist/adapter/z-stack/models/index.js.map +0 -1
- package/dist/adapter/z-stack/models/startup-options.d.ts +0 -13
- package/dist/adapter/z-stack/models/startup-options.js +0 -3
- package/dist/adapter/z-stack/models/startup-options.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts +0 -24
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.js +0 -46
- package/dist/adapter/z-stack/structs/entries/address-manager-entry.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts +0 -11
- package/dist/adapter/z-stack/structs/entries/address-manager-table.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/address-manager-table.js +0 -23
- package/dist/adapter/z-stack/structs/entries/address-manager-table.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts +0 -11
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js +0 -22
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-entry.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts +0 -11
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js +0 -24
- package/dist/adapter/z-stack/structs/entries/aps-link-key-data-table.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts +0 -11
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js +0 -25
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-entry.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts +0 -11
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js +0 -24
- package/dist/adapter/z-stack/structs/entries/aps-tc-link-key-table.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/channel-list.d.ts +0 -9
- package/dist/adapter/z-stack/structs/entries/channel-list.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/channel-list.js +0 -16
- package/dist/adapter/z-stack/structs/entries/channel-list.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/has-configured.d.ts +0 -9
- package/dist/adapter/z-stack/structs/entries/has-configured.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/has-configured.js +0 -17
- package/dist/adapter/z-stack/structs/entries/has-configured.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/index.d.ts +0 -17
- package/dist/adapter/z-stack/structs/entries/index.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/index.js +0 -33
- package/dist/adapter/z-stack/structs/entries/index.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/nib.d.ts +0 -11
- package/dist/adapter/z-stack/structs/entries/nib.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/nib.js +0 -69
- package/dist/adapter/z-stack/structs/entries/nib.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts +0 -11
- package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js +0 -19
- package/dist/adapter/z-stack/structs/entries/nwk-key-descriptor.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts +0 -9
- package/dist/adapter/z-stack/structs/entries/nwk-key.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/nwk-key.js +0 -16
- package/dist/adapter/z-stack/structs/entries/nwk-key.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts +0 -9
- package/dist/adapter/z-stack/structs/entries/nwk-pan-id.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js +0 -16
- package/dist/adapter/z-stack/structs/entries/nwk-pan-id.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts +0 -14
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js +0 -24
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-entry.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts +0 -11
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js +0 -23
- package/dist/adapter/z-stack/structs/entries/nwk-sec-material-descriptor-table.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts +0 -21
- package/dist/adapter/z-stack/structs/entries/security-manager-entry.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/security-manager-entry.js +0 -37
- package/dist/adapter/z-stack/structs/entries/security-manager-entry.js.map +0 -1
- package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts +0 -11
- package/dist/adapter/z-stack/structs/entries/security-manager-table.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/entries/security-manager-table.js +0 -25
- package/dist/adapter/z-stack/structs/entries/security-manager-table.js.map +0 -1
- package/dist/adapter/z-stack/structs/index.d.ts +0 -5
- package/dist/adapter/z-stack/structs/index.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/index.js +0 -21
- package/dist/adapter/z-stack/structs/index.js.map +0 -1
- package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts +0 -14
- package/dist/adapter/z-stack/structs/serializable-memory-object.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/serializable-memory-object.js +0 -3
- package/dist/adapter/z-stack/structs/serializable-memory-object.js.map +0 -1
- package/dist/adapter/z-stack/structs/struct.d.ts +0 -100
- package/dist/adapter/z-stack/structs/struct.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/struct.js +0 -297
- package/dist/adapter/z-stack/structs/struct.js.map +0 -1
- package/dist/adapter/z-stack/structs/table.d.ts +0 -95
- package/dist/adapter/z-stack/structs/table.d.ts.map +0 -1
- package/dist/adapter/z-stack/structs/table.js +0 -164
- package/dist/adapter/z-stack/structs/table.js.map +0 -1
- package/dist/adapter/z-stack/unpi/constants.d.ts +0 -29
- package/dist/adapter/z-stack/unpi/constants.d.ts.map +0 -1
- package/dist/adapter/z-stack/unpi/constants.js +0 -40
- package/dist/adapter/z-stack/unpi/constants.js.map +0 -1
- package/dist/adapter/z-stack/unpi/frame.d.ts +0 -17
- package/dist/adapter/z-stack/unpi/frame.d.ts.map +0 -1
- package/dist/adapter/z-stack/unpi/frame.js +0 -55
- package/dist/adapter/z-stack/unpi/frame.js.map +0 -1
- package/dist/adapter/z-stack/unpi/index.d.ts +0 -6
- package/dist/adapter/z-stack/unpi/index.d.ts.map +0 -1
- package/dist/adapter/z-stack/unpi/index.js +0 -38
- package/dist/adapter/z-stack/unpi/index.js.map +0 -1
- package/dist/adapter/z-stack/unpi/parser.d.ts +0 -13
- package/dist/adapter/z-stack/unpi/parser.d.ts.map +0 -1
- package/dist/adapter/z-stack/unpi/parser.js +0 -86
- package/dist/adapter/z-stack/unpi/parser.js.map +0 -1
- package/dist/adapter/z-stack/unpi/writer.d.ts +0 -12
- package/dist/adapter/z-stack/unpi/writer.d.ts.map +0 -1
- package/dist/adapter/z-stack/unpi/writer.js +0 -55
- package/dist/adapter/z-stack/unpi/writer.js.map +0 -1
- package/dist/adapter/z-stack/utils/channel-list.d.ts +0 -21
- package/dist/adapter/z-stack/utils/channel-list.d.ts.map +0 -1
- package/dist/adapter/z-stack/utils/channel-list.js +0 -41
- package/dist/adapter/z-stack/utils/channel-list.js.map +0 -1
- package/dist/adapter/z-stack/utils/index.d.ts +0 -3
- package/dist/adapter/z-stack/utils/index.d.ts.map +0 -1
- package/dist/adapter/z-stack/utils/index.js +0 -19
- package/dist/adapter/z-stack/utils/index.js.map +0 -1
- package/dist/adapter/z-stack/utils/network-options.d.ts +0 -9
- package/dist/adapter/z-stack/utils/network-options.d.ts.map +0 -1
- package/dist/adapter/z-stack/utils/network-options.js +0 -23
- package/dist/adapter/z-stack/utils/network-options.js.map +0 -1
- package/dist/adapter/z-stack/znp/buffaloZnp.d.ts +0 -14
- package/dist/adapter/z-stack/znp/buffaloZnp.d.ts.map +0 -1
- package/dist/adapter/z-stack/znp/buffaloZnp.js +0 -243
- package/dist/adapter/z-stack/znp/buffaloZnp.js.map +0 -1
- package/dist/adapter/z-stack/znp/definition.d.ts +0 -6
- package/dist/adapter/z-stack/znp/definition.d.ts.map +0 -1
- package/dist/adapter/z-stack/znp/definition.js +0 -3052
- package/dist/adapter/z-stack/znp/definition.js.map +0 -1
- package/dist/adapter/z-stack/znp/index.d.ts +0 -4
- package/dist/adapter/z-stack/znp/index.d.ts.map +0 -1
- package/dist/adapter/z-stack/znp/index.js +0 -11
- package/dist/adapter/z-stack/znp/index.js.map +0 -1
- package/dist/adapter/z-stack/znp/parameterType.d.ts +0 -23
- package/dist/adapter/z-stack/znp/parameterType.d.ts.map +0 -1
- package/dist/adapter/z-stack/znp/parameterType.js +0 -26
- package/dist/adapter/z-stack/znp/parameterType.js.map +0 -1
- package/dist/adapter/z-stack/znp/tstype.d.ts +0 -23
- package/dist/adapter/z-stack/znp/tstype.d.ts.map +0 -1
- package/dist/adapter/z-stack/znp/tstype.js +0 -3
- package/dist/adapter/z-stack/znp/tstype.js.map +0 -1
- package/dist/adapter/z-stack/znp/znp.d.ts +0 -47
- package/dist/adapter/z-stack/znp/znp.d.ts.map +0 -1
- package/dist/adapter/z-stack/znp/znp.js +0 -322
- package/dist/adapter/z-stack/znp/znp.js.map +0 -1
- package/dist/adapter/z-stack/znp/zpiObject.d.ts +0 -20
- package/dist/adapter/z-stack/znp/zpiObject.d.ts.map +0 -1
- package/dist/adapter/z-stack/znp/zpiObject.js +0 -103
- package/dist/adapter/z-stack/znp/zpiObject.js.map +0 -1
- package/dist/adapter/zigate/adapter/index.d.ts +0 -3
- package/dist/adapter/zigate/adapter/index.d.ts.map +0 -1
- package/dist/adapter/zigate/adapter/index.js +0 -11
- package/dist/adapter/zigate/adapter/index.js.map +0 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +0 -72
- package/dist/adapter/zigate/adapter/zigateAdapter.js +0 -681
- package/dist/adapter/zigate/adapter/zigateAdapter.js.map +0 -1
- package/dist/adapter/zigate/driver/buffaloZiGate.d.ts +0 -18
- package/dist/adapter/zigate/driver/commandType.d.ts +0 -43
- package/dist/adapter/zigate/driver/commandType.d.ts.map +0 -1
- package/dist/adapter/zigate/driver/commandType.js +0 -390
- package/dist/adapter/zigate/driver/commandType.js.map +0 -1
- package/dist/adapter/zigate/driver/constants.d.ts +0 -277
- package/dist/adapter/zigate/driver/constants.d.ts.map +0 -1
- package/dist/adapter/zigate/driver/constants.js +0 -372
- package/dist/adapter/zigate/driver/constants.js.map +0 -1
- package/dist/adapter/zigate/driver/frame.d.ts +0 -27
- package/dist/adapter/zigate/driver/frame.d.ts.map +0 -1
- package/dist/adapter/zigate/driver/frame.js +0 -173
- package/dist/adapter/zigate/driver/frame.js.map +0 -1
- package/dist/adapter/zigate/driver/messageType.d.ts +0 -13
- package/dist/adapter/zigate/driver/messageType.d.ts.map +0 -1
- package/dist/adapter/zigate/driver/messageType.js +0 -284
- package/dist/adapter/zigate/driver/messageType.js.map +0 -1
- package/dist/adapter/zigate/driver/parameterType.d.ts +0 -28
- package/dist/adapter/zigate/driver/parameterType.d.ts.map +0 -1
- package/dist/adapter/zigate/driver/parameterType.js +0 -33
- package/dist/adapter/zigate/driver/parameterType.js.map +0 -1
- package/dist/adapter/zigate/driver/ziGateObject.d.ts +0 -24
- package/dist/adapter/zigate/driver/ziGateObject.js +0 -111
- package/dist/adapter/zigate/driver/ziGateObject.js.map +0 -1
- package/dist/adapter/zigate/driver/zigate.d.ts +0 -50
- package/dist/adapter/zigate/driver/zigate.js +0 -289
- package/dist/adapter/zigate/driver/zigate.js.map +0 -1
- package/dist/buffalo/buffalo.d.ts +0 -55
- package/dist/buffalo/buffalo.d.ts.map +0 -1
- package/dist/buffalo/buffalo.js +0 -230
- package/dist/buffalo/buffalo.js.map +0 -1
- package/dist/buffalo/index.d.ts +0 -3
- package/dist/buffalo/index.d.ts.map +0 -1
- package/dist/buffalo/index.js +0 -9
- package/dist/buffalo/index.js.map +0 -1
- package/dist/controller/controller.d.ts +0 -119
- package/dist/controller/database.d.ts +0 -20
- package/dist/controller/database.js +0 -94
- package/dist/controller/database.js.map +0 -1
- package/dist/controller/events.d.ts +0 -59
- package/dist/controller/greenPower.d.ts +0 -14
- package/dist/controller/helpers/index.d.ts +0 -3
- package/dist/controller/helpers/index.js +0 -29
- package/dist/controller/helpers/index.js.map +0 -1
- package/dist/controller/helpers/request.d.ts +0 -22
- package/dist/controller/helpers/request.js +0 -78
- package/dist/controller/helpers/request.js.map +0 -1
- package/dist/controller/helpers/requestQueue.d.ts +0 -13
- package/dist/controller/helpers/requestQueue.js +0 -106
- package/dist/controller/helpers/requestQueue.js.map +0 -1
- package/dist/controller/helpers/zclFrameConverter.d.ts +0 -9
- package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts +0 -6
- package/dist/controller/helpers/zclTransactionSequenceNumber.d.ts.map +0 -1
- package/dist/controller/helpers/zclTransactionSequenceNumber.js +0 -14
- package/dist/controller/helpers/zclTransactionSequenceNumber.js.map +0 -1
- package/dist/controller/index.d.ts +0 -6
- package/dist/controller/index.js +0 -9
- package/dist/controller/index.js.map +0 -1
- package/dist/controller/model/device.d.ts +0 -140
- package/dist/controller/model/endpoint.d.ts +0 -134
- package/dist/controller/model/entity.d.ts +0 -15
- package/dist/controller/model/entity.js +0 -27
- package/dist/controller/model/entity.js.map +0 -1
- package/dist/controller/model/group.d.ts +0 -39
- package/dist/controller/model/index.d.ts +0 -6
- package/dist/controller/model/index.js +0 -15
- package/dist/controller/model/index.js.map +0 -1
- package/dist/controller/model/konnextConfig.d.ts +0 -7
- package/dist/controller/model/konnextConfig.d.ts.map +0 -1
- package/dist/controller/model/konnextConfig.js +0 -3
- package/dist/controller/model/konnextConfig.js.map +0 -1
- package/dist/controller/touchlink.d.ts +0 -20
- package/dist/controller/touchlink.js +0 -157
- package/dist/controller/touchlink.js.map +0 -1
- package/dist/controller/tstype.d.ts +0 -21
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -37
- package/dist/index.js.map +0 -1
- package/dist/models/backup-storage-legacy.d.ts +0 -27
- package/dist/models/backup-storage-legacy.d.ts.map +0 -1
- package/dist/models/backup-storage-legacy.js +0 -3
- package/dist/models/backup-storage-legacy.js.map +0 -1
- package/dist/models/backup-storage-unified.d.ts +0 -50
- package/dist/models/backup-storage-unified.d.ts.map +0 -1
- package/dist/models/backup-storage-unified.js +0 -3
- package/dist/models/backup-storage-unified.js.map +0 -1
- package/dist/models/backup.d.ts +0 -38
- package/dist/models/backup.d.ts.map +0 -1
- package/dist/models/backup.js +0 -3
- package/dist/models/backup.js.map +0 -1
- package/dist/models/index.d.ts +0 -5
- package/dist/models/index.d.ts.map +0 -1
- package/dist/models/index.js +0 -21
- package/dist/models/index.js.map +0 -1
- package/dist/models/network-options.d.ts +0 -13
- package/dist/models/network-options.d.ts.map +0 -1
- package/dist/models/network-options.js +0 -3
- package/dist/models/network-options.js.map +0 -1
- package/dist/utils/aes.d.ts +0 -40
- package/dist/utils/aes.d.ts.map +0 -1
- package/dist/utils/aes.js +0 -198
- package/dist/utils/aes.js.map +0 -1
- package/dist/utils/assertString.d.ts +0 -3
- package/dist/utils/assertString.d.ts.map +0 -1
- package/dist/utils/assertString.js +0 -9
- package/dist/utils/assertString.js.map +0 -1
- package/dist/utils/backup.d.ts +0 -21
- package/dist/utils/backup.d.ts.map +0 -1
- package/dist/utils/backup.js +0 -190
- package/dist/utils/backup.js.map +0 -1
- package/dist/utils/equalsPartial.d.ts +0 -3
- package/dist/utils/equalsPartial.d.ts.map +0 -1
- package/dist/utils/equalsPartial.js +0 -12
- package/dist/utils/equalsPartial.js.map +0 -1
- package/dist/utils/index.d.ts +0 -10
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -46
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/isNumberArray.d.ts +0 -3
- package/dist/utils/isNumberArray.d.ts.map +0 -1
- package/dist/utils/isNumberArray.js +0 -7
- package/dist/utils/isNumberArray.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -9
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -14
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/queue.d.ts +0 -12
- package/dist/utils/queue.d.ts.map +0 -1
- package/dist/utils/queue.js +0 -62
- package/dist/utils/queue.js.map +0 -1
- package/dist/utils/realpathSync.d.ts +0 -3
- package/dist/utils/realpathSync.d.ts.map +0 -1
- package/dist/utils/realpathSync.js +0 -13
- package/dist/utils/realpathSync.js.map +0 -1
- package/dist/utils/wait.d.ts +0 -3
- package/dist/utils/wait.d.ts.map +0 -1
- package/dist/utils/wait.js +0 -9
- package/dist/utils/wait.js.map +0 -1
- package/dist/utils/waitress.d.ts +0 -22
- package/dist/utils/waitress.d.ts.map +0 -1
- package/dist/utils/waitress.js +0 -69
- package/dist/utils/waitress.js.map +0 -1
- package/dist/zspec/consts.d.ts +0 -60
- package/dist/zspec/consts.d.ts.map +0 -1
- package/dist/zspec/consts.js +0 -64
- package/dist/zspec/consts.js.map +0 -1
- package/dist/zspec/enums.d.ts +0 -19
- package/dist/zspec/enums.d.ts.map +0 -1
- package/dist/zspec/enums.js +0 -28
- package/dist/zspec/enums.js.map +0 -1
- package/dist/zspec/index.d.ts +0 -4
- package/dist/zspec/index.d.ts.map +0 -1
- package/dist/zspec/index.js +0 -43
- package/dist/zspec/index.js.map +0 -1
- package/dist/zspec/tstypes.d.ts +0 -19
- package/dist/zspec/tstypes.d.ts.map +0 -1
- package/dist/zspec/tstypes.js +0 -3
- package/dist/zspec/tstypes.js.map +0 -1
- package/dist/zspec/utils.d.ts +0 -14
- package/dist/zspec/utils.d.ts.map +0 -1
- package/dist/zspec/utils.js +0 -29
- package/dist/zspec/utils.js.map +0 -1
- package/dist/zspec/zcl/buffaloZcl.d.ts +0 -55
- package/dist/zspec/zcl/definition/cluster.d.ts +0 -3
- package/dist/zspec/zcl/definition/consts.d.ts +0 -9
- package/dist/zspec/zcl/definition/consts.d.ts.map +0 -1
- package/dist/zspec/zcl/definition/consts.js +0 -27
- package/dist/zspec/zcl/definition/consts.js.map +0 -1
- package/dist/zspec/zcl/definition/enums.d.ts +0 -177
- package/dist/zspec/zcl/definition/enums.d.ts.map +0 -1
- package/dist/zspec/zcl/definition/enums.js +0 -187
- package/dist/zspec/zcl/definition/enums.js.map +0 -1
- package/dist/zspec/zcl/definition/foundation.d.ts +0 -11
- package/dist/zspec/zcl/definition/manufacturerCode.d.ts +0 -727
- package/dist/zspec/zcl/definition/manufacturerCode.d.ts.map +0 -1
- package/dist/zspec/zcl/definition/manufacturerCode.js +0 -733
- package/dist/zspec/zcl/definition/manufacturerCode.js.map +0 -1
- package/dist/zspec/zcl/definition/status.d.ts +0 -69
- package/dist/zspec/zcl/definition/status.d.ts.map +0 -1
- package/dist/zspec/zcl/definition/status.js +0 -74
- package/dist/zspec/zcl/definition/status.js.map +0 -1
- package/dist/zspec/zcl/index.d.ts +0 -11
- package/dist/zspec/zcl/utils.d.ts +0 -7
- package/dist/zspec/zcl/zclFrame.d.ts +0 -36
- package/dist/zspec/zcl/zclHeader.d.ts +0 -17
- package/dist/zspec/zcl/zclStatusError.d.ts +0 -6
- package/dist/zspec/zcl/zclStatusError.d.ts.map +0 -1
- package/dist/zspec/zcl/zclStatusError.js +0 -13
- package/dist/zspec/zcl/zclStatusError.js.map +0 -1
- package/dist/zspec/zdo/buffaloZdo.d.ts +0 -438
- package/dist/zspec/zdo/buffaloZdo.d.ts.map +0 -1
- package/dist/zspec/zdo/buffaloZdo.js +0 -1892
- package/dist/zspec/zdo/buffaloZdo.js.map +0 -1
- package/dist/zspec/zdo/definition/clusters.d.ts +0 -624
- package/dist/zspec/zdo/definition/clusters.d.ts.map +0 -1
- package/dist/zspec/zdo/definition/clusters.js +0 -687
- package/dist/zspec/zdo/definition/clusters.js.map +0 -1
- package/dist/zspec/zdo/definition/consts.d.ts +0 -13
- package/dist/zspec/zdo/definition/consts.d.ts.map +0 -1
- package/dist/zspec/zdo/definition/consts.js +0 -16
- package/dist/zspec/zdo/definition/consts.js.map +0 -1
- package/dist/zspec/zdo/definition/enums.d.ts +0 -75
- package/dist/zspec/zdo/definition/enums.d.ts.map +0 -1
- package/dist/zspec/zdo/definition/enums.js +0 -97
- package/dist/zspec/zdo/definition/enums.js.map +0 -1
- package/dist/zspec/zdo/definition/status.d.ts +0 -99
- package/dist/zspec/zdo/definition/status.d.ts.map +0 -1
- package/dist/zspec/zdo/definition/status.js +0 -109
- package/dist/zspec/zdo/definition/status.js.map +0 -1
- package/dist/zspec/zdo/definition/tstypes.d.ts +0 -787
- package/dist/zspec/zdo/definition/tstypes.d.ts.map +0 -1
- package/dist/zspec/zdo/definition/tstypes.js +0 -3
- package/dist/zspec/zdo/definition/tstypes.js.map +0 -1
- package/dist/zspec/zdo/index.d.ts +0 -7
- package/dist/zspec/zdo/index.d.ts.map +0 -1
- package/dist/zspec/zdo/index.js +0 -39
- package/dist/zspec/zdo/index.js.map +0 -1
- package/dist/zspec/zdo/utils.d.ts +0 -25
- package/dist/zspec/zdo/utils.d.ts.map +0 -1
- package/dist/zspec/zdo/utils.js +0 -75
- package/dist/zspec/zdo/utils.js.map +0 -1
- package/dist/zspec/zdo/zdoStatusError.d.ts +0 -6
- package/dist/zspec/zdo/zdoStatusError.d.ts.map +0 -1
- package/dist/zspec/zdo/zdoStatusError.js +0 -13
- package/dist/zspec/zdo/zdoStatusError.js.map +0 -1
- package/typedoc-tsconfig.json +0 -44
|
@@ -15,21 +15,34 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
exports.BuffaloZcl = void 0;
|
|
27
|
-
const enums_1 = require("./definition/enums");
|
|
28
37
|
const buffalo_1 = require("../../buffalo");
|
|
29
|
-
const Utils = __importStar(require("./utils"));
|
|
30
|
-
const utils_1 = require("../../utils");
|
|
31
38
|
const logger_1 = require("../../utils/logger");
|
|
32
|
-
const
|
|
39
|
+
const utils_1 = require("../../utils/utils");
|
|
40
|
+
const datatypes_1 = require("./definition/datatypes");
|
|
41
|
+
const enums_1 = require("./definition/enums");
|
|
42
|
+
const Utils = __importStar(require("./utils"));
|
|
43
|
+
const NS = "zh:zcl:buffalo";
|
|
44
|
+
const UINT8_NON_VALUE = datatypes_1.ZCL_TYPE_INVALID_BY_TYPE[datatypes_1.ZclType.Uint8];
|
|
45
|
+
const UINT16_NON_VALUE = datatypes_1.ZCL_TYPE_INVALID_BY_TYPE[datatypes_1.ZclType.Uint16];
|
|
33
46
|
const SEC_KEY_LENGTH = 16;
|
|
34
47
|
const EXTENSION_FIELD_SETS_DATA_TYPE = {
|
|
35
48
|
6: [enums_1.DataType.UINT8],
|
|
@@ -38,136 +51,101 @@ const EXTENSION_FIELD_SETS_DATA_TYPE = {
|
|
|
38
51
|
768: [enums_1.DataType.UINT16, enums_1.DataType.UINT16, enums_1.DataType.UINT16, enums_1.DataType.UINT8, enums_1.DataType.UINT8, enums_1.DataType.UINT8, enums_1.DataType.UINT16, enums_1.DataType.UINT16],
|
|
39
52
|
};
|
|
40
53
|
class BuffaloZcl extends buffalo_1.Buffalo {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const msb = this.readUInt8();
|
|
49
|
-
return [msb, lsb];
|
|
50
|
-
}
|
|
51
|
-
writeUInt48SB(value) {
|
|
52
|
-
this.writeUInt32(value[1]);
|
|
53
|
-
this.writeUInt16(value[0]);
|
|
54
|
-
}
|
|
55
|
-
readUInt48SB() {
|
|
56
|
-
const lsb = this.readUInt32();
|
|
57
|
-
const msb = this.readUInt16();
|
|
58
|
-
return [msb, lsb];
|
|
59
|
-
}
|
|
60
|
-
writeUInt56SB(value) {
|
|
61
|
-
// XXX: [uint32, uint32] param not following read return pattern [uint32, uint16, uint8]
|
|
62
|
-
const temp = Buffer.alloc(8);
|
|
63
|
-
temp.writeUInt32LE(value[1], 0);
|
|
64
|
-
temp.writeUInt32LE(value[0], 4);
|
|
65
|
-
this.writeBuffer(temp.subarray(0, 7), 7);
|
|
66
|
-
}
|
|
67
|
-
readUInt56SB() {
|
|
68
|
-
const lsb = this.readUInt32();
|
|
69
|
-
const xsb = this.readUInt16();
|
|
70
|
-
const msb = this.readUInt8();
|
|
71
|
-
return [msb, xsb, lsb];
|
|
72
|
-
}
|
|
73
|
-
readUInt64SB() {
|
|
74
|
-
// XXX: not following pattern, should return as [msb, lsb]
|
|
75
|
-
return this.readIeeeAddr();
|
|
76
|
-
}
|
|
77
|
-
writeUInt64SB(value) {
|
|
78
|
-
// XXX: not following pattern, should pass as number[uint32, uint32]
|
|
79
|
-
const msb = parseInt(value.slice(2, 10), 16);
|
|
80
|
-
const lsb = parseInt(value.slice(10), 16);
|
|
81
|
-
this.writeUInt32(lsb);
|
|
82
|
-
this.writeUInt32(msb);
|
|
83
|
-
}
|
|
84
|
-
writeInt40SB(value) {
|
|
85
|
-
this.writeInt32(value[1]);
|
|
86
|
-
this.writeInt8(value[0]);
|
|
87
|
-
}
|
|
88
|
-
readInt40SB() {
|
|
89
|
-
const lsb = this.readInt32();
|
|
90
|
-
const msb = this.readInt8();
|
|
91
|
-
return [msb, lsb];
|
|
92
|
-
}
|
|
93
|
-
writeInt56SB(value) {
|
|
94
|
-
const temp = Buffer.alloc(8);
|
|
95
|
-
temp.writeInt32LE(value[1], 0);
|
|
96
|
-
temp.writeInt32LE(value[0], 4);
|
|
97
|
-
this.writeBuffer(temp.subarray(0, 7), 7);
|
|
98
|
-
}
|
|
99
|
-
readInt56SB() {
|
|
100
|
-
const lsb = this.readInt32();
|
|
101
|
-
const xsb = this.readInt16();
|
|
102
|
-
const msb = this.readInt8();
|
|
103
|
-
return [msb, xsb, lsb];
|
|
104
|
-
}
|
|
105
|
-
writeInt64SB(value) {
|
|
106
|
-
this.writeInt32(value[1]);
|
|
107
|
-
this.writeInt32(value[0]);
|
|
108
|
-
}
|
|
109
|
-
readInt64SB() {
|
|
110
|
-
const lsb = this.readInt32();
|
|
111
|
-
const msb = this.readInt32();
|
|
112
|
-
return [msb, lsb];
|
|
54
|
+
readLengthUInt8() {
|
|
55
|
+
const value = this.readUInt8();
|
|
56
|
+
return value === UINT8_NON_VALUE ? Number.NaN : value;
|
|
57
|
+
}
|
|
58
|
+
readLengthUInt16() {
|
|
59
|
+
const value = this.readUInt16();
|
|
60
|
+
return value === UINT16_NON_VALUE ? Number.NaN : value;
|
|
113
61
|
}
|
|
114
62
|
writeOctetStr(value) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
63
|
+
if (value) {
|
|
64
|
+
this.writeUInt8(value.length);
|
|
65
|
+
this.writeBuffer(value, value.length);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
this.writeUInt8(UINT8_NON_VALUE);
|
|
69
|
+
}
|
|
118
70
|
}
|
|
119
71
|
readOctetStr() {
|
|
120
|
-
const length = this.
|
|
121
|
-
return (length
|
|
72
|
+
const length = this.readLengthUInt8();
|
|
73
|
+
return Number.isNaN(length) ? Buffer.from([]) : this.readBuffer(length);
|
|
122
74
|
}
|
|
75
|
+
// TODO: support read/write with specific `length` from attribute metadata (CHAR_STR & LONG_CHAR_STR)
|
|
123
76
|
writeCharStr(value) {
|
|
124
|
-
//
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
77
|
+
// In case of an empty string, send 0 length, from the spec:
|
|
78
|
+
// "Setting this sub-field to 0x00 represents a character string with no character data (an “empty string”). Setting
|
|
79
|
+
// this sub-field to 0xff represents the non-value. In both cases the character data sub-field has zero length."
|
|
80
|
+
if (value != null) {
|
|
81
|
+
if (typeof value === "string") {
|
|
82
|
+
this.writeUInt8(Buffer.byteLength(value, "utf8"));
|
|
83
|
+
this.writeUtf8String(value);
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
// XXX: value.length not written?
|
|
87
|
+
this.writeBuffer(value, value.length);
|
|
88
|
+
}
|
|
128
89
|
}
|
|
129
90
|
else {
|
|
130
|
-
|
|
131
|
-
this.writeBuffer(value, value.length);
|
|
91
|
+
this.writeUInt8(UINT8_NON_VALUE);
|
|
132
92
|
}
|
|
133
93
|
}
|
|
134
94
|
readCharStr() {
|
|
135
|
-
const length = this.
|
|
136
|
-
return (length
|
|
95
|
+
const length = this.readLengthUInt8();
|
|
96
|
+
return Number.isNaN(length) ? "" : this.readUtf8String(length);
|
|
137
97
|
}
|
|
138
98
|
writeLongOctetStr(value) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
99
|
+
if (value) {
|
|
100
|
+
this.writeUInt16(value.length);
|
|
101
|
+
this.writeBuffer(value, value.length);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
this.writeUInt16(UINT16_NON_VALUE);
|
|
105
|
+
}
|
|
142
106
|
}
|
|
143
107
|
readLongOctetStr() {
|
|
144
|
-
const length = this.
|
|
145
|
-
return (length
|
|
108
|
+
const length = this.readLengthUInt16();
|
|
109
|
+
return Number.isNaN(length) ? Buffer.from([]) : this.readBuffer(length);
|
|
146
110
|
}
|
|
147
111
|
writeLongCharStr(value) {
|
|
148
|
-
//
|
|
149
|
-
this
|
|
150
|
-
this.
|
|
112
|
+
// In case of an empty string, send 0 length, from the spec:
|
|
113
|
+
// "Setting this sub-field to 0x0000 represents a long character string with no character data (an “empty string”).
|
|
114
|
+
// Setting this sub-field to 0xffff represents an non-value long character string value. In both cases the character
|
|
115
|
+
// data sub-field has zero length"
|
|
116
|
+
if (value != null) {
|
|
117
|
+
this.writeUInt16(Buffer.byteLength(value, "utf8"));
|
|
118
|
+
this.writeUtf8String(value);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.writeUInt16(UINT16_NON_VALUE);
|
|
122
|
+
}
|
|
151
123
|
}
|
|
152
124
|
readLongCharStr() {
|
|
153
|
-
const length = this.
|
|
154
|
-
return (length
|
|
125
|
+
const length = this.readLengthUInt16();
|
|
126
|
+
return Number.isNaN(length) ? "" : this.readUtf8String(length);
|
|
155
127
|
}
|
|
156
128
|
writeArray(value) {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
129
|
+
if (value) {
|
|
130
|
+
const elTypeNumeric = typeof value.elementType === "number" ? value.elementType : enums_1.DataType[value.elementType];
|
|
131
|
+
this.writeUInt8(elTypeNumeric);
|
|
132
|
+
this.writeUInt16(value.elements.length);
|
|
133
|
+
for (const element of value.elements) {
|
|
134
|
+
this.write(elTypeNumeric, element, {});
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
this.writeUInt8(enums_1.DataType.NO_DATA); // XXX: correct value?
|
|
139
|
+
this.writeUInt16(UINT16_NON_VALUE);
|
|
163
140
|
}
|
|
164
|
-
;
|
|
165
141
|
}
|
|
142
|
+
// TODO: support read [] with specific length (`arrayLengthSize` & `arrayLengthField`) from parameter metadata
|
|
166
143
|
readArray() {
|
|
167
144
|
const values = [];
|
|
168
145
|
const elementType = this.readUInt8();
|
|
169
|
-
const numberOfElements = this.
|
|
170
|
-
if (numberOfElements
|
|
146
|
+
const numberOfElements = this.readLengthUInt16();
|
|
147
|
+
if (!Number.isNaN(numberOfElements)) {
|
|
148
|
+
// not non-value
|
|
171
149
|
for (let i = 0; i < numberOfElements; i++) {
|
|
172
150
|
const value = this.read(elementType, {});
|
|
173
151
|
values.push(value);
|
|
@@ -176,19 +154,22 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
176
154
|
return values;
|
|
177
155
|
}
|
|
178
156
|
writeStruct(value) {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
157
|
+
if (value) {
|
|
158
|
+
this.writeUInt16(value.length);
|
|
159
|
+
for (const v of value) {
|
|
160
|
+
this.writeUInt8(v.elmType);
|
|
161
|
+
this.write(v.elmType, v.elmVal, {});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
this.writeUInt16(UINT16_NON_VALUE);
|
|
186
166
|
}
|
|
187
167
|
}
|
|
188
168
|
readStruct() {
|
|
189
169
|
const values = [];
|
|
190
|
-
const numberOfElements = this.
|
|
191
|
-
if (numberOfElements
|
|
170
|
+
const numberOfElements = this.readLengthUInt16();
|
|
171
|
+
if (!Number.isNaN(numberOfElements)) {
|
|
172
|
+
// not non-value
|
|
192
173
|
for (let i = 0; i < numberOfElements; i++) {
|
|
193
174
|
const elementType = this.readUInt8();
|
|
194
175
|
const value = this.read(elementType, {});
|
|
@@ -198,39 +179,39 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
198
179
|
return values;
|
|
199
180
|
}
|
|
200
181
|
writeToD(value) {
|
|
201
|
-
this.writeUInt8(value.hours
|
|
202
|
-
this.writeUInt8(value.minutes
|
|
203
|
-
this.writeUInt8(value.seconds
|
|
204
|
-
this.writeUInt8(value.hundredths
|
|
182
|
+
this.writeUInt8(value.hours == null || Number.isNaN(value.hours) ? UINT8_NON_VALUE : value.hours);
|
|
183
|
+
this.writeUInt8(value.minutes == null || Number.isNaN(value.minutes) ? UINT8_NON_VALUE : value.minutes);
|
|
184
|
+
this.writeUInt8(value.seconds == null || Number.isNaN(value.seconds) ? UINT8_NON_VALUE : value.seconds);
|
|
185
|
+
this.writeUInt8(value.hundredths == null || Number.isNaN(value.hundredths) ? UINT8_NON_VALUE : value.hundredths);
|
|
205
186
|
}
|
|
206
187
|
readToD() {
|
|
207
|
-
const hours = this.
|
|
208
|
-
const minutes = this.
|
|
209
|
-
const seconds = this.
|
|
210
|
-
const hundredths = this.
|
|
188
|
+
const hours = this.readLengthUInt8();
|
|
189
|
+
const minutes = this.readLengthUInt8();
|
|
190
|
+
const seconds = this.readLengthUInt8();
|
|
191
|
+
const hundredths = this.readLengthUInt8();
|
|
211
192
|
return {
|
|
212
|
-
hours
|
|
213
|
-
minutes
|
|
214
|
-
seconds
|
|
215
|
-
hundredths
|
|
193
|
+
hours,
|
|
194
|
+
minutes,
|
|
195
|
+
seconds,
|
|
196
|
+
hundredths,
|
|
216
197
|
};
|
|
217
198
|
}
|
|
218
199
|
writeDate(value) {
|
|
219
|
-
this.writeUInt8(value.year
|
|
220
|
-
this.writeUInt8(value.month
|
|
221
|
-
this.writeUInt8(value.dayOfMonth
|
|
222
|
-
this.writeUInt8(value.dayOfWeek
|
|
200
|
+
this.writeUInt8(value.year == null || Number.isNaN(value.year) ? UINT8_NON_VALUE : value.year - 1900);
|
|
201
|
+
this.writeUInt8(value.month == null || Number.isNaN(value.month) ? UINT8_NON_VALUE : value.month);
|
|
202
|
+
this.writeUInt8(value.dayOfMonth == null || Number.isNaN(value.dayOfMonth) ? UINT8_NON_VALUE : value.dayOfMonth);
|
|
203
|
+
this.writeUInt8(value.dayOfWeek == null || Number.isNaN(value.dayOfWeek) ? UINT8_NON_VALUE : value.dayOfWeek);
|
|
223
204
|
}
|
|
224
205
|
readDate() {
|
|
225
|
-
const year = this.
|
|
226
|
-
const month = this.
|
|
227
|
-
const dayOfMonth = this.
|
|
228
|
-
const dayOfWeek = this.
|
|
206
|
+
const year = this.readLengthUInt8();
|
|
207
|
+
const month = this.readLengthUInt8();
|
|
208
|
+
const dayOfMonth = this.readLengthUInt8();
|
|
209
|
+
const dayOfWeek = this.readLengthUInt8();
|
|
229
210
|
return {
|
|
230
|
-
year: year
|
|
231
|
-
month
|
|
232
|
-
dayOfMonth
|
|
233
|
-
dayOfWeek
|
|
211
|
+
year: year + 1900, // remains NaN if year is NaN
|
|
212
|
+
month,
|
|
213
|
+
dayOfMonth,
|
|
214
|
+
dayOfWeek,
|
|
234
215
|
};
|
|
235
216
|
}
|
|
236
217
|
//--- BuffaloZclDataType
|
|
@@ -282,81 +263,90 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
282
263
|
for (const entry of value) {
|
|
283
264
|
this.writeUInt16(entry.transitionTime);
|
|
284
265
|
if (entry.heatSetpoint != null) {
|
|
285
|
-
this.
|
|
266
|
+
this.writeInt16(entry.heatSetpoint);
|
|
286
267
|
}
|
|
287
268
|
if (entry.coolSetpoint != null) {
|
|
288
|
-
this.
|
|
269
|
+
this.writeInt16(entry.coolSetpoint);
|
|
289
270
|
}
|
|
290
271
|
}
|
|
291
272
|
}
|
|
292
273
|
readListThermoTransitions(options) {
|
|
293
274
|
if (options.payload == null || options.payload.mode == null || options.payload.numoftrans == null) {
|
|
294
|
-
throw new Error(
|
|
275
|
+
throw new Error("Cannot read LIST_THERMO_TRANSITIONS without required payload options specified");
|
|
295
276
|
}
|
|
296
277
|
const heat = options.payload.mode & 1;
|
|
297
278
|
const cool = options.payload.mode & 2;
|
|
298
279
|
const result = [];
|
|
299
280
|
for (let i = 0; i < options.payload.numoftrans; i++) {
|
|
300
281
|
const entry = {
|
|
301
|
-
transitionTime: this.readUInt16()
|
|
282
|
+
transitionTime: this.readUInt16(),
|
|
302
283
|
};
|
|
303
284
|
if (heat) {
|
|
304
|
-
entry.heatSetpoint = this.
|
|
285
|
+
entry.heatSetpoint = this.readInt16();
|
|
305
286
|
}
|
|
306
287
|
if (cool) {
|
|
307
|
-
entry.coolSetpoint = this.
|
|
288
|
+
entry.coolSetpoint = this.readInt16();
|
|
308
289
|
}
|
|
309
290
|
result.push(entry);
|
|
310
291
|
}
|
|
311
292
|
return result;
|
|
312
293
|
}
|
|
313
|
-
|
|
314
|
-
if (value.commandID
|
|
294
|
+
writeGpdFrame(value) {
|
|
295
|
+
if (value.commandID === 0xf0) {
|
|
296
|
+
// Commissioning Reply
|
|
315
297
|
const v = value;
|
|
316
|
-
const panIDPresent = v.options &
|
|
317
|
-
const gpdSecurityKeyPresent = v.options &
|
|
318
|
-
const gpdKeyEncryption = v.options
|
|
319
|
-
const securityLevel = v.options
|
|
298
|
+
const panIDPresent = Boolean(v.options & 0x1);
|
|
299
|
+
const gpdSecurityKeyPresent = Boolean(v.options & 0x2);
|
|
300
|
+
const gpdKeyEncryption = Boolean((v.options >> 2) & 0x1);
|
|
301
|
+
const securityLevel = (v.options >> 3) & 0x3;
|
|
320
302
|
const hasGPDKeyMIC = gpdKeyEncryption && gpdSecurityKeyPresent;
|
|
321
|
-
const hasFrameCounter = gpdSecurityKeyPresent &&
|
|
322
|
-
|
|
323
|
-
(securityLevel === 0b10 || securityLevel === 0b11);
|
|
324
|
-
this.writeUInt8(1 +
|
|
325
|
-
(panIDPresent ? 2 : 0) +
|
|
326
|
-
(gpdSecurityKeyPresent ? 16 : 0) +
|
|
327
|
-
(hasGPDKeyMIC ? 4 : 0) +
|
|
328
|
-
(hasFrameCounter ? 4 : 0)); // Length
|
|
303
|
+
const hasFrameCounter = gpdSecurityKeyPresent && gpdKeyEncryption && (securityLevel === 0b10 || securityLevel === 0b11);
|
|
304
|
+
this.writeUInt8(1 + (panIDPresent ? 2 : 0) + (gpdSecurityKeyPresent ? 16 : 0) + (hasGPDKeyMIC ? 4 : 0) + (hasFrameCounter ? 4 : 0)); // Length
|
|
329
305
|
this.writeUInt8(v.options);
|
|
330
306
|
if (panIDPresent) {
|
|
307
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
331
308
|
this.writeUInt16(v.panID);
|
|
332
309
|
}
|
|
333
310
|
if (gpdSecurityKeyPresent) {
|
|
311
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
334
312
|
this.writeBuffer(v.securityKey, 16);
|
|
335
313
|
}
|
|
336
314
|
if (hasGPDKeyMIC) {
|
|
315
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
337
316
|
this.writeUInt32(v.keyMic);
|
|
338
317
|
}
|
|
339
318
|
if (hasFrameCounter) {
|
|
319
|
+
// biome-ignore lint/style/noNonNullAssertion: ignored using `--suppress`
|
|
340
320
|
this.writeUInt32(v.frameCounter);
|
|
341
321
|
}
|
|
342
322
|
}
|
|
343
|
-
else if (value.commandID
|
|
323
|
+
else if (value.commandID === 0xf3) {
|
|
324
|
+
// Channel configuration
|
|
344
325
|
const v = value;
|
|
345
326
|
this.writeUInt8(1);
|
|
346
|
-
this.writeUInt8(v.operationalChannel &
|
|
327
|
+
this.writeUInt8((v.operationalChannel & 0xf) | ((v.basic ? 1 : 0) << 4));
|
|
347
328
|
}
|
|
348
|
-
else if (value.commandID
|
|
349
|
-
value.commandID == 0xF5 ||
|
|
350
|
-
(value.commandID >= 0xF7 && value.commandID <= 0xFF)) {
|
|
329
|
+
else if (value.commandID === 0xf4 || value.commandID === 0xf5 || (value.commandID >= 0xf7 && value.commandID <= 0xff)) {
|
|
351
330
|
// Other commands sent to GPD
|
|
352
331
|
const v = value;
|
|
353
332
|
this.writeUInt8(v.buffer.length);
|
|
354
333
|
this.writeBuffer(v.buffer, v.buffer.length);
|
|
355
334
|
}
|
|
335
|
+
// 0xf1: Write Attributes
|
|
336
|
+
// 0xf2: Read Attributes
|
|
337
|
+
// 0xf6: ZCL Tunneling
|
|
356
338
|
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
339
|
+
readGpdFrame(options) {
|
|
340
|
+
if (options.payload?.payloadSize === undefined) {
|
|
341
|
+
throw new Error("Cannot read GPD_FRAME without required payload options specified");
|
|
342
|
+
}
|
|
343
|
+
if (Number.isNaN(options.payload.payloadSize) || options.payload.payloadSize === 0) {
|
|
344
|
+
return {}; // non-value, don't move position
|
|
345
|
+
}
|
|
346
|
+
// ensure offset by options.payload.payloadSize (if any) at end of parsing to not cause issues with spec changes (until supported)
|
|
347
|
+
const startPosition = this.position;
|
|
348
|
+
if (options.payload.commandID === 0xe0) {
|
|
349
|
+
// Commisioning
|
|
360
350
|
const frame = {
|
|
361
351
|
deviceID: this.readUInt8(),
|
|
362
352
|
options: this.readUInt8(),
|
|
@@ -367,12 +357,14 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
367
357
|
applicationInfo: 0,
|
|
368
358
|
manufacturerID: 0,
|
|
369
359
|
modelID: 0,
|
|
370
|
-
|
|
360
|
+
numGpdCommands: 0,
|
|
371
361
|
gpdCommandIdList: Buffer.alloc(0),
|
|
372
362
|
numServerClusters: 0,
|
|
373
363
|
numClientClusters: 0,
|
|
374
364
|
gpdServerClusters: Buffer.alloc(0),
|
|
375
365
|
gpdClientClusters: Buffer.alloc(0),
|
|
366
|
+
genericSwitchConfig: 0,
|
|
367
|
+
currentContactStatus: 0,
|
|
376
368
|
};
|
|
377
369
|
if (frame.options & 0x80) {
|
|
378
370
|
frame.extendedOptions = this.readUInt8();
|
|
@@ -396,31 +388,39 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
396
388
|
frame.modelID = this.readUInt16();
|
|
397
389
|
}
|
|
398
390
|
if (frame.applicationInfo & 0x04) {
|
|
399
|
-
frame.
|
|
400
|
-
frame.gpdCommandIdList = this.readBuffer(frame.
|
|
391
|
+
frame.numGpdCommands = this.readUInt8();
|
|
392
|
+
frame.gpdCommandIdList = this.readBuffer(frame.numGpdCommands);
|
|
401
393
|
}
|
|
402
394
|
if (frame.applicationInfo & 0x08) {
|
|
403
395
|
const len = this.readUInt8();
|
|
404
|
-
frame.numServerClusters = len &
|
|
405
|
-
frame.numClientClusters = (len >> 4) &
|
|
396
|
+
frame.numServerClusters = len & 0xf;
|
|
397
|
+
frame.numClientClusters = (len >> 4) & 0xf;
|
|
406
398
|
frame.gpdServerClusters = this.readBuffer(2 * frame.numServerClusters);
|
|
407
399
|
frame.gpdClientClusters = this.readBuffer(2 * frame.numClientClusters);
|
|
408
400
|
}
|
|
401
|
+
if (frame.applicationInfo & 0x10) {
|
|
402
|
+
const len = this.readUInt8();
|
|
403
|
+
if (len >= 1) {
|
|
404
|
+
frame.genericSwitchConfig = this.readUInt8();
|
|
405
|
+
}
|
|
406
|
+
if (len >= 2) {
|
|
407
|
+
frame.currentContactStatus = this.readUInt8();
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
this.setPosition(startPosition + options.payload.payloadSize);
|
|
409
411
|
return frame;
|
|
410
|
-
// Channel Request
|
|
411
412
|
}
|
|
412
|
-
|
|
413
|
-
|
|
413
|
+
if (options.payload.commandID === 0xe3) {
|
|
414
|
+
// Channel Request
|
|
415
|
+
const channelOpts = this.readUInt8();
|
|
416
|
+
this.setPosition(startPosition + options.payload.payloadSize);
|
|
414
417
|
return {
|
|
415
|
-
nextChannel:
|
|
416
|
-
nextNextChannel:
|
|
418
|
+
nextChannel: channelOpts & 0xf,
|
|
419
|
+
nextNextChannel: channelOpts >> 4,
|
|
417
420
|
};
|
|
418
|
-
// Manufacturer-specific Attribute Reporting
|
|
419
421
|
}
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
throw new Error('Cannot read GDP_FRAME with commandID=0xA1 without payloadSize options specified');
|
|
423
|
-
}
|
|
422
|
+
if (options.payload.commandID === 0xa1) {
|
|
423
|
+
// Manufacturer-specific Attribute Reporting
|
|
424
424
|
const start = this.position;
|
|
425
425
|
const frame = {
|
|
426
426
|
manufacturerCode: this.readUInt16(),
|
|
@@ -431,24 +431,21 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
431
431
|
while (this.position - start < options.payload.payloadSize) {
|
|
432
432
|
const attributeID = this.readUInt16();
|
|
433
433
|
const type = this.readUInt8();
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
catch {
|
|
434
|
+
/* v8 ignore next */
|
|
435
|
+
let attribute = cluster.getAttribute(attributeID)?.name;
|
|
436
|
+
// number type is only used when going into this if
|
|
437
|
+
if (!attribute) {
|
|
439
438
|
// this is spammy because of the many manufacturer-specific attributes not currently used
|
|
440
|
-
logger_1.logger.debug(
|
|
439
|
+
logger_1.logger.debug(`Unknown attribute ${attributeID} in cluster ${cluster.name}`, NS);
|
|
440
|
+
attribute = attributeID;
|
|
441
441
|
}
|
|
442
442
|
frame.attributes[attribute] = this.read(type, options);
|
|
443
443
|
}
|
|
444
|
+
this.setPosition(startPosition + options.payload.payloadSize);
|
|
444
445
|
return frame;
|
|
445
446
|
}
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
}
|
|
449
|
-
else {
|
|
450
|
-
return {};
|
|
451
|
-
}
|
|
447
|
+
// might contain `gppNwkAddr`, `gppGpdLink` & `mic` from ZCL cluster after this, so limit by `payloadSize`
|
|
448
|
+
return { raw: this.readBuffer(options.payload.payloadSize) };
|
|
452
449
|
}
|
|
453
450
|
writeStructuredSelector(value) {
|
|
454
451
|
if (value != null) {
|
|
@@ -468,7 +465,7 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
468
465
|
// no indexes, whole attribute value is to be read
|
|
469
466
|
return { indicatorType: enums_1.StructuredIndicatorType.Whole };
|
|
470
467
|
}
|
|
471
|
-
|
|
468
|
+
if (indicator < enums_1.StructuredIndicatorType.WriteAdd) {
|
|
472
469
|
const indexes = [];
|
|
473
470
|
for (let i = 0; i < indicator; i++) {
|
|
474
471
|
const index = this.readUInt16();
|
|
@@ -476,9 +473,7 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
476
473
|
}
|
|
477
474
|
return { indexes };
|
|
478
475
|
}
|
|
479
|
-
|
|
480
|
-
throw new Error(`Read structured selector was outside [0-15] range.`);
|
|
481
|
-
}
|
|
476
|
+
throw new Error("Read structured selector was outside [0-15] range.");
|
|
482
477
|
}
|
|
483
478
|
writeListTuyaDataPointValues(dpValues) {
|
|
484
479
|
for (const dpValue of dpValues) {
|
|
@@ -486,8 +481,8 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
486
481
|
this.writeUInt8(dpValue.datatype);
|
|
487
482
|
const dataLen = dpValue.data.length;
|
|
488
483
|
// UInt16BE
|
|
489
|
-
this.writeUInt8((dataLen >> 8) &
|
|
490
|
-
this.writeUInt8(dataLen &
|
|
484
|
+
this.writeUInt8((dataLen >> 8) & 0xff);
|
|
485
|
+
this.writeUInt8(dataLen & 0xff);
|
|
491
486
|
this.writeBuffer(dpValue.data, dataLen);
|
|
492
487
|
}
|
|
493
488
|
}
|
|
@@ -503,7 +498,7 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
503
498
|
const data = this.readBuffer(len_lo + (len_hi << 8));
|
|
504
499
|
value.push({ dp, datatype, data });
|
|
505
500
|
}
|
|
506
|
-
catch
|
|
501
|
+
catch {
|
|
507
502
|
break;
|
|
508
503
|
}
|
|
509
504
|
}
|
|
@@ -527,46 +522,49 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
527
522
|
return value;
|
|
528
523
|
}
|
|
529
524
|
writeBigEndianUInt24(value) {
|
|
530
|
-
this.buffer.writeUIntBE(value, this.position, 3);
|
|
531
|
-
this.position += 3;
|
|
525
|
+
this.position = this.buffer.writeUIntBE(value, this.position, 3);
|
|
532
526
|
}
|
|
533
527
|
readBigEndianUInt24() {
|
|
534
528
|
const value = this.buffer.readUIntBE(this.position, 3);
|
|
535
529
|
this.position += 3;
|
|
536
530
|
return value;
|
|
537
531
|
}
|
|
538
|
-
//
|
|
539
|
-
// XXX: read only?
|
|
540
|
-
// }
|
|
532
|
+
// NOTE: writeMiStruct is not supported.
|
|
541
533
|
readMiStruct() {
|
|
542
534
|
const length = this.readUInt8();
|
|
543
535
|
const value = {};
|
|
544
|
-
if (length ===
|
|
536
|
+
if (length === UINT8_NON_VALUE) {
|
|
545
537
|
return value;
|
|
546
538
|
}
|
|
547
539
|
for (let i = 0; i < length; i++) {
|
|
548
540
|
const index = this.readUInt8();
|
|
549
541
|
const dataType = this.readUInt8();
|
|
550
542
|
value[index] = this.read(dataType, {});
|
|
551
|
-
|
|
543
|
+
const remaining = this.buffer.length - this.position;
|
|
544
|
+
if (remaining <= 1) {
|
|
545
|
+
if (remaining === 1) {
|
|
546
|
+
// Some Xiaomi structs have a trailing byte, skip it.
|
|
547
|
+
this.position += 1;
|
|
548
|
+
}
|
|
552
549
|
break;
|
|
553
550
|
}
|
|
554
551
|
}
|
|
555
552
|
return value;
|
|
556
553
|
}
|
|
557
|
-
//
|
|
554
|
+
// biome-ignore lint/suspicious/noExplicitAny: API
|
|
558
555
|
write(type, value, options) {
|
|
559
556
|
switch (type) {
|
|
560
557
|
case enums_1.DataType.NO_DATA:
|
|
561
558
|
case enums_1.DataType.UNKNOWN: {
|
|
562
559
|
return; // nothing to write
|
|
563
560
|
}
|
|
564
|
-
case enums_1.DataType.DATA8:
|
|
565
561
|
case enums_1.DataType.BOOLEAN:
|
|
562
|
+
case enums_1.DataType.DATA8:
|
|
566
563
|
case enums_1.DataType.BITMAP8:
|
|
567
564
|
case enums_1.DataType.UINT8:
|
|
568
565
|
case enums_1.DataType.ENUM8: {
|
|
569
|
-
|
|
566
|
+
this.writeUInt8(value);
|
|
567
|
+
break;
|
|
570
568
|
}
|
|
571
569
|
case enums_1.DataType.DATA16:
|
|
572
570
|
case enums_1.DataType.BITMAP16:
|
|
@@ -574,177 +572,219 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
574
572
|
case enums_1.DataType.ENUM16:
|
|
575
573
|
case enums_1.DataType.CLUSTER_ID:
|
|
576
574
|
case enums_1.DataType.ATTR_ID: {
|
|
577
|
-
|
|
575
|
+
this.writeUInt16(value);
|
|
576
|
+
break;
|
|
578
577
|
}
|
|
579
578
|
case enums_1.DataType.DATA24:
|
|
580
579
|
case enums_1.DataType.BITMAP24:
|
|
581
580
|
case enums_1.DataType.UINT24: {
|
|
582
|
-
|
|
581
|
+
this.writeUInt24(value);
|
|
582
|
+
break;
|
|
583
583
|
}
|
|
584
584
|
case enums_1.DataType.DATA32:
|
|
585
585
|
case enums_1.DataType.BITMAP32:
|
|
586
586
|
case enums_1.DataType.UINT32:
|
|
587
587
|
case enums_1.DataType.UTC:
|
|
588
588
|
case enums_1.DataType.BAC_OID: {
|
|
589
|
-
|
|
589
|
+
this.writeUInt32(value);
|
|
590
|
+
break;
|
|
590
591
|
}
|
|
591
592
|
case enums_1.DataType.DATA40:
|
|
592
593
|
case enums_1.DataType.BITMAP40:
|
|
593
594
|
case enums_1.DataType.UINT40: {
|
|
594
|
-
|
|
595
|
+
this.writeUInt40(value);
|
|
596
|
+
break;
|
|
595
597
|
}
|
|
596
598
|
case enums_1.DataType.DATA48:
|
|
597
599
|
case enums_1.DataType.BITMAP48:
|
|
598
600
|
case enums_1.DataType.UINT48: {
|
|
599
|
-
|
|
601
|
+
this.writeUInt48(value);
|
|
602
|
+
break;
|
|
600
603
|
}
|
|
601
604
|
case enums_1.DataType.DATA56:
|
|
602
605
|
case enums_1.DataType.BITMAP56:
|
|
603
606
|
case enums_1.DataType.UINT56: {
|
|
604
|
-
|
|
607
|
+
this.writeUInt56(value);
|
|
608
|
+
break;
|
|
605
609
|
}
|
|
606
610
|
case enums_1.DataType.DATA64:
|
|
607
611
|
case enums_1.DataType.BITMAP64:
|
|
608
612
|
case enums_1.DataType.UINT64: {
|
|
609
|
-
|
|
613
|
+
this.writeUInt64(value);
|
|
614
|
+
break;
|
|
610
615
|
}
|
|
611
616
|
case enums_1.DataType.INT8: {
|
|
612
|
-
|
|
617
|
+
this.writeInt8(value);
|
|
618
|
+
break;
|
|
613
619
|
}
|
|
614
620
|
case enums_1.DataType.INT16: {
|
|
615
|
-
|
|
621
|
+
this.writeInt16(value);
|
|
622
|
+
break;
|
|
616
623
|
}
|
|
617
624
|
case enums_1.DataType.INT24: {
|
|
618
|
-
|
|
625
|
+
this.writeInt24(value);
|
|
626
|
+
break;
|
|
619
627
|
}
|
|
620
628
|
case enums_1.DataType.INT32: {
|
|
621
|
-
|
|
629
|
+
this.writeInt32(value);
|
|
630
|
+
break;
|
|
622
631
|
}
|
|
623
632
|
case enums_1.DataType.INT40: {
|
|
624
|
-
|
|
633
|
+
this.writeInt40(value);
|
|
634
|
+
break;
|
|
625
635
|
}
|
|
626
636
|
case enums_1.DataType.INT48: {
|
|
627
|
-
|
|
637
|
+
this.writeInt48(value);
|
|
638
|
+
break;
|
|
628
639
|
}
|
|
629
640
|
case enums_1.DataType.INT56: {
|
|
630
|
-
|
|
641
|
+
this.writeInt56(value);
|
|
642
|
+
break;
|
|
631
643
|
}
|
|
632
644
|
case enums_1.DataType.INT64: {
|
|
633
|
-
|
|
645
|
+
this.writeInt64(value);
|
|
646
|
+
break;
|
|
634
647
|
}
|
|
635
648
|
// case DataType.SEMI_PREC: {
|
|
636
649
|
// // https://tc39.es/proposal-float16array/
|
|
637
650
|
// // not currently used
|
|
638
|
-
//
|
|
651
|
+
// this.writeSemiFloatLE(value);
|
|
652
|
+
// break;
|
|
639
653
|
// }
|
|
640
654
|
case enums_1.DataType.SINGLE_PREC: {
|
|
641
|
-
|
|
655
|
+
this.writeFloatLE(value);
|
|
656
|
+
break;
|
|
642
657
|
}
|
|
643
658
|
case enums_1.DataType.DOUBLE_PREC: {
|
|
644
|
-
|
|
659
|
+
this.writeDoubleLE(value);
|
|
660
|
+
break;
|
|
645
661
|
}
|
|
646
662
|
case enums_1.DataType.OCTET_STR: {
|
|
647
|
-
|
|
663
|
+
this.writeOctetStr(value);
|
|
664
|
+
break;
|
|
648
665
|
}
|
|
649
666
|
case enums_1.DataType.CHAR_STR: {
|
|
650
|
-
|
|
667
|
+
this.writeCharStr(value);
|
|
668
|
+
break;
|
|
651
669
|
}
|
|
652
670
|
case enums_1.DataType.LONG_OCTET_STR: {
|
|
653
|
-
|
|
671
|
+
this.writeLongOctetStr(value);
|
|
672
|
+
break;
|
|
654
673
|
}
|
|
655
674
|
case enums_1.DataType.LONG_CHAR_STR: {
|
|
656
|
-
|
|
675
|
+
this.writeLongCharStr(value);
|
|
676
|
+
break;
|
|
657
677
|
}
|
|
658
678
|
case enums_1.DataType.ARRAY:
|
|
659
679
|
case enums_1.DataType.SET:
|
|
660
680
|
case enums_1.DataType.BAG: {
|
|
661
|
-
|
|
681
|
+
this.writeArray(value);
|
|
682
|
+
break;
|
|
662
683
|
}
|
|
663
684
|
case enums_1.DataType.STRUCT: {
|
|
664
|
-
|
|
685
|
+
this.writeStruct(value);
|
|
686
|
+
break;
|
|
665
687
|
}
|
|
666
688
|
case enums_1.DataType.TOD: {
|
|
667
|
-
|
|
689
|
+
this.writeToD(value);
|
|
690
|
+
break;
|
|
668
691
|
}
|
|
669
692
|
case enums_1.DataType.DATE: {
|
|
670
|
-
|
|
693
|
+
this.writeDate(value);
|
|
694
|
+
break;
|
|
671
695
|
}
|
|
672
696
|
case enums_1.DataType.IEEE_ADDR: {
|
|
673
|
-
|
|
697
|
+
this.writeIeeeAddr(value);
|
|
698
|
+
break;
|
|
674
699
|
}
|
|
675
700
|
case enums_1.DataType.SEC_KEY: {
|
|
676
|
-
|
|
701
|
+
this.writeBuffer(value, SEC_KEY_LENGTH);
|
|
702
|
+
break;
|
|
677
703
|
}
|
|
678
704
|
case enums_1.BuffaloZclDataType.USE_DATA_TYPE: {
|
|
679
705
|
if (options.dataType == null) {
|
|
680
|
-
if (Buffer.isBuffer(value) || (0, utils_1.
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
else {
|
|
684
|
-
throw new Error('Cannot write USE_DATA_TYPE without dataType option specified');
|
|
706
|
+
if (Buffer.isBuffer(value) || (0, utils_1.isNumberArray)(value)) {
|
|
707
|
+
this.writeBuffer(value, value.length);
|
|
708
|
+
break;
|
|
685
709
|
}
|
|
710
|
+
throw new Error("Cannot write USE_DATA_TYPE without dataType option specified");
|
|
686
711
|
}
|
|
687
|
-
|
|
712
|
+
this.write(options.dataType, value, options);
|
|
713
|
+
break;
|
|
688
714
|
}
|
|
689
715
|
case enums_1.BuffaloZclDataType.LIST_UINT8: {
|
|
690
|
-
|
|
716
|
+
this.writeListUInt8(value);
|
|
717
|
+
break;
|
|
691
718
|
}
|
|
692
719
|
case enums_1.BuffaloZclDataType.LIST_UINT16: {
|
|
693
|
-
|
|
720
|
+
this.writeListUInt16(value);
|
|
721
|
+
break;
|
|
694
722
|
}
|
|
695
723
|
case enums_1.BuffaloZclDataType.LIST_UINT24: {
|
|
696
|
-
|
|
724
|
+
this.writeListUInt24(value);
|
|
725
|
+
break;
|
|
697
726
|
}
|
|
698
727
|
case enums_1.BuffaloZclDataType.LIST_UINT32: {
|
|
699
|
-
|
|
728
|
+
this.writeListUInt32(value);
|
|
729
|
+
break;
|
|
700
730
|
}
|
|
701
731
|
case enums_1.BuffaloZclDataType.LIST_ZONEINFO: {
|
|
702
|
-
|
|
732
|
+
this.writeListZoneInfo(value);
|
|
733
|
+
break;
|
|
703
734
|
}
|
|
704
735
|
case enums_1.BuffaloZclDataType.EXTENSION_FIELD_SETS: {
|
|
705
|
-
|
|
736
|
+
this.writeExtensionFieldSets(value);
|
|
737
|
+
break;
|
|
706
738
|
}
|
|
707
739
|
case enums_1.BuffaloZclDataType.LIST_THERMO_TRANSITIONS: {
|
|
708
|
-
|
|
740
|
+
this.writeListThermoTransitions(value);
|
|
741
|
+
break;
|
|
709
742
|
}
|
|
710
743
|
case enums_1.BuffaloZclDataType.BUFFER: {
|
|
711
744
|
// XXX: inconsistent with read that allows partial with options.length, here always "whole"
|
|
712
|
-
|
|
745
|
+
this.writeBuffer(value, value.length);
|
|
746
|
+
break;
|
|
713
747
|
}
|
|
714
|
-
case enums_1.BuffaloZclDataType.
|
|
715
|
-
|
|
748
|
+
case enums_1.BuffaloZclDataType.GPD_FRAME: {
|
|
749
|
+
this.writeGpdFrame(value);
|
|
750
|
+
break;
|
|
716
751
|
}
|
|
717
752
|
case enums_1.BuffaloZclDataType.STRUCTURED_SELECTOR: {
|
|
718
|
-
|
|
753
|
+
this.writeStructuredSelector(value);
|
|
754
|
+
break;
|
|
719
755
|
}
|
|
720
756
|
case enums_1.BuffaloZclDataType.LIST_TUYA_DATAPOINT_VALUES: {
|
|
721
|
-
|
|
757
|
+
this.writeListTuyaDataPointValues(value);
|
|
758
|
+
break;
|
|
722
759
|
}
|
|
723
760
|
case enums_1.BuffaloZclDataType.LIST_MIBOXER_ZONES: {
|
|
724
|
-
|
|
761
|
+
this.writeListMiboxerZones(value);
|
|
762
|
+
break;
|
|
725
763
|
}
|
|
726
764
|
case enums_1.BuffaloZclDataType.BIG_ENDIAN_UINT24: {
|
|
727
|
-
|
|
765
|
+
this.writeBigEndianUInt24(value);
|
|
766
|
+
break;
|
|
728
767
|
}
|
|
729
768
|
default: {
|
|
730
769
|
// In case the type is undefined, write it as a buffer to easily allow for custom types
|
|
731
770
|
// e.g. for https://github.com/Koenkk/zigbee-herdsman/issues/127
|
|
732
|
-
if (Buffer.isBuffer(value) || (0, utils_1.
|
|
733
|
-
|
|
771
|
+
if (Buffer.isBuffer(value) || (0, utils_1.isNumberArray)(value)) {
|
|
772
|
+
this.writeBuffer(value, value.length);
|
|
773
|
+
break;
|
|
734
774
|
}
|
|
775
|
+
throw new Error(`Write for '${type}' not available`);
|
|
735
776
|
}
|
|
736
777
|
}
|
|
737
|
-
throw new Error(`Write for '${type}' not available`);
|
|
738
778
|
}
|
|
739
|
-
//
|
|
779
|
+
// biome-ignore lint/suspicious/noExplicitAny: API
|
|
740
780
|
read(type, options) {
|
|
741
781
|
switch (type) {
|
|
742
782
|
case enums_1.DataType.NO_DATA:
|
|
743
783
|
case enums_1.DataType.UNKNOWN: {
|
|
744
784
|
return; // nothing to write
|
|
745
785
|
}
|
|
746
|
-
case enums_1.DataType.DATA8:
|
|
747
786
|
case enums_1.DataType.BOOLEAN:
|
|
787
|
+
case enums_1.DataType.DATA8:
|
|
748
788
|
case enums_1.DataType.BITMAP8:
|
|
749
789
|
case enums_1.DataType.UINT8:
|
|
750
790
|
case enums_1.DataType.ENUM8: {
|
|
@@ -773,22 +813,22 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
773
813
|
case enums_1.DataType.DATA40:
|
|
774
814
|
case enums_1.DataType.BITMAP40:
|
|
775
815
|
case enums_1.DataType.UINT40: {
|
|
776
|
-
return this.
|
|
816
|
+
return this.readUInt40();
|
|
777
817
|
}
|
|
778
818
|
case enums_1.DataType.DATA48:
|
|
779
819
|
case enums_1.DataType.BITMAP48:
|
|
780
820
|
case enums_1.DataType.UINT48: {
|
|
781
|
-
return this.
|
|
821
|
+
return this.readUInt48();
|
|
782
822
|
}
|
|
783
823
|
case enums_1.DataType.DATA56:
|
|
784
824
|
case enums_1.DataType.BITMAP56:
|
|
785
825
|
case enums_1.DataType.UINT56: {
|
|
786
|
-
return this.
|
|
826
|
+
return this.readUInt56();
|
|
787
827
|
}
|
|
788
828
|
case enums_1.DataType.DATA64:
|
|
789
829
|
case enums_1.DataType.BITMAP64:
|
|
790
830
|
case enums_1.DataType.UINT64: {
|
|
791
|
-
return this.
|
|
831
|
+
return this.readUInt64();
|
|
792
832
|
}
|
|
793
833
|
case enums_1.DataType.INT8: {
|
|
794
834
|
return this.readInt8();
|
|
@@ -803,16 +843,16 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
803
843
|
return this.readInt32();
|
|
804
844
|
}
|
|
805
845
|
case enums_1.DataType.INT40: {
|
|
806
|
-
return this.
|
|
846
|
+
return this.readInt40();
|
|
807
847
|
}
|
|
808
848
|
case enums_1.DataType.INT48: {
|
|
809
849
|
return this.readInt48();
|
|
810
850
|
}
|
|
811
851
|
case enums_1.DataType.INT56: {
|
|
812
|
-
return this.
|
|
852
|
+
return this.readInt56();
|
|
813
853
|
}
|
|
814
854
|
case enums_1.DataType.INT64: {
|
|
815
|
-
return this.
|
|
855
|
+
return this.readInt64();
|
|
816
856
|
}
|
|
817
857
|
// case DataType.SEMI_PREC: {
|
|
818
858
|
// // https://tc39.es/proposal-float16array/
|
|
@@ -865,31 +905,31 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
865
905
|
}
|
|
866
906
|
case enums_1.BuffaloZclDataType.LIST_UINT8: {
|
|
867
907
|
if (options.length == null) {
|
|
868
|
-
throw new Error(
|
|
908
|
+
throw new Error("Cannot read LIST_UINT8 without length option specified");
|
|
869
909
|
}
|
|
870
910
|
return this.readListUInt8(options.length);
|
|
871
911
|
}
|
|
872
912
|
case enums_1.BuffaloZclDataType.LIST_UINT16: {
|
|
873
913
|
if (options.length == null) {
|
|
874
|
-
throw new Error(
|
|
914
|
+
throw new Error("Cannot read LIST_UINT16 without length option specified");
|
|
875
915
|
}
|
|
876
916
|
return this.readListUInt16(options.length);
|
|
877
917
|
}
|
|
878
918
|
case enums_1.BuffaloZclDataType.LIST_UINT24: {
|
|
879
919
|
if (options.length == null) {
|
|
880
|
-
throw new Error(
|
|
920
|
+
throw new Error("Cannot read LIST_UINT24 without length option specified");
|
|
881
921
|
}
|
|
882
922
|
return this.readListUInt24(options.length);
|
|
883
923
|
}
|
|
884
924
|
case enums_1.BuffaloZclDataType.LIST_UINT32: {
|
|
885
925
|
if (options.length == null) {
|
|
886
|
-
throw new Error(
|
|
926
|
+
throw new Error("Cannot read LIST_UINT32 without length option specified");
|
|
887
927
|
}
|
|
888
928
|
return this.readListUInt32(options.length);
|
|
889
929
|
}
|
|
890
930
|
case enums_1.BuffaloZclDataType.LIST_ZONEINFO: {
|
|
891
931
|
if (options.length == null) {
|
|
892
|
-
throw new Error(
|
|
932
|
+
throw new Error("Cannot read LIST_ZONEINFO without length option specified");
|
|
893
933
|
}
|
|
894
934
|
return this.readListZoneInfo(options.length);
|
|
895
935
|
}
|
|
@@ -903,8 +943,8 @@ class BuffaloZcl extends buffalo_1.Buffalo {
|
|
|
903
943
|
// if length option not specified, read the whole buffer
|
|
904
944
|
return this.readBuffer(options.length ?? this.buffer.length);
|
|
905
945
|
}
|
|
906
|
-
case enums_1.BuffaloZclDataType.
|
|
907
|
-
return this.
|
|
946
|
+
case enums_1.BuffaloZclDataType.GPD_FRAME: {
|
|
947
|
+
return this.readGpdFrame(options);
|
|
908
948
|
}
|
|
909
949
|
case enums_1.BuffaloZclDataType.STRUCTURED_SELECTOR: {
|
|
910
950
|
return this.readStructuredSelector();
|