@matter/types 0.13.0-alpha.0-20250304-d4a7592a4 → 0.13.0-alpha.0-20250311-3eb0af5f2
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/dist/cjs/clusters/access-control.d.ts +3972 -522
- package/dist/cjs/clusters/access-control.d.ts.map +1 -1
- package/dist/cjs/clusters/access-control.js +640 -116
- package/dist/cjs/clusters/access-control.js.map +2 -2
- package/dist/cjs/clusters/actions.d.ts +10 -9
- package/dist/cjs/clusters/actions.d.ts.map +1 -1
- package/dist/cjs/clusters/actions.js +4 -4
- package/dist/cjs/clusters/actions.js.map +1 -1
- package/dist/cjs/clusters/administrator-commissioning.d.ts +156 -129
- package/dist/cjs/clusters/administrator-commissioning.d.ts.map +1 -1
- package/dist/cjs/clusters/administrator-commissioning.js +40 -35
- package/dist/cjs/clusters/administrator-commissioning.js.map +1 -1
- package/dist/cjs/clusters/alarm-base.d.ts +9 -12
- package/dist/cjs/clusters/alarm-base.d.ts.map +1 -1
- package/dist/cjs/clusters/alarm-base.js +3 -4
- package/dist/cjs/clusters/alarm-base.js.map +1 -1
- package/dist/cjs/clusters/application-launcher.d.ts +27 -15
- package/dist/cjs/clusters/application-launcher.d.ts.map +1 -1
- package/dist/cjs/clusters/application-launcher.js +7 -4
- package/dist/cjs/clusters/application-launcher.js.map +1 -1
- package/dist/cjs/clusters/ballast-configuration.d.ts +7 -7
- package/dist/cjs/clusters/ballast-configuration.js +7 -7
- package/dist/cjs/clusters/basic-information.d.ts +29 -21
- package/dist/cjs/clusters/basic-information.d.ts.map +1 -1
- package/dist/cjs/clusters/basic-information.js +29 -21
- package/dist/cjs/clusters/basic-information.js.map +1 -1
- package/dist/cjs/clusters/bridged-device-basic-information.d.ts +816 -34
- package/dist/cjs/clusters/bridged-device-basic-information.d.ts.map +1 -1
- package/dist/cjs/clusters/bridged-device-basic-information.js +182 -29
- package/dist/cjs/clusters/bridged-device-basic-information.js.map +2 -2
- package/dist/cjs/clusters/channel.d.ts +115 -124
- package/dist/cjs/clusters/channel.d.ts.map +1 -1
- package/dist/cjs/clusters/channel.js +15 -16
- package/dist/cjs/clusters/channel.js.map +1 -1
- package/dist/cjs/clusters/color-control.d.ts +3076 -1366
- package/dist/cjs/clusters/color-control.d.ts.map +1 -1
- package/dist/cjs/clusters/color-control.js +423 -357
- package/dist/cjs/clusters/color-control.js.map +2 -2
- package/dist/cjs/clusters/commissioner-control.d.ts +268 -0
- package/dist/cjs/clusters/commissioner-control.d.ts.map +1 -0
- package/dist/cjs/clusters/commissioner-control.js +194 -0
- package/dist/cjs/clusters/commissioner-control.js.map +6 -0
- package/dist/cjs/clusters/content-control.d.ts +497 -221
- package/dist/cjs/clusters/content-control.d.ts.map +1 -1
- package/dist/cjs/clusters/content-control.js +59 -41
- package/dist/cjs/clusters/content-control.js.map +2 -2
- package/dist/cjs/clusters/content-launcher.d.ts +248 -215
- package/dist/cjs/clusters/content-launcher.d.ts.map +1 -1
- package/dist/cjs/clusters/content-launcher.js +16 -15
- package/dist/cjs/clusters/content-launcher.js.map +1 -1
- package/dist/cjs/clusters/device-energy-management-mode.d.ts +76 -333
- package/dist/cjs/clusters/device-energy-management-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/device-energy-management-mode.js +26 -73
- package/dist/cjs/clusters/device-energy-management-mode.js.map +1 -1
- package/dist/cjs/clusters/device-energy-management.d.ts +1299 -930
- package/dist/cjs/clusters/device-energy-management.d.ts.map +1 -1
- package/dist/cjs/clusters/device-energy-management.js +189 -160
- package/dist/cjs/clusters/device-energy-management.js.map +2 -2
- package/dist/cjs/clusters/dishwasher-alarm.d.ts +14 -17
- package/dist/cjs/clusters/dishwasher-alarm.d.ts.map +1 -1
- package/dist/cjs/clusters/dishwasher-alarm.js +3 -4
- package/dist/cjs/clusters/dishwasher-alarm.js.map +1 -1
- package/dist/cjs/clusters/dishwasher-mode.d.ts +65 -105
- package/dist/cjs/clusters/dishwasher-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/dishwasher-mode.js +12 -24
- package/dist/cjs/clusters/dishwasher-mode.js.map +1 -1
- package/dist/cjs/clusters/door-lock.d.ts +2751 -5427
- package/dist/cjs/clusters/door-lock.d.ts.map +1 -1
- package/dist/cjs/clusters/door-lock.js +480 -802
- package/dist/cjs/clusters/door-lock.js.map +2 -2
- package/dist/cjs/clusters/ecosystem-information.d.ts +186 -0
- package/dist/cjs/clusters/ecosystem-information.d.ts.map +1 -0
- package/dist/cjs/clusters/ecosystem-information.js +154 -0
- package/dist/cjs/clusters/ecosystem-information.js.map +6 -0
- package/dist/cjs/clusters/electrical-energy-measurement.d.ts +363 -368
- package/dist/cjs/clusters/electrical-energy-measurement.d.ts.map +1 -1
- package/dist/cjs/clusters/electrical-energy-measurement.js +15 -16
- package/dist/cjs/clusters/electrical-energy-measurement.js.map +1 -1
- package/dist/cjs/clusters/energy-evse-mode.d.ts +92 -330
- package/dist/cjs/clusters/energy-evse-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/energy-evse-mode.js +25 -72
- package/dist/cjs/clusters/energy-evse-mode.js.map +1 -1
- package/dist/cjs/clusters/energy-evse.d.ts +557 -273
- package/dist/cjs/clusters/energy-evse.d.ts.map +1 -1
- package/dist/cjs/clusters/energy-evse.js +107 -55
- package/dist/cjs/clusters/energy-evse.js.map +1 -1
- package/dist/cjs/clusters/energy-preference.d.ts +76 -76
- package/dist/cjs/clusters/energy-preference.d.ts.map +1 -1
- package/dist/cjs/clusters/energy-preference.js +15 -18
- package/dist/cjs/clusters/energy-preference.js.map +1 -1
- package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts +3 -9
- package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
- package/dist/cjs/clusters/ethernet-network-diagnostics.js +1 -3
- package/dist/cjs/clusters/ethernet-network-diagnostics.js.map +1 -1
- package/dist/cjs/clusters/fan-control.d.ts +12 -12
- package/dist/cjs/clusters/fan-control.js +4 -4
- package/dist/cjs/clusters/fixed-label.d.ts +7 -2
- package/dist/cjs/clusters/fixed-label.d.ts.map +1 -1
- package/dist/cjs/clusters/fixed-label.js.map +1 -1
- package/dist/cjs/clusters/flow-measurement.d.ts +4 -4
- package/dist/cjs/clusters/flow-measurement.d.ts.map +1 -1
- package/dist/cjs/clusters/flow-measurement.js +6 -6
- package/dist/cjs/clusters/flow-measurement.js.map +1 -1
- package/dist/cjs/clusters/general-commissioning.d.ts +1416 -111
- package/dist/cjs/clusters/general-commissioning.d.ts.map +1 -1
- package/dist/cjs/clusters/general-commissioning.js +272 -54
- package/dist/cjs/clusters/general-commissioning.js.map +2 -2
- package/dist/cjs/clusters/general-diagnostics.d.ts +115 -122
- package/dist/cjs/clusters/general-diagnostics.d.ts.map +1 -1
- package/dist/cjs/clusters/general-diagnostics.js +31 -33
- package/dist/cjs/clusters/general-diagnostics.js.map +1 -1
- package/dist/cjs/clusters/group-key-management.d.ts +72 -82
- package/dist/cjs/clusters/group-key-management.d.ts.map +1 -1
- package/dist/cjs/clusters/group-key-management.js +19 -22
- package/dist/cjs/clusters/group-key-management.js.map +1 -1
- package/dist/cjs/clusters/groups.d.ts +9 -6
- package/dist/cjs/clusters/groups.d.ts.map +1 -1
- package/dist/cjs/clusters/groups.js +3 -2
- package/dist/cjs/clusters/groups.js.map +1 -1
- package/dist/cjs/clusters/icd-management.d.ts +223 -66
- package/dist/cjs/clusters/icd-management.d.ts.map +1 -1
- package/dist/cjs/clusters/icd-management.js +61 -23
- package/dist/cjs/clusters/icd-management.js.map +2 -2
- package/dist/cjs/clusters/identify.d.ts +12 -13
- package/dist/cjs/clusters/identify.d.ts.map +1 -1
- package/dist/cjs/clusters/identify.js +9 -10
- package/dist/cjs/clusters/identify.js.map +1 -1
- package/dist/cjs/clusters/illuminance-measurement.d.ts +7 -8
- package/dist/cjs/clusters/illuminance-measurement.d.ts.map +1 -1
- package/dist/cjs/clusters/illuminance-measurement.js +9 -10
- package/dist/cjs/clusters/illuminance-measurement.js.map +1 -1
- package/dist/cjs/clusters/index.d.ts +11 -1
- package/dist/cjs/clusters/index.d.ts.map +1 -1
- package/dist/cjs/clusters/index.js +33 -3
- package/dist/cjs/clusters/index.js.map +1 -1
- package/dist/cjs/clusters/joint-fabric-datastore-cluster.d.ts +1239 -0
- package/dist/cjs/clusters/joint-fabric-datastore-cluster.d.ts.map +1 -0
- package/dist/cjs/clusters/joint-fabric-datastore-cluster.js +490 -0
- package/dist/cjs/clusters/joint-fabric-datastore-cluster.js.map +6 -0
- package/dist/cjs/clusters/joint-fabric-pki.d.ts +174 -0
- package/dist/cjs/clusters/joint-fabric-pki.d.ts.map +1 -0
- package/dist/cjs/clusters/joint-fabric-pki.js +120 -0
- package/dist/cjs/clusters/joint-fabric-pki.js.map +6 -0
- package/dist/cjs/clusters/keypad-input.d.ts +2 -2
- package/dist/cjs/clusters/laundry-dryer-controls.d.ts +6 -7
- package/dist/cjs/clusters/laundry-dryer-controls.d.ts.map +1 -1
- package/dist/cjs/clusters/laundry-dryer-controls.js +5 -9
- package/dist/cjs/clusters/laundry-dryer-controls.js.map +1 -1
- package/dist/cjs/clusters/laundry-washer-controls.d.ts +74 -62
- package/dist/cjs/clusters/laundry-washer-controls.d.ts.map +1 -1
- package/dist/cjs/clusters/laundry-washer-controls.js +26 -25
- package/dist/cjs/clusters/laundry-washer-controls.js.map +1 -1
- package/dist/cjs/clusters/laundry-washer-mode.d.ts +69 -109
- package/dist/cjs/clusters/laundry-washer-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/laundry-washer-mode.js +13 -25
- package/dist/cjs/clusters/laundry-washer-mode.js.map +1 -1
- package/dist/cjs/clusters/level-control.d.ts +209 -70
- package/dist/cjs/clusters/level-control.d.ts.map +1 -1
- package/dist/cjs/clusters/level-control.js +45 -12
- package/dist/cjs/clusters/level-control.js.map +1 -1
- package/dist/cjs/clusters/localization-configuration.d.ts +5 -6
- package/dist/cjs/clusters/localization-configuration.d.ts.map +1 -1
- package/dist/cjs/clusters/localization-configuration.js +5 -6
- package/dist/cjs/clusters/localization-configuration.js.map +1 -1
- package/dist/cjs/clusters/media-input.d.ts +9 -6
- package/dist/cjs/clusters/media-input.d.ts.map +1 -1
- package/dist/cjs/clusters/media-input.js +3 -2
- package/dist/cjs/clusters/media-input.js.map +1 -1
- package/dist/cjs/clusters/media-playback.d.ts +29 -24
- package/dist/cjs/clusters/media-playback.d.ts.map +1 -1
- package/dist/cjs/clusters/media-playback.js +5 -4
- package/dist/cjs/clusters/media-playback.js.map +1 -1
- package/dist/cjs/clusters/microwave-oven-control.d.ts +54 -48
- package/dist/cjs/clusters/microwave-oven-control.d.ts.map +1 -1
- package/dist/cjs/clusters/microwave-oven-control.js +19 -17
- package/dist/cjs/clusters/microwave-oven-control.js.map +1 -1
- package/dist/cjs/clusters/microwave-oven-mode.d.ts +63 -69
- package/dist/cjs/clusters/microwave-oven-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/microwave-oven-mode.js +14 -11
- package/dist/cjs/clusters/microwave-oven-mode.js.map +1 -1
- package/dist/cjs/clusters/mode-base.d.ts +27 -46
- package/dist/cjs/clusters/mode-base.d.ts.map +1 -1
- package/dist/cjs/clusters/mode-base.js +9 -10
- package/dist/cjs/clusters/mode-base.js.map +1 -1
- package/dist/cjs/clusters/mode-select.d.ts +33 -27
- package/dist/cjs/clusters/mode-select.d.ts.map +1 -1
- package/dist/cjs/clusters/mode-select.js +14 -13
- package/dist/cjs/clusters/mode-select.js.map +1 -1
- package/dist/cjs/clusters/network-commissioning.d.ts +263 -240
- package/dist/cjs/clusters/network-commissioning.d.ts.map +1 -1
- package/dist/cjs/clusters/network-commissioning.js +46 -39
- package/dist/cjs/clusters/network-commissioning.js.map +1 -1
- package/dist/cjs/clusters/occupancy-sensing.d.ts +1002 -63
- package/dist/cjs/clusters/occupancy-sensing.d.ts.map +1 -1
- package/dist/cjs/clusters/occupancy-sensing.js +278 -63
- package/dist/cjs/clusters/occupancy-sensing.js.map +2 -2
- package/dist/cjs/clusters/on-off.d.ts +18 -24
- package/dist/cjs/clusters/on-off.d.ts.map +1 -1
- package/dist/cjs/clusters/on-off.js +3 -4
- package/dist/cjs/clusters/on-off.js.map +1 -1
- package/dist/cjs/clusters/operational-credentials.d.ts +98 -85
- package/dist/cjs/clusters/operational-credentials.d.ts.map +1 -1
- package/dist/cjs/clusters/operational-credentials.js +56 -49
- package/dist/cjs/clusters/operational-credentials.js.map +1 -1
- package/dist/cjs/clusters/operational-state.d.ts +136 -57
- package/dist/cjs/clusters/operational-state.d.ts.map +1 -1
- package/dist/cjs/clusters/operational-state.js +62 -36
- package/dist/cjs/clusters/operational-state.js.map +2 -2
- package/dist/cjs/clusters/ota-software-update-provider.d.ts +43 -42
- package/dist/cjs/clusters/ota-software-update-provider.d.ts.map +1 -1
- package/dist/cjs/clusters/ota-software-update-provider.js +20 -19
- package/dist/cjs/clusters/ota-software-update-provider.js.map +1 -1
- package/dist/cjs/clusters/ota-software-update-requestor.d.ts +6 -10
- package/dist/cjs/clusters/ota-software-update-requestor.d.ts.map +1 -1
- package/dist/cjs/clusters/ota-software-update-requestor.js +4 -6
- package/dist/cjs/clusters/ota-software-update-requestor.js.map +1 -1
- package/dist/cjs/clusters/oven-cavity-operational-state.d.ts +44 -154
- package/dist/cjs/clusters/oven-cavity-operational-state.d.ts.map +1 -1
- package/dist/cjs/clusters/oven-cavity-operational-state.js +39 -156
- package/dist/cjs/clusters/oven-cavity-operational-state.js.map +1 -1
- package/dist/cjs/clusters/oven-mode.d.ts +79 -349
- package/dist/cjs/clusters/oven-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/oven-mode.js +26 -82
- package/dist/cjs/clusters/oven-mode.js.map +1 -1
- package/dist/cjs/clusters/power-source.d.ts +169 -44
- package/dist/cjs/clusters/power-source.d.ts.map +1 -1
- package/dist/cjs/clusters/power-source.js +40 -16
- package/dist/cjs/clusters/power-source.js.map +1 -1
- package/dist/cjs/clusters/pressure-measurement.js +2 -2
- package/dist/cjs/clusters/pressure-measurement.js.map +1 -1
- package/dist/cjs/clusters/pump-configuration-and-control.d.ts +73 -63
- package/dist/cjs/clusters/pump-configuration-and-control.d.ts.map +1 -1
- package/dist/cjs/clusters/pump-configuration-and-control.js +19 -20
- package/dist/cjs/clusters/pump-configuration-and-control.js.map +1 -1
- package/dist/cjs/clusters/refrigerator-alarm.d.ts +2 -1
- package/dist/cjs/clusters/refrigerator-alarm.d.ts.map +1 -1
- package/dist/cjs/clusters/refrigerator-alarm.js.map +1 -1
- package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +59 -91
- package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +11 -19
- package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
- package/dist/cjs/clusters/relative-humidity-measurement.js +1 -1
- package/dist/cjs/clusters/relative-humidity-measurement.js.map +1 -1
- package/dist/cjs/clusters/rvc-clean-mode.d.ts +59 -103
- package/dist/cjs/clusters/rvc-clean-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/rvc-clean-mode.js +11 -15
- package/dist/cjs/clusters/rvc-clean-mode.js.map +1 -1
- package/dist/cjs/clusters/rvc-operational-state.d.ts +81 -25
- package/dist/cjs/clusters/rvc-operational-state.d.ts.map +1 -1
- package/dist/cjs/clusters/rvc-operational-state.js +49 -20
- package/dist/cjs/clusters/rvc-operational-state.js.map +1 -1
- package/dist/cjs/clusters/rvc-run-mode.d.ts +85 -129
- package/dist/cjs/clusters/rvc-run-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/rvc-run-mode.js +16 -15
- package/dist/cjs/clusters/rvc-run-mode.js.map +1 -1
- package/dist/cjs/clusters/scenes-management.d.ts +328 -181
- package/dist/cjs/clusters/scenes-management.d.ts.map +1 -1
- package/dist/cjs/clusters/scenes-management.js +37 -22
- package/dist/cjs/clusters/scenes-management.js.map +1 -1
- package/dist/cjs/clusters/service-area.d.ts +2052 -0
- package/dist/cjs/clusters/service-area.d.ts.map +1 -0
- package/dist/cjs/clusters/service-area.js +582 -0
- package/dist/cjs/clusters/service-area.js.map +6 -0
- package/dist/cjs/clusters/smoke-co-alarm.d.ts +10 -18
- package/dist/cjs/clusters/smoke-co-alarm.d.ts.map +1 -1
- package/dist/cjs/clusters/smoke-co-alarm.js +2 -3
- package/dist/cjs/clusters/smoke-co-alarm.js.map +1 -1
- package/dist/cjs/clusters/switch.d.ts +478 -191
- package/dist/cjs/clusters/switch.d.ts.map +1 -1
- package/dist/cjs/clusters/switch.js +145 -57
- package/dist/cjs/clusters/switch.js.map +1 -1
- package/dist/cjs/clusters/target-navigator.d.ts +1 -1
- package/dist/cjs/clusters/target-navigator.js +1 -1
- package/dist/cjs/clusters/thermostat.d.ts +3877 -830
- package/dist/cjs/clusters/thermostat.d.ts.map +1 -1
- package/dist/cjs/clusters/thermostat.js +841 -159
- package/dist/cjs/clusters/thermostat.js.map +2 -2
- package/dist/cjs/clusters/thread-border-router-management.d.ts +711 -0
- package/dist/cjs/clusters/thread-border-router-management.d.ts.map +1 -0
- package/dist/cjs/clusters/thread-border-router-management.js +265 -0
- package/dist/cjs/clusters/thread-border-router-management.js.map +6 -0
- package/dist/cjs/clusters/thread-network-diagnostics.d.ts +81 -55
- package/dist/cjs/clusters/thread-network-diagnostics.d.ts.map +1 -1
- package/dist/cjs/clusters/thread-network-diagnostics.js +32 -21
- package/dist/cjs/clusters/thread-network-diagnostics.js.map +1 -1
- package/dist/cjs/clusters/thread-network-directory.d.ts +250 -0
- package/dist/cjs/clusters/thread-network-directory.d.ts.map +1 -0
- package/dist/cjs/clusters/thread-network-directory.js +187 -0
- package/dist/cjs/clusters/thread-network-directory.js.map +6 -0
- package/dist/cjs/clusters/time-synchronization.d.ts +101 -76
- package/dist/cjs/clusters/time-synchronization.d.ts.map +1 -1
- package/dist/cjs/clusters/time-synchronization.js +30 -23
- package/dist/cjs/clusters/time-synchronization.js.map +1 -1
- package/dist/cjs/clusters/unit-localization.d.ts +3 -4
- package/dist/cjs/clusters/unit-localization.d.ts.map +1 -1
- package/dist/cjs/clusters/unit-localization.js.map +1 -1
- package/dist/cjs/clusters/user-label.d.ts +2 -1
- package/dist/cjs/clusters/user-label.d.ts.map +1 -1
- package/dist/cjs/clusters/user-label.js.map +1 -1
- package/dist/cjs/clusters/water-heater-management.d.ts +1371 -0
- package/dist/cjs/clusters/water-heater-management.d.ts.map +1 -0
- package/dist/cjs/clusters/water-heater-management.js +336 -0
- package/dist/cjs/clusters/water-heater-management.js.map +6 -0
- package/dist/cjs/clusters/water-heater-mode.d.ts +491 -0
- package/dist/cjs/clusters/water-heater-mode.d.ts.map +1 -0
- package/dist/cjs/clusters/water-heater-mode.js +195 -0
- package/dist/cjs/clusters/water-heater-mode.js.map +6 -0
- package/dist/cjs/clusters/water-tank-level-monitoring.d.ts +162 -0
- package/dist/cjs/clusters/water-tank-level-monitoring.d.ts.map +1 -0
- package/dist/cjs/clusters/water-tank-level-monitoring.js +47 -0
- package/dist/cjs/clusters/water-tank-level-monitoring.js.map +6 -0
- package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts +20 -27
- package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
- package/dist/cjs/clusters/wi-fi-network-diagnostics.js +6 -8
- package/dist/cjs/clusters/wi-fi-network-diagnostics.js.map +1 -1
- package/dist/cjs/clusters/wi-fi-network-management.d.ts +91 -0
- package/dist/cjs/clusters/wi-fi-network-management.d.ts.map +1 -0
- package/dist/cjs/clusters/wi-fi-network-management.js +122 -0
- package/dist/cjs/clusters/wi-fi-network-management.js.map +6 -0
- package/dist/cjs/clusters/window-covering.d.ts +66 -78
- package/dist/cjs/clusters/window-covering.d.ts.map +1 -1
- package/dist/cjs/clusters/window-covering.js +26 -37
- package/dist/cjs/clusters/window-covering.js.map +1 -1
- package/dist/cjs/globals/AtomicAttributeStatus.d.ts +34 -0
- package/dist/cjs/globals/AtomicAttributeStatus.d.ts.map +1 -0
- package/dist/cjs/globals/AtomicAttributeStatus.js +46 -0
- package/dist/cjs/globals/AtomicAttributeStatus.js.map +6 -0
- package/dist/cjs/globals/AtomicRequestType.d.ts +24 -0
- package/dist/cjs/globals/AtomicRequestType.d.ts.map +1 -0
- package/dist/cjs/globals/AtomicRequestType.js +35 -0
- package/dist/cjs/globals/AtomicRequestType.js.map +6 -0
- package/dist/cjs/globals/Locationdesc.d.ts +79 -0
- package/dist/cjs/globals/Locationdesc.d.ts.map +1 -0
- package/dist/cjs/globals/Locationdesc.js +89 -0
- package/dist/cjs/globals/Locationdesc.js.map +6 -0
- package/dist/cjs/globals/Priority.d.ts +1 -1
- package/dist/cjs/globals/Semtag.d.ts +6 -6
- package/dist/cjs/globals/Semtag.js +4 -4
- package/dist/cjs/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
- package/dist/cjs/globals/Status.d.ts +18 -3
- package/dist/cjs/globals/Status.d.ts.map +1 -1
- package/dist/cjs/globals/Status.js +3 -1
- package/dist/cjs/globals/Status.js.map +1 -1
- package/dist/cjs/globals/Tod.d.ts +2 -2
- package/dist/cjs/globals/index.d.ts +3 -0
- package/dist/cjs/globals/index.d.ts.map +1 -1
- package/dist/cjs/globals/index.js +3 -0
- package/dist/cjs/globals/index.js.map +1 -1
- package/dist/cjs/schema/QrCodeSchema.d.ts.map +1 -1
- package/dist/cjs/schema/QrCodeSchema.js +4 -1
- package/dist/cjs/schema/QrCodeSchema.js.map +1 -1
- package/dist/esm/clusters/access-control.d.ts +3972 -522
- package/dist/esm/clusters/access-control.d.ts.map +1 -1
- package/dist/esm/clusters/access-control.js +645 -120
- package/dist/esm/clusters/access-control.js.map +2 -2
- package/dist/esm/clusters/actions.d.ts +10 -9
- package/dist/esm/clusters/actions.d.ts.map +1 -1
- package/dist/esm/clusters/actions.js +4 -4
- package/dist/esm/clusters/actions.js.map +1 -1
- package/dist/esm/clusters/administrator-commissioning.d.ts +156 -129
- package/dist/esm/clusters/administrator-commissioning.d.ts.map +1 -1
- package/dist/esm/clusters/administrator-commissioning.js +40 -35
- package/dist/esm/clusters/administrator-commissioning.js.map +1 -1
- package/dist/esm/clusters/alarm-base.d.ts +9 -12
- package/dist/esm/clusters/alarm-base.d.ts.map +1 -1
- package/dist/esm/clusters/alarm-base.js +3 -4
- package/dist/esm/clusters/alarm-base.js.map +1 -1
- package/dist/esm/clusters/application-launcher.d.ts +27 -15
- package/dist/esm/clusters/application-launcher.d.ts.map +1 -1
- package/dist/esm/clusters/application-launcher.js +7 -4
- package/dist/esm/clusters/application-launcher.js.map +1 -1
- package/dist/esm/clusters/ballast-configuration.d.ts +7 -7
- package/dist/esm/clusters/ballast-configuration.js +7 -7
- package/dist/esm/clusters/basic-information.d.ts +29 -21
- package/dist/esm/clusters/basic-information.d.ts.map +1 -1
- package/dist/esm/clusters/basic-information.js +29 -21
- package/dist/esm/clusters/basic-information.js.map +1 -1
- package/dist/esm/clusters/bridged-device-basic-information.d.ts +816 -34
- package/dist/esm/clusters/bridged-device-basic-information.d.ts.map +1 -1
- package/dist/esm/clusters/bridged-device-basic-information.js +188 -32
- package/dist/esm/clusters/bridged-device-basic-information.js.map +2 -2
- package/dist/esm/clusters/channel.d.ts +115 -124
- package/dist/esm/clusters/channel.d.ts.map +1 -1
- package/dist/esm/clusters/channel.js +15 -16
- package/dist/esm/clusters/channel.js.map +1 -1
- package/dist/esm/clusters/color-control.d.ts +3076 -1366
- package/dist/esm/clusters/color-control.d.ts.map +1 -1
- package/dist/esm/clusters/color-control.js +424 -358
- package/dist/esm/clusters/color-control.js.map +2 -2
- package/dist/esm/clusters/commissioner-control.d.ts +268 -0
- package/dist/esm/clusters/commissioner-control.d.ts.map +1 -0
- package/dist/esm/clusters/commissioner-control.js +174 -0
- package/dist/esm/clusters/commissioner-control.js.map +6 -0
- package/dist/esm/clusters/content-control.d.ts +497 -221
- package/dist/esm/clusters/content-control.d.ts.map +1 -1
- package/dist/esm/clusters/content-control.js +60 -42
- package/dist/esm/clusters/content-control.js.map +2 -2
- package/dist/esm/clusters/content-launcher.d.ts +248 -215
- package/dist/esm/clusters/content-launcher.d.ts.map +1 -1
- package/dist/esm/clusters/content-launcher.js +16 -15
- package/dist/esm/clusters/content-launcher.js.map +1 -1
- package/dist/esm/clusters/device-energy-management-mode.d.ts +76 -333
- package/dist/esm/clusters/device-energy-management-mode.d.ts.map +1 -1
- package/dist/esm/clusters/device-energy-management-mode.js +26 -80
- package/dist/esm/clusters/device-energy-management-mode.js.map +1 -1
- package/dist/esm/clusters/device-energy-management.d.ts +1299 -930
- package/dist/esm/clusters/device-energy-management.d.ts.map +1 -1
- package/dist/esm/clusters/device-energy-management.js +189 -160
- package/dist/esm/clusters/device-energy-management.js.map +2 -2
- package/dist/esm/clusters/dishwasher-alarm.d.ts +14 -17
- package/dist/esm/clusters/dishwasher-alarm.d.ts.map +1 -1
- package/dist/esm/clusters/dishwasher-alarm.js +3 -4
- package/dist/esm/clusters/dishwasher-alarm.js.map +1 -1
- package/dist/esm/clusters/dishwasher-mode.d.ts +65 -105
- package/dist/esm/clusters/dishwasher-mode.d.ts.map +1 -1
- package/dist/esm/clusters/dishwasher-mode.js +13 -25
- package/dist/esm/clusters/dishwasher-mode.js.map +1 -1
- package/dist/esm/clusters/door-lock.d.ts +2751 -5427
- package/dist/esm/clusters/door-lock.d.ts.map +1 -1
- package/dist/esm/clusters/door-lock.js +482 -804
- package/dist/esm/clusters/door-lock.js.map +2 -2
- package/dist/esm/clusters/ecosystem-information.d.ts +186 -0
- package/dist/esm/clusters/ecosystem-information.d.ts.map +1 -0
- package/dist/esm/clusters/ecosystem-information.js +134 -0
- package/dist/esm/clusters/ecosystem-information.js.map +6 -0
- package/dist/esm/clusters/electrical-energy-measurement.d.ts +363 -368
- package/dist/esm/clusters/electrical-energy-measurement.d.ts.map +1 -1
- package/dist/esm/clusters/electrical-energy-measurement.js +15 -16
- package/dist/esm/clusters/electrical-energy-measurement.js.map +1 -1
- package/dist/esm/clusters/energy-evse-mode.d.ts +92 -330
- package/dist/esm/clusters/energy-evse-mode.d.ts.map +1 -1
- package/dist/esm/clusters/energy-evse-mode.js +25 -79
- package/dist/esm/clusters/energy-evse-mode.js.map +1 -1
- package/dist/esm/clusters/energy-evse.d.ts +557 -273
- package/dist/esm/clusters/energy-evse.d.ts.map +1 -1
- package/dist/esm/clusters/energy-evse.js +107 -55
- package/dist/esm/clusters/energy-evse.js.map +1 -1
- package/dist/esm/clusters/energy-preference.d.ts +76 -76
- package/dist/esm/clusters/energy-preference.d.ts.map +1 -1
- package/dist/esm/clusters/energy-preference.js +15 -18
- package/dist/esm/clusters/energy-preference.js.map +1 -1
- package/dist/esm/clusters/ethernet-network-diagnostics.d.ts +3 -9
- package/dist/esm/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
- package/dist/esm/clusters/ethernet-network-diagnostics.js +1 -3
- package/dist/esm/clusters/ethernet-network-diagnostics.js.map +1 -1
- package/dist/esm/clusters/fan-control.d.ts +12 -12
- package/dist/esm/clusters/fan-control.js +4 -4
- package/dist/esm/clusters/fixed-label.d.ts +7 -2
- package/dist/esm/clusters/fixed-label.d.ts.map +1 -1
- package/dist/esm/clusters/fixed-label.js.map +1 -1
- package/dist/esm/clusters/flow-measurement.d.ts +4 -4
- package/dist/esm/clusters/flow-measurement.d.ts.map +1 -1
- package/dist/esm/clusters/flow-measurement.js +6 -6
- package/dist/esm/clusters/flow-measurement.js.map +1 -1
- package/dist/esm/clusters/general-commissioning.d.ts +1416 -111
- package/dist/esm/clusters/general-commissioning.d.ts.map +1 -1
- package/dist/esm/clusters/general-commissioning.js +274 -56
- package/dist/esm/clusters/general-commissioning.js.map +2 -2
- package/dist/esm/clusters/general-diagnostics.d.ts +115 -122
- package/dist/esm/clusters/general-diagnostics.d.ts.map +1 -1
- package/dist/esm/clusters/general-diagnostics.js +31 -33
- package/dist/esm/clusters/general-diagnostics.js.map +1 -1
- package/dist/esm/clusters/group-key-management.d.ts +72 -82
- package/dist/esm/clusters/group-key-management.d.ts.map +1 -1
- package/dist/esm/clusters/group-key-management.js +19 -22
- package/dist/esm/clusters/group-key-management.js.map +1 -1
- package/dist/esm/clusters/groups.d.ts +9 -6
- package/dist/esm/clusters/groups.d.ts.map +1 -1
- package/dist/esm/clusters/groups.js +3 -2
- package/dist/esm/clusters/groups.js.map +1 -1
- package/dist/esm/clusters/icd-management.d.ts +223 -66
- package/dist/esm/clusters/icd-management.d.ts.map +1 -1
- package/dist/esm/clusters/icd-management.js +61 -23
- package/dist/esm/clusters/icd-management.js.map +2 -2
- package/dist/esm/clusters/identify.d.ts +12 -13
- package/dist/esm/clusters/identify.d.ts.map +1 -1
- package/dist/esm/clusters/identify.js +9 -10
- package/dist/esm/clusters/identify.js.map +1 -1
- package/dist/esm/clusters/illuminance-measurement.d.ts +7 -8
- package/dist/esm/clusters/illuminance-measurement.d.ts.map +1 -1
- package/dist/esm/clusters/illuminance-measurement.js +9 -10
- package/dist/esm/clusters/illuminance-measurement.js.map +1 -1
- package/dist/esm/clusters/index.d.ts +11 -1
- package/dist/esm/clusters/index.d.ts.map +1 -1
- package/dist/esm/clusters/index.js +36 -3
- package/dist/esm/clusters/index.js.map +1 -1
- package/dist/esm/clusters/joint-fabric-datastore-cluster.d.ts +1239 -0
- package/dist/esm/clusters/joint-fabric-datastore-cluster.d.ts.map +1 -0
- package/dist/esm/clusters/joint-fabric-datastore-cluster.js +470 -0
- package/dist/esm/clusters/joint-fabric-datastore-cluster.js.map +6 -0
- package/dist/esm/clusters/joint-fabric-pki.d.ts +174 -0
- package/dist/esm/clusters/joint-fabric-pki.d.ts.map +1 -0
- package/dist/esm/clusters/joint-fabric-pki.js +100 -0
- package/dist/esm/clusters/joint-fabric-pki.js.map +6 -0
- package/dist/esm/clusters/keypad-input.d.ts +2 -2
- package/dist/esm/clusters/laundry-dryer-controls.d.ts +6 -7
- package/dist/esm/clusters/laundry-dryer-controls.d.ts.map +1 -1
- package/dist/esm/clusters/laundry-dryer-controls.js +6 -10
- package/dist/esm/clusters/laundry-dryer-controls.js.map +1 -1
- package/dist/esm/clusters/laundry-washer-controls.d.ts +74 -62
- package/dist/esm/clusters/laundry-washer-controls.d.ts.map +1 -1
- package/dist/esm/clusters/laundry-washer-controls.js +26 -25
- package/dist/esm/clusters/laundry-washer-controls.js.map +1 -1
- package/dist/esm/clusters/laundry-washer-mode.d.ts +69 -109
- package/dist/esm/clusters/laundry-washer-mode.d.ts.map +1 -1
- package/dist/esm/clusters/laundry-washer-mode.js +14 -26
- package/dist/esm/clusters/laundry-washer-mode.js.map +1 -1
- package/dist/esm/clusters/level-control.d.ts +209 -70
- package/dist/esm/clusters/level-control.d.ts.map +1 -1
- package/dist/esm/clusters/level-control.js +45 -12
- package/dist/esm/clusters/level-control.js.map +1 -1
- package/dist/esm/clusters/localization-configuration.d.ts +5 -6
- package/dist/esm/clusters/localization-configuration.d.ts.map +1 -1
- package/dist/esm/clusters/localization-configuration.js +5 -6
- package/dist/esm/clusters/localization-configuration.js.map +1 -1
- package/dist/esm/clusters/media-input.d.ts +9 -6
- package/dist/esm/clusters/media-input.d.ts.map +1 -1
- package/dist/esm/clusters/media-input.js +3 -2
- package/dist/esm/clusters/media-input.js.map +1 -1
- package/dist/esm/clusters/media-playback.d.ts +29 -24
- package/dist/esm/clusters/media-playback.d.ts.map +1 -1
- package/dist/esm/clusters/media-playback.js +5 -4
- package/dist/esm/clusters/media-playback.js.map +1 -1
- package/dist/esm/clusters/microwave-oven-control.d.ts +54 -48
- package/dist/esm/clusters/microwave-oven-control.d.ts.map +1 -1
- package/dist/esm/clusters/microwave-oven-control.js +19 -17
- package/dist/esm/clusters/microwave-oven-control.js.map +1 -1
- package/dist/esm/clusters/microwave-oven-mode.d.ts +63 -69
- package/dist/esm/clusters/microwave-oven-mode.d.ts.map +1 -1
- package/dist/esm/clusters/microwave-oven-mode.js +14 -11
- package/dist/esm/clusters/microwave-oven-mode.js.map +1 -1
- package/dist/esm/clusters/mode-base.d.ts +27 -46
- package/dist/esm/clusters/mode-base.d.ts.map +1 -1
- package/dist/esm/clusters/mode-base.js +9 -10
- package/dist/esm/clusters/mode-base.js.map +1 -1
- package/dist/esm/clusters/mode-select.d.ts +33 -27
- package/dist/esm/clusters/mode-select.d.ts.map +1 -1
- package/dist/esm/clusters/mode-select.js +14 -13
- package/dist/esm/clusters/mode-select.js.map +1 -1
- package/dist/esm/clusters/network-commissioning.d.ts +263 -240
- package/dist/esm/clusters/network-commissioning.d.ts.map +1 -1
- package/dist/esm/clusters/network-commissioning.js +46 -39
- package/dist/esm/clusters/network-commissioning.js.map +1 -1
- package/dist/esm/clusters/occupancy-sensing.d.ts +1002 -63
- package/dist/esm/clusters/occupancy-sensing.d.ts.map +1 -1
- package/dist/esm/clusters/occupancy-sensing.js +287 -65
- package/dist/esm/clusters/occupancy-sensing.js.map +2 -2
- package/dist/esm/clusters/on-off.d.ts +18 -24
- package/dist/esm/clusters/on-off.d.ts.map +1 -1
- package/dist/esm/clusters/on-off.js +3 -4
- package/dist/esm/clusters/on-off.js.map +1 -1
- package/dist/esm/clusters/operational-credentials.d.ts +98 -85
- package/dist/esm/clusters/operational-credentials.d.ts.map +1 -1
- package/dist/esm/clusters/operational-credentials.js +56 -49
- package/dist/esm/clusters/operational-credentials.js.map +1 -1
- package/dist/esm/clusters/operational-state.d.ts +136 -57
- package/dist/esm/clusters/operational-state.d.ts.map +1 -1
- package/dist/esm/clusters/operational-state.js +63 -37
- package/dist/esm/clusters/operational-state.js.map +2 -2
- package/dist/esm/clusters/ota-software-update-provider.d.ts +43 -42
- package/dist/esm/clusters/ota-software-update-provider.d.ts.map +1 -1
- package/dist/esm/clusters/ota-software-update-provider.js +20 -19
- package/dist/esm/clusters/ota-software-update-provider.js.map +1 -1
- package/dist/esm/clusters/ota-software-update-requestor.d.ts +6 -10
- package/dist/esm/clusters/ota-software-update-requestor.d.ts.map +1 -1
- package/dist/esm/clusters/ota-software-update-requestor.js +4 -6
- package/dist/esm/clusters/ota-software-update-requestor.js.map +1 -1
- package/dist/esm/clusters/oven-cavity-operational-state.d.ts +44 -154
- package/dist/esm/clusters/oven-cavity-operational-state.d.ts.map +1 -1
- package/dist/esm/clusters/oven-cavity-operational-state.js +41 -166
- package/dist/esm/clusters/oven-cavity-operational-state.js.map +1 -1
- package/dist/esm/clusters/oven-mode.d.ts +79 -349
- package/dist/esm/clusters/oven-mode.d.ts.map +1 -1
- package/dist/esm/clusters/oven-mode.js +26 -89
- package/dist/esm/clusters/oven-mode.js.map +1 -1
- package/dist/esm/clusters/power-source.d.ts +169 -44
- package/dist/esm/clusters/power-source.d.ts.map +1 -1
- package/dist/esm/clusters/power-source.js +40 -16
- package/dist/esm/clusters/power-source.js.map +1 -1
- package/dist/esm/clusters/pressure-measurement.js +2 -2
- package/dist/esm/clusters/pressure-measurement.js.map +1 -1
- package/dist/esm/clusters/pump-configuration-and-control.d.ts +73 -63
- package/dist/esm/clusters/pump-configuration-and-control.d.ts.map +1 -1
- package/dist/esm/clusters/pump-configuration-and-control.js +19 -20
- package/dist/esm/clusters/pump-configuration-and-control.js.map +1 -1
- package/dist/esm/clusters/refrigerator-alarm.d.ts +2 -1
- package/dist/esm/clusters/refrigerator-alarm.d.ts.map +1 -1
- package/dist/esm/clusters/refrigerator-alarm.js.map +1 -1
- package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +59 -91
- package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts.map +1 -1
- package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js +12 -20
- package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
- package/dist/esm/clusters/relative-humidity-measurement.js +1 -1
- package/dist/esm/clusters/relative-humidity-measurement.js.map +1 -1
- package/dist/esm/clusters/rvc-clean-mode.d.ts +59 -103
- package/dist/esm/clusters/rvc-clean-mode.d.ts.map +1 -1
- package/dist/esm/clusters/rvc-clean-mode.js +11 -15
- package/dist/esm/clusters/rvc-clean-mode.js.map +1 -1
- package/dist/esm/clusters/rvc-operational-state.d.ts +81 -25
- package/dist/esm/clusters/rvc-operational-state.d.ts.map +1 -1
- package/dist/esm/clusters/rvc-operational-state.js +49 -20
- package/dist/esm/clusters/rvc-operational-state.js.map +1 -1
- package/dist/esm/clusters/rvc-run-mode.d.ts +85 -129
- package/dist/esm/clusters/rvc-run-mode.d.ts.map +1 -1
- package/dist/esm/clusters/rvc-run-mode.js +16 -15
- package/dist/esm/clusters/rvc-run-mode.js.map +1 -1
- package/dist/esm/clusters/scenes-management.d.ts +328 -181
- package/dist/esm/clusters/scenes-management.d.ts.map +1 -1
- package/dist/esm/clusters/scenes-management.js +37 -22
- package/dist/esm/clusters/scenes-management.js.map +1 -1
- package/dist/esm/clusters/service-area.d.ts +2052 -0
- package/dist/esm/clusters/service-area.d.ts.map +1 -0
- package/dist/esm/clusters/service-area.js +562 -0
- package/dist/esm/clusters/service-area.js.map +6 -0
- package/dist/esm/clusters/smoke-co-alarm.d.ts +10 -18
- package/dist/esm/clusters/smoke-co-alarm.d.ts.map +1 -1
- package/dist/esm/clusters/smoke-co-alarm.js +2 -3
- package/dist/esm/clusters/smoke-co-alarm.js.map +1 -1
- package/dist/esm/clusters/switch.d.ts +478 -191
- package/dist/esm/clusters/switch.d.ts.map +1 -1
- package/dist/esm/clusters/switch.js +145 -57
- package/dist/esm/clusters/switch.js.map +1 -1
- package/dist/esm/clusters/target-navigator.d.ts +1 -1
- package/dist/esm/clusters/target-navigator.js +1 -1
- package/dist/esm/clusters/thermostat.d.ts +3877 -830
- package/dist/esm/clusters/thermostat.d.ts.map +1 -1
- package/dist/esm/clusters/thermostat.js +842 -160
- package/dist/esm/clusters/thermostat.js.map +2 -2
- package/dist/esm/clusters/thread-border-router-management.d.ts +711 -0
- package/dist/esm/clusters/thread-border-router-management.d.ts.map +1 -0
- package/dist/esm/clusters/thread-border-router-management.js +245 -0
- package/dist/esm/clusters/thread-border-router-management.js.map +6 -0
- package/dist/esm/clusters/thread-network-diagnostics.d.ts +81 -55
- package/dist/esm/clusters/thread-network-diagnostics.d.ts.map +1 -1
- package/dist/esm/clusters/thread-network-diagnostics.js +32 -21
- package/dist/esm/clusters/thread-network-diagnostics.js.map +1 -1
- package/dist/esm/clusters/thread-network-directory.d.ts +250 -0
- package/dist/esm/clusters/thread-network-directory.d.ts.map +1 -0
- package/dist/esm/clusters/thread-network-directory.js +167 -0
- package/dist/esm/clusters/thread-network-directory.js.map +6 -0
- package/dist/esm/clusters/time-synchronization.d.ts +101 -76
- package/dist/esm/clusters/time-synchronization.d.ts.map +1 -1
- package/dist/esm/clusters/time-synchronization.js +30 -23
- package/dist/esm/clusters/time-synchronization.js.map +1 -1
- package/dist/esm/clusters/unit-localization.d.ts +3 -4
- package/dist/esm/clusters/unit-localization.d.ts.map +1 -1
- package/dist/esm/clusters/unit-localization.js.map +1 -1
- package/dist/esm/clusters/user-label.d.ts +2 -1
- package/dist/esm/clusters/user-label.d.ts.map +1 -1
- package/dist/esm/clusters/user-label.js.map +1 -1
- package/dist/esm/clusters/water-heater-management.d.ts +1371 -0
- package/dist/esm/clusters/water-heater-management.d.ts.map +1 -0
- package/dist/esm/clusters/water-heater-management.js +325 -0
- package/dist/esm/clusters/water-heater-management.js.map +6 -0
- package/dist/esm/clusters/water-heater-mode.d.ts +491 -0
- package/dist/esm/clusters/water-heater-mode.d.ts.map +1 -0
- package/dist/esm/clusters/water-heater-mode.js +175 -0
- package/dist/esm/clusters/water-heater-mode.js.map +6 -0
- package/dist/esm/clusters/water-tank-level-monitoring.d.ts +162 -0
- package/dist/esm/clusters/water-tank-level-monitoring.d.ts.map +1 -0
- package/dist/esm/clusters/water-tank-level-monitoring.js +27 -0
- package/dist/esm/clusters/water-tank-level-monitoring.js.map +6 -0
- package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts +20 -27
- package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
- package/dist/esm/clusters/wi-fi-network-diagnostics.js +6 -8
- package/dist/esm/clusters/wi-fi-network-diagnostics.js.map +1 -1
- package/dist/esm/clusters/wi-fi-network-management.d.ts +91 -0
- package/dist/esm/clusters/wi-fi-network-management.d.ts.map +1 -0
- package/dist/esm/clusters/wi-fi-network-management.js +102 -0
- package/dist/esm/clusters/wi-fi-network-management.js.map +6 -0
- package/dist/esm/clusters/window-covering.d.ts +66 -78
- package/dist/esm/clusters/window-covering.d.ts.map +1 -1
- package/dist/esm/clusters/window-covering.js +26 -37
- package/dist/esm/clusters/window-covering.js.map +1 -1
- package/dist/esm/globals/AtomicAttributeStatus.d.ts +34 -0
- package/dist/esm/globals/AtomicAttributeStatus.d.ts.map +1 -0
- package/dist/esm/globals/AtomicAttributeStatus.js +26 -0
- package/dist/esm/globals/AtomicAttributeStatus.js.map +6 -0
- package/dist/esm/globals/AtomicRequestType.d.ts +24 -0
- package/dist/esm/globals/AtomicRequestType.d.ts.map +1 -0
- package/dist/esm/globals/AtomicRequestType.js +15 -0
- package/dist/esm/globals/AtomicRequestType.js.map +6 -0
- package/dist/esm/globals/Locationdesc.d.ts +79 -0
- package/dist/esm/globals/Locationdesc.d.ts.map +1 -0
- package/dist/esm/globals/Locationdesc.js +69 -0
- package/dist/esm/globals/Locationdesc.js.map +6 -0
- package/dist/esm/globals/Priority.d.ts +1 -1
- package/dist/esm/globals/Semtag.d.ts +6 -6
- package/dist/esm/globals/Semtag.js +4 -4
- package/dist/esm/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
- package/dist/esm/globals/Status.d.ts +18 -3
- package/dist/esm/globals/Status.d.ts.map +1 -1
- package/dist/esm/globals/Status.js +3 -1
- package/dist/esm/globals/Status.js.map +1 -1
- package/dist/esm/globals/Tod.d.ts +2 -2
- package/dist/esm/globals/index.d.ts +3 -0
- package/dist/esm/globals/index.d.ts.map +1 -1
- package/dist/esm/globals/index.js +3 -0
- package/dist/esm/globals/index.js.map +1 -1
- package/dist/esm/schema/QrCodeSchema.d.ts.map +1 -1
- package/dist/esm/schema/QrCodeSchema.js +4 -1
- package/dist/esm/schema/QrCodeSchema.js.map +1 -1
- package/package.json +5 -5
- package/src/clusters/access-control.ts +926 -171
- package/src/clusters/actions.ts +12 -11
- package/src/clusters/administrator-commissioning.ts +54 -35
- package/src/clusters/alarm-base.ts +3 -4
- package/src/clusters/application-launcher.ts +22 -7
- package/src/clusters/ballast-configuration.ts +7 -7
- package/src/clusters/basic-information.ts +29 -21
- package/src/clusters/bridged-device-basic-information.ts +264 -41
- package/src/clusters/channel.ts +20 -17
- package/src/clusters/color-control.ts +589 -426
- package/src/clusters/commissioner-control.ts +282 -0
- package/src/clusters/content-control.ts +48 -54
- package/src/clusters/content-launcher.ts +16 -15
- package/src/clusters/device-energy-management-mode.ts +63 -161
- package/src/clusters/device-energy-management.ts +246 -193
- package/src/clusters/dishwasher-alarm.ts +5 -5
- package/src/clusters/dishwasher-mode.ts +46 -87
- package/src/clusters/door-lock.ts +786 -1235
- package/src/clusters/ecosystem-information.ts +200 -0
- package/src/clusters/electrical-energy-measurement.ts +15 -16
- package/src/clusters/energy-evse-mode.ts +81 -158
- package/src/clusters/energy-evse.ts +138 -72
- package/src/clusters/energy-preference.ts +34 -28
- package/src/clusters/ethernet-network-diagnostics.ts +1 -3
- package/src/clusters/fan-control.ts +5 -5
- package/src/clusters/fixed-label.ts +7 -2
- package/src/clusters/flow-measurement.ts +6 -6
- package/src/clusters/general-commissioning.ts +396 -96
- package/src/clusters/general-diagnostics.ts +31 -33
- package/src/clusters/group-key-management.ts +22 -24
- package/src/clusters/groups.ts +3 -2
- package/src/clusters/icd-management.ts +88 -31
- package/src/clusters/identify.ts +9 -10
- package/src/clusters/illuminance-measurement.ts +9 -10
- package/src/clusters/index.ts +14 -1
- package/src/clusters/joint-fabric-datastore-cluster.ts +657 -0
- package/src/clusters/joint-fabric-pki.ts +202 -0
- package/src/clusters/keypad-input.ts +2 -2
- package/src/clusters/laundry-dryer-controls.ts +6 -10
- package/src/clusters/laundry-washer-controls.ts +28 -27
- package/src/clusters/laundry-washer-mode.ts +49 -90
- package/src/clusters/level-control.ts +45 -12
- package/src/clusters/localization-configuration.ts +5 -6
- package/src/clusters/media-input.ts +3 -2
- package/src/clusters/media-playback.ts +9 -7
- package/src/clusters/microwave-oven-control.ts +19 -17
- package/src/clusters/microwave-oven-mode.ts +42 -61
- package/src/clusters/mode-base.ts +16 -33
- package/src/clusters/mode-select.ts +17 -14
- package/src/clusters/network-commissioning.ts +47 -40
- package/src/clusters/occupancy-sensing.ts +433 -72
- package/src/clusters/on-off.ts +6 -8
- package/src/clusters/operational-credentials.ts +54 -47
- package/src/clusters/operational-state.ts +136 -58
- package/src/clusters/ota-software-update-provider.ts +23 -23
- package/src/clusters/ota-software-update-requestor.ts +4 -6
- package/src/clusters/oven-cavity-operational-state.ts +43 -171
- package/src/clusters/oven-mode.ts +76 -178
- package/src/clusters/power-source.ts +45 -21
- package/src/clusters/pressure-measurement.ts +2 -2
- package/src/clusters/pump-configuration-and-control.ts +35 -23
- package/src/clusters/refrigerator-alarm.ts +2 -1
- package/src/clusters/refrigerator-and-temperature-controlled-cabinet-mode.ts +41 -78
- package/src/clusters/relative-humidity-measurement.ts +1 -1
- package/src/clusters/rvc-clean-mode.ts +42 -101
- package/src/clusters/rvc-operational-state.ts +87 -25
- package/src/clusters/rvc-run-mode.ts +62 -126
- package/src/clusters/scenes-management.ts +38 -23
- package/src/clusters/service-area.ts +904 -0
- package/src/clusters/smoke-co-alarm.ts +6 -12
- package/src/clusters/switch.ts +177 -78
- package/src/clusters/target-navigator.ts +1 -1
- package/src/clusters/thermostat.ts +1245 -214
- package/src/clusters/thread-border-router-management.ts +355 -0
- package/src/clusters/thread-network-diagnostics.ts +34 -21
- package/src/clusters/thread-network-directory.ts +256 -0
- package/src/clusters/time-synchronization.ts +30 -23
- package/src/clusters/unit-localization.ts +3 -4
- package/src/clusters/user-label.ts +2 -1
- package/src/clusters/water-heater-management.ts +457 -0
- package/src/clusters/water-heater-mode.ts +301 -0
- package/src/clusters/water-tank-level-monitoring.ts +50 -0
- package/src/clusters/wi-fi-network-diagnostics.ts +6 -8
- package/src/clusters/wi-fi-network-management.ts +119 -0
- package/src/clusters/window-covering.ts +26 -37
- package/src/globals/AtomicAttributeStatus.ts +41 -0
- package/src/globals/AtomicRequestType.ts +27 -0
- package/src/globals/Locationdesc.ts +88 -0
- package/src/globals/Priority.ts +1 -1
- package/src/globals/Semtag.ts +6 -6
- package/src/globals/SoftwareVersionCertificationStatus.ts +1 -1
- package/src/globals/Status.ts +20 -3
- package/src/globals/Tod.ts +2 -2
- package/src/globals/index.ts +3 -0
- package/src/schema/QrCodeSchema.ts +7 -2
- package/dist/cjs/clusters/pulse-width-modulation.d.ts +0 -2023
- package/dist/cjs/clusters/pulse-width-modulation.d.ts.map +0 -1
- package/dist/cjs/clusters/pulse-width-modulation.js +0 -51
- package/dist/cjs/clusters/pulse-width-modulation.js.map +0 -6
- package/dist/esm/clusters/pulse-width-modulation.d.ts +0 -2023
- package/dist/esm/clusters/pulse-width-modulation.d.ts.map +0 -1
- package/dist/esm/clusters/pulse-width-modulation.js +0 -31
- package/dist/esm/clusters/pulse-width-modulation.js.map +0 -6
- package/src/clusters/pulse-width-modulation.ts +0 -54
|
@@ -13,23 +13,23 @@ import {
|
|
|
13
13
|
Event,
|
|
14
14
|
EventPriority,
|
|
15
15
|
FixedAttribute,
|
|
16
|
-
WritableAttribute,
|
|
17
16
|
Command,
|
|
18
17
|
TlvNoResponse,
|
|
18
|
+
WritableAttribute,
|
|
19
19
|
OptionalCommand,
|
|
20
20
|
OptionalAttribute
|
|
21
21
|
} from "../cluster/Cluster.js";
|
|
22
|
-
import { TlvEnum, TlvUInt32, TlvUInt16,
|
|
22
|
+
import { TlvEnum, TlvUInt32, TlvUInt16, TlvUInt8, TlvBitmap, TlvEpochS } from "../tlv/TlvNumber.js";
|
|
23
23
|
import { TlvNullable } from "../tlv/TlvNullable.js";
|
|
24
24
|
import { AccessLevel } from "#model";
|
|
25
25
|
import { TlvField, TlvObject, TlvOptionalField } from "../tlv/TlvObject.js";
|
|
26
26
|
import { TypeFromSchema } from "../tlv/TlvSchema.js";
|
|
27
|
-
import { TlvBoolean } from "../tlv/TlvBoolean.js";
|
|
28
|
-
import { TlvByteString, TlvString } from "../tlv/TlvString.js";
|
|
29
27
|
import { BitFlag, BitsFromPartial } from "../schema/BitmapSchema.js";
|
|
28
|
+
import { TlvString, TlvByteString } from "../tlv/TlvString.js";
|
|
30
29
|
import { TlvArray } from "../tlv/TlvArray.js";
|
|
31
30
|
import { TlvFabricIndex } from "../datatype/FabricIndex.js";
|
|
32
31
|
import { Status } from "../globals/Status.js";
|
|
32
|
+
import { TlvBoolean } from "../tlv/TlvBoolean.js";
|
|
33
33
|
import { TlvNodeId } from "../datatype/NodeId.js";
|
|
34
34
|
import { TlvNoArguments } from "../tlv/TlvNoArguments.js";
|
|
35
35
|
import { ClusterType } from "../cluster/ClusterType.js";
|
|
@@ -63,9 +63,8 @@ export namespace DoorLock {
|
|
|
63
63
|
* User.
|
|
64
64
|
*
|
|
65
65
|
* A lock may support multiple credential types so if the User feature is supported the UserType, UserStatus
|
|
66
|
-
* and Schedules are all associated with a User index and not directly with a RFID index. A User
|
|
67
|
-
*
|
|
68
|
-
* Index may have several credentials associated with it.
|
|
66
|
+
* and Schedules are all associated with a User index and not directly with a RFID index. A User Index may have
|
|
67
|
+
* several credentials associated with it.
|
|
69
68
|
*
|
|
70
69
|
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.2
|
|
71
70
|
*/
|
|
@@ -87,27 +86,19 @@ export namespace DoorLock {
|
|
|
87
86
|
*/
|
|
88
87
|
FingerCredentials = "FingerCredentials",
|
|
89
88
|
|
|
90
|
-
/**
|
|
91
|
-
* Logging (LOG)
|
|
92
|
-
*
|
|
93
|
-
* If Events are not supported the logging feature shall replace the Event reporting structure. If Events are
|
|
94
|
-
* supported the logging feature shall NOT be supported.
|
|
95
|
-
*
|
|
96
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.4
|
|
97
|
-
*/
|
|
98
|
-
Logging = "Logging",
|
|
99
|
-
|
|
100
89
|
/**
|
|
101
90
|
* WeekDayAccessSchedules (WDSCH)
|
|
102
91
|
*
|
|
103
92
|
* If the User feature is supported then Week Day Schedules are applied to a User and not a credential.
|
|
104
93
|
*
|
|
105
94
|
* Week Day Schedules are used to restrict access to a specified time window on certain days of the week. The
|
|
106
|
-
* schedule is repeated each week.
|
|
107
|
-
* unrestricted access to the user. The lock may automatically adjust the UserType when a schedule is created
|
|
108
|
-
* or cleared.
|
|
95
|
+
* schedule is repeated each week.
|
|
109
96
|
*
|
|
110
|
-
*
|
|
97
|
+
* The lock may automatically adjust the UserType when a schedule is created or cleared.
|
|
98
|
+
*
|
|
99
|
+
* Support for WeekDayAccessSchedules requires that the lock has the capability of keeping track of local time.
|
|
100
|
+
*
|
|
101
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.4
|
|
111
102
|
*/
|
|
112
103
|
WeekDayAccessSchedules = "WeekDayAccessSchedules",
|
|
113
104
|
|
|
@@ -117,7 +108,7 @@ export namespace DoorLock {
|
|
|
117
108
|
* If this feature is supported this indicates that the lock has the ability to determine the position of the
|
|
118
109
|
* door which is separate from the state of the lock.
|
|
119
110
|
*
|
|
120
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.
|
|
111
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.5
|
|
121
112
|
*/
|
|
122
113
|
DoorPositionSensor = "DoorPositionSensor",
|
|
123
114
|
|
|
@@ -132,7 +123,7 @@ export namespace DoorLock {
|
|
|
132
123
|
* A lock may support multiple credential types so if the User feature is supported the UserType, UserStatus
|
|
133
124
|
* and Schedules are all associated with a User and not directly with a credential.
|
|
134
125
|
*
|
|
135
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.
|
|
126
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.6
|
|
136
127
|
*/
|
|
137
128
|
FaceCredentials = "FaceCredentials",
|
|
138
129
|
|
|
@@ -140,10 +131,11 @@ export namespace DoorLock {
|
|
|
140
131
|
* CredentialOverTheAirAccess (COTA)
|
|
141
132
|
*
|
|
142
133
|
* If this feature is supported then the lock supports the ability to verify a credential provided in a
|
|
134
|
+
*
|
|
143
135
|
* lock/unlock command. Currently the cluster only supports providing the PIN credential to the lock/unlock
|
|
144
136
|
* commands. If this feature is supported then the PIN Credential feature shall also be supported.
|
|
145
137
|
*
|
|
146
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.
|
|
138
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.7
|
|
147
139
|
*/
|
|
148
140
|
CredentialOverTheAirAccess = "CredentialOverTheAirAccess",
|
|
149
141
|
|
|
@@ -154,30 +146,21 @@ export namespace DoorLock {
|
|
|
154
146
|
* used to associate credentials and schedules to single user record within the lock. This also means the
|
|
155
147
|
* UserType and UserStatus fields are associated with a User and not a credential.
|
|
156
148
|
*
|
|
157
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.
|
|
149
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.8
|
|
158
150
|
*/
|
|
159
151
|
User = "User",
|
|
160
152
|
|
|
161
|
-
/**
|
|
162
|
-
* Notification (NOT)
|
|
163
|
-
*
|
|
164
|
-
* This is a feature used before support of events. This feature supports notification commands and masks used
|
|
165
|
-
* to filter these notifications.
|
|
166
|
-
*
|
|
167
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.10
|
|
168
|
-
*/
|
|
169
|
-
Notification = "Notification",
|
|
170
|
-
|
|
171
153
|
/**
|
|
172
154
|
* YearDayAccessSchedules (YDSCH)
|
|
173
155
|
*
|
|
174
|
-
* If the User feature is supported then Year Day Schedules are applied to a User and not a credential.
|
|
156
|
+
* If the User feature is supported then Year Day Schedules are applied to a User and not a credential. Year
|
|
157
|
+
* Day Schedules are used to restrict access to a specified date and time window.
|
|
175
158
|
*
|
|
176
|
-
*
|
|
177
|
-
* cleared this clears the access restrictions and grants unrestricted access to the user. The lock may
|
|
178
|
-
* automatically adjust the UserType when a schedule is created or cleared.
|
|
159
|
+
* The lock may automatically adjust the UserType when a schedule is created or cleared.
|
|
179
160
|
*
|
|
180
|
-
*
|
|
161
|
+
* Support for YearDayAccessSchedules requires that the lock has the capability of keeping track of local time.
|
|
162
|
+
*
|
|
163
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.9
|
|
181
164
|
*/
|
|
182
165
|
YearDayAccessSchedules = "YearDayAccessSchedules",
|
|
183
166
|
|
|
@@ -187,7 +170,9 @@ export namespace DoorLock {
|
|
|
187
170
|
* This feature is used to setup Holiday Schedule in the lock device. A Holiday Schedule sets a start and stop
|
|
188
171
|
* end date/time for the lock to use the specified operating mode set by the Holiday Schedule.
|
|
189
172
|
*
|
|
190
|
-
*
|
|
173
|
+
* Support for HolidaySchedules requires that the lock has the capability of keeping track of local time.
|
|
174
|
+
*
|
|
175
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.10
|
|
191
176
|
*/
|
|
192
177
|
HolidaySchedules = "HolidaySchedules",
|
|
193
178
|
|
|
@@ -200,15 +185,34 @@ export namespace DoorLock {
|
|
|
200
185
|
* Locks without unbolting support don’t differentiate between unbolting and unlocking and perform the same
|
|
201
186
|
* operation for both commands.
|
|
202
187
|
*
|
|
188
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.11
|
|
189
|
+
*/
|
|
190
|
+
Unbolting = "Unbolting",
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* AliroProvisioning (ALIRO)
|
|
194
|
+
*
|
|
195
|
+
* Locks that support this feature implement the Aliro specification as defined in [Aliro] and support Matter
|
|
196
|
+
* as a method for provisioning Aliro credentials.
|
|
197
|
+
*
|
|
198
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.12
|
|
199
|
+
*/
|
|
200
|
+
AliroProvisioning = "AliroProvisioning",
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* AliroBleuwb (ALBU)
|
|
204
|
+
*
|
|
205
|
+
* Locks that support this feature implement the Bluetooth LE + UWB Access Control Flow as defined in [Aliro].
|
|
206
|
+
*
|
|
203
207
|
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.13
|
|
204
208
|
*/
|
|
205
|
-
|
|
209
|
+
AliroBleuwb = "AliroBleuwb"
|
|
206
210
|
}
|
|
207
211
|
|
|
208
212
|
/**
|
|
209
213
|
* This enumeration shall indicate the current door state.
|
|
210
214
|
*
|
|
211
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
215
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.11
|
|
212
216
|
*/
|
|
213
217
|
export enum DoorState {
|
|
214
218
|
/**
|
|
@@ -263,142 +267,6 @@ export namespace DoorLock {
|
|
|
263
267
|
*/
|
|
264
268
|
export interface DoorStateChangeEvent extends TypeFromSchema<typeof TlvDoorStateChangeEvent> {}
|
|
265
269
|
|
|
266
|
-
/**
|
|
267
|
-
* Input to the DoorLock getLogRecord command
|
|
268
|
-
*
|
|
269
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.4
|
|
270
|
-
*/
|
|
271
|
-
export const TlvGetLogRecordRequest = TlvObject({ logIndex: TlvField(0, TlvUInt16) });
|
|
272
|
-
|
|
273
|
-
/**
|
|
274
|
-
* Input to the DoorLock getLogRecord command
|
|
275
|
-
*
|
|
276
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.4
|
|
277
|
-
*/
|
|
278
|
-
export interface GetLogRecordRequest extends TypeFromSchema<typeof TlvGetLogRecordRequest> {}
|
|
279
|
-
|
|
280
|
-
/**
|
|
281
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.24
|
|
282
|
-
*/
|
|
283
|
-
export enum EventType {
|
|
284
|
-
/**
|
|
285
|
-
* Event type is operation
|
|
286
|
-
*/
|
|
287
|
-
Operation = 0,
|
|
288
|
-
|
|
289
|
-
/**
|
|
290
|
-
* Event type is programming
|
|
291
|
-
*/
|
|
292
|
-
Programming = 1,
|
|
293
|
-
|
|
294
|
-
/**
|
|
295
|
-
* Event type is alarm
|
|
296
|
-
*/
|
|
297
|
-
Alarm = 2
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
/**
|
|
301
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.25
|
|
302
|
-
*/
|
|
303
|
-
export enum EventSource {
|
|
304
|
-
/**
|
|
305
|
-
* Event source is keypad
|
|
306
|
-
*/
|
|
307
|
-
Keypad = 0,
|
|
308
|
-
|
|
309
|
-
/**
|
|
310
|
-
* Event source is remote
|
|
311
|
-
*/
|
|
312
|
-
Remote = 1,
|
|
313
|
-
|
|
314
|
-
/**
|
|
315
|
-
* Event source is manual
|
|
316
|
-
*/
|
|
317
|
-
Manual = 2,
|
|
318
|
-
|
|
319
|
-
/**
|
|
320
|
-
* Event source is RFID
|
|
321
|
-
*/
|
|
322
|
-
Rfid = 3,
|
|
323
|
-
|
|
324
|
-
/**
|
|
325
|
-
* Event source is unknown
|
|
326
|
-
*/
|
|
327
|
-
Indeterminate = 255
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* Returns the specified log record. If an invalid log entry ID was requested, it is set to 0 and the most recent
|
|
332
|
-
* log entry will be returned.
|
|
333
|
-
*
|
|
334
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5
|
|
335
|
-
*/
|
|
336
|
-
export const TlvGetLogRecordResponse = TlvObject({
|
|
337
|
-
/**
|
|
338
|
-
* This field shall indicate the index into the log table where this log entry is stored. If the log entry
|
|
339
|
-
* requested is 0, the most recent log is returned with the appropriate log entry ID.
|
|
340
|
-
*
|
|
341
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.1
|
|
342
|
-
*/
|
|
343
|
-
logEntryId: TlvField(0, TlvUInt16),
|
|
344
|
-
|
|
345
|
-
/**
|
|
346
|
-
* This field shall indicate the timestamp for all events and alarms on the door lock in Epoch Time in Seconds
|
|
347
|
-
* with local time offset based on the local timezone and DST offset on the day of the event.
|
|
348
|
-
*
|
|
349
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.2
|
|
350
|
-
*/
|
|
351
|
-
timestamp: TlvField(1, TlvEpochS),
|
|
352
|
-
|
|
353
|
-
/**
|
|
354
|
-
* This field shall indicate the type of event that took place on the door lock, as defined in EventTypeEnum.
|
|
355
|
-
*
|
|
356
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.3
|
|
357
|
-
*/
|
|
358
|
-
eventType: TlvField(2, TlvEnum<EventType>()),
|
|
359
|
-
|
|
360
|
-
/**
|
|
361
|
-
* This field shall indicate the source value as defined in EventSourceEnum.
|
|
362
|
-
*
|
|
363
|
-
* If the EventType is 2 (Alarm) then the source SHOULD be, but does not have to be 255 (Indeterminate).
|
|
364
|
-
*
|
|
365
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.4
|
|
366
|
-
*/
|
|
367
|
-
source: TlvField(3, TlvEnum<EventSource>()),
|
|
368
|
-
|
|
369
|
-
/**
|
|
370
|
-
* This field shall indicate the type of event that took place on the door lock depending on the event code
|
|
371
|
-
* table provided for a given event type and source. See Operation Event Codes.
|
|
372
|
-
*
|
|
373
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.5
|
|
374
|
-
*/
|
|
375
|
-
eventId: TlvField(4, TlvUInt8),
|
|
376
|
-
|
|
377
|
-
/**
|
|
378
|
-
* This field shall indicate the ID of the user who generated the event on the door lock if one is available.
|
|
379
|
-
* Otherwise, the value is 0xFFFF.
|
|
380
|
-
*
|
|
381
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.6
|
|
382
|
-
*/
|
|
383
|
-
userId: TlvField(5, TlvUInt16),
|
|
384
|
-
|
|
385
|
-
/**
|
|
386
|
-
* This field shall indicate the PIN code or RFID code that was used to create the event on the door lock if
|
|
387
|
-
* one is available.
|
|
388
|
-
*
|
|
389
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.7
|
|
390
|
-
*/
|
|
391
|
-
pin: TlvField(6, TlvByteString)
|
|
392
|
-
});
|
|
393
|
-
|
|
394
|
-
/**
|
|
395
|
-
* Returns the specified log record. If an invalid log entry ID was requested, it is set to 0 and the most recent
|
|
396
|
-
* log entry will be returned.
|
|
397
|
-
*
|
|
398
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5
|
|
399
|
-
*/
|
|
400
|
-
export interface GetLogRecordResponse extends TypeFromSchema<typeof TlvGetLogRecordResponse> {}
|
|
401
|
-
|
|
402
270
|
/**
|
|
403
271
|
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.2
|
|
404
272
|
*/
|
|
@@ -422,7 +290,7 @@ export namespace DoorLock {
|
|
|
422
290
|
/**
|
|
423
291
|
* This enumeration shall indicate the data operation performed.
|
|
424
292
|
*
|
|
425
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
293
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.10
|
|
426
294
|
*/
|
|
427
295
|
export enum DataOperationType {
|
|
428
296
|
/**
|
|
@@ -444,7 +312,7 @@ export namespace DoorLock {
|
|
|
444
312
|
/**
|
|
445
313
|
* This enumeration shall indicate what the status is for a specific user ID.
|
|
446
314
|
*
|
|
447
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
315
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.17
|
|
448
316
|
*/
|
|
449
317
|
export enum UserStatus {
|
|
450
318
|
/**
|
|
@@ -466,7 +334,7 @@ export namespace DoorLock {
|
|
|
466
334
|
/**
|
|
467
335
|
* This enumeration shall indicate what the type is for a specific user ID.
|
|
468
336
|
*
|
|
469
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
337
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.18
|
|
470
338
|
*/
|
|
471
339
|
export enum UserType {
|
|
472
340
|
/**
|
|
@@ -474,7 +342,7 @@ export namespace DoorLock {
|
|
|
474
342
|
*
|
|
475
343
|
* This value shall indicate the user has access 24/7 provided proper PIN or RFID is supplied (e.g., owner).
|
|
476
344
|
*
|
|
477
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
345
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.18.1
|
|
478
346
|
*/
|
|
479
347
|
UnrestrictedUser = 0,
|
|
480
348
|
|
|
@@ -483,7 +351,15 @@ export namespace DoorLock {
|
|
|
483
351
|
*
|
|
484
352
|
* This value shall indicate the user has the ability to open lock within a specific time period (e.g., guest).
|
|
485
353
|
*
|
|
486
|
-
*
|
|
354
|
+
* When UserType is set to YearDayScheduleUser, user access shall be restricted as follows:
|
|
355
|
+
*
|
|
356
|
+
* • If no YearDaySchedules are set for the user, then access shall be denied
|
|
357
|
+
*
|
|
358
|
+
* • If one or more YearDaySchedules are set, user access shall be granted if and only if the current time
|
|
359
|
+
* falls within at least one of the YearDaySchedules. If current time is not known, user access shall NOT
|
|
360
|
+
* be granted.
|
|
361
|
+
*
|
|
362
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.18.2
|
|
487
363
|
*/
|
|
488
364
|
YearDayScheduleUser = 1,
|
|
489
365
|
|
|
@@ -493,7 +369,15 @@ export namespace DoorLock {
|
|
|
493
369
|
* This value shall indicate the user has the ability to open lock based on specific time period within a
|
|
494
370
|
* reoccurring weekly schedule (e.g., cleaning worker).
|
|
495
371
|
*
|
|
496
|
-
*
|
|
372
|
+
* When UserType is set to WeekDayScheduleUser, user access shall be restricted as follows:
|
|
373
|
+
*
|
|
374
|
+
* • If no WeekDaySchedules are set for the user, then access shall be denied
|
|
375
|
+
*
|
|
376
|
+
* • If one or more WeekDaySchedules are set, user access shall be granted if and only if the current time
|
|
377
|
+
* falls within at least one of the WeekDaySchedules. If current time is not known, user access shall NOT
|
|
378
|
+
* be granted.
|
|
379
|
+
*
|
|
380
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.18.3
|
|
497
381
|
*/
|
|
498
382
|
WeekDayScheduleUser = 2,
|
|
499
383
|
|
|
@@ -504,7 +388,7 @@ export namespace DoorLock {
|
|
|
504
388
|
* manage the users and user schedules. In all other respects this user matches the unrestricted (default)
|
|
505
389
|
* user. ProgrammingUser is the only user that can disable the user interface (keypad, remote, etc…).
|
|
506
390
|
*
|
|
507
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
391
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.18.4
|
|
508
392
|
*/
|
|
509
393
|
ProgrammingUser = 3,
|
|
510
394
|
|
|
@@ -514,7 +398,7 @@ export namespace DoorLock {
|
|
|
514
398
|
* This value shall indicate the user is recognized by the lock but does not have the ability to open the lock.
|
|
515
399
|
* This user will only cause the lock to generate the appropriate event notification to any bound devices.
|
|
516
400
|
*
|
|
517
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
401
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.18.5
|
|
518
402
|
*/
|
|
519
403
|
NonAccessUser = 4,
|
|
520
404
|
|
|
@@ -525,7 +409,7 @@ export namespace DoorLock {
|
|
|
525
409
|
* ForcedUser silent alarm will be emitted to allow a notified Node to alert emergency services or contacts on
|
|
526
410
|
* the user account when used.
|
|
527
411
|
*
|
|
528
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
412
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.18.6
|
|
529
413
|
*/
|
|
530
414
|
ForcedUser = 5,
|
|
531
415
|
|
|
@@ -535,7 +419,7 @@ export namespace DoorLock {
|
|
|
535
419
|
* This value shall indicate the user has the ability to open lock once after which the lock shall change the
|
|
536
420
|
* corresponding user record UserStatus value to OccupiedDisabled automatically.
|
|
537
421
|
*
|
|
538
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
422
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.18.7
|
|
539
423
|
*/
|
|
540
424
|
DisposableUser = 6,
|
|
541
425
|
|
|
@@ -547,16 +431,29 @@ export namespace DoorLock {
|
|
|
547
431
|
* minutes the corresponding user record UserStatus value shall be set to OccupiedDisabled automatically by the
|
|
548
432
|
* lock. The lock shall persist the timeout across reboots such that the ExpiringUserTimeout is honored.
|
|
549
433
|
*
|
|
550
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
434
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.18.8
|
|
551
435
|
*/
|
|
552
436
|
ExpiringUser = 7,
|
|
553
437
|
|
|
554
438
|
/**
|
|
555
439
|
* The user ID type is schedule restricted
|
|
556
440
|
*
|
|
557
|
-
* This value shall indicate the user access is restricted by Week Day and/or Year Day schedule.
|
|
441
|
+
* This value shall indicate the user access is restricted by Week Day and/or Year Day schedule. When UserType
|
|
442
|
+
* is set to ScheduleRestrictedUser, user access shall be restricted as follows:
|
|
443
|
+
*
|
|
444
|
+
* • If no WeekDaySchedules and no YearDaySchedules are set for the user, then access shall be denied
|
|
558
445
|
*
|
|
559
|
-
*
|
|
446
|
+
* • If one or more WeekDaySchedules are set, but no YearDaySchedules are set for the user, then user access
|
|
447
|
+
* shall be equivalent to the WeekDayScheduleUser UserType
|
|
448
|
+
*
|
|
449
|
+
* • If one or more YearDaySchedules are set, but no WeekDaySchedules are set for the user, then user access
|
|
450
|
+
* shall be equivalent to the YearDayScheduleUser UserType
|
|
451
|
+
*
|
|
452
|
+
* • If one or WeekDaySchedules are set AND one or more YearDaySchedules are set, then user access shall be
|
|
453
|
+
* granted if and only if the current time falls within at least one of the WeekDaySchedules AND the
|
|
454
|
+
* current time falls within at least one of the YearDaySchedules.
|
|
455
|
+
*
|
|
456
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.18.9
|
|
560
457
|
*/
|
|
561
458
|
ScheduleRestrictedUser = 8,
|
|
562
459
|
|
|
@@ -568,7 +465,7 @@ export namespace DoorLock {
|
|
|
568
465
|
* prevent a PIN code credential created for them from being used at the keypad. The PIN code credential would
|
|
569
466
|
* only be provided over-the-air for the lock/unlock commands.
|
|
570
467
|
*
|
|
571
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
468
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.18.10
|
|
572
469
|
*/
|
|
573
470
|
RemoteOnlyUser = 9
|
|
574
471
|
}
|
|
@@ -576,7 +473,7 @@ export namespace DoorLock {
|
|
|
576
473
|
/**
|
|
577
474
|
* This enumeration shall indicate the credential rule that can be applied to a particular user.
|
|
578
475
|
*
|
|
579
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
476
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.8
|
|
580
477
|
*/
|
|
581
478
|
export enum CredentialRule {
|
|
582
479
|
/**
|
|
@@ -598,20 +495,20 @@ export namespace DoorLock {
|
|
|
598
495
|
/**
|
|
599
496
|
* Input to the DoorLock setUser command
|
|
600
497
|
*
|
|
601
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
498
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32
|
|
602
499
|
*/
|
|
603
500
|
export const TlvSetUserRequest = TlvObject({
|
|
604
501
|
/**
|
|
605
502
|
* This field shall indicate the type of operation.
|
|
606
503
|
*
|
|
607
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
504
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.1
|
|
608
505
|
*/
|
|
609
506
|
operationType: TlvField(0, TlvEnum<DataOperationType>()),
|
|
610
507
|
|
|
611
508
|
/**
|
|
612
509
|
* This field shall indicate the user ID.
|
|
613
510
|
*
|
|
614
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
511
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.2
|
|
615
512
|
*/
|
|
616
513
|
userIndex: TlvField(1, TlvUInt16.bound({ min: 1 })),
|
|
617
514
|
|
|
@@ -626,7 +523,7 @@ export namespace DoorLock {
|
|
|
626
523
|
*
|
|
627
524
|
* If UserName is not null, the UserName in the user record shall be set to the provided value.
|
|
628
525
|
*
|
|
629
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
526
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.3
|
|
630
527
|
*/
|
|
631
528
|
userName: TlvField(2, TlvNullable(TlvString.bound({ maxLength: 10 }))),
|
|
632
529
|
|
|
@@ -644,7 +541,7 @@ export namespace DoorLock {
|
|
|
644
541
|
*
|
|
645
542
|
* If UserUniqueID is not null, the UserUniqueID in the user record shall be set to the provided value.
|
|
646
543
|
*
|
|
647
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
544
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.4
|
|
648
545
|
*/
|
|
649
546
|
userUniqueId: TlvField(3, TlvNullable(TlvUInt32)),
|
|
650
547
|
|
|
@@ -660,7 +557,7 @@ export namespace DoorLock {
|
|
|
660
557
|
*
|
|
661
558
|
* If UserStatus is not null, the UserStatus in the user record shall be set to the provided value.
|
|
662
559
|
*
|
|
663
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
560
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.5
|
|
664
561
|
*/
|
|
665
562
|
userStatus: TlvField(4, TlvNullable(TlvEnum<UserStatus>())),
|
|
666
563
|
|
|
@@ -676,7 +573,7 @@ export namespace DoorLock {
|
|
|
676
573
|
*
|
|
677
574
|
* If UserType is not null, the UserType in the user record shall be set to the provided value.
|
|
678
575
|
*
|
|
679
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
576
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.6
|
|
680
577
|
*/
|
|
681
578
|
userType: TlvField(5, TlvNullable(TlvEnum<UserType>())),
|
|
682
579
|
|
|
@@ -696,7 +593,7 @@ export namespace DoorLock {
|
|
|
696
593
|
*
|
|
697
594
|
* If CredentialRule is not null, the CredentialRule in the user record shall be set to the provided value.
|
|
698
595
|
*
|
|
699
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
596
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32.7
|
|
700
597
|
*/
|
|
701
598
|
credentialRule: TlvField(6, TlvNullable(TlvEnum<CredentialRule>()))
|
|
702
599
|
});
|
|
@@ -704,28 +601,28 @@ export namespace DoorLock {
|
|
|
704
601
|
/**
|
|
705
602
|
* Input to the DoorLock setUser command
|
|
706
603
|
*
|
|
707
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
604
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32
|
|
708
605
|
*/
|
|
709
606
|
export interface SetUserRequest extends TypeFromSchema<typeof TlvSetUserRequest> {}
|
|
710
607
|
|
|
711
608
|
/**
|
|
712
609
|
* Input to the DoorLock getUser command
|
|
713
610
|
*
|
|
714
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
611
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.33
|
|
715
612
|
*/
|
|
716
613
|
export const TlvGetUserRequest = TlvObject({ userIndex: TlvField(0, TlvUInt16.bound({ min: 1 })) });
|
|
717
614
|
|
|
718
615
|
/**
|
|
719
616
|
* Input to the DoorLock getUser command
|
|
720
617
|
*
|
|
721
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
618
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.33
|
|
722
619
|
*/
|
|
723
620
|
export interface GetUserRequest extends TypeFromSchema<typeof TlvGetUserRequest> {}
|
|
724
621
|
|
|
725
622
|
/**
|
|
726
623
|
* This enumeration shall indicate the credential type.
|
|
727
624
|
*
|
|
728
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
625
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.9
|
|
729
626
|
*/
|
|
730
627
|
export enum CredentialType {
|
|
731
628
|
/**
|
|
@@ -756,20 +653,81 @@ export namespace DoorLock {
|
|
|
756
653
|
/**
|
|
757
654
|
* Face identifier credential type
|
|
758
655
|
*/
|
|
759
|
-
Face = 5
|
|
656
|
+
Face = 5,
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* A Credential Issuer public key as defined in [Aliro]
|
|
660
|
+
*
|
|
661
|
+
* Credentials of this type shall be 65-byte uncompressed elliptic curve public keys as defined in section
|
|
662
|
+
* 2.3.3 of SEC 1.
|
|
663
|
+
*
|
|
664
|
+
* Credentials of this type shall NOT be used to allow operating the lock. They shall be used, as defined in
|
|
665
|
+
* [Aliro], to create new credentials of type AliroEvictableEndpointKey via a step-up transaction.
|
|
666
|
+
*
|
|
667
|
+
* When performing the step-up transaction, the lock shall request the data element with identifier "matter1",
|
|
668
|
+
* and shall attempt to create a new credential of type AliroEvictableEndpointKey if and only if the data
|
|
669
|
+
* element is returned and the Access Credential can be validated using the AliroCredentialIssuerKey.
|
|
670
|
+
*
|
|
671
|
+
* When a new credential of type AliroEvictableEndpointKey is added in this manner, it shall be associated with
|
|
672
|
+
* the same user record as the AliroCredentialIssuerKey credential that allowed the new credential to be added.
|
|
673
|
+
*
|
|
674
|
+
* If there are no available credential slots to add a new AliroEvictableEndpointKey credential (i.e. either
|
|
675
|
+
* the NumberOfCredentialsSupportedPerUser or the NumberOfAliroEndpointKeysSupported limit has been reached)
|
|
676
|
+
* but there exist credentials of type AliroEvictableEndpointKey associated with the user record, the server
|
|
677
|
+
* shall remove one of those credentials using the same procedure it would follow for the ClearCredential
|
|
678
|
+
* command before adding the new credential.
|
|
679
|
+
*
|
|
680
|
+
* If there are no available credential slots to add a new AliroEvictableEndpointKey credential (i.e. either
|
|
681
|
+
* the NumberOfCredentialsSupportedPerUser or the NumberOfAliroEndpointKeysSupported limit has been reached)
|
|
682
|
+
* and there do not exist credentials of type AliroEvictableEndpointKey associated with the user record, a new
|
|
683
|
+
* AliroEvictableEndpointKey credential shall NOT be created.
|
|
684
|
+
*
|
|
685
|
+
* If the step-up process results in addition of new credentials, the corresponding LockUserChange event shall
|
|
686
|
+
* have OperationSource set to Aliro.
|
|
687
|
+
*
|
|
688
|
+
* If the step-up process results in the lock state changing (e.g. locking or unlocking), the credential
|
|
689
|
+
* associated with those changes in the LockOperation events shall be the newly provisioned
|
|
690
|
+
* AliroEvictableEndpointKey credential if one was created. If no new AliroEvictableEndpointKey credential was
|
|
691
|
+
* created, the credential associated with the changes in the LockOperation events shall be the
|
|
692
|
+
* AliroCredentialIssuerKey credential used for the step-up.
|
|
693
|
+
*
|
|
694
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.9.1
|
|
695
|
+
*/
|
|
696
|
+
AliroCredentialIssuerKey = 6,
|
|
697
|
+
|
|
698
|
+
/**
|
|
699
|
+
* An Endpoint public key as defined in [Aliro] which can be evicted if space is needed for another endpoint key
|
|
700
|
+
*
|
|
701
|
+
* Credentials of this type shall be 65-byte uncompressed elliptic curve public keys as defined in section
|
|
702
|
+
* 2.3.3 of SEC 1.
|
|
703
|
+
*
|
|
704
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.9.2
|
|
705
|
+
*/
|
|
706
|
+
AliroEvictableEndpointKey = 7,
|
|
707
|
+
|
|
708
|
+
/**
|
|
709
|
+
* An Endpoint public key as defined in [Aliro] which cannot be evicted if space is needed for another endpoint
|
|
710
|
+
* key
|
|
711
|
+
*
|
|
712
|
+
* Credentials of this type shall be 65-byte uncompressed elliptic curve public keys as defined in section
|
|
713
|
+
* 2.3.3 of SEC 1.
|
|
714
|
+
*
|
|
715
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.9.3
|
|
716
|
+
*/
|
|
717
|
+
AliroNonEvictableEndpointKey = 8
|
|
760
718
|
}
|
|
761
719
|
|
|
762
720
|
/**
|
|
763
721
|
* This struct shall indicate the credential types and their corresponding indices (if any) for the event or user
|
|
764
722
|
* record.
|
|
765
723
|
*
|
|
766
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
724
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.24
|
|
767
725
|
*/
|
|
768
726
|
export const TlvCredential = TlvObject({
|
|
769
727
|
/**
|
|
770
728
|
* This field shall indicate the credential field used to authorize the lock operation.
|
|
771
729
|
*
|
|
772
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
730
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.24.1
|
|
773
731
|
*/
|
|
774
732
|
credentialType: TlvField(0, TlvEnum<CredentialType>()),
|
|
775
733
|
|
|
@@ -778,7 +736,7 @@ export namespace DoorLock {
|
|
|
778
736
|
* list of credentials identified by CredentialType (e.g. PIN, RFID, etc.). This field shall be set to 0 if
|
|
779
737
|
* CredentialType is ProgrammingPIN or does not correspond to a list that can be indexed into.
|
|
780
738
|
*
|
|
781
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
739
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.24.2
|
|
782
740
|
*/
|
|
783
741
|
credentialIndex: TlvField(1, TlvUInt16)
|
|
784
742
|
});
|
|
@@ -787,7 +745,7 @@ export namespace DoorLock {
|
|
|
787
745
|
* This struct shall indicate the credential types and their corresponding indices (if any) for the event or user
|
|
788
746
|
* record.
|
|
789
747
|
*
|
|
790
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
748
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.24
|
|
791
749
|
*/
|
|
792
750
|
export interface Credential extends TypeFromSchema<typeof TlvCredential> {}
|
|
793
751
|
|
|
@@ -798,55 +756,55 @@ export namespace DoorLock {
|
|
|
798
756
|
* UserUniqueID, UserStatus, UserType, CredentialRule, Credentials, CreatorFabricIndex, and LastModifiedFabricIndex
|
|
799
757
|
* shall all be null in the response.
|
|
800
758
|
*
|
|
801
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
759
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34
|
|
802
760
|
*/
|
|
803
761
|
export const TlvGetUserResponse = TlvObject({
|
|
804
762
|
/**
|
|
805
763
|
* This field shall indicate the user ID.
|
|
806
764
|
*
|
|
807
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
765
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.1
|
|
808
766
|
*/
|
|
809
767
|
userIndex: TlvField(0, TlvUInt16.bound({ min: 1 })),
|
|
810
768
|
|
|
811
769
|
/**
|
|
812
770
|
* This field shall contain a string to use as a human readable identifier for the user.
|
|
813
771
|
*
|
|
814
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
772
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.2
|
|
815
773
|
*/
|
|
816
774
|
userName: TlvField(1, TlvNullable(TlvString.bound({ maxLength: 10 }))),
|
|
817
775
|
|
|
818
776
|
/**
|
|
819
777
|
* See UserUniqueID field.
|
|
820
778
|
*
|
|
821
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
779
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.3
|
|
822
780
|
*/
|
|
823
781
|
userUniqueId: TlvField(2, TlvNullable(TlvUInt32)),
|
|
824
782
|
|
|
825
783
|
/**
|
|
826
784
|
* This field shall indicate the UserStatus assigned to the user when created or modified.
|
|
827
785
|
*
|
|
828
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
786
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.4
|
|
829
787
|
*/
|
|
830
788
|
userStatus: TlvField(3, TlvNullable(TlvEnum<UserStatus>())),
|
|
831
789
|
|
|
832
790
|
/**
|
|
833
791
|
* This field shall indicate the UserType assigned to this user when created or modified.
|
|
834
792
|
*
|
|
835
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
793
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.5
|
|
836
794
|
*/
|
|
837
795
|
userType: TlvField(4, TlvNullable(TlvEnum<UserType>())),
|
|
838
796
|
|
|
839
797
|
/**
|
|
840
798
|
* This field shall indicate the CredentialRule set for this user.
|
|
841
799
|
*
|
|
842
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
800
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.6
|
|
843
801
|
*/
|
|
844
802
|
credentialRule: TlvField(5, TlvNullable(TlvEnum<CredentialRule>())),
|
|
845
803
|
|
|
846
804
|
/**
|
|
847
805
|
* This field shall contain a list of credentials for this user.
|
|
848
806
|
*
|
|
849
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
807
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.7
|
|
850
808
|
*/
|
|
851
809
|
credentials: TlvField(6, TlvNullable(TlvArray(TlvCredential, { minLength: 0 }))),
|
|
852
810
|
|
|
@@ -856,7 +814,7 @@ export namespace DoorLock {
|
|
|
856
814
|
* the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the original creator
|
|
857
815
|
* fabric was deleted.
|
|
858
816
|
*
|
|
859
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
817
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.8
|
|
860
818
|
*/
|
|
861
819
|
creatorFabricIndex: TlvField(7, TlvNullable(TlvFabricIndex)),
|
|
862
820
|
|
|
@@ -866,7 +824,7 @@ export namespace DoorLock {
|
|
|
866
824
|
* modified outside the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the
|
|
867
825
|
* last modifier fabric was deleted.
|
|
868
826
|
*
|
|
869
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
827
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.9
|
|
870
828
|
*/
|
|
871
829
|
lastModifiedFabricIndex: TlvField(8, TlvNullable(TlvFabricIndex)),
|
|
872
830
|
|
|
@@ -876,7 +834,7 @@ export namespace DoorLock {
|
|
|
876
834
|
* entry after the requested UserIndex in the User database and shall be null if there are no more occupied
|
|
877
835
|
* entries.
|
|
878
836
|
*
|
|
879
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
837
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34.10
|
|
880
838
|
*/
|
|
881
839
|
nextUserIndex: TlvField(9, TlvNullable(TlvUInt16.bound({ min: 1 })))
|
|
882
840
|
});
|
|
@@ -888,20 +846,20 @@ export namespace DoorLock {
|
|
|
888
846
|
* UserUniqueID, UserStatus, UserType, CredentialRule, Credentials, CreatorFabricIndex, and LastModifiedFabricIndex
|
|
889
847
|
* shall all be null in the response.
|
|
890
848
|
*
|
|
891
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
849
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.34
|
|
892
850
|
*/
|
|
893
851
|
export interface GetUserResponse extends TypeFromSchema<typeof TlvGetUserResponse> {}
|
|
894
852
|
|
|
895
853
|
/**
|
|
896
854
|
* Input to the DoorLock clearUser command
|
|
897
855
|
*
|
|
898
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
856
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.35
|
|
899
857
|
*/
|
|
900
858
|
export const TlvClearUserRequest = TlvObject({
|
|
901
859
|
/**
|
|
902
860
|
* This field shall specify a valid User index or 0xFFFE to indicate all user slots shall be cleared.
|
|
903
861
|
*
|
|
904
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
862
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.35.1
|
|
905
863
|
*/
|
|
906
864
|
userIndex: TlvField(0, TlvUInt16)
|
|
907
865
|
});
|
|
@@ -909,20 +867,20 @@ export namespace DoorLock {
|
|
|
909
867
|
/**
|
|
910
868
|
* Input to the DoorLock clearUser command
|
|
911
869
|
*
|
|
912
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
870
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.35
|
|
913
871
|
*/
|
|
914
872
|
export interface ClearUserRequest extends TypeFromSchema<typeof TlvClearUserRequest> {}
|
|
915
873
|
|
|
916
874
|
/**
|
|
917
875
|
* Input to the DoorLock setCredential command
|
|
918
876
|
*
|
|
919
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
877
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36
|
|
920
878
|
*/
|
|
921
879
|
export const TlvSetCredentialRequest = TlvObject({
|
|
922
880
|
/**
|
|
923
881
|
* This field shall indicate the set credential operation type requested.
|
|
924
882
|
*
|
|
925
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
883
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.1
|
|
926
884
|
*/
|
|
927
885
|
operationType: TlvField(0, TlvEnum<DataOperationType>()),
|
|
928
886
|
|
|
@@ -930,7 +888,7 @@ export namespace DoorLock {
|
|
|
930
888
|
* This field shall contain a credential structure that contains the CredentialTypeEnum and the credential
|
|
931
889
|
* index (if applicable or 0 if not) to set.
|
|
932
890
|
*
|
|
933
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
891
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.2
|
|
934
892
|
*/
|
|
935
893
|
credential: TlvField(1, TlvCredential),
|
|
936
894
|
|
|
@@ -939,7 +897,7 @@ export namespace DoorLock {
|
|
|
939
897
|
* of the credential data shall conform to the limits of the CredentialType specified in the Credential
|
|
940
898
|
* structure otherwise an INVALID_COMMAND status shall be returned in the SetCredentialResponse command.
|
|
941
899
|
*
|
|
942
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
900
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.3
|
|
943
901
|
*/
|
|
944
902
|
credentialData: TlvField(2, TlvByteString),
|
|
945
903
|
|
|
@@ -948,7 +906,7 @@ export namespace DoorLock {
|
|
|
948
906
|
* or modified. This shall be null if OperationType is add and a new credential and user is being added at the
|
|
949
907
|
* same time.
|
|
950
908
|
*
|
|
951
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
909
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.4
|
|
952
910
|
*/
|
|
953
911
|
userIndex: TlvField(3, TlvNullable(TlvUInt16.bound({ min: 1 }))),
|
|
954
912
|
|
|
@@ -956,7 +914,7 @@ export namespace DoorLock {
|
|
|
956
914
|
* This field shall indicate the user status to use in the new user record if a new user is being created. This
|
|
957
915
|
* shall be null if OperationType is Modify. This may be null when adding a new credential and user.
|
|
958
916
|
*
|
|
959
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
917
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.5
|
|
960
918
|
*/
|
|
961
919
|
userStatus: TlvField(4, TlvNullable(TlvEnum<UserStatus>())),
|
|
962
920
|
|
|
@@ -964,7 +922,7 @@ export namespace DoorLock {
|
|
|
964
922
|
* This field shall indicate the user type to use in the new user record if a new user is being created. This
|
|
965
923
|
* shall be null if OperationType is Modify. This may be null when adding a new credential and user.
|
|
966
924
|
*
|
|
967
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
925
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36.6
|
|
968
926
|
*/
|
|
969
927
|
userType: TlvField(5, TlvNullable(TlvEnum<UserType>()))
|
|
970
928
|
});
|
|
@@ -972,14 +930,14 @@ export namespace DoorLock {
|
|
|
972
930
|
/**
|
|
973
931
|
* Input to the DoorLock setCredential command
|
|
974
932
|
*
|
|
975
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
933
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36
|
|
976
934
|
*/
|
|
977
935
|
export interface SetCredentialRequest extends TypeFromSchema<typeof TlvSetCredentialRequest> {}
|
|
978
936
|
|
|
979
937
|
/**
|
|
980
938
|
* Returns the status for setting the specified credential.
|
|
981
939
|
*
|
|
982
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
940
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.37
|
|
983
941
|
*/
|
|
984
942
|
export const TlvSetCredentialResponse = TlvObject({
|
|
985
943
|
/**
|
|
@@ -997,8 +955,15 @@ export namespace DoorLock {
|
|
|
997
955
|
* • DUPLICATE, if CredentialData provided is a duplicate of another credential with the same CredentialType
|
|
998
956
|
* (e.g. duplicate PIN code).
|
|
999
957
|
*
|
|
1000
|
-
* • RESOURCE_EXHAUSTED, if OperationType is Add and the
|
|
1001
|
-
*
|
|
958
|
+
* • RESOURCE_EXHAUSTED, if OperationType is Add and the new credential cannot be added due to resource
|
|
959
|
+
* constraints such as:
|
|
960
|
+
*
|
|
961
|
+
* ◦ The user referred to by UserIndex already has NumberOfCredentialsSupportedPerUser credentials
|
|
962
|
+
* associated.
|
|
963
|
+
*
|
|
964
|
+
* ◦ The credential is of type AliroEvictableEndpointKey or AliroNonEvictableEndpointKey, and adding it
|
|
965
|
+
* would cause the total number of credentials of those two types to exceed
|
|
966
|
+
* NumberOfAliroEndpointKeysSupported.
|
|
1002
967
|
*
|
|
1003
968
|
* • INVALID_COMMAND, if one or more fields violate constraints or are invalid.
|
|
1004
969
|
*
|
|
@@ -1007,7 +972,7 @@ export namespace DoorLock {
|
|
|
1007
972
|
*
|
|
1008
973
|
* • INVALID_COMMAND, if OperationType is Modify and UserIndex points to an available slot.
|
|
1009
974
|
*
|
|
1010
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
975
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.37.1
|
|
1011
976
|
*/
|
|
1012
977
|
status: TlvField(0, TlvEnum<Status>()),
|
|
1013
978
|
|
|
@@ -1018,7 +983,7 @@ export namespace DoorLock {
|
|
|
1018
983
|
* created. If the OperationType was Add and an existing User was associated with the new credential then this
|
|
1019
984
|
* shall be null.
|
|
1020
985
|
*
|
|
1021
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
986
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.37.2
|
|
1022
987
|
*/
|
|
1023
988
|
userIndex: TlvField(1, TlvNullable(TlvUInt16.bound({ min: 1 }))),
|
|
1024
989
|
|
|
@@ -1029,7 +994,7 @@ export namespace DoorLock {
|
|
|
1029
994
|
* be null if there are no more available entries. The NextCredentialIndex reported shall NOT exceed the
|
|
1030
995
|
* maximum number of credentials for a particular credential type.
|
|
1031
996
|
*
|
|
1032
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
997
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.37.3
|
|
1033
998
|
*/
|
|
1034
999
|
nextCredentialIndex: TlvOptionalField(2, TlvNullable(TlvUInt16))
|
|
1035
1000
|
});
|
|
@@ -1037,21 +1002,21 @@ export namespace DoorLock {
|
|
|
1037
1002
|
/**
|
|
1038
1003
|
* Returns the status for setting the specified credential.
|
|
1039
1004
|
*
|
|
1040
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1005
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.37
|
|
1041
1006
|
*/
|
|
1042
1007
|
export interface SetCredentialResponse extends TypeFromSchema<typeof TlvSetCredentialResponse> {}
|
|
1043
1008
|
|
|
1044
1009
|
/**
|
|
1045
1010
|
* Input to the DoorLock getCredentialStatus command
|
|
1046
1011
|
*
|
|
1047
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1012
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.38
|
|
1048
1013
|
*/
|
|
1049
1014
|
export const TlvGetCredentialStatusRequest = TlvObject({
|
|
1050
1015
|
/**
|
|
1051
1016
|
* This field shall contain a credential structure that contains the CredentialTypeEnum and the credential
|
|
1052
1017
|
* index (if applicable or 0 if not) to retrieve the status for.
|
|
1053
1018
|
*
|
|
1054
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1019
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.38.1
|
|
1055
1020
|
*/
|
|
1056
1021
|
credential: TlvField(0, TlvCredential)
|
|
1057
1022
|
});
|
|
@@ -1059,21 +1024,21 @@ export namespace DoorLock {
|
|
|
1059
1024
|
/**
|
|
1060
1025
|
* Input to the DoorLock getCredentialStatus command
|
|
1061
1026
|
*
|
|
1062
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1027
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.38
|
|
1063
1028
|
*/
|
|
1064
1029
|
export interface GetCredentialStatusRequest extends TypeFromSchema<typeof TlvGetCredentialStatusRequest> {}
|
|
1065
1030
|
|
|
1066
1031
|
/**
|
|
1067
1032
|
* Returns the status for the specified credential.
|
|
1068
1033
|
*
|
|
1069
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1034
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39
|
|
1070
1035
|
*/
|
|
1071
1036
|
export const TlvGetCredentialStatusResponse = TlvObject({
|
|
1072
1037
|
/**
|
|
1073
1038
|
* This field shall indicate if the requested credential type and index exists and is populated for the
|
|
1074
1039
|
* requested user index.
|
|
1075
1040
|
*
|
|
1076
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1041
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39.1
|
|
1077
1042
|
*/
|
|
1078
1043
|
credentialExists: TlvField(0, TlvBoolean),
|
|
1079
1044
|
|
|
@@ -1082,7 +1047,7 @@ export namespace DoorLock {
|
|
|
1082
1047
|
* CredentialType requested was ProgrammingPIN then UserIndex shall be null; otherwise, UserIndex shall be null
|
|
1083
1048
|
* if CredentialExists is set to False and shall NOT be null if CredentialExists is set to True.
|
|
1084
1049
|
*
|
|
1085
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1050
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39.2
|
|
1086
1051
|
*/
|
|
1087
1052
|
userIndex: TlvField(1, TlvNullable(TlvUInt16.bound({ min: 1 }))),
|
|
1088
1053
|
|
|
@@ -1092,7 +1057,7 @@ export namespace DoorLock {
|
|
|
1092
1057
|
* credential was created outside the Interaction Model) and shall NOT be null otherwise. This value shall be
|
|
1093
1058
|
* set to 0 if the original creator fabric was deleted.
|
|
1094
1059
|
*
|
|
1095
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1060
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39.3
|
|
1096
1061
|
*/
|
|
1097
1062
|
creatorFabricIndex: TlvField(2, TlvNullable(TlvFabricIndex)),
|
|
1098
1063
|
|
|
@@ -1102,33 +1067,54 @@ export namespace DoorLock {
|
|
|
1102
1067
|
* credential was modified outside the Interaction Model) and shall NOT be null otherwise. This value shall be
|
|
1103
1068
|
* set to 0 if the last modifier fabric was deleted.
|
|
1104
1069
|
*
|
|
1105
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1070
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39.4
|
|
1106
1071
|
*/
|
|
1107
1072
|
lastModifiedFabricIndex: TlvField(3, TlvNullable(TlvFabricIndex)),
|
|
1108
1073
|
|
|
1109
1074
|
/**
|
|
1110
1075
|
* This field shall indicate the next occupied index in the database for the credential type requested, which
|
|
1111
1076
|
* is useful for quickly identifying occupied credential slots in the database. This shall NOT be null if there
|
|
1112
|
-
* is at least one occupied entry after the requested credential index in the corresponding
|
|
1113
|
-
*
|
|
1114
|
-
*
|
|
1077
|
+
* is at least one occupied entry after the requested credential index in the corresponding
|
|
1078
|
+
*
|
|
1079
|
+
* database and shall be null if there are no more occupied entries. The NextCredentialIndex reported shall NOT
|
|
1080
|
+
* exceed the maximum number of credentials for a particular credential type.
|
|
1081
|
+
*
|
|
1082
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39.5
|
|
1083
|
+
*/
|
|
1084
|
+
nextCredentialIndex: TlvOptionalField(4, TlvNullable(TlvUInt16)),
|
|
1085
|
+
|
|
1086
|
+
/**
|
|
1087
|
+
* This field shall indicate the credential data for the requested user index.
|
|
1088
|
+
*
|
|
1089
|
+
* If the CredentialType in the GetCredentialStatus command was not AliroCredentialIssuerKey,
|
|
1090
|
+
* AliroEvictableEndpointKey, or AliroNonEvictableEndpointKey, this field shall NOT be included.
|
|
1091
|
+
*
|
|
1092
|
+
* Otherwise, if CredentialExists is false this field shall be null.
|
|
1115
1093
|
*
|
|
1116
|
-
*
|
|
1094
|
+
* Otherwise, the value of this field shall be the value of the relevant credential, as a 65-byte uncompressed
|
|
1095
|
+
* elliptic curve public key as defined in section 2.3.3 of SEC 1.
|
|
1096
|
+
*
|
|
1097
|
+
* NOTE
|
|
1098
|
+
*
|
|
1099
|
+
* Since the Aliro credentials are public keys, there is no security risk in allowing them to be read.
|
|
1100
|
+
* Possession of the credential octet string does not allow operating the lock.
|
|
1101
|
+
*
|
|
1102
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39.6
|
|
1117
1103
|
*/
|
|
1118
|
-
|
|
1104
|
+
credentialData: TlvOptionalField(5, TlvNullable(TlvByteString))
|
|
1119
1105
|
});
|
|
1120
1106
|
|
|
1121
1107
|
/**
|
|
1122
1108
|
* Returns the status for the specified credential.
|
|
1123
1109
|
*
|
|
1124
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1110
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.39
|
|
1125
1111
|
*/
|
|
1126
1112
|
export interface GetCredentialStatusResponse extends TypeFromSchema<typeof TlvGetCredentialStatusResponse> {}
|
|
1127
1113
|
|
|
1128
1114
|
/**
|
|
1129
1115
|
* Input to the DoorLock clearCredential command
|
|
1130
1116
|
*
|
|
1131
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1117
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40
|
|
1132
1118
|
*/
|
|
1133
1119
|
export const TlvClearCredentialRequest = TlvObject({
|
|
1134
1120
|
/**
|
|
@@ -1136,7 +1122,7 @@ export namespace DoorLock {
|
|
|
1136
1122
|
* index (0xFFFE for all credentials or 0 if not applicable) to clear. This shall be null if clearing all
|
|
1137
1123
|
* credential types otherwise it shall NOT be null.
|
|
1138
1124
|
*
|
|
1139
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1125
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40.1
|
|
1140
1126
|
*/
|
|
1141
1127
|
credential: TlvField(0, TlvNullable(TlvCredential))
|
|
1142
1128
|
});
|
|
@@ -1144,14 +1130,14 @@ export namespace DoorLock {
|
|
|
1144
1130
|
/**
|
|
1145
1131
|
* Input to the DoorLock clearCredential command
|
|
1146
1132
|
*
|
|
1147
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1133
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40
|
|
1148
1134
|
*/
|
|
1149
1135
|
export interface ClearCredentialRequest extends TypeFromSchema<typeof TlvClearCredentialRequest> {}
|
|
1150
1136
|
|
|
1151
1137
|
/**
|
|
1152
1138
|
* This enumeration shall indicate the data type that is being or has changed.
|
|
1153
1139
|
*
|
|
1154
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
1140
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.12
|
|
1155
1141
|
*/
|
|
1156
1142
|
export enum LockDataType {
|
|
1157
1143
|
/**
|
|
@@ -1207,13 +1193,28 @@ export namespace DoorLock {
|
|
|
1207
1193
|
/**
|
|
1208
1194
|
* Lock user face information was added, cleared, or modified.
|
|
1209
1195
|
*/
|
|
1210
|
-
Face = 10
|
|
1196
|
+
Face = 10,
|
|
1197
|
+
|
|
1198
|
+
/**
|
|
1199
|
+
* An Aliro credential issuer key credential was added, cleared, or modified.
|
|
1200
|
+
*/
|
|
1201
|
+
AliroCredentialIssuerKey = 11,
|
|
1202
|
+
|
|
1203
|
+
/**
|
|
1204
|
+
* An Aliro endpoint key credential which can be evicted credential was added, cleared, or modified.
|
|
1205
|
+
*/
|
|
1206
|
+
AliroEvictableEndpointKey = 12,
|
|
1207
|
+
|
|
1208
|
+
/**
|
|
1209
|
+
* An Aliro endpoint key credential which cannot be evicted was added, cleared, or modified.
|
|
1210
|
+
*/
|
|
1211
|
+
AliroNonEvictableEndpointKey = 13
|
|
1211
1212
|
}
|
|
1212
1213
|
|
|
1213
1214
|
/**
|
|
1214
1215
|
* This enumeration shall indicate the source of the Lock/Unlock or user change operation performed.
|
|
1215
1216
|
*
|
|
1216
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
1217
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.16
|
|
1217
1218
|
*/
|
|
1218
1219
|
export enum OperationSource {
|
|
1219
1220
|
/**
|
|
@@ -1264,7 +1265,13 @@ export namespace DoorLock {
|
|
|
1264
1265
|
/**
|
|
1265
1266
|
* Lock/unlock operation came from biometric source (e.g. face, fingerprint/fingervein)
|
|
1266
1267
|
*/
|
|
1267
|
-
Biometric = 9
|
|
1268
|
+
Biometric = 9,
|
|
1269
|
+
|
|
1270
|
+
/**
|
|
1271
|
+
* Lock/unlock operation came from an interaction defined in [Aliro], or user change operation was a step-up
|
|
1272
|
+
* credential provisioning as defined in [Aliro]
|
|
1273
|
+
*/
|
|
1274
|
+
Aliro = 10
|
|
1268
1275
|
}
|
|
1269
1276
|
|
|
1270
1277
|
/**
|
|
@@ -1384,36 +1391,41 @@ export namespace DoorLock {
|
|
|
1384
1391
|
/**
|
|
1385
1392
|
* Input to the DoorLock setWeekDaySchedule command
|
|
1386
1393
|
*
|
|
1387
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1394
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12
|
|
1388
1395
|
*/
|
|
1389
1396
|
export const TlvSetWeekDayScheduleRequest = TlvObject({
|
|
1390
1397
|
/**
|
|
1391
1398
|
* This field shall indicate the index of the Week Day schedule.
|
|
1392
1399
|
*
|
|
1393
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1400
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.1
|
|
1394
1401
|
*/
|
|
1395
1402
|
weekDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
|
|
1396
1403
|
|
|
1397
|
-
|
|
1404
|
+
/**
|
|
1405
|
+
* This field shall indicate the user ID.
|
|
1406
|
+
*
|
|
1407
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.2
|
|
1408
|
+
*/
|
|
1409
|
+
userIndex: TlvField(1, TlvUInt16.bound({ min: 1 })),
|
|
1398
1410
|
|
|
1399
1411
|
/**
|
|
1400
1412
|
* This field shall indicate which week days the schedule is active.
|
|
1401
1413
|
*
|
|
1402
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1414
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.3
|
|
1403
1415
|
*/
|
|
1404
1416
|
daysMask: TlvField(2, TlvBitmap(TlvUInt8, DaysMask)),
|
|
1405
1417
|
|
|
1406
1418
|
/**
|
|
1407
1419
|
* This field shall indicate the starting hour for the Week Day schedule.
|
|
1408
1420
|
*
|
|
1409
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1421
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.4
|
|
1410
1422
|
*/
|
|
1411
1423
|
startHour: TlvField(3, TlvUInt8.bound({ max: 23 })),
|
|
1412
1424
|
|
|
1413
1425
|
/**
|
|
1414
1426
|
* This field shall indicate the starting minute for the Week Day schedule.
|
|
1415
1427
|
*
|
|
1416
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1428
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.5
|
|
1417
1429
|
*/
|
|
1418
1430
|
startMinute: TlvField(4, TlvUInt8.bound({ max: 59 })),
|
|
1419
1431
|
|
|
@@ -1421,7 +1433,7 @@ export namespace DoorLock {
|
|
|
1421
1433
|
* This field shall indicate the ending hour for the Week Day schedule. EndHour shall be equal to or greater
|
|
1422
1434
|
* than StartHour.
|
|
1423
1435
|
*
|
|
1424
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1436
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.6
|
|
1425
1437
|
*/
|
|
1426
1438
|
endHour: TlvField(5, TlvUInt8.bound({ max: 23 })),
|
|
1427
1439
|
|
|
@@ -1432,7 +1444,7 @@ export namespace DoorLock {
|
|
|
1432
1444
|
* If the EndHour is equal to 23 and the EndMinute is equal to 59 the Lock shall grant access to the user up
|
|
1433
1445
|
* until 23:59:59.
|
|
1434
1446
|
*
|
|
1435
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1447
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12.7
|
|
1436
1448
|
*/
|
|
1437
1449
|
endMinute: TlvField(6, TlvUInt8.bound({ max: 59 }))
|
|
1438
1450
|
});
|
|
@@ -1440,43 +1452,46 @@ export namespace DoorLock {
|
|
|
1440
1452
|
/**
|
|
1441
1453
|
* Input to the DoorLock setWeekDaySchedule command
|
|
1442
1454
|
*
|
|
1443
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1455
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12
|
|
1444
1456
|
*/
|
|
1445
1457
|
export interface SetWeekDayScheduleRequest extends TypeFromSchema<typeof TlvSetWeekDayScheduleRequest> {}
|
|
1446
1458
|
|
|
1447
1459
|
/**
|
|
1448
1460
|
* Input to the DoorLock getWeekDaySchedule command
|
|
1449
1461
|
*
|
|
1450
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1462
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.13
|
|
1451
1463
|
*/
|
|
1452
1464
|
export const TlvGetWeekDayScheduleRequest = TlvObject({
|
|
1453
1465
|
weekDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
|
|
1454
|
-
|
|
1466
|
+
userIndex: TlvField(1, TlvUInt16.bound({ min: 1 }))
|
|
1455
1467
|
});
|
|
1456
1468
|
|
|
1457
1469
|
/**
|
|
1458
1470
|
* Input to the DoorLock getWeekDaySchedule command
|
|
1459
1471
|
*
|
|
1460
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1472
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.13
|
|
1461
1473
|
*/
|
|
1462
1474
|
export interface GetWeekDayScheduleRequest extends TypeFromSchema<typeof TlvGetWeekDayScheduleRequest> {}
|
|
1463
1475
|
|
|
1464
1476
|
/**
|
|
1465
1477
|
* Returns the weekly repeating schedule data for the specified schedule index.
|
|
1466
1478
|
*
|
|
1467
|
-
*
|
|
1468
|
-
*
|
|
1469
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16
|
|
1479
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14
|
|
1470
1480
|
*/
|
|
1471
1481
|
export const TlvGetWeekDayScheduleResponse = TlvObject({
|
|
1472
1482
|
/**
|
|
1473
1483
|
* This field shall indicate the index of the Week Day schedule.
|
|
1474
1484
|
*
|
|
1475
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1485
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.1
|
|
1476
1486
|
*/
|
|
1477
1487
|
weekDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
|
|
1478
1488
|
|
|
1479
|
-
|
|
1489
|
+
/**
|
|
1490
|
+
* This field shall indicate the user ID.
|
|
1491
|
+
*
|
|
1492
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.2
|
|
1493
|
+
*/
|
|
1494
|
+
userIndex: TlvField(1, TlvUInt16.bound({ min: 1 })),
|
|
1480
1495
|
|
|
1481
1496
|
/**
|
|
1482
1497
|
* Status shall be one of the following values:
|
|
@@ -1492,7 +1507,7 @@ export namespace DoorLock {
|
|
|
1492
1507
|
* If this field is SUCCESS, the optional fields for this command shall be present. For other (error) status
|
|
1493
1508
|
* values, only the fields up to the status field shall be present.
|
|
1494
1509
|
*
|
|
1495
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1510
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.3
|
|
1496
1511
|
*/
|
|
1497
1512
|
status: TlvField(2, TlvEnum<Status>()),
|
|
1498
1513
|
|
|
@@ -1501,14 +1516,14 @@ export namespace DoorLock {
|
|
|
1501
1516
|
/**
|
|
1502
1517
|
* This field shall indicate the starting hour for the Week Day schedule.
|
|
1503
1518
|
*
|
|
1504
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1519
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.4
|
|
1505
1520
|
*/
|
|
1506
1521
|
startHour: TlvOptionalField(4, TlvUInt8.bound({ max: 23 })),
|
|
1507
1522
|
|
|
1508
1523
|
/**
|
|
1509
1524
|
* This field shall indicate the starting minute for the Week Day schedule.
|
|
1510
1525
|
*
|
|
1511
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1526
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.5
|
|
1512
1527
|
*/
|
|
1513
1528
|
startMinute: TlvOptionalField(5, TlvUInt8.bound({ max: 59 })),
|
|
1514
1529
|
|
|
@@ -1516,7 +1531,7 @@ export namespace DoorLock {
|
|
|
1516
1531
|
* This field shall indicate the ending hour for the Week Day schedule. EndHour shall be equal to or greater
|
|
1517
1532
|
* than StartHour.
|
|
1518
1533
|
*
|
|
1519
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1534
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.6
|
|
1520
1535
|
*/
|
|
1521
1536
|
endHour: TlvOptionalField(6, TlvUInt8.bound({ max: 23 })),
|
|
1522
1537
|
|
|
@@ -1524,7 +1539,7 @@ export namespace DoorLock {
|
|
|
1524
1539
|
* This field shall indicate the ending minute for the Week Day schedule. If EndHour is equal to StartHour then
|
|
1525
1540
|
* EndMinute shall be greater than StartMinute.
|
|
1526
1541
|
*
|
|
1527
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1542
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14.7
|
|
1528
1543
|
*/
|
|
1529
1544
|
endMinute: TlvOptionalField(7, TlvUInt8.bound({ max: 59 }))
|
|
1530
1545
|
});
|
|
@@ -1532,56 +1547,64 @@ export namespace DoorLock {
|
|
|
1532
1547
|
/**
|
|
1533
1548
|
* Returns the weekly repeating schedule data for the specified schedule index.
|
|
1534
1549
|
*
|
|
1535
|
-
*
|
|
1536
|
-
*
|
|
1537
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16
|
|
1550
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.14
|
|
1538
1551
|
*/
|
|
1539
1552
|
export interface GetWeekDayScheduleResponse extends TypeFromSchema<typeof TlvGetWeekDayScheduleResponse> {}
|
|
1540
1553
|
|
|
1541
1554
|
/**
|
|
1542
1555
|
* Input to the DoorLock clearWeekDaySchedule command
|
|
1543
1556
|
*
|
|
1544
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1557
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.15
|
|
1545
1558
|
*/
|
|
1546
1559
|
export const TlvClearWeekDayScheduleRequest = TlvObject({
|
|
1547
1560
|
/**
|
|
1548
1561
|
* This field shall indicate the Week Day schedule index to clear or 0xFE to clear all Week Day schedules for
|
|
1549
1562
|
* the specified user.
|
|
1550
1563
|
*
|
|
1551
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1564
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.15.1
|
|
1552
1565
|
*/
|
|
1553
1566
|
weekDayIndex: TlvField(0, TlvUInt8),
|
|
1554
1567
|
|
|
1555
|
-
|
|
1568
|
+
/**
|
|
1569
|
+
* This field shall indicate the user ID.
|
|
1570
|
+
*
|
|
1571
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.15.2
|
|
1572
|
+
*/
|
|
1573
|
+
userIndex: TlvField(1, TlvUInt16.bound({ min: 1 }))
|
|
1556
1574
|
});
|
|
1557
1575
|
|
|
1558
1576
|
/**
|
|
1559
1577
|
* Input to the DoorLock clearWeekDaySchedule command
|
|
1560
1578
|
*
|
|
1561
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1579
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.15
|
|
1562
1580
|
*/
|
|
1563
1581
|
export interface ClearWeekDayScheduleRequest extends TypeFromSchema<typeof TlvClearWeekDayScheduleRequest> {}
|
|
1564
1582
|
|
|
1565
1583
|
/**
|
|
1566
1584
|
* Input to the DoorLock setYearDaySchedule command
|
|
1567
1585
|
*
|
|
1568
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1586
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16
|
|
1569
1587
|
*/
|
|
1570
1588
|
export const TlvSetYearDayScheduleRequest = TlvObject({
|
|
1571
1589
|
/**
|
|
1572
1590
|
* This field shall indicate the index of the Year Day schedule.
|
|
1573
1591
|
*
|
|
1574
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1592
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.1
|
|
1575
1593
|
*/
|
|
1576
1594
|
yearDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
|
|
1577
1595
|
|
|
1578
|
-
|
|
1596
|
+
/**
|
|
1597
|
+
* This field shall indicate the user ID.
|
|
1598
|
+
*
|
|
1599
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.2
|
|
1600
|
+
*/
|
|
1601
|
+
userIndex: TlvField(1, TlvUInt16.bound({ min: 1 })),
|
|
1579
1602
|
|
|
1580
1603
|
/**
|
|
1581
1604
|
* This field shall indicate the starting time for the Year Day schedule in Epoch Time in Seconds with local
|
|
1582
1605
|
* time offset based on the local timezone and DST offset on the day represented by the value.
|
|
1583
1606
|
*
|
|
1584
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1607
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.3
|
|
1585
1608
|
*/
|
|
1586
1609
|
localStartTime: TlvField(2, TlvEpochS),
|
|
1587
1610
|
|
|
@@ -1590,7 +1613,7 @@ export namespace DoorLock {
|
|
|
1590
1613
|
* offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be
|
|
1591
1614
|
* greater than LocalStartTime.
|
|
1592
1615
|
*
|
|
1593
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1616
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16.4
|
|
1594
1617
|
*/
|
|
1595
1618
|
localEndTime: TlvField(3, TlvEpochS)
|
|
1596
1619
|
});
|
|
@@ -1598,43 +1621,46 @@ export namespace DoorLock {
|
|
|
1598
1621
|
/**
|
|
1599
1622
|
* Input to the DoorLock setYearDaySchedule command
|
|
1600
1623
|
*
|
|
1601
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1624
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16
|
|
1602
1625
|
*/
|
|
1603
1626
|
export interface SetYearDayScheduleRequest extends TypeFromSchema<typeof TlvSetYearDayScheduleRequest> {}
|
|
1604
1627
|
|
|
1605
1628
|
/**
|
|
1606
1629
|
* Input to the DoorLock getYearDaySchedule command
|
|
1607
1630
|
*
|
|
1608
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1631
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.17
|
|
1609
1632
|
*/
|
|
1610
1633
|
export const TlvGetYearDayScheduleRequest = TlvObject({
|
|
1611
1634
|
yearDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
|
|
1612
|
-
|
|
1635
|
+
userIndex: TlvField(1, TlvUInt16.bound({ min: 1 }))
|
|
1613
1636
|
});
|
|
1614
1637
|
|
|
1615
1638
|
/**
|
|
1616
1639
|
* Input to the DoorLock getYearDaySchedule command
|
|
1617
1640
|
*
|
|
1618
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1641
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.17
|
|
1619
1642
|
*/
|
|
1620
1643
|
export interface GetYearDayScheduleRequest extends TypeFromSchema<typeof TlvGetYearDayScheduleRequest> {}
|
|
1621
1644
|
|
|
1622
1645
|
/**
|
|
1623
1646
|
* Returns the year day schedule data for the specified schedule and user indexes.
|
|
1624
1647
|
*
|
|
1625
|
-
*
|
|
1626
|
-
*
|
|
1627
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20
|
|
1648
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18
|
|
1628
1649
|
*/
|
|
1629
1650
|
export const TlvGetYearDayScheduleResponse = TlvObject({
|
|
1630
1651
|
/**
|
|
1631
1652
|
* This field shall indicate the index of the Year Day schedule.
|
|
1632
1653
|
*
|
|
1633
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1654
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.1
|
|
1634
1655
|
*/
|
|
1635
1656
|
yearDayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
|
|
1636
1657
|
|
|
1637
|
-
|
|
1658
|
+
/**
|
|
1659
|
+
* This field shall indicate the user ID.
|
|
1660
|
+
*
|
|
1661
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.2
|
|
1662
|
+
*/
|
|
1663
|
+
userIndex: TlvField(1, TlvUInt16.bound({ min: 1 })),
|
|
1638
1664
|
|
|
1639
1665
|
/**
|
|
1640
1666
|
* Status shall be one of the following values:
|
|
@@ -1650,7 +1676,7 @@ export namespace DoorLock {
|
|
|
1650
1676
|
* If this field is SUCCESS, the optional fields for this command shall be present. For other (error) status
|
|
1651
1677
|
* values, only the fields up to the status field shall be present.
|
|
1652
1678
|
*
|
|
1653
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1679
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.3
|
|
1654
1680
|
*/
|
|
1655
1681
|
status: TlvField(2, TlvEnum<Status>()),
|
|
1656
1682
|
|
|
@@ -1659,7 +1685,7 @@ export namespace DoorLock {
|
|
|
1659
1685
|
* time offset based on the local timezone and DST offset on the day represented by the value. This shall be
|
|
1660
1686
|
* null if the schedule is not set for the YearDayIndex and UserIndex provided.
|
|
1661
1687
|
*
|
|
1662
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1688
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.4
|
|
1663
1689
|
*/
|
|
1664
1690
|
localStartTime: TlvOptionalField(2, TlvEpochS),
|
|
1665
1691
|
|
|
@@ -1669,7 +1695,7 @@ export namespace DoorLock {
|
|
|
1669
1695
|
* greater than LocalStartTime. This shall be null if the schedule is not set for the YearDayIndex and
|
|
1670
1696
|
* UserIndex provided.
|
|
1671
1697
|
*
|
|
1672
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1698
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18.5
|
|
1673
1699
|
*/
|
|
1674
1700
|
localEndTime: TlvOptionalField(3, TlvEpochS)
|
|
1675
1701
|
});
|
|
@@ -1677,33 +1703,36 @@ export namespace DoorLock {
|
|
|
1677
1703
|
/**
|
|
1678
1704
|
* Returns the year day schedule data for the specified schedule and user indexes.
|
|
1679
1705
|
*
|
|
1680
|
-
*
|
|
1681
|
-
*
|
|
1682
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20
|
|
1706
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.18
|
|
1683
1707
|
*/
|
|
1684
1708
|
export interface GetYearDayScheduleResponse extends TypeFromSchema<typeof TlvGetYearDayScheduleResponse> {}
|
|
1685
1709
|
|
|
1686
1710
|
/**
|
|
1687
1711
|
* Input to the DoorLock clearYearDaySchedule command
|
|
1688
1712
|
*
|
|
1689
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1713
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.19
|
|
1690
1714
|
*/
|
|
1691
1715
|
export const TlvClearYearDayScheduleRequest = TlvObject({
|
|
1692
1716
|
/**
|
|
1693
1717
|
* This field shall indicate the Year Day schedule index to clear or 0xFE to clear all Year Day schedules for
|
|
1694
1718
|
* the specified user.
|
|
1695
1719
|
*
|
|
1696
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1720
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.19.1
|
|
1697
1721
|
*/
|
|
1698
1722
|
yearDayIndex: TlvField(0, TlvUInt8),
|
|
1699
1723
|
|
|
1700
|
-
|
|
1724
|
+
/**
|
|
1725
|
+
* This field shall indicate the user ID.
|
|
1726
|
+
*
|
|
1727
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.19.2
|
|
1728
|
+
*/
|
|
1729
|
+
userIndex: TlvField(1, TlvUInt16.bound({ min: 1 }))
|
|
1701
1730
|
});
|
|
1702
1731
|
|
|
1703
1732
|
/**
|
|
1704
1733
|
* Input to the DoorLock clearYearDaySchedule command
|
|
1705
1734
|
*
|
|
1706
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1735
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.19
|
|
1707
1736
|
*/
|
|
1708
1737
|
export interface ClearYearDayScheduleRequest extends TypeFromSchema<typeof TlvClearYearDayScheduleRequest> {}
|
|
1709
1738
|
|
|
@@ -1721,20 +1750,20 @@ export namespace DoorLock {
|
|
|
1721
1750
|
* door lock shall NOT disable the radio or otherwise unbind or leave the network. It shall still respond to all
|
|
1722
1751
|
* other commands and requests.
|
|
1723
1752
|
*
|
|
1724
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
1753
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.15
|
|
1725
1754
|
*/
|
|
1726
1755
|
export enum OperatingMode {
|
|
1727
1756
|
/**
|
|
1728
1757
|
* The lock operates normally. All interfaces are enabled.
|
|
1729
1758
|
*
|
|
1730
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
1759
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.15.1
|
|
1731
1760
|
*/
|
|
1732
1761
|
Normal = 0,
|
|
1733
1762
|
|
|
1734
1763
|
/**
|
|
1735
1764
|
* Only remote interaction is enabled. The keypad shall only be operable by the master user.
|
|
1736
1765
|
*
|
|
1737
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
1766
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.15.2
|
|
1738
1767
|
*/
|
|
1739
1768
|
Vacation = 1,
|
|
1740
1769
|
|
|
@@ -1743,7 +1772,7 @@ export namespace DoorLock {
|
|
|
1743
1772
|
* mode. All external interaction with the door lock is disabled. This mode is intended to be used so that
|
|
1744
1773
|
* users, presumably inside the property, will have control over the entrance.
|
|
1745
1774
|
*
|
|
1746
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
1775
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.15.3
|
|
1747
1776
|
*/
|
|
1748
1777
|
Privacy = 2,
|
|
1749
1778
|
|
|
@@ -1752,7 +1781,7 @@ export namespace DoorLock {
|
|
|
1752
1781
|
* means of communication. It specifically applies to the Lock, Unlock, Toggle, and Unlock with Timeout
|
|
1753
1782
|
* Commands.
|
|
1754
1783
|
*
|
|
1755
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
1784
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.15.4
|
|
1756
1785
|
*/
|
|
1757
1786
|
NoRemoteLockUnlock = 3,
|
|
1758
1787
|
|
|
@@ -1760,7 +1789,7 @@ export namespace DoorLock {
|
|
|
1760
1789
|
* The lock is open or can be opened or closed at will without the use of a Keypad or other means of user
|
|
1761
1790
|
* validation (e.g. a lock for a business during work hours).
|
|
1762
1791
|
*
|
|
1763
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
1792
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.15.5
|
|
1764
1793
|
*/
|
|
1765
1794
|
Passage = 4
|
|
1766
1795
|
}
|
|
@@ -1768,13 +1797,13 @@ export namespace DoorLock {
|
|
|
1768
1797
|
/**
|
|
1769
1798
|
* Input to the DoorLock setHolidaySchedule command
|
|
1770
1799
|
*
|
|
1771
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1800
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20
|
|
1772
1801
|
*/
|
|
1773
1802
|
export const TlvSetHolidayScheduleRequest = TlvObject({
|
|
1774
1803
|
/**
|
|
1775
1804
|
* This field shall indicate the index of the Holiday schedule.
|
|
1776
1805
|
*
|
|
1777
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1806
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.1
|
|
1778
1807
|
*/
|
|
1779
1808
|
holidayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
|
|
1780
1809
|
|
|
@@ -1782,7 +1811,7 @@ export namespace DoorLock {
|
|
|
1782
1811
|
* This field shall indicate the starting time for the Holiday Day schedule in Epoch Time in Seconds with local
|
|
1783
1812
|
* time offset based on the local timezone and DST offset on the day represented by the value.
|
|
1784
1813
|
*
|
|
1785
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1814
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.2
|
|
1786
1815
|
*/
|
|
1787
1816
|
localStartTime: TlvField(1, TlvEpochS),
|
|
1788
1817
|
|
|
@@ -1791,14 +1820,14 @@ export namespace DoorLock {
|
|
|
1791
1820
|
* time offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime
|
|
1792
1821
|
* shall be greater than LocalStartTime.
|
|
1793
1822
|
*
|
|
1794
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1823
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.3
|
|
1795
1824
|
*/
|
|
1796
1825
|
localEndTime: TlvField(2, TlvEpochS),
|
|
1797
1826
|
|
|
1798
1827
|
/**
|
|
1799
1828
|
* This field shall indicate the operating mode to use during this Holiday schedule start/end time.
|
|
1800
1829
|
*
|
|
1801
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1830
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20.4
|
|
1802
1831
|
*/
|
|
1803
1832
|
operatingMode: TlvField(3, TlvEnum<OperatingMode>())
|
|
1804
1833
|
});
|
|
@@ -1806,36 +1835,34 @@ export namespace DoorLock {
|
|
|
1806
1835
|
/**
|
|
1807
1836
|
* Input to the DoorLock setHolidaySchedule command
|
|
1808
1837
|
*
|
|
1809
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1838
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20
|
|
1810
1839
|
*/
|
|
1811
1840
|
export interface SetHolidayScheduleRequest extends TypeFromSchema<typeof TlvSetHolidayScheduleRequest> {}
|
|
1812
1841
|
|
|
1813
1842
|
/**
|
|
1814
1843
|
* Input to the DoorLock getHolidaySchedule command
|
|
1815
1844
|
*
|
|
1816
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1845
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.21
|
|
1817
1846
|
*/
|
|
1818
1847
|
export const TlvGetHolidayScheduleRequest = TlvObject({ holidayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })) });
|
|
1819
1848
|
|
|
1820
1849
|
/**
|
|
1821
1850
|
* Input to the DoorLock getHolidaySchedule command
|
|
1822
1851
|
*
|
|
1823
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1852
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.21
|
|
1824
1853
|
*/
|
|
1825
1854
|
export interface GetHolidayScheduleRequest extends TypeFromSchema<typeof TlvGetHolidayScheduleRequest> {}
|
|
1826
1855
|
|
|
1827
1856
|
/**
|
|
1828
1857
|
* Returns the Holiday Schedule Entry for the specified Holiday ID.
|
|
1829
1858
|
*
|
|
1830
|
-
*
|
|
1831
|
-
*
|
|
1832
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24
|
|
1859
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22
|
|
1833
1860
|
*/
|
|
1834
1861
|
export const TlvGetHolidayScheduleResponse = TlvObject({
|
|
1835
1862
|
/**
|
|
1836
1863
|
* This field shall indicate the index of the Holiday schedule.
|
|
1837
1864
|
*
|
|
1838
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1865
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.1
|
|
1839
1866
|
*/
|
|
1840
1867
|
holidayIndex: TlvField(0, TlvUInt8.bound({ min: 1 })),
|
|
1841
1868
|
|
|
@@ -1854,7 +1881,7 @@ export namespace DoorLock {
|
|
|
1854
1881
|
* If this field is SUCCESS, the optional fields for this command shall be present. For other (error) status
|
|
1855
1882
|
* values, only the fields up to the status field shall be present.
|
|
1856
1883
|
*
|
|
1857
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1884
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.2
|
|
1858
1885
|
*/
|
|
1859
1886
|
status: TlvField(1, TlvEnum<Status>()),
|
|
1860
1887
|
|
|
@@ -1863,7 +1890,7 @@ export namespace DoorLock {
|
|
|
1863
1890
|
* time offset based on the local timezone and DST offset on the day represented by the value. This shall be
|
|
1864
1891
|
* null if the schedule is not set for the HolidayIndex provided.
|
|
1865
1892
|
*
|
|
1866
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1893
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.3
|
|
1867
1894
|
*/
|
|
1868
1895
|
localStartTime: TlvOptionalField(2, TlvNullable(TlvEpochS)),
|
|
1869
1896
|
|
|
@@ -1872,7 +1899,7 @@ export namespace DoorLock {
|
|
|
1872
1899
|
* offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be
|
|
1873
1900
|
* greater than LocalStartTime. This shall be null if the schedule is not set for the HolidayIndex provided.
|
|
1874
1901
|
*
|
|
1875
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1902
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.4
|
|
1876
1903
|
*/
|
|
1877
1904
|
localEndTime: TlvOptionalField(3, TlvNullable(TlvEpochS)),
|
|
1878
1905
|
|
|
@@ -1880,7 +1907,7 @@ export namespace DoorLock {
|
|
|
1880
1907
|
* This field shall indicate the operating mode to use during this Holiday schedule start/end time. This shall
|
|
1881
1908
|
* be null if the schedule is not set for the HolidayIndex provided.
|
|
1882
1909
|
*
|
|
1883
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1910
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22.5
|
|
1884
1911
|
*/
|
|
1885
1912
|
operatingMode: TlvOptionalField(4, TlvNullable(TlvEnum<OperatingMode>()))
|
|
1886
1913
|
});
|
|
@@ -1888,22 +1915,20 @@ export namespace DoorLock {
|
|
|
1888
1915
|
/**
|
|
1889
1916
|
* Returns the Holiday Schedule Entry for the specified Holiday ID.
|
|
1890
1917
|
*
|
|
1891
|
-
*
|
|
1892
|
-
*
|
|
1893
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24
|
|
1918
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.22
|
|
1894
1919
|
*/
|
|
1895
1920
|
export interface GetHolidayScheduleResponse extends TypeFromSchema<typeof TlvGetHolidayScheduleResponse> {}
|
|
1896
1921
|
|
|
1897
1922
|
/**
|
|
1898
1923
|
* Input to the DoorLock clearHolidaySchedule command
|
|
1899
1924
|
*
|
|
1900
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1925
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.23
|
|
1901
1926
|
*/
|
|
1902
1927
|
export const TlvClearHolidayScheduleRequest = TlvObject({
|
|
1903
1928
|
/**
|
|
1904
1929
|
* This field shall indicate the Holiday schedule index to clear or 0xFE to clear all Holiday schedules.
|
|
1905
1930
|
*
|
|
1906
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1931
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.23.1
|
|
1907
1932
|
*/
|
|
1908
1933
|
holidayIndex: TlvField(0, TlvUInt8)
|
|
1909
1934
|
});
|
|
@@ -1911,21 +1936,21 @@ export namespace DoorLock {
|
|
|
1911
1936
|
/**
|
|
1912
1937
|
* Input to the DoorLock clearHolidaySchedule command
|
|
1913
1938
|
*
|
|
1914
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1939
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.23
|
|
1915
1940
|
*/
|
|
1916
1941
|
export interface ClearHolidayScheduleRequest extends TypeFromSchema<typeof TlvClearHolidayScheduleRequest> {}
|
|
1917
1942
|
|
|
1918
1943
|
/**
|
|
1919
1944
|
* Input to the DoorLock setPinCode command
|
|
1920
1945
|
*
|
|
1921
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1946
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.4
|
|
1922
1947
|
*/
|
|
1923
1948
|
export const TlvSetPinCodeRequest = TlvObject({
|
|
1924
1949
|
/**
|
|
1925
1950
|
* This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the
|
|
1926
1951
|
* NumberOfPINUsersSupported attribute.
|
|
1927
1952
|
*
|
|
1928
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1953
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.4.1
|
|
1929
1954
|
*/
|
|
1930
1955
|
userId: TlvField(0, TlvUInt16),
|
|
1931
1956
|
|
|
@@ -1933,7 +1958,7 @@ export namespace DoorLock {
|
|
|
1933
1958
|
* This field shall indicate the user status. Only the values 1 (Occupied/Enabled) and 3 (Occupied/Disabled)
|
|
1934
1959
|
* are allowed for UserStatus.
|
|
1935
1960
|
*
|
|
1936
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1961
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.4.2
|
|
1937
1962
|
*/
|
|
1938
1963
|
userStatus: TlvField(1, TlvNullable(TlvEnum<UserStatus>())),
|
|
1939
1964
|
|
|
@@ -1944,21 +1969,21 @@ export namespace DoorLock {
|
|
|
1944
1969
|
/**
|
|
1945
1970
|
* Input to the DoorLock setPinCode command
|
|
1946
1971
|
*
|
|
1947
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1972
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.4
|
|
1948
1973
|
*/
|
|
1949
1974
|
export interface SetPinCodeRequest extends TypeFromSchema<typeof TlvSetPinCodeRequest> {}
|
|
1950
1975
|
|
|
1951
1976
|
/**
|
|
1952
1977
|
* Input to the DoorLock getPinCode command
|
|
1953
1978
|
*
|
|
1954
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1979
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5
|
|
1955
1980
|
*/
|
|
1956
1981
|
export const TlvGetPinCodeRequest = TlvObject({
|
|
1957
1982
|
/**
|
|
1958
1983
|
* This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the
|
|
1959
1984
|
* NumberOfPINUsersSupported attribute.
|
|
1960
1985
|
*
|
|
1961
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1986
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5.1
|
|
1962
1987
|
*/
|
|
1963
1988
|
userId: TlvField(0, TlvUInt16)
|
|
1964
1989
|
});
|
|
@@ -1966,7 +1991,7 @@ export namespace DoorLock {
|
|
|
1966
1991
|
/**
|
|
1967
1992
|
* Input to the DoorLock getPinCode command
|
|
1968
1993
|
*
|
|
1969
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
1994
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5
|
|
1970
1995
|
*/
|
|
1971
1996
|
export interface GetPinCodeRequest extends TypeFromSchema<typeof TlvGetPinCodeRequest> {}
|
|
1972
1997
|
|
|
@@ -1982,427 +2007,107 @@ export namespace DoorLock {
|
|
|
1982
2007
|
* to CONSTRAINT_ERROR when User_ID is less than the max number of users supported, and NOT_FOUND if greater than
|
|
1983
2008
|
* or equal to the max number of users supported.
|
|
1984
2009
|
*
|
|
1985
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2010
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.6
|
|
1986
2011
|
*/
|
|
1987
2012
|
export const TlvGetPinCodeResponse = TlvObject({
|
|
1988
|
-
userId: TlvField(0, TlvUInt16),
|
|
1989
|
-
userStatus: TlvField(1, TlvNullable(TlvEnum<UserStatus>())),
|
|
1990
|
-
userType: TlvField(2, TlvNullable(TlvEnum<UserType>())),
|
|
1991
|
-
pinCode: TlvField(3, TlvNullable(TlvByteString))
|
|
1992
|
-
});
|
|
1993
|
-
|
|
1994
|
-
/**
|
|
1995
|
-
* Returns the PIN for the specified user ID.
|
|
1996
|
-
*
|
|
1997
|
-
* If the requested UserID is valid and the Code doesn’t exist, Get RFID Code Response shall have the following
|
|
1998
|
-
* format:
|
|
1999
|
-
*
|
|
2000
|
-
* UserID = requested User ID UserStatus = 0 (Available) UserType = Null (Not supported) PINCode = 0 (zero length)
|
|
2001
|
-
*
|
|
2002
|
-
* If the requested UserID is invalid, send Default Response with an error status. The error status shall be equal
|
|
2003
|
-
* to CONSTRAINT_ERROR when User_ID is less than the max number of users supported, and NOT_FOUND if greater than
|
|
2004
|
-
* or equal to the max number of users supported.
|
|
2005
|
-
*
|
|
2006
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.8
|
|
2007
|
-
*/
|
|
2008
|
-
export interface GetPinCodeResponse extends TypeFromSchema<typeof TlvGetPinCodeResponse> {}
|
|
2009
|
-
|
|
2010
|
-
/**
|
|
2011
|
-
* Input to the DoorLock clearPinCode command
|
|
2012
|
-
*
|
|
2013
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9
|
|
2014
|
-
*/
|
|
2015
|
-
export const TlvClearPinCodeRequest = TlvObject({
|
|
2016
|
-
/**
|
|
2017
|
-
* This field shall specify a valid PIN code slot index or 0xFFFE to indicate all PIN code slots shall be
|
|
2018
|
-
* cleared.
|
|
2019
|
-
*
|
|
2020
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9.1
|
|
2021
|
-
*/
|
|
2022
|
-
pinSlotIndex: TlvField(0, TlvUInt16)
|
|
2023
|
-
});
|
|
2024
|
-
|
|
2025
|
-
/**
|
|
2026
|
-
* Input to the DoorLock clearPinCode command
|
|
2027
|
-
*
|
|
2028
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9
|
|
2029
|
-
*/
|
|
2030
|
-
export interface ClearPinCodeRequest extends TypeFromSchema<typeof TlvClearPinCodeRequest> {}
|
|
2031
|
-
|
|
2032
|
-
/**
|
|
2033
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.7
|
|
2034
|
-
*/
|
|
2035
|
-
export const EventMask = {
|
|
2036
|
-
/**
|
|
2037
|
-
* State of bit 0
|
|
2038
|
-
*/
|
|
2039
|
-
bit0: BitFlag(0),
|
|
2040
|
-
|
|
2041
|
-
/**
|
|
2042
|
-
* State of bit 1
|
|
2043
|
-
*/
|
|
2044
|
-
bit1: BitFlag(1),
|
|
2045
|
-
|
|
2046
|
-
/**
|
|
2047
|
-
* State of bit 2
|
|
2048
|
-
*/
|
|
2049
|
-
bit2: BitFlag(2),
|
|
2050
|
-
|
|
2051
|
-
/**
|
|
2052
|
-
* State of bit 3
|
|
2053
|
-
*/
|
|
2054
|
-
bit3: BitFlag(3),
|
|
2055
|
-
|
|
2056
|
-
/**
|
|
2057
|
-
* State of bit 4
|
|
2058
|
-
*/
|
|
2059
|
-
bit4: BitFlag(4),
|
|
2060
|
-
|
|
2061
|
-
/**
|
|
2062
|
-
* State of bit 5
|
|
2063
|
-
*/
|
|
2064
|
-
bit5: BitFlag(5),
|
|
2065
|
-
|
|
2066
|
-
/**
|
|
2067
|
-
* State of bit 6
|
|
2068
|
-
*/
|
|
2069
|
-
bit6: BitFlag(6),
|
|
2070
|
-
|
|
2071
|
-
/**
|
|
2072
|
-
* State of bit 7
|
|
2073
|
-
*/
|
|
2074
|
-
bit7: BitFlag(7),
|
|
2075
|
-
|
|
2076
|
-
/**
|
|
2077
|
-
* State of bit 8
|
|
2078
|
-
*/
|
|
2079
|
-
bit8: BitFlag(8),
|
|
2080
|
-
|
|
2081
|
-
/**
|
|
2082
|
-
* State of bit 9
|
|
2083
|
-
*/
|
|
2084
|
-
bit9: BitFlag(9),
|
|
2085
|
-
|
|
2086
|
-
/**
|
|
2087
|
-
* State of bit 10
|
|
2088
|
-
*/
|
|
2089
|
-
bit10: BitFlag(10),
|
|
2090
|
-
|
|
2091
|
-
/**
|
|
2092
|
-
* State of bit 11
|
|
2093
|
-
*/
|
|
2094
|
-
bit11: BitFlag(11),
|
|
2095
|
-
|
|
2096
|
-
/**
|
|
2097
|
-
* State of bit 12
|
|
2098
|
-
*/
|
|
2099
|
-
bit12: BitFlag(12),
|
|
2100
|
-
|
|
2101
|
-
/**
|
|
2102
|
-
* State of bit 13
|
|
2103
|
-
*/
|
|
2104
|
-
bit13: BitFlag(13),
|
|
2105
|
-
|
|
2106
|
-
/**
|
|
2107
|
-
* State of bit 14
|
|
2108
|
-
*/
|
|
2109
|
-
bit14: BitFlag(14),
|
|
2110
|
-
|
|
2111
|
-
/**
|
|
2112
|
-
* State of bit 15
|
|
2113
|
-
*/
|
|
2114
|
-
bit15: BitFlag(15)
|
|
2115
|
-
};
|
|
2116
|
-
|
|
2117
|
-
/**
|
|
2118
|
-
* The value of the DoorLock keypadProgrammingEventMask attribute
|
|
2119
|
-
*
|
|
2120
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.45
|
|
2121
|
-
*/
|
|
2122
|
-
export const KeypadProgrammingEventMask = {
|
|
2123
|
-
unknown: BitFlag(0),
|
|
2124
|
-
pinCodeChanged: BitFlag(1),
|
|
2125
|
-
pinAdded: BitFlag(2),
|
|
2126
|
-
pinCleared: BitFlag(3),
|
|
2127
|
-
pinChanged: BitFlag(4),
|
|
2128
|
-
|
|
2129
|
-
/**
|
|
2130
|
-
* State of bit 0
|
|
2131
|
-
*/
|
|
2132
|
-
bit0: BitFlag(0),
|
|
2133
|
-
|
|
2134
|
-
/**
|
|
2135
|
-
* State of bit 1
|
|
2136
|
-
*/
|
|
2137
|
-
bit1: BitFlag(1),
|
|
2138
|
-
|
|
2139
|
-
/**
|
|
2140
|
-
* State of bit 2
|
|
2141
|
-
*/
|
|
2142
|
-
bit2: BitFlag(2),
|
|
2143
|
-
|
|
2144
|
-
/**
|
|
2145
|
-
* State of bit 3
|
|
2146
|
-
*/
|
|
2147
|
-
bit3: BitFlag(3),
|
|
2148
|
-
|
|
2149
|
-
/**
|
|
2150
|
-
* State of bit 4
|
|
2151
|
-
*/
|
|
2152
|
-
bit4: BitFlag(4),
|
|
2153
|
-
|
|
2154
|
-
/**
|
|
2155
|
-
* State of bit 5
|
|
2156
|
-
*/
|
|
2157
|
-
bit5: BitFlag(5),
|
|
2158
|
-
|
|
2159
|
-
/**
|
|
2160
|
-
* State of bit 6
|
|
2161
|
-
*/
|
|
2162
|
-
bit6: BitFlag(6),
|
|
2163
|
-
|
|
2164
|
-
/**
|
|
2165
|
-
* State of bit 7
|
|
2166
|
-
*/
|
|
2167
|
-
bit7: BitFlag(7),
|
|
2168
|
-
|
|
2169
|
-
/**
|
|
2170
|
-
* State of bit 8
|
|
2171
|
-
*/
|
|
2172
|
-
bit8: BitFlag(8),
|
|
2173
|
-
|
|
2174
|
-
/**
|
|
2175
|
-
* State of bit 9
|
|
2176
|
-
*/
|
|
2177
|
-
bit9: BitFlag(9),
|
|
2178
|
-
|
|
2179
|
-
/**
|
|
2180
|
-
* State of bit 10
|
|
2181
|
-
*/
|
|
2182
|
-
bit10: BitFlag(10),
|
|
2183
|
-
|
|
2184
|
-
/**
|
|
2185
|
-
* State of bit 11
|
|
2186
|
-
*/
|
|
2187
|
-
bit11: BitFlag(11),
|
|
2188
|
-
|
|
2189
|
-
/**
|
|
2190
|
-
* State of bit 12
|
|
2191
|
-
*/
|
|
2192
|
-
bit12: BitFlag(12),
|
|
2193
|
-
|
|
2194
|
-
/**
|
|
2195
|
-
* State of bit 13
|
|
2196
|
-
*/
|
|
2197
|
-
bit13: BitFlag(13),
|
|
2198
|
-
|
|
2199
|
-
/**
|
|
2200
|
-
* State of bit 14
|
|
2201
|
-
*/
|
|
2202
|
-
bit14: BitFlag(14),
|
|
2203
|
-
|
|
2204
|
-
/**
|
|
2205
|
-
* State of bit 15
|
|
2206
|
-
*/
|
|
2207
|
-
bit15: BitFlag(15)
|
|
2208
|
-
};
|
|
2209
|
-
|
|
2210
|
-
/**
|
|
2211
|
-
* The value of the DoorLock remoteProgrammingEventMask attribute
|
|
2212
|
-
*
|
|
2213
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.46
|
|
2214
|
-
*/
|
|
2215
|
-
export const RemoteProgrammingEventMask = {
|
|
2216
|
-
unknown: BitFlag(0),
|
|
2217
|
-
pinAdded: BitFlag(2),
|
|
2218
|
-
pinCleared: BitFlag(3),
|
|
2219
|
-
pinChanged: BitFlag(4),
|
|
2220
|
-
rfidCodeAdded: BitFlag(5),
|
|
2221
|
-
rfidCodeCleared: BitFlag(6),
|
|
2222
|
-
|
|
2223
|
-
/**
|
|
2224
|
-
* State of bit 0
|
|
2225
|
-
*/
|
|
2226
|
-
bit0: BitFlag(0),
|
|
2227
|
-
|
|
2228
|
-
/**
|
|
2229
|
-
* State of bit 1
|
|
2230
|
-
*/
|
|
2231
|
-
bit1: BitFlag(1),
|
|
2232
|
-
|
|
2233
|
-
/**
|
|
2234
|
-
* State of bit 2
|
|
2235
|
-
*/
|
|
2236
|
-
bit2: BitFlag(2),
|
|
2237
|
-
|
|
2238
|
-
/**
|
|
2239
|
-
* State of bit 3
|
|
2240
|
-
*/
|
|
2241
|
-
bit3: BitFlag(3),
|
|
2242
|
-
|
|
2243
|
-
/**
|
|
2244
|
-
* State of bit 4
|
|
2245
|
-
*/
|
|
2246
|
-
bit4: BitFlag(4),
|
|
2247
|
-
|
|
2248
|
-
/**
|
|
2249
|
-
* State of bit 5
|
|
2250
|
-
*/
|
|
2251
|
-
bit5: BitFlag(5),
|
|
2252
|
-
|
|
2253
|
-
/**
|
|
2254
|
-
* State of bit 6
|
|
2255
|
-
*/
|
|
2256
|
-
bit6: BitFlag(6),
|
|
2257
|
-
|
|
2258
|
-
/**
|
|
2259
|
-
* State of bit 7
|
|
2260
|
-
*/
|
|
2261
|
-
bit7: BitFlag(7),
|
|
2262
|
-
|
|
2263
|
-
/**
|
|
2264
|
-
* State of bit 8
|
|
2265
|
-
*/
|
|
2266
|
-
bit8: BitFlag(8),
|
|
2267
|
-
|
|
2268
|
-
/**
|
|
2269
|
-
* State of bit 9
|
|
2270
|
-
*/
|
|
2271
|
-
bit9: BitFlag(9),
|
|
2272
|
-
|
|
2273
|
-
/**
|
|
2274
|
-
* State of bit 10
|
|
2275
|
-
*/
|
|
2276
|
-
bit10: BitFlag(10),
|
|
2277
|
-
|
|
2278
|
-
/**
|
|
2279
|
-
* State of bit 11
|
|
2280
|
-
*/
|
|
2281
|
-
bit11: BitFlag(11),
|
|
2282
|
-
|
|
2283
|
-
/**
|
|
2284
|
-
* State of bit 12
|
|
2285
|
-
*/
|
|
2286
|
-
bit12: BitFlag(12),
|
|
2287
|
-
|
|
2288
|
-
/**
|
|
2289
|
-
* State of bit 13
|
|
2290
|
-
*/
|
|
2291
|
-
bit13: BitFlag(13),
|
|
2292
|
-
|
|
2293
|
-
/**
|
|
2294
|
-
* State of bit 14
|
|
2295
|
-
*/
|
|
2296
|
-
bit14: BitFlag(14),
|
|
2297
|
-
|
|
2298
|
-
/**
|
|
2299
|
-
* State of bit 15
|
|
2300
|
-
*/
|
|
2301
|
-
bit15: BitFlag(15)
|
|
2302
|
-
};
|
|
2013
|
+
userId: TlvField(0, TlvUInt16),
|
|
2014
|
+
userStatus: TlvField(1, TlvNullable(TlvEnum<UserStatus>())),
|
|
2015
|
+
userType: TlvField(2, TlvNullable(TlvEnum<UserType>())),
|
|
2016
|
+
pinCode: TlvField(3, TlvNullable(TlvByteString))
|
|
2017
|
+
});
|
|
2303
2018
|
|
|
2304
2019
|
/**
|
|
2305
|
-
*
|
|
2020
|
+
* Returns the PIN for the specified user ID.
|
|
2021
|
+
*
|
|
2022
|
+
* If the requested UserID is valid and the Code doesn’t exist, Get RFID Code Response shall have the following
|
|
2023
|
+
* format:
|
|
2024
|
+
*
|
|
2025
|
+
* UserID = requested User ID UserStatus = 0 (Available) UserType = Null (Not supported) PINCode = 0 (zero length)
|
|
2026
|
+
*
|
|
2027
|
+
* If the requested UserID is invalid, send Default Response with an error status. The error status shall be equal
|
|
2028
|
+
* to CONSTRAINT_ERROR when User_ID is less than the max number of users supported, and NOT_FOUND if greater than
|
|
2029
|
+
* or equal to the max number of users supported.
|
|
2306
2030
|
*
|
|
2307
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.
|
|
2031
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.6
|
|
2308
2032
|
*/
|
|
2309
|
-
export
|
|
2310
|
-
unknown: BitFlag(0),
|
|
2311
|
-
idAdded: BitFlag(5),
|
|
2312
|
-
idCleared: BitFlag(6),
|
|
2313
|
-
|
|
2314
|
-
/**
|
|
2315
|
-
* State of bit 0
|
|
2316
|
-
*/
|
|
2317
|
-
bit0: BitFlag(0),
|
|
2318
|
-
|
|
2319
|
-
/**
|
|
2320
|
-
* State of bit 1
|
|
2321
|
-
*/
|
|
2322
|
-
bit1: BitFlag(1),
|
|
2323
|
-
|
|
2324
|
-
/**
|
|
2325
|
-
* State of bit 2
|
|
2326
|
-
*/
|
|
2327
|
-
bit2: BitFlag(2),
|
|
2328
|
-
|
|
2329
|
-
/**
|
|
2330
|
-
* State of bit 3
|
|
2331
|
-
*/
|
|
2332
|
-
bit3: BitFlag(3),
|
|
2333
|
-
|
|
2334
|
-
/**
|
|
2335
|
-
* State of bit 4
|
|
2336
|
-
*/
|
|
2337
|
-
bit4: BitFlag(4),
|
|
2338
|
-
|
|
2339
|
-
/**
|
|
2340
|
-
* State of bit 5
|
|
2341
|
-
*/
|
|
2342
|
-
bit5: BitFlag(5),
|
|
2343
|
-
|
|
2344
|
-
/**
|
|
2345
|
-
* State of bit 6
|
|
2346
|
-
*/
|
|
2347
|
-
bit6: BitFlag(6),
|
|
2348
|
-
|
|
2349
|
-
/**
|
|
2350
|
-
* State of bit 7
|
|
2351
|
-
*/
|
|
2352
|
-
bit7: BitFlag(7),
|
|
2353
|
-
|
|
2354
|
-
/**
|
|
2355
|
-
* State of bit 8
|
|
2356
|
-
*/
|
|
2357
|
-
bit8: BitFlag(8),
|
|
2033
|
+
export interface GetPinCodeResponse extends TypeFromSchema<typeof TlvGetPinCodeResponse> {}
|
|
2358
2034
|
|
|
2035
|
+
/**
|
|
2036
|
+
* Input to the DoorLock clearPinCode command
|
|
2037
|
+
*
|
|
2038
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.7
|
|
2039
|
+
*/
|
|
2040
|
+
export const TlvClearPinCodeRequest = TlvObject({
|
|
2359
2041
|
/**
|
|
2360
|
-
*
|
|
2042
|
+
* This field shall specify a valid PIN code slot index or 0xFFFE to indicate all PIN code slots shall be
|
|
2043
|
+
* cleared.
|
|
2044
|
+
*
|
|
2045
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.7.1
|
|
2361
2046
|
*/
|
|
2362
|
-
|
|
2047
|
+
pinSlotIndex: TlvField(0, TlvUInt16)
|
|
2048
|
+
});
|
|
2363
2049
|
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2050
|
+
/**
|
|
2051
|
+
* Input to the DoorLock clearPinCode command
|
|
2052
|
+
*
|
|
2053
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.7
|
|
2054
|
+
*/
|
|
2055
|
+
export interface ClearPinCodeRequest extends TypeFromSchema<typeof TlvClearPinCodeRequest> {}
|
|
2368
2056
|
|
|
2057
|
+
/**
|
|
2058
|
+
* Input to the DoorLock setAliroReaderConfig command
|
|
2059
|
+
*
|
|
2060
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42
|
|
2061
|
+
*/
|
|
2062
|
+
export const TlvSetAliroReaderConfigRequest = TlvObject({
|
|
2369
2063
|
/**
|
|
2370
|
-
*
|
|
2064
|
+
* This field shall indicate the signing key component of the Reader’s key pair.
|
|
2065
|
+
*
|
|
2066
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42.1
|
|
2371
2067
|
*/
|
|
2372
|
-
|
|
2068
|
+
signingKey: TlvField(0, TlvByteString.bound({ length: 32 })),
|
|
2373
2069
|
|
|
2374
2070
|
/**
|
|
2375
|
-
*
|
|
2071
|
+
* This field shall indicate the verification key component of the Reader’s key pair. This shall be an
|
|
2072
|
+
* uncompressed elliptic curve public key as defined in section 2.3.3 of SEC 1.
|
|
2073
|
+
*
|
|
2074
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42.2
|
|
2376
2075
|
*/
|
|
2377
|
-
|
|
2076
|
+
verificationKey: TlvField(1, TlvByteString.bound({ length: 65 })),
|
|
2378
2077
|
|
|
2379
2078
|
/**
|
|
2380
|
-
*
|
|
2079
|
+
* This field shall indicate the reader group identifier for the lock.
|
|
2080
|
+
*
|
|
2081
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42.3
|
|
2381
2082
|
*/
|
|
2382
|
-
|
|
2083
|
+
groupIdentifier: TlvField(2, TlvByteString.bound({ length: 16 })),
|
|
2383
2084
|
|
|
2384
2085
|
/**
|
|
2385
|
-
*
|
|
2086
|
+
* This field shall indicate the group resolving key for the lock.
|
|
2087
|
+
*
|
|
2088
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42.4
|
|
2386
2089
|
*/
|
|
2387
|
-
|
|
2090
|
+
groupResolvingKey: TlvOptionalField(3, TlvByteString.bound({ length: 16 }))
|
|
2091
|
+
});
|
|
2388
2092
|
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2093
|
+
/**
|
|
2094
|
+
* Input to the DoorLock setAliroReaderConfig command
|
|
2095
|
+
*
|
|
2096
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42
|
|
2097
|
+
*/
|
|
2098
|
+
export interface SetAliroReaderConfigRequest extends TypeFromSchema<typeof TlvSetAliroReaderConfigRequest> {}
|
|
2394
2099
|
|
|
2395
2100
|
/**
|
|
2396
2101
|
* Input to the DoorLock setUserStatus command
|
|
2397
2102
|
*
|
|
2398
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2103
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9
|
|
2399
2104
|
*/
|
|
2400
2105
|
export const TlvSetUserStatusRequest = TlvObject({
|
|
2401
2106
|
/**
|
|
2402
2107
|
* This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the
|
|
2403
2108
|
* NumberOfPINUsersSupported attribute.
|
|
2404
2109
|
*
|
|
2405
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2110
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9.1
|
|
2406
2111
|
*/
|
|
2407
2112
|
userId: TlvField(0, TlvUInt16),
|
|
2408
2113
|
|
|
@@ -2410,7 +2115,7 @@ export namespace DoorLock {
|
|
|
2410
2115
|
* UserStatus value of Available is not allowed. In order to clear a user id, the ClearUser Command shall be
|
|
2411
2116
|
* used. For user status value please refer to UserStatusEnum.
|
|
2412
2117
|
*
|
|
2413
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2118
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9.2
|
|
2414
2119
|
*/
|
|
2415
2120
|
userStatus: TlvField(1, TlvEnum<UserStatus>())
|
|
2416
2121
|
});
|
|
@@ -2418,21 +2123,21 @@ export namespace DoorLock {
|
|
|
2418
2123
|
/**
|
|
2419
2124
|
* Input to the DoorLock setUserStatus command
|
|
2420
2125
|
*
|
|
2421
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2126
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9
|
|
2422
2127
|
*/
|
|
2423
2128
|
export interface SetUserStatusRequest extends TypeFromSchema<typeof TlvSetUserStatusRequest> {}
|
|
2424
2129
|
|
|
2425
2130
|
/**
|
|
2426
2131
|
* Input to the DoorLock getUserStatus command
|
|
2427
2132
|
*
|
|
2428
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2133
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.10
|
|
2429
2134
|
*/
|
|
2430
2135
|
export const TlvGetUserStatusRequest = TlvObject({
|
|
2431
2136
|
/**
|
|
2432
2137
|
* This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the
|
|
2433
2138
|
* NumberOfPINUsersSupported attribute.
|
|
2434
2139
|
*
|
|
2435
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2140
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.10.1
|
|
2436
2141
|
*/
|
|
2437
2142
|
userId: TlvField(0, TlvUInt16)
|
|
2438
2143
|
});
|
|
@@ -2440,27 +2145,27 @@ export namespace DoorLock {
|
|
|
2440
2145
|
/**
|
|
2441
2146
|
* Input to the DoorLock getUserStatus command
|
|
2442
2147
|
*
|
|
2443
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2148
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.10
|
|
2444
2149
|
*/
|
|
2445
2150
|
export interface GetUserStatusRequest extends TypeFromSchema<typeof TlvGetUserStatusRequest> {}
|
|
2446
2151
|
|
|
2447
2152
|
/**
|
|
2448
2153
|
* Returns the user status for the specified user ID.
|
|
2449
2154
|
*
|
|
2450
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2155
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.11
|
|
2451
2156
|
*/
|
|
2452
2157
|
export const TlvGetUserStatusResponse = TlvObject({
|
|
2453
2158
|
/**
|
|
2454
2159
|
* This field shall indicate the user ID provided in the request.
|
|
2455
2160
|
*
|
|
2456
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2161
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.11.1
|
|
2457
2162
|
*/
|
|
2458
2163
|
userId: TlvField(0, TlvUInt16),
|
|
2459
2164
|
|
|
2460
2165
|
/**
|
|
2461
2166
|
* This field shall indicate the current status of the requested user ID.
|
|
2462
2167
|
*
|
|
2463
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2168
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.11.2
|
|
2464
2169
|
*/
|
|
2465
2170
|
userStatus: TlvField(1, TlvEnum<UserStatus>())
|
|
2466
2171
|
});
|
|
@@ -2468,33 +2173,27 @@ export namespace DoorLock {
|
|
|
2468
2173
|
/**
|
|
2469
2174
|
* Returns the user status for the specified user ID.
|
|
2470
2175
|
*
|
|
2471
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2176
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.11
|
|
2472
2177
|
*/
|
|
2473
2178
|
export interface GetUserStatusResponse extends TypeFromSchema<typeof TlvGetUserStatusResponse> {}
|
|
2474
2179
|
|
|
2475
2180
|
/**
|
|
2476
2181
|
* Input to the DoorLock setUserType command
|
|
2477
2182
|
*
|
|
2478
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2183
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24
|
|
2479
2184
|
*/
|
|
2480
2185
|
export const TlvSetUserTypeRequest = TlvObject({
|
|
2481
2186
|
/**
|
|
2482
2187
|
* This field shall indicate the user ID.
|
|
2483
2188
|
*
|
|
2484
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2189
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.1
|
|
2485
2190
|
*/
|
|
2486
2191
|
userId: TlvField(0, TlvUInt16),
|
|
2487
2192
|
|
|
2488
2193
|
/**
|
|
2489
2194
|
* This field shall indicate the user type.
|
|
2490
2195
|
*
|
|
2491
|
-
*
|
|
2492
|
-
* UserType is UnrestrictedUser then all existing Year Day and/or Week Day schedules shall be ignored or
|
|
2493
|
-
* disabled (if this transition is supported by the door lock). If UserType is ScheduleRestrictedUser and the
|
|
2494
|
-
* new UserType is ScheduleRestrictedUser then all existing Year Day and/or Week Day schedules shall be applied
|
|
2495
|
-
* or enabled.
|
|
2496
|
-
*
|
|
2497
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.26.2
|
|
2196
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24.2
|
|
2498
2197
|
*/
|
|
2499
2198
|
userType: TlvField(1, TlvEnum<UserType>())
|
|
2500
2199
|
});
|
|
@@ -2502,21 +2201,21 @@ export namespace DoorLock {
|
|
|
2502
2201
|
/**
|
|
2503
2202
|
* Input to the DoorLock setUserType command
|
|
2504
2203
|
*
|
|
2505
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2204
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24
|
|
2506
2205
|
*/
|
|
2507
2206
|
export interface SetUserTypeRequest extends TypeFromSchema<typeof TlvSetUserTypeRequest> {}
|
|
2508
2207
|
|
|
2509
2208
|
/**
|
|
2510
2209
|
* Input to the DoorLock getUserType command
|
|
2511
2210
|
*
|
|
2512
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2211
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.25
|
|
2513
2212
|
*/
|
|
2514
2213
|
export const TlvGetUserTypeRequest = TlvObject({ userId: TlvField(0, TlvUInt16) });
|
|
2515
2214
|
|
|
2516
2215
|
/**
|
|
2517
2216
|
* Input to the DoorLock getUserType command
|
|
2518
2217
|
*
|
|
2519
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2218
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.25
|
|
2520
2219
|
*/
|
|
2521
2220
|
export interface GetUserTypeRequest extends TypeFromSchema<typeof TlvGetUserTypeRequest> {}
|
|
2522
2221
|
|
|
@@ -2524,7 +2223,7 @@ export namespace DoorLock {
|
|
|
2524
2223
|
* Returns the user type for the specified user ID. If the requested User ID is invalid, send Default Response with
|
|
2525
2224
|
* an error status equal to FAILURE.
|
|
2526
2225
|
*
|
|
2527
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2226
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.26
|
|
2528
2227
|
*/
|
|
2529
2228
|
export const TlvGetUserTypeResponse = TlvObject({
|
|
2530
2229
|
userId: TlvField(0, TlvUInt16),
|
|
@@ -2535,14 +2234,14 @@ export namespace DoorLock {
|
|
|
2535
2234
|
* Returns the user type for the specified user ID. If the requested User ID is invalid, send Default Response with
|
|
2536
2235
|
* an error status equal to FAILURE.
|
|
2537
2236
|
*
|
|
2538
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2237
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.26
|
|
2539
2238
|
*/
|
|
2540
2239
|
export interface GetUserTypeResponse extends TypeFromSchema<typeof TlvGetUserTypeResponse> {}
|
|
2541
2240
|
|
|
2542
2241
|
/**
|
|
2543
2242
|
* Input to the DoorLock setRfidCode command
|
|
2544
2243
|
*
|
|
2545
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2244
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.27
|
|
2546
2245
|
*/
|
|
2547
2246
|
export const TlvSetRfidCodeRequest = TlvObject({
|
|
2548
2247
|
/**
|
|
@@ -2550,7 +2249,7 @@ export namespace DoorLock {
|
|
|
2550
2249
|
*
|
|
2551
2250
|
* The value of the UserID field shall be between 0 and the value of the NumberOfRFIDUsersSupported attribute.
|
|
2552
2251
|
*
|
|
2553
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2252
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.27.1
|
|
2554
2253
|
*/
|
|
2555
2254
|
userId: TlvField(0, TlvUInt16),
|
|
2556
2255
|
|
|
@@ -2560,14 +2259,14 @@ export namespace DoorLock {
|
|
|
2560
2259
|
*
|
|
2561
2260
|
* Only the values 1 (Occupied/Enabled) and 3 (Occupied/Disabled) are allowed for UserStatus.
|
|
2562
2261
|
*
|
|
2563
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2262
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.27.2
|
|
2564
2263
|
*/
|
|
2565
2264
|
userStatus: TlvField(1, TlvNullable(TlvEnum<UserStatus>())),
|
|
2566
2265
|
|
|
2567
2266
|
/**
|
|
2568
2267
|
* The values are the same as used for SetPINCode command.
|
|
2569
2268
|
*
|
|
2570
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2269
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.27.3
|
|
2571
2270
|
*/
|
|
2572
2271
|
userType: TlvField(2, TlvNullable(TlvEnum<UserType>())),
|
|
2573
2272
|
|
|
@@ -2577,14 +2276,14 @@ export namespace DoorLock {
|
|
|
2577
2276
|
/**
|
|
2578
2277
|
* Input to the DoorLock setRfidCode command
|
|
2579
2278
|
*
|
|
2580
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2279
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.27
|
|
2581
2280
|
*/
|
|
2582
2281
|
export interface SetRfidCodeRequest extends TypeFromSchema<typeof TlvSetRfidCodeRequest> {}
|
|
2583
2282
|
|
|
2584
2283
|
/**
|
|
2585
2284
|
* Input to the DoorLock getRfidCode command
|
|
2586
2285
|
*
|
|
2587
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2286
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.28
|
|
2588
2287
|
*/
|
|
2589
2288
|
export const TlvGetRfidCodeRequest = TlvObject({
|
|
2590
2289
|
/**
|
|
@@ -2592,7 +2291,7 @@ export namespace DoorLock {
|
|
|
2592
2291
|
*
|
|
2593
2292
|
* The value of the UserID field shall be between 0 and the value of the NumberOfRFIDUsersSupported attribute.
|
|
2594
2293
|
*
|
|
2595
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2294
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.28.1
|
|
2596
2295
|
*/
|
|
2597
2296
|
userId: TlvField(0, TlvUInt16)
|
|
2598
2297
|
});
|
|
@@ -2600,7 +2299,7 @@ export namespace DoorLock {
|
|
|
2600
2299
|
/**
|
|
2601
2300
|
* Input to the DoorLock getRfidCode command
|
|
2602
2301
|
*
|
|
2603
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2302
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.28
|
|
2604
2303
|
*/
|
|
2605
2304
|
export interface GetRfidCodeRequest extends TypeFromSchema<typeof TlvGetRfidCodeRequest> {}
|
|
2606
2305
|
|
|
@@ -2617,7 +2316,7 @@ export namespace DoorLock {
|
|
|
2617
2316
|
* CONSTRAINT_ERROR when User_ID is less than the max number of users supported, and NOT_FOUND if greater than or
|
|
2618
2317
|
* equal to the max number of users supported.
|
|
2619
2318
|
*
|
|
2620
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2319
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.29
|
|
2621
2320
|
*/
|
|
2622
2321
|
export const TlvGetRfidCodeResponse = TlvObject({
|
|
2623
2322
|
userId: TlvField(0, TlvUInt16),
|
|
@@ -2639,21 +2338,21 @@ export namespace DoorLock {
|
|
|
2639
2338
|
* CONSTRAINT_ERROR when User_ID is less than the max number of users supported, and NOT_FOUND if greater than or
|
|
2640
2339
|
* equal to the max number of users supported.
|
|
2641
2340
|
*
|
|
2642
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2341
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.29
|
|
2643
2342
|
*/
|
|
2644
2343
|
export interface GetRfidCodeResponse extends TypeFromSchema<typeof TlvGetRfidCodeResponse> {}
|
|
2645
2344
|
|
|
2646
2345
|
/**
|
|
2647
2346
|
* Input to the DoorLock clearRfidCode command
|
|
2648
2347
|
*
|
|
2649
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2348
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.30
|
|
2650
2349
|
*/
|
|
2651
2350
|
export const TlvClearRfidCodeRequest = TlvObject({
|
|
2652
2351
|
/**
|
|
2653
2352
|
* This field shall indicate a valid RFID code slot index or 0xFFFE to indicate all RFID code slots shall be
|
|
2654
2353
|
* cleared.
|
|
2655
2354
|
*
|
|
2656
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2355
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.30.1
|
|
2657
2356
|
*/
|
|
2658
2357
|
rfidSlotIndex: TlvField(0, TlvUInt16)
|
|
2659
2358
|
});
|
|
@@ -2661,20 +2360,20 @@ export namespace DoorLock {
|
|
|
2661
2360
|
/**
|
|
2662
2361
|
* Input to the DoorLock clearRfidCode command
|
|
2663
2362
|
*
|
|
2664
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2363
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.30
|
|
2665
2364
|
*/
|
|
2666
2365
|
export interface ClearRfidCodeRequest extends TypeFromSchema<typeof TlvClearRfidCodeRequest> {}
|
|
2667
2366
|
|
|
2668
2367
|
/**
|
|
2669
2368
|
* Input to the DoorLock unboltDoor command
|
|
2670
2369
|
*
|
|
2671
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2370
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.41
|
|
2672
2371
|
*/
|
|
2673
2372
|
export const TlvUnboltDoorRequest = TlvObject({
|
|
2674
2373
|
/**
|
|
2675
2374
|
* See PINCode field.
|
|
2676
2375
|
*
|
|
2677
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2376
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.41.1
|
|
2678
2377
|
*/
|
|
2679
2378
|
pinCode: TlvOptionalField(0, TlvByteString)
|
|
2680
2379
|
});
|
|
@@ -2682,12 +2381,12 @@ export namespace DoorLock {
|
|
|
2682
2381
|
/**
|
|
2683
2382
|
* Input to the DoorLock unboltDoor command
|
|
2684
2383
|
*
|
|
2685
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
2384
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.41
|
|
2686
2385
|
*/
|
|
2687
2386
|
export interface UnboltDoorRequest extends TypeFromSchema<typeof TlvUnboltDoorRequest> {}
|
|
2688
2387
|
|
|
2689
2388
|
/**
|
|
2690
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
2389
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.19
|
|
2691
2390
|
*/
|
|
2692
2391
|
export enum LockState {
|
|
2693
2392
|
/**
|
|
@@ -2712,7 +2411,7 @@ export namespace DoorLock {
|
|
|
2712
2411
|
}
|
|
2713
2412
|
|
|
2714
2413
|
/**
|
|
2715
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
2414
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.20
|
|
2716
2415
|
*/
|
|
2717
2416
|
export enum LockType {
|
|
2718
2417
|
/**
|
|
@@ -2777,7 +2476,7 @@ export namespace DoorLock {
|
|
|
2777
2476
|
}
|
|
2778
2477
|
|
|
2779
2478
|
/**
|
|
2780
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
2479
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.21
|
|
2781
2480
|
*/
|
|
2782
2481
|
export enum LedSetting {
|
|
2783
2482
|
/**
|
|
@@ -2797,7 +2496,7 @@ export namespace DoorLock {
|
|
|
2797
2496
|
}
|
|
2798
2497
|
|
|
2799
2498
|
/**
|
|
2800
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
2499
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.22
|
|
2801
2500
|
*/
|
|
2802
2501
|
export enum SoundVolume {
|
|
2803
2502
|
/**
|
|
@@ -3005,11 +2704,6 @@ export namespace DoorLock {
|
|
|
3005
2704
|
*/
|
|
3006
2705
|
lockFactoryReset: BitFlag(1),
|
|
3007
2706
|
|
|
3008
|
-
/**
|
|
3009
|
-
* Reserved
|
|
3010
|
-
*/
|
|
3011
|
-
na: BitFlag(2),
|
|
3012
|
-
|
|
3013
2707
|
/**
|
|
3014
2708
|
* RF Module Power Cycled
|
|
3015
2709
|
*/
|
|
@@ -3113,7 +2807,7 @@ export namespace DoorLock {
|
|
|
3113
2807
|
/**
|
|
3114
2808
|
* This enumeration shall indicate the alarm type.
|
|
3115
2809
|
*
|
|
3116
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
2810
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.7
|
|
3117
2811
|
*/
|
|
3118
2812
|
export enum AlarmCode {
|
|
3119
2813
|
/**
|
|
@@ -3181,7 +2875,7 @@ export namespace DoorLock {
|
|
|
3181
2875
|
/**
|
|
3182
2876
|
* This enumeration shall indicate the type of Lock operation performed.
|
|
3183
2877
|
*
|
|
3184
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
2878
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.13
|
|
3185
2879
|
*/
|
|
3186
2880
|
export enum LockOperationType {
|
|
3187
2881
|
/**
|
|
@@ -3276,7 +2970,7 @@ export namespace DoorLock {
|
|
|
3276
2970
|
/**
|
|
3277
2971
|
* This enumeration shall indicate the error cause of the Lock/Unlock operation performed.
|
|
3278
2972
|
*
|
|
3279
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
2973
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.14
|
|
3280
2974
|
*/
|
|
3281
2975
|
export enum OperationError {
|
|
3282
2976
|
/**
|
|
@@ -3375,128 +3069,23 @@ export namespace DoorLock {
|
|
|
3375
3069
|
export interface LockOperationErrorEvent extends TypeFromSchema<typeof TlvLockOperationErrorEvent> {}
|
|
3376
3070
|
|
|
3377
3071
|
/**
|
|
3378
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.
|
|
3379
|
-
*/
|
|
3380
|
-
export enum OperationEventCode {
|
|
3381
|
-
/**
|
|
3382
|
-
* Event code is unknown
|
|
3383
|
-
*/
|
|
3384
|
-
UnknownOrMfgSpecific = 0,
|
|
3385
|
-
|
|
3386
|
-
/**
|
|
3387
|
-
* Event code is lock
|
|
3388
|
-
*/
|
|
3389
|
-
Lock = 1,
|
|
3390
|
-
|
|
3391
|
-
/**
|
|
3392
|
-
* Event code is unlock
|
|
3393
|
-
*/
|
|
3394
|
-
Unlock = 2,
|
|
3395
|
-
|
|
3396
|
-
/**
|
|
3397
|
-
* Event code is lock failure due to invalid PIN or RFID
|
|
3398
|
-
*/
|
|
3399
|
-
LockFailureInvalidPiNorRfid = 3,
|
|
3400
|
-
|
|
3401
|
-
/**
|
|
3402
|
-
* Event code is lock failure due to invalid schedule
|
|
3403
|
-
*/
|
|
3404
|
-
LockFailureInvalidSchedule = 4,
|
|
3405
|
-
|
|
3406
|
-
/**
|
|
3407
|
-
* Event code is unlock failure due to invalid PIN or RFID
|
|
3408
|
-
*/
|
|
3409
|
-
UnlockFailureInvalidPiNorRfid = 5,
|
|
3410
|
-
|
|
3411
|
-
/**
|
|
3412
|
-
* Event code is unlock failure due to invalid schedule
|
|
3413
|
-
*/
|
|
3414
|
-
UnlockFailureInvalidSchedule = 6,
|
|
3415
|
-
|
|
3416
|
-
/**
|
|
3417
|
-
* Event code is one touch lock
|
|
3418
|
-
*/
|
|
3419
|
-
OneTouchLock = 7,
|
|
3420
|
-
|
|
3421
|
-
/**
|
|
3422
|
-
* Event code is key lock
|
|
3423
|
-
*/
|
|
3424
|
-
KeyLock = 8,
|
|
3425
|
-
|
|
3426
|
-
/**
|
|
3427
|
-
* Event code is key unlock
|
|
3428
|
-
*/
|
|
3429
|
-
KeyUnlock = 9,
|
|
3430
|
-
|
|
3431
|
-
/**
|
|
3432
|
-
* Event code is auto lock
|
|
3433
|
-
*/
|
|
3434
|
-
AutoLock = 10,
|
|
3435
|
-
|
|
3436
|
-
/**
|
|
3437
|
-
* Event code is schedule lock
|
|
3438
|
-
*/
|
|
3439
|
-
ScheduleLock = 11,
|
|
3440
|
-
|
|
3441
|
-
/**
|
|
3442
|
-
* Event code is schedule unlock
|
|
3443
|
-
*/
|
|
3444
|
-
ScheduleUnlock = 12,
|
|
3445
|
-
|
|
3446
|
-
/**
|
|
3447
|
-
* Event code is manual lock (Key or Thumbturn)
|
|
3448
|
-
*/
|
|
3449
|
-
ManualLock = 13,
|
|
3450
|
-
|
|
3451
|
-
/**
|
|
3452
|
-
* Event code is manual unlock (Key or Thumbturn)
|
|
3453
|
-
*/
|
|
3454
|
-
ManualUnlock = 14,
|
|
3455
|
-
|
|
3456
|
-
/**
|
|
3457
|
-
* Event code is non access user operation
|
|
3458
|
-
*/
|
|
3459
|
-
NonAccessUserOperationEvent = 15
|
|
3460
|
-
}
|
|
3461
|
-
|
|
3462
|
-
/**
|
|
3463
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.25.2
|
|
3072
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.6.23
|
|
3464
3073
|
*/
|
|
3465
|
-
export enum
|
|
3466
|
-
/**
|
|
3467
|
-
* Event code is unknown
|
|
3468
|
-
*/
|
|
3469
|
-
UnknownOrMfgSpecific = 0,
|
|
3470
|
-
|
|
3471
|
-
/**
|
|
3472
|
-
* Event code is code changed
|
|
3473
|
-
*/
|
|
3474
|
-
ProgrammingCodeChanged = 1,
|
|
3475
|
-
|
|
3476
|
-
/**
|
|
3477
|
-
* Event code is PIN added
|
|
3478
|
-
*/
|
|
3479
|
-
PinCodeAdded = 2,
|
|
3480
|
-
|
|
3481
|
-
/**
|
|
3482
|
-
* Event code is PIN cleared
|
|
3483
|
-
*/
|
|
3484
|
-
PinCodeCleared = 3,
|
|
3485
|
-
|
|
3074
|
+
export enum EventType {
|
|
3486
3075
|
/**
|
|
3487
|
-
* Event
|
|
3076
|
+
* Event type is operation
|
|
3488
3077
|
*/
|
|
3489
|
-
|
|
3078
|
+
Operation = 0,
|
|
3490
3079
|
|
|
3491
3080
|
/**
|
|
3492
|
-
* Event
|
|
3081
|
+
* Event type is programming
|
|
3493
3082
|
*/
|
|
3494
|
-
|
|
3083
|
+
Programming = 1,
|
|
3495
3084
|
|
|
3496
3085
|
/**
|
|
3497
|
-
* Event
|
|
3086
|
+
* Event type is alarm
|
|
3498
3087
|
*/
|
|
3499
|
-
|
|
3088
|
+
Alarm = 2
|
|
3500
3089
|
}
|
|
3501
3090
|
|
|
3502
3091
|
/**
|
|
@@ -3524,21 +3113,21 @@ export namespace DoorLock {
|
|
|
3524
3113
|
*
|
|
3525
3114
|
* Null only if an internal error prevents the retrieval of the current door state.
|
|
3526
3115
|
*
|
|
3527
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3116
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.4
|
|
3528
3117
|
*/
|
|
3529
3118
|
doorState: Attribute(0x3, TlvNullable(TlvEnum<DoorState>())),
|
|
3530
3119
|
|
|
3531
3120
|
/**
|
|
3532
3121
|
* This attribute shall hold the number of door open events that have occurred since it was last zeroed.
|
|
3533
3122
|
*
|
|
3534
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3123
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.5
|
|
3535
3124
|
*/
|
|
3536
3125
|
doorOpenEvents: OptionalWritableAttribute(0x4, TlvUInt32, { writeAcl: AccessLevel.Manage }),
|
|
3537
3126
|
|
|
3538
3127
|
/**
|
|
3539
3128
|
* This attribute shall hold the number of door closed events that have occurred since it was last zeroed.
|
|
3540
3129
|
*
|
|
3541
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3130
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.6
|
|
3542
3131
|
*/
|
|
3543
3132
|
doorClosedEvents: OptionalWritableAttribute(0x5, TlvUInt32, { writeAcl: AccessLevel.Manage }),
|
|
3544
3133
|
|
|
@@ -3546,7 +3135,7 @@ export namespace DoorLock {
|
|
|
3546
3135
|
* This attribute shall hold the number of minutes the door has been open since the last time it
|
|
3547
3136
|
* transitioned from closed to open.
|
|
3548
3137
|
*
|
|
3549
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3138
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.7
|
|
3550
3139
|
*/
|
|
3551
3140
|
openPeriod: OptionalWritableAttribute(0x6, TlvUInt16, { writeAcl: AccessLevel.Manage })
|
|
3552
3141
|
},
|
|
@@ -3561,51 +3150,6 @@ export namespace DoorLock {
|
|
|
3561
3150
|
}
|
|
3562
3151
|
});
|
|
3563
3152
|
|
|
3564
|
-
/**
|
|
3565
|
-
* A DoorLockCluster supports these elements if it supports feature Logging.
|
|
3566
|
-
*/
|
|
3567
|
-
export const LoggingComponent = MutableCluster.Component({
|
|
3568
|
-
attributes: {
|
|
3569
|
-
/**
|
|
3570
|
-
* Indicates the number of available log records.
|
|
3571
|
-
*
|
|
3572
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.9
|
|
3573
|
-
*/
|
|
3574
|
-
numberOfLogRecordsSupported: FixedAttribute(0x10, TlvUInt16, { default: 0 }),
|
|
3575
|
-
|
|
3576
|
-
/**
|
|
3577
|
-
* This attribute shall enable/disable event logging.
|
|
3578
|
-
*
|
|
3579
|
-
* When event logging is enabled, all event messages are stored on the lock for retrieval. Logging events
|
|
3580
|
-
* can be, but are not limited to, Tamper Alarm, Lock, Unlock, AutoRelock, User Code Added, User Code
|
|
3581
|
-
* Cleared, Schedule Added, and Schedule Cleared. For a full detail of all the possible alarms and events,
|
|
3582
|
-
* please refer to the full list in the Alarm and Event Masks Attribute Set.
|
|
3583
|
-
*
|
|
3584
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.22
|
|
3585
|
-
*/
|
|
3586
|
-
enableLogging: WritableAttribute(0x20, TlvBoolean, { default: true, writeAcl: AccessLevel.Administer })
|
|
3587
|
-
},
|
|
3588
|
-
|
|
3589
|
-
commands: {
|
|
3590
|
-
/**
|
|
3591
|
-
* Request a log record. Log number is between 1 – [Number of Log Records Supported attribute]. If log
|
|
3592
|
-
* number 0 is requested then the most recent log entry is returned.
|
|
3593
|
-
*
|
|
3594
|
-
* Log record format: The log record format is defined in the description of the GetLogRecordResponse
|
|
3595
|
-
* command.
|
|
3596
|
-
*
|
|
3597
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.4
|
|
3598
|
-
*/
|
|
3599
|
-
getLogRecord: Command(
|
|
3600
|
-
0x4,
|
|
3601
|
-
TlvGetLogRecordRequest,
|
|
3602
|
-
0x4,
|
|
3603
|
-
TlvGetLogRecordResponse,
|
|
3604
|
-
{ invokeAcl: AccessLevel.Manage }
|
|
3605
|
-
)
|
|
3606
|
-
}
|
|
3607
|
-
});
|
|
3608
|
-
|
|
3609
3153
|
/**
|
|
3610
3154
|
* A DoorLockCluster supports these elements if it supports feature User.
|
|
3611
3155
|
*/
|
|
@@ -3614,7 +3158,7 @@ export namespace DoorLock {
|
|
|
3614
3158
|
/**
|
|
3615
3159
|
* Indicates the number of total users supported by the lock.
|
|
3616
3160
|
*
|
|
3617
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3161
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.8
|
|
3618
3162
|
*/
|
|
3619
3163
|
numberOfTotalUsersSupported: FixedAttribute(0x11, TlvUInt16, { default: 0 }),
|
|
3620
3164
|
|
|
@@ -3622,7 +3166,7 @@ export namespace DoorLock {
|
|
|
3622
3166
|
* This attribute shall contain a bitmap with the bits set for the values of CredentialRuleEnum supported
|
|
3623
3167
|
* on this device.
|
|
3624
3168
|
*
|
|
3625
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3169
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.18
|
|
3626
3170
|
*/
|
|
3627
3171
|
credentialRulesSupport: FixedAttribute(
|
|
3628
3172
|
0x1b,
|
|
@@ -3641,7 +3185,7 @@ export namespace DoorLock {
|
|
|
3641
3185
|
* NumberOfRFIDUsersSupported is set to 3, it will not be possible to actually assign 10 credentials for a
|
|
3642
3186
|
* user because maximum number of credentials in the database is 8.
|
|
3643
3187
|
*
|
|
3644
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3188
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.19
|
|
3645
3189
|
*/
|
|
3646
3190
|
numberOfCredentialsSupportedPerUser: FixedAttribute(0x1c, TlvUInt8, { default: 0 }),
|
|
3647
3191
|
|
|
@@ -3650,7 +3194,7 @@ export namespace DoorLock {
|
|
|
3650
3194
|
* type ExpiringUser shall remain valid after its first use before expiring. When the credential expires
|
|
3651
3195
|
* the UserStatus for the corresponding user record shall be set to OccupiedDisabled.
|
|
3652
3196
|
*
|
|
3653
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3197
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.36
|
|
3654
3198
|
*/
|
|
3655
3199
|
expiringUserTimeout: OptionalWritableAttribute(
|
|
3656
3200
|
0x35,
|
|
@@ -3678,7 +3222,7 @@ export namespace DoorLock {
|
|
|
3678
3222
|
* • INVALID_COMMAND, if one or more fields violate constraints or are invalid or if OperationType is
|
|
3679
3223
|
* Modify and UserIndex points to an available slot.
|
|
3680
3224
|
*
|
|
3681
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3225
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.32
|
|
3682
3226
|
*/
|
|
3683
3227
|
setUser: Command(
|
|
3684
3228
|
0x1a,
|
|
@@ -3696,7 +3240,7 @@ export namespace DoorLock {
|
|
|
3696
3240
|
* COMMAND, etc.) as needed otherwise the GetUserResponse Command shall be sent implying a status of
|
|
3697
3241
|
* SUCCESS.
|
|
3698
3242
|
*
|
|
3699
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3243
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.33
|
|
3700
3244
|
*/
|
|
3701
3245
|
getUser: Command(0x1b, TlvGetUserRequest, 0x1c, TlvGetUserResponse, { invokeAcl: AccessLevel.Administer }),
|
|
3702
3246
|
|
|
@@ -3709,7 +3253,7 @@ export namespace DoorLock {
|
|
|
3709
3253
|
*
|
|
3710
3254
|
* A LockUserChange event with the provided UserIndex shall be generated after successfully clearing users.
|
|
3711
3255
|
*
|
|
3712
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3256
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.35
|
|
3713
3257
|
*/
|
|
3714
3258
|
clearUser: Command(
|
|
3715
3259
|
0x1d,
|
|
@@ -3725,7 +3269,7 @@ export namespace DoorLock {
|
|
|
3725
3269
|
*
|
|
3726
3270
|
* Fields used for different use cases:
|
|
3727
3271
|
*
|
|
3728
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3272
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.36
|
|
3729
3273
|
*/
|
|
3730
3274
|
setCredential: Command(
|
|
3731
3275
|
0x22,
|
|
@@ -3741,7 +3285,7 @@ export namespace DoorLock {
|
|
|
3741
3285
|
* An InvokeResponse command shall be sent with an appropriate error (e.g. FAILURE, INVALID_COMMAND, etc.)
|
|
3742
3286
|
* as needed otherwise the GetCredentialStatusResponse command shall be sent implying a status of SUCCESS.
|
|
3743
3287
|
*
|
|
3744
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3288
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.38
|
|
3745
3289
|
*/
|
|
3746
3290
|
getCredentialStatus: Command(
|
|
3747
3291
|
0x24,
|
|
@@ -3758,12 +3302,12 @@ export namespace DoorLock {
|
|
|
3758
3302
|
*
|
|
3759
3303
|
* For each credential cleared whose user doesn’t have another valid credential, the corresponding user
|
|
3760
3304
|
* record shall be reset back to default values and its UserStatus value shall be set to Available and
|
|
3761
|
-
* UserType value shall be set to UnrestrictedUser and all schedules shall be cleared. In
|
|
3305
|
+
* UserType value shall be set to UnrestrictedUser and all schedules shall be cleared. In this case a
|
|
3306
|
+
* LockUserChange event shall be generated for the user being cleared.
|
|
3762
3307
|
*
|
|
3763
|
-
*
|
|
3764
|
-
* one of the following values:
|
|
3308
|
+
* Return status shall be one of the following values:
|
|
3765
3309
|
*
|
|
3766
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3310
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.40
|
|
3767
3311
|
*/
|
|
3768
3312
|
clearCredential: Command(
|
|
3769
3313
|
0x26,
|
|
@@ -3793,21 +3337,21 @@ export namespace DoorLock {
|
|
|
3793
3337
|
/**
|
|
3794
3338
|
* Indicates the number of PIN users supported.
|
|
3795
3339
|
*
|
|
3796
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3340
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.9
|
|
3797
3341
|
*/
|
|
3798
3342
|
numberOfPinUsersSupported: FixedAttribute(0x12, TlvUInt16, { default: 0 }),
|
|
3799
3343
|
|
|
3800
3344
|
/**
|
|
3801
3345
|
* Indicates the maximum length in bytes of a PIN Code on this device.
|
|
3802
3346
|
*
|
|
3803
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3347
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.14
|
|
3804
3348
|
*/
|
|
3805
3349
|
maxPinCodeLength: FixedAttribute(0x17, TlvUInt8),
|
|
3806
3350
|
|
|
3807
3351
|
/**
|
|
3808
3352
|
* Indicates the minimum length in bytes of a PIN Code on this device.
|
|
3809
3353
|
*
|
|
3810
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3354
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.15
|
|
3811
3355
|
*/
|
|
3812
3356
|
minPinCodeLength: FixedAttribute(0x18, TlvUInt8)
|
|
3813
3357
|
}
|
|
@@ -3821,7 +3365,7 @@ export namespace DoorLock {
|
|
|
3821
3365
|
/**
|
|
3822
3366
|
* Indicates the number of RFID users supported.
|
|
3823
3367
|
*
|
|
3824
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3368
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.10
|
|
3825
3369
|
*/
|
|
3826
3370
|
numberOfRfidUsersSupported: FixedAttribute(0x13, TlvUInt16, { default: 0 }),
|
|
3827
3371
|
|
|
@@ -3830,7 +3374,7 @@ export namespace DoorLock {
|
|
|
3830
3374
|
* range specified by the manufacturer, if media anti-collision identifiers (UID) are used as RFID code, a
|
|
3831
3375
|
* value of 20 (equals 10 Byte ISO 14443A UID) is recommended.
|
|
3832
3376
|
*
|
|
3833
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3377
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.16
|
|
3834
3378
|
*/
|
|
3835
3379
|
maxRfidCodeLength: FixedAttribute(0x19, TlvUInt8),
|
|
3836
3380
|
|
|
@@ -3839,7 +3383,7 @@ export namespace DoorLock {
|
|
|
3839
3383
|
* range specified by the manufacturer, if media anti-collision identifiers (UID) are used as RFID code, a
|
|
3840
3384
|
* value of 8 (equals 4 Byte ISO 14443A UID) is recommended.
|
|
3841
3385
|
*
|
|
3842
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3386
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.17
|
|
3843
3387
|
*/
|
|
3844
3388
|
minRfidCodeLength: FixedAttribute(0x1a, TlvUInt8)
|
|
3845
3389
|
}
|
|
@@ -3853,24 +3397,25 @@ export namespace DoorLock {
|
|
|
3853
3397
|
/**
|
|
3854
3398
|
* Indicates the number of configurable week day schedule supported per user.
|
|
3855
3399
|
*
|
|
3856
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3400
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.11
|
|
3857
3401
|
*/
|
|
3858
|
-
numberOfWeekDaySchedulesSupportedPerUser: FixedAttribute(
|
|
3402
|
+
numberOfWeekDaySchedulesSupportedPerUser: FixedAttribute(
|
|
3403
|
+
0x14,
|
|
3404
|
+
TlvUInt8.bound({ max: 253 }),
|
|
3405
|
+
{ default: 0 }
|
|
3406
|
+
)
|
|
3859
3407
|
},
|
|
3860
3408
|
|
|
3861
3409
|
commands: {
|
|
3862
3410
|
/**
|
|
3863
3411
|
* Set a weekly repeating schedule for a specified user.
|
|
3864
3412
|
*
|
|
3865
|
-
* † The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead,
|
|
3866
|
-
* respectively.
|
|
3867
|
-
*
|
|
3868
3413
|
* The associated UserType may be changed to ScheduleRestrictedUser by the lock when a Week Day schedule is
|
|
3869
3414
|
* set.
|
|
3870
3415
|
*
|
|
3871
3416
|
* Return status shall be one of the following values:
|
|
3872
3417
|
*
|
|
3873
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3418
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.12
|
|
3874
3419
|
*/
|
|
3875
3420
|
setWeekDaySchedule: Command(
|
|
3876
3421
|
0xb,
|
|
@@ -3883,10 +3428,7 @@ export namespace DoorLock {
|
|
|
3883
3428
|
/**
|
|
3884
3429
|
* Retrieve the specific weekly schedule for the specific user.
|
|
3885
3430
|
*
|
|
3886
|
-
*
|
|
3887
|
-
* respectively.
|
|
3888
|
-
*
|
|
3889
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.15
|
|
3431
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.13
|
|
3890
3432
|
*/
|
|
3891
3433
|
getWeekDaySchedule: Command(
|
|
3892
3434
|
0xc,
|
|
@@ -3899,12 +3441,9 @@ export namespace DoorLock {
|
|
|
3899
3441
|
/**
|
|
3900
3442
|
* Clear the specific weekly schedule or all weekly schedules for the specific user.
|
|
3901
3443
|
*
|
|
3902
|
-
* † The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead,
|
|
3903
|
-
* respectively.
|
|
3904
|
-
*
|
|
3905
3444
|
* Return status shall be one of the following values:
|
|
3906
3445
|
*
|
|
3907
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3446
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.15
|
|
3908
3447
|
*/
|
|
3909
3448
|
clearWeekDaySchedule: Command(
|
|
3910
3449
|
0xd,
|
|
@@ -3924,24 +3463,25 @@ export namespace DoorLock {
|
|
|
3924
3463
|
/**
|
|
3925
3464
|
* Indicates the number of configurable year day schedule supported per user.
|
|
3926
3465
|
*
|
|
3927
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3466
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.12
|
|
3928
3467
|
*/
|
|
3929
|
-
numberOfYearDaySchedulesSupportedPerUser: FixedAttribute(
|
|
3468
|
+
numberOfYearDaySchedulesSupportedPerUser: FixedAttribute(
|
|
3469
|
+
0x15,
|
|
3470
|
+
TlvUInt8.bound({ max: 253 }),
|
|
3471
|
+
{ default: 0 }
|
|
3472
|
+
)
|
|
3930
3473
|
},
|
|
3931
3474
|
|
|
3932
3475
|
commands: {
|
|
3933
3476
|
/**
|
|
3934
3477
|
* Set a time-specific schedule ID for a specified user.
|
|
3935
3478
|
*
|
|
3936
|
-
* † The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead,
|
|
3937
|
-
* respectively.
|
|
3938
|
-
*
|
|
3939
3479
|
* The associated UserType may be changed to ScheduleRestrictedUser by the lock when a Year Day schedule is
|
|
3940
3480
|
* set.
|
|
3941
3481
|
*
|
|
3942
3482
|
* Return status shall be one of the following values:
|
|
3943
3483
|
*
|
|
3944
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3484
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.16
|
|
3945
3485
|
*/
|
|
3946
3486
|
setYearDaySchedule: Command(
|
|
3947
3487
|
0xe,
|
|
@@ -3954,10 +3494,7 @@ export namespace DoorLock {
|
|
|
3954
3494
|
/**
|
|
3955
3495
|
* Retrieve the specific year day schedule for the specific schedule and user indexes.
|
|
3956
3496
|
*
|
|
3957
|
-
*
|
|
3958
|
-
* respectively.
|
|
3959
|
-
*
|
|
3960
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.19
|
|
3497
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.17
|
|
3961
3498
|
*/
|
|
3962
3499
|
getYearDaySchedule: Command(
|
|
3963
3500
|
0xf,
|
|
@@ -3970,12 +3507,9 @@ export namespace DoorLock {
|
|
|
3970
3507
|
/**
|
|
3971
3508
|
* Clears the specific year day schedule or all year day schedules for the specific user.
|
|
3972
3509
|
*
|
|
3973
|
-
* † The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead,
|
|
3974
|
-
* respectively.
|
|
3975
|
-
*
|
|
3976
3510
|
* Return status shall be one of the following values:
|
|
3977
3511
|
*
|
|
3978
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3512
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.19
|
|
3979
3513
|
*/
|
|
3980
3514
|
clearYearDaySchedule: Command(
|
|
3981
3515
|
0x10,
|
|
@@ -3995,9 +3529,9 @@ export namespace DoorLock {
|
|
|
3995
3529
|
/**
|
|
3996
3530
|
* Indicates the number of holiday schedules supported for the entire door lock device.
|
|
3997
3531
|
*
|
|
3998
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3532
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.13
|
|
3999
3533
|
*/
|
|
4000
|
-
numberOfHolidaySchedulesSupported: FixedAttribute(0x16, TlvUInt8, { default: 0 })
|
|
3534
|
+
numberOfHolidaySchedulesSupported: FixedAttribute(0x16, TlvUInt8.bound({ max: 253 }), { default: 0 })
|
|
4001
3535
|
},
|
|
4002
3536
|
|
|
4003
3537
|
commands: {
|
|
@@ -4005,10 +3539,9 @@ export namespace DoorLock {
|
|
|
4005
3539
|
* Set the holiday Schedule by specifying local start time and local end time with respect to any Lock
|
|
4006
3540
|
* Operating Mode.
|
|
4007
3541
|
*
|
|
4008
|
-
*
|
|
4009
|
-
* one of the following values:
|
|
3542
|
+
* Return status shall be one of the following values:
|
|
4010
3543
|
*
|
|
4011
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3544
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.20
|
|
4012
3545
|
*/
|
|
4013
3546
|
setHolidaySchedule: Command(
|
|
4014
3547
|
0x11,
|
|
@@ -4021,9 +3554,7 @@ export namespace DoorLock {
|
|
|
4021
3554
|
/**
|
|
4022
3555
|
* Get the holiday schedule for the specified index.
|
|
4023
3556
|
*
|
|
4024
|
-
*
|
|
4025
|
-
*
|
|
4026
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.23
|
|
3557
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.21
|
|
4027
3558
|
*/
|
|
4028
3559
|
getHolidaySchedule: Command(
|
|
4029
3560
|
0x12,
|
|
@@ -4036,9 +3567,7 @@ export namespace DoorLock {
|
|
|
4036
3567
|
/**
|
|
4037
3568
|
* Clears the holiday schedule or all holiday schedules.
|
|
4038
3569
|
*
|
|
4039
|
-
*
|
|
4040
|
-
*
|
|
4041
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.25
|
|
3570
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.23
|
|
4042
3571
|
*/
|
|
4043
3572
|
clearHolidaySchedule: Command(
|
|
4044
3573
|
0x13,
|
|
@@ -4067,7 +3596,7 @@ export namespace DoorLock {
|
|
|
4067
3596
|
* logic, environmental events, or other reasons. The lock shall reset the counter if a valid credential is
|
|
4068
3597
|
* presented.
|
|
4069
3598
|
*
|
|
4070
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3599
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.32
|
|
4071
3600
|
*/
|
|
4072
3601
|
wrongCodeEntryLimit: WritableAttribute(
|
|
4073
3602
|
0x30,
|
|
@@ -4081,7 +3610,7 @@ export namespace DoorLock {
|
|
|
4081
3610
|
* to try and guess a PIN for the device.) If the attribute accepts writes and an attempt to write the
|
|
4082
3611
|
* attribute to 0 is made, the device shall respond with CONSTRAINT_ERROR.
|
|
4083
3612
|
*
|
|
4084
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3613
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.33
|
|
4085
3614
|
*/
|
|
4086
3615
|
userCodeTemporaryDisableTime: WritableAttribute(
|
|
4087
3616
|
0x31,
|
|
@@ -4102,12 +3631,13 @@ export namespace DoorLock {
|
|
|
4102
3631
|
* door lock server to send PINs over the air. This attribute determines the behavior of the server’s TX
|
|
4103
3632
|
* operation. If it is false, then it is not ok for the device to send PIN in any messages over the air.
|
|
4104
3633
|
*
|
|
4105
|
-
* The PIN field within any door lock cluster message shall keep the first octet unchanged and
|
|
4106
|
-
* actual code by replacing with 0xFF. For example (PIN "1234" ): If the attribute value is True, 0x04 0x31
|
|
4107
|
-
* 0x32 0x33 0x34 shall be used in the PIN field in any door lock cluster message payload. If the attribute
|
|
4108
|
-
* value is False, 0x04 0xFF 0xFF 0xFF 0xFF shall be used.
|
|
3634
|
+
* The PIN field within any door lock cluster message shall keep the first octet unchanged and
|
|
4109
3635
|
*
|
|
4110
|
-
*
|
|
3636
|
+
* masks the actual code by replacing with 0xFF. For example (PIN "1234" ): If the attribute value is True,
|
|
3637
|
+
* 0x04 0x31 0x32 0x33 0x34 shall be used in the PIN field in any door lock cluster message payload. If the
|
|
3638
|
+
* attribute value is False, 0x04 0xFF 0xFF 0xFF 0xFF shall be used.
|
|
3639
|
+
*
|
|
3640
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.34
|
|
4111
3641
|
*/
|
|
4112
3642
|
sendPinOverTheAir: OptionalWritableAttribute(
|
|
4113
3643
|
0x32,
|
|
@@ -4123,7 +3653,7 @@ export namespace DoorLock {
|
|
|
4123
3653
|
* Return status is a global status code or a cluster-specific status code from the Status Codes table and
|
|
4124
3654
|
* shall be one of the following values:
|
|
4125
3655
|
*
|
|
4126
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3656
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.4
|
|
4127
3657
|
*/
|
|
4128
3658
|
setPinCode: Command(
|
|
4129
3659
|
0x5,
|
|
@@ -4136,7 +3666,7 @@ export namespace DoorLock {
|
|
|
4136
3666
|
/**
|
|
4137
3667
|
* Retrieve a PIN Code.
|
|
4138
3668
|
*
|
|
4139
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3669
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.5
|
|
4140
3670
|
*/
|
|
4141
3671
|
getPinCode: Command(
|
|
4142
3672
|
0x6,
|
|
@@ -4149,13 +3679,11 @@ export namespace DoorLock {
|
|
|
4149
3679
|
/**
|
|
4150
3680
|
* Clear a PIN code or all PIN codes.
|
|
4151
3681
|
*
|
|
4152
|
-
* † The User ID is an obsolete field name, use PINSlotIndex instead.
|
|
4153
|
-
*
|
|
4154
3682
|
* For each PIN Code cleared whose user doesn’t have a RFID Code or other credential type, then
|
|
4155
3683
|
* corresponding user record’s UserStatus value shall be set to Available, and UserType value shall be set
|
|
4156
3684
|
* to UnrestrictedUser and all schedules shall be cleared.
|
|
4157
3685
|
*
|
|
4158
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3686
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.7
|
|
4159
3687
|
*/
|
|
4160
3688
|
clearPinCode: Command(
|
|
4161
3689
|
0x7,
|
|
@@ -4173,7 +3701,7 @@ export namespace DoorLock {
|
|
|
4173
3701
|
* On the server, the clear all PIN codes command SHOULD have the same effect as the ClearPINCode command
|
|
4174
3702
|
* with respect to the setting of user status, user type and schedules.
|
|
4175
3703
|
*
|
|
4176
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3704
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.8
|
|
4177
3705
|
*/
|
|
4178
3706
|
clearAllPinCodes: Command(
|
|
4179
3707
|
0x8,
|
|
@@ -4195,7 +3723,7 @@ export namespace DoorLock {
|
|
|
4195
3723
|
* server requires that an optional PINs be included in the payload of remote lock operation events like
|
|
4196
3724
|
* Lock, Unlock, Unlock with Timeout and Toggle in order to function.
|
|
4197
3725
|
*
|
|
4198
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3726
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.35
|
|
4199
3727
|
*/
|
|
4200
3728
|
requirePinForRemoteOperation: WritableAttribute(
|
|
4201
3729
|
0x33,
|
|
@@ -4206,145 +3734,159 @@ export namespace DoorLock {
|
|
|
4206
3734
|
});
|
|
4207
3735
|
|
|
4208
3736
|
/**
|
|
4209
|
-
* A DoorLockCluster supports these elements if it supports
|
|
3737
|
+
* A DoorLockCluster supports these elements if it supports feature AliroProvisioning.
|
|
4210
3738
|
*/
|
|
4211
|
-
export const
|
|
3739
|
+
export const AliroProvisioningComponent = MutableCluster.Component({
|
|
4212
3740
|
attributes: {
|
|
4213
3741
|
/**
|
|
4214
|
-
*
|
|
4215
|
-
*
|
|
4216
|
-
* Command.
|
|
3742
|
+
* Indicates the verification key component of the Reader’s key pair as defined in [Aliro]. The value, if
|
|
3743
|
+
* not null, shall be an uncompressed elliptic curve public key as defined in section 2.3.3 of SEC 1.
|
|
4217
3744
|
*
|
|
4218
|
-
*
|
|
3745
|
+
* Null if no Reader key pair has been configured on the lock. See SetAliroReaderConfig.
|
|
4219
3746
|
*
|
|
4220
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3747
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.38
|
|
4221
3748
|
*/
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
{
|
|
4226
|
-
default: BitsFromPartial(EventMask, { bit0: true, bit1: true, bit2: true, bit3: true, bit4: true, bit5: true, bit6: true, bit7: true, bit8: true, bit9: true, bit10: true, bit11: true, bit12: true, bit13: true, bit14: true, bit15: true }),
|
|
4227
|
-
writeAcl: AccessLevel.Administer
|
|
4228
|
-
}
|
|
3749
|
+
aliroReaderVerificationKey: Attribute(
|
|
3750
|
+
0x80,
|
|
3751
|
+
TlvNullable(TlvByteString.bound({ length: 65 })),
|
|
3752
|
+
{ default: null, readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
4229
3753
|
),
|
|
4230
3754
|
|
|
4231
3755
|
/**
|
|
4232
|
-
*
|
|
4233
|
-
* events in the event log. This mask only applies to the Programming Event Notification Command.
|
|
3756
|
+
* Indicates the reader_group_identifier as defined in [Aliro].
|
|
4234
3757
|
*
|
|
4235
|
-
*
|
|
3758
|
+
* Null if no reader_group_identifier has been configured on the lock. See SetAliroReaderConfig.
|
|
4236
3759
|
*
|
|
4237
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3760
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.39
|
|
4238
3761
|
*/
|
|
4239
|
-
|
|
4240
|
-
|
|
4241
|
-
|
|
4242
|
-
{
|
|
4243
|
-
|
|
4244
|
-
writeAcl: AccessLevel.Administer
|
|
4245
|
-
}
|
|
4246
|
-
)
|
|
4247
|
-
}
|
|
4248
|
-
});
|
|
3762
|
+
aliroReaderGroupIdentifier: Attribute(
|
|
3763
|
+
0x81,
|
|
3764
|
+
TlvNullable(TlvByteString.bound({ length: 16 })),
|
|
3765
|
+
{ default: null, readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
3766
|
+
),
|
|
4249
3767
|
|
|
4250
|
-
/**
|
|
4251
|
-
* A DoorLockCluster supports these elements if it supports feature Notification.
|
|
4252
|
-
*/
|
|
4253
|
-
export const NotificationComponent = MutableCluster.Component({
|
|
4254
|
-
attributes: {
|
|
4255
3768
|
/**
|
|
4256
|
-
*
|
|
4257
|
-
* to the storing of events in the event log. This mask only applies to the Operation Event Notification
|
|
4258
|
-
* Command.
|
|
3769
|
+
* Indicates the reader_group_sub_identifier as defined in [Aliro].
|
|
4259
3770
|
*
|
|
4260
|
-
*
|
|
3771
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.40
|
|
3772
|
+
*/
|
|
3773
|
+
aliroReaderGroupSubIdentifier: FixedAttribute(
|
|
3774
|
+
0x82,
|
|
3775
|
+
TlvByteString.bound({ length: 16 }),
|
|
3776
|
+
{ readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
3777
|
+
),
|
|
3778
|
+
|
|
3779
|
+
/**
|
|
3780
|
+
* Indicates the list of protocol versions supported for expedited transactions as defined in [Aliro].
|
|
4261
3781
|
*
|
|
4262
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3782
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.41
|
|
4263
3783
|
*/
|
|
4264
|
-
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
{
|
|
4268
|
-
default: BitsFromPartial(EventMask, { bit0: true, bit1: true, bit2: true, bit3: true, bit4: true, bit5: true, bit6: true, bit7: true, bit8: true, bit9: true, bit10: true, bit11: true, bit12: true, bit13: true, bit14: true, bit15: true }),
|
|
4269
|
-
writeAcl: AccessLevel.Administer
|
|
4270
|
-
}
|
|
3784
|
+
aliroExpeditedTransactionSupportedProtocolVersions: FixedAttribute(
|
|
3785
|
+
0x83,
|
|
3786
|
+
TlvArray(TlvByteString, { maxLength: 16 }),
|
|
3787
|
+
{ default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
4271
3788
|
),
|
|
4272
3789
|
|
|
4273
3790
|
/**
|
|
4274
|
-
*
|
|
4275
|
-
* events in the event log. This mask only applies to the Operation Event Notification Command.
|
|
3791
|
+
* Indicates the maximum number of AliroCredentialIssuerKey credentials that can be stored on the lock.
|
|
4276
3792
|
*
|
|
4277
|
-
*
|
|
3793
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.45
|
|
3794
|
+
*/
|
|
3795
|
+
numberOfAliroCredentialIssuerKeysSupported: FixedAttribute(0x87, TlvUInt16, { default: 0 }),
|
|
3796
|
+
|
|
3797
|
+
/**
|
|
3798
|
+
* Indicates the maximum number of endpoint key credentials that can be stored on the lock. This limit
|
|
3799
|
+
* applies to the sum of the number of AliroEvictableEndpointKey credentials and the number of
|
|
3800
|
+
* AliroNonEvictableEndpointKey credentials.
|
|
4278
3801
|
*
|
|
4279
|
-
*
|
|
3802
|
+
* NOTE
|
|
3803
|
+
*
|
|
3804
|
+
* The credential indices used for these two credential types are independent of each other, similar to all
|
|
3805
|
+
* other credential types. As long as NumberOfAliroEndpointKeysSupported is at least 2 a client could add a
|
|
3806
|
+
* credential of type AliroEvictableEndpointKey at any index from 1 to NumberOfAliroEndpointKeysSupported
|
|
3807
|
+
* and also add a credential of type AliroNonEvictableEndpointKey at the same index, and both credentials
|
|
3808
|
+
* would exist on the server.
|
|
3809
|
+
*
|
|
3810
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.46
|
|
4280
3811
|
*/
|
|
4281
|
-
|
|
4282
|
-
|
|
4283
|
-
|
|
4284
|
-
|
|
4285
|
-
|
|
4286
|
-
|
|
4287
|
-
|
|
3812
|
+
numberOfAliroEndpointKeysSupported: FixedAttribute(0x88, TlvUInt16, { default: 0 })
|
|
3813
|
+
},
|
|
3814
|
+
|
|
3815
|
+
commands: {
|
|
3816
|
+
/**
|
|
3817
|
+
* This command allows communicating an Aliro Reader configuration, as defined in [Aliro], to the lock.
|
|
3818
|
+
*
|
|
3819
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.42
|
|
3820
|
+
*/
|
|
3821
|
+
setAliroReaderConfig: Command(
|
|
3822
|
+
0x28,
|
|
3823
|
+
TlvSetAliroReaderConfigRequest,
|
|
3824
|
+
0x28,
|
|
3825
|
+
TlvNoResponse,
|
|
3826
|
+
{ invokeAcl: AccessLevel.Administer, timed: true }
|
|
4288
3827
|
),
|
|
4289
3828
|
|
|
4290
3829
|
/**
|
|
4291
|
-
*
|
|
4292
|
-
*
|
|
3830
|
+
* This command allows clearing an existing Aliro Reader configuration for the lock. Administrators shall
|
|
3831
|
+
* NOT clear an Aliro Reader configuration without explicit user permission.
|
|
4293
3832
|
*
|
|
4294
|
-
*
|
|
3833
|
+
* NOTE
|
|
4295
3834
|
*
|
|
4296
|
-
*
|
|
3835
|
+
* Using this command will revoke the ability of all existing Aliro user devices that have the old
|
|
3836
|
+
* verification key to interact with the lock. This effect is not restricted to a single fabric or
|
|
3837
|
+
* otherwise scoped in any way.
|
|
3838
|
+
*
|
|
3839
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.43
|
|
4297
3840
|
*/
|
|
4298
|
-
|
|
4299
|
-
|
|
4300
|
-
|
|
4301
|
-
|
|
4302
|
-
|
|
4303
|
-
|
|
4304
|
-
}
|
|
3841
|
+
clearAliroReaderConfig: Command(
|
|
3842
|
+
0x29,
|
|
3843
|
+
TlvNoArguments,
|
|
3844
|
+
0x29,
|
|
3845
|
+
TlvNoResponse,
|
|
3846
|
+
{ invokeAcl: AccessLevel.Administer, timed: true }
|
|
4305
3847
|
)
|
|
4306
3848
|
}
|
|
4307
3849
|
});
|
|
4308
3850
|
|
|
4309
3851
|
/**
|
|
4310
|
-
* A DoorLockCluster supports these elements if it supports
|
|
3852
|
+
* A DoorLockCluster supports these elements if it supports feature AliroBleuwb.
|
|
4311
3853
|
*/
|
|
4312
|
-
export const
|
|
3854
|
+
export const AliroBleuwbComponent = MutableCluster.Component({
|
|
4313
3855
|
attributes: {
|
|
4314
3856
|
/**
|
|
4315
|
-
*
|
|
4316
|
-
* events in the event log. This mask only applies to the Operation Event Notification Command.
|
|
3857
|
+
* Indicates the Group Resolving Key as defined in [Aliro].
|
|
4317
3858
|
*
|
|
4318
|
-
*
|
|
3859
|
+
* Null if no group resolving key has been configured on the lock. See SetAliroReaderConfig.
|
|
4319
3860
|
*
|
|
4320
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3861
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.42
|
|
4321
3862
|
*/
|
|
4322
|
-
|
|
4323
|
-
|
|
4324
|
-
|
|
4325
|
-
{
|
|
4326
|
-
default: BitsFromPartial(EventMask, { bit0: true, bit1: true, bit2: true, bit3: true, bit4: true, bit5: true, bit6: true, bit7: true, bit8: true, bit9: true, bit10: true, bit11: true, bit12: true, bit13: true, bit14: true, bit15: true }),
|
|
4327
|
-
writeAcl: AccessLevel.Administer
|
|
4328
|
-
}
|
|
3863
|
+
aliroGroupResolvingKey: Attribute(
|
|
3864
|
+
0x84,
|
|
3865
|
+
TlvNullable(TlvByteString.bound({ length: 16 })),
|
|
3866
|
+
{ default: null, readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
4329
3867
|
),
|
|
4330
3868
|
|
|
4331
3869
|
/**
|
|
4332
|
-
*
|
|
4333
|
-
*
|
|
4334
|
-
*
|
|
4335
|
-
* This mask DOES NOT apply to the Events mechanism of this cluster.
|
|
3870
|
+
* Indicates the list of protocol versions supported for the Bluetooth LE + UWB Access Control Flow as
|
|
3871
|
+
* defined in [Aliro].
|
|
4336
3872
|
*
|
|
4337
|
-
*
|
|
3873
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.43
|
|
3874
|
+
*/
|
|
3875
|
+
aliroSupportedBleuwbProtocolVersions: FixedAttribute(
|
|
3876
|
+
0x85,
|
|
3877
|
+
TlvArray(TlvByteString, { maxLength: 16 }),
|
|
3878
|
+
{ default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
3879
|
+
),
|
|
3880
|
+
|
|
3881
|
+
/**
|
|
3882
|
+
* Indicates the version of the Bluetooth LE advertisement as defined in [Aliro].
|
|
4338
3883
|
*
|
|
4339
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
3884
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.44
|
|
4340
3885
|
*/
|
|
4341
|
-
|
|
4342
|
-
|
|
4343
|
-
|
|
4344
|
-
{
|
|
4345
|
-
default: BitsFromPartial(RfidProgrammingEventMask, { unknown: true, bit1: true, bit2: true, bit3: true, bit4: true, idAdded: true, idCleared: true, bit7: true, bit8: true, bit9: true, bit10: true, bit11: true, bit12: true, bit13: true, bit14: true, bit15: true }),
|
|
4346
|
-
writeAcl: AccessLevel.Administer
|
|
4347
|
-
}
|
|
3886
|
+
aliroBleAdvertisingVersion: FixedAttribute(
|
|
3887
|
+
0x86,
|
|
3888
|
+
TlvUInt8,
|
|
3889
|
+
{ default: 0, readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
4348
3890
|
)
|
|
4349
3891
|
}
|
|
4350
3892
|
});
|
|
@@ -4358,7 +3900,7 @@ export namespace DoorLock {
|
|
|
4358
3900
|
/**
|
|
4359
3901
|
* Set the status of a user ID.
|
|
4360
3902
|
*
|
|
4361
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3903
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.9
|
|
4362
3904
|
*/
|
|
4363
3905
|
setUserStatus: OptionalCommand(
|
|
4364
3906
|
0x9,
|
|
@@ -4371,7 +3913,7 @@ export namespace DoorLock {
|
|
|
4371
3913
|
/**
|
|
4372
3914
|
* Get the status of a user.
|
|
4373
3915
|
*
|
|
4374
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3916
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.10
|
|
4375
3917
|
*/
|
|
4376
3918
|
getUserStatus: OptionalCommand(
|
|
4377
3919
|
0xa,
|
|
@@ -4388,7 +3930,7 @@ export namespace DoorLock {
|
|
|
4388
3930
|
*
|
|
4389
3931
|
* Return status shall be one of the following values:
|
|
4390
3932
|
*
|
|
4391
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3933
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.24
|
|
4392
3934
|
*/
|
|
4393
3935
|
setUserType: OptionalCommand(
|
|
4394
3936
|
0x14,
|
|
@@ -4401,7 +3943,7 @@ export namespace DoorLock {
|
|
|
4401
3943
|
/**
|
|
4402
3944
|
* Retrieve the user type for a specific user.
|
|
4403
3945
|
*
|
|
4404
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3946
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.25
|
|
4405
3947
|
*/
|
|
4406
3948
|
getUserType: OptionalCommand(
|
|
4407
3949
|
0x15,
|
|
@@ -4430,7 +3972,7 @@ export namespace DoorLock {
|
|
|
4430
3972
|
* Return status is a global status code or a cluster-specific status code from the Status Codes table and
|
|
4431
3973
|
* shall be one of the following values:
|
|
4432
3974
|
*
|
|
4433
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3975
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.27
|
|
4434
3976
|
*/
|
|
4435
3977
|
setRfidCode: Command(
|
|
4436
3978
|
0x16,
|
|
@@ -4443,7 +3985,7 @@ export namespace DoorLock {
|
|
|
4443
3985
|
/**
|
|
4444
3986
|
* Retrieve an RFID code.
|
|
4445
3987
|
*
|
|
4446
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
3988
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.28
|
|
4447
3989
|
*/
|
|
4448
3990
|
getRfidCode: Command(
|
|
4449
3991
|
0x17,
|
|
@@ -4456,13 +3998,11 @@ export namespace DoorLock {
|
|
|
4456
3998
|
/**
|
|
4457
3999
|
* Clear an RFID code or all RFID codes.
|
|
4458
4000
|
*
|
|
4459
|
-
* † The User ID is an obsolete field name, use RFIDSlotIndex instead.
|
|
4460
|
-
*
|
|
4461
4001
|
* For each RFID Code cleared whose user doesn’t have a PIN Code or other credential type, then the
|
|
4462
4002
|
* corresponding user record’s UserStatus value shall be set to Available, and UserType value shall be set
|
|
4463
4003
|
* to UnrestrictedUser and all schedules shall be cleared.
|
|
4464
4004
|
*
|
|
4465
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
4005
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.30
|
|
4466
4006
|
*/
|
|
4467
4007
|
clearRfidCode: Command(
|
|
4468
4008
|
0x18,
|
|
@@ -4477,7 +4017,7 @@ export namespace DoorLock {
|
|
|
4477
4017
|
* user status has to be set to "0 Available", the user type has to be set to the default value, and all
|
|
4478
4018
|
* schedules which are supported have to be set to the default values.
|
|
4479
4019
|
*
|
|
4480
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
4020
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.31
|
|
4481
4021
|
*/
|
|
4482
4022
|
clearAllRfidCodes: Command(
|
|
4483
4023
|
0x19,
|
|
@@ -4504,7 +4044,7 @@ export namespace DoorLock {
|
|
|
4504
4044
|
* If the attribute AutoRelockTime is supported, the lock will transition to the locked state when the auto
|
|
4505
4045
|
* relock time has expired.
|
|
4506
4046
|
*
|
|
4507
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.
|
|
4047
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.41
|
|
4508
4048
|
*/
|
|
4509
4049
|
unboltDoor: Command(0x27, TlvUnboltDoorRequest, 0x27, TlvNoResponse, { timed: true })
|
|
4510
4050
|
}
|
|
@@ -4516,7 +4056,7 @@ export namespace DoorLock {
|
|
|
4516
4056
|
export const Base = MutableCluster.Component({
|
|
4517
4057
|
id: 0x101,
|
|
4518
4058
|
name: "DoorLock",
|
|
4519
|
-
revision:
|
|
4059
|
+
revision: 8,
|
|
4520
4060
|
|
|
4521
4061
|
features: {
|
|
4522
4062
|
/**
|
|
@@ -4541,7 +4081,6 @@ export namespace DoorLock {
|
|
|
4541
4081
|
*
|
|
4542
4082
|
* A lock may support multiple credential types so if the User feature is supported the UserType,
|
|
4543
4083
|
* UserStatus and Schedules are all associated with a User index and not directly with a RFID index. A User
|
|
4544
|
-
*
|
|
4545
4084
|
* Index may have several credentials associated with it.
|
|
4546
4085
|
*
|
|
4547
4086
|
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.2
|
|
@@ -4564,27 +4103,20 @@ export namespace DoorLock {
|
|
|
4564
4103
|
*/
|
|
4565
4104
|
fingerCredentials: BitFlag(2),
|
|
4566
4105
|
|
|
4567
|
-
/**
|
|
4568
|
-
* Logging
|
|
4569
|
-
*
|
|
4570
|
-
* If Events are not supported the logging feature shall replace the Event reporting structure. If Events
|
|
4571
|
-
* are supported the logging feature shall NOT be supported.
|
|
4572
|
-
*
|
|
4573
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.4
|
|
4574
|
-
*/
|
|
4575
|
-
logging: BitFlag(3),
|
|
4576
|
-
|
|
4577
4106
|
/**
|
|
4578
4107
|
* WeekDayAccessSchedules
|
|
4579
4108
|
*
|
|
4580
4109
|
* If the User feature is supported then Week Day Schedules are applied to a User and not a credential.
|
|
4581
4110
|
*
|
|
4582
4111
|
* Week Day Schedules are used to restrict access to a specified time window on certain days of the week.
|
|
4583
|
-
* The schedule is repeated each week.
|
|
4584
|
-
* grants unrestricted access to the user. The lock may automatically adjust the UserType when a schedule
|
|
4585
|
-
* is created or cleared.
|
|
4112
|
+
* The schedule is repeated each week.
|
|
4586
4113
|
*
|
|
4587
|
-
*
|
|
4114
|
+
* The lock may automatically adjust the UserType when a schedule is created or cleared.
|
|
4115
|
+
*
|
|
4116
|
+
* Support for WeekDayAccessSchedules requires that the lock has the capability of keeping track of local
|
|
4117
|
+
* time.
|
|
4118
|
+
*
|
|
4119
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.4
|
|
4588
4120
|
*/
|
|
4589
4121
|
weekDayAccessSchedules: BitFlag(4),
|
|
4590
4122
|
|
|
@@ -4594,7 +4126,7 @@ export namespace DoorLock {
|
|
|
4594
4126
|
* If this feature is supported this indicates that the lock has the ability to determine the position of
|
|
4595
4127
|
* the door which is separate from the state of the lock.
|
|
4596
4128
|
*
|
|
4597
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.
|
|
4129
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.5
|
|
4598
4130
|
*/
|
|
4599
4131
|
doorPositionSensor: BitFlag(5),
|
|
4600
4132
|
|
|
@@ -4610,7 +4142,7 @@ export namespace DoorLock {
|
|
|
4610
4142
|
* A lock may support multiple credential types so if the User feature is supported the UserType,
|
|
4611
4143
|
* UserStatus and Schedules are all associated with a User and not directly with a credential.
|
|
4612
4144
|
*
|
|
4613
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.
|
|
4145
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.6
|
|
4614
4146
|
*/
|
|
4615
4147
|
faceCredentials: BitFlag(6),
|
|
4616
4148
|
|
|
@@ -4618,10 +4150,11 @@ export namespace DoorLock {
|
|
|
4618
4150
|
* CredentialOverTheAirAccess
|
|
4619
4151
|
*
|
|
4620
4152
|
* If this feature is supported then the lock supports the ability to verify a credential provided in a
|
|
4153
|
+
*
|
|
4621
4154
|
* lock/unlock command. Currently the cluster only supports providing the PIN credential to the lock/unlock
|
|
4622
4155
|
* commands. If this feature is supported then the PIN Credential feature shall also be supported.
|
|
4623
4156
|
*
|
|
4624
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.
|
|
4157
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.7
|
|
4625
4158
|
*/
|
|
4626
4159
|
credentialOverTheAirAccess: BitFlag(7),
|
|
4627
4160
|
|
|
@@ -4632,30 +4165,22 @@ export namespace DoorLock {
|
|
|
4632
4165
|
* used to associate credentials and schedules to single user record within the lock. This also means the
|
|
4633
4166
|
* UserType and UserStatus fields are associated with a User and not a credential.
|
|
4634
4167
|
*
|
|
4635
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.
|
|
4168
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.8
|
|
4636
4169
|
*/
|
|
4637
4170
|
user: BitFlag(8),
|
|
4638
4171
|
|
|
4639
|
-
/**
|
|
4640
|
-
* Notification
|
|
4641
|
-
*
|
|
4642
|
-
* This is a feature used before support of events. This feature supports notification commands and masks
|
|
4643
|
-
* used to filter these notifications.
|
|
4644
|
-
*
|
|
4645
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.10
|
|
4646
|
-
*/
|
|
4647
|
-
notification: BitFlag(9),
|
|
4648
|
-
|
|
4649
4172
|
/**
|
|
4650
4173
|
* YearDayAccessSchedules
|
|
4651
4174
|
*
|
|
4652
4175
|
* If the User feature is supported then Year Day Schedules are applied to a User and not a credential.
|
|
4176
|
+
* Year Day Schedules are used to restrict access to a specified date and time window.
|
|
4653
4177
|
*
|
|
4654
|
-
*
|
|
4655
|
-
* cleared this clears the access restrictions and grants unrestricted access to the user. The lock may
|
|
4656
|
-
* automatically adjust the UserType when a schedule is created or cleared.
|
|
4178
|
+
* The lock may automatically adjust the UserType when a schedule is created or cleared.
|
|
4657
4179
|
*
|
|
4658
|
-
*
|
|
4180
|
+
* Support for YearDayAccessSchedules requires that the lock has the capability of keeping track of local
|
|
4181
|
+
* time.
|
|
4182
|
+
*
|
|
4183
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.9
|
|
4659
4184
|
*/
|
|
4660
4185
|
yearDayAccessSchedules: BitFlag(10),
|
|
4661
4186
|
|
|
@@ -4665,7 +4190,9 @@ export namespace DoorLock {
|
|
|
4665
4190
|
* This feature is used to setup Holiday Schedule in the lock device. A Holiday Schedule sets a start and
|
|
4666
4191
|
* stop end date/time for the lock to use the specified operating mode set by the Holiday Schedule.
|
|
4667
4192
|
*
|
|
4668
|
-
*
|
|
4193
|
+
* Support for HolidaySchedules requires that the lock has the capability of keeping track of local time.
|
|
4194
|
+
*
|
|
4195
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.10
|
|
4669
4196
|
*/
|
|
4670
4197
|
holidaySchedules: BitFlag(11),
|
|
4671
4198
|
|
|
@@ -4678,9 +4205,29 @@ export namespace DoorLock {
|
|
|
4678
4205
|
* Unlatched. Locks without unbolting support don’t differentiate between unbolting and unlocking and
|
|
4679
4206
|
* perform the same operation for both commands.
|
|
4680
4207
|
*
|
|
4208
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.11
|
|
4209
|
+
*/
|
|
4210
|
+
unbolting: BitFlag(12),
|
|
4211
|
+
|
|
4212
|
+
/**
|
|
4213
|
+
* AliroProvisioning
|
|
4214
|
+
*
|
|
4215
|
+
* Locks that support this feature implement the Aliro specification as defined in [Aliro] and support
|
|
4216
|
+
* Matter as a method for provisioning Aliro credentials.
|
|
4217
|
+
*
|
|
4218
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.12
|
|
4219
|
+
*/
|
|
4220
|
+
aliroProvisioning: BitFlag(13),
|
|
4221
|
+
|
|
4222
|
+
/**
|
|
4223
|
+
* AliroBleuwb
|
|
4224
|
+
*
|
|
4225
|
+
* Locks that support this feature implement the Bluetooth LE + UWB Access Control Flow as defined in
|
|
4226
|
+
* [Aliro].
|
|
4227
|
+
*
|
|
4681
4228
|
* @see {@link MatterSpecification.v13.Cluster} § 5.2.4.13
|
|
4682
4229
|
*/
|
|
4683
|
-
|
|
4230
|
+
aliroBleuwb: BitFlag(14)
|
|
4684
4231
|
},
|
|
4685
4232
|
|
|
4686
4233
|
attributes: {
|
|
@@ -4693,14 +4240,14 @@ export namespace DoorLock {
|
|
|
4693
4240
|
* Locked and Unlocked so it is only partially secured. For example, a deadbolt could be partially extended
|
|
4694
4241
|
* and not in a dead latched state.
|
|
4695
4242
|
*
|
|
4696
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4243
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.1
|
|
4697
4244
|
*/
|
|
4698
|
-
lockState: Attribute(0x0, TlvNullable(TlvEnum<LockState>())
|
|
4245
|
+
lockState: Attribute(0x0, TlvNullable(TlvEnum<LockState>())),
|
|
4699
4246
|
|
|
4700
4247
|
/**
|
|
4701
4248
|
* Indicates the type of door lock as defined in LockTypeEnum.
|
|
4702
4249
|
*
|
|
4703
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4250
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.2
|
|
4704
4251
|
*/
|
|
4705
4252
|
lockType: Attribute(0x1, TlvEnum<LockType>()),
|
|
4706
4253
|
|
|
@@ -4708,7 +4255,7 @@ export namespace DoorLock {
|
|
|
4708
4255
|
* Indicates if the lock is currently able to (Enabled) or not able to (Disabled) process remote Lock,
|
|
4709
4256
|
* Unlock, or Unlock with Timeout commands.
|
|
4710
4257
|
*
|
|
4711
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4258
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.3
|
|
4712
4259
|
*/
|
|
4713
4260
|
actuatorEnabled: Attribute(0x2, TlvBoolean),
|
|
4714
4261
|
|
|
@@ -4716,7 +4263,7 @@ export namespace DoorLock {
|
|
|
4716
4263
|
* Indicates the language for the on-screen or audible user interface using a 2- byte language code from
|
|
4717
4264
|
* ISO-639-1.
|
|
4718
4265
|
*
|
|
4719
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4266
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.20
|
|
4720
4267
|
*/
|
|
4721
4268
|
language: OptionalWritableAttribute(
|
|
4722
4269
|
0x21,
|
|
@@ -4727,7 +4274,7 @@ export namespace DoorLock {
|
|
|
4727
4274
|
/**
|
|
4728
4275
|
* Indicates the settings for the LED support, as defined by LEDSettingEnum.
|
|
4729
4276
|
*
|
|
4730
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4277
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.21
|
|
4731
4278
|
*/
|
|
4732
4279
|
ledSettings: OptionalWritableAttribute(
|
|
4733
4280
|
0x22,
|
|
@@ -4740,14 +4287,14 @@ export namespace DoorLock {
|
|
|
4740
4287
|
* 0=disabled. If set, unlock operations from any source will be timed. For one time unlock with timeout
|
|
4741
4288
|
* use the specific command.
|
|
4742
4289
|
*
|
|
4743
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4290
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.22
|
|
4744
4291
|
*/
|
|
4745
4292
|
autoRelockTime: OptionalWritableAttribute(0x23, TlvUInt32, { writeAcl: AccessLevel.Manage }),
|
|
4746
4293
|
|
|
4747
4294
|
/**
|
|
4748
4295
|
* Indicates the sound volume on a door lock as defined by SoundVolumeEnum.
|
|
4749
4296
|
*
|
|
4750
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4297
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.23
|
|
4751
4298
|
*/
|
|
4752
4299
|
soundVolume: OptionalWritableAttribute(
|
|
4753
4300
|
0x24,
|
|
@@ -4758,7 +4305,7 @@ export namespace DoorLock {
|
|
|
4758
4305
|
/**
|
|
4759
4306
|
* Indicates the current operating mode of the lock as defined in OperatingModeEnum.
|
|
4760
4307
|
*
|
|
4761
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4308
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.24
|
|
4762
4309
|
*/
|
|
4763
4310
|
operatingMode: WritableAttribute(
|
|
4764
4311
|
0x25,
|
|
@@ -4771,7 +4318,7 @@ export namespace DoorLock {
|
|
|
4771
4318
|
* by the lock. All operating modes NOT supported by a lock shall be set to one. The value of the
|
|
4772
4319
|
* OperatingMode enumeration defines the related bit to be set.
|
|
4773
4320
|
*
|
|
4774
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4321
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.25
|
|
4775
4322
|
*/
|
|
4776
4323
|
supportedOperatingModes: FixedAttribute(
|
|
4777
4324
|
0x26,
|
|
@@ -4781,8 +4328,10 @@ export namespace DoorLock {
|
|
|
4781
4328
|
|
|
4782
4329
|
/**
|
|
4783
4330
|
* Indicates the default configurations as they are physically set on the device (example: hardware dip
|
|
4784
|
-
* switch setting, etc…) and represents the default setting for some of the
|
|
4785
|
-
*
|
|
4331
|
+
* switch setting, etc…) and represents the default setting for some of the
|
|
4332
|
+
*
|
|
4333
|
+
* attributes within this cluster (for example: LED, Auto Lock, Sound Volume, and Operating Mode
|
|
4334
|
+
* attributes).
|
|
4786
4335
|
*
|
|
4787
4336
|
* This is a read-only attribute and is intended to allow clients to determine what changes may need to be
|
|
4788
4337
|
* made without having to query all the included attributes. It may be beneficial for the clients to know
|
|
@@ -4796,7 +4345,7 @@ export namespace DoorLock {
|
|
|
4796
4345
|
* current Sound Volume is High Volume. Therefore, if the client wants to query/modify the current Sound
|
|
4797
4346
|
* Volume setting on the server, the client SHOULD read/write to the Sound Volume attribute.
|
|
4798
4347
|
*
|
|
4799
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4348
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.26
|
|
4800
4349
|
*/
|
|
4801
4350
|
defaultConfigurationRegister: OptionalAttribute(0x27, TlvBitmap(TlvUInt16, ConfigurationRegister)),
|
|
4802
4351
|
|
|
@@ -4807,7 +4356,7 @@ export namespace DoorLock {
|
|
|
4807
4356
|
* lock for those features whose bit is set to 0 in the LocalProgrammingFeatures attribute. Local
|
|
4808
4357
|
* programming shall be enabled by default.
|
|
4809
4358
|
*
|
|
4810
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4359
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.27
|
|
4811
4360
|
*/
|
|
4812
4361
|
enableLocalProgramming: OptionalWritableAttribute(
|
|
4813
4362
|
0x28,
|
|
@@ -4819,7 +4368,7 @@ export namespace DoorLock {
|
|
|
4819
4368
|
* This attribute shall enable/disable the ability to lock the door lock with a single touch on the door
|
|
4820
4369
|
* lock.
|
|
4821
4370
|
*
|
|
4822
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4371
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.28
|
|
4823
4372
|
*/
|
|
4824
4373
|
enableOneTouchLocking: OptionalWritableAttribute(
|
|
4825
4374
|
0x29,
|
|
@@ -4831,7 +4380,7 @@ export namespace DoorLock {
|
|
|
4831
4380
|
* This attribute shall enable/disable an inside LED that allows the user to see at a glance if the door is
|
|
4832
4381
|
* locked.
|
|
4833
4382
|
*
|
|
4834
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4383
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.29
|
|
4835
4384
|
*/
|
|
4836
4385
|
enableInsideStatusLed: OptionalWritableAttribute(
|
|
4837
4386
|
0x2a,
|
|
@@ -4843,7 +4392,7 @@ export namespace DoorLock {
|
|
|
4843
4392
|
* This attribute shall enable/disable a button inside the door that is used to put the lock into privacy
|
|
4844
4393
|
* mode. When the lock is in privacy mode it cannot be manipulated from the outside.
|
|
4845
4394
|
*
|
|
4846
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4395
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.30
|
|
4847
4396
|
*/
|
|
4848
4397
|
enablePrivacyModeButton: OptionalWritableAttribute(
|
|
4849
4398
|
0x2b,
|
|
@@ -4860,7 +4409,7 @@ export namespace DoorLock {
|
|
|
4860
4409
|
*
|
|
4861
4410
|
* The features that can be disabled from local programming are defined in LocalProgrammingFeaturesBitmap.
|
|
4862
4411
|
*
|
|
4863
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4412
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.31
|
|
4864
4413
|
*/
|
|
4865
4414
|
localProgrammingFeatures: OptionalWritableAttribute(
|
|
4866
4415
|
0x2c,
|
|
@@ -4876,13 +4425,13 @@ export namespace DoorLock {
|
|
|
4876
4425
|
*
|
|
4877
4426
|
* This mask DOES NOT apply to the Events mechanism of this cluster.
|
|
4878
4427
|
*
|
|
4879
|
-
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.
|
|
4428
|
+
* @see {@link MatterSpecification.v13.Cluster} § 5.2.9.37
|
|
4880
4429
|
*/
|
|
4881
4430
|
alarmMask: OptionalWritableAttribute(
|
|
4882
4431
|
0x40,
|
|
4883
4432
|
TlvBitmap(TlvUInt16, AlarmMask),
|
|
4884
4433
|
{
|
|
4885
|
-
default: BitsFromPartial(AlarmMask, { lockJammed: true, lockFactoryReset: true,
|
|
4434
|
+
default: BitsFromPartial(AlarmMask, { lockJammed: true, lockFactoryReset: true, lockRadioPowerCycled: true, wrongCodeEntryLimit: true, frontEscutcheonRemoved: true, doorForcedOpen: true }),
|
|
4886
4435
|
writeAcl: AccessLevel.Administer
|
|
4887
4436
|
}
|
|
4888
4437
|
)
|
|
@@ -4894,8 +4443,6 @@ export namespace DoorLock {
|
|
|
4894
4443
|
* lock. The door lock may require a PIN depending on the value of the RequirePINForRemoteOperation
|
|
4895
4444
|
* attribute.
|
|
4896
4445
|
*
|
|
4897
|
-
* † The PIN/RFID Code is an obsolete field name, use PINCode instead.
|
|
4898
|
-
*
|
|
4899
4446
|
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.1
|
|
4900
4447
|
*/
|
|
4901
4448
|
lockDoor: Command(0x0, TlvLockDoorRequest, 0x0, TlvNoResponse, { timed: true }),
|
|
@@ -4910,8 +4457,6 @@ export namespace DoorLock {
|
|
|
4910
4457
|
* If the attribute AutoRelockTime is supported the lock will transition to the locked state when the auto
|
|
4911
4458
|
* relock time has expired.
|
|
4912
4459
|
*
|
|
4913
|
-
* † The PIN/RFID Code is an obsolete field name, use PINCode instead.
|
|
4914
|
-
*
|
|
4915
4460
|
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.2
|
|
4916
4461
|
*/
|
|
4917
4462
|
unlockDoor: Command(0x1, TlvUnlockDoorRequest, 0x1, TlvNoResponse, { timed: true }),
|
|
@@ -4919,12 +4464,9 @@ export namespace DoorLock {
|
|
|
4919
4464
|
/**
|
|
4920
4465
|
* This command causes the lock device to unlock the door with a timeout parameter. After the time in
|
|
4921
4466
|
* seconds specified in the timeout field, the lock device will relock itself automatically. This timeout
|
|
4922
|
-
* parameter is only temporary for this message transition and overrides the default relock time
|
|
4923
|
-
*
|
|
4924
|
-
*
|
|
4925
|
-
* to support temporary Relock Timeout, it SHOULD NOT support this optional command.
|
|
4926
|
-
*
|
|
4927
|
-
* † The PIN/RFID Code is an obsolete field name, use PINCode instead.
|
|
4467
|
+
* parameter is only temporary for this message transition and overrides the default relock time as
|
|
4468
|
+
* specified in the AutoRelockTime attribute. If the door lock device is not capable of or does not want to
|
|
4469
|
+
* support temporary Relock Timeout, it SHOULD NOT support this optional command.
|
|
4928
4470
|
*
|
|
4929
4471
|
* @see {@link MatterSpecification.v13.Cluster} § 5.2.10.3
|
|
4930
4472
|
*/
|
|
@@ -4964,8 +4506,9 @@ export namespace DoorLock {
|
|
|
4964
4506
|
* ◦ shall generate a LockOperation event of LockOperationType Unlatch when it is actuated from the
|
|
4965
4507
|
* outside.
|
|
4966
4508
|
*
|
|
4967
|
-
* ◦ may generate a LockOperation event of LockOperationType Unlatch when it is actuated
|
|
4968
|
-
*
|
|
4509
|
+
* ◦ may generate a LockOperation event of LockOperationType Unlatch when it is actuated
|
|
4510
|
+
*
|
|
4511
|
+
* from the inside.
|
|
4969
4512
|
*
|
|
4970
4513
|
* @see {@link MatterSpecification.v13.Cluster} § 5.2.11.3
|
|
4971
4514
|
*/
|
|
@@ -4985,7 +4528,6 @@ export namespace DoorLock {
|
|
|
4985
4528
|
*/
|
|
4986
4529
|
extensions: MutableCluster.Extensions(
|
|
4987
4530
|
{ flags: { doorPositionSensor: true }, component: DoorPositionSensorComponent },
|
|
4988
|
-
{ flags: { logging: true }, component: LoggingComponent },
|
|
4989
4531
|
{ flags: { user: true }, component: UserComponent },
|
|
4990
4532
|
{ flags: { pinCredential: true }, component: PinCredentialComponent },
|
|
4991
4533
|
{ flags: { rfidCredential: true }, component: RfidCredentialComponent },
|
|
@@ -4999,9 +4541,8 @@ export namespace DoorLock {
|
|
|
4999
4541
|
flags: { credentialOverTheAirAccess: true, pinCredential: true },
|
|
5000
4542
|
component: CredentialOverTheAirAccessAndPinCredentialComponent
|
|
5001
4543
|
},
|
|
5002
|
-
{ flags: {
|
|
5003
|
-
{ flags: {
|
|
5004
|
-
{ flags: { notification: true, rfidCredential: true }, component: NotificationAndRfidCredentialComponent },
|
|
4544
|
+
{ flags: { aliroProvisioning: true }, component: AliroProvisioningComponent },
|
|
4545
|
+
{ flags: { aliroBleuwb: true }, component: AliroBleuwbComponent },
|
|
5005
4546
|
{
|
|
5006
4547
|
flags: { pinCredential: true, rfidCredential: true, fingerCredentials: true, user: false },
|
|
5007
4548
|
component: PinCredentialAndRfidCredentialAndFingerCredentialsNotUserComponent
|
|
@@ -5009,6 +4550,7 @@ export namespace DoorLock {
|
|
|
5009
4550
|
{ flags: { user: false }, component: NotUserComponent },
|
|
5010
4551
|
{ flags: { rfidCredential: true, user: false }, component: RfidCredentialNotUserComponent },
|
|
5011
4552
|
{ flags: { unbolting: true }, component: UnboltingComponent },
|
|
4553
|
+
{ flags: { aliroProvisioning: true, user: false }, component: false },
|
|
5012
4554
|
|
|
5013
4555
|
{
|
|
5014
4556
|
flags: {
|
|
@@ -5020,7 +4562,9 @@ export namespace DoorLock {
|
|
|
5020
4562
|
},
|
|
5021
4563
|
|
|
5022
4564
|
component: false
|
|
5023
|
-
}
|
|
4565
|
+
},
|
|
4566
|
+
|
|
4567
|
+
{ flags: { aliroBleuwb: true, aliroProvisioning: false }, component: false }
|
|
5024
4568
|
)
|
|
5025
4569
|
});
|
|
5026
4570
|
|
|
@@ -5034,6 +4578,8 @@ export namespace DoorLock {
|
|
|
5034
4578
|
* the locking functionality is abstracted from the cluster. The cluster has a small list of mandatory attributes
|
|
5035
4579
|
* and functions and a list of optional features.
|
|
5036
4580
|
*
|
|
4581
|
+
* Figure 16. Typical Usage of the Door Lock Cluster
|
|
4582
|
+
*
|
|
5037
4583
|
* DoorLockCluster supports optional features that you can enable with the DoorLockCluster.with() factory method.
|
|
5038
4584
|
*
|
|
5039
4585
|
* @see {@link MatterSpecification.v13.Cluster} § 5.2
|
|
@@ -5042,7 +4588,6 @@ export namespace DoorLock {
|
|
|
5042
4588
|
|
|
5043
4589
|
export const Cluster: Cluster = ClusterInstance;
|
|
5044
4590
|
const DPS = { doorPositionSensor: true };
|
|
5045
|
-
const LOG = { logging: true };
|
|
5046
4591
|
const USR = { user: true };
|
|
5047
4592
|
const PIN = { pinCredential: true };
|
|
5048
4593
|
const RID = { rfidCredential: true };
|
|
@@ -5051,9 +4596,8 @@ export namespace DoorLock {
|
|
|
5051
4596
|
const HDSCH = { holidaySchedules: true };
|
|
5052
4597
|
const PIN_NOT_USR = { pinCredential: true, user: false };
|
|
5053
4598
|
const COTA_PIN = { credentialOverTheAirAccess: true, pinCredential: true };
|
|
5054
|
-
const
|
|
5055
|
-
const
|
|
5056
|
-
const NOT_RID = { notification: true, rfidCredential: true };
|
|
4599
|
+
const ALIRO = { aliroProvisioning: true };
|
|
4600
|
+
const ALBU = { aliroBleuwb: true };
|
|
5057
4601
|
const PIN_RID_FGP_NOT_USR = { pinCredential: true, rfidCredential: true, fingerCredentials: true, user: false };
|
|
5058
4602
|
const RID_NOT_USR = { rfidCredential: true, user: false };
|
|
5059
4603
|
const UBOLT = { unbolting: true };
|
|
@@ -5085,10 +4629,6 @@ export namespace DoorLock {
|
|
|
5085
4629
|
DoorPositionSensorComponent.attributes.openPeriod,
|
|
5086
4630
|
{ optionalIf: [DPS] }
|
|
5087
4631
|
),
|
|
5088
|
-
numberOfLogRecordsSupported: MutableCluster.AsConditional(
|
|
5089
|
-
LoggingComponent.attributes.numberOfLogRecordsSupported,
|
|
5090
|
-
{ mandatoryIf: [LOG] }
|
|
5091
|
-
),
|
|
5092
4632
|
numberOfTotalUsersSupported: MutableCluster.AsConditional(
|
|
5093
4633
|
UserComponent.attributes.numberOfTotalUsersSupported,
|
|
5094
4634
|
{ mandatoryIf: [USR] }
|
|
@@ -5137,10 +4677,6 @@ export namespace DoorLock {
|
|
|
5137
4677
|
UserComponent.attributes.numberOfCredentialsSupportedPerUser,
|
|
5138
4678
|
{ mandatoryIf: [USR] }
|
|
5139
4679
|
),
|
|
5140
|
-
enableLogging: MutableCluster.AsConditional(
|
|
5141
|
-
LoggingComponent.attributes.enableLogging,
|
|
5142
|
-
{ mandatoryIf: [LOG] }
|
|
5143
|
-
),
|
|
5144
4680
|
wrongCodeEntryLimit: MutableCluster.AsConditional(
|
|
5145
4681
|
PinCredentialOrRfidCredentialComponent.attributes.wrongCodeEntryLimit,
|
|
5146
4682
|
{ mandatoryIf: [PIN, RID] }
|
|
@@ -5161,39 +4697,46 @@ export namespace DoorLock {
|
|
|
5161
4697
|
UserComponent.attributes.expiringUserTimeout,
|
|
5162
4698
|
{ optionalIf: [USR] }
|
|
5163
4699
|
),
|
|
5164
|
-
|
|
5165
|
-
|
|
5166
|
-
{
|
|
4700
|
+
aliroReaderVerificationKey: MutableCluster.AsConditional(
|
|
4701
|
+
AliroProvisioningComponent.attributes.aliroReaderVerificationKey,
|
|
4702
|
+
{ mandatoryIf: [ALIRO] }
|
|
5167
4703
|
),
|
|
5168
|
-
|
|
5169
|
-
|
|
5170
|
-
{
|
|
4704
|
+
aliroReaderGroupIdentifier: MutableCluster.AsConditional(
|
|
4705
|
+
AliroProvisioningComponent.attributes.aliroReaderGroupIdentifier,
|
|
4706
|
+
{ mandatoryIf: [ALIRO] }
|
|
5171
4707
|
),
|
|
5172
|
-
|
|
5173
|
-
|
|
5174
|
-
{
|
|
4708
|
+
aliroReaderGroupSubIdentifier: MutableCluster.AsConditional(
|
|
4709
|
+
AliroProvisioningComponent.attributes.aliroReaderGroupSubIdentifier,
|
|
4710
|
+
{ mandatoryIf: [ALIRO] }
|
|
5175
4711
|
),
|
|
5176
|
-
|
|
5177
|
-
|
|
5178
|
-
{
|
|
4712
|
+
aliroExpeditedTransactionSupportedProtocolVersions: MutableCluster.AsConditional(
|
|
4713
|
+
AliroProvisioningComponent.attributes.aliroExpeditedTransactionSupportedProtocolVersions,
|
|
4714
|
+
{ mandatoryIf: [ALIRO] }
|
|
5179
4715
|
),
|
|
5180
|
-
|
|
5181
|
-
|
|
5182
|
-
{
|
|
4716
|
+
aliroGroupResolvingKey: MutableCluster.AsConditional(
|
|
4717
|
+
AliroBleuwbComponent.attributes.aliroGroupResolvingKey,
|
|
4718
|
+
{ mandatoryIf: [ALBU] }
|
|
5183
4719
|
),
|
|
5184
|
-
|
|
5185
|
-
|
|
5186
|
-
{
|
|
4720
|
+
aliroSupportedBleuwbProtocolVersions: MutableCluster.AsConditional(
|
|
4721
|
+
AliroBleuwbComponent.attributes.aliroSupportedBleuwbProtocolVersions,
|
|
4722
|
+
{ mandatoryIf: [ALBU] }
|
|
5187
4723
|
),
|
|
5188
|
-
|
|
5189
|
-
|
|
5190
|
-
{
|
|
4724
|
+
aliroBleAdvertisingVersion: MutableCluster.AsConditional(
|
|
4725
|
+
AliroBleuwbComponent.attributes.aliroBleAdvertisingVersion,
|
|
4726
|
+
{ mandatoryIf: [ALBU] }
|
|
4727
|
+
),
|
|
4728
|
+
numberOfAliroCredentialIssuerKeysSupported: MutableCluster.AsConditional(
|
|
4729
|
+
AliroProvisioningComponent.attributes.numberOfAliroCredentialIssuerKeysSupported,
|
|
4730
|
+
{ mandatoryIf: [ALIRO] }
|
|
4731
|
+
),
|
|
4732
|
+
numberOfAliroEndpointKeysSupported: MutableCluster.AsConditional(
|
|
4733
|
+
AliroProvisioningComponent.attributes.numberOfAliroEndpointKeysSupported,
|
|
4734
|
+
{ mandatoryIf: [ALIRO] }
|
|
5191
4735
|
)
|
|
5192
4736
|
},
|
|
5193
4737
|
|
|
5194
4738
|
commands: {
|
|
5195
4739
|
...Cluster.commands,
|
|
5196
|
-
getLogRecord: MutableCluster.AsConditional(LoggingComponent.commands.getLogRecord, { mandatoryIf: [LOG] }),
|
|
5197
4740
|
setPinCode: MutableCluster.AsConditional(
|
|
5198
4741
|
PinCredentialNotUserComponent.commands.setPinCode,
|
|
5199
4742
|
{ mandatoryIf: [PIN_NOT_USR] }
|
|
@@ -5290,7 +4833,15 @@ export namespace DoorLock {
|
|
|
5290
4833
|
UserComponent.commands.clearCredential,
|
|
5291
4834
|
{ mandatoryIf: [USR] }
|
|
5292
4835
|
),
|
|
5293
|
-
unboltDoor: MutableCluster.AsConditional(UnboltingComponent.commands.unboltDoor, { mandatoryIf: [UBOLT] })
|
|
4836
|
+
unboltDoor: MutableCluster.AsConditional(UnboltingComponent.commands.unboltDoor, { mandatoryIf: [UBOLT] }),
|
|
4837
|
+
setAliroReaderConfig: MutableCluster.AsConditional(
|
|
4838
|
+
AliroProvisioningComponent.commands.setAliroReaderConfig,
|
|
4839
|
+
{ mandatoryIf: [ALIRO] }
|
|
4840
|
+
),
|
|
4841
|
+
clearAliroReaderConfig: MutableCluster.AsConditional(
|
|
4842
|
+
AliroProvisioningComponent.commands.clearAliroReaderConfig,
|
|
4843
|
+
{ mandatoryIf: [ALIRO] }
|
|
4844
|
+
)
|
|
5294
4845
|
},
|
|
5295
4846
|
|
|
5296
4847
|
events: {
|