@matter/types 0.16.0-alpha.0-20251022-5a69ce65a → 0.16.0-alpha.0-20251027-17770fb28
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/cluster/mutation/{ElementModifier.d.ts → ClusterTypeModifier.d.ts} +8 -8
- package/dist/cjs/cluster/mutation/ClusterTypeModifier.d.ts.map +1 -0
- package/dist/cjs/cluster/mutation/{ElementModifier.js → ClusterTypeModifier.js} +6 -6
- package/dist/cjs/cluster/mutation/{ElementModifier.js.map → ClusterTypeModifier.js.map} +2 -2
- package/dist/cjs/cluster/mutation/MutableCluster.d.ts +7 -7
- package/dist/cjs/cluster/mutation/MutableCluster.d.ts.map +1 -1
- package/dist/cjs/cluster/mutation/MutableCluster.js +4 -4
- package/dist/cjs/cluster/mutation/MutableCluster.js.map +1 -1
- package/dist/cjs/cluster/mutation/index.d.ts +1 -1
- package/dist/cjs/cluster/mutation/index.d.ts.map +1 -1
- package/dist/cjs/cluster/mutation/index.js +1 -1
- package/dist/cjs/cluster/mutation/index.js.map +1 -1
- package/dist/cjs/clusters/access-control.d.ts +96 -47
- package/dist/cjs/clusters/access-control.d.ts.map +1 -1
- package/dist/cjs/clusters/access-control.js +16 -8
- package/dist/cjs/clusters/access-control.js.map +1 -1
- package/dist/cjs/clusters/account-login.d.ts +20 -20
- package/dist/cjs/clusters/account-login.js +12 -12
- package/dist/cjs/clusters/actions.d.ts +36 -5
- package/dist/cjs/clusters/actions.d.ts.map +1 -1
- package/dist/cjs/clusters/actions.js +26 -1
- package/dist/cjs/clusters/actions.js.map +1 -1
- package/dist/cjs/clusters/administrator-commissioning.d.ts +29 -25
- package/dist/cjs/clusters/administrator-commissioning.d.ts.map +1 -1
- package/dist/cjs/clusters/administrator-commissioning.js +7 -6
- package/dist/cjs/clusters/administrator-commissioning.js.map +1 -1
- package/dist/cjs/clusters/air-quality.js +1 -1
- package/dist/cjs/clusters/air-quality.js.map +1 -1
- package/dist/cjs/clusters/alarm-base.d.ts +4 -4
- package/dist/cjs/clusters/alarm-base.js +2 -2
- package/dist/cjs/clusters/application-launcher.d.ts +49 -23
- package/dist/cjs/clusters/application-launcher.d.ts.map +1 -1
- package/dist/cjs/clusters/application-launcher.js +7 -3
- package/dist/cjs/clusters/application-launcher.js.map +1 -1
- package/dist/cjs/clusters/basic-information.d.ts +22 -19
- package/dist/cjs/clusters/basic-information.d.ts.map +1 -1
- package/dist/cjs/clusters/basic-information.js +21 -18
- package/dist/cjs/clusters/basic-information.js.map +1 -1
- package/dist/cjs/clusters/boolean-state-configuration.d.ts +15 -15
- package/dist/cjs/clusters/boolean-state-configuration.js +3 -3
- package/dist/cjs/clusters/bridged-device-basic-information.d.ts +56 -12
- package/dist/cjs/clusters/bridged-device-basic-information.d.ts.map +1 -1
- package/dist/cjs/clusters/bridged-device-basic-information.js +18 -4
- package/dist/cjs/clusters/bridged-device-basic-information.js.map +1 -1
- package/dist/cjs/clusters/channel.d.ts +12 -0
- package/dist/cjs/clusters/channel.d.ts.map +1 -1
- package/dist/cjs/clusters/channel.js +4 -0
- package/dist/cjs/clusters/channel.js.map +1 -1
- package/dist/cjs/clusters/color-control.d.ts +128 -119
- package/dist/cjs/clusters/color-control.d.ts.map +1 -1
- package/dist/cjs/clusters/color-control.js +52 -68
- package/dist/cjs/clusters/color-control.js.map +1 -1
- package/dist/cjs/clusters/commissioner-control.d.ts +8 -4
- package/dist/cjs/clusters/commissioner-control.d.ts.map +1 -1
- package/dist/cjs/clusters/commissioner-control.js +5 -1
- package/dist/cjs/clusters/commissioner-control.js.map +1 -1
- package/dist/cjs/clusters/concentration-measurement.d.ts +7 -9
- package/dist/cjs/clusters/concentration-measurement.d.ts.map +1 -1
- package/dist/cjs/clusters/concentration-measurement.js +11 -12
- package/dist/cjs/clusters/concentration-measurement.js.map +1 -1
- package/dist/cjs/clusters/content-control.d.ts +44 -30
- package/dist/cjs/clusters/content-control.d.ts.map +1 -1
- package/dist/cjs/clusters/content-control.js +6 -6
- package/dist/cjs/clusters/content-control.js.map +1 -1
- package/dist/cjs/clusters/content-launcher.d.ts +32 -32
- package/dist/cjs/clusters/content-launcher.js +1 -1
- package/dist/cjs/clusters/descriptor.d.ts +43 -10
- package/dist/cjs/clusters/descriptor.d.ts.map +1 -1
- package/dist/cjs/clusters/descriptor.js +21 -4
- package/dist/cjs/clusters/descriptor.js.map +1 -1
- package/dist/cjs/clusters/device-energy-management-mode.d.ts +9 -0
- package/dist/cjs/clusters/device-energy-management-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/device-energy-management-mode.js +3 -0
- package/dist/cjs/clusters/device-energy-management-mode.js.map +1 -1
- package/dist/cjs/clusters/device-energy-management.d.ts +133 -24
- package/dist/cjs/clusters/device-energy-management.d.ts.map +1 -1
- package/dist/cjs/clusters/device-energy-management.js +38 -12
- package/dist/cjs/clusters/device-energy-management.js.map +1 -1
- package/dist/cjs/clusters/dishwasher-alarm.d.ts +3 -3
- package/dist/cjs/clusters/dishwasher-alarm.js +1 -1
- package/dist/cjs/clusters/dishwasher-mode.d.ts +9 -0
- package/dist/cjs/clusters/dishwasher-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/dishwasher-mode.js +3 -0
- package/dist/cjs/clusters/dishwasher-mode.js.map +1 -1
- package/dist/cjs/clusters/door-lock.d.ts +182 -266
- package/dist/cjs/clusters/door-lock.d.ts.map +1 -1
- package/dist/cjs/clusters/door-lock.js +80 -111
- package/dist/cjs/clusters/door-lock.js.map +1 -1
- package/dist/cjs/clusters/ecosystem-information.d.ts +93 -49
- package/dist/cjs/clusters/ecosystem-information.d.ts.map +1 -1
- package/dist/cjs/clusters/ecosystem-information.js +36 -24
- package/dist/cjs/clusters/ecosystem-information.js.map +1 -1
- package/dist/cjs/clusters/electrical-energy-measurement.d.ts +285 -209
- package/dist/cjs/clusters/electrical-energy-measurement.d.ts.map +1 -1
- package/dist/cjs/clusters/electrical-energy-measurement.js +33 -13
- package/dist/cjs/clusters/electrical-energy-measurement.js.map +2 -2
- package/dist/cjs/clusters/electrical-power-measurement.d.ts +201 -126
- package/dist/cjs/clusters/electrical-power-measurement.d.ts.map +1 -1
- package/dist/cjs/clusters/electrical-power-measurement.js +45 -23
- package/dist/cjs/clusters/electrical-power-measurement.js.map +2 -2
- package/dist/cjs/clusters/energy-evse-mode.d.ts +9 -0
- package/dist/cjs/clusters/energy-evse-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/energy-evse-mode.js +3 -0
- package/dist/cjs/clusters/energy-evse-mode.js.map +1 -1
- package/dist/cjs/clusters/energy-evse.d.ts +61 -45
- package/dist/cjs/clusters/energy-evse.d.ts.map +1 -1
- package/dist/cjs/clusters/energy-evse.js +28 -33
- package/dist/cjs/clusters/energy-evse.js.map +1 -1
- package/dist/cjs/clusters/energy-preference.d.ts +5 -9
- package/dist/cjs/clusters/energy-preference.d.ts.map +1 -1
- package/dist/cjs/clusters/energy-preference.js +1 -3
- package/dist/cjs/clusters/energy-preference.js.map +1 -1
- package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts +59 -69
- package/dist/cjs/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
- package/dist/cjs/clusters/ethernet-network-diagnostics.js +21 -25
- package/dist/cjs/clusters/ethernet-network-diagnostics.js.map +1 -1
- package/dist/cjs/clusters/fan-control.d.ts +334 -148
- package/dist/cjs/clusters/fan-control.d.ts.map +1 -1
- package/dist/cjs/clusters/fan-control.js +107 -56
- package/dist/cjs/clusters/fan-control.js.map +1 -1
- package/dist/cjs/clusters/flow-measurement.js +1 -1
- package/dist/cjs/clusters/flow-measurement.js.map +1 -1
- package/dist/cjs/clusters/general-commissioning.d.ts +90 -69
- package/dist/cjs/clusters/general-commissioning.d.ts.map +1 -1
- package/dist/cjs/clusters/general-commissioning.js +26 -23
- package/dist/cjs/clusters/general-commissioning.js.map +1 -1
- package/dist/cjs/clusters/general-diagnostics.d.ts +51 -52
- package/dist/cjs/clusters/general-diagnostics.d.ts.map +1 -1
- package/dist/cjs/clusters/general-diagnostics.js +13 -13
- package/dist/cjs/clusters/general-diagnostics.js.map +1 -1
- package/dist/cjs/clusters/group-key-management.d.ts +28 -22
- package/dist/cjs/clusters/group-key-management.d.ts.map +1 -1
- package/dist/cjs/clusters/group-key-management.js +13 -10
- package/dist/cjs/clusters/group-key-management.js.map +1 -1
- package/dist/cjs/clusters/groups.d.ts +0 -12
- package/dist/cjs/clusters/groups.d.ts.map +1 -1
- package/dist/cjs/clusters/groups.js +1 -7
- package/dist/cjs/clusters/groups.js.map +1 -1
- package/dist/cjs/clusters/icd-management.d.ts +809 -145
- package/dist/cjs/clusters/icd-management.d.ts.map +1 -1
- package/dist/cjs/clusters/icd-management.js +182 -34
- package/dist/cjs/clusters/icd-management.js.map +1 -1
- package/dist/cjs/clusters/identify.d.ts +12 -1
- package/dist/cjs/clusters/identify.d.ts.map +1 -1
- package/dist/cjs/clusters/identify.js +13 -2
- package/dist/cjs/clusters/identify.js.map +1 -1
- package/dist/cjs/clusters/illuminance-measurement.js +1 -1
- package/dist/cjs/clusters/illuminance-measurement.js.map +1 -1
- package/dist/cjs/clusters/index.d.ts +1 -5
- package/dist/cjs/clusters/index.d.ts.map +1 -1
- package/dist/cjs/clusters/index.js +3 -15
- package/dist/cjs/clusters/index.js.map +1 -1
- package/dist/cjs/clusters/joint-fabric-administrator.d.ts +424 -0
- package/dist/cjs/clusters/joint-fabric-administrator.d.ts.map +1 -0
- package/dist/cjs/clusters/joint-fabric-administrator.js +285 -0
- package/dist/cjs/clusters/joint-fabric-administrator.js.map +6 -0
- package/dist/cjs/clusters/joint-fabric-datastore.d.ts +1960 -805
- package/dist/cjs/clusters/joint-fabric-datastore.d.ts.map +1 -1
- package/dist/cjs/clusters/joint-fabric-datastore.js +990 -172
- package/dist/cjs/clusters/joint-fabric-datastore.js.map +2 -2
- package/dist/cjs/clusters/label.d.ts +9 -6
- package/dist/cjs/clusters/label.d.ts.map +1 -1
- package/dist/cjs/clusters/label.js +3 -2
- package/dist/cjs/clusters/label.js.map +1 -1
- package/dist/cjs/clusters/laundry-washer-controls.d.ts +9 -9
- package/dist/cjs/clusters/laundry-washer-controls.js +4 -4
- package/dist/cjs/clusters/laundry-washer-controls.js.map +1 -1
- package/dist/cjs/clusters/laundry-washer-mode.d.ts +2 -2
- package/dist/cjs/clusters/level-control.d.ts +11 -15
- package/dist/cjs/clusters/level-control.d.ts.map +1 -1
- package/dist/cjs/clusters/level-control.js +8 -9
- package/dist/cjs/clusters/level-control.js.map +1 -1
- package/dist/cjs/clusters/media-playback.d.ts +138 -12
- package/dist/cjs/clusters/media-playback.d.ts.map +1 -1
- package/dist/cjs/clusters/media-playback.js +41 -4
- package/dist/cjs/clusters/media-playback.js.map +1 -1
- package/dist/cjs/clusters/messages.d.ts +7 -7
- package/dist/cjs/clusters/messages.js +3 -3
- package/dist/cjs/clusters/microwave-oven-control.js +4 -4
- package/dist/cjs/clusters/microwave-oven-control.js.map +1 -1
- package/dist/cjs/clusters/microwave-oven-mode.d.ts +9 -0
- package/dist/cjs/clusters/microwave-oven-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/microwave-oven-mode.js +3 -0
- package/dist/cjs/clusters/microwave-oven-mode.js.map +1 -1
- package/dist/cjs/clusters/mode-base.d.ts +31 -2
- package/dist/cjs/clusters/mode-base.d.ts.map +1 -1
- package/dist/cjs/clusters/mode-base.js +15 -2
- package/dist/cjs/clusters/mode-base.js.map +1 -1
- package/dist/cjs/clusters/mode-select.d.ts +7 -7
- package/dist/cjs/clusters/mode-select.js +2 -2
- package/dist/cjs/clusters/network-commissioning.d.ts +259 -201
- package/dist/cjs/clusters/network-commissioning.d.ts.map +1 -1
- package/dist/cjs/clusters/network-commissioning.js +41 -27
- package/dist/cjs/clusters/network-commissioning.js.map +1 -1
- package/dist/cjs/clusters/occupancy-sensing.d.ts +14 -20
- package/dist/cjs/clusters/occupancy-sensing.d.ts.map +1 -1
- package/dist/cjs/clusters/occupancy-sensing.js +4 -6
- package/dist/cjs/clusters/occupancy-sensing.js.map +1 -1
- package/dist/cjs/clusters/on-off.js +4 -4
- package/dist/cjs/clusters/on-off.js.map +1 -1
- package/dist/cjs/clusters/operational-credentials.d.ts +367 -77
- package/dist/cjs/clusters/operational-credentials.d.ts.map +1 -1
- package/dist/cjs/clusters/operational-credentials.js +182 -38
- package/dist/cjs/clusters/operational-credentials.js.map +1 -1
- package/dist/cjs/clusters/operational-state.d.ts +29 -49
- package/dist/cjs/clusters/operational-state.d.ts.map +1 -1
- package/dist/cjs/clusters/operational-state.js +7 -10
- package/dist/cjs/clusters/operational-state.js.map +1 -1
- package/dist/cjs/clusters/ota-software-update-provider.d.ts +54 -22
- package/dist/cjs/clusters/ota-software-update-provider.d.ts.map +1 -1
- package/dist/cjs/clusters/ota-software-update-provider.js +27 -11
- package/dist/cjs/clusters/ota-software-update-provider.js.map +1 -1
- package/dist/cjs/clusters/ota-software-update-requestor.d.ts +12 -10
- package/dist/cjs/clusters/ota-software-update-requestor.d.ts.map +1 -1
- package/dist/cjs/clusters/ota-software-update-requestor.js +6 -5
- package/dist/cjs/clusters/ota-software-update-requestor.js.map +1 -1
- package/dist/cjs/clusters/oven-cavity-operational-state.d.ts +5 -5
- package/dist/cjs/clusters/oven-cavity-operational-state.js +3 -3
- package/dist/cjs/clusters/oven-mode.d.ts +150 -0
- package/dist/cjs/clusters/oven-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/oven-mode.js +51 -1
- package/dist/cjs/clusters/oven-mode.js.map +1 -1
- package/dist/cjs/clusters/power-source.d.ts +18 -6
- package/dist/cjs/clusters/power-source.d.ts.map +1 -1
- package/dist/cjs/clusters/power-source.js +6 -2
- package/dist/cjs/clusters/power-source.js.map +1 -1
- package/dist/cjs/clusters/pressure-measurement.d.ts +18 -9
- package/dist/cjs/clusters/pressure-measurement.d.ts.map +1 -1
- package/dist/cjs/clusters/pressure-measurement.js +10 -7
- package/dist/cjs/clusters/pressure-measurement.js.map +1 -1
- package/dist/cjs/clusters/pump-configuration-and-control.d.ts +46 -37
- package/dist/cjs/clusters/pump-configuration-and-control.d.ts.map +1 -1
- package/dist/cjs/clusters/pump-configuration-and-control.js +15 -12
- package/dist/cjs/clusters/pump-configuration-and-control.js.map +1 -1
- package/dist/cjs/clusters/refrigerator-alarm.d.ts +3 -3
- package/dist/cjs/clusters/refrigerator-alarm.js +1 -1
- package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +9 -0
- 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 +3 -0
- package/dist/cjs/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
- package/dist/cjs/clusters/resource-monitoring.js +1 -1
- package/dist/cjs/clusters/resource-monitoring.js.map +1 -1
- package/dist/cjs/clusters/rvc-clean-mode.d.ts +16 -3
- package/dist/cjs/clusters/rvc-clean-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/rvc-clean-mode.js +5 -1
- package/dist/cjs/clusters/rvc-clean-mode.js.map +1 -1
- package/dist/cjs/clusters/rvc-operational-state.d.ts +78 -49
- package/dist/cjs/clusters/rvc-operational-state.d.ts.map +1 -1
- package/dist/cjs/clusters/rvc-operational-state.js +19 -11
- package/dist/cjs/clusters/rvc-operational-state.js.map +1 -1
- package/dist/cjs/clusters/rvc-run-mode.d.ts +9 -0
- package/dist/cjs/clusters/rvc-run-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/rvc-run-mode.js +3 -0
- package/dist/cjs/clusters/rvc-run-mode.js.map +1 -1
- package/dist/cjs/clusters/scenes-management.d.ts +14 -45
- package/dist/cjs/clusters/scenes-management.d.ts.map +1 -1
- package/dist/cjs/clusters/scenes-management.js +7 -22
- package/dist/cjs/clusters/scenes-management.js.map +1 -1
- package/dist/cjs/clusters/service-area.d.ts +36 -40
- package/dist/cjs/clusters/service-area.d.ts.map +1 -1
- package/dist/cjs/clusters/service-area.js +10 -12
- package/dist/cjs/clusters/service-area.js.map +1 -1
- package/dist/cjs/clusters/smoke-co-alarm.d.ts +4 -9
- package/dist/cjs/clusters/smoke-co-alarm.d.ts.map +1 -1
- package/dist/cjs/clusters/smoke-co-alarm.js.map +1 -1
- package/dist/cjs/clusters/software-diagnostics.d.ts +52 -51
- package/dist/cjs/clusters/software-diagnostics.d.ts.map +1 -1
- package/dist/cjs/clusters/software-diagnostics.js +17 -17
- package/dist/cjs/clusters/software-diagnostics.js.map +1 -1
- package/dist/cjs/clusters/switch.d.ts +20 -17
- package/dist/cjs/clusters/switch.d.ts.map +1 -1
- package/dist/cjs/clusters/switch.js +9 -8
- package/dist/cjs/clusters/switch.js.map +1 -1
- package/dist/cjs/clusters/temperature-control.d.ts +18 -9
- package/dist/cjs/clusters/temperature-control.d.ts.map +1 -1
- package/dist/cjs/clusters/temperature-control.js +7 -4
- package/dist/cjs/clusters/temperature-control.js.map +1 -1
- package/dist/cjs/clusters/thermostat-user-interface-configuration.d.ts.map +1 -1
- package/dist/cjs/clusters/thermostat-user-interface-configuration.js +2 -10
- package/dist/cjs/clusters/thermostat-user-interface-configuration.js.map +1 -1
- package/dist/cjs/clusters/thermostat.d.ts +406 -420
- package/dist/cjs/clusters/thermostat.d.ts.map +1 -1
- package/dist/cjs/clusters/thermostat.js +89 -101
- package/dist/cjs/clusters/thermostat.js.map +1 -1
- package/dist/cjs/clusters/thread-border-router-management.d.ts +9 -9
- package/dist/cjs/clusters/thread-border-router-management.js +5 -5
- package/dist/cjs/clusters/thread-border-router-management.js.map +1 -1
- package/dist/cjs/clusters/thread-network-diagnostics.d.ts +479 -504
- package/dist/cjs/clusters/thread-network-diagnostics.d.ts.map +1 -1
- package/dist/cjs/clusters/thread-network-diagnostics.js +171 -181
- package/dist/cjs/clusters/thread-network-diagnostics.js.map +1 -1
- package/dist/cjs/clusters/thread-network-directory.d.ts +3 -3
- package/dist/cjs/clusters/thread-network-directory.js +5 -5
- package/dist/cjs/clusters/thread-network-directory.js.map +1 -1
- package/dist/cjs/clusters/time-synchronization.d.ts +159 -127
- package/dist/cjs/clusters/time-synchronization.d.ts.map +1 -1
- package/dist/cjs/clusters/time-synchronization.js +52 -42
- package/dist/cjs/clusters/time-synchronization.js.map +1 -1
- package/dist/cjs/clusters/unit-localization.d.ts +51 -13
- package/dist/cjs/clusters/unit-localization.d.ts.map +1 -1
- package/dist/cjs/clusters/unit-localization.js +22 -4
- package/dist/cjs/clusters/unit-localization.js.map +1 -1
- package/dist/cjs/clusters/valve-configuration-and-control.d.ts.map +1 -1
- package/dist/cjs/clusters/valve-configuration-and-control.js +8 -12
- package/dist/cjs/clusters/valve-configuration-and-control.js.map +1 -1
- package/dist/cjs/clusters/water-heater-management.d.ts +2 -14
- package/dist/cjs/clusters/water-heater-management.d.ts.map +1 -1
- package/dist/cjs/clusters/water-heater-management.js +5 -9
- package/dist/cjs/clusters/water-heater-management.js.map +1 -1
- package/dist/cjs/clusters/water-heater-mode.d.ts +9 -0
- package/dist/cjs/clusters/water-heater-mode.d.ts.map +1 -1
- package/dist/cjs/clusters/water-heater-mode.js +3 -0
- package/dist/cjs/clusters/water-heater-mode.js.map +1 -1
- package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts +57 -72
- package/dist/cjs/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
- package/dist/cjs/clusters/wi-fi-network-diagnostics.js +20 -26
- package/dist/cjs/clusters/wi-fi-network-diagnostics.js.map +1 -1
- package/dist/cjs/clusters/wi-fi-network-management.d.ts +39 -1
- package/dist/cjs/clusters/wi-fi-network-management.d.ts.map +1 -1
- package/dist/cjs/clusters/wi-fi-network-management.js +22 -3
- package/dist/cjs/clusters/wi-fi-network-management.js.map +1 -1
- package/dist/cjs/clusters/window-covering.d.ts +105 -3
- package/dist/cjs/clusters/window-covering.d.ts.map +1 -1
- package/dist/cjs/clusters/window-covering.js +35 -1
- package/dist/cjs/clusters/window-covering.js.map +1 -1
- package/dist/cjs/globals/Currency.d.ts +27 -0
- package/dist/cjs/globals/Currency.d.ts.map +1 -0
- package/dist/cjs/globals/{Tod.js → Currency.js} +8 -22
- package/dist/cjs/globals/Currency.js.map +6 -0
- package/dist/cjs/globals/Locationdesc.d.ts +7 -7
- package/dist/cjs/globals/Locationdesc.js +5 -5
- package/dist/cjs/globals/MeasurementAccuracy.d.ts +5 -5
- package/dist/cjs/globals/MeasurementAccuracy.js +3 -3
- package/dist/cjs/globals/MeasurementAccuracyRange.d.ts +10 -10
- package/dist/cjs/globals/MeasurementAccuracyRange.js +8 -8
- package/dist/cjs/globals/MeasurementType.d.ts +14 -2
- package/dist/cjs/globals/MeasurementType.d.ts.map +1 -1
- package/dist/cjs/globals/MeasurementType.js +3 -0
- package/dist/cjs/globals/MeasurementType.js.map +1 -1
- package/dist/cjs/globals/Namespace.d.ts +13 -3
- package/dist/cjs/globals/Namespace.d.ts.map +1 -1
- package/dist/cjs/globals/Namespace.js.map +1 -1
- package/dist/cjs/globals/Price.d.ts +30 -0
- package/dist/cjs/globals/Price.d.ts.map +1 -0
- package/dist/cjs/globals/Price.js +33 -0
- package/dist/cjs/globals/Price.js.map +6 -0
- package/dist/cjs/globals/Priority.d.ts +1 -1
- package/dist/cjs/globals/Semtag.d.ts +9 -9
- package/dist/cjs/globals/Semtag.js +7 -7
- package/dist/cjs/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
- package/dist/cjs/globals/Status.d.ts +24 -5
- package/dist/cjs/globals/Status.d.ts.map +1 -1
- package/dist/cjs/globals/Status.js +3 -0
- package/dist/cjs/globals/Status.js.map +1 -1
- package/dist/cjs/globals/ThreeLevelAuto.d.ts +33 -0
- package/dist/cjs/globals/ThreeLevelAuto.d.ts.map +1 -0
- package/dist/cjs/globals/ThreeLevelAuto.js +36 -0
- package/dist/cjs/globals/ThreeLevelAuto.js.map +6 -0
- package/dist/cjs/globals/WildcardPathFlags.d.ts +2 -2
- package/dist/cjs/globals/WildcardPathFlags.js +1 -1
- package/dist/cjs/globals/index.d.ts +3 -1
- package/dist/cjs/globals/index.d.ts.map +1 -1
- package/dist/cjs/globals/index.js +3 -1
- package/dist/cjs/globals/index.js.map +1 -1
- package/dist/esm/cluster/mutation/{ElementModifier.d.ts → ClusterTypeModifier.d.ts} +8 -8
- package/dist/esm/cluster/mutation/ClusterTypeModifier.d.ts.map +1 -0
- package/dist/esm/cluster/mutation/{ElementModifier.js → ClusterTypeModifier.js} +3 -3
- package/dist/esm/cluster/mutation/{ElementModifier.js.map → ClusterTypeModifier.js.map} +2 -2
- package/dist/esm/cluster/mutation/MutableCluster.d.ts +7 -7
- package/dist/esm/cluster/mutation/MutableCluster.d.ts.map +1 -1
- package/dist/esm/cluster/mutation/MutableCluster.js +4 -4
- package/dist/esm/cluster/mutation/MutableCluster.js.map +1 -1
- package/dist/esm/cluster/mutation/index.d.ts +1 -1
- package/dist/esm/cluster/mutation/index.d.ts.map +1 -1
- package/dist/esm/cluster/mutation/index.js +1 -1
- package/dist/esm/clusters/access-control.d.ts +96 -47
- package/dist/esm/clusters/access-control.d.ts.map +1 -1
- package/dist/esm/clusters/access-control.js +16 -8
- package/dist/esm/clusters/access-control.js.map +1 -1
- package/dist/esm/clusters/account-login.d.ts +20 -20
- package/dist/esm/clusters/account-login.js +12 -12
- package/dist/esm/clusters/actions.d.ts +36 -5
- package/dist/esm/clusters/actions.d.ts.map +1 -1
- package/dist/esm/clusters/actions.js +26 -1
- package/dist/esm/clusters/actions.js.map +1 -1
- package/dist/esm/clusters/administrator-commissioning.d.ts +29 -25
- package/dist/esm/clusters/administrator-commissioning.d.ts.map +1 -1
- package/dist/esm/clusters/administrator-commissioning.js +7 -6
- package/dist/esm/clusters/administrator-commissioning.js.map +1 -1
- package/dist/esm/clusters/air-quality.js +1 -1
- package/dist/esm/clusters/air-quality.js.map +1 -1
- package/dist/esm/clusters/alarm-base.d.ts +4 -4
- package/dist/esm/clusters/alarm-base.js +2 -2
- package/dist/esm/clusters/application-launcher.d.ts +49 -23
- package/dist/esm/clusters/application-launcher.d.ts.map +1 -1
- package/dist/esm/clusters/application-launcher.js +7 -3
- package/dist/esm/clusters/application-launcher.js.map +1 -1
- package/dist/esm/clusters/basic-information.d.ts +22 -19
- package/dist/esm/clusters/basic-information.d.ts.map +1 -1
- package/dist/esm/clusters/basic-information.js +22 -18
- package/dist/esm/clusters/basic-information.js.map +1 -1
- package/dist/esm/clusters/boolean-state-configuration.d.ts +15 -15
- package/dist/esm/clusters/boolean-state-configuration.js +3 -3
- package/dist/esm/clusters/bridged-device-basic-information.d.ts +56 -12
- package/dist/esm/clusters/bridged-device-basic-information.d.ts.map +1 -1
- package/dist/esm/clusters/bridged-device-basic-information.js +19 -4
- package/dist/esm/clusters/bridged-device-basic-information.js.map +1 -1
- package/dist/esm/clusters/channel.d.ts +12 -0
- package/dist/esm/clusters/channel.d.ts.map +1 -1
- package/dist/esm/clusters/channel.js +4 -0
- package/dist/esm/clusters/channel.js.map +1 -1
- package/dist/esm/clusters/color-control.d.ts +128 -119
- package/dist/esm/clusters/color-control.d.ts.map +1 -1
- package/dist/esm/clusters/color-control.js +52 -68
- package/dist/esm/clusters/color-control.js.map +1 -1
- package/dist/esm/clusters/commissioner-control.d.ts +8 -4
- package/dist/esm/clusters/commissioner-control.d.ts.map +1 -1
- package/dist/esm/clusters/commissioner-control.js +5 -1
- package/dist/esm/clusters/commissioner-control.js.map +1 -1
- package/dist/esm/clusters/concentration-measurement.d.ts +7 -9
- package/dist/esm/clusters/concentration-measurement.d.ts.map +1 -1
- package/dist/esm/clusters/concentration-measurement.js +11 -12
- package/dist/esm/clusters/concentration-measurement.js.map +1 -1
- package/dist/esm/clusters/content-control.d.ts +44 -30
- package/dist/esm/clusters/content-control.d.ts.map +1 -1
- package/dist/esm/clusters/content-control.js +6 -6
- package/dist/esm/clusters/content-control.js.map +1 -1
- package/dist/esm/clusters/content-launcher.d.ts +32 -32
- package/dist/esm/clusters/content-launcher.js +1 -1
- package/dist/esm/clusters/descriptor.d.ts +43 -10
- package/dist/esm/clusters/descriptor.d.ts.map +1 -1
- package/dist/esm/clusters/descriptor.js +22 -5
- package/dist/esm/clusters/descriptor.js.map +1 -1
- package/dist/esm/clusters/device-energy-management-mode.d.ts +9 -0
- package/dist/esm/clusters/device-energy-management-mode.d.ts.map +1 -1
- package/dist/esm/clusters/device-energy-management-mode.js +3 -0
- package/dist/esm/clusters/device-energy-management-mode.js.map +1 -1
- package/dist/esm/clusters/device-energy-management.d.ts +133 -24
- package/dist/esm/clusters/device-energy-management.d.ts.map +1 -1
- package/dist/esm/clusters/device-energy-management.js +38 -12
- package/dist/esm/clusters/device-energy-management.js.map +1 -1
- package/dist/esm/clusters/dishwasher-alarm.d.ts +3 -3
- package/dist/esm/clusters/dishwasher-alarm.js +1 -1
- package/dist/esm/clusters/dishwasher-mode.d.ts +9 -0
- package/dist/esm/clusters/dishwasher-mode.d.ts.map +1 -1
- package/dist/esm/clusters/dishwasher-mode.js +3 -0
- package/dist/esm/clusters/dishwasher-mode.js.map +1 -1
- package/dist/esm/clusters/door-lock.d.ts +182 -266
- package/dist/esm/clusters/door-lock.d.ts.map +1 -1
- package/dist/esm/clusters/door-lock.js +81 -112
- package/dist/esm/clusters/door-lock.js.map +1 -1
- package/dist/esm/clusters/ecosystem-information.d.ts +93 -49
- package/dist/esm/clusters/ecosystem-information.d.ts.map +1 -1
- package/dist/esm/clusters/ecosystem-information.js +37 -25
- package/dist/esm/clusters/ecosystem-information.js.map +1 -1
- package/dist/esm/clusters/electrical-energy-measurement.d.ts +285 -209
- package/dist/esm/clusters/electrical-energy-measurement.d.ts.map +1 -1
- package/dist/esm/clusters/electrical-energy-measurement.js +33 -13
- package/dist/esm/clusters/electrical-energy-measurement.js.map +2 -2
- package/dist/esm/clusters/electrical-power-measurement.d.ts +201 -126
- package/dist/esm/clusters/electrical-power-measurement.d.ts.map +1 -1
- package/dist/esm/clusters/electrical-power-measurement.js +45 -23
- package/dist/esm/clusters/electrical-power-measurement.js.map +2 -2
- package/dist/esm/clusters/energy-evse-mode.d.ts +9 -0
- package/dist/esm/clusters/energy-evse-mode.d.ts.map +1 -1
- package/dist/esm/clusters/energy-evse-mode.js +3 -0
- package/dist/esm/clusters/energy-evse-mode.js.map +1 -1
- package/dist/esm/clusters/energy-evse.d.ts +61 -45
- package/dist/esm/clusters/energy-evse.d.ts.map +1 -1
- package/dist/esm/clusters/energy-evse.js +28 -33
- package/dist/esm/clusters/energy-evse.js.map +1 -1
- package/dist/esm/clusters/energy-preference.d.ts +5 -9
- package/dist/esm/clusters/energy-preference.d.ts.map +1 -1
- package/dist/esm/clusters/energy-preference.js +1 -3
- package/dist/esm/clusters/energy-preference.js.map +1 -1
- package/dist/esm/clusters/ethernet-network-diagnostics.d.ts +59 -69
- package/dist/esm/clusters/ethernet-network-diagnostics.d.ts.map +1 -1
- package/dist/esm/clusters/ethernet-network-diagnostics.js +21 -25
- package/dist/esm/clusters/ethernet-network-diagnostics.js.map +1 -1
- package/dist/esm/clusters/fan-control.d.ts +334 -148
- package/dist/esm/clusters/fan-control.d.ts.map +1 -1
- package/dist/esm/clusters/fan-control.js +107 -56
- package/dist/esm/clusters/fan-control.js.map +1 -1
- package/dist/esm/clusters/flow-measurement.js +1 -1
- package/dist/esm/clusters/flow-measurement.js.map +1 -1
- package/dist/esm/clusters/general-commissioning.d.ts +90 -69
- package/dist/esm/clusters/general-commissioning.d.ts.map +1 -1
- package/dist/esm/clusters/general-commissioning.js +26 -23
- package/dist/esm/clusters/general-commissioning.js.map +1 -1
- package/dist/esm/clusters/general-diagnostics.d.ts +51 -52
- package/dist/esm/clusters/general-diagnostics.d.ts.map +1 -1
- package/dist/esm/clusters/general-diagnostics.js +13 -13
- package/dist/esm/clusters/general-diagnostics.js.map +1 -1
- package/dist/esm/clusters/group-key-management.d.ts +28 -22
- package/dist/esm/clusters/group-key-management.d.ts.map +1 -1
- package/dist/esm/clusters/group-key-management.js +13 -10
- package/dist/esm/clusters/group-key-management.js.map +1 -1
- package/dist/esm/clusters/groups.d.ts +0 -12
- package/dist/esm/clusters/groups.d.ts.map +1 -1
- package/dist/esm/clusters/groups.js +1 -7
- package/dist/esm/clusters/groups.js.map +1 -1
- package/dist/esm/clusters/icd-management.d.ts +809 -145
- package/dist/esm/clusters/icd-management.d.ts.map +1 -1
- package/dist/esm/clusters/icd-management.js +182 -34
- package/dist/esm/clusters/icd-management.js.map +1 -1
- package/dist/esm/clusters/identify.d.ts +12 -1
- package/dist/esm/clusters/identify.d.ts.map +1 -1
- package/dist/esm/clusters/identify.js +13 -2
- package/dist/esm/clusters/identify.js.map +1 -1
- package/dist/esm/clusters/illuminance-measurement.js +1 -1
- package/dist/esm/clusters/illuminance-measurement.js.map +1 -1
- package/dist/esm/clusters/index.d.ts +1 -5
- package/dist/esm/clusters/index.d.ts.map +1 -1
- package/dist/esm/clusters/index.js +3 -15
- package/dist/esm/clusters/index.js.map +1 -1
- package/dist/esm/clusters/joint-fabric-administrator.d.ts +424 -0
- package/dist/esm/clusters/joint-fabric-administrator.d.ts.map +1 -0
- package/dist/esm/clusters/joint-fabric-administrator.js +265 -0
- package/dist/esm/clusters/joint-fabric-administrator.js.map +6 -0
- package/dist/esm/clusters/joint-fabric-datastore.d.ts +1960 -805
- package/dist/esm/clusters/joint-fabric-datastore.d.ts.map +1 -1
- package/dist/esm/clusters/joint-fabric-datastore.js +993 -175
- package/dist/esm/clusters/joint-fabric-datastore.js.map +2 -2
- package/dist/esm/clusters/label.d.ts +9 -6
- package/dist/esm/clusters/label.d.ts.map +1 -1
- package/dist/esm/clusters/label.js +3 -2
- package/dist/esm/clusters/label.js.map +1 -1
- package/dist/esm/clusters/laundry-washer-controls.d.ts +9 -9
- package/dist/esm/clusters/laundry-washer-controls.js +4 -4
- package/dist/esm/clusters/laundry-washer-controls.js.map +1 -1
- package/dist/esm/clusters/laundry-washer-mode.d.ts +2 -2
- package/dist/esm/clusters/level-control.d.ts +11 -15
- package/dist/esm/clusters/level-control.d.ts.map +1 -1
- package/dist/esm/clusters/level-control.js +8 -9
- package/dist/esm/clusters/level-control.js.map +1 -1
- package/dist/esm/clusters/media-playback.d.ts +138 -12
- package/dist/esm/clusters/media-playback.d.ts.map +1 -1
- package/dist/esm/clusters/media-playback.js +41 -4
- package/dist/esm/clusters/media-playback.js.map +1 -1
- package/dist/esm/clusters/messages.d.ts +7 -7
- package/dist/esm/clusters/messages.js +3 -3
- package/dist/esm/clusters/microwave-oven-control.js +4 -4
- package/dist/esm/clusters/microwave-oven-control.js.map +1 -1
- package/dist/esm/clusters/microwave-oven-mode.d.ts +9 -0
- package/dist/esm/clusters/microwave-oven-mode.d.ts.map +1 -1
- package/dist/esm/clusters/microwave-oven-mode.js +3 -0
- package/dist/esm/clusters/microwave-oven-mode.js.map +1 -1
- package/dist/esm/clusters/mode-base.d.ts +31 -2
- package/dist/esm/clusters/mode-base.d.ts.map +1 -1
- package/dist/esm/clusters/mode-base.js +15 -2
- package/dist/esm/clusters/mode-base.js.map +1 -1
- package/dist/esm/clusters/mode-select.d.ts +7 -7
- package/dist/esm/clusters/mode-select.js +2 -2
- package/dist/esm/clusters/network-commissioning.d.ts +259 -201
- package/dist/esm/clusters/network-commissioning.d.ts.map +1 -1
- package/dist/esm/clusters/network-commissioning.js +41 -27
- package/dist/esm/clusters/network-commissioning.js.map +1 -1
- package/dist/esm/clusters/occupancy-sensing.d.ts +14 -20
- package/dist/esm/clusters/occupancy-sensing.d.ts.map +1 -1
- package/dist/esm/clusters/occupancy-sensing.js +4 -6
- package/dist/esm/clusters/occupancy-sensing.js.map +1 -1
- package/dist/esm/clusters/on-off.js +4 -4
- package/dist/esm/clusters/on-off.js.map +1 -1
- package/dist/esm/clusters/operational-credentials.d.ts +367 -77
- package/dist/esm/clusters/operational-credentials.d.ts.map +1 -1
- package/dist/esm/clusters/operational-credentials.js +183 -39
- package/dist/esm/clusters/operational-credentials.js.map +1 -1
- package/dist/esm/clusters/operational-state.d.ts +29 -49
- package/dist/esm/clusters/operational-state.d.ts.map +1 -1
- package/dist/esm/clusters/operational-state.js +7 -10
- package/dist/esm/clusters/operational-state.js.map +1 -1
- package/dist/esm/clusters/ota-software-update-provider.d.ts +54 -22
- package/dist/esm/clusters/ota-software-update-provider.d.ts.map +1 -1
- package/dist/esm/clusters/ota-software-update-provider.js +27 -11
- package/dist/esm/clusters/ota-software-update-provider.js.map +1 -1
- package/dist/esm/clusters/ota-software-update-requestor.d.ts +12 -10
- package/dist/esm/clusters/ota-software-update-requestor.d.ts.map +1 -1
- package/dist/esm/clusters/ota-software-update-requestor.js +6 -5
- package/dist/esm/clusters/ota-software-update-requestor.js.map +1 -1
- package/dist/esm/clusters/oven-cavity-operational-state.d.ts +5 -5
- package/dist/esm/clusters/oven-cavity-operational-state.js +3 -3
- package/dist/esm/clusters/oven-mode.d.ts +150 -0
- package/dist/esm/clusters/oven-mode.d.ts.map +1 -1
- package/dist/esm/clusters/oven-mode.js +51 -1
- package/dist/esm/clusters/oven-mode.js.map +1 -1
- package/dist/esm/clusters/power-source.d.ts +18 -6
- package/dist/esm/clusters/power-source.d.ts.map +1 -1
- package/dist/esm/clusters/power-source.js +6 -2
- package/dist/esm/clusters/power-source.js.map +1 -1
- package/dist/esm/clusters/pressure-measurement.d.ts +18 -9
- package/dist/esm/clusters/pressure-measurement.d.ts.map +1 -1
- package/dist/esm/clusters/pressure-measurement.js +10 -7
- package/dist/esm/clusters/pressure-measurement.js.map +1 -1
- package/dist/esm/clusters/pump-configuration-and-control.d.ts +46 -37
- package/dist/esm/clusters/pump-configuration-and-control.d.ts.map +1 -1
- package/dist/esm/clusters/pump-configuration-and-control.js +15 -12
- package/dist/esm/clusters/pump-configuration-and-control.js.map +1 -1
- package/dist/esm/clusters/refrigerator-alarm.d.ts +3 -3
- package/dist/esm/clusters/refrigerator-alarm.js +1 -1
- package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.d.ts +9 -0
- 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 +3 -0
- package/dist/esm/clusters/refrigerator-and-temperature-controlled-cabinet-mode.js.map +1 -1
- package/dist/esm/clusters/resource-monitoring.js +1 -1
- package/dist/esm/clusters/resource-monitoring.js.map +1 -1
- package/dist/esm/clusters/rvc-clean-mode.d.ts +16 -3
- package/dist/esm/clusters/rvc-clean-mode.d.ts.map +1 -1
- package/dist/esm/clusters/rvc-clean-mode.js +5 -1
- package/dist/esm/clusters/rvc-clean-mode.js.map +1 -1
- package/dist/esm/clusters/rvc-operational-state.d.ts +78 -49
- package/dist/esm/clusters/rvc-operational-state.d.ts.map +1 -1
- package/dist/esm/clusters/rvc-operational-state.js +19 -11
- package/dist/esm/clusters/rvc-operational-state.js.map +1 -1
- package/dist/esm/clusters/rvc-run-mode.d.ts +9 -0
- package/dist/esm/clusters/rvc-run-mode.d.ts.map +1 -1
- package/dist/esm/clusters/rvc-run-mode.js +3 -0
- package/dist/esm/clusters/rvc-run-mode.js.map +1 -1
- package/dist/esm/clusters/scenes-management.d.ts +14 -45
- package/dist/esm/clusters/scenes-management.d.ts.map +1 -1
- package/dist/esm/clusters/scenes-management.js +8 -30
- package/dist/esm/clusters/scenes-management.js.map +1 -1
- package/dist/esm/clusters/service-area.d.ts +36 -40
- package/dist/esm/clusters/service-area.d.ts.map +1 -1
- package/dist/esm/clusters/service-area.js +10 -12
- package/dist/esm/clusters/service-area.js.map +1 -1
- package/dist/esm/clusters/smoke-co-alarm.d.ts +4 -9
- package/dist/esm/clusters/smoke-co-alarm.d.ts.map +1 -1
- package/dist/esm/clusters/smoke-co-alarm.js.map +1 -1
- package/dist/esm/clusters/software-diagnostics.d.ts +52 -51
- package/dist/esm/clusters/software-diagnostics.d.ts.map +1 -1
- package/dist/esm/clusters/software-diagnostics.js +17 -17
- package/dist/esm/clusters/software-diagnostics.js.map +1 -1
- package/dist/esm/clusters/switch.d.ts +20 -17
- package/dist/esm/clusters/switch.d.ts.map +1 -1
- package/dist/esm/clusters/switch.js +9 -8
- package/dist/esm/clusters/switch.js.map +1 -1
- package/dist/esm/clusters/temperature-control.d.ts +18 -9
- package/dist/esm/clusters/temperature-control.d.ts.map +1 -1
- package/dist/esm/clusters/temperature-control.js +7 -4
- package/dist/esm/clusters/temperature-control.js.map +1 -1
- package/dist/esm/clusters/thermostat-user-interface-configuration.d.ts.map +1 -1
- package/dist/esm/clusters/thermostat-user-interface-configuration.js +2 -10
- package/dist/esm/clusters/thermostat-user-interface-configuration.js.map +1 -1
- package/dist/esm/clusters/thermostat.d.ts +406 -420
- package/dist/esm/clusters/thermostat.d.ts.map +1 -1
- package/dist/esm/clusters/thermostat.js +89 -101
- package/dist/esm/clusters/thermostat.js.map +1 -1
- package/dist/esm/clusters/thread-border-router-management.d.ts +9 -9
- package/dist/esm/clusters/thread-border-router-management.js +5 -5
- package/dist/esm/clusters/thread-border-router-management.js.map +1 -1
- package/dist/esm/clusters/thread-network-diagnostics.d.ts +479 -504
- package/dist/esm/clusters/thread-network-diagnostics.d.ts.map +1 -1
- package/dist/esm/clusters/thread-network-diagnostics.js +171 -181
- package/dist/esm/clusters/thread-network-diagnostics.js.map +1 -1
- package/dist/esm/clusters/thread-network-directory.d.ts +3 -3
- package/dist/esm/clusters/thread-network-directory.js +5 -5
- package/dist/esm/clusters/thread-network-directory.js.map +1 -1
- package/dist/esm/clusters/time-synchronization.d.ts +159 -127
- package/dist/esm/clusters/time-synchronization.d.ts.map +1 -1
- package/dist/esm/clusters/time-synchronization.js +52 -42
- package/dist/esm/clusters/time-synchronization.js.map +1 -1
- package/dist/esm/clusters/unit-localization.d.ts +51 -13
- package/dist/esm/clusters/unit-localization.d.ts.map +1 -1
- package/dist/esm/clusters/unit-localization.js +23 -5
- package/dist/esm/clusters/unit-localization.js.map +1 -1
- package/dist/esm/clusters/valve-configuration-and-control.d.ts.map +1 -1
- package/dist/esm/clusters/valve-configuration-and-control.js +8 -12
- package/dist/esm/clusters/valve-configuration-and-control.js.map +1 -1
- package/dist/esm/clusters/water-heater-management.d.ts +2 -14
- package/dist/esm/clusters/water-heater-management.d.ts.map +1 -1
- package/dist/esm/clusters/water-heater-management.js +5 -9
- package/dist/esm/clusters/water-heater-management.js.map +1 -1
- package/dist/esm/clusters/water-heater-mode.d.ts +9 -0
- package/dist/esm/clusters/water-heater-mode.d.ts.map +1 -1
- package/dist/esm/clusters/water-heater-mode.js +3 -0
- package/dist/esm/clusters/water-heater-mode.js.map +1 -1
- package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts +57 -72
- package/dist/esm/clusters/wi-fi-network-diagnostics.d.ts.map +1 -1
- package/dist/esm/clusters/wi-fi-network-diagnostics.js +20 -26
- package/dist/esm/clusters/wi-fi-network-diagnostics.js.map +1 -1
- package/dist/esm/clusters/wi-fi-network-management.d.ts +39 -1
- package/dist/esm/clusters/wi-fi-network-management.d.ts.map +1 -1
- package/dist/esm/clusters/wi-fi-network-management.js +22 -3
- package/dist/esm/clusters/wi-fi-network-management.js.map +1 -1
- package/dist/esm/clusters/window-covering.d.ts +105 -3
- package/dist/esm/clusters/window-covering.d.ts.map +1 -1
- package/dist/esm/clusters/window-covering.js +35 -1
- package/dist/esm/clusters/window-covering.js.map +1 -1
- package/dist/esm/globals/Currency.d.ts +27 -0
- package/dist/esm/globals/Currency.d.ts.map +1 -0
- package/dist/esm/globals/Currency.js +15 -0
- package/dist/esm/globals/Currency.js.map +6 -0
- package/dist/esm/globals/Locationdesc.d.ts +7 -7
- package/dist/esm/globals/Locationdesc.js +5 -5
- package/dist/esm/globals/MeasurementAccuracy.d.ts +5 -5
- package/dist/esm/globals/MeasurementAccuracy.js +3 -3
- package/dist/esm/globals/MeasurementAccuracyRange.d.ts +10 -10
- package/dist/esm/globals/MeasurementAccuracyRange.js +8 -8
- package/dist/esm/globals/MeasurementType.d.ts +14 -2
- package/dist/esm/globals/MeasurementType.d.ts.map +1 -1
- package/dist/esm/globals/MeasurementType.js +3 -0
- package/dist/esm/globals/MeasurementType.js.map +1 -1
- package/dist/esm/globals/Namespace.d.ts +13 -3
- package/dist/esm/globals/Namespace.d.ts.map +1 -1
- package/dist/esm/globals/Namespace.js.map +1 -1
- package/dist/esm/globals/Price.d.ts +30 -0
- package/dist/esm/globals/Price.d.ts.map +1 -0
- package/dist/esm/globals/Price.js +13 -0
- package/dist/esm/globals/Price.js.map +6 -0
- package/dist/esm/globals/Priority.d.ts +1 -1
- package/dist/esm/globals/Semtag.d.ts +9 -9
- package/dist/esm/globals/Semtag.js +7 -7
- package/dist/esm/globals/SoftwareVersionCertificationStatus.d.ts +1 -1
- package/dist/esm/globals/Status.d.ts +24 -5
- package/dist/esm/globals/Status.d.ts.map +1 -1
- package/dist/esm/globals/Status.js +3 -0
- package/dist/esm/globals/Status.js.map +1 -1
- package/dist/esm/globals/ThreeLevelAuto.d.ts +33 -0
- package/dist/esm/globals/ThreeLevelAuto.d.ts.map +1 -0
- package/dist/esm/globals/ThreeLevelAuto.js +16 -0
- package/dist/esm/globals/ThreeLevelAuto.js.map +6 -0
- package/dist/esm/globals/WildcardPathFlags.d.ts +2 -2
- package/dist/esm/globals/WildcardPathFlags.js +1 -1
- package/dist/esm/globals/index.d.ts +3 -1
- package/dist/esm/globals/index.d.ts.map +1 -1
- package/dist/esm/globals/index.js +3 -1
- package/dist/esm/globals/index.js.map +1 -1
- package/package.json +5 -5
- package/src/cluster/mutation/{ElementModifier.ts → ClusterTypeModifier.ts} +9 -9
- package/src/cluster/mutation/MutableCluster.ts +14 -14
- package/src/cluster/mutation/index.ts +1 -1
- package/src/clusters/access-control.ts +26 -21
- package/src/clusters/account-login.ts +16 -16
- package/src/clusters/actions.ts +36 -5
- package/src/clusters/administrator-commissioning.ts +9 -8
- package/src/clusters/air-quality.ts +1 -1
- package/src/clusters/alarm-base.ts +2 -2
- package/src/clusters/application-launcher.ts +7 -3
- package/src/clusters/basic-information.ts +23 -18
- package/src/clusters/boolean-state-configuration.ts +3 -3
- package/src/clusters/bridged-device-basic-information.ts +24 -6
- package/src/clusters/channel.ts +4 -0
- package/src/clusters/color-control.ts +53 -69
- package/src/clusters/commissioner-control.ts +9 -5
- package/src/clusters/concentration-measurement.ts +12 -13
- package/src/clusters/content-control.ts +8 -6
- package/src/clusters/content-launcher.ts +2 -2
- package/src/clusters/descriptor.ts +25 -7
- package/src/clusters/device-energy-management-mode.ts +3 -0
- package/src/clusters/device-energy-management.ts +63 -13
- package/src/clusters/dishwasher-alarm.ts +1 -1
- package/src/clusters/dishwasher-mode.ts +3 -0
- package/src/clusters/door-lock.ts +102 -126
- package/src/clusters/ecosystem-information.ts +59 -31
- package/src/clusters/electrical-energy-measurement.ts +110 -17
- package/src/clusters/electrical-power-measurement.ts +116 -28
- package/src/clusters/energy-evse-mode.ts +3 -0
- package/src/clusters/energy-evse.ts +33 -38
- package/src/clusters/energy-preference.ts +3 -3
- package/src/clusters/ethernet-network-diagnostics.ts +21 -25
- package/src/clusters/fan-control.ts +109 -71
- package/src/clusters/flow-measurement.ts +1 -1
- package/src/clusters/general-commissioning.ts +43 -28
- package/src/clusters/general-diagnostics.ts +14 -14
- package/src/clusters/group-key-management.ts +15 -12
- package/src/clusters/groups.ts +1 -8
- package/src/clusters/icd-management.ts +213 -55
- package/src/clusters/identify.ts +13 -2
- package/src/clusters/illuminance-measurement.ts +1 -1
- package/src/clusters/index.ts +1 -5
- package/src/clusters/joint-fabric-administrator.ts +470 -0
- package/src/clusters/joint-fabric-datastore.ts +1433 -223
- package/src/clusters/label.ts +3 -2
- package/src/clusters/laundry-washer-controls.ts +4 -4
- package/src/clusters/laundry-washer-mode.ts +2 -2
- package/src/clusters/level-control.ts +9 -10
- package/src/clusters/media-playback.ts +45 -4
- package/src/clusters/messages.ts +3 -3
- package/src/clusters/microwave-oven-control.ts +4 -4
- package/src/clusters/microwave-oven-mode.ts +3 -0
- package/src/clusters/mode-base.ts +15 -2
- package/src/clusters/mode-select.ts +3 -3
- package/src/clusters/network-commissioning.ts +57 -31
- package/src/clusters/occupancy-sensing.ts +6 -8
- package/src/clusters/on-off.ts +4 -4
- package/src/clusters/operational-credentials.ts +336 -53
- package/src/clusters/operational-state.ts +7 -10
- package/src/clusters/ota-software-update-provider.ts +27 -11
- package/src/clusters/ota-software-update-requestor.ts +6 -5
- package/src/clusters/oven-cavity-operational-state.ts +3 -3
- package/src/clusters/oven-mode.ts +53 -1
- package/src/clusters/power-source.ts +6 -2
- package/src/clusters/pressure-measurement.ts +10 -7
- package/src/clusters/pump-configuration-and-control.ts +16 -13
- package/src/clusters/refrigerator-alarm.ts +1 -1
- package/src/clusters/refrigerator-and-temperature-controlled-cabinet-mode.ts +3 -0
- package/src/clusters/resource-monitoring.ts +1 -1
- package/src/clusters/rvc-clean-mode.ts +10 -2
- package/src/clusters/rvc-operational-state.ts +70 -15
- package/src/clusters/rvc-run-mode.ts +3 -0
- package/src/clusters/scenes-management.ts +8 -31
- package/src/clusters/service-area.ts +10 -12
- package/src/clusters/smoke-co-alarm.ts +4 -9
- package/src/clusters/software-diagnostics.ts +17 -17
- package/src/clusters/switch.ts +11 -10
- package/src/clusters/temperature-control.ts +7 -4
- package/src/clusters/thermostat-user-interface-configuration.ts +2 -10
- package/src/clusters/thermostat.ts +138 -155
- package/src/clusters/thread-border-router-management.ts +6 -6
- package/src/clusters/thread-network-diagnostics.ts +171 -181
- package/src/clusters/thread-network-directory.ts +5 -5
- package/src/clusters/time-synchronization.ts +56 -44
- package/src/clusters/unit-localization.ts +24 -5
- package/src/clusters/valve-configuration-and-control.ts +8 -12
- package/src/clusters/water-heater-management.ts +5 -9
- package/src/clusters/water-heater-mode.ts +3 -0
- package/src/clusters/wi-fi-network-diagnostics.ts +23 -29
- package/src/clusters/wi-fi-network-management.ts +22 -3
- package/src/clusters/window-covering.ts +35 -1
- package/src/globals/Currency.ts +32 -0
- package/src/globals/Locationdesc.ts +7 -7
- package/src/globals/MeasurementAccuracy.ts +5 -5
- package/src/globals/MeasurementAccuracyRange.ts +10 -10
- package/src/globals/MeasurementType.ts +17 -2
- package/src/globals/Namespace.ts +13 -3
- package/src/globals/Price.ts +30 -0
- package/src/globals/Priority.ts +1 -1
- package/src/globals/Semtag.ts +9 -9
- package/src/globals/SoftwareVersionCertificationStatus.ts +1 -1
- package/src/globals/Status.ts +27 -5
- package/src/globals/ThreeLevelAuto.ts +37 -0
- package/src/globals/WildcardPathFlags.ts +2 -2
- package/src/globals/index.ts +3 -1
- package/dist/cjs/cluster/mutation/ElementModifier.d.ts.map +0 -1
- package/dist/cjs/clusters/ballast-configuration.d.ts +0 -243
- package/dist/cjs/clusters/ballast-configuration.d.ts.map +0 -1
- package/dist/cjs/clusters/ballast-configuration.js +0 -253
- package/dist/cjs/clusters/ballast-configuration.js.map +0 -6
- package/dist/cjs/clusters/joint-fabric-pki.d.ts +0 -172
- package/dist/cjs/clusters/joint-fabric-pki.d.ts.map +0 -1
- package/dist/cjs/clusters/joint-fabric-pki.js +0 -120
- package/dist/cjs/clusters/joint-fabric-pki.js.map +0 -6
- package/dist/cjs/clusters/proxy-configuration.d.ts +0 -79
- package/dist/cjs/clusters/proxy-configuration.d.ts.map +0 -1
- package/dist/cjs/clusters/proxy-configuration.js +0 -73
- package/dist/cjs/clusters/proxy-configuration.js.map +0 -6
- package/dist/cjs/clusters/proxy-discovery.d.ts +0 -98
- package/dist/cjs/clusters/proxy-discovery.d.ts.map +0 -1
- package/dist/cjs/clusters/proxy-discovery.js +0 -79
- package/dist/cjs/clusters/proxy-discovery.js.map +0 -6
- package/dist/cjs/clusters/valid-proxies.d.ts +0 -84
- package/dist/cjs/clusters/valid-proxies.d.ts.map +0 -1
- package/dist/cjs/clusters/valid-proxies.js +0 -68
- package/dist/cjs/clusters/valid-proxies.js.map +0 -6
- package/dist/cjs/globals/Tod.d.ts +0 -41
- package/dist/cjs/globals/Tod.d.ts.map +0 -1
- package/dist/cjs/globals/Tod.js.map +0 -6
- package/dist/esm/cluster/mutation/ElementModifier.d.ts.map +0 -1
- package/dist/esm/clusters/ballast-configuration.d.ts +0 -243
- package/dist/esm/clusters/ballast-configuration.d.ts.map +0 -1
- package/dist/esm/clusters/ballast-configuration.js +0 -233
- package/dist/esm/clusters/ballast-configuration.js.map +0 -6
- package/dist/esm/clusters/joint-fabric-pki.d.ts +0 -172
- package/dist/esm/clusters/joint-fabric-pki.d.ts.map +0 -1
- package/dist/esm/clusters/joint-fabric-pki.js +0 -100
- package/dist/esm/clusters/joint-fabric-pki.js.map +0 -6
- package/dist/esm/clusters/proxy-configuration.d.ts +0 -79
- package/dist/esm/clusters/proxy-configuration.d.ts.map +0 -1
- package/dist/esm/clusters/proxy-configuration.js +0 -53
- package/dist/esm/clusters/proxy-configuration.js.map +0 -6
- package/dist/esm/clusters/proxy-discovery.d.ts +0 -98
- package/dist/esm/clusters/proxy-discovery.d.ts.map +0 -1
- package/dist/esm/clusters/proxy-discovery.js +0 -59
- package/dist/esm/clusters/proxy-discovery.js.map +0 -6
- package/dist/esm/clusters/valid-proxies.d.ts +0 -84
- package/dist/esm/clusters/valid-proxies.d.ts.map +0 -1
- package/dist/esm/clusters/valid-proxies.js +0 -48
- package/dist/esm/clusters/valid-proxies.js.map +0 -6
- package/dist/esm/globals/Tod.d.ts +0 -41
- package/dist/esm/globals/Tod.d.ts.map +0 -1
- package/dist/esm/globals/Tod.js +0 -29
- package/dist/esm/globals/Tod.js.map +0 -6
- package/src/clusters/ballast-configuration.ts +0 -268
- package/src/clusters/joint-fabric-pki.ts +0 -200
- package/src/clusters/proxy-configuration.ts +0 -77
- package/src/clusters/proxy-discovery.ts +0 -90
- package/src/clusters/valid-proxies.ts +0 -90
- package/src/globals/Tod.ts +0 -49
|
@@ -13,7 +13,7 @@ export declare namespace IcdManagement {
|
|
|
13
13
|
/**
|
|
14
14
|
* These are optional features supported by IcdManagementCluster.
|
|
15
15
|
*
|
|
16
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
16
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4
|
|
17
17
|
*/
|
|
18
18
|
enum Feature {
|
|
19
19
|
/**
|
|
@@ -22,7 +22,7 @@ export declare namespace IcdManagement {
|
|
|
22
22
|
* When this feature is supported, the device shall support all the associated commands and attributes to
|
|
23
23
|
* properly support the Check-In Protocol.
|
|
24
24
|
*
|
|
25
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
25
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.1
|
|
26
26
|
*/
|
|
27
27
|
CheckInProtocolSupport = "CheckInProtocolSupport",
|
|
28
28
|
/**
|
|
@@ -30,7 +30,7 @@ export declare namespace IcdManagement {
|
|
|
30
30
|
*
|
|
31
31
|
* This feature is supported if and only if the device has a user active mode trigger.
|
|
32
32
|
*
|
|
33
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
33
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.2
|
|
34
34
|
*/
|
|
35
35
|
UserActiveModeTrigger = "UserActiveModeTrigger",
|
|
36
36
|
/**
|
|
@@ -38,7 +38,7 @@ export declare namespace IcdManagement {
|
|
|
38
38
|
*
|
|
39
39
|
* This feature is supported if and only the device is a Long Idle Time ICD.
|
|
40
40
|
*
|
|
41
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
41
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.3
|
|
42
42
|
*/
|
|
43
43
|
LongIdleTimeSupport = "LongIdleTimeSupport",
|
|
44
44
|
/**
|
|
@@ -47,12 +47,12 @@ export declare namespace IcdManagement {
|
|
|
47
47
|
* This feature is supported if and only if the device can switch between SIT and LIT operating modes even if it
|
|
48
48
|
* has a valid registered client. See the dynamic SIT / LIT operating mode switching for more details.
|
|
49
49
|
*
|
|
50
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
50
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.4
|
|
51
51
|
*/
|
|
52
52
|
DynamicSitLitSupport = "DynamicSitLitSupport"
|
|
53
53
|
}
|
|
54
54
|
/**
|
|
55
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
55
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.1.1
|
|
56
56
|
*/
|
|
57
57
|
enum ClientType {
|
|
58
58
|
/**
|
|
@@ -65,14 +65,14 @@ export declare namespace IcdManagement {
|
|
|
65
65
|
Ephemeral = 1
|
|
66
66
|
}
|
|
67
67
|
/**
|
|
68
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
68
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3
|
|
69
69
|
*/
|
|
70
70
|
const TlvMonitoringRegistration: import("../tlv/TlvObject.js").ObjectSchema<{
|
|
71
71
|
/**
|
|
72
72
|
* This field shall indicate the NodeID of the Node to which Check-In messages will be sent when the
|
|
73
73
|
* MonitoredSubject is not subscribed.
|
|
74
74
|
*
|
|
75
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
75
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.1
|
|
76
76
|
*/
|
|
77
77
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
78
78
|
/**
|
|
@@ -95,46 +95,47 @@ export declare namespace IcdManagement {
|
|
|
95
95
|
* the server on the entry’s associated fabric bears the CASE Authenticated TAG value 0xAA12 and the version
|
|
96
96
|
* 0x0002 or higher within its NOC, then the entry matches.
|
|
97
97
|
*
|
|
98
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
98
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.2
|
|
99
99
|
*/
|
|
100
100
|
monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
101
101
|
/**
|
|
102
102
|
* This field shall indicate the client’s type to inform the ICD of the availability for communication of the
|
|
103
103
|
* client.
|
|
104
104
|
*
|
|
105
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
105
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.4
|
|
106
106
|
*/
|
|
107
107
|
clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
|
|
108
108
|
fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
|
|
109
109
|
}>;
|
|
110
110
|
/**
|
|
111
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
111
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3
|
|
112
112
|
*/
|
|
113
113
|
interface MonitoringRegistration extends TypeFromSchema<typeof TlvMonitoringRegistration> {
|
|
114
114
|
}
|
|
115
115
|
/**
|
|
116
116
|
* Input to the IcdManagement registerClient command
|
|
117
117
|
*
|
|
118
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
118
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1
|
|
119
119
|
*/
|
|
120
120
|
const TlvRegisterClientRequest: import("../tlv/TlvObject.js").ObjectSchema<{
|
|
121
121
|
/**
|
|
122
122
|
* This field shall provide the node ID to which a Check-In message will be sent if there are no active
|
|
123
123
|
* subscriptions matching MonitoredSubject.
|
|
124
124
|
*
|
|
125
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
125
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.1
|
|
126
126
|
*/
|
|
127
127
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
128
128
|
/**
|
|
129
129
|
* This field shall provide the monitored subject ID.
|
|
130
130
|
*
|
|
131
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
131
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.2
|
|
132
132
|
*/
|
|
133
133
|
monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
134
134
|
/**
|
|
135
|
-
* This field shall
|
|
135
|
+
* This field shall contain the ICDToken, a 128-bit symmetric key shared by the ICD and the ICD Client, used to
|
|
136
|
+
* encrypt Check-In messages from this ICD to the MonitoredSubject.
|
|
136
137
|
*
|
|
137
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
138
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.3
|
|
138
139
|
*/
|
|
139
140
|
key: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
|
|
140
141
|
/**
|
|
@@ -145,20 +146,75 @@ export declare namespace IcdManagement {
|
|
|
145
146
|
* provided by clients with administrator permissions for the server cluster. The verification key shall be
|
|
146
147
|
* ignored by the server if it is provided by a client with administrator permissions for the server cluster.
|
|
147
148
|
*
|
|
148
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
149
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.4
|
|
149
150
|
*/
|
|
150
151
|
verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
|
|
151
152
|
/**
|
|
152
153
|
* This field shall provide the client type of the client registering.
|
|
153
154
|
*
|
|
154
|
-
*
|
|
155
|
+
* ### Effect on Receipt
|
|
156
|
+
*
|
|
157
|
+
* On receipt of the RegisterClient command, the server shall perform the following procedure:
|
|
158
|
+
*
|
|
159
|
+
* 1. The server verifies that an entry for the fabric is available in the server’s list of registered
|
|
160
|
+
* clients.
|
|
161
|
+
*
|
|
162
|
+
* a. If one of the entries in storage for the fabric has the same CheckInNodeID as the received
|
|
163
|
+
* CheckInNodeID, the server shall continue from step 2.
|
|
164
|
+
*
|
|
165
|
+
* b. If there is an available entry for the fabric, an entry is created for the fabric and the received
|
|
166
|
+
* CheckInNodeID, MonitoredSubject, Key and ClientType are stored. The server shall continue from step 5.
|
|
167
|
+
*
|
|
168
|
+
* c. If there are no available entries for the fabric, the status shall be RESOURCE_EXHAUSTED and the
|
|
169
|
+
* server shall continue from step 6.
|
|
170
|
+
*
|
|
171
|
+
* 2. The server shall verify the privileges of the command’s ISD.
|
|
172
|
+
*
|
|
173
|
+
* a. If the ISD of the command has administrator privileges for the server cluster, the server shall
|
|
174
|
+
* continue from step 4.
|
|
175
|
+
*
|
|
176
|
+
* b. If the ISD of the command does not have administrator privileges for the server cluster, the server
|
|
177
|
+
* shall continue from step 3.
|
|
178
|
+
*
|
|
179
|
+
* 3. The server shall verify that the received verification key is equal to the key previously stored in the
|
|
180
|
+
* list of registered clients with the matching CheckInNodeID.
|
|
181
|
+
*
|
|
182
|
+
* a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
|
|
183
|
+
* continue from step 6.
|
|
184
|
+
*
|
|
185
|
+
* b. If the verification key is not equal to the Key value stored in the entry, the status shall be
|
|
186
|
+
* FAILURE. The server shall continue from step 6.
|
|
187
|
+
*
|
|
188
|
+
* c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
|
|
189
|
+
* step 4.
|
|
190
|
+
*
|
|
191
|
+
* 4. The entry shall be updated with the received CheckInNodeID, MonitoredSubject, Key and ClientType.
|
|
192
|
+
*
|
|
193
|
+
* a. If the update fails, the status shall be FAILURE. The server shall continue from step 6.
|
|
194
|
+
*
|
|
195
|
+
* b. If the update succeeds, the server shall continue from step 5.
|
|
196
|
+
*
|
|
197
|
+
* 5. The server shall persist the client information.
|
|
198
|
+
*
|
|
199
|
+
* a. If the persistence fails, the status shall be FAILURE and the server shall continue from step 6.
|
|
200
|
+
*
|
|
201
|
+
* b. If the persistence succeeds, the status shall be SUCCESS and the server shall continue from step 6.
|
|
202
|
+
*
|
|
203
|
+
* 6. The server shall generate a response.
|
|
204
|
+
*
|
|
205
|
+
* a. If the status is SUCCESS, the server shall generate a RegisterClientResponse command.
|
|
206
|
+
*
|
|
207
|
+
* b. If the status is not SUCCESS, the server shall generate a default response with the Status field set
|
|
208
|
+
* to the evaluated error status.
|
|
209
|
+
*
|
|
210
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.5
|
|
155
211
|
*/
|
|
156
212
|
clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
|
|
157
213
|
}>;
|
|
158
214
|
/**
|
|
159
215
|
* Input to the IcdManagement registerClient command
|
|
160
216
|
*
|
|
161
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
217
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1
|
|
162
218
|
*/
|
|
163
219
|
interface RegisterClientRequest extends TypeFromSchema<typeof TlvRegisterClientRequest> {
|
|
164
220
|
}
|
|
@@ -166,7 +222,12 @@ export declare namespace IcdManagement {
|
|
|
166
222
|
* This command shall be sent by the ICD Management Cluster server in response to a successful RegisterClient
|
|
167
223
|
* command.
|
|
168
224
|
*
|
|
169
|
-
*
|
|
225
|
+
* ### When Generated
|
|
226
|
+
*
|
|
227
|
+
* This command shall be generated in response to a successful RegisterClient command. The ICDCounter field shall be
|
|
228
|
+
* set to the ICDCounter attribute of the server.
|
|
229
|
+
*
|
|
230
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.2
|
|
170
231
|
*/
|
|
171
232
|
const TlvRegisterClientResponse: import("../tlv/TlvObject.js").ObjectSchema<{
|
|
172
233
|
icdCounter: import("../tlv/TlvObject.js").FieldType<number>;
|
|
@@ -175,20 +236,25 @@ export declare namespace IcdManagement {
|
|
|
175
236
|
* This command shall be sent by the ICD Management Cluster server in response to a successful RegisterClient
|
|
176
237
|
* command.
|
|
177
238
|
*
|
|
178
|
-
*
|
|
239
|
+
* ### When Generated
|
|
240
|
+
*
|
|
241
|
+
* This command shall be generated in response to a successful RegisterClient command. The ICDCounter field shall be
|
|
242
|
+
* set to the ICDCounter attribute of the server.
|
|
243
|
+
*
|
|
244
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.2
|
|
179
245
|
*/
|
|
180
246
|
interface RegisterClientResponse extends TypeFromSchema<typeof TlvRegisterClientResponse> {
|
|
181
247
|
}
|
|
182
248
|
/**
|
|
183
249
|
* Input to the IcdManagement unregisterClient command
|
|
184
250
|
*
|
|
185
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
251
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3
|
|
186
252
|
*/
|
|
187
253
|
const TlvUnregisterClientRequest: import("../tlv/TlvObject.js").ObjectSchema<{
|
|
188
254
|
/**
|
|
189
255
|
* This field shall provide the registered client node ID to remove from storage.
|
|
190
256
|
*
|
|
191
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
257
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3.1
|
|
192
258
|
*/
|
|
193
259
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
194
260
|
/**
|
|
@@ -200,21 +266,75 @@ export declare namespace IcdManagement {
|
|
|
200
266
|
* server cluster. The verification key shall be ignored by the server if it is provided by a client with
|
|
201
267
|
* administrator permissions for the server cluster.
|
|
202
268
|
*
|
|
203
|
-
*
|
|
269
|
+
* ### Effect on Receipt
|
|
270
|
+
*
|
|
271
|
+
* On receipt of the UnregisterClient command, the server shall perform the following procedure:
|
|
272
|
+
*
|
|
273
|
+
* 1. The server shall check whether there is a entry stored on the device for the fabric with the same
|
|
274
|
+
* CheckInNodeID.
|
|
275
|
+
*
|
|
276
|
+
* a. If there are no entries stored for the fabric, the status shall be NOT_FOUND. The server shall
|
|
277
|
+
* continue from step 6.
|
|
278
|
+
*
|
|
279
|
+
* b. If there is an error when reading from storage, the status shall be FAILURE. The server shall continue
|
|
280
|
+
* from step 6.
|
|
281
|
+
*
|
|
282
|
+
* c. If there is at least one entry stored on the server for the fabric, the server shall continue from
|
|
283
|
+
* step 2.
|
|
284
|
+
*
|
|
285
|
+
* 2. The server shall verify if one of the entries for the fabric has the corresponding CheckInNodeID
|
|
286
|
+
* received in the command.
|
|
287
|
+
*
|
|
288
|
+
* a. If no entries have the corresponding CheckInNodeID, the status shall be NOT_FOUND. The server shall
|
|
289
|
+
* continue from step 6.
|
|
290
|
+
*
|
|
291
|
+
* b. If an entry has the corresponding CheckInNodeID, the server shall continue to step 3.
|
|
292
|
+
*
|
|
293
|
+
* 3. The server shall check whether the ISD of the command has administrator permissions for the server
|
|
294
|
+
* cluster.
|
|
295
|
+
*
|
|
296
|
+
* a. If the ISD of the command has administrator privileges for the server cluster, the server shall
|
|
297
|
+
* continue from step 5.
|
|
298
|
+
*
|
|
299
|
+
* b. If the ISD of the command does not have administrator privileges for the server cluster, the server
|
|
300
|
+
* shall continue from step 4.
|
|
301
|
+
*
|
|
302
|
+
* 4. The server shall verify that the received verification key is equal to the key previously stored in the
|
|
303
|
+
* list of registered clients with the matching CheckInNodeID.
|
|
304
|
+
*
|
|
305
|
+
* a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
|
|
306
|
+
* continue from step 6.
|
|
307
|
+
*
|
|
308
|
+
* b. If the verification key is not equal to the Key value stored in the entry, the status shall be
|
|
309
|
+
* FAILURE. The server shall continue from step 6.
|
|
310
|
+
*
|
|
311
|
+
* c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
|
|
312
|
+
* step 5.
|
|
313
|
+
*
|
|
314
|
+
* 5. The server shall delete the entry with the matching CheckInNodeID from storage and will persist the
|
|
315
|
+
* change.
|
|
316
|
+
*
|
|
317
|
+
* a. If the removal of the entry fails, the status shall be FAILURE. The server shall continue from step 6.
|
|
318
|
+
*
|
|
319
|
+
* b. If the removal succeeds, the status shall be SUCCESS and the server shall continue to step 6.
|
|
320
|
+
*
|
|
321
|
+
* 6. The server shall generate a response with the Status field set to the evaluated status.
|
|
322
|
+
*
|
|
323
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3.2
|
|
204
324
|
*/
|
|
205
325
|
verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
|
|
206
326
|
}>;
|
|
207
327
|
/**
|
|
208
328
|
* Input to the IcdManagement unregisterClient command
|
|
209
329
|
*
|
|
210
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
330
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3
|
|
211
331
|
*/
|
|
212
332
|
interface UnregisterClientRequest extends TypeFromSchema<typeof TlvUnregisterClientRequest> {
|
|
213
333
|
}
|
|
214
334
|
/**
|
|
215
335
|
* See the UserActiveModeTriggerHint table for requirements associated to each bit.
|
|
216
336
|
*
|
|
217
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
337
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.1
|
|
218
338
|
*/
|
|
219
339
|
const UserActiveModeTrigger: {
|
|
220
340
|
/**
|
|
@@ -287,7 +407,7 @@ export declare namespace IcdManagement {
|
|
|
287
407
|
appDefinedButton: BitFlag;
|
|
288
408
|
};
|
|
289
409
|
/**
|
|
290
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
410
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.2
|
|
291
411
|
*/
|
|
292
412
|
enum OperatingMode {
|
|
293
413
|
/**
|
|
@@ -302,7 +422,7 @@ export declare namespace IcdManagement {
|
|
|
302
422
|
/**
|
|
303
423
|
* Input to the IcdManagement stayActiveRequest command
|
|
304
424
|
*
|
|
305
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
425
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.4
|
|
306
426
|
*/
|
|
307
427
|
const TlvStayActiveRequest: import("../tlv/TlvObject.js").ObjectSchema<{
|
|
308
428
|
stayActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
|
|
@@ -310,7 +430,7 @@ export declare namespace IcdManagement {
|
|
|
310
430
|
/**
|
|
311
431
|
* Input to the IcdManagement stayActiveRequest command
|
|
312
432
|
*
|
|
313
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
433
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.4
|
|
314
434
|
*/
|
|
315
435
|
interface StayActiveRequest extends TypeFromSchema<typeof TlvStayActiveRequest> {
|
|
316
436
|
}
|
|
@@ -318,17 +438,19 @@ export declare namespace IcdManagement {
|
|
|
318
438
|
* This message shall be sent by the ICD in response to the StayActiveRequest command and shall contain the computed
|
|
319
439
|
* duration (in milliseconds) that the ICD intends to stay active for.
|
|
320
440
|
*
|
|
321
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
441
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.5
|
|
322
442
|
*/
|
|
323
443
|
const TlvStayActiveResponse: import("../tlv/TlvObject.js").ObjectSchema<{
|
|
324
444
|
/**
|
|
325
445
|
* This field shall provide the actual duration that the ICD server can stay active from the time it receives
|
|
326
446
|
* the StayActiveRequest command.
|
|
327
447
|
*
|
|
448
|
+
* ### Minimum Value for PromisedActiveDuration
|
|
449
|
+
*
|
|
328
450
|
* The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
|
|
329
451
|
* StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
|
|
330
452
|
*
|
|
331
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
453
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
|
|
332
454
|
*/
|
|
333
455
|
promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
|
|
334
456
|
}>;
|
|
@@ -336,7 +458,7 @@ export declare namespace IcdManagement {
|
|
|
336
458
|
* This message shall be sent by the ICD in response to the StayActiveRequest command and shall contain the computed
|
|
337
459
|
* duration (in milliseconds) that the ICD intends to stay active for.
|
|
338
460
|
*
|
|
339
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
461
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.5
|
|
340
462
|
*/
|
|
341
463
|
interface StayActiveResponse extends TypeFromSchema<typeof TlvStayActiveResponse> {
|
|
342
464
|
}
|
|
@@ -351,14 +473,14 @@ export declare namespace IcdManagement {
|
|
|
351
473
|
* fabric supported on the server, as indicated by the value of the SupportedFabrics attribute in the
|
|
352
474
|
* Operational Credentials cluster.
|
|
353
475
|
*
|
|
354
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
476
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.4
|
|
355
477
|
*/
|
|
356
478
|
readonly registeredClients: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
357
479
|
/**
|
|
358
480
|
* This field shall indicate the NodeID of the Node to which Check-In messages will be sent when the
|
|
359
481
|
* MonitoredSubject is not subscribed.
|
|
360
482
|
*
|
|
361
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
483
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.1
|
|
362
484
|
*/
|
|
363
485
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
364
486
|
/**
|
|
@@ -381,14 +503,14 @@ export declare namespace IcdManagement {
|
|
|
381
503
|
* the server on the entry’s associated fabric bears the CASE Authenticated TAG value 0xAA12 and the version
|
|
382
504
|
* 0x0002 or higher within its NOC, then the entry matches.
|
|
383
505
|
*
|
|
384
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
506
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.2
|
|
385
507
|
*/
|
|
386
508
|
monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
387
509
|
/**
|
|
388
510
|
* This field shall indicate the client’s type to inform the ICD of the availability for communication of the
|
|
389
511
|
* client.
|
|
390
512
|
*
|
|
391
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
513
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.4
|
|
392
514
|
*/
|
|
393
515
|
clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
|
|
394
516
|
fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
|
|
@@ -396,14 +518,14 @@ export declare namespace IcdManagement {
|
|
|
396
518
|
/**
|
|
397
519
|
* This attribute returns the value of the ICD Counter.
|
|
398
520
|
*
|
|
399
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
521
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.5
|
|
400
522
|
*/
|
|
401
523
|
readonly icdCounter: Attribute<number, any>;
|
|
402
524
|
/**
|
|
403
525
|
* Indicates the maximum number of entries that the server is able to store for each fabric in the
|
|
404
526
|
* RegisteredClients attribute.
|
|
405
527
|
*
|
|
406
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
528
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.6
|
|
407
529
|
*/
|
|
408
530
|
readonly clientsSupportedPerFabric: FixedAttribute<number, any>;
|
|
409
531
|
/**
|
|
@@ -412,7 +534,7 @@ export declare namespace IcdManagement {
|
|
|
412
534
|
*
|
|
413
535
|
* If the MaximumCheckInBackoff is equal to the IdleModeDuration, it means the ICD does not back-off.
|
|
414
536
|
*
|
|
415
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
537
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.10
|
|
416
538
|
*/
|
|
417
539
|
readonly maximumCheckInBackoff: FixedAttribute<number, any>;
|
|
418
540
|
};
|
|
@@ -421,26 +543,27 @@ export declare namespace IcdManagement {
|
|
|
421
543
|
* This command allows a client to register itself with the ICD to be notified when the device is available
|
|
422
544
|
* for communication.
|
|
423
545
|
*
|
|
424
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
546
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1
|
|
425
547
|
*/
|
|
426
548
|
readonly registerClient: Command<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
427
549
|
/**
|
|
428
550
|
* This field shall provide the node ID to which a Check-In message will be sent if there are no active
|
|
429
551
|
* subscriptions matching MonitoredSubject.
|
|
430
552
|
*
|
|
431
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
553
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.1
|
|
432
554
|
*/
|
|
433
555
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
434
556
|
/**
|
|
435
557
|
* This field shall provide the monitored subject ID.
|
|
436
558
|
*
|
|
437
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
559
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.2
|
|
438
560
|
*/
|
|
439
561
|
monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
440
562
|
/**
|
|
441
|
-
* This field shall
|
|
563
|
+
* This field shall contain the ICDToken, a 128-bit symmetric key shared by the ICD and the ICD Client, used to
|
|
564
|
+
* encrypt Check-In messages from this ICD to the MonitoredSubject.
|
|
442
565
|
*
|
|
443
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
566
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.3
|
|
444
567
|
*/
|
|
445
568
|
key: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
|
|
446
569
|
/**
|
|
@@ -451,13 +574,68 @@ export declare namespace IcdManagement {
|
|
|
451
574
|
* provided by clients with administrator permissions for the server cluster. The verification key shall be
|
|
452
575
|
* ignored by the server if it is provided by a client with administrator permissions for the server cluster.
|
|
453
576
|
*
|
|
454
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
577
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.4
|
|
455
578
|
*/
|
|
456
579
|
verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
|
|
457
580
|
/**
|
|
458
581
|
* This field shall provide the client type of the client registering.
|
|
459
582
|
*
|
|
460
|
-
*
|
|
583
|
+
* ### Effect on Receipt
|
|
584
|
+
*
|
|
585
|
+
* On receipt of the RegisterClient command, the server shall perform the following procedure:
|
|
586
|
+
*
|
|
587
|
+
* 1. The server verifies that an entry for the fabric is available in the server’s list of registered
|
|
588
|
+
* clients.
|
|
589
|
+
*
|
|
590
|
+
* a. If one of the entries in storage for the fabric has the same CheckInNodeID as the received
|
|
591
|
+
* CheckInNodeID, the server shall continue from step 2.
|
|
592
|
+
*
|
|
593
|
+
* b. If there is an available entry for the fabric, an entry is created for the fabric and the received
|
|
594
|
+
* CheckInNodeID, MonitoredSubject, Key and ClientType are stored. The server shall continue from step 5.
|
|
595
|
+
*
|
|
596
|
+
* c. If there are no available entries for the fabric, the status shall be RESOURCE_EXHAUSTED and the
|
|
597
|
+
* server shall continue from step 6.
|
|
598
|
+
*
|
|
599
|
+
* 2. The server shall verify the privileges of the command’s ISD.
|
|
600
|
+
*
|
|
601
|
+
* a. If the ISD of the command has administrator privileges for the server cluster, the server shall
|
|
602
|
+
* continue from step 4.
|
|
603
|
+
*
|
|
604
|
+
* b. If the ISD of the command does not have administrator privileges for the server cluster, the server
|
|
605
|
+
* shall continue from step 3.
|
|
606
|
+
*
|
|
607
|
+
* 3. The server shall verify that the received verification key is equal to the key previously stored in the
|
|
608
|
+
* list of registered clients with the matching CheckInNodeID.
|
|
609
|
+
*
|
|
610
|
+
* a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
|
|
611
|
+
* continue from step 6.
|
|
612
|
+
*
|
|
613
|
+
* b. If the verification key is not equal to the Key value stored in the entry, the status shall be
|
|
614
|
+
* FAILURE. The server shall continue from step 6.
|
|
615
|
+
*
|
|
616
|
+
* c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
|
|
617
|
+
* step 4.
|
|
618
|
+
*
|
|
619
|
+
* 4. The entry shall be updated with the received CheckInNodeID, MonitoredSubject, Key and ClientType.
|
|
620
|
+
*
|
|
621
|
+
* a. If the update fails, the status shall be FAILURE. The server shall continue from step 6.
|
|
622
|
+
*
|
|
623
|
+
* b. If the update succeeds, the server shall continue from step 5.
|
|
624
|
+
*
|
|
625
|
+
* 5. The server shall persist the client information.
|
|
626
|
+
*
|
|
627
|
+
* a. If the persistence fails, the status shall be FAILURE and the server shall continue from step 6.
|
|
628
|
+
*
|
|
629
|
+
* b. If the persistence succeeds, the status shall be SUCCESS and the server shall continue from step 6.
|
|
630
|
+
*
|
|
631
|
+
* 6. The server shall generate a response.
|
|
632
|
+
*
|
|
633
|
+
* a. If the status is SUCCESS, the server shall generate a RegisterClientResponse command.
|
|
634
|
+
*
|
|
635
|
+
* b. If the status is not SUCCESS, the server shall generate a default response with the Status field set
|
|
636
|
+
* to the evaluated error status.
|
|
637
|
+
*
|
|
638
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.5
|
|
461
639
|
*/
|
|
462
640
|
clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
|
|
463
641
|
}>, import("../tlv/TlvObject.js").TypeFromFields<{
|
|
@@ -468,13 +646,13 @@ export declare namespace IcdManagement {
|
|
|
468
646
|
* network (e.g. running on a phone which is leaving the home) can (and should) remove its subscriptions and
|
|
469
647
|
* send this UnregisterClient command before leaving to prevent the burden on the ICD of an absent client.
|
|
470
648
|
*
|
|
471
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
649
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3
|
|
472
650
|
*/
|
|
473
651
|
readonly unregisterClient: Command<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
474
652
|
/**
|
|
475
653
|
* This field shall provide the registered client node ID to remove from storage.
|
|
476
654
|
*
|
|
477
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
655
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3.1
|
|
478
656
|
*/
|
|
479
657
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
480
658
|
/**
|
|
@@ -486,7 +664,61 @@ export declare namespace IcdManagement {
|
|
|
486
664
|
* server cluster. The verification key shall be ignored by the server if it is provided by a client with
|
|
487
665
|
* administrator permissions for the server cluster.
|
|
488
666
|
*
|
|
489
|
-
*
|
|
667
|
+
* ### Effect on Receipt
|
|
668
|
+
*
|
|
669
|
+
* On receipt of the UnregisterClient command, the server shall perform the following procedure:
|
|
670
|
+
*
|
|
671
|
+
* 1. The server shall check whether there is a entry stored on the device for the fabric with the same
|
|
672
|
+
* CheckInNodeID.
|
|
673
|
+
*
|
|
674
|
+
* a. If there are no entries stored for the fabric, the status shall be NOT_FOUND. The server shall
|
|
675
|
+
* continue from step 6.
|
|
676
|
+
*
|
|
677
|
+
* b. If there is an error when reading from storage, the status shall be FAILURE. The server shall continue
|
|
678
|
+
* from step 6.
|
|
679
|
+
*
|
|
680
|
+
* c. If there is at least one entry stored on the server for the fabric, the server shall continue from
|
|
681
|
+
* step 2.
|
|
682
|
+
*
|
|
683
|
+
* 2. The server shall verify if one of the entries for the fabric has the corresponding CheckInNodeID
|
|
684
|
+
* received in the command.
|
|
685
|
+
*
|
|
686
|
+
* a. If no entries have the corresponding CheckInNodeID, the status shall be NOT_FOUND. The server shall
|
|
687
|
+
* continue from step 6.
|
|
688
|
+
*
|
|
689
|
+
* b. If an entry has the corresponding CheckInNodeID, the server shall continue to step 3.
|
|
690
|
+
*
|
|
691
|
+
* 3. The server shall check whether the ISD of the command has administrator permissions for the server
|
|
692
|
+
* cluster.
|
|
693
|
+
*
|
|
694
|
+
* a. If the ISD of the command has administrator privileges for the server cluster, the server shall
|
|
695
|
+
* continue from step 5.
|
|
696
|
+
*
|
|
697
|
+
* b. If the ISD of the command does not have administrator privileges for the server cluster, the server
|
|
698
|
+
* shall continue from step 4.
|
|
699
|
+
*
|
|
700
|
+
* 4. The server shall verify that the received verification key is equal to the key previously stored in the
|
|
701
|
+
* list of registered clients with the matching CheckInNodeID.
|
|
702
|
+
*
|
|
703
|
+
* a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
|
|
704
|
+
* continue from step 6.
|
|
705
|
+
*
|
|
706
|
+
* b. If the verification key is not equal to the Key value stored in the entry, the status shall be
|
|
707
|
+
* FAILURE. The server shall continue from step 6.
|
|
708
|
+
*
|
|
709
|
+
* c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
|
|
710
|
+
* step 5.
|
|
711
|
+
*
|
|
712
|
+
* 5. The server shall delete the entry with the matching CheckInNodeID from storage and will persist the
|
|
713
|
+
* change.
|
|
714
|
+
*
|
|
715
|
+
* a. If the removal of the entry fails, the status shall be FAILURE. The server shall continue from step 6.
|
|
716
|
+
*
|
|
717
|
+
* b. If the removal succeeds, the status shall be SUCCESS and the server shall continue to step 6.
|
|
718
|
+
*
|
|
719
|
+
* 6. The server shall generate a response with the Status field set to the evaluated status.
|
|
720
|
+
*
|
|
721
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3.2
|
|
490
722
|
*/
|
|
491
723
|
verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
|
|
492
724
|
}>, void, any>;
|
|
@@ -512,7 +744,7 @@ export declare namespace IcdManagement {
|
|
|
512
744
|
* bitmap at the same time. However, a device shall NOT set more than one bit which has a dependency on the
|
|
513
745
|
* UserActiveModeTriggerInstruction attribute.
|
|
514
746
|
*
|
|
515
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
747
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.7
|
|
516
748
|
*/
|
|
517
749
|
readonly userActiveModeTriggerHint: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
|
|
518
750
|
/**
|
|
@@ -592,13 +824,13 @@ export declare namespace IcdManagement {
|
|
|
592
824
|
const LongIdleTimeSupportComponent: {
|
|
593
825
|
readonly attributes: {
|
|
594
826
|
/**
|
|
595
|
-
*
|
|
827
|
+
* Indicates the operating mode of the ICD as specified in the OperatingModeEnum.
|
|
596
828
|
*
|
|
597
829
|
* • If the ICD is operating as a LIT ICD, OperatingMode shall be LIT.
|
|
598
830
|
*
|
|
599
831
|
* • If the ICD is operating as a SIT ICD, OperatingMode shall be SIT.
|
|
600
832
|
*
|
|
601
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
833
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.9
|
|
602
834
|
*/
|
|
603
835
|
readonly operatingMode: Attribute<OperatingMode, any>;
|
|
604
836
|
};
|
|
@@ -612,7 +844,25 @@ export declare namespace IcdManagement {
|
|
|
612
844
|
* message exchanges during that period. The client may slightly overestimate the duration it wants the ICD
|
|
613
845
|
* to be active for, in order to account for network delays.
|
|
614
846
|
*
|
|
615
|
-
*
|
|
847
|
+
* ### Effect on Receipt
|
|
848
|
+
*
|
|
849
|
+
* When receiving a StayActiveRequest command, the server shall calculate the maximum PromisedActiveDuration
|
|
850
|
+
* it can remain active as the greater of the following two values:
|
|
851
|
+
*
|
|
852
|
+
* • StayActiveDuration: Specified in the received command by the client.
|
|
853
|
+
*
|
|
854
|
+
* • Remaining Active Time: The server’s planned remaining active time based on the ActiveModeThreshold
|
|
855
|
+
* and its internal resources and power budget.
|
|
856
|
+
*
|
|
857
|
+
* A server may replace StayActiveDuration with Minimum Active Duration in the above calculation.
|
|
858
|
+
*
|
|
859
|
+
* PromisedActiveDuration represents the guaranteed minimum time the server will remain active, taking into
|
|
860
|
+
* account both the requested duration and the server’s capabilities.
|
|
861
|
+
*
|
|
862
|
+
* The ICD shall report the calculated PromisedActiveDuration in a StayActiveResponse message back to the
|
|
863
|
+
* client.
|
|
864
|
+
*
|
|
865
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.4
|
|
616
866
|
*/
|
|
617
867
|
readonly stayActiveRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
618
868
|
stayActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
|
|
@@ -621,10 +871,12 @@ export declare namespace IcdManagement {
|
|
|
621
871
|
* This field shall provide the actual duration that the ICD server can stay active from the time it receives
|
|
622
872
|
* the StayActiveRequest command.
|
|
623
873
|
*
|
|
874
|
+
* ### Minimum Value for PromisedActiveDuration
|
|
875
|
+
*
|
|
624
876
|
* The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
|
|
625
877
|
* StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
|
|
626
878
|
*
|
|
627
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
879
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
|
|
628
880
|
*/
|
|
629
881
|
promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
|
|
630
882
|
}>, any>;
|
|
@@ -642,26 +894,26 @@ export declare namespace IcdManagement {
|
|
|
642
894
|
* When this feature is supported, the device shall support all the associated commands and attributes to
|
|
643
895
|
* properly support the Check-In Protocol.
|
|
644
896
|
*
|
|
645
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
897
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.1
|
|
646
898
|
*/
|
|
647
899
|
readonly checkInProtocolSupport: BitFlag;
|
|
648
900
|
/**
|
|
649
901
|
* This feature is supported if and only if the device has a user active mode trigger.
|
|
650
902
|
*
|
|
651
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
903
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.2
|
|
652
904
|
*/
|
|
653
905
|
readonly userActiveModeTrigger: BitFlag;
|
|
654
906
|
/**
|
|
655
907
|
* This feature is supported if and only the device is a Long Idle Time ICD.
|
|
656
908
|
*
|
|
657
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
909
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.3
|
|
658
910
|
*/
|
|
659
911
|
readonly longIdleTimeSupport: BitFlag;
|
|
660
912
|
/**
|
|
661
913
|
* This feature is supported if and only if the device can switch between SIT and LIT operating modes even
|
|
662
914
|
* if it has a valid registered client. See the dynamic SIT / LIT operating mode switching for more details.
|
|
663
915
|
*
|
|
664
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
916
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.4
|
|
665
917
|
*/
|
|
666
918
|
readonly dynamicSitLitSupport: BitFlag;
|
|
667
919
|
};
|
|
@@ -670,21 +922,21 @@ export declare namespace IcdManagement {
|
|
|
670
922
|
* Indicates the maximum interval in seconds the server can stay in idle mode. The IdleModeDuration shall
|
|
671
923
|
* NOT be smaller than the ActiveModeDuration.
|
|
672
924
|
*
|
|
673
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
925
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.1
|
|
674
926
|
*/
|
|
675
927
|
readonly idleModeDuration: FixedAttribute<number, any>;
|
|
676
928
|
/**
|
|
677
929
|
* Indicates the minimum interval in milliseconds the server typically will stay in active mode after
|
|
678
930
|
* initial transition out of idle mode. The ActiveModeDuration does not include the ActiveModeThreshold.
|
|
679
931
|
*
|
|
680
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
932
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.2
|
|
681
933
|
*/
|
|
682
934
|
readonly activeModeDuration: FixedAttribute<number, any>;
|
|
683
935
|
/**
|
|
684
936
|
* Indicates the minimum amount of time in milliseconds the server typically will stay active after network
|
|
685
937
|
* activity when in active mode.
|
|
686
938
|
*
|
|
687
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
939
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.3
|
|
688
940
|
*/
|
|
689
941
|
readonly activeModeThreshold: FixedAttribute<number, any>;
|
|
690
942
|
/**
|
|
@@ -697,9 +949,9 @@ export declare namespace IcdManagement {
|
|
|
697
949
|
* string shall consist solely of an encoding of N as a decimal unsigned integer using the ASCII digits 0-9,
|
|
698
950
|
* and without leading zeros.
|
|
699
951
|
*
|
|
700
|
-
* For example, given UserActiveModeTriggerHint="
|
|
701
|
-
* Button for N seconds". Therefore, a value of UserActiveModeTriggerInstruction="
|
|
702
|
-
* is
|
|
952
|
+
* For example, given UserActiveModeTriggerHint="1024", ResetButtonSeconds is set which indicates "Press
|
|
953
|
+
* Reset Button for N seconds". Therefore, a value of UserActiveModeTriggerInstruction="6" would indicate
|
|
954
|
+
* that N is 6 in that context.
|
|
703
955
|
*
|
|
704
956
|
* When CustomInstruction is set by the UserActiveModeTriggerHint attribute, indicating presence of a custom
|
|
705
957
|
* string, the ICD SHOULD perform localization (translation to user’s preferred language, as indicated in
|
|
@@ -712,7 +964,7 @@ export declare namespace IcdManagement {
|
|
|
712
964
|
* UserActiveModeTriggerInstruction attribute, the string shall consist of exactly 6 hexadecimal digits
|
|
713
965
|
* using the ASCII characters 0-F and encoding the RGB color value as used in HTML encodings.
|
|
714
966
|
*
|
|
715
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
967
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.8
|
|
716
968
|
*/
|
|
717
969
|
readonly userActiveModeTriggerInstruction: OptionalFixedAttribute<string, any>;
|
|
718
970
|
};
|
|
@@ -726,7 +978,25 @@ export declare namespace IcdManagement {
|
|
|
726
978
|
* message exchanges during that period. The client may slightly overestimate the duration it wants the ICD
|
|
727
979
|
* to be active for, in order to account for network delays.
|
|
728
980
|
*
|
|
729
|
-
*
|
|
981
|
+
* ### Effect on Receipt
|
|
982
|
+
*
|
|
983
|
+
* When receiving a StayActiveRequest command, the server shall calculate the maximum PromisedActiveDuration
|
|
984
|
+
* it can remain active as the greater of the following two values:
|
|
985
|
+
*
|
|
986
|
+
* • StayActiveDuration: Specified in the received command by the client.
|
|
987
|
+
*
|
|
988
|
+
* • Remaining Active Time: The server’s planned remaining active time based on the ActiveModeThreshold
|
|
989
|
+
* and its internal resources and power budget.
|
|
990
|
+
*
|
|
991
|
+
* A server may replace StayActiveDuration with Minimum Active Duration in the above calculation.
|
|
992
|
+
*
|
|
993
|
+
* PromisedActiveDuration represents the guaranteed minimum time the server will remain active, taking into
|
|
994
|
+
* account both the requested duration and the server’s capabilities.
|
|
995
|
+
*
|
|
996
|
+
* The ICD shall report the calculated PromisedActiveDuration in a StayActiveResponse message back to the
|
|
997
|
+
* client.
|
|
998
|
+
*
|
|
999
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.4
|
|
730
1000
|
*/
|
|
731
1001
|
readonly stayActiveRequest: OptionalCommand<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
732
1002
|
stayActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
|
|
@@ -735,10 +1005,12 @@ export declare namespace IcdManagement {
|
|
|
735
1005
|
* This field shall provide the actual duration that the ICD server can stay active from the time it receives
|
|
736
1006
|
* the StayActiveRequest command.
|
|
737
1007
|
*
|
|
1008
|
+
* ### Minimum Value for PromisedActiveDuration
|
|
1009
|
+
*
|
|
738
1010
|
* The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
|
|
739
1011
|
* StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
|
|
740
1012
|
*
|
|
741
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1013
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
|
|
742
1014
|
*/
|
|
743
1015
|
promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
|
|
744
1016
|
}>, any>;
|
|
@@ -759,14 +1031,14 @@ export declare namespace IcdManagement {
|
|
|
759
1031
|
* fabric supported on the server, as indicated by the value of the SupportedFabrics attribute in the
|
|
760
1032
|
* Operational Credentials cluster.
|
|
761
1033
|
*
|
|
762
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1034
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.4
|
|
763
1035
|
*/
|
|
764
1036
|
readonly registeredClients: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
765
1037
|
/**
|
|
766
1038
|
* This field shall indicate the NodeID of the Node to which Check-In messages will be sent when the
|
|
767
1039
|
* MonitoredSubject is not subscribed.
|
|
768
1040
|
*
|
|
769
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1041
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.1
|
|
770
1042
|
*/
|
|
771
1043
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
772
1044
|
/**
|
|
@@ -789,14 +1061,14 @@ export declare namespace IcdManagement {
|
|
|
789
1061
|
* the server on the entry’s associated fabric bears the CASE Authenticated TAG value 0xAA12 and the version
|
|
790
1062
|
* 0x0002 or higher within its NOC, then the entry matches.
|
|
791
1063
|
*
|
|
792
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1064
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.2
|
|
793
1065
|
*/
|
|
794
1066
|
monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
795
1067
|
/**
|
|
796
1068
|
* This field shall indicate the client’s type to inform the ICD of the availability for communication of the
|
|
797
1069
|
* client.
|
|
798
1070
|
*
|
|
799
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1071
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.4
|
|
800
1072
|
*/
|
|
801
1073
|
clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
|
|
802
1074
|
fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
|
|
@@ -804,14 +1076,14 @@ export declare namespace IcdManagement {
|
|
|
804
1076
|
/**
|
|
805
1077
|
* This attribute returns the value of the ICD Counter.
|
|
806
1078
|
*
|
|
807
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1079
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.5
|
|
808
1080
|
*/
|
|
809
1081
|
readonly icdCounter: Attribute<number, any>;
|
|
810
1082
|
/**
|
|
811
1083
|
* Indicates the maximum number of entries that the server is able to store for each fabric in the
|
|
812
1084
|
* RegisteredClients attribute.
|
|
813
1085
|
*
|
|
814
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1086
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.6
|
|
815
1087
|
*/
|
|
816
1088
|
readonly clientsSupportedPerFabric: FixedAttribute<number, any>;
|
|
817
1089
|
/**
|
|
@@ -820,7 +1092,7 @@ export declare namespace IcdManagement {
|
|
|
820
1092
|
*
|
|
821
1093
|
* If the MaximumCheckInBackoff is equal to the IdleModeDuration, it means the ICD does not back-off.
|
|
822
1094
|
*
|
|
823
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1095
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.10
|
|
824
1096
|
*/
|
|
825
1097
|
readonly maximumCheckInBackoff: FixedAttribute<number, any>;
|
|
826
1098
|
};
|
|
@@ -829,26 +1101,27 @@ export declare namespace IcdManagement {
|
|
|
829
1101
|
* This command allows a client to register itself with the ICD to be notified when the device is available
|
|
830
1102
|
* for communication.
|
|
831
1103
|
*
|
|
832
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1104
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1
|
|
833
1105
|
*/
|
|
834
1106
|
readonly registerClient: Command<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
835
1107
|
/**
|
|
836
1108
|
* This field shall provide the node ID to which a Check-In message will be sent if there are no active
|
|
837
1109
|
* subscriptions matching MonitoredSubject.
|
|
838
1110
|
*
|
|
839
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1111
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.1
|
|
840
1112
|
*/
|
|
841
1113
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
842
1114
|
/**
|
|
843
1115
|
* This field shall provide the monitored subject ID.
|
|
844
1116
|
*
|
|
845
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1117
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.2
|
|
846
1118
|
*/
|
|
847
1119
|
monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
848
1120
|
/**
|
|
849
|
-
* This field shall
|
|
1121
|
+
* This field shall contain the ICDToken, a 128-bit symmetric key shared by the ICD and the ICD Client, used to
|
|
1122
|
+
* encrypt Check-In messages from this ICD to the MonitoredSubject.
|
|
850
1123
|
*
|
|
851
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1124
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.3
|
|
852
1125
|
*/
|
|
853
1126
|
key: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
|
|
854
1127
|
/**
|
|
@@ -859,13 +1132,68 @@ export declare namespace IcdManagement {
|
|
|
859
1132
|
* provided by clients with administrator permissions for the server cluster. The verification key shall be
|
|
860
1133
|
* ignored by the server if it is provided by a client with administrator permissions for the server cluster.
|
|
861
1134
|
*
|
|
862
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1135
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.4
|
|
863
1136
|
*/
|
|
864
1137
|
verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
|
|
865
1138
|
/**
|
|
866
1139
|
* This field shall provide the client type of the client registering.
|
|
867
1140
|
*
|
|
868
|
-
*
|
|
1141
|
+
* ### Effect on Receipt
|
|
1142
|
+
*
|
|
1143
|
+
* On receipt of the RegisterClient command, the server shall perform the following procedure:
|
|
1144
|
+
*
|
|
1145
|
+
* 1. The server verifies that an entry for the fabric is available in the server’s list of registered
|
|
1146
|
+
* clients.
|
|
1147
|
+
*
|
|
1148
|
+
* a. If one of the entries in storage for the fabric has the same CheckInNodeID as the received
|
|
1149
|
+
* CheckInNodeID, the server shall continue from step 2.
|
|
1150
|
+
*
|
|
1151
|
+
* b. If there is an available entry for the fabric, an entry is created for the fabric and the received
|
|
1152
|
+
* CheckInNodeID, MonitoredSubject, Key and ClientType are stored. The server shall continue from step 5.
|
|
1153
|
+
*
|
|
1154
|
+
* c. If there are no available entries for the fabric, the status shall be RESOURCE_EXHAUSTED and the
|
|
1155
|
+
* server shall continue from step 6.
|
|
1156
|
+
*
|
|
1157
|
+
* 2. The server shall verify the privileges of the command’s ISD.
|
|
1158
|
+
*
|
|
1159
|
+
* a. If the ISD of the command has administrator privileges for the server cluster, the server shall
|
|
1160
|
+
* continue from step 4.
|
|
1161
|
+
*
|
|
1162
|
+
* b. If the ISD of the command does not have administrator privileges for the server cluster, the server
|
|
1163
|
+
* shall continue from step 3.
|
|
1164
|
+
*
|
|
1165
|
+
* 3. The server shall verify that the received verification key is equal to the key previously stored in the
|
|
1166
|
+
* list of registered clients with the matching CheckInNodeID.
|
|
1167
|
+
*
|
|
1168
|
+
* a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
|
|
1169
|
+
* continue from step 6.
|
|
1170
|
+
*
|
|
1171
|
+
* b. If the verification key is not equal to the Key value stored in the entry, the status shall be
|
|
1172
|
+
* FAILURE. The server shall continue from step 6.
|
|
1173
|
+
*
|
|
1174
|
+
* c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
|
|
1175
|
+
* step 4.
|
|
1176
|
+
*
|
|
1177
|
+
* 4. The entry shall be updated with the received CheckInNodeID, MonitoredSubject, Key and ClientType.
|
|
1178
|
+
*
|
|
1179
|
+
* a. If the update fails, the status shall be FAILURE. The server shall continue from step 6.
|
|
1180
|
+
*
|
|
1181
|
+
* b. If the update succeeds, the server shall continue from step 5.
|
|
1182
|
+
*
|
|
1183
|
+
* 5. The server shall persist the client information.
|
|
1184
|
+
*
|
|
1185
|
+
* a. If the persistence fails, the status shall be FAILURE and the server shall continue from step 6.
|
|
1186
|
+
*
|
|
1187
|
+
* b. If the persistence succeeds, the status shall be SUCCESS and the server shall continue from step 6.
|
|
1188
|
+
*
|
|
1189
|
+
* 6. The server shall generate a response.
|
|
1190
|
+
*
|
|
1191
|
+
* a. If the status is SUCCESS, the server shall generate a RegisterClientResponse command.
|
|
1192
|
+
*
|
|
1193
|
+
* b. If the status is not SUCCESS, the server shall generate a default response with the Status field set
|
|
1194
|
+
* to the evaluated error status.
|
|
1195
|
+
*
|
|
1196
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.5
|
|
869
1197
|
*/
|
|
870
1198
|
clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
|
|
871
1199
|
}>, import("../tlv/TlvObject.js").TypeFromFields<{
|
|
@@ -876,13 +1204,13 @@ export declare namespace IcdManagement {
|
|
|
876
1204
|
* network (e.g. running on a phone which is leaving the home) can (and should) remove its subscriptions and
|
|
877
1205
|
* send this UnregisterClient command before leaving to prevent the burden on the ICD of an absent client.
|
|
878
1206
|
*
|
|
879
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1207
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3
|
|
880
1208
|
*/
|
|
881
1209
|
readonly unregisterClient: Command<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
882
1210
|
/**
|
|
883
1211
|
* This field shall provide the registered client node ID to remove from storage.
|
|
884
1212
|
*
|
|
885
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1213
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3.1
|
|
886
1214
|
*/
|
|
887
1215
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
888
1216
|
/**
|
|
@@ -894,7 +1222,61 @@ export declare namespace IcdManagement {
|
|
|
894
1222
|
* server cluster. The verification key shall be ignored by the server if it is provided by a client with
|
|
895
1223
|
* administrator permissions for the server cluster.
|
|
896
1224
|
*
|
|
897
|
-
*
|
|
1225
|
+
* ### Effect on Receipt
|
|
1226
|
+
*
|
|
1227
|
+
* On receipt of the UnregisterClient command, the server shall perform the following procedure:
|
|
1228
|
+
*
|
|
1229
|
+
* 1. The server shall check whether there is a entry stored on the device for the fabric with the same
|
|
1230
|
+
* CheckInNodeID.
|
|
1231
|
+
*
|
|
1232
|
+
* a. If there are no entries stored for the fabric, the status shall be NOT_FOUND. The server shall
|
|
1233
|
+
* continue from step 6.
|
|
1234
|
+
*
|
|
1235
|
+
* b. If there is an error when reading from storage, the status shall be FAILURE. The server shall continue
|
|
1236
|
+
* from step 6.
|
|
1237
|
+
*
|
|
1238
|
+
* c. If there is at least one entry stored on the server for the fabric, the server shall continue from
|
|
1239
|
+
* step 2.
|
|
1240
|
+
*
|
|
1241
|
+
* 2. The server shall verify if one of the entries for the fabric has the corresponding CheckInNodeID
|
|
1242
|
+
* received in the command.
|
|
1243
|
+
*
|
|
1244
|
+
* a. If no entries have the corresponding CheckInNodeID, the status shall be NOT_FOUND. The server shall
|
|
1245
|
+
* continue from step 6.
|
|
1246
|
+
*
|
|
1247
|
+
* b. If an entry has the corresponding CheckInNodeID, the server shall continue to step 3.
|
|
1248
|
+
*
|
|
1249
|
+
* 3. The server shall check whether the ISD of the command has administrator permissions for the server
|
|
1250
|
+
* cluster.
|
|
1251
|
+
*
|
|
1252
|
+
* a. If the ISD of the command has administrator privileges for the server cluster, the server shall
|
|
1253
|
+
* continue from step 5.
|
|
1254
|
+
*
|
|
1255
|
+
* b. If the ISD of the command does not have administrator privileges for the server cluster, the server
|
|
1256
|
+
* shall continue from step 4.
|
|
1257
|
+
*
|
|
1258
|
+
* 4. The server shall verify that the received verification key is equal to the key previously stored in the
|
|
1259
|
+
* list of registered clients with the matching CheckInNodeID.
|
|
1260
|
+
*
|
|
1261
|
+
* a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
|
|
1262
|
+
* continue from step 6.
|
|
1263
|
+
*
|
|
1264
|
+
* b. If the verification key is not equal to the Key value stored in the entry, the status shall be
|
|
1265
|
+
* FAILURE. The server shall continue from step 6.
|
|
1266
|
+
*
|
|
1267
|
+
* c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
|
|
1268
|
+
* step 5.
|
|
1269
|
+
*
|
|
1270
|
+
* 5. The server shall delete the entry with the matching CheckInNodeID from storage and will persist the
|
|
1271
|
+
* change.
|
|
1272
|
+
*
|
|
1273
|
+
* a. If the removal of the entry fails, the status shall be FAILURE. The server shall continue from step 6.
|
|
1274
|
+
*
|
|
1275
|
+
* b. If the removal succeeds, the status shall be SUCCESS and the server shall continue to step 6.
|
|
1276
|
+
*
|
|
1277
|
+
* 6. The server shall generate a response with the Status field set to the evaluated status.
|
|
1278
|
+
*
|
|
1279
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3.2
|
|
898
1280
|
*/
|
|
899
1281
|
verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
|
|
900
1282
|
}>, void, any>;
|
|
@@ -921,7 +1303,7 @@ export declare namespace IcdManagement {
|
|
|
921
1303
|
* bitmap at the same time. However, a device shall NOT set more than one bit which has a dependency on the
|
|
922
1304
|
* UserActiveModeTriggerInstruction attribute.
|
|
923
1305
|
*
|
|
924
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1306
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.7
|
|
925
1307
|
*/
|
|
926
1308
|
readonly userActiveModeTriggerHint: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
|
|
927
1309
|
/**
|
|
@@ -1002,13 +1384,13 @@ export declare namespace IcdManagement {
|
|
|
1002
1384
|
readonly component: {
|
|
1003
1385
|
readonly attributes: {
|
|
1004
1386
|
/**
|
|
1005
|
-
*
|
|
1387
|
+
* Indicates the operating mode of the ICD as specified in the OperatingModeEnum.
|
|
1006
1388
|
*
|
|
1007
1389
|
* • If the ICD is operating as a LIT ICD, OperatingMode shall be LIT.
|
|
1008
1390
|
*
|
|
1009
1391
|
* • If the ICD is operating as a SIT ICD, OperatingMode shall be SIT.
|
|
1010
1392
|
*
|
|
1011
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1393
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.9
|
|
1012
1394
|
*/
|
|
1013
1395
|
readonly operatingMode: Attribute<OperatingMode, any>;
|
|
1014
1396
|
};
|
|
@@ -1022,7 +1404,25 @@ export declare namespace IcdManagement {
|
|
|
1022
1404
|
* message exchanges during that period. The client may slightly overestimate the duration it wants the ICD
|
|
1023
1405
|
* to be active for, in order to account for network delays.
|
|
1024
1406
|
*
|
|
1025
|
-
*
|
|
1407
|
+
* ### Effect on Receipt
|
|
1408
|
+
*
|
|
1409
|
+
* When receiving a StayActiveRequest command, the server shall calculate the maximum PromisedActiveDuration
|
|
1410
|
+
* it can remain active as the greater of the following two values:
|
|
1411
|
+
*
|
|
1412
|
+
* • StayActiveDuration: Specified in the received command by the client.
|
|
1413
|
+
*
|
|
1414
|
+
* • Remaining Active Time: The server’s planned remaining active time based on the ActiveModeThreshold
|
|
1415
|
+
* and its internal resources and power budget.
|
|
1416
|
+
*
|
|
1417
|
+
* A server may replace StayActiveDuration with Minimum Active Duration in the above calculation.
|
|
1418
|
+
*
|
|
1419
|
+
* PromisedActiveDuration represents the guaranteed minimum time the server will remain active, taking into
|
|
1420
|
+
* account both the requested duration and the server’s capabilities.
|
|
1421
|
+
*
|
|
1422
|
+
* The ICD shall report the calculated PromisedActiveDuration in a StayActiveResponse message back to the
|
|
1423
|
+
* client.
|
|
1424
|
+
*
|
|
1425
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.4
|
|
1026
1426
|
*/
|
|
1027
1427
|
readonly stayActiveRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
1028
1428
|
stayActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
|
|
@@ -1031,10 +1431,12 @@ export declare namespace IcdManagement {
|
|
|
1031
1431
|
* This field shall provide the actual duration that the ICD server can stay active from the time it receives
|
|
1032
1432
|
* the StayActiveRequest command.
|
|
1033
1433
|
*
|
|
1434
|
+
* ### Minimum Value for PromisedActiveDuration
|
|
1435
|
+
*
|
|
1034
1436
|
* The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
|
|
1035
1437
|
* StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
|
|
1036
1438
|
*
|
|
1037
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1439
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
|
|
1038
1440
|
*/
|
|
1039
1441
|
promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
|
|
1040
1442
|
}>, any>;
|
|
@@ -1072,26 +1474,26 @@ export declare namespace IcdManagement {
|
|
|
1072
1474
|
* When this feature is supported, the device shall support all the associated commands and attributes to
|
|
1073
1475
|
* properly support the Check-In Protocol.
|
|
1074
1476
|
*
|
|
1075
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1477
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.1
|
|
1076
1478
|
*/
|
|
1077
1479
|
readonly checkInProtocolSupport: BitFlag;
|
|
1078
1480
|
/**
|
|
1079
1481
|
* This feature is supported if and only if the device has a user active mode trigger.
|
|
1080
1482
|
*
|
|
1081
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1483
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.2
|
|
1082
1484
|
*/
|
|
1083
1485
|
readonly userActiveModeTrigger: BitFlag;
|
|
1084
1486
|
/**
|
|
1085
1487
|
* This feature is supported if and only the device is a Long Idle Time ICD.
|
|
1086
1488
|
*
|
|
1087
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1489
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.3
|
|
1088
1490
|
*/
|
|
1089
1491
|
readonly longIdleTimeSupport: BitFlag;
|
|
1090
1492
|
/**
|
|
1091
1493
|
* This feature is supported if and only if the device can switch between SIT and LIT operating modes even
|
|
1092
1494
|
* if it has a valid registered client. See the dynamic SIT / LIT operating mode switching for more details.
|
|
1093
1495
|
*
|
|
1094
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1496
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.4
|
|
1095
1497
|
*/
|
|
1096
1498
|
readonly dynamicSitLitSupport: BitFlag;
|
|
1097
1499
|
};
|
|
@@ -1100,21 +1502,21 @@ export declare namespace IcdManagement {
|
|
|
1100
1502
|
* Indicates the maximum interval in seconds the server can stay in idle mode. The IdleModeDuration shall
|
|
1101
1503
|
* NOT be smaller than the ActiveModeDuration.
|
|
1102
1504
|
*
|
|
1103
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1505
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.1
|
|
1104
1506
|
*/
|
|
1105
1507
|
readonly idleModeDuration: FixedAttribute<number, any>;
|
|
1106
1508
|
/**
|
|
1107
1509
|
* Indicates the minimum interval in milliseconds the server typically will stay in active mode after
|
|
1108
1510
|
* initial transition out of idle mode. The ActiveModeDuration does not include the ActiveModeThreshold.
|
|
1109
1511
|
*
|
|
1110
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1512
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.2
|
|
1111
1513
|
*/
|
|
1112
1514
|
readonly activeModeDuration: FixedAttribute<number, any>;
|
|
1113
1515
|
/**
|
|
1114
1516
|
* Indicates the minimum amount of time in milliseconds the server typically will stay active after network
|
|
1115
1517
|
* activity when in active mode.
|
|
1116
1518
|
*
|
|
1117
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1519
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.3
|
|
1118
1520
|
*/
|
|
1119
1521
|
readonly activeModeThreshold: FixedAttribute<number, any>;
|
|
1120
1522
|
/**
|
|
@@ -1127,9 +1529,9 @@ export declare namespace IcdManagement {
|
|
|
1127
1529
|
* string shall consist solely of an encoding of N as a decimal unsigned integer using the ASCII digits 0-9,
|
|
1128
1530
|
* and without leading zeros.
|
|
1129
1531
|
*
|
|
1130
|
-
* For example, given UserActiveModeTriggerHint="
|
|
1131
|
-
* Button for N seconds". Therefore, a value of UserActiveModeTriggerInstruction="
|
|
1132
|
-
* is
|
|
1532
|
+
* For example, given UserActiveModeTriggerHint="1024", ResetButtonSeconds is set which indicates "Press
|
|
1533
|
+
* Reset Button for N seconds". Therefore, a value of UserActiveModeTriggerInstruction="6" would indicate
|
|
1534
|
+
* that N is 6 in that context.
|
|
1133
1535
|
*
|
|
1134
1536
|
* When CustomInstruction is set by the UserActiveModeTriggerHint attribute, indicating presence of a custom
|
|
1135
1537
|
* string, the ICD SHOULD perform localization (translation to user’s preferred language, as indicated in
|
|
@@ -1142,7 +1544,7 @@ export declare namespace IcdManagement {
|
|
|
1142
1544
|
* UserActiveModeTriggerInstruction attribute, the string shall consist of exactly 6 hexadecimal digits
|
|
1143
1545
|
* using the ASCII characters 0-F and encoding the RGB color value as used in HTML encodings.
|
|
1144
1546
|
*
|
|
1145
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1547
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.8
|
|
1146
1548
|
*/
|
|
1147
1549
|
readonly userActiveModeTriggerInstruction: OptionalFixedAttribute<string, any>;
|
|
1148
1550
|
};
|
|
@@ -1156,7 +1558,25 @@ export declare namespace IcdManagement {
|
|
|
1156
1558
|
* message exchanges during that period. The client may slightly overestimate the duration it wants the ICD
|
|
1157
1559
|
* to be active for, in order to account for network delays.
|
|
1158
1560
|
*
|
|
1159
|
-
*
|
|
1561
|
+
* ### Effect on Receipt
|
|
1562
|
+
*
|
|
1563
|
+
* When receiving a StayActiveRequest command, the server shall calculate the maximum PromisedActiveDuration
|
|
1564
|
+
* it can remain active as the greater of the following two values:
|
|
1565
|
+
*
|
|
1566
|
+
* • StayActiveDuration: Specified in the received command by the client.
|
|
1567
|
+
*
|
|
1568
|
+
* • Remaining Active Time: The server’s planned remaining active time based on the ActiveModeThreshold
|
|
1569
|
+
* and its internal resources and power budget.
|
|
1570
|
+
*
|
|
1571
|
+
* A server may replace StayActiveDuration with Minimum Active Duration in the above calculation.
|
|
1572
|
+
*
|
|
1573
|
+
* PromisedActiveDuration represents the guaranteed minimum time the server will remain active, taking into
|
|
1574
|
+
* account both the requested duration and the server’s capabilities.
|
|
1575
|
+
*
|
|
1576
|
+
* The ICD shall report the calculated PromisedActiveDuration in a StayActiveResponse message back to the
|
|
1577
|
+
* client.
|
|
1578
|
+
*
|
|
1579
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.4
|
|
1160
1580
|
*/
|
|
1161
1581
|
readonly stayActiveRequest: OptionalCommand<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
1162
1582
|
stayActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
|
|
@@ -1165,10 +1585,12 @@ export declare namespace IcdManagement {
|
|
|
1165
1585
|
* This field shall provide the actual duration that the ICD server can stay active from the time it receives
|
|
1166
1586
|
* the StayActiveRequest command.
|
|
1167
1587
|
*
|
|
1588
|
+
* ### Minimum Value for PromisedActiveDuration
|
|
1589
|
+
*
|
|
1168
1590
|
* The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
|
|
1169
1591
|
* StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
|
|
1170
1592
|
*
|
|
1171
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1593
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
|
|
1172
1594
|
*/
|
|
1173
1595
|
promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
|
|
1174
1596
|
}>, any>;
|
|
@@ -1189,14 +1611,14 @@ export declare namespace IcdManagement {
|
|
|
1189
1611
|
* fabric supported on the server, as indicated by the value of the SupportedFabrics attribute in the
|
|
1190
1612
|
* Operational Credentials cluster.
|
|
1191
1613
|
*
|
|
1192
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1614
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.4
|
|
1193
1615
|
*/
|
|
1194
1616
|
readonly registeredClients: FabricScopedAttribute<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
1195
1617
|
/**
|
|
1196
1618
|
* This field shall indicate the NodeID of the Node to which Check-In messages will be sent when the
|
|
1197
1619
|
* MonitoredSubject is not subscribed.
|
|
1198
1620
|
*
|
|
1199
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1621
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.1
|
|
1200
1622
|
*/
|
|
1201
1623
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
1202
1624
|
/**
|
|
@@ -1219,14 +1641,14 @@ export declare namespace IcdManagement {
|
|
|
1219
1641
|
* the server on the entry’s associated fabric bears the CASE Authenticated TAG value 0xAA12 and the version
|
|
1220
1642
|
* 0x0002 or higher within its NOC, then the entry matches.
|
|
1221
1643
|
*
|
|
1222
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1644
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.2
|
|
1223
1645
|
*/
|
|
1224
1646
|
monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
1225
1647
|
/**
|
|
1226
1648
|
* This field shall indicate the client’s type to inform the ICD of the availability for communication of the
|
|
1227
1649
|
* client.
|
|
1228
1650
|
*
|
|
1229
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1651
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.4
|
|
1230
1652
|
*/
|
|
1231
1653
|
clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
|
|
1232
1654
|
fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
|
|
@@ -1234,14 +1656,14 @@ export declare namespace IcdManagement {
|
|
|
1234
1656
|
/**
|
|
1235
1657
|
* This attribute returns the value of the ICD Counter.
|
|
1236
1658
|
*
|
|
1237
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1659
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.5
|
|
1238
1660
|
*/
|
|
1239
1661
|
readonly icdCounter: Attribute<number, any>;
|
|
1240
1662
|
/**
|
|
1241
1663
|
* Indicates the maximum number of entries that the server is able to store for each fabric in the
|
|
1242
1664
|
* RegisteredClients attribute.
|
|
1243
1665
|
*
|
|
1244
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1666
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.6
|
|
1245
1667
|
*/
|
|
1246
1668
|
readonly clientsSupportedPerFabric: FixedAttribute<number, any>;
|
|
1247
1669
|
/**
|
|
@@ -1250,7 +1672,7 @@ export declare namespace IcdManagement {
|
|
|
1250
1672
|
*
|
|
1251
1673
|
* If the MaximumCheckInBackoff is equal to the IdleModeDuration, it means the ICD does not back-off.
|
|
1252
1674
|
*
|
|
1253
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1675
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.10
|
|
1254
1676
|
*/
|
|
1255
1677
|
readonly maximumCheckInBackoff: FixedAttribute<number, any>;
|
|
1256
1678
|
};
|
|
@@ -1259,26 +1681,27 @@ export declare namespace IcdManagement {
|
|
|
1259
1681
|
* This command allows a client to register itself with the ICD to be notified when the device is available
|
|
1260
1682
|
* for communication.
|
|
1261
1683
|
*
|
|
1262
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1684
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1
|
|
1263
1685
|
*/
|
|
1264
1686
|
readonly registerClient: Command<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
1265
1687
|
/**
|
|
1266
1688
|
* This field shall provide the node ID to which a Check-In message will be sent if there are no active
|
|
1267
1689
|
* subscriptions matching MonitoredSubject.
|
|
1268
1690
|
*
|
|
1269
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1691
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.1
|
|
1270
1692
|
*/
|
|
1271
1693
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
1272
1694
|
/**
|
|
1273
1695
|
* This field shall provide the monitored subject ID.
|
|
1274
1696
|
*
|
|
1275
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1697
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.2
|
|
1276
1698
|
*/
|
|
1277
1699
|
monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
1278
1700
|
/**
|
|
1279
|
-
* This field shall
|
|
1701
|
+
* This field shall contain the ICDToken, a 128-bit symmetric key shared by the ICD and the ICD Client, used to
|
|
1702
|
+
* encrypt Check-In messages from this ICD to the MonitoredSubject.
|
|
1280
1703
|
*
|
|
1281
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1704
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.3
|
|
1282
1705
|
*/
|
|
1283
1706
|
key: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
|
|
1284
1707
|
/**
|
|
@@ -1289,13 +1712,68 @@ export declare namespace IcdManagement {
|
|
|
1289
1712
|
* provided by clients with administrator permissions for the server cluster. The verification key shall be
|
|
1290
1713
|
* ignored by the server if it is provided by a client with administrator permissions for the server cluster.
|
|
1291
1714
|
*
|
|
1292
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1715
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.4
|
|
1293
1716
|
*/
|
|
1294
1717
|
verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
|
|
1295
1718
|
/**
|
|
1296
1719
|
* This field shall provide the client type of the client registering.
|
|
1297
1720
|
*
|
|
1298
|
-
*
|
|
1721
|
+
* ### Effect on Receipt
|
|
1722
|
+
*
|
|
1723
|
+
* On receipt of the RegisterClient command, the server shall perform the following procedure:
|
|
1724
|
+
*
|
|
1725
|
+
* 1. The server verifies that an entry for the fabric is available in the server’s list of registered
|
|
1726
|
+
* clients.
|
|
1727
|
+
*
|
|
1728
|
+
* a. If one of the entries in storage for the fabric has the same CheckInNodeID as the received
|
|
1729
|
+
* CheckInNodeID, the server shall continue from step 2.
|
|
1730
|
+
*
|
|
1731
|
+
* b. If there is an available entry for the fabric, an entry is created for the fabric and the received
|
|
1732
|
+
* CheckInNodeID, MonitoredSubject, Key and ClientType are stored. The server shall continue from step 5.
|
|
1733
|
+
*
|
|
1734
|
+
* c. If there are no available entries for the fabric, the status shall be RESOURCE_EXHAUSTED and the
|
|
1735
|
+
* server shall continue from step 6.
|
|
1736
|
+
*
|
|
1737
|
+
* 2. The server shall verify the privileges of the command’s ISD.
|
|
1738
|
+
*
|
|
1739
|
+
* a. If the ISD of the command has administrator privileges for the server cluster, the server shall
|
|
1740
|
+
* continue from step 4.
|
|
1741
|
+
*
|
|
1742
|
+
* b. If the ISD of the command does not have administrator privileges for the server cluster, the server
|
|
1743
|
+
* shall continue from step 3.
|
|
1744
|
+
*
|
|
1745
|
+
* 3. The server shall verify that the received verification key is equal to the key previously stored in the
|
|
1746
|
+
* list of registered clients with the matching CheckInNodeID.
|
|
1747
|
+
*
|
|
1748
|
+
* a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
|
|
1749
|
+
* continue from step 6.
|
|
1750
|
+
*
|
|
1751
|
+
* b. If the verification key is not equal to the Key value stored in the entry, the status shall be
|
|
1752
|
+
* FAILURE. The server shall continue from step 6.
|
|
1753
|
+
*
|
|
1754
|
+
* c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
|
|
1755
|
+
* step 4.
|
|
1756
|
+
*
|
|
1757
|
+
* 4. The entry shall be updated with the received CheckInNodeID, MonitoredSubject, Key and ClientType.
|
|
1758
|
+
*
|
|
1759
|
+
* a. If the update fails, the status shall be FAILURE. The server shall continue from step 6.
|
|
1760
|
+
*
|
|
1761
|
+
* b. If the update succeeds, the server shall continue from step 5.
|
|
1762
|
+
*
|
|
1763
|
+
* 5. The server shall persist the client information.
|
|
1764
|
+
*
|
|
1765
|
+
* a. If the persistence fails, the status shall be FAILURE and the server shall continue from step 6.
|
|
1766
|
+
*
|
|
1767
|
+
* b. If the persistence succeeds, the status shall be SUCCESS and the server shall continue from step 6.
|
|
1768
|
+
*
|
|
1769
|
+
* 6. The server shall generate a response.
|
|
1770
|
+
*
|
|
1771
|
+
* a. If the status is SUCCESS, the server shall generate a RegisterClientResponse command.
|
|
1772
|
+
*
|
|
1773
|
+
* b. If the status is not SUCCESS, the server shall generate a default response with the Status field set
|
|
1774
|
+
* to the evaluated error status.
|
|
1775
|
+
*
|
|
1776
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.5
|
|
1299
1777
|
*/
|
|
1300
1778
|
clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
|
|
1301
1779
|
}>, import("../tlv/TlvObject.js").TypeFromFields<{
|
|
@@ -1306,13 +1784,13 @@ export declare namespace IcdManagement {
|
|
|
1306
1784
|
* network (e.g. running on a phone which is leaving the home) can (and should) remove its subscriptions and
|
|
1307
1785
|
* send this UnregisterClient command before leaving to prevent the burden on the ICD of an absent client.
|
|
1308
1786
|
*
|
|
1309
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1787
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3
|
|
1310
1788
|
*/
|
|
1311
1789
|
readonly unregisterClient: Command<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
1312
1790
|
/**
|
|
1313
1791
|
* This field shall provide the registered client node ID to remove from storage.
|
|
1314
1792
|
*
|
|
1315
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1793
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3.1
|
|
1316
1794
|
*/
|
|
1317
1795
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
1318
1796
|
/**
|
|
@@ -1324,7 +1802,61 @@ export declare namespace IcdManagement {
|
|
|
1324
1802
|
* server cluster. The verification key shall be ignored by the server if it is provided by a client with
|
|
1325
1803
|
* administrator permissions for the server cluster.
|
|
1326
1804
|
*
|
|
1327
|
-
*
|
|
1805
|
+
* ### Effect on Receipt
|
|
1806
|
+
*
|
|
1807
|
+
* On receipt of the UnregisterClient command, the server shall perform the following procedure:
|
|
1808
|
+
*
|
|
1809
|
+
* 1. The server shall check whether there is a entry stored on the device for the fabric with the same
|
|
1810
|
+
* CheckInNodeID.
|
|
1811
|
+
*
|
|
1812
|
+
* a. If there are no entries stored for the fabric, the status shall be NOT_FOUND. The server shall
|
|
1813
|
+
* continue from step 6.
|
|
1814
|
+
*
|
|
1815
|
+
* b. If there is an error when reading from storage, the status shall be FAILURE. The server shall continue
|
|
1816
|
+
* from step 6.
|
|
1817
|
+
*
|
|
1818
|
+
* c. If there is at least one entry stored on the server for the fabric, the server shall continue from
|
|
1819
|
+
* step 2.
|
|
1820
|
+
*
|
|
1821
|
+
* 2. The server shall verify if one of the entries for the fabric has the corresponding CheckInNodeID
|
|
1822
|
+
* received in the command.
|
|
1823
|
+
*
|
|
1824
|
+
* a. If no entries have the corresponding CheckInNodeID, the status shall be NOT_FOUND. The server shall
|
|
1825
|
+
* continue from step 6.
|
|
1826
|
+
*
|
|
1827
|
+
* b. If an entry has the corresponding CheckInNodeID, the server shall continue to step 3.
|
|
1828
|
+
*
|
|
1829
|
+
* 3. The server shall check whether the ISD of the command has administrator permissions for the server
|
|
1830
|
+
* cluster.
|
|
1831
|
+
*
|
|
1832
|
+
* a. If the ISD of the command has administrator privileges for the server cluster, the server shall
|
|
1833
|
+
* continue from step 5.
|
|
1834
|
+
*
|
|
1835
|
+
* b. If the ISD of the command does not have administrator privileges for the server cluster, the server
|
|
1836
|
+
* shall continue from step 4.
|
|
1837
|
+
*
|
|
1838
|
+
* 4. The server shall verify that the received verification key is equal to the key previously stored in the
|
|
1839
|
+
* list of registered clients with the matching CheckInNodeID.
|
|
1840
|
+
*
|
|
1841
|
+
* a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
|
|
1842
|
+
* continue from step 6.
|
|
1843
|
+
*
|
|
1844
|
+
* b. If the verification key is not equal to the Key value stored in the entry, the status shall be
|
|
1845
|
+
* FAILURE. The server shall continue from step 6.
|
|
1846
|
+
*
|
|
1847
|
+
* c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
|
|
1848
|
+
* step 5.
|
|
1849
|
+
*
|
|
1850
|
+
* 5. The server shall delete the entry with the matching CheckInNodeID from storage and will persist the
|
|
1851
|
+
* change.
|
|
1852
|
+
*
|
|
1853
|
+
* a. If the removal of the entry fails, the status shall be FAILURE. The server shall continue from step 6.
|
|
1854
|
+
*
|
|
1855
|
+
* b. If the removal succeeds, the status shall be SUCCESS and the server shall continue to step 6.
|
|
1856
|
+
*
|
|
1857
|
+
* 6. The server shall generate a response with the Status field set to the evaluated status.
|
|
1858
|
+
*
|
|
1859
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3.2
|
|
1328
1860
|
*/
|
|
1329
1861
|
verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
|
|
1330
1862
|
}>, void, any>;
|
|
@@ -1351,7 +1883,7 @@ export declare namespace IcdManagement {
|
|
|
1351
1883
|
* bitmap at the same time. However, a device shall NOT set more than one bit which has a dependency on the
|
|
1352
1884
|
* UserActiveModeTriggerInstruction attribute.
|
|
1353
1885
|
*
|
|
1354
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1886
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.7
|
|
1355
1887
|
*/
|
|
1356
1888
|
readonly userActiveModeTriggerHint: FixedAttribute<import("../schema/BitmapSchema.js").TypeFromPartialBitSchema<{
|
|
1357
1889
|
/**
|
|
@@ -1432,13 +1964,13 @@ export declare namespace IcdManagement {
|
|
|
1432
1964
|
readonly component: {
|
|
1433
1965
|
readonly attributes: {
|
|
1434
1966
|
/**
|
|
1435
|
-
*
|
|
1967
|
+
* Indicates the operating mode of the ICD as specified in the OperatingModeEnum.
|
|
1436
1968
|
*
|
|
1437
1969
|
* • If the ICD is operating as a LIT ICD, OperatingMode shall be LIT.
|
|
1438
1970
|
*
|
|
1439
1971
|
* • If the ICD is operating as a SIT ICD, OperatingMode shall be SIT.
|
|
1440
1972
|
*
|
|
1441
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
1973
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.6.9
|
|
1442
1974
|
*/
|
|
1443
1975
|
readonly operatingMode: Attribute<OperatingMode, any>;
|
|
1444
1976
|
};
|
|
@@ -1452,7 +1984,25 @@ export declare namespace IcdManagement {
|
|
|
1452
1984
|
* message exchanges during that period. The client may slightly overestimate the duration it wants the ICD
|
|
1453
1985
|
* to be active for, in order to account for network delays.
|
|
1454
1986
|
*
|
|
1455
|
-
*
|
|
1987
|
+
* ### Effect on Receipt
|
|
1988
|
+
*
|
|
1989
|
+
* When receiving a StayActiveRequest command, the server shall calculate the maximum PromisedActiveDuration
|
|
1990
|
+
* it can remain active as the greater of the following two values:
|
|
1991
|
+
*
|
|
1992
|
+
* • StayActiveDuration: Specified in the received command by the client.
|
|
1993
|
+
*
|
|
1994
|
+
* • Remaining Active Time: The server’s planned remaining active time based on the ActiveModeThreshold
|
|
1995
|
+
* and its internal resources and power budget.
|
|
1996
|
+
*
|
|
1997
|
+
* A server may replace StayActiveDuration with Minimum Active Duration in the above calculation.
|
|
1998
|
+
*
|
|
1999
|
+
* PromisedActiveDuration represents the guaranteed minimum time the server will remain active, taking into
|
|
2000
|
+
* account both the requested duration and the server’s capabilities.
|
|
2001
|
+
*
|
|
2002
|
+
* The ICD shall report the calculated PromisedActiveDuration in a StayActiveResponse message back to the
|
|
2003
|
+
* client.
|
|
2004
|
+
*
|
|
2005
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.4
|
|
1456
2006
|
*/
|
|
1457
2007
|
readonly stayActiveRequest: Command<import("../tlv/TlvObject.js").TypeFromFields<{
|
|
1458
2008
|
stayActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
|
|
@@ -1461,10 +2011,12 @@ export declare namespace IcdManagement {
|
|
|
1461
2011
|
* This field shall provide the actual duration that the ICD server can stay active from the time it receives
|
|
1462
2012
|
* the StayActiveRequest command.
|
|
1463
2013
|
*
|
|
2014
|
+
* ### Minimum Value for PromisedActiveDuration
|
|
2015
|
+
*
|
|
1464
2016
|
* The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
|
|
1465
2017
|
* StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
|
|
1466
2018
|
*
|
|
1467
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2019
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
|
|
1468
2020
|
*/
|
|
1469
2021
|
promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
|
|
1470
2022
|
}>, any>;
|
|
@@ -1499,7 +2051,7 @@ export declare namespace IcdManagement {
|
|
|
1499
2051
|
* IcdManagementCluster supports optional features that you can enable with the IcdManagementCluster.with() factory
|
|
1500
2052
|
* method.
|
|
1501
2053
|
*
|
|
1502
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2054
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16
|
|
1503
2055
|
*/
|
|
1504
2056
|
interface Cluster extends Identity<typeof ClusterInstance> {
|
|
1505
2057
|
}
|
|
@@ -1516,26 +2068,26 @@ export declare namespace IcdManagement {
|
|
|
1516
2068
|
* When this feature is supported, the device shall support all the associated commands and attributes to
|
|
1517
2069
|
* properly support the Check-In Protocol.
|
|
1518
2070
|
*
|
|
1519
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2071
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.1
|
|
1520
2072
|
*/
|
|
1521
2073
|
readonly checkInProtocolSupport: BitFlag;
|
|
1522
2074
|
/**
|
|
1523
2075
|
* This feature is supported if and only if the device has a user active mode trigger.
|
|
1524
2076
|
*
|
|
1525
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2077
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.2
|
|
1526
2078
|
*/
|
|
1527
2079
|
readonly userActiveModeTrigger: BitFlag;
|
|
1528
2080
|
/**
|
|
1529
2081
|
* This feature is supported if and only the device is a Long Idle Time ICD.
|
|
1530
2082
|
*
|
|
1531
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2083
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.3
|
|
1532
2084
|
*/
|
|
1533
2085
|
readonly longIdleTimeSupport: BitFlag;
|
|
1534
2086
|
/**
|
|
1535
2087
|
* This feature is supported if and only if the device can switch between SIT and LIT operating modes even
|
|
1536
2088
|
* if it has a valid registered client. See the dynamic SIT / LIT operating mode switching for more details.
|
|
1537
2089
|
*
|
|
1538
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2090
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.4
|
|
1539
2091
|
*/
|
|
1540
2092
|
readonly dynamicSitLitSupport: BitFlag;
|
|
1541
2093
|
};
|
|
@@ -1545,7 +2097,7 @@ export declare namespace IcdManagement {
|
|
|
1545
2097
|
* This field shall indicate the NodeID of the Node to which Check-In messages will be sent when the
|
|
1546
2098
|
* MonitoredSubject is not subscribed.
|
|
1547
2099
|
*
|
|
1548
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2100
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.1
|
|
1549
2101
|
*/
|
|
1550
2102
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
1551
2103
|
/**
|
|
@@ -1568,14 +2120,14 @@ export declare namespace IcdManagement {
|
|
|
1568
2120
|
* the server on the entry’s associated fabric bears the CASE Authenticated TAG value 0xAA12 and the version
|
|
1569
2121
|
* 0x0002 or higher within its NOC, then the entry matches.
|
|
1570
2122
|
*
|
|
1571
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2123
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.2
|
|
1572
2124
|
*/
|
|
1573
2125
|
monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
1574
2126
|
/**
|
|
1575
2127
|
* This field shall indicate the client’s type to inform the ICD of the availability for communication of the
|
|
1576
2128
|
* client.
|
|
1577
2129
|
*
|
|
1578
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2130
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.5.3.4
|
|
1579
2131
|
*/
|
|
1580
2132
|
clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
|
|
1581
2133
|
fabricIndex: import("../tlv/TlvObject.js").FieldType<import("../datatype/FabricIndex.js").FabricIndex>;
|
|
@@ -1706,26 +2258,26 @@ export declare namespace IcdManagement {
|
|
|
1706
2258
|
* When this feature is supported, the device shall support all the associated commands and attributes to
|
|
1707
2259
|
* properly support the Check-In Protocol.
|
|
1708
2260
|
*
|
|
1709
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2261
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.1
|
|
1710
2262
|
*/
|
|
1711
2263
|
readonly checkInProtocolSupport: BitFlag;
|
|
1712
2264
|
/**
|
|
1713
2265
|
* This feature is supported if and only if the device has a user active mode trigger.
|
|
1714
2266
|
*
|
|
1715
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2267
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.2
|
|
1716
2268
|
*/
|
|
1717
2269
|
readonly userActiveModeTrigger: BitFlag;
|
|
1718
2270
|
/**
|
|
1719
2271
|
* This feature is supported if and only the device is a Long Idle Time ICD.
|
|
1720
2272
|
*
|
|
1721
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2273
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.3
|
|
1722
2274
|
*/
|
|
1723
2275
|
readonly longIdleTimeSupport: BitFlag;
|
|
1724
2276
|
/**
|
|
1725
2277
|
* This feature is supported if and only if the device can switch between SIT and LIT operating modes even
|
|
1726
2278
|
* if it has a valid registered client. See the dynamic SIT / LIT operating mode switching for more details.
|
|
1727
2279
|
*
|
|
1728
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2280
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.4.4
|
|
1729
2281
|
*/
|
|
1730
2282
|
readonly dynamicSitLitSupport: BitFlag;
|
|
1731
2283
|
}>, never>;
|
|
@@ -1739,19 +2291,20 @@ export declare namespace IcdManagement {
|
|
|
1739
2291
|
* This field shall provide the node ID to which a Check-In message will be sent if there are no active
|
|
1740
2292
|
* subscriptions matching MonitoredSubject.
|
|
1741
2293
|
*
|
|
1742
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2294
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.1
|
|
1743
2295
|
*/
|
|
1744
2296
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
1745
2297
|
/**
|
|
1746
2298
|
* This field shall provide the monitored subject ID.
|
|
1747
2299
|
*
|
|
1748
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2300
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.2
|
|
1749
2301
|
*/
|
|
1750
2302
|
monitoredSubject: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
1751
2303
|
/**
|
|
1752
|
-
* This field shall
|
|
2304
|
+
* This field shall contain the ICDToken, a 128-bit symmetric key shared by the ICD and the ICD Client, used to
|
|
2305
|
+
* encrypt Check-In messages from this ICD to the MonitoredSubject.
|
|
1753
2306
|
*
|
|
1754
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2307
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.3
|
|
1755
2308
|
*/
|
|
1756
2309
|
key: import("../tlv/TlvObject.js").FieldType<AllowSharedBufferSource>;
|
|
1757
2310
|
/**
|
|
@@ -1762,13 +2315,68 @@ export declare namespace IcdManagement {
|
|
|
1762
2315
|
* provided by clients with administrator permissions for the server cluster. The verification key shall be
|
|
1763
2316
|
* ignored by the server if it is provided by a client with administrator permissions for the server cluster.
|
|
1764
2317
|
*
|
|
1765
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2318
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.4
|
|
1766
2319
|
*/
|
|
1767
2320
|
verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
|
|
1768
2321
|
/**
|
|
1769
2322
|
* This field shall provide the client type of the client registering.
|
|
1770
2323
|
*
|
|
1771
|
-
*
|
|
2324
|
+
* ### Effect on Receipt
|
|
2325
|
+
*
|
|
2326
|
+
* On receipt of the RegisterClient command, the server shall perform the following procedure:
|
|
2327
|
+
*
|
|
2328
|
+
* 1. The server verifies that an entry for the fabric is available in the server’s list of registered
|
|
2329
|
+
* clients.
|
|
2330
|
+
*
|
|
2331
|
+
* a. If one of the entries in storage for the fabric has the same CheckInNodeID as the received
|
|
2332
|
+
* CheckInNodeID, the server shall continue from step 2.
|
|
2333
|
+
*
|
|
2334
|
+
* b. If there is an available entry for the fabric, an entry is created for the fabric and the received
|
|
2335
|
+
* CheckInNodeID, MonitoredSubject, Key and ClientType are stored. The server shall continue from step 5.
|
|
2336
|
+
*
|
|
2337
|
+
* c. If there are no available entries for the fabric, the status shall be RESOURCE_EXHAUSTED and the
|
|
2338
|
+
* server shall continue from step 6.
|
|
2339
|
+
*
|
|
2340
|
+
* 2. The server shall verify the privileges of the command’s ISD.
|
|
2341
|
+
*
|
|
2342
|
+
* a. If the ISD of the command has administrator privileges for the server cluster, the server shall
|
|
2343
|
+
* continue from step 4.
|
|
2344
|
+
*
|
|
2345
|
+
* b. If the ISD of the command does not have administrator privileges for the server cluster, the server
|
|
2346
|
+
* shall continue from step 3.
|
|
2347
|
+
*
|
|
2348
|
+
* 3. The server shall verify that the received verification key is equal to the key previously stored in the
|
|
2349
|
+
* list of registered clients with the matching CheckInNodeID.
|
|
2350
|
+
*
|
|
2351
|
+
* a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
|
|
2352
|
+
* continue from step 6.
|
|
2353
|
+
*
|
|
2354
|
+
* b. If the verification key is not equal to the Key value stored in the entry, the status shall be
|
|
2355
|
+
* FAILURE. The server shall continue from step 6.
|
|
2356
|
+
*
|
|
2357
|
+
* c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
|
|
2358
|
+
* step 4.
|
|
2359
|
+
*
|
|
2360
|
+
* 4. The entry shall be updated with the received CheckInNodeID, MonitoredSubject, Key and ClientType.
|
|
2361
|
+
*
|
|
2362
|
+
* a. If the update fails, the status shall be FAILURE. The server shall continue from step 6.
|
|
2363
|
+
*
|
|
2364
|
+
* b. If the update succeeds, the server shall continue from step 5.
|
|
2365
|
+
*
|
|
2366
|
+
* 5. The server shall persist the client information.
|
|
2367
|
+
*
|
|
2368
|
+
* a. If the persistence fails, the status shall be FAILURE and the server shall continue from step 6.
|
|
2369
|
+
*
|
|
2370
|
+
* b. If the persistence succeeds, the status shall be SUCCESS and the server shall continue from step 6.
|
|
2371
|
+
*
|
|
2372
|
+
* 6. The server shall generate a response.
|
|
2373
|
+
*
|
|
2374
|
+
* a. If the status is SUCCESS, the server shall generate a RegisterClientResponse command.
|
|
2375
|
+
*
|
|
2376
|
+
* b. If the status is not SUCCESS, the server shall generate a default response with the Status field set
|
|
2377
|
+
* to the evaluated error status.
|
|
2378
|
+
*
|
|
2379
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.1.5
|
|
1772
2380
|
*/
|
|
1773
2381
|
clientType: import("../tlv/TlvObject.js").FieldType<ClientType>;
|
|
1774
2382
|
}>, import("../tlv/TlvObject.js").TypeFromFields<{
|
|
@@ -1785,7 +2393,7 @@ export declare namespace IcdManagement {
|
|
|
1785
2393
|
/**
|
|
1786
2394
|
* This field shall provide the registered client node ID to remove from storage.
|
|
1787
2395
|
*
|
|
1788
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2396
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3.1
|
|
1789
2397
|
*/
|
|
1790
2398
|
checkInNodeId: import("../tlv/TlvObject.js").FieldType<import("../datatype/NodeId.js").NodeId>;
|
|
1791
2399
|
/**
|
|
@@ -1797,7 +2405,61 @@ export declare namespace IcdManagement {
|
|
|
1797
2405
|
* server cluster. The verification key shall be ignored by the server if it is provided by a client with
|
|
1798
2406
|
* administrator permissions for the server cluster.
|
|
1799
2407
|
*
|
|
1800
|
-
*
|
|
2408
|
+
* ### Effect on Receipt
|
|
2409
|
+
*
|
|
2410
|
+
* On receipt of the UnregisterClient command, the server shall perform the following procedure:
|
|
2411
|
+
*
|
|
2412
|
+
* 1. The server shall check whether there is a entry stored on the device for the fabric with the same
|
|
2413
|
+
* CheckInNodeID.
|
|
2414
|
+
*
|
|
2415
|
+
* a. If there are no entries stored for the fabric, the status shall be NOT_FOUND. The server shall
|
|
2416
|
+
* continue from step 6.
|
|
2417
|
+
*
|
|
2418
|
+
* b. If there is an error when reading from storage, the status shall be FAILURE. The server shall continue
|
|
2419
|
+
* from step 6.
|
|
2420
|
+
*
|
|
2421
|
+
* c. If there is at least one entry stored on the server for the fabric, the server shall continue from
|
|
2422
|
+
* step 2.
|
|
2423
|
+
*
|
|
2424
|
+
* 2. The server shall verify if one of the entries for the fabric has the corresponding CheckInNodeID
|
|
2425
|
+
* received in the command.
|
|
2426
|
+
*
|
|
2427
|
+
* a. If no entries have the corresponding CheckInNodeID, the status shall be NOT_FOUND. The server shall
|
|
2428
|
+
* continue from step 6.
|
|
2429
|
+
*
|
|
2430
|
+
* b. If an entry has the corresponding CheckInNodeID, the server shall continue to step 3.
|
|
2431
|
+
*
|
|
2432
|
+
* 3. The server shall check whether the ISD of the command has administrator permissions for the server
|
|
2433
|
+
* cluster.
|
|
2434
|
+
*
|
|
2435
|
+
* a. If the ISD of the command has administrator privileges for the server cluster, the server shall
|
|
2436
|
+
* continue from step 5.
|
|
2437
|
+
*
|
|
2438
|
+
* b. If the ISD of the command does not have administrator privileges for the server cluster, the server
|
|
2439
|
+
* shall continue from step 4.
|
|
2440
|
+
*
|
|
2441
|
+
* 4. The server shall verify that the received verification key is equal to the key previously stored in the
|
|
2442
|
+
* list of registered clients with the matching CheckInNodeID.
|
|
2443
|
+
*
|
|
2444
|
+
* a. If the verification key does not have a valid value, the status shall be FAILURE. the server shall
|
|
2445
|
+
* continue from step 6.
|
|
2446
|
+
*
|
|
2447
|
+
* b. If the verification key is not equal to the Key value stored in the entry, the status shall be
|
|
2448
|
+
* FAILURE. The server shall continue from step 6.
|
|
2449
|
+
*
|
|
2450
|
+
* c. If the verification key is equal to the Key value stored in the entry, the server shall continue from
|
|
2451
|
+
* step 5.
|
|
2452
|
+
*
|
|
2453
|
+
* 5. The server shall delete the entry with the matching CheckInNodeID from storage and will persist the
|
|
2454
|
+
* change.
|
|
2455
|
+
*
|
|
2456
|
+
* a. If the removal of the entry fails, the status shall be FAILURE. The server shall continue from step 6.
|
|
2457
|
+
*
|
|
2458
|
+
* b. If the removal succeeds, the status shall be SUCCESS and the server shall continue to step 6.
|
|
2459
|
+
*
|
|
2460
|
+
* 6. The server shall generate a response with the Status field set to the evaluated status.
|
|
2461
|
+
*
|
|
2462
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.3.2
|
|
1801
2463
|
*/
|
|
1802
2464
|
verificationKey: import("../tlv/TlvObject.js").OptionalFieldType<AllowSharedBufferSource>;
|
|
1803
2465
|
}>, void, any> & {
|
|
@@ -1815,10 +2477,12 @@ export declare namespace IcdManagement {
|
|
|
1815
2477
|
* This field shall provide the actual duration that the ICD server can stay active from the time it receives
|
|
1816
2478
|
* the StayActiveRequest command.
|
|
1817
2479
|
*
|
|
2480
|
+
* ### Minimum Value for PromisedActiveDuration
|
|
2481
|
+
*
|
|
1818
2482
|
* The minimum value of the PromisedActiveDuration field shall be equal to either 30000 milliseconds or
|
|
1819
2483
|
* StayActiveDuration (from the received StayActiveRequest command), whichever is smaller.
|
|
1820
2484
|
*
|
|
1821
|
-
* @see {@link MatterSpecification.v141.Core} § 9.
|
|
2485
|
+
* @see {@link MatterSpecification.v141.Core} § 9.16.7.5.1
|
|
1822
2486
|
*/
|
|
1823
2487
|
promisedActiveDuration: import("../tlv/TlvObject.js").FieldType<number>;
|
|
1824
2488
|
}>, any> & {
|