@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
|
@@ -7,78 +7,163 @@
|
|
|
7
7
|
/*** THIS FILE IS GENERATED, DO NOT EDIT ***/
|
|
8
8
|
|
|
9
9
|
import { MutableCluster } from "../cluster/mutation/MutableCluster.js";
|
|
10
|
-
import {
|
|
10
|
+
import { Attribute, Command, TlvNoResponse } from "../cluster/Cluster.js";
|
|
11
11
|
import { TlvByteString, TlvString } from "../tlv/TlvString.js";
|
|
12
12
|
import { AccessLevel } from "#model";
|
|
13
13
|
import { TlvNodeId } from "../datatype/NodeId.js";
|
|
14
14
|
import { TlvVendorId } from "../datatype/VendorId.js";
|
|
15
15
|
import { TlvArray } from "../tlv/TlvArray.js";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import { AccessControl } from "./access-control.js";
|
|
20
|
-
import { TlvFabricIndex } from "../datatype/FabricIndex.js";
|
|
16
|
+
import { TlvField, TlvOptionalField, TlvObject } from "../tlv/TlvObject.js";
|
|
17
|
+
import { TlvUInt16, TlvEnum, TlvEpochUs, TlvUInt64, TlvEpochS } from "../tlv/TlvNumber.js";
|
|
18
|
+
import { TlvNullable } from "../tlv/TlvNullable.js";
|
|
21
19
|
import { TypeFromSchema } from "../tlv/TlvSchema.js";
|
|
20
|
+
import { Status } from "../globals/Status.js";
|
|
22
21
|
import { TlvEndpointNumber } from "../datatype/EndpointNumber.js";
|
|
23
22
|
import { TlvGroupId } from "../datatype/GroupId.js";
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
23
|
+
import { TlvClusterId } from "../datatype/ClusterId.js";
|
|
24
|
+
import { TlvSubjectId } from "../datatype/SubjectId.js";
|
|
25
|
+
import { TlvDeviceTypeId } from "../datatype/DeviceTypeId.js";
|
|
26
26
|
import { Identity } from "#general";
|
|
27
27
|
import { ClusterRegistry } from "../cluster/ClusterRegistry.js";
|
|
28
28
|
|
|
29
29
|
export namespace JointFabricDatastore {
|
|
30
|
+
/**
|
|
31
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.16
|
|
32
|
+
*/
|
|
33
|
+
export enum DatastoreGroupKeySecurityPolicy {
|
|
34
|
+
/**
|
|
35
|
+
* Message counter synchronization using trust-first
|
|
36
|
+
*/
|
|
37
|
+
TrustFirst = 0
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.17
|
|
42
|
+
*/
|
|
43
|
+
export enum DatastoreGroupKeyMulticastPolicy {
|
|
44
|
+
/**
|
|
45
|
+
* Indicates filtering of multicast messages for a specific Group ID
|
|
46
|
+
*/
|
|
47
|
+
PerGroupId = 0,
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Indicates not filtering of multicast messages
|
|
51
|
+
*/
|
|
52
|
+
AllNodes = 1
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.18
|
|
57
|
+
*/
|
|
58
|
+
export const TlvDatastoreGroupKeySet = TlvObject({
|
|
59
|
+
groupKeySetId: TlvField(0, TlvUInt16),
|
|
60
|
+
groupKeySecurityPolicy: TlvField(1, TlvEnum<DatastoreGroupKeySecurityPolicy>()),
|
|
61
|
+
epochKey0: TlvField(2, TlvNullable(TlvByteString.bound({ length: 16 }))),
|
|
62
|
+
epochStartTime0: TlvField(3, TlvNullable(TlvEpochUs)),
|
|
63
|
+
epochKey1: TlvField(4, TlvNullable(TlvByteString.bound({ length: 16 }))),
|
|
64
|
+
epochStartTime1: TlvField(5, TlvNullable(TlvEpochUs)),
|
|
65
|
+
epochKey2: TlvField(6, TlvNullable(TlvByteString.bound({ length: 16 }))),
|
|
66
|
+
epochStartTime2: TlvField(7, TlvNullable(TlvEpochUs)),
|
|
67
|
+
groupKeyMulticastPolicy: TlvOptionalField(8, TlvEnum<DatastoreGroupKeyMulticastPolicy>())
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.18
|
|
72
|
+
*/
|
|
73
|
+
export interface DatastoreGroupKeySet extends TypeFromSchema<typeof TlvDatastoreGroupKeySet> {}
|
|
74
|
+
|
|
30
75
|
/**
|
|
31
76
|
* @see {@link MatterSpecification.v141.Core} § 11.24.5.4
|
|
32
77
|
*/
|
|
78
|
+
export enum DatastoreAccessControlEntryPrivilege {
|
|
79
|
+
/**
|
|
80
|
+
* Can read and observe all (except Access Control Cluster)
|
|
81
|
+
*/
|
|
82
|
+
View = 1,
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* @deprecated
|
|
86
|
+
*/
|
|
87
|
+
ProxyView = 2,
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* View privileges, and can perform the primary function of this Node (except Access Control Cluster)
|
|
91
|
+
*/
|
|
92
|
+
Operate = 3,
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Operate privileges, and can modify persistent configuration of this Node (except Access Control Cluster)
|
|
96
|
+
*/
|
|
97
|
+
Manage = 4,
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Manage privileges, and can observe and modify the Access Control Cluster
|
|
101
|
+
*/
|
|
102
|
+
Administer = 5
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.5
|
|
107
|
+
*/
|
|
33
108
|
export const TlvDatastoreGroupInformationEntry = TlvObject({
|
|
34
109
|
/**
|
|
35
110
|
* The unique identifier for the group.
|
|
36
111
|
*
|
|
37
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
112
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.5.1
|
|
38
113
|
*/
|
|
39
114
|
groupId: TlvField(0, TlvUInt64),
|
|
40
115
|
|
|
41
116
|
/**
|
|
42
117
|
* The friendly name for the group.
|
|
43
118
|
*
|
|
44
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
119
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.5.2
|
|
45
120
|
*/
|
|
46
121
|
friendlyName: TlvField(1, TlvString.bound({ maxLength: 32 })),
|
|
47
122
|
|
|
48
123
|
/**
|
|
49
124
|
* The unique identifier for the group key set.
|
|
50
125
|
*
|
|
51
|
-
*
|
|
126
|
+
* This value may be null when multicast communication is not used for the group. When GroupPermission is Admin
|
|
127
|
+
* or Manage, this value shall be null.
|
|
128
|
+
*
|
|
129
|
+
* A value of 0 is not allowed since this value is reserved for IPK and the group entry for this value is not
|
|
130
|
+
* managed by the Datastore.
|
|
131
|
+
*
|
|
132
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.5.3
|
|
52
133
|
*/
|
|
53
|
-
groupKeySetId: TlvField(2, TlvUInt16.bound({ min: 1 })),
|
|
134
|
+
groupKeySetId: TlvField(2, TlvNullable(TlvUInt16.bound({ min: 1, max: 65534 }))),
|
|
54
135
|
|
|
55
136
|
/**
|
|
56
137
|
* CAT value for this group. This is used for control of individual members of a group (non-broadcast commands).
|
|
57
138
|
*
|
|
58
|
-
*
|
|
139
|
+
* Allowable values include the range 0x0000 to 0xEFFF, and the Administrator CAT and Anchor CAT values.
|
|
140
|
+
*
|
|
141
|
+
* This value may be null when unicast communication is not used for the group.
|
|
142
|
+
*
|
|
143
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.5.4
|
|
59
144
|
*/
|
|
60
|
-
groupCat: TlvField(3, TlvUInt16
|
|
145
|
+
groupCat: TlvField(3, TlvNullable(TlvUInt16)),
|
|
61
146
|
|
|
62
147
|
/**
|
|
63
148
|
* Current version number for this CAT.
|
|
64
149
|
*
|
|
65
|
-
*
|
|
150
|
+
* This value shall be null when GroupCAT value is null.
|
|
151
|
+
*
|
|
152
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.5.5
|
|
66
153
|
*/
|
|
67
|
-
groupCatVersion: TlvField(4, TlvUInt16.bound({ min: 1 })),
|
|
154
|
+
groupCatVersion: TlvField(4, TlvNullable(TlvUInt16.bound({ min: 1, max: 65534 }))),
|
|
68
155
|
|
|
69
156
|
/**
|
|
70
157
|
* The permission level associated with ACL entries for this group. There should be only one Administrator group
|
|
71
158
|
* per fabric, and at most one Manage group per Ecosystem (Vendor Entry).
|
|
72
159
|
*
|
|
73
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
160
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.5.6
|
|
74
161
|
*/
|
|
75
|
-
groupPermission: TlvField(5, TlvEnum<
|
|
76
|
-
|
|
77
|
-
fabricIndex: TlvField(254, TlvFabricIndex)
|
|
162
|
+
groupPermission: TlvField(5, TlvEnum<DatastoreAccessControlEntryPrivilege>())
|
|
78
163
|
});
|
|
79
164
|
|
|
80
165
|
/**
|
|
81
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
166
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.5
|
|
82
167
|
*/
|
|
83
168
|
export interface DatastoreGroupInformationEntry extends TypeFromSchema<typeof TlvDatastoreGroupInformationEntry> {}
|
|
84
169
|
|
|
@@ -99,7 +184,12 @@ export namespace JointFabricDatastore {
|
|
|
99
184
|
/**
|
|
100
185
|
* Target device delete operation is pending
|
|
101
186
|
*/
|
|
102
|
-
DeletePending = 2
|
|
187
|
+
DeletePending = 2,
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Target device operation has failed
|
|
191
|
+
*/
|
|
192
|
+
CommitFailed = 3
|
|
103
193
|
}
|
|
104
194
|
|
|
105
195
|
/**
|
|
@@ -120,7 +210,13 @@ export namespace JointFabricDatastore {
|
|
|
120
210
|
*/
|
|
121
211
|
updateTimestamp: TlvField(1, TlvEpochS),
|
|
122
212
|
|
|
123
|
-
|
|
213
|
+
/**
|
|
214
|
+
* This field shall contain the StatusCode of the last failed operation where the State field is set to
|
|
215
|
+
* CommitFailure.
|
|
216
|
+
*
|
|
217
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.2.3
|
|
218
|
+
*/
|
|
219
|
+
failureCode: TlvField(2, TlvEnum<Status>())
|
|
124
220
|
});
|
|
125
221
|
|
|
126
222
|
/**
|
|
@@ -129,369 +225,824 @@ export namespace JointFabricDatastore {
|
|
|
129
225
|
export interface DatastoreStatusEntry extends TypeFromSchema<typeof TlvDatastoreStatusEntry> {}
|
|
130
226
|
|
|
131
227
|
/**
|
|
132
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
228
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.14
|
|
133
229
|
*/
|
|
134
|
-
export const
|
|
135
|
-
|
|
230
|
+
export const TlvDatastoreNodeInformationEntry = TlvObject({
|
|
231
|
+
/**
|
|
232
|
+
* The unique identifier for the node.
|
|
233
|
+
*
|
|
234
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.14.1
|
|
235
|
+
*/
|
|
236
|
+
nodeId: TlvField(1, TlvNodeId),
|
|
136
237
|
|
|
137
238
|
/**
|
|
138
|
-
*
|
|
239
|
+
* Friendly name for this node which is not propagated to nodes.
|
|
139
240
|
*
|
|
140
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
241
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.14.2
|
|
141
242
|
*/
|
|
142
|
-
|
|
243
|
+
friendlyName: TlvField(2, TlvString.bound({ maxLength: 32 })),
|
|
143
244
|
|
|
144
|
-
|
|
245
|
+
/**
|
|
246
|
+
* Set to Pending prior to completing commissioning, set to Committed after commissioning complete is
|
|
247
|
+
* successful, or set to CommitFailed if commissioning failed with the FailureCode Field set to the error.
|
|
248
|
+
*
|
|
249
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.14.3
|
|
250
|
+
*/
|
|
251
|
+
commissioningStatusEntry: TlvField(3, TlvDatastoreStatusEntry)
|
|
145
252
|
});
|
|
146
253
|
|
|
147
254
|
/**
|
|
148
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
255
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.14
|
|
149
256
|
*/
|
|
150
|
-
export interface
|
|
257
|
+
export interface DatastoreNodeInformationEntry extends TypeFromSchema<typeof TlvDatastoreNodeInformationEntry> {}
|
|
151
258
|
|
|
152
259
|
/**
|
|
153
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
260
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.15
|
|
154
261
|
*/
|
|
155
|
-
export const
|
|
262
|
+
export const TlvDatastoreAdministratorInformationEntry = TlvObject({
|
|
156
263
|
/**
|
|
157
|
-
* The unique identifier for the
|
|
264
|
+
* The unique identifier for the node.
|
|
158
265
|
*
|
|
159
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
266
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.15.1
|
|
160
267
|
*/
|
|
161
|
-
|
|
268
|
+
nodeId: TlvField(1, TlvNodeId),
|
|
162
269
|
|
|
163
270
|
/**
|
|
164
|
-
*
|
|
271
|
+
* Friendly name for this node which is not propagated to nodes.
|
|
165
272
|
*
|
|
166
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
273
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.15.2
|
|
167
274
|
*/
|
|
168
|
-
|
|
275
|
+
friendlyName: TlvField(2, TlvString.bound({ maxLength: 32 })),
|
|
169
276
|
|
|
170
277
|
/**
|
|
171
|
-
*
|
|
278
|
+
* The Vendor ID for the node.
|
|
172
279
|
*
|
|
173
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
280
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.15.3
|
|
174
281
|
*/
|
|
175
|
-
|
|
282
|
+
vendorId: TlvField(3, TlvVendorId),
|
|
176
283
|
|
|
177
|
-
|
|
284
|
+
/**
|
|
285
|
+
* The ICAC used to issue the NOC.
|
|
286
|
+
*
|
|
287
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.15.4
|
|
288
|
+
*/
|
|
289
|
+
icac: TlvField(4, TlvByteString.bound({ maxLength: 400 }))
|
|
178
290
|
});
|
|
179
291
|
|
|
180
292
|
/**
|
|
181
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
293
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.15
|
|
182
294
|
*/
|
|
183
|
-
export interface
|
|
295
|
+
export interface DatastoreAdministratorInformationEntry extends TypeFromSchema<typeof TlvDatastoreAdministratorInformationEntry> {}
|
|
184
296
|
|
|
185
297
|
/**
|
|
186
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
298
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.8
|
|
187
299
|
*/
|
|
188
|
-
export const
|
|
300
|
+
export const TlvDatastoreEndpointGroupIdEntry = TlvObject({
|
|
189
301
|
/**
|
|
190
|
-
* The unique identifier for the
|
|
302
|
+
* The unique identifier for the node.
|
|
191
303
|
*
|
|
192
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
304
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.8.1
|
|
193
305
|
*/
|
|
194
|
-
|
|
306
|
+
nodeId: TlvField(0, TlvNodeId),
|
|
195
307
|
|
|
196
308
|
/**
|
|
197
|
-
*
|
|
309
|
+
* The unique identifier for the endpoint.
|
|
198
310
|
*
|
|
199
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
311
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.8.2
|
|
312
|
+
*/
|
|
313
|
+
endpointId: TlvField(1, TlvEndpointNumber),
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* The unique identifier for the group.
|
|
317
|
+
*
|
|
318
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.8.3
|
|
200
319
|
*/
|
|
201
|
-
|
|
320
|
+
groupId: TlvField(2, TlvGroupId),
|
|
202
321
|
|
|
203
|
-
|
|
322
|
+
/**
|
|
323
|
+
* Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
|
|
324
|
+
*
|
|
325
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.8.4
|
|
326
|
+
*/
|
|
327
|
+
statusEntry: TlvField(3, TlvDatastoreStatusEntry)
|
|
204
328
|
});
|
|
205
329
|
|
|
206
330
|
/**
|
|
207
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
331
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.8
|
|
208
332
|
*/
|
|
209
|
-
export interface
|
|
333
|
+
export interface DatastoreEndpointGroupIdEntry extends TypeFromSchema<typeof TlvDatastoreEndpointGroupIdEntry> {}
|
|
210
334
|
|
|
211
335
|
/**
|
|
212
|
-
*
|
|
336
|
+
* The DatastoreBindingTargetStruct represents a Binding on a specific Node (identified by the
|
|
337
|
+
* DatastoreEndpointBindingEntryStruct) which is managed by the Datastore. Only bindings on a specific Node that are
|
|
338
|
+
* fabric-scoped to the Joint Fabric are managed by the Datastore. As a result, references to nodes and groups are
|
|
339
|
+
* specific to the Joint Fabric.
|
|
340
|
+
*
|
|
341
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.6
|
|
213
342
|
*/
|
|
214
|
-
export const
|
|
343
|
+
export const TlvDatastoreBindingTarget = TlvObject({
|
|
215
344
|
/**
|
|
216
|
-
*
|
|
345
|
+
* This field is the binding’s remote target node ID. If the Endpoint field is present, this field shall be
|
|
346
|
+
* present.
|
|
217
347
|
*
|
|
218
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
348
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.6.1
|
|
219
349
|
*/
|
|
220
|
-
|
|
350
|
+
node: TlvOptionalField(1, TlvNodeId),
|
|
221
351
|
|
|
222
352
|
/**
|
|
223
|
-
*
|
|
353
|
+
* This field is the binding’s target group ID that represents remote endpoints. If the Endpoint field is
|
|
354
|
+
* present, this field shall NOT be present.
|
|
224
355
|
*
|
|
225
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
356
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.6.2
|
|
226
357
|
*/
|
|
227
|
-
|
|
358
|
+
group: TlvOptionalField(2, TlvGroupId),
|
|
228
359
|
|
|
229
360
|
/**
|
|
230
|
-
*
|
|
361
|
+
* This field is the binding’s remote endpoint that the local endpoint is bound to. If the Group field is
|
|
362
|
+
* present, this field shall NOT be present.
|
|
231
363
|
*
|
|
232
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
364
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.6.3
|
|
233
365
|
*/
|
|
234
|
-
|
|
366
|
+
endpoint: TlvOptionalField(3, TlvEndpointNumber),
|
|
235
367
|
|
|
236
|
-
|
|
368
|
+
/**
|
|
369
|
+
* This field is the binding’s cluster ID (client & server) on the local and target endpoint(s). If this field
|
|
370
|
+
* is present, the client cluster shall also exist on this endpoint (with this Binding cluster). If this field
|
|
371
|
+
* is present, the target shall be this cluster on the target endpoint(s).
|
|
372
|
+
*
|
|
373
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.6.4
|
|
374
|
+
*/
|
|
375
|
+
cluster: TlvOptionalField(4, TlvClusterId)
|
|
237
376
|
});
|
|
238
377
|
|
|
239
378
|
/**
|
|
240
|
-
*
|
|
379
|
+
* The DatastoreBindingTargetStruct represents a Binding on a specific Node (identified by the
|
|
380
|
+
* DatastoreEndpointBindingEntryStruct) which is managed by the Datastore. Only bindings on a specific Node that are
|
|
381
|
+
* fabric-scoped to the Joint Fabric are managed by the Datastore. As a result, references to nodes and groups are
|
|
382
|
+
* specific to the Joint Fabric.
|
|
383
|
+
*
|
|
384
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.6
|
|
241
385
|
*/
|
|
242
|
-
export interface
|
|
386
|
+
export interface DatastoreBindingTarget extends TypeFromSchema<typeof TlvDatastoreBindingTarget> {}
|
|
243
387
|
|
|
244
388
|
/**
|
|
245
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
389
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.7
|
|
246
390
|
*/
|
|
247
|
-
export const
|
|
391
|
+
export const TlvDatastoreEndpointBindingEntry = TlvObject({
|
|
248
392
|
/**
|
|
249
|
-
* The unique identifier for the
|
|
393
|
+
* The unique identifier for the node.
|
|
250
394
|
*
|
|
251
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
395
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.7.1
|
|
252
396
|
*/
|
|
253
|
-
|
|
397
|
+
nodeId: TlvField(0, TlvNodeId),
|
|
254
398
|
|
|
255
399
|
/**
|
|
256
|
-
* The unique identifier for the
|
|
400
|
+
* The unique identifier for the endpoint.
|
|
257
401
|
*
|
|
258
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
402
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.7.2
|
|
259
403
|
*/
|
|
260
|
-
|
|
404
|
+
endpointId: TlvField(1, TlvEndpointNumber),
|
|
261
405
|
|
|
262
406
|
/**
|
|
263
|
-
*
|
|
264
|
-
*
|
|
265
|
-
* Entry.
|
|
407
|
+
* The unique identifier for the entry in the Datastore’s EndpointBindingList attribute, which is a list of
|
|
408
|
+
* DatastoreEndpointBindingEntryStruct.
|
|
266
409
|
*
|
|
267
|
-
*
|
|
410
|
+
* This field is used to uniquely identify an entry in the EndpointBindingList attribute for the purpose of
|
|
411
|
+
* deletion (RemoveBindingFromEndpointForNode Command).
|
|
412
|
+
*
|
|
413
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.7.3
|
|
268
414
|
*/
|
|
269
|
-
|
|
415
|
+
listId: TlvField(2, TlvUInt16),
|
|
270
416
|
|
|
271
417
|
/**
|
|
272
|
-
*
|
|
418
|
+
* The binding target structure.
|
|
273
419
|
*
|
|
274
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
420
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.7.4
|
|
275
421
|
*/
|
|
276
|
-
|
|
422
|
+
binding: TlvField(3, TlvDatastoreBindingTarget),
|
|
277
423
|
|
|
278
424
|
/**
|
|
279
|
-
*
|
|
280
|
-
* follow the pending→committed workflow with current state reflected in the Status Entry.
|
|
425
|
+
* Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
|
|
281
426
|
*
|
|
282
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
427
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.7.5
|
|
283
428
|
*/
|
|
284
|
-
|
|
429
|
+
statusEntry: TlvField(4, TlvDatastoreStatusEntry)
|
|
430
|
+
});
|
|
431
|
+
|
|
432
|
+
/**
|
|
433
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.7
|
|
434
|
+
*/
|
|
435
|
+
export interface DatastoreEndpointBindingEntry extends TypeFromSchema<typeof TlvDatastoreEndpointBindingEntry> {}
|
|
285
436
|
|
|
437
|
+
/**
|
|
438
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.3
|
|
439
|
+
*/
|
|
440
|
+
export const TlvDatastoreNodeKeySetEntry = TlvObject({
|
|
286
441
|
/**
|
|
287
|
-
*
|
|
288
|
-
* pending→committed workflow with current state reflected in the Status Entry.
|
|
442
|
+
* The unique identifier for the node.
|
|
289
443
|
*
|
|
290
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
444
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.3.1
|
|
291
445
|
*/
|
|
292
|
-
|
|
446
|
+
nodeId: TlvField(0, TlvNodeId),
|
|
447
|
+
|
|
448
|
+
groupKeySetId: TlvField(1, TlvUInt16),
|
|
293
449
|
|
|
294
|
-
|
|
450
|
+
/**
|
|
451
|
+
* Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
|
|
452
|
+
*
|
|
453
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.3.3
|
|
454
|
+
*/
|
|
455
|
+
statusEntry: TlvField(2, TlvDatastoreStatusEntry)
|
|
295
456
|
});
|
|
296
457
|
|
|
297
458
|
/**
|
|
298
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
459
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.3
|
|
299
460
|
*/
|
|
300
|
-
export interface
|
|
461
|
+
export interface DatastoreNodeKeySetEntry extends TypeFromSchema<typeof TlvDatastoreNodeKeySetEntry> {}
|
|
301
462
|
|
|
302
463
|
/**
|
|
303
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
464
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.10
|
|
304
465
|
*/
|
|
305
|
-
export
|
|
466
|
+
export enum DatastoreAccessControlEntryAuthMode {
|
|
306
467
|
/**
|
|
307
|
-
*
|
|
308
|
-
*
|
|
309
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.8.1
|
|
468
|
+
* Passcode authenticated session
|
|
310
469
|
*/
|
|
311
|
-
|
|
470
|
+
Pase = 1,
|
|
312
471
|
|
|
313
472
|
/**
|
|
314
|
-
*
|
|
315
|
-
*
|
|
316
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.8.2
|
|
473
|
+
* Certificate authenticated session
|
|
317
474
|
*/
|
|
318
|
-
|
|
475
|
+
Case = 2,
|
|
319
476
|
|
|
320
477
|
/**
|
|
321
|
-
*
|
|
322
|
-
* successful.
|
|
323
|
-
*
|
|
324
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.8.3
|
|
478
|
+
* Group authenticated session
|
|
325
479
|
*/
|
|
326
|
-
|
|
480
|
+
Group = 3
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
/**
|
|
484
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.11
|
|
485
|
+
*/
|
|
486
|
+
export const TlvDatastoreAccessControlTarget = TlvObject({
|
|
487
|
+
cluster: TlvField(0, TlvNullable(TlvClusterId)),
|
|
488
|
+
endpoint: TlvField(1, TlvNullable(TlvEndpointNumber)),
|
|
489
|
+
deviceType: TlvField(2, TlvNullable(TlvDeviceTypeId))
|
|
490
|
+
});
|
|
491
|
+
|
|
492
|
+
/**
|
|
493
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.11
|
|
494
|
+
*/
|
|
495
|
+
export interface DatastoreAccessControlTarget extends TypeFromSchema<typeof TlvDatastoreAccessControlTarget> {}
|
|
496
|
+
|
|
497
|
+
/**
|
|
498
|
+
* The DatastoreAccessControlEntryStruct represents an ACL on a specific Node (identified by the
|
|
499
|
+
* DatastoreACLEntryStruct) which is managed by the Datastore. Only ACLs on a specific Node that are fabric-scoped
|
|
500
|
+
* to the Joint Fabric are managed by the Datastore. As a result, references to nodes and groups are specific to the
|
|
501
|
+
* Joint Fabric.
|
|
502
|
+
*
|
|
503
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.12
|
|
504
|
+
*/
|
|
505
|
+
export const TlvDatastoreAccessControlEntry = TlvObject({
|
|
506
|
+
privilege: TlvField(1, TlvEnum<DatastoreAccessControlEntryPrivilege>()),
|
|
507
|
+
authMode: TlvField(2, TlvEnum<DatastoreAccessControlEntryAuthMode>()),
|
|
508
|
+
subjects: TlvField(3, TlvNullable(TlvArray(TlvSubjectId))),
|
|
509
|
+
targets: TlvField(4, TlvNullable(TlvArray(TlvDatastoreAccessControlTarget)))
|
|
510
|
+
});
|
|
511
|
+
|
|
512
|
+
/**
|
|
513
|
+
* The DatastoreAccessControlEntryStruct represents an ACL on a specific Node (identified by the
|
|
514
|
+
* DatastoreACLEntryStruct) which is managed by the Datastore. Only ACLs on a specific Node that are fabric-scoped
|
|
515
|
+
* to the Joint Fabric are managed by the Datastore. As a result, references to nodes and groups are specific to the
|
|
516
|
+
* Joint Fabric.
|
|
517
|
+
*
|
|
518
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.12
|
|
519
|
+
*/
|
|
520
|
+
export interface DatastoreAccessControlEntry extends TypeFromSchema<typeof TlvDatastoreAccessControlEntry> {}
|
|
327
521
|
|
|
522
|
+
/**
|
|
523
|
+
* The DatastoreACLEntryStruct is a holder for an ACL (DatastoreAccessControlEntryStruct) on a specific Node which
|
|
524
|
+
* is managed by the Datastore. Only ACLs on a specific Node that are fabric-scoped to the Joint Fabric are managed
|
|
525
|
+
* by the Datastore. As a result, references to nodes and groups are specific to the Joint Fabric.
|
|
526
|
+
*
|
|
527
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.13
|
|
528
|
+
*/
|
|
529
|
+
export const TlvDatastoreAclEntry = TlvObject({
|
|
328
530
|
/**
|
|
329
|
-
*
|
|
330
|
-
* pending→committed workflow with current state reflected in the Status Entry for the corresponding entry in
|
|
331
|
-
* the list.
|
|
531
|
+
* The unique identifier for the node.
|
|
332
532
|
*
|
|
333
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
533
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.13.1
|
|
334
534
|
*/
|
|
335
|
-
|
|
535
|
+
nodeId: TlvField(0, TlvNodeId),
|
|
336
536
|
|
|
337
537
|
/**
|
|
338
|
-
*
|
|
339
|
-
* Information Entry will be determined from the ACL List. Any changes to ACL List (add/remove entry) must
|
|
340
|
-
* follow the pending→committed workflow with current state reflected in the Status Entry for the corresponding
|
|
341
|
-
* entry in the list.
|
|
538
|
+
* The unique identifier for the ACL entry in the Datastore’s list of DatastoreACLEntry.
|
|
342
539
|
*
|
|
343
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
540
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.13.2
|
|
344
541
|
*/
|
|
345
|
-
|
|
542
|
+
listId: TlvField(1, TlvUInt16),
|
|
346
543
|
|
|
347
544
|
/**
|
|
348
|
-
* The
|
|
349
|
-
* pending→committed workflow with current state reflected in the Status Entry for the corresponding entry in
|
|
350
|
-
* the list.
|
|
545
|
+
* The Access Control Entry structure.
|
|
351
546
|
*
|
|
352
|
-
* @see {@link MatterSpecification.v141.Core} § 11.24.5.
|
|
547
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.13.3
|
|
353
548
|
*/
|
|
354
|
-
|
|
549
|
+
aclEntry: TlvField(2, TlvDatastoreAccessControlEntry),
|
|
355
550
|
|
|
356
|
-
|
|
551
|
+
/**
|
|
552
|
+
* Indicates whether entry in this list is pending, committed, delete-pending, or commit-failed.
|
|
553
|
+
*
|
|
554
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.13.4
|
|
555
|
+
*/
|
|
556
|
+
statusEntry: TlvField(3, TlvDatastoreStatusEntry)
|
|
357
557
|
});
|
|
358
558
|
|
|
359
559
|
/**
|
|
360
|
-
*
|
|
560
|
+
* The DatastoreACLEntryStruct is a holder for an ACL (DatastoreAccessControlEntryStruct) on a specific Node which
|
|
561
|
+
* is managed by the Datastore. Only ACLs on a specific Node that are fabric-scoped to the Joint Fabric are managed
|
|
562
|
+
* by the Datastore. As a result, references to nodes and groups are specific to the Joint Fabric.
|
|
563
|
+
*
|
|
564
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.5.13
|
|
361
565
|
*/
|
|
362
|
-
export interface
|
|
566
|
+
export interface DatastoreAclEntry extends TypeFromSchema<typeof TlvDatastoreAclEntry> {}
|
|
363
567
|
|
|
364
568
|
/**
|
|
569
|
+
* The DatastoreEndpointEntryStruct represents an Endpoint on a specific Node which is managed by the Datastore.
|
|
570
|
+
* Only Nodes on the Joint Fabric are managed by the Datastore. As a result, references to NodeID are specific to
|
|
571
|
+
* the Joint Fabric.
|
|
572
|
+
*
|
|
365
573
|
* @see {@link MatterSpecification.v141.Core} § 11.24.5.9
|
|
366
574
|
*/
|
|
367
|
-
export const
|
|
575
|
+
export const TlvDatastoreEndpointEntry = TlvObject({
|
|
368
576
|
/**
|
|
369
|
-
* The unique identifier for the
|
|
577
|
+
* The unique identifier for the endpoint.
|
|
370
578
|
*
|
|
371
579
|
* @see {@link MatterSpecification.v141.Core} § 11.24.5.9.1
|
|
372
580
|
*/
|
|
373
|
-
|
|
581
|
+
endpointId: TlvField(0, TlvEndpointNumber),
|
|
374
582
|
|
|
375
583
|
/**
|
|
376
|
-
*
|
|
584
|
+
* The unique identifier for the node.
|
|
377
585
|
*
|
|
378
586
|
* @see {@link MatterSpecification.v141.Core} § 11.24.5.9.2
|
|
379
587
|
*/
|
|
380
|
-
|
|
588
|
+
nodeId: TlvField(1, TlvNodeId),
|
|
381
589
|
|
|
382
590
|
/**
|
|
383
|
-
*
|
|
591
|
+
* Friendly name for this endpoint which is propagated to nodes. Any changes to Friendly Name or Group Id List
|
|
592
|
+
* (add/remove entry) must follow the pending→committed workflow with current state reflected in the Status
|
|
593
|
+
* Entry.
|
|
384
594
|
*
|
|
385
595
|
* @see {@link MatterSpecification.v141.Core} § 11.24.5.9.3
|
|
386
596
|
*/
|
|
387
|
-
|
|
597
|
+
friendlyName: TlvField(2, TlvString.bound({ maxLength: 32 })),
|
|
388
598
|
|
|
389
599
|
/**
|
|
390
|
-
*
|
|
600
|
+
* Indicates whether changes to Friendly Name are pending, committed, or commit-failed.
|
|
391
601
|
*
|
|
392
602
|
* @see {@link MatterSpecification.v141.Core} § 11.24.5.9.4
|
|
393
603
|
*/
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
fabricIndex: TlvField(254, TlvFabricIndex)
|
|
604
|
+
statusEntry: TlvField(3, TlvDatastoreStatusEntry)
|
|
397
605
|
});
|
|
398
606
|
|
|
399
607
|
/**
|
|
608
|
+
* The DatastoreEndpointEntryStruct represents an Endpoint on a specific Node which is managed by the Datastore.
|
|
609
|
+
* Only Nodes on the Joint Fabric are managed by the Datastore. As a result, references to NodeID are specific to
|
|
610
|
+
* the Joint Fabric.
|
|
611
|
+
*
|
|
400
612
|
* @see {@link MatterSpecification.v141.Core} § 11.24.5.9
|
|
401
613
|
*/
|
|
402
|
-
export interface
|
|
614
|
+
export interface DatastoreEndpointEntry extends TypeFromSchema<typeof TlvDatastoreEndpointEntry> {}
|
|
403
615
|
|
|
404
616
|
/**
|
|
405
|
-
*
|
|
617
|
+
* Input to the JointFabricDatastore addKeySet command
|
|
618
|
+
*
|
|
619
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.1
|
|
406
620
|
*/
|
|
407
|
-
export const
|
|
408
|
-
id: 0x752,
|
|
409
|
-
name: "JointFabricDatastore",
|
|
410
|
-
revision: 1,
|
|
621
|
+
export const TlvAddKeySetRequest = TlvObject({ groupKeySet: TlvField(0, TlvDatastoreGroupKeySet) });
|
|
411
622
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
*/
|
|
419
|
-
anchorRootCa: FabricScopedAttribute(
|
|
420
|
-
0x0,
|
|
421
|
-
TlvByteString,
|
|
422
|
-
{ readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
423
|
-
),
|
|
623
|
+
/**
|
|
624
|
+
* Input to the JointFabricDatastore addKeySet command
|
|
625
|
+
*
|
|
626
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.1
|
|
627
|
+
*/
|
|
628
|
+
export interface AddKeySetRequest extends TypeFromSchema<typeof TlvAddKeySetRequest> {}
|
|
424
629
|
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
630
|
+
/**
|
|
631
|
+
* Input to the JointFabricDatastore updateKeySet command
|
|
632
|
+
*
|
|
633
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.2
|
|
634
|
+
*/
|
|
635
|
+
export const TlvUpdateKeySetRequest = TlvObject({ groupKeySet: TlvField(0, TlvDatastoreGroupKeySet) });
|
|
636
|
+
|
|
637
|
+
/**
|
|
638
|
+
* Input to the JointFabricDatastore updateKeySet command
|
|
639
|
+
*
|
|
640
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.2
|
|
641
|
+
*/
|
|
642
|
+
export interface UpdateKeySetRequest extends TypeFromSchema<typeof TlvUpdateKeySetRequest> {}
|
|
643
|
+
|
|
644
|
+
/**
|
|
645
|
+
* Input to the JointFabricDatastore removeKeySet command
|
|
646
|
+
*
|
|
647
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.3
|
|
648
|
+
*/
|
|
649
|
+
export const TlvRemoveKeySetRequest = TlvObject({ groupKeySetId: TlvField(0, TlvUInt16) });
|
|
650
|
+
|
|
651
|
+
/**
|
|
652
|
+
* Input to the JointFabricDatastore removeKeySet command
|
|
653
|
+
*
|
|
654
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.3
|
|
655
|
+
*/
|
|
656
|
+
export interface RemoveKeySetRequest extends TypeFromSchema<typeof TlvRemoveKeySetRequest> {}
|
|
657
|
+
|
|
658
|
+
/**
|
|
659
|
+
* Input to the JointFabricDatastore addGroup command
|
|
660
|
+
*
|
|
661
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.4
|
|
662
|
+
*/
|
|
663
|
+
export const TlvAddGroupRequest = TlvObject({
|
|
664
|
+
groupId: TlvField(0, TlvGroupId),
|
|
665
|
+
friendlyName: TlvField(1, TlvString.bound({ maxLength: 32 })),
|
|
666
|
+
groupKeySetId: TlvField(2, TlvNullable(TlvUInt16.bound({ min: 1, max: 65534 }))),
|
|
667
|
+
groupCat: TlvField(3, TlvNullable(TlvUInt16)),
|
|
668
|
+
groupCatVersion: TlvField(4, TlvNullable(TlvUInt16.bound({ min: 1, max: 65534 }))),
|
|
669
|
+
groupPermission: TlvField(5, TlvEnum<DatastoreAccessControlEntryPrivilege>())
|
|
670
|
+
});
|
|
671
|
+
|
|
672
|
+
/**
|
|
673
|
+
* Input to the JointFabricDatastore addGroup command
|
|
674
|
+
*
|
|
675
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.4
|
|
676
|
+
*/
|
|
677
|
+
export interface AddGroupRequest extends TypeFromSchema<typeof TlvAddGroupRequest> {}
|
|
678
|
+
|
|
679
|
+
/**
|
|
680
|
+
* Input to the JointFabricDatastore updateGroup command
|
|
681
|
+
*
|
|
682
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.5
|
|
683
|
+
*/
|
|
684
|
+
export const TlvUpdateGroupRequest = TlvObject({
|
|
685
|
+
groupId: TlvField(0, TlvGroupId),
|
|
686
|
+
friendlyName: TlvField(1, TlvNullable(TlvString.bound({ maxLength: 32 }))),
|
|
687
|
+
groupKeySetId: TlvField(2, TlvNullable(TlvUInt16.bound({ min: 1 }))),
|
|
688
|
+
groupCat: TlvField(3, TlvNullable(TlvUInt16)),
|
|
689
|
+
groupCatVersion: TlvField(4, TlvNullable(TlvUInt16.bound({ min: 1 }))),
|
|
690
|
+
groupPermission: TlvField(5, TlvEnum<DatastoreAccessControlEntryPrivilege>())
|
|
691
|
+
});
|
|
692
|
+
|
|
693
|
+
/**
|
|
694
|
+
* Input to the JointFabricDatastore updateGroup command
|
|
695
|
+
*
|
|
696
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.5
|
|
697
|
+
*/
|
|
698
|
+
export interface UpdateGroupRequest extends TypeFromSchema<typeof TlvUpdateGroupRequest> {}
|
|
699
|
+
|
|
700
|
+
/**
|
|
701
|
+
* Input to the JointFabricDatastore removeGroup command
|
|
702
|
+
*
|
|
703
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.6
|
|
704
|
+
*/
|
|
705
|
+
export const TlvRemoveGroupRequest = TlvObject({ groupId: TlvField(0, TlvGroupId) });
|
|
706
|
+
|
|
707
|
+
/**
|
|
708
|
+
* Input to the JointFabricDatastore removeGroup command
|
|
709
|
+
*
|
|
710
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.6
|
|
711
|
+
*/
|
|
712
|
+
export interface RemoveGroupRequest extends TypeFromSchema<typeof TlvRemoveGroupRequest> {}
|
|
713
|
+
|
|
714
|
+
/**
|
|
715
|
+
* Input to the JointFabricDatastore addAdmin command
|
|
716
|
+
*
|
|
717
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.7
|
|
718
|
+
*/
|
|
719
|
+
export const TlvAddAdminRequest = TlvObject({
|
|
720
|
+
nodeId: TlvField(1, TlvNodeId),
|
|
721
|
+
friendlyName: TlvField(2, TlvString.bound({ maxLength: 32 })),
|
|
722
|
+
vendorId: TlvField(3, TlvVendorId),
|
|
723
|
+
icac: TlvField(4, TlvByteString.bound({ maxLength: 400 }))
|
|
724
|
+
});
|
|
725
|
+
|
|
726
|
+
/**
|
|
727
|
+
* Input to the JointFabricDatastore addAdmin command
|
|
728
|
+
*
|
|
729
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.7
|
|
730
|
+
*/
|
|
731
|
+
export interface AddAdminRequest extends TypeFromSchema<typeof TlvAddAdminRequest> {}
|
|
732
|
+
|
|
733
|
+
/**
|
|
734
|
+
* Input to the JointFabricDatastore updateAdmin command
|
|
735
|
+
*
|
|
736
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.8
|
|
737
|
+
*/
|
|
738
|
+
export const TlvUpdateAdminRequest = TlvObject({
|
|
739
|
+
nodeId: TlvField(0, TlvNullable(TlvNodeId)),
|
|
740
|
+
friendlyName: TlvField(1, TlvNullable(TlvString.bound({ maxLength: 32 }))),
|
|
741
|
+
icac: TlvField(2, TlvNullable(TlvByteString.bound({ maxLength: 400 })))
|
|
742
|
+
});
|
|
743
|
+
|
|
744
|
+
/**
|
|
745
|
+
* Input to the JointFabricDatastore updateAdmin command
|
|
746
|
+
*
|
|
747
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.8
|
|
748
|
+
*/
|
|
749
|
+
export interface UpdateAdminRequest extends TypeFromSchema<typeof TlvUpdateAdminRequest> {}
|
|
750
|
+
|
|
751
|
+
/**
|
|
752
|
+
* Input to the JointFabricDatastore removeAdmin command
|
|
753
|
+
*
|
|
754
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.9
|
|
755
|
+
*/
|
|
756
|
+
export const TlvRemoveAdminRequest = TlvObject({ nodeId: TlvField(0, TlvNodeId) });
|
|
757
|
+
|
|
758
|
+
/**
|
|
759
|
+
* Input to the JointFabricDatastore removeAdmin command
|
|
760
|
+
*
|
|
761
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.9
|
|
762
|
+
*/
|
|
763
|
+
export interface RemoveAdminRequest extends TypeFromSchema<typeof TlvRemoveAdminRequest> {}
|
|
764
|
+
|
|
765
|
+
/**
|
|
766
|
+
* Input to the JointFabricDatastore addPendingNode command
|
|
767
|
+
*
|
|
768
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.10
|
|
769
|
+
*/
|
|
770
|
+
export const TlvAddPendingNodeRequest = TlvObject({
|
|
771
|
+
nodeId: TlvField(0, TlvNodeId),
|
|
772
|
+
friendlyName: TlvField(1, TlvString.bound({ maxLength: 32 }))
|
|
773
|
+
});
|
|
774
|
+
|
|
775
|
+
/**
|
|
776
|
+
* Input to the JointFabricDatastore addPendingNode command
|
|
777
|
+
*
|
|
778
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.10
|
|
779
|
+
*/
|
|
780
|
+
export interface AddPendingNodeRequest extends TypeFromSchema<typeof TlvAddPendingNodeRequest> {}
|
|
781
|
+
|
|
782
|
+
/**
|
|
783
|
+
* Input to the JointFabricDatastore refreshNode command
|
|
784
|
+
*
|
|
785
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.11
|
|
786
|
+
*/
|
|
787
|
+
export const TlvRefreshNodeRequest = TlvObject({ nodeId: TlvField(0, TlvNodeId) });
|
|
788
|
+
|
|
789
|
+
/**
|
|
790
|
+
* Input to the JointFabricDatastore refreshNode command
|
|
791
|
+
*
|
|
792
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.11
|
|
793
|
+
*/
|
|
794
|
+
export interface RefreshNodeRequest extends TypeFromSchema<typeof TlvRefreshNodeRequest> {}
|
|
795
|
+
|
|
796
|
+
/**
|
|
797
|
+
* Input to the JointFabricDatastore updateNode command
|
|
798
|
+
*
|
|
799
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.12
|
|
800
|
+
*/
|
|
801
|
+
export const TlvUpdateNodeRequest = TlvObject({
|
|
802
|
+
nodeId: TlvField(0, TlvNodeId),
|
|
803
|
+
friendlyName: TlvField(1, TlvString.bound({ maxLength: 32 }))
|
|
804
|
+
});
|
|
805
|
+
|
|
806
|
+
/**
|
|
807
|
+
* Input to the JointFabricDatastore updateNode command
|
|
808
|
+
*
|
|
809
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.12
|
|
810
|
+
*/
|
|
811
|
+
export interface UpdateNodeRequest extends TypeFromSchema<typeof TlvUpdateNodeRequest> {}
|
|
812
|
+
|
|
813
|
+
/**
|
|
814
|
+
* Input to the JointFabricDatastore removeNode command
|
|
815
|
+
*
|
|
816
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.13
|
|
817
|
+
*/
|
|
818
|
+
export const TlvRemoveNodeRequest = TlvObject({ nodeId: TlvField(0, TlvNodeId) });
|
|
819
|
+
|
|
820
|
+
/**
|
|
821
|
+
* Input to the JointFabricDatastore removeNode command
|
|
822
|
+
*
|
|
823
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.13
|
|
824
|
+
*/
|
|
825
|
+
export interface RemoveNodeRequest extends TypeFromSchema<typeof TlvRemoveNodeRequest> {}
|
|
826
|
+
|
|
827
|
+
/**
|
|
828
|
+
* Input to the JointFabricDatastore updateEndpointForNode command
|
|
829
|
+
*
|
|
830
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.14
|
|
831
|
+
*/
|
|
832
|
+
export const TlvUpdateEndpointForNodeRequest = TlvObject({
|
|
833
|
+
endpointId: TlvField(0, TlvEndpointNumber),
|
|
834
|
+
nodeId: TlvField(1, TlvNodeId),
|
|
835
|
+
friendlyName: TlvField(2, TlvString.bound({ maxLength: 32 }))
|
|
836
|
+
});
|
|
837
|
+
|
|
838
|
+
/**
|
|
839
|
+
* Input to the JointFabricDatastore updateEndpointForNode command
|
|
840
|
+
*
|
|
841
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.14
|
|
842
|
+
*/
|
|
843
|
+
export interface UpdateEndpointForNodeRequest extends TypeFromSchema<typeof TlvUpdateEndpointForNodeRequest> {}
|
|
844
|
+
|
|
845
|
+
/**
|
|
846
|
+
* Input to the JointFabricDatastore addGroupIdToEndpointForNode command
|
|
847
|
+
*
|
|
848
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.15
|
|
849
|
+
*/
|
|
850
|
+
export const TlvAddGroupIdToEndpointForNodeRequest = TlvObject({
|
|
851
|
+
nodeId: TlvField(0, TlvNodeId),
|
|
852
|
+
endpointId: TlvField(1, TlvEndpointNumber),
|
|
853
|
+
groupId: TlvField(2, TlvGroupId)
|
|
854
|
+
});
|
|
855
|
+
|
|
856
|
+
/**
|
|
857
|
+
* Input to the JointFabricDatastore addGroupIdToEndpointForNode command
|
|
858
|
+
*
|
|
859
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.15
|
|
860
|
+
*/
|
|
861
|
+
export interface AddGroupIdToEndpointForNodeRequest extends TypeFromSchema<typeof TlvAddGroupIdToEndpointForNodeRequest> {}
|
|
862
|
+
|
|
863
|
+
/**
|
|
864
|
+
* Input to the JointFabricDatastore removeGroupIdFromEndpointForNode command
|
|
865
|
+
*
|
|
866
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.16
|
|
867
|
+
*/
|
|
868
|
+
export const TlvRemoveGroupIdFromEndpointForNodeRequest = TlvObject({
|
|
869
|
+
nodeId: TlvField(0, TlvNodeId),
|
|
870
|
+
endpointId: TlvField(1, TlvEndpointNumber),
|
|
871
|
+
groupId: TlvField(2, TlvGroupId)
|
|
872
|
+
});
|
|
873
|
+
|
|
874
|
+
/**
|
|
875
|
+
* Input to the JointFabricDatastore removeGroupIdFromEndpointForNode command
|
|
876
|
+
*
|
|
877
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.16
|
|
878
|
+
*/
|
|
879
|
+
export interface RemoveGroupIdFromEndpointForNodeRequest extends TypeFromSchema<typeof TlvRemoveGroupIdFromEndpointForNodeRequest> {}
|
|
880
|
+
|
|
881
|
+
/**
|
|
882
|
+
* Input to the JointFabricDatastore addBindingToEndpointForNode command
|
|
883
|
+
*
|
|
884
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.17
|
|
885
|
+
*/
|
|
886
|
+
export const TlvAddBindingToEndpointForNodeRequest = TlvObject({
|
|
887
|
+
nodeId: TlvField(0, TlvNodeId),
|
|
888
|
+
endpointId: TlvField(1, TlvEndpointNumber),
|
|
889
|
+
binding: TlvField(2, TlvDatastoreBindingTarget)
|
|
890
|
+
});
|
|
891
|
+
|
|
892
|
+
/**
|
|
893
|
+
* Input to the JointFabricDatastore addBindingToEndpointForNode command
|
|
894
|
+
*
|
|
895
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.17
|
|
896
|
+
*/
|
|
897
|
+
export interface AddBindingToEndpointForNodeRequest extends TypeFromSchema<typeof TlvAddBindingToEndpointForNodeRequest> {}
|
|
898
|
+
|
|
899
|
+
/**
|
|
900
|
+
* Input to the JointFabricDatastore removeBindingFromEndpointForNode command
|
|
901
|
+
*
|
|
902
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.18
|
|
903
|
+
*/
|
|
904
|
+
export const TlvRemoveBindingFromEndpointForNodeRequest = TlvObject({
|
|
905
|
+
listId: TlvField(0, TlvUInt16),
|
|
906
|
+
endpointId: TlvField(1, TlvEndpointNumber),
|
|
907
|
+
nodeId: TlvField(2, TlvNodeId)
|
|
908
|
+
});
|
|
909
|
+
|
|
910
|
+
/**
|
|
911
|
+
* Input to the JointFabricDatastore removeBindingFromEndpointForNode command
|
|
912
|
+
*
|
|
913
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.18
|
|
914
|
+
*/
|
|
915
|
+
export interface RemoveBindingFromEndpointForNodeRequest extends TypeFromSchema<typeof TlvRemoveBindingFromEndpointForNodeRequest> {}
|
|
916
|
+
|
|
917
|
+
/**
|
|
918
|
+
* Input to the JointFabricDatastore addAclToNode command
|
|
919
|
+
*
|
|
920
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.19
|
|
921
|
+
*/
|
|
922
|
+
export const TlvAddAclToNodeRequest = TlvObject({
|
|
923
|
+
nodeId: TlvField(0, TlvNodeId),
|
|
924
|
+
aclEntry: TlvField(1, TlvDatastoreAccessControlEntry)
|
|
925
|
+
});
|
|
926
|
+
|
|
927
|
+
/**
|
|
928
|
+
* Input to the JointFabricDatastore addAclToNode command
|
|
929
|
+
*
|
|
930
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.19
|
|
931
|
+
*/
|
|
932
|
+
export interface AddAclToNodeRequest extends TypeFromSchema<typeof TlvAddAclToNodeRequest> {}
|
|
933
|
+
|
|
934
|
+
/**
|
|
935
|
+
* Input to the JointFabricDatastore removeAclFromNode command
|
|
936
|
+
*
|
|
937
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.20
|
|
938
|
+
*/
|
|
939
|
+
export const TlvRemoveAclFromNodeRequest = TlvObject({
|
|
940
|
+
listId: TlvField(0, TlvUInt16),
|
|
941
|
+
nodeId: TlvField(1, TlvNodeId)
|
|
942
|
+
});
|
|
943
|
+
|
|
944
|
+
/**
|
|
945
|
+
* Input to the JointFabricDatastore removeAclFromNode command
|
|
946
|
+
*
|
|
947
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.20
|
|
948
|
+
*/
|
|
949
|
+
export interface RemoveAclFromNodeRequest extends TypeFromSchema<typeof TlvRemoveAclFromNodeRequest> {}
|
|
950
|
+
|
|
951
|
+
/**
|
|
952
|
+
* @see {@link Cluster}
|
|
953
|
+
*/
|
|
954
|
+
export const ClusterInstance = MutableCluster({
|
|
955
|
+
id: 0x752,
|
|
956
|
+
name: "JointFabricDatastore",
|
|
957
|
+
revision: 1,
|
|
958
|
+
|
|
959
|
+
attributes: {
|
|
960
|
+
/**
|
|
961
|
+
* This shall indicate the Anchor Root CA used to sign all NOC Issuers in the Joint Fabric for the accessing
|
|
962
|
+
* fabric. A null value indicates that the Joint Fabric is not yet formed.
|
|
963
|
+
*
|
|
964
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.6.1
|
|
965
|
+
*/
|
|
966
|
+
anchorRootCa: Attribute(
|
|
967
|
+
0x0,
|
|
968
|
+
TlvByteString,
|
|
969
|
+
{ readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
970
|
+
),
|
|
971
|
+
|
|
972
|
+
/**
|
|
973
|
+
* This shall indicate the Node identifier of the Joint Fabric Anchor Root CA for the accessing fabric.
|
|
974
|
+
*
|
|
975
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.6.2
|
|
976
|
+
*/
|
|
977
|
+
anchorNodeId: Attribute(
|
|
431
978
|
0x1,
|
|
432
979
|
TlvNodeId,
|
|
433
980
|
{ readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
434
981
|
),
|
|
435
982
|
|
|
436
983
|
/**
|
|
437
|
-
* This shall indicate the Vendor identifier of the Joint Fabric Anchor Root CA.
|
|
984
|
+
* This shall indicate the Vendor identifier of the Joint Fabric Anchor Root CA for the accessing fabric.
|
|
438
985
|
*
|
|
439
986
|
* @see {@link MatterSpecification.v141.Core} § 11.24.6.3
|
|
440
987
|
*/
|
|
441
|
-
anchorVendorId:
|
|
988
|
+
anchorVendorId: Attribute(
|
|
442
989
|
0x2,
|
|
443
990
|
TlvVendorId,
|
|
444
991
|
{ readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
445
992
|
),
|
|
446
993
|
|
|
447
994
|
/**
|
|
448
|
-
* Friendly name for
|
|
995
|
+
* Friendly name for the accessing fabric which can be propagated to nodes.
|
|
449
996
|
*
|
|
450
997
|
* @see {@link MatterSpecification.v141.Core} § 11.24.6.4
|
|
451
998
|
*/
|
|
452
|
-
friendlyName:
|
|
999
|
+
friendlyName: Attribute(
|
|
453
1000
|
0x3,
|
|
454
1001
|
TlvString.bound({ maxLength: 32 }),
|
|
455
1002
|
{ readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
456
1003
|
),
|
|
457
1004
|
|
|
458
1005
|
/**
|
|
459
|
-
* This shall indicate the list of
|
|
1006
|
+
* This shall indicate the list of DatastoreGroupKeySetStruct used in the Joint Fabric for the accessing
|
|
1007
|
+
* fabric.
|
|
460
1008
|
*
|
|
461
1009
|
* This attribute shall contain at least one entry, the IPK, which has GroupKeySetID of 0.
|
|
462
1010
|
*
|
|
463
1011
|
* @see {@link MatterSpecification.v141.Core} § 11.24.6.5
|
|
464
1012
|
*/
|
|
465
|
-
groupKeySetList:
|
|
1013
|
+
groupKeySetList: Attribute(
|
|
466
1014
|
0x4,
|
|
467
|
-
TlvArray(
|
|
1015
|
+
TlvArray(TlvDatastoreGroupKeySet),
|
|
468
1016
|
{ default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
469
1017
|
),
|
|
470
1018
|
|
|
471
1019
|
/**
|
|
472
|
-
* This shall indicate the list of groups in the Joint Fabric.
|
|
1020
|
+
* This shall indicate the list of groups in the Joint Fabric for the accessing fabric.
|
|
1021
|
+
*
|
|
1022
|
+
* This list must include, at a minimum, one group with GroupCAT value set to Administrator CAT and one
|
|
1023
|
+
* group with GroupCAT value set to Anchor CAT.
|
|
473
1024
|
*
|
|
474
1025
|
* @see {@link MatterSpecification.v141.Core} § 11.24.6.6
|
|
475
1026
|
*/
|
|
476
|
-
groupList:
|
|
1027
|
+
groupList: Attribute(
|
|
477
1028
|
0x5,
|
|
478
1029
|
TlvArray(TlvDatastoreGroupInformationEntry),
|
|
479
1030
|
{ default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
480
1031
|
),
|
|
481
1032
|
|
|
482
1033
|
/**
|
|
483
|
-
* This shall indicate the list of nodes in the Joint Fabric.
|
|
1034
|
+
* This shall indicate the list of nodes in the Joint Fabric for the accessing fabric.
|
|
484
1035
|
*
|
|
485
1036
|
* @see {@link MatterSpecification.v141.Core} § 11.24.6.7
|
|
486
1037
|
*/
|
|
487
|
-
nodeList:
|
|
1038
|
+
nodeList: Attribute(
|
|
488
1039
|
0x6,
|
|
489
1040
|
TlvArray(TlvDatastoreNodeInformationEntry),
|
|
490
1041
|
{ default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
491
1042
|
),
|
|
492
1043
|
|
|
493
1044
|
/**
|
|
494
|
-
* This shall indicate the list of administrators in the Joint Fabric.
|
|
1045
|
+
* This shall indicate the list of administrators in the Joint Fabric for the accessing fabric.
|
|
495
1046
|
*
|
|
496
1047
|
* Only one Administrator may serve as the Anchor Root CA and Anchor Fabric Administrator and shall have
|
|
497
1048
|
* index value 0. All other Joint Fabric Administrators shall be referenced at index 1 or greater.
|
|
@@ -500,14 +1051,14 @@ export namespace JointFabricDatastore {
|
|
|
500
1051
|
*
|
|
501
1052
|
* @see {@link MatterSpecification.v141.Core} § 11.24.6.8
|
|
502
1053
|
*/
|
|
503
|
-
adminList:
|
|
1054
|
+
adminList: Attribute(
|
|
504
1055
|
0x7,
|
|
505
1056
|
TlvArray(TlvDatastoreAdministratorInformationEntry),
|
|
506
1057
|
{ default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
507
1058
|
),
|
|
508
1059
|
|
|
509
1060
|
/**
|
|
510
|
-
* This shall indicate the current state of the Joint Fabric Datastore Cluster.
|
|
1061
|
+
* This shall indicate the current state of the Joint Fabric Datastore Cluster for the accessing fabric.
|
|
511
1062
|
*
|
|
512
1063
|
* The Committed status indicates the DataStore is ready for use. The Pending status indicates that the
|
|
513
1064
|
* DataStore is not yet ready for use. The DeletePending status indicates that the DataStore is in the
|
|
@@ -515,113 +1066,770 @@ export namespace JointFabricDatastore {
|
|
|
515
1066
|
*
|
|
516
1067
|
* @see {@link MatterSpecification.v141.Core} § 11.24.6.9
|
|
517
1068
|
*/
|
|
518
|
-
|
|
1069
|
+
status: Attribute(
|
|
519
1070
|
0x8,
|
|
520
|
-
|
|
1071
|
+
TlvDatastoreStatusEntry,
|
|
521
1072
|
{ readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
1073
|
+
),
|
|
1074
|
+
|
|
1075
|
+
/**
|
|
1076
|
+
* This shall indicate the group membership of endpoints in the accessing fabric.
|
|
1077
|
+
*
|
|
1078
|
+
* Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
|
|
1079
|
+
* reflected in the Status Entry.
|
|
1080
|
+
*
|
|
1081
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.6.10
|
|
1082
|
+
*/
|
|
1083
|
+
endpointGroupIdList: Attribute(
|
|
1084
|
+
0x9,
|
|
1085
|
+
TlvArray(TlvDatastoreEndpointGroupIdEntry),
|
|
1086
|
+
{ default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
1087
|
+
),
|
|
1088
|
+
|
|
1089
|
+
/**
|
|
1090
|
+
* This shall indicate the binding list for endpoints in the accessing fabric.
|
|
1091
|
+
*
|
|
1092
|
+
* Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
|
|
1093
|
+
* reflected in the Status Entry.
|
|
1094
|
+
*
|
|
1095
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.6.11
|
|
1096
|
+
*/
|
|
1097
|
+
endpointBindingList: Attribute(
|
|
1098
|
+
0xa,
|
|
1099
|
+
TlvArray(TlvDatastoreEndpointBindingEntry),
|
|
1100
|
+
{ default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
1101
|
+
),
|
|
1102
|
+
|
|
1103
|
+
/**
|
|
1104
|
+
* This shall indicate the KeySet entries for nodes in the accessing fabric.
|
|
1105
|
+
*
|
|
1106
|
+
* Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
|
|
1107
|
+
* reflected in the Status Entry.
|
|
1108
|
+
*
|
|
1109
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.6.12
|
|
1110
|
+
*/
|
|
1111
|
+
nodeKeySetList: Attribute(
|
|
1112
|
+
0xb,
|
|
1113
|
+
TlvArray(TlvDatastoreNodeKeySetEntry),
|
|
1114
|
+
{ default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
1115
|
+
),
|
|
1116
|
+
|
|
1117
|
+
/**
|
|
1118
|
+
* This shall indicate the ACL entries for nodes in the accessing fabric.
|
|
1119
|
+
*
|
|
1120
|
+
* Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
|
|
1121
|
+
* reflected in the Status Entry.
|
|
1122
|
+
*
|
|
1123
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.6.13
|
|
1124
|
+
*/
|
|
1125
|
+
nodeAclList: Attribute(
|
|
1126
|
+
0xc,
|
|
1127
|
+
TlvArray(TlvDatastoreAclEntry),
|
|
1128
|
+
{ default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
1129
|
+
),
|
|
1130
|
+
|
|
1131
|
+
/**
|
|
1132
|
+
* This shall indicate the Endpoint entries for nodes in the accessing fabric.
|
|
1133
|
+
*
|
|
1134
|
+
* Any changes to this List (add/remove entry) must follow the pending→committed workflow with current state
|
|
1135
|
+
* reflected in the Status Entry.
|
|
1136
|
+
*
|
|
1137
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.6.14
|
|
1138
|
+
*/
|
|
1139
|
+
nodeEndpointList: Attribute(
|
|
1140
|
+
0xd,
|
|
1141
|
+
TlvArray(TlvDatastoreEndpointEntry),
|
|
1142
|
+
{ default: [], readAcl: AccessLevel.Administer, writeAcl: AccessLevel.Administer }
|
|
522
1143
|
)
|
|
523
1144
|
},
|
|
524
1145
|
|
|
525
1146
|
commands: {
|
|
526
1147
|
/**
|
|
527
|
-
*
|
|
1148
|
+
* This command shall be used to add a KeySet to the Joint Fabric Datastore Cluster of the accessing fabric.
|
|
1149
|
+
*
|
|
1150
|
+
* GroupKeySet represents the KeySet to be added to the Joint Fabric Datastore Cluster. Upon receipt of this
|
|
1151
|
+
* command, the Datastore shall:
|
|
1152
|
+
*
|
|
1153
|
+
* 1. Ensure there are no KeySets in the KeySetList attribute with the given GroupKeySetID.
|
|
1154
|
+
*
|
|
1155
|
+
* 2. If a match is found, return CONSTRAINT_ERROR.
|
|
1156
|
+
*
|
|
1157
|
+
* 3. Add the Epoch Key Entry for the KeySet to the KeySetList attribute.
|
|
1158
|
+
*
|
|
1159
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.1
|
|
528
1160
|
*/
|
|
529
|
-
|
|
1161
|
+
addKeySet: Command(0x0, TlvAddKeySetRequest, 0x0, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
|
|
530
1162
|
|
|
531
1163
|
/**
|
|
532
|
-
*
|
|
1164
|
+
* This command shall be used to update a KeySet in the Joint Fabric Datastore Cluster of the accessing
|
|
1165
|
+
* fabric.
|
|
1166
|
+
*
|
|
1167
|
+
* GroupKeySet represents the KeySet to be updated in the Joint Fabric Datastore Cluster. Upon receipt of
|
|
1168
|
+
* this command, the Datastore shall:
|
|
1169
|
+
*
|
|
1170
|
+
* 1. Find the Epoch Key Entry for the KeySet in the KeySetList attribute with the given GroupKeySetID,
|
|
1171
|
+
* and update any changed fields.
|
|
1172
|
+
*
|
|
1173
|
+
* 2. If entry is not found, return NOT_FOUND.
|
|
1174
|
+
*
|
|
1175
|
+
* 3. If any fields are changed as a result of this command:
|
|
1176
|
+
*
|
|
1177
|
+
* a. Iterate through each Node Information Entry:
|
|
1178
|
+
*
|
|
1179
|
+
* i. If the NodeKeySetList contains an entry with the given GroupKeySetID:
|
|
1180
|
+
*
|
|
1181
|
+
* A. Update the Status on the given DatastoreNodeKeySetEntryStruct tp Pending.
|
|
1182
|
+
*
|
|
1183
|
+
* B. Update the GroupKeySet on the given Node with the new values.
|
|
1184
|
+
*
|
|
1185
|
+
* I. If successful, update the Status on this DatastoreNodeKeySetEntryStruct to Committed.
|
|
1186
|
+
*
|
|
1187
|
+
* II. If not successful, update the State field of the StatusEntry on this
|
|
1188
|
+
* DatastoreNodeKeySetEntryStruct to CommitFailed and FailureCode code to the returned error.
|
|
1189
|
+
* The pending change shall be applied in a subsequent Node Refresh.
|
|
1190
|
+
*
|
|
1191
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.2
|
|
533
1192
|
*/
|
|
534
|
-
|
|
1193
|
+
updateKeySet: Command(
|
|
1194
|
+
0x1,
|
|
1195
|
+
TlvUpdateKeySetRequest,
|
|
1196
|
+
0x1,
|
|
1197
|
+
TlvNoResponse,
|
|
1198
|
+
{ invokeAcl: AccessLevel.Administer }
|
|
1199
|
+
),
|
|
535
1200
|
|
|
536
1201
|
/**
|
|
537
|
-
*
|
|
1202
|
+
* This command shall be used to remove a KeySet from the Joint Fabric Datastore Cluster of the accessing
|
|
1203
|
+
* fabric.
|
|
1204
|
+
*
|
|
1205
|
+
* GroupKeySetID represents the unique identifier for the KeySet to be removed from the Joint Fabric
|
|
1206
|
+
* Datastore Cluster.
|
|
1207
|
+
*
|
|
1208
|
+
* Attempt to remove the IPK, which has GroupKeySetID of 0, shall fail with response CONSTRAINT_ERROR.
|
|
1209
|
+
*
|
|
1210
|
+
* Upon receipt of this command, the Datastore shall:
|
|
1211
|
+
*
|
|
1212
|
+
* 1. If entry is not found, return NOT_FOUND.
|
|
1213
|
+
*
|
|
1214
|
+
* 2. Ensure there are no Nodes using this KeySet. To do this:
|
|
1215
|
+
*
|
|
1216
|
+
* a. Iterate through each Node Information Entry:
|
|
1217
|
+
*
|
|
1218
|
+
* i. If the NodeKeySetList list contains an entry with the given GroupKeySetID, and the entry does
|
|
1219
|
+
* NOT have Status DeletePending, then return CONSTRAINT_ERROR.
|
|
1220
|
+
*
|
|
1221
|
+
* 3. Remove the DatastoreGroupKeySetStruct for the given GroupKeySetID from the GroupKeySetList
|
|
1222
|
+
* attribute.
|
|
1223
|
+
*
|
|
1224
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.3
|
|
538
1225
|
*/
|
|
539
|
-
|
|
1226
|
+
removeKeySet: Command(
|
|
1227
|
+
0x2,
|
|
1228
|
+
TlvRemoveKeySetRequest,
|
|
1229
|
+
0x2,
|
|
1230
|
+
TlvNoResponse,
|
|
1231
|
+
{ invokeAcl: AccessLevel.Administer }
|
|
1232
|
+
),
|
|
540
1233
|
|
|
541
1234
|
/**
|
|
542
|
-
*
|
|
1235
|
+
* This command shall be used to add a group to the Joint Fabric Datastore Cluster of the accessing fabric.
|
|
1236
|
+
*
|
|
1237
|
+
* GroupInformationEntry represents the group to be added to the Joint Fabric Datastore Cluster.
|
|
1238
|
+
*
|
|
1239
|
+
* GroupCAT values shall fall within the range 1 to 65534. Attempts to add a group with a GroupCAT value of
|
|
1240
|
+
* Administrator CAT or Anchor CAT shall fail with CONSTRAINT_ERROR.
|
|
1241
|
+
*
|
|
1242
|
+
* Upon receipt of this command, the Datastore shall:
|
|
1243
|
+
*
|
|
1244
|
+
* 1. Ensure there are no Groups in the GroupList attribute with the given GroupID. If a match is found,
|
|
1245
|
+
* return CONSTRAINT_ERROR.
|
|
1246
|
+
*
|
|
1247
|
+
* 2. Add the DatastoreGroupInformationEntryStruct for the Group with the given GroupID to the GroupList
|
|
1248
|
+
* attribute.
|
|
1249
|
+
*
|
|
1250
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.4
|
|
543
1251
|
*/
|
|
544
|
-
|
|
1252
|
+
addGroup: Command(0x3, TlvAddGroupRequest, 0x3, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
|
|
545
1253
|
|
|
546
1254
|
/**
|
|
547
|
-
*
|
|
1255
|
+
* This command shall be used to update a group in the Joint Fabric Datastore Cluster of the accessing
|
|
1256
|
+
* fabric.
|
|
1257
|
+
*
|
|
1258
|
+
* GroupID represents the group to be updated in the Joint Fabric Datastore Cluster. NULL values for the
|
|
1259
|
+
* additional parameters will be ignored (not updated).
|
|
1260
|
+
*
|
|
1261
|
+
* GroupCAT values shall fall within the range 1 to 65534. Attempts to update the GroupCAT on an existing
|
|
1262
|
+
* group which has a GroupCAT value of Administrator CAT or Anchor CAT shall fail with CONSTRAINT_ERROR.
|
|
1263
|
+
*
|
|
1264
|
+
* Attempts to set the GroupCAT to Administrator CAT or Anchor CAT shall fail with CONSTRAINT_ERROR.
|
|
1265
|
+
*
|
|
1266
|
+
* Upon receipt of this command, the Datastore shall:
|
|
1267
|
+
*
|
|
1268
|
+
* 1. If entry is not found, return NOT_FOUND.
|
|
1269
|
+
*
|
|
1270
|
+
* 2. Update the DatastoreGroupInformationEntryStruct for the Group with the given GroupID to match the
|
|
1271
|
+
* non-NULL fields passed in.
|
|
1272
|
+
*
|
|
1273
|
+
* 3. If any fields are changed as a result of this command:
|
|
1274
|
+
*
|
|
1275
|
+
* a. Iterate through each Node Information Entry:
|
|
1276
|
+
*
|
|
1277
|
+
* i. If the GroupKeySetID changed:
|
|
1278
|
+
*
|
|
1279
|
+
* I. Add a DatastoreNodeKeySetEntryStruct with the new GroupKeySetID, and Status set to Pending.
|
|
1280
|
+
*
|
|
1281
|
+
* II. Add this KeySet to the Node.
|
|
1282
|
+
*
|
|
1283
|
+
* 1. If successful, Set the Status to Committed for this entry in the NodeKeySetList.
|
|
1284
|
+
*
|
|
1285
|
+
* 2. If not successful, Set the Status to CommitFailed and the FailureCode to the returned error. The
|
|
1286
|
+
* pending change shall be applied in a subsequent Node Refresh.
|
|
1287
|
+
*
|
|
1288
|
+
* A. If the NodeKeySetList list contains an entry with the previous GroupKeySetID:
|
|
1289
|
+
*
|
|
1290
|
+
* III. Set the Status set to DeletePending.
|
|
1291
|
+
*
|
|
1292
|
+
* IV. Remove this KeySet from the Node.
|
|
1293
|
+
*
|
|
1294
|
+
* 1. If successful, Remove this entry from the NodeKeySetList.
|
|
1295
|
+
*
|
|
1296
|
+
* 2. If not successful, the pending change shall be applied in a subsequent Node Refresh.
|
|
1297
|
+
*
|
|
1298
|
+
* ii. If the GroupCAT, GroupCATVersion or GroupPermission changed:
|
|
1299
|
+
*
|
|
1300
|
+
* A. If the ACLList contains an entry for this Group, update the ACL List Entry in the Datastore with the
|
|
1301
|
+
* new values and Status Pending, update the ACL attribute on the given Node with the new values. If
|
|
1302
|
+
* the update succeeds, set the Status to Committed on the ACLList Entry in the Datastore.
|
|
1303
|
+
*
|
|
1304
|
+
* iii. If the FriendlyName changed:
|
|
1305
|
+
*
|
|
1306
|
+
* A. Iterate through each Endpoint Information Entry:
|
|
1307
|
+
*
|
|
1308
|
+
* I. If the GroupIDList contains an entry with the given GroupID:
|
|
1309
|
+
*
|
|
1310
|
+
* 1. Update the GroupIDList Entry in the Datastore with the new values and Status
|
|
1311
|
+
*
|
|
1312
|
+
* ### Pending
|
|
1313
|
+
*
|
|
1314
|
+
* 2. Update the Groups on the given Node with the new values.
|
|
1315
|
+
*
|
|
1316
|
+
* 1. If the update succeeds, set the Status to Committed on the GroupIDList Entry in the Datastore.
|
|
1317
|
+
*
|
|
1318
|
+
* 2. If not successful, the pending change shall be applied in a subsequent Node Refresh.
|
|
1319
|
+
*
|
|
1320
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.5
|
|
548
1321
|
*/
|
|
549
|
-
|
|
1322
|
+
updateGroup: Command(0x4, TlvUpdateGroupRequest, 0x4, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
|
|
550
1323
|
|
|
551
1324
|
/**
|
|
552
|
-
*
|
|
1325
|
+
* This command shall be used to remove a group from the Joint Fabric Datastore Cluster of the accessing
|
|
1326
|
+
* fabric.
|
|
1327
|
+
*
|
|
1328
|
+
* GroupID represents the unique identifier for the group to be removed from the Joint Fabric Datastore
|
|
1329
|
+
* Cluster.
|
|
1330
|
+
*
|
|
1331
|
+
* Attempts to remove a group with GroupCAT value set to Administrator CAT or Anchor CAT shall fail with
|
|
1332
|
+
* CONSTRAINT_ERROR.
|
|
1333
|
+
*
|
|
1334
|
+
* Upon receipt of this command, the Datastore shall:
|
|
1335
|
+
*
|
|
1336
|
+
* 1. If entry is not found, return NOT_FOUND.
|
|
1337
|
+
*
|
|
1338
|
+
* 2. Ensure there are no Nodes in this group. To do this:
|
|
1339
|
+
*
|
|
1340
|
+
* a. Iterate through each Node Information Entry:
|
|
1341
|
+
*
|
|
1342
|
+
* i. If the GroupIDList contains an entry with the given GroupID, and the entry does NOT have Status
|
|
1343
|
+
* DeletePending, then return CONSTRAINT_ERROR.
|
|
1344
|
+
*
|
|
1345
|
+
* 3. Remove the DatastoreGroupInformationEntryStruct for the Group with the given GroupID from the
|
|
1346
|
+
* GroupList attribute.
|
|
1347
|
+
*
|
|
1348
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.6
|
|
553
1349
|
*/
|
|
554
|
-
|
|
1350
|
+
removeGroup: Command(0x5, TlvRemoveGroupRequest, 0x5, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
|
|
555
1351
|
|
|
556
1352
|
/**
|
|
557
|
-
*
|
|
1353
|
+
* This command shall be used to add an admin to the Joint Fabric Datastore Cluster of the accessing fabric.
|
|
1354
|
+
*
|
|
1355
|
+
* NodeID, FriendlyName, VendorID and ICAC represent the admin to be added to the Joint Fabric Datastore
|
|
1356
|
+
* Cluster.
|
|
1357
|
+
*
|
|
1358
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.7
|
|
558
1359
|
*/
|
|
559
|
-
|
|
1360
|
+
addAdmin: Command(0x6, TlvAddAdminRequest, 0x6, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
|
|
560
1361
|
|
|
561
1362
|
/**
|
|
562
|
-
*
|
|
1363
|
+
* This command shall be used to update an admin in the Joint Fabric Datastore Cluster of the accessing
|
|
1364
|
+
* fabric.
|
|
1365
|
+
*
|
|
1366
|
+
* NodeID represents the admin to be updated in the Joint Fabric Datastore Cluster. NULL values for the
|
|
1367
|
+
* additional parameters will be ignored (not updated).
|
|
1368
|
+
*
|
|
1369
|
+
* If entry is not found, return NOT_FOUND.
|
|
1370
|
+
*
|
|
1371
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.8
|
|
563
1372
|
*/
|
|
564
|
-
|
|
1373
|
+
updateAdmin: Command(0x7, TlvUpdateAdminRequest, 0x7, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
|
|
565
1374
|
|
|
566
1375
|
/**
|
|
567
|
-
*
|
|
1376
|
+
* This command shall be used to remove an admin from the Joint Fabric Datastore Cluster of the accessing
|
|
1377
|
+
* fabric.
|
|
1378
|
+
*
|
|
1379
|
+
* NodeID represents the unique identifier for the admin to be removed from the Joint Fabric Datastore
|
|
1380
|
+
* Cluster.
|
|
1381
|
+
*
|
|
1382
|
+
* If entry is not found, return NOT_FOUND.
|
|
1383
|
+
*
|
|
1384
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.9
|
|
568
1385
|
*/
|
|
569
|
-
|
|
1386
|
+
removeAdmin: Command(0x8, TlvRemoveAdminRequest, 0x8, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
|
|
570
1387
|
|
|
571
1388
|
/**
|
|
572
|
-
*
|
|
1389
|
+
* The command shall be used to add a node to the Joint Fabric Datastore Cluster of the accessing fabric.
|
|
1390
|
+
*
|
|
1391
|
+
* NodeID represents the node to be added to the Joint Fabric Datastore Cluster. Upon receipt of this
|
|
1392
|
+
* command, the Datastore shall:
|
|
1393
|
+
*
|
|
1394
|
+
* 1. Update CommissioningStatusEntry of the Node Information Entry with the given NodeID to Pending.
|
|
1395
|
+
*
|
|
1396
|
+
* If a Node Information Entry exists for the given NodeID, this command shall return INVALID_CONSTRAINT.
|
|
1397
|
+
*
|
|
1398
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.10
|
|
573
1399
|
*/
|
|
574
|
-
|
|
1400
|
+
addPendingNode: Command(
|
|
1401
|
+
0x9,
|
|
1402
|
+
TlvAddPendingNodeRequest,
|
|
1403
|
+
0x9,
|
|
1404
|
+
TlvNoResponse,
|
|
1405
|
+
{ invokeAcl: AccessLevel.Administer }
|
|
1406
|
+
),
|
|
575
1407
|
|
|
576
1408
|
/**
|
|
577
|
-
*
|
|
1409
|
+
* The command shall be used to request that Datastore information relating to a Node of the accessing
|
|
1410
|
+
* fabric is refreshed.
|
|
1411
|
+
*
|
|
1412
|
+
* Upon receipt of this command, the Datastore shall:
|
|
1413
|
+
*
|
|
1414
|
+
* 1. Confirm that a Node Information Entry exists for the given NodeID, and if not, return NOT_FOUND.
|
|
1415
|
+
*
|
|
1416
|
+
* 2. Update the CommissioningStatusEntry for the Node Information Entry to Pending.
|
|
1417
|
+
*
|
|
1418
|
+
* 3. Ensure the Endpoint List for the Node Information Entry with the given NodeID matches Endpoint list
|
|
1419
|
+
* on the given Node. This involves the following steps:
|
|
1420
|
+
*
|
|
1421
|
+
* a. Read the PartsList of the Descriptor cluster from the Node.
|
|
1422
|
+
*
|
|
1423
|
+
* b. For each Endpoint Information Entry in the Endpoint List of the Node Information Entry that does
|
|
1424
|
+
* not match an Endpoint ID in the PartsList, remove the Endpoint Information Entry.
|
|
1425
|
+
*
|
|
1426
|
+
* c. For each Endpoint Information Entry in the Endpoint List of the Node Information Entry that
|
|
1427
|
+
* matches an Endpoint ID in the PartsList:
|
|
1428
|
+
*
|
|
1429
|
+
* i. Check that each entry in Node’s Group List occurs in the GroupIDList of the Endpoint Information
|
|
1430
|
+
* Entry.
|
|
1431
|
+
*
|
|
1432
|
+
* A. Add any missing entries to the GroupIDList of the Endpoint Information Entry.
|
|
1433
|
+
*
|
|
1434
|
+
* B. For any entries in the GroupIDList with Status of Pending:
|
|
1435
|
+
*
|
|
1436
|
+
* I. Add the corresponding change to the Node’s Group List.
|
|
1437
|
+
*
|
|
1438
|
+
* 1. If successful, mark the Status to Committed.
|
|
1439
|
+
*
|
|
1440
|
+
* 2. If not successful, update the Status to CommitFailed and the FailureCode to the returned error. The
|
|
1441
|
+
* error shall be handled in a subsequent Node Refresh.
|
|
1442
|
+
*
|
|
1443
|
+
* C. For any entries in the GroupIDList with Status of DeletePending:
|
|
1444
|
+
*
|
|
1445
|
+
* 1. If successful, remove the corresponding entry from the Node’s Group List.
|
|
1446
|
+
*
|
|
1447
|
+
* 2. If not successful, update the Status to CommitFailed and the FailureCode to the returned error. The
|
|
1448
|
+
* error shall be handled in a subsequent Node Refresh.
|
|
1449
|
+
*
|
|
1450
|
+
* D. For any entries in the GroupIDList with Status of CommitFailure:
|
|
1451
|
+
*
|
|
1452
|
+
* I. A CommitFailure with an unrecoverable FailureCode shall be handled by removing the entry from the
|
|
1453
|
+
* GroupIDList.
|
|
1454
|
+
*
|
|
1455
|
+
* II. A CommitFailure with a recoverable FailureCode (i.e. TIMEOUT, BUSY) shall be handle in a subsequent
|
|
1456
|
+
* Node Refresh.
|
|
1457
|
+
*
|
|
1458
|
+
* ii. Check that each entry in Node’s Binding List occurs in the BindingList of the Endpoint Information
|
|
1459
|
+
* Entry.
|
|
1460
|
+
*
|
|
1461
|
+
* A. Add any missing entries to the BindingList of the Endpoint Information Entry.
|
|
1462
|
+
*
|
|
1463
|
+
* B. For any entries in the BindingList with Status of Pending:
|
|
1464
|
+
*
|
|
1465
|
+
* I. Add the corresponding change to the Node’s Binding List.
|
|
1466
|
+
*
|
|
1467
|
+
* 1. If successful, mark the Status to Committed.
|
|
1468
|
+
*
|
|
1469
|
+
* 2. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
|
|
1470
|
+
* The error shall be handled in a subsequent Node Refresh.
|
|
1471
|
+
*
|
|
1472
|
+
* C. For any entries in the BindingList with Status of DeletePending:
|
|
1473
|
+
*
|
|
1474
|
+
* 1. If successful, remove the corresponding entry from the Node’s BindingList.
|
|
1475
|
+
*
|
|
1476
|
+
* 2. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
|
|
1477
|
+
* The error shall be handled in a subsequent Node Refresh.
|
|
1478
|
+
*
|
|
1479
|
+
* D. For any entries in the BindingList with Status of CommitFailure:
|
|
1480
|
+
*
|
|
1481
|
+
* I. A CommitFailure with an unrecoverable FailureCode shall be handled by removing the entry from the
|
|
1482
|
+
* BindingList.
|
|
1483
|
+
*
|
|
1484
|
+
* II. A CommitFailure with a recoverable FailureCode (i.e. TIMEOUT, BUSY) shall be handle in a
|
|
1485
|
+
* subsequent Node Refresh.
|
|
1486
|
+
*
|
|
1487
|
+
* 4. Ensure the GroupKeySetList for the Node Information Entry with the given NodeID matches the Group Keys
|
|
1488
|
+
* on the given Node. This involves the following steps:
|
|
1489
|
+
*
|
|
1490
|
+
* a. Read the Group Keys from the Node.
|
|
1491
|
+
*
|
|
1492
|
+
* b. For each GroupKeySetEntry in the GroupKeySetList of the Node Information Entry with a Pending
|
|
1493
|
+
* Status:
|
|
1494
|
+
*
|
|
1495
|
+
* i. Add the corresponding DatastoreGroupKeySetStruct to the Node’s Group Key list.
|
|
1496
|
+
*
|
|
1497
|
+
* A. If successful, mark the Status to Committed.
|
|
1498
|
+
*
|
|
1499
|
+
* B. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
|
|
1500
|
+
* The error shall be handled in a subsequent Node Refresh.
|
|
1501
|
+
*
|
|
1502
|
+
* c. For each GroupKeySetEntry in the GroupKeySetList of the Node Information Entry with a CommitFailure
|
|
1503
|
+
* Status:
|
|
1504
|
+
*
|
|
1505
|
+
* i. A CommitFailure with an unrecoverable FailureCode shall be handled by removing the entry from the
|
|
1506
|
+
* GroupKeySetList.
|
|
1507
|
+
*
|
|
1508
|
+
* ii. A CommitFailure with a recoverable FailureCode (i.e. TIMEOUT, BUSY) shall be handle in a
|
|
1509
|
+
* subsequent Node Refresh.
|
|
1510
|
+
*
|
|
1511
|
+
* d. All remaining entries in the GroupKeySetList should be replaced by the remaining entries on the
|
|
1512
|
+
* Node.
|
|
1513
|
+
*
|
|
1514
|
+
* 5. Ensure the ACLList for the Node Information Entry with the given NodeID matches the ACL attribute on
|
|
1515
|
+
* the given Node. This involves the following steps:
|
|
1516
|
+
*
|
|
1517
|
+
* a. Read the ACL attribute on the Node.
|
|
1518
|
+
*
|
|
1519
|
+
* b. For each DatastoreACLEntryStruct in the ACLList of the Node Information Entry with a Pending Status:
|
|
1520
|
+
*
|
|
1521
|
+
* i. Add the corresponding DatastoreACLEntryStruct to the Node’s ACL attribute.
|
|
1522
|
+
*
|
|
1523
|
+
* A. If successful, mark the Status to Committed.
|
|
1524
|
+
*
|
|
1525
|
+
* B. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
|
|
1526
|
+
* The error shall be handled in a subsequent Node Refresh.
|
|
1527
|
+
*
|
|
1528
|
+
* c. For each DatastoreACLEntryStruct in the ACLList of the Node Information Entry with a CommitFailure
|
|
1529
|
+
* Status:
|
|
1530
|
+
*
|
|
1531
|
+
* i. A CommitFailure with an unrecoverable FailureCode (i.e. RESOURCE_EXHAUSTED, CONSTRAINT_ERROR)
|
|
1532
|
+
* shall be handled by removing the entry from the ACLList.
|
|
1533
|
+
*
|
|
1534
|
+
* ii. A CommitFailure with a recoverable FailureCode (i.e. TIMEOUT, BUSY) shall be handle in a
|
|
1535
|
+
* subsequent Node Refresh.
|
|
1536
|
+
*
|
|
1537
|
+
* d. All remaining entries in the ACLList should be replaced by the remaining entries on the Node.
|
|
1538
|
+
*
|
|
1539
|
+
* 6. Update the CommissioningStatusEntry for the Node Information Entry to Committed.
|
|
1540
|
+
*
|
|
1541
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.11
|
|
578
1542
|
*/
|
|
579
|
-
|
|
1543
|
+
refreshNode: Command(0xa, TlvRefreshNodeRequest, 0xa, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
|
|
580
1544
|
|
|
581
1545
|
/**
|
|
582
|
-
*
|
|
1546
|
+
* The command shall be used to update the friendly name for a node in the Joint Fabric Datastore Cluster of
|
|
1547
|
+
* the accessing fabric.
|
|
1548
|
+
*
|
|
1549
|
+
* NodeID represents the node to be updated in the Joint Fabric Datastore Cluster.
|
|
1550
|
+
*
|
|
1551
|
+
* If a Node Information Entry does not exist for the given NodeID, this command shall return NOT_FOUND.
|
|
1552
|
+
*
|
|
1553
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.12
|
|
583
1554
|
*/
|
|
584
|
-
|
|
1555
|
+
updateNode: Command(0xb, TlvUpdateNodeRequest, 0xb, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
|
|
585
1556
|
|
|
586
1557
|
/**
|
|
587
|
-
*
|
|
1558
|
+
* This command shall be used to remove a node from the Joint Fabric Datastore Cluster of the accessing
|
|
1559
|
+
* fabric.
|
|
1560
|
+
*
|
|
1561
|
+
* NodeID represents the unique identifier for the node to be removed from the Joint Fabric Datastore
|
|
1562
|
+
* Cluster.
|
|
1563
|
+
*
|
|
1564
|
+
* If a Node Information Entry does not exist for the given NodeID, this command shall return NOT_FOUND.
|
|
1565
|
+
*
|
|
1566
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.13
|
|
588
1567
|
*/
|
|
589
|
-
|
|
1568
|
+
removeNode: Command(0xc, TlvRemoveNodeRequest, 0xc, TlvNoResponse, { invokeAcl: AccessLevel.Administer }),
|
|
590
1569
|
|
|
591
1570
|
/**
|
|
592
|
-
*
|
|
1571
|
+
* This command shall be used to update the state of an endpoint for a node in the Joint Fabric Datastore
|
|
1572
|
+
* Cluster of the accessing fabric.
|
|
1573
|
+
*
|
|
1574
|
+
* EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
|
|
1575
|
+
* Cluster.
|
|
1576
|
+
*
|
|
1577
|
+
* NodeID represents the unique identifier for the node to which the endpoint belongs.
|
|
1578
|
+
*
|
|
1579
|
+
* If an Endpoint Information Entry does not exist for the given NodeID and EndpointID, this command shall
|
|
1580
|
+
* return NOT_FOUND.
|
|
1581
|
+
*
|
|
1582
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.14
|
|
593
1583
|
*/
|
|
594
|
-
|
|
1584
|
+
updateEndpointForNode: Command(
|
|
1585
|
+
0xd,
|
|
1586
|
+
TlvUpdateEndpointForNodeRequest,
|
|
1587
|
+
0xd,
|
|
1588
|
+
TlvNoResponse,
|
|
1589
|
+
{ invokeAcl: AccessLevel.Administer }
|
|
1590
|
+
),
|
|
595
1591
|
|
|
596
1592
|
/**
|
|
597
|
-
*
|
|
1593
|
+
* This command shall be used to add a Group ID to an endpoint for a node in the Joint Fabric Datastore
|
|
1594
|
+
* Cluster of the accessing fabric.
|
|
1595
|
+
*
|
|
1596
|
+
* GroupID represents the unique identifier for the group to be added to the endpoint.
|
|
1597
|
+
*
|
|
1598
|
+
* EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
|
|
1599
|
+
* Cluster.
|
|
1600
|
+
*
|
|
1601
|
+
* NodeID represents the unique identifier for the node to which the endpoint belongs. Upon receipt of this
|
|
1602
|
+
* command, the Datastore shall:
|
|
1603
|
+
*
|
|
1604
|
+
* 1. Confirm that an Endpoint Information Entry exists for the given NodeID and EndpointID, and if not,
|
|
1605
|
+
* return NOT_FOUND.
|
|
1606
|
+
*
|
|
1607
|
+
* 2. Ensure the Group Key List for the Node Information Entry with the given NodeID includes the KeySet
|
|
1608
|
+
* for the given Group ID. If it does not:
|
|
1609
|
+
*
|
|
1610
|
+
* a. Add an entry for the KeySet of the given Group ID to the Group Key List for the Node. The new
|
|
1611
|
+
* entry’s status shall be set to Pending.
|
|
1612
|
+
*
|
|
1613
|
+
* b. Add a Group Key Entry for this KeySet to the given Node ID.
|
|
1614
|
+
*
|
|
1615
|
+
* i. If this succeeds, update the new KeySet entry in the Datastore to Committed.
|
|
1616
|
+
*
|
|
1617
|
+
* ii. If not successful, the pending change shall be applied in a subsequent Node Refresh.
|
|
1618
|
+
*
|
|
1619
|
+
* 3. Ensure the Group List for the Endpoint Information Entry with the given NodeID and EndpointID
|
|
1620
|
+
* includes an entry for the given Group. If it does not:
|
|
1621
|
+
*
|
|
1622
|
+
* a. Add a Group entry for the given Group ID to the Group List for the Endpoint and Node. The new
|
|
1623
|
+
* entry’s status shall be set to Pending.
|
|
1624
|
+
*
|
|
1625
|
+
* b. Add this Group entry to the given Endpoint ID on the given Node ID.
|
|
1626
|
+
*
|
|
1627
|
+
* i. If this succeeds, update the new Group entry in the Datastore to Committed.
|
|
1628
|
+
*
|
|
1629
|
+
* ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
|
|
1630
|
+
* The error shall be handled in a subsequent Node Refresh.
|
|
1631
|
+
*
|
|
1632
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.15
|
|
598
1633
|
*/
|
|
599
|
-
|
|
1634
|
+
addGroupIdToEndpointForNode: Command(
|
|
1635
|
+
0xe,
|
|
1636
|
+
TlvAddGroupIdToEndpointForNodeRequest,
|
|
1637
|
+
0xe,
|
|
1638
|
+
TlvNoResponse,
|
|
1639
|
+
{ invokeAcl: AccessLevel.Administer }
|
|
1640
|
+
),
|
|
600
1641
|
|
|
601
1642
|
/**
|
|
602
|
-
*
|
|
1643
|
+
* This command shall be used to remove a Group ID from an endpoint for a node in the Joint Fabric Datastore
|
|
1644
|
+
* Cluster of the accessing fabric.
|
|
1645
|
+
*
|
|
1646
|
+
* GroupID represents the unique identifier for the group to be removed from the endpoint.
|
|
1647
|
+
*
|
|
1648
|
+
* EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
|
|
1649
|
+
* Cluster.
|
|
1650
|
+
*
|
|
1651
|
+
* NodeID represents the unique identifier for the node to which the endpoint belongs. Upon receipt of this
|
|
1652
|
+
* command, the Datastore shall:
|
|
1653
|
+
*
|
|
1654
|
+
* 1. Confirm that an Endpoint Information Entry exists for the given NodeID and EndpointID, and if not,
|
|
1655
|
+
* return NOT_FOUND.
|
|
1656
|
+
*
|
|
1657
|
+
* 2. Ensure the Group List for the Endpoint Information Entry with the given NodeID and EndpointID does
|
|
1658
|
+
* not include an entry for the given Group. If it does:
|
|
1659
|
+
*
|
|
1660
|
+
* a. Update the status to DeletePending of the Group entry for the given Group ID in the Group List.
|
|
1661
|
+
*
|
|
1662
|
+
* b. Remove this Group entry for the given Endpoint ID on the given Node ID.
|
|
1663
|
+
*
|
|
1664
|
+
* i. If this succeeds, remove the Group entry for the given Group ID in the Group List for this
|
|
1665
|
+
* NodeID and EndpointID in the Datastore.
|
|
1666
|
+
*
|
|
1667
|
+
* ii. If not successful, the pending change shall be applied in a subsequent Node Refresh.
|
|
1668
|
+
*
|
|
1669
|
+
* 3. Ensure the Group Key List for the Node Information Entry with the given NodeID does not include the
|
|
1670
|
+
* KeySet for the given Group ID. If it does:
|
|
1671
|
+
*
|
|
1672
|
+
* a. Update the status to DeletePending for the entry for the KeySet of the given Group ID in the Node
|
|
1673
|
+
* Group Key List.
|
|
1674
|
+
*
|
|
1675
|
+
* b. Remove the Group Key Entry for this KeySet from the given Node ID.
|
|
1676
|
+
*
|
|
1677
|
+
* i. If this succeeds, remove the KeySet entry for the given Node ID.
|
|
1678
|
+
*
|
|
1679
|
+
* ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
|
|
1680
|
+
* The error shall be handled in a subsequent Node Refresh.
|
|
1681
|
+
*
|
|
1682
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.16
|
|
603
1683
|
*/
|
|
604
|
-
|
|
1684
|
+
removeGroupIdFromEndpointForNode: Command(
|
|
1685
|
+
0xf,
|
|
1686
|
+
TlvRemoveGroupIdFromEndpointForNodeRequest,
|
|
1687
|
+
0xf,
|
|
1688
|
+
TlvNoResponse,
|
|
1689
|
+
{ invokeAcl: AccessLevel.Administer }
|
|
1690
|
+
),
|
|
605
1691
|
|
|
606
1692
|
/**
|
|
607
|
-
*
|
|
1693
|
+
* This command shall be used to add a binding to an endpoint for a node in the Joint Fabric Datastore
|
|
1694
|
+
* Cluster of the accessing fabric.
|
|
1695
|
+
*
|
|
1696
|
+
* Binding represents the binding to be added to the endpoint.
|
|
1697
|
+
*
|
|
1698
|
+
* EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
|
|
1699
|
+
* Cluster.
|
|
1700
|
+
*
|
|
1701
|
+
* NodeID represents the unique identifier for the node to which the endpoint belongs. Upon receipt of this
|
|
1702
|
+
* command, the Datastore shall:
|
|
1703
|
+
*
|
|
1704
|
+
* 1. Confirm that an Endpoint Information Entry exists for the given NodeID and EndpointID, and if not,
|
|
1705
|
+
* return NOT_FOUND.
|
|
1706
|
+
*
|
|
1707
|
+
* 2. Ensure the Binding List for the Node Information Entry with the given NodeID includes the given
|
|
1708
|
+
* Binding. If it does not:
|
|
1709
|
+
*
|
|
1710
|
+
* a. Add the Binding to the Binding List for the Node Information Entry for the given NodeID. The new
|
|
1711
|
+
* entry’s status shall be set to Pending.
|
|
1712
|
+
*
|
|
1713
|
+
* b. Add this Binding to the given Node ID.
|
|
1714
|
+
*
|
|
1715
|
+
* i. If this succeeds, update the new Binding in the Datastore to Committed.
|
|
1716
|
+
*
|
|
1717
|
+
* ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
|
|
1718
|
+
* The error shall be handled in a subsequent Node Refresh.
|
|
1719
|
+
*
|
|
1720
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.17
|
|
608
1721
|
*/
|
|
609
|
-
|
|
1722
|
+
addBindingToEndpointForNode: Command(
|
|
1723
|
+
0x10,
|
|
1724
|
+
TlvAddBindingToEndpointForNodeRequest,
|
|
1725
|
+
0x10,
|
|
1726
|
+
TlvNoResponse,
|
|
1727
|
+
{ invokeAcl: AccessLevel.Administer }
|
|
1728
|
+
),
|
|
610
1729
|
|
|
611
1730
|
/**
|
|
612
|
-
*
|
|
1731
|
+
* This command shall be used to remove a binding from an endpoint for a node in the Joint Fabric Datastore
|
|
1732
|
+
* Cluster of the accessing fabric.
|
|
1733
|
+
*
|
|
1734
|
+
* ListID represents the unique identifier for the binding entry in the Datastore’s EndpointBindingList
|
|
1735
|
+
* attribute to be removed from the endpoint.
|
|
1736
|
+
*
|
|
1737
|
+
* EndpointID represents the unique identifier for the endpoint to be updated in the Joint Fabric Datastore
|
|
1738
|
+
* Cluster.
|
|
1739
|
+
*
|
|
1740
|
+
* NodeID represents the unique identifier for the node to which the endpoint belongs. Upon receipt of this
|
|
1741
|
+
* command, the Datastore shall:
|
|
1742
|
+
*
|
|
1743
|
+
* 1. Confirm that an Endpoint Information Entry exists for the given NodeID and EndpointID, and if not,
|
|
1744
|
+
* return NOT_FOUND.
|
|
1745
|
+
*
|
|
1746
|
+
* 2. Ensure the Binding List for the Node Information Entry with the given NodeID does not include an
|
|
1747
|
+
* entry with the given ListID. If it does:
|
|
1748
|
+
*
|
|
1749
|
+
* a. Update the status to DeletePending for the given Binding in the Binding List.
|
|
1750
|
+
*
|
|
1751
|
+
* b. Remove this Binding from the given Node ID.
|
|
1752
|
+
*
|
|
1753
|
+
* i. If this succeeds, remove the given Binding from the Binding List.
|
|
1754
|
+
*
|
|
1755
|
+
* ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
|
|
1756
|
+
* The error shall be handled in a subsequent Node Refresh.
|
|
1757
|
+
*
|
|
1758
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.18
|
|
613
1759
|
*/
|
|
614
|
-
|
|
1760
|
+
removeBindingFromEndpointForNode: Command(
|
|
1761
|
+
0x11,
|
|
1762
|
+
TlvRemoveBindingFromEndpointForNodeRequest,
|
|
1763
|
+
0x11,
|
|
1764
|
+
TlvNoResponse,
|
|
1765
|
+
{ invokeAcl: AccessLevel.Administer }
|
|
1766
|
+
),
|
|
615
1767
|
|
|
616
1768
|
/**
|
|
617
|
-
*
|
|
1769
|
+
* This command shall be used to add an ACL to a node in the Joint Fabric Datastore Cluster of the accessing
|
|
1770
|
+
* fabric.
|
|
1771
|
+
*
|
|
1772
|
+
* NodeID represents the unique identifier for the node to which the ACL is to be added. ACLEntry represents
|
|
1773
|
+
* the ACL to be added to the Joint Fabric Datastore Cluster.
|
|
1774
|
+
*
|
|
1775
|
+
* Upon receipt of this command, the Datastore shall:
|
|
1776
|
+
*
|
|
1777
|
+
* 1. Confirm that a Node Information Entry exists for the given NodeID, and if not, return NOT_FOUND.
|
|
1778
|
+
*
|
|
1779
|
+
* 2. Ensure the ACL List for the given NodeID includes the given ACLEntry. If it does not:
|
|
1780
|
+
*
|
|
1781
|
+
* a. Add the ACLEntry to the ACL List for the given NodeID. The new entry’s status shall be set to
|
|
1782
|
+
* Pending.
|
|
1783
|
+
*
|
|
1784
|
+
* b. Add this ACLEntry to the given Node ID.
|
|
1785
|
+
*
|
|
1786
|
+
* i. If this succeeds, update the new ACLEntry in the Datastore to Committed.
|
|
1787
|
+
*
|
|
1788
|
+
* ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
|
|
1789
|
+
* The error shall be handled in a subsequent Node Refresh.
|
|
1790
|
+
*
|
|
1791
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.19
|
|
618
1792
|
*/
|
|
619
|
-
|
|
1793
|
+
addAclToNode: Command(
|
|
1794
|
+
0x12,
|
|
1795
|
+
TlvAddAclToNodeRequest,
|
|
1796
|
+
0x12,
|
|
1797
|
+
TlvNoResponse,
|
|
1798
|
+
{ invokeAcl: AccessLevel.Administer }
|
|
1799
|
+
),
|
|
620
1800
|
|
|
621
1801
|
/**
|
|
622
|
-
*
|
|
1802
|
+
* This command shall be used to remove an ACL from a node in the Joint Fabric Datastore Cluster of the
|
|
1803
|
+
* accessing fabric.
|
|
1804
|
+
*
|
|
1805
|
+
* ListID represents the unique identifier for the DatastoreACLEntryStruct to be removed from the
|
|
1806
|
+
* Datastore’s list of DatastoreACLEntry.
|
|
1807
|
+
*
|
|
1808
|
+
* NodeID represents the unique identifier for the node from which the ACL is to be removed. Upon receipt of
|
|
1809
|
+
* this command, the Datastore shall:
|
|
1810
|
+
*
|
|
1811
|
+
* 1. Confirm that a Node Information Entry exists for the given NodeID, and if not, return NOT_FOUND.
|
|
1812
|
+
*
|
|
1813
|
+
* 2. Ensure the ACL List for the given NodeID does not include the given ACLEntry. If it does:
|
|
1814
|
+
*
|
|
1815
|
+
* a. Update the status to DeletePending for the given ACLEntry in the ACL List.
|
|
1816
|
+
*
|
|
1817
|
+
* b. Remove this ACLEntry from the given Node ID.
|
|
1818
|
+
*
|
|
1819
|
+
* i. If this succeeds, remove the given ACLEntry from the Node ACL List.
|
|
1820
|
+
*
|
|
1821
|
+
* ii. If not successful, update the Status to CommitFailed and the FailureCode to the returned error.
|
|
1822
|
+
* The error shall be handled in a subsequent Node Refresh.
|
|
1823
|
+
*
|
|
1824
|
+
* @see {@link MatterSpecification.v141.Core} § 11.24.7.20
|
|
623
1825
|
*/
|
|
624
|
-
|
|
1826
|
+
removeAclFromNode: Command(
|
|
1827
|
+
0x13,
|
|
1828
|
+
TlvRemoveAclFromNodeRequest,
|
|
1829
|
+
0x13,
|
|
1830
|
+
TlvNoResponse,
|
|
1831
|
+
{ invokeAcl: AccessLevel.Administer }
|
|
1832
|
+
)
|
|
625
1833
|
}
|
|
626
1834
|
});
|
|
627
1835
|
|
|
@@ -642,6 +1850,8 @@ export namespace JointFabricDatastore {
|
|
|
642
1850
|
* The Admin level of access to the Joint Fabric Datastore cluster server shall be limited to JF Administrator Nodes
|
|
643
1851
|
* identified using the Administrator CAT.
|
|
644
1852
|
*
|
|
1853
|
+
* NOTE Support for Joint Fabric Datastore cluster is provisional.
|
|
1854
|
+
*
|
|
645
1855
|
* @see {@link MatterSpecification.v141.Core} § 11.24
|
|
646
1856
|
*/
|
|
647
1857
|
export interface Cluster extends Identity<typeof ClusterInstance> {}
|