@matter/model 0.13.0-alpha.0-20250318-c1aa38b08 → 0.13.0-alpha.0-20250322-f085fa576
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/aspects/Quality.d.ts +45 -5
- package/dist/cjs/aspects/Quality.d.ts.map +1 -1
- package/dist/cjs/aspects/Quality.js.map +1 -1
- package/dist/cjs/elements/BaseElement.d.ts +14 -5
- package/dist/cjs/elements/BaseElement.d.ts.map +1 -1
- package/dist/cjs/elements/BaseElement.js.map +1 -1
- package/dist/cjs/elements/ValueElement.d.ts +1 -1
- package/dist/cjs/logic/DefaultValue.js +1 -1
- package/dist/cjs/logic/ModelVariantTraversal.d.ts.map +1 -1
- package/dist/cjs/logic/ModelVariantTraversal.js +18 -8
- package/dist/cjs/logic/ModelVariantTraversal.js.map +1 -1
- package/dist/cjs/logic/Scope.d.ts.map +1 -1
- package/dist/cjs/logic/Scope.js +7 -3
- package/dist/cjs/logic/Scope.js.map +1 -1
- package/dist/cjs/models/AttributeModel.d.ts +1 -0
- package/dist/cjs/models/AttributeModel.d.ts.map +1 -1
- package/dist/cjs/models/CommandModel.d.ts +1 -0
- package/dist/cjs/models/CommandModel.d.ts.map +1 -1
- package/dist/cjs/models/EventModel.d.ts +1 -0
- package/dist/cjs/models/EventModel.d.ts.map +1 -1
- package/dist/cjs/models/Model.d.ts +4 -0
- package/dist/cjs/models/Model.d.ts.map +1 -1
- package/dist/cjs/models/Model.js +1 -0
- package/dist/cjs/models/Model.js.map +1 -1
- package/dist/cjs/standard/elements/AccessControl.d.ts.map +1 -1
- package/dist/cjs/standard/elements/AccessControl.js +1 -1
- package/dist/cjs/standard/elements/AccessControl.js.map +1 -1
- package/dist/cjs/standard/elements/Actions.js +1 -1
- package/dist/cjs/standard/elements/AlarmBase.js +4 -4
- package/dist/cjs/standard/elements/ApplicationLauncher.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ApplicationLauncher.js.map +1 -1
- package/dist/cjs/standard/elements/BatteryStorageDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/BatteryStorageDT.js.map +1 -1
- package/dist/cjs/standard/elements/BridgedDeviceBasicInformation.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ColorControl.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ColorControl.js +0 -4
- package/dist/cjs/standard/elements/ColorControl.js.map +1 -1
- package/dist/cjs/standard/elements/ColorDimmerSwitchDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ColorTemperatureLightDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ContentAppObserver.js +1 -1
- package/dist/cjs/standard/elements/ContentLauncher.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ContentLauncher.js.map +1 -1
- package/dist/cjs/standard/elements/DeviceEnergyManagement.d.ts.map +1 -1
- package/dist/cjs/standard/elements/DeviceEnergyManagement.js +1 -1
- package/dist/cjs/standard/elements/DeviceEnergyManagement.js.map +1 -1
- package/dist/cjs/standard/elements/DimmableLightDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/DimmablePlugInUnitDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/DimmerSwitchDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/DoorLock.d.ts.map +1 -1
- package/dist/cjs/standard/elements/DoorLock.js +29 -14
- package/dist/cjs/standard/elements/DoorLock.js.map +1 -1
- package/dist/cjs/standard/elements/EnergyEvse.d.ts.map +1 -1
- package/dist/cjs/standard/elements/EnergyEvse.js +1 -1
- package/dist/cjs/standard/elements/EnergyEvse.js.map +1 -1
- package/dist/cjs/standard/elements/EthernetNetworkDiagnostics.d.ts.map +1 -1
- package/dist/cjs/standard/elements/EthernetNetworkDiagnostics.js.map +1 -1
- package/dist/cjs/standard/elements/ExtendedColorLightDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/FixedLabel.d.ts.map +1 -1
- package/dist/cjs/standard/elements/FixedLabel.js +1 -1
- package/dist/cjs/standard/elements/FixedLabel.js.map +1 -1
- package/dist/cjs/standard/elements/GeneralCommissioning.d.ts.map +1 -1
- package/dist/cjs/standard/elements/GeneralCommissioning.js +7 -7
- package/dist/cjs/standard/elements/GeneralCommissioning.js.map +1 -1
- package/dist/cjs/standard/elements/GeneralDiagnostics.d.ts.map +1 -1
- package/dist/cjs/standard/elements/GeneralDiagnostics.js.map +1 -1
- package/dist/cjs/standard/elements/GroupKeyManagement.d.ts.map +1 -1
- package/dist/cjs/standard/elements/GroupKeyManagement.js +2 -3
- package/dist/cjs/standard/elements/GroupKeyManagement.js.map +1 -1
- package/dist/cjs/standard/elements/Groups.d.ts.map +1 -1
- package/dist/cjs/standard/elements/Groups.js.map +1 -1
- package/dist/cjs/standard/elements/LevelControl.d.ts.map +1 -1
- package/dist/cjs/standard/elements/LevelControl.js.map +1 -1
- package/dist/cjs/standard/elements/MediaPlayback.d.ts.map +1 -1
- package/dist/cjs/standard/elements/MediaPlayback.js +1 -1
- package/dist/cjs/standard/elements/MediaPlayback.js.map +1 -1
- package/dist/cjs/standard/elements/ModeBase.js +1 -1
- package/dist/cjs/standard/elements/MountedDimmableLoadControlDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/MountedOnOffControlDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/NetworkCommissioning.d.ts.map +1 -1
- package/dist/cjs/standard/elements/NetworkCommissioning.js +2 -2
- package/dist/cjs/standard/elements/NetworkCommissioning.js.map +1 -1
- package/dist/cjs/standard/elements/NetworkInfrastructureManagerDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/OnOff.js +1 -1
- package/dist/cjs/standard/elements/OnOffPlugInUnitDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/OperationalCredentials.d.ts.map +1 -1
- package/dist/cjs/standard/elements/OperationalCredentials.js +3 -3
- package/dist/cjs/standard/elements/OperationalCredentials.js.map +1 -1
- package/dist/cjs/standard/elements/OperationalState.js +1 -1
- package/dist/cjs/standard/elements/OtaSoftwareUpdateProvider.js +6 -6
- package/dist/cjs/standard/elements/OtaSoftwareUpdateRequestor.d.ts.map +1 -1
- package/dist/cjs/standard/elements/OtaSoftwareUpdateRequestor.js.map +1 -1
- package/dist/cjs/standard/elements/OvenCavityOperationalState.d.ts.map +1 -1
- package/dist/cjs/standard/elements/PowerSource.d.ts.map +1 -1
- package/dist/cjs/standard/elements/PowerSource.js.map +1 -1
- package/dist/cjs/standard/elements/PumpConfigurationAndControl.d.ts.map +1 -1
- package/dist/cjs/standard/elements/PumpConfigurationAndControl.js.map +1 -1
- package/dist/cjs/standard/elements/PumpDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ScenesManagement.js +3 -3
- package/dist/cjs/standard/elements/ScenesManagement.js.map +1 -1
- package/dist/cjs/standard/elements/ServiceArea.js +4 -3
- package/dist/cjs/standard/elements/ServiceArea.js.map +1 -1
- package/dist/cjs/standard/elements/SmokeCoAlarm.d.ts.map +1 -1
- package/dist/cjs/standard/elements/SmokeCoAlarm.js.map +1 -1
- package/dist/cjs/standard/elements/Switch.js +2 -2
- package/dist/cjs/standard/elements/Thermostat.d.ts.map +1 -1
- package/dist/cjs/standard/elements/Thermostat.js +13 -8
- package/dist/cjs/standard/elements/Thermostat.js.map +1 -1
- package/dist/cjs/standard/elements/ThreadNetworkDiagnostics.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ThreadNetworkDiagnostics.js.map +1 -1
- package/dist/cjs/standard/elements/TimeFormatLocalization.d.ts.map +1 -1
- package/dist/cjs/standard/elements/TimeFormatLocalization.js.map +1 -1
- package/dist/cjs/standard/elements/TimeSynchronization.d.ts.map +1 -1
- package/dist/cjs/standard/elements/TimeSynchronization.js.map +1 -1
- package/dist/cjs/standard/elements/ValveConfigurationAndControl.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ValveConfigurationAndControl.js.map +1 -1
- package/dist/cjs/standard/elements/WaterValveDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/WiFiNetworkManagement.d.ts.map +1 -1
- package/dist/cjs/standard/elements/WiFiNetworkManagement.js +12 -8
- package/dist/cjs/standard/elements/WiFiNetworkManagement.js.map +2 -2
- package/dist/cjs/standard/elements/WildcardPathFlagsBitmap.js +1 -1
- package/dist/cjs/standard/elements/WildcardPathFlagsBitmap.js.map +1 -1
- package/dist/cjs/standard/elements/enum16.d.ts.map +1 -1
- package/dist/cjs/standard/elements/enum8.d.ts.map +1 -1
- package/dist/cjs/standard/elements/epoch-us.js +1 -1
- package/dist/cjs/standard/elements/ipv6pre.js +1 -1
- package/dist/cjs/standard/elements/namespace.d.ts.map +1 -1
- package/dist/cjs/standard/elements/struct.js +1 -1
- package/dist/esm/aspects/Quality.d.ts +45 -5
- package/dist/esm/aspects/Quality.d.ts.map +1 -1
- package/dist/esm/aspects/Quality.js.map +1 -1
- package/dist/esm/elements/BaseElement.d.ts +14 -5
- package/dist/esm/elements/BaseElement.d.ts.map +1 -1
- package/dist/esm/elements/BaseElement.js.map +1 -1
- package/dist/esm/elements/ValueElement.d.ts +1 -1
- package/dist/esm/logic/DefaultValue.js +1 -1
- package/dist/esm/logic/ModelVariantTraversal.d.ts.map +1 -1
- package/dist/esm/logic/ModelVariantTraversal.js +18 -8
- package/dist/esm/logic/ModelVariantTraversal.js.map +1 -1
- package/dist/esm/logic/Scope.d.ts.map +1 -1
- package/dist/esm/logic/Scope.js +7 -3
- package/dist/esm/logic/Scope.js.map +1 -1
- package/dist/esm/models/AttributeModel.d.ts +1 -0
- package/dist/esm/models/AttributeModel.d.ts.map +1 -1
- package/dist/esm/models/CommandModel.d.ts +1 -0
- package/dist/esm/models/CommandModel.d.ts.map +1 -1
- package/dist/esm/models/EventModel.d.ts +1 -0
- package/dist/esm/models/EventModel.d.ts.map +1 -1
- package/dist/esm/models/Model.d.ts +4 -0
- package/dist/esm/models/Model.d.ts.map +1 -1
- package/dist/esm/models/Model.js +1 -0
- package/dist/esm/models/Model.js.map +1 -1
- package/dist/esm/standard/elements/AccessControl.d.ts.map +1 -1
- package/dist/esm/standard/elements/AccessControl.js +1 -1
- package/dist/esm/standard/elements/AccessControl.js.map +1 -1
- package/dist/esm/standard/elements/Actions.js +1 -1
- package/dist/esm/standard/elements/AlarmBase.js +4 -4
- package/dist/esm/standard/elements/ApplicationLauncher.d.ts.map +1 -1
- package/dist/esm/standard/elements/ApplicationLauncher.js.map +1 -1
- package/dist/esm/standard/elements/BatteryStorageDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/BatteryStorageDT.js.map +1 -1
- package/dist/esm/standard/elements/BridgedDeviceBasicInformation.d.ts.map +1 -1
- package/dist/esm/standard/elements/ColorControl.d.ts.map +1 -1
- package/dist/esm/standard/elements/ColorControl.js +0 -4
- package/dist/esm/standard/elements/ColorControl.js.map +1 -1
- package/dist/esm/standard/elements/ColorDimmerSwitchDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/ColorTemperatureLightDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/ContentAppObserver.js +1 -1
- package/dist/esm/standard/elements/ContentLauncher.d.ts.map +1 -1
- package/dist/esm/standard/elements/ContentLauncher.js.map +1 -1
- package/dist/esm/standard/elements/DeviceEnergyManagement.d.ts.map +1 -1
- package/dist/esm/standard/elements/DeviceEnergyManagement.js +1 -1
- package/dist/esm/standard/elements/DeviceEnergyManagement.js.map +1 -1
- package/dist/esm/standard/elements/DimmableLightDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/DimmablePlugInUnitDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/DimmerSwitchDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/DoorLock.d.ts.map +1 -1
- package/dist/esm/standard/elements/DoorLock.js +29 -14
- package/dist/esm/standard/elements/DoorLock.js.map +1 -1
- package/dist/esm/standard/elements/EnergyEvse.d.ts.map +1 -1
- package/dist/esm/standard/elements/EnergyEvse.js +1 -1
- package/dist/esm/standard/elements/EnergyEvse.js.map +1 -1
- package/dist/esm/standard/elements/EthernetNetworkDiagnostics.d.ts.map +1 -1
- package/dist/esm/standard/elements/EthernetNetworkDiagnostics.js.map +1 -1
- package/dist/esm/standard/elements/ExtendedColorLightDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/FixedLabel.d.ts.map +1 -1
- package/dist/esm/standard/elements/FixedLabel.js +1 -1
- package/dist/esm/standard/elements/FixedLabel.js.map +1 -1
- package/dist/esm/standard/elements/GeneralCommissioning.d.ts.map +1 -1
- package/dist/esm/standard/elements/GeneralCommissioning.js +7 -7
- package/dist/esm/standard/elements/GeneralCommissioning.js.map +1 -1
- package/dist/esm/standard/elements/GeneralDiagnostics.d.ts.map +1 -1
- package/dist/esm/standard/elements/GeneralDiagnostics.js.map +1 -1
- package/dist/esm/standard/elements/GroupKeyManagement.d.ts.map +1 -1
- package/dist/esm/standard/elements/GroupKeyManagement.js +2 -3
- package/dist/esm/standard/elements/GroupKeyManagement.js.map +1 -1
- package/dist/esm/standard/elements/Groups.d.ts.map +1 -1
- package/dist/esm/standard/elements/Groups.js.map +1 -1
- package/dist/esm/standard/elements/LevelControl.d.ts.map +1 -1
- package/dist/esm/standard/elements/LevelControl.js.map +1 -1
- package/dist/esm/standard/elements/MediaPlayback.d.ts.map +1 -1
- package/dist/esm/standard/elements/MediaPlayback.js +1 -1
- package/dist/esm/standard/elements/MediaPlayback.js.map +1 -1
- package/dist/esm/standard/elements/ModeBase.js +1 -1
- package/dist/esm/standard/elements/MountedDimmableLoadControlDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/MountedOnOffControlDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/NetworkCommissioning.d.ts.map +1 -1
- package/dist/esm/standard/elements/NetworkCommissioning.js +2 -2
- package/dist/esm/standard/elements/NetworkCommissioning.js.map +1 -1
- package/dist/esm/standard/elements/NetworkInfrastructureManagerDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/OnOff.js +1 -1
- package/dist/esm/standard/elements/OnOffPlugInUnitDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/OperationalCredentials.d.ts.map +1 -1
- package/dist/esm/standard/elements/OperationalCredentials.js +3 -3
- package/dist/esm/standard/elements/OperationalCredentials.js.map +1 -1
- package/dist/esm/standard/elements/OperationalState.js +1 -1
- package/dist/esm/standard/elements/OtaSoftwareUpdateProvider.js +6 -6
- package/dist/esm/standard/elements/OtaSoftwareUpdateRequestor.d.ts.map +1 -1
- package/dist/esm/standard/elements/OtaSoftwareUpdateRequestor.js.map +1 -1
- package/dist/esm/standard/elements/OvenCavityOperationalState.d.ts.map +1 -1
- package/dist/esm/standard/elements/PowerSource.d.ts.map +1 -1
- package/dist/esm/standard/elements/PowerSource.js.map +1 -1
- package/dist/esm/standard/elements/PumpConfigurationAndControl.d.ts.map +1 -1
- package/dist/esm/standard/elements/PumpConfigurationAndControl.js.map +1 -1
- package/dist/esm/standard/elements/PumpDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.d.ts.map +1 -1
- package/dist/esm/standard/elements/ScenesManagement.js +3 -3
- package/dist/esm/standard/elements/ScenesManagement.js.map +1 -1
- package/dist/esm/standard/elements/ServiceArea.js +4 -3
- package/dist/esm/standard/elements/ServiceArea.js.map +1 -1
- package/dist/esm/standard/elements/SmokeCoAlarm.d.ts.map +1 -1
- package/dist/esm/standard/elements/SmokeCoAlarm.js.map +1 -1
- package/dist/esm/standard/elements/Switch.js +2 -2
- package/dist/esm/standard/elements/Thermostat.d.ts.map +1 -1
- package/dist/esm/standard/elements/Thermostat.js +13 -8
- package/dist/esm/standard/elements/Thermostat.js.map +1 -1
- package/dist/esm/standard/elements/ThreadNetworkDiagnostics.d.ts.map +1 -1
- package/dist/esm/standard/elements/ThreadNetworkDiagnostics.js.map +1 -1
- package/dist/esm/standard/elements/TimeFormatLocalization.d.ts.map +1 -1
- package/dist/esm/standard/elements/TimeFormatLocalization.js.map +1 -1
- package/dist/esm/standard/elements/TimeSynchronization.d.ts.map +1 -1
- package/dist/esm/standard/elements/TimeSynchronization.js.map +1 -1
- package/dist/esm/standard/elements/ValveConfigurationAndControl.d.ts.map +1 -1
- package/dist/esm/standard/elements/ValveConfigurationAndControl.js.map +1 -1
- package/dist/esm/standard/elements/WaterValveDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/WiFiNetworkManagement.d.ts.map +1 -1
- package/dist/esm/standard/elements/WiFiNetworkManagement.js +14 -9
- package/dist/esm/standard/elements/WiFiNetworkManagement.js.map +1 -1
- package/dist/esm/standard/elements/WildcardPathFlagsBitmap.js +1 -1
- package/dist/esm/standard/elements/WildcardPathFlagsBitmap.js.map +1 -1
- package/dist/esm/standard/elements/enum16.d.ts.map +1 -1
- package/dist/esm/standard/elements/enum8.d.ts.map +1 -1
- package/dist/esm/standard/elements/epoch-us.js +1 -1
- package/dist/esm/standard/elements/ipv6pre.js +1 -1
- package/dist/esm/standard/elements/namespace.d.ts.map +1 -1
- package/dist/esm/standard/elements/struct.js +1 -1
- package/package.json +4 -4
- package/src/aspects/Quality.ts +56 -5
- package/src/elements/BaseElement.ts +16 -5
- package/src/elements/ValueElement.ts +1 -1
- package/src/logic/DefaultValue.ts +1 -1
- package/src/logic/ModelVariantTraversal.ts +22 -8
- package/src/logic/Scope.ts +7 -3
- package/src/models/Model.ts +4 -0
- package/src/standard/elements/AcceptedCommandList.ts +2 -2
- package/src/standard/elements/AccessControl.ts +71 -73
- package/src/standard/elements/AccountLogin.ts +11 -11
- package/src/standard/elements/Actions.ts +36 -36
- package/src/standard/elements/AdministratorCommissioning.ts +21 -21
- package/src/standard/elements/AggregatorDT.ts +2 -2
- package/src/standard/elements/AlarmBase.ts +18 -18
- package/src/standard/elements/ApplicationBasic.ts +7 -7
- package/src/standard/elements/ApplicationLauncher.ts +6 -7
- package/src/standard/elements/AudioOutput.ts +4 -4
- package/src/standard/elements/BallastConfiguration.ts +6 -6
- package/src/standard/elements/BasicInformation.ts +43 -43
- package/src/standard/elements/BasicVideoPlayerDT.ts +3 -3
- package/src/standard/elements/BatteryStorageDT.ts +2 -5
- package/src/standard/elements/Binding.ts +3 -3
- package/src/standard/elements/BooleanStateConfiguration.ts +4 -4
- package/src/standard/elements/BridgedDeviceBasicInformation.ts +22 -22
- package/src/standard/elements/CastingVideoClientDT.ts +2 -2
- package/src/standard/elements/Channel.ts +32 -32
- package/src/standard/elements/ColorControl.ts +54 -55
- package/src/standard/elements/ColorDimmerSwitchDT.ts +1 -1
- package/src/standard/elements/ColorTemperatureLightDT.ts +1 -1
- package/src/standard/elements/CommissionerControl.ts +15 -15
- package/src/standard/elements/ContentAppObserver.ts +7 -7
- package/src/standard/elements/ContentControl.ts +39 -39
- package/src/standard/elements/ContentLauncher.ts +38 -40
- package/src/standard/elements/DeviceEnergyManagement.ts +108 -111
- package/src/standard/elements/DeviceEnergyManagementMode.ts +4 -4
- package/src/standard/elements/DiagnosticLogs.ts +24 -24
- package/src/standard/elements/DimmableLightDT.ts +1 -1
- package/src/standard/elements/DimmablePlugInUnitDT.ts +4 -4
- package/src/standard/elements/DimmerSwitchDT.ts +3 -3
- package/src/standard/elements/DishwasherMode.ts +2 -2
- package/src/standard/elements/DoorLock.ts +164 -154
- package/src/standard/elements/DoorLockDT.ts +2 -2
- package/src/standard/elements/EcosystemInformation.ts +24 -24
- package/src/standard/elements/ElectricalEnergyMeasurement.ts +18 -18
- package/src/standard/elements/ElectricalMeasurementNS.ts +2 -2
- package/src/standard/elements/ElectricalPowerMeasurement.ts +18 -18
- package/src/standard/elements/EnergyEvse.ts +58 -64
- package/src/standard/elements/EnergyEvseMode.ts +8 -8
- package/src/standard/elements/EthernetNetworkDiagnostics.ts +14 -15
- package/src/standard/elements/ExtendedColorLightDT.ts +3 -3
- package/src/standard/elements/ExtractorHoodDT.ts +2 -2
- package/src/standard/elements/FanControl.ts +14 -14
- package/src/standard/elements/FanDT.ts +2 -2
- package/src/standard/elements/FeatureMap.ts +5 -5
- package/src/standard/elements/FixedLabel.ts +4 -5
- package/src/standard/elements/GeneralCommissioning.ts +79 -80
- package/src/standard/elements/GeneralDiagnostics.ts +17 -18
- package/src/standard/elements/GeneratedCommandList.ts +2 -2
- package/src/standard/elements/GroupKeyManagement.ts +29 -30
- package/src/standard/elements/Groups.ts +13 -14
- package/src/standard/elements/IcdManagement.ts +32 -32
- package/src/standard/elements/Identify.ts +7 -7
- package/src/standard/elements/JointFabricDatastoreCluster.ts +12 -12
- package/src/standard/elements/KeypadInput.ts +9 -9
- package/src/standard/elements/LaundryWasherControls.ts +2 -2
- package/src/standard/elements/LaundryWasherMode.ts +2 -2
- package/src/standard/elements/LevelControl.ts +23 -24
- package/src/standard/elements/LightSensorDT.ts +2 -2
- package/src/standard/elements/LocalizationConfiguration.ts +2 -2
- package/src/standard/elements/MeasurementAccuracyRangeStruct.ts +10 -10
- package/src/standard/elements/MeasurementAccuracyStruct.ts +4 -4
- package/src/standard/elements/MediaPlayback.ts +42 -44
- package/src/standard/elements/Messages.ts +18 -18
- package/src/standard/elements/MicrowaveOvenControl.ts +16 -16
- package/src/standard/elements/ModeBase.ts +21 -21
- package/src/standard/elements/ModeSelect.ts +12 -12
- package/src/standard/elements/MountedDimmableLoadControlDT.ts +4 -4
- package/src/standard/elements/MountedOnOffControlDT.ts +1 -1
- package/src/standard/elements/NetworkCommissioning.ts +68 -69
- package/src/standard/elements/NetworkInfrastructureManagerDT.ts +1 -1
- package/src/standard/elements/OccupancySensing.ts +23 -23
- package/src/standard/elements/OnOff.ts +17 -17
- package/src/standard/elements/OnOffPlugInUnitDT.ts +1 -1
- package/src/standard/elements/OnOffSensorDT.ts +2 -2
- package/src/standard/elements/OperationalCredentials.ts +86 -88
- package/src/standard/elements/OperationalState.ts +31 -31
- package/src/standard/elements/OtaSoftwareUpdateProvider.ts +48 -48
- package/src/standard/elements/OtaSoftwareUpdateRequestor.ts +31 -32
- package/src/standard/elements/OvenCavityOperationalState.ts +1 -1
- package/src/standard/elements/OvenMode.ts +2 -2
- package/src/standard/elements/PositionNS.ts +2 -2
- package/src/standard/elements/PowerSource.ts +37 -38
- package/src/standard/elements/PowerSourceConfiguration.ts +4 -4
- package/src/standard/elements/PowerSourceNS.ts +2 -2
- package/src/standard/elements/ProxyConfiguration.ts +2 -2
- package/src/standard/elements/ProxyDiscovery.ts +5 -5
- package/src/standard/elements/PumpConfigurationAndControl.ts +27 -28
- package/src/standard/elements/PumpDT.ts +1 -1
- package/src/standard/elements/RefrigeratorAlarm.ts +2 -2
- package/src/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.ts +1 -1
- package/src/standard/elements/RefrigeratorNS.ts +2 -2
- package/src/standard/elements/RelativePositionNS.ts +4 -4
- package/src/standard/elements/ResourceMonitoring.ts +4 -4
- package/src/standard/elements/RoomAirConditionerDT.ts +2 -2
- package/src/standard/elements/RootNodeDT.ts +3 -3
- package/src/standard/elements/RvcOperationalState.ts +4 -4
- package/src/standard/elements/RvcRunMode.ts +6 -6
- package/src/standard/elements/ScenesManagement.ts +34 -34
- package/src/standard/elements/SecondaryNetworkInterfaceDT.ts +2 -2
- package/src/standard/elements/ServiceArea.ts +69 -69
- package/src/standard/elements/SmokeCoAlarm.ts +19 -20
- package/src/standard/elements/SmokeCoAlarmDT.ts +2 -2
- package/src/standard/elements/SoftwareDiagnostics.ts +13 -13
- package/src/standard/elements/SpeakerDT.ts +2 -2
- package/src/standard/elements/Switch.ts +21 -21
- package/src/standard/elements/TemperatureControl.ts +5 -5
- package/src/standard/elements/TemperatureMeasurement.ts +2 -2
- package/src/standard/elements/Thermostat.ts +124 -120
- package/src/standard/elements/ThermostatUserInterfaceConfiguration.ts +6 -6
- package/src/standard/elements/ThreadBorderRouterManagement.ts +10 -10
- package/src/standard/elements/ThreadNetworkDiagnostics.ts +50 -51
- package/src/standard/elements/ThreadNetworkDirectory.ts +11 -11
- package/src/standard/elements/TimeFormatLocalization.ts +6 -7
- package/src/standard/elements/TimeSynchronization.ts +27 -28
- package/src/standard/elements/UnitLocalization.ts +2 -2
- package/src/standard/elements/ValveConfigurationAndControl.ts +9 -10
- package/src/standard/elements/WakeOnLan.ts +11 -11
- package/src/standard/elements/WaterHeaterManagement.ts +17 -17
- package/src/standard/elements/WaterHeaterMode.ts +4 -4
- package/src/standard/elements/WaterValveDT.ts +1 -1
- package/src/standard/elements/WiFiNetworkDiagnostics.ts +13 -13
- package/src/standard/elements/WiFiNetworkManagement.ts +21 -16
- package/src/standard/elements/WildcardPathFlagsBitmap.ts +1 -1
- package/src/standard/elements/WindowCovering.ts +19 -19
- package/src/standard/elements/attrib-id.ts +2 -2
- package/src/standard/elements/enum16.ts +1 -1
- package/src/standard/elements/enum8.ts +1 -1
- package/src/standard/elements/epoch-us.ts +9 -9
- package/src/standard/elements/hwadr.ts +2 -2
- package/src/standard/elements/ipv6pre.ts +3 -3
- package/src/standard/elements/locationdesc.ts +10 -10
- package/src/standard/elements/namespace.ts +1 -1
- package/src/standard/elements/semtag.ts +5 -5
- package/src/standard/elements/string.ts +2 -2
- package/src/standard/elements/struct.ts +9 -9
|
@@ -26,8 +26,8 @@ export const AccessControl = Cluster(
|
|
|
26
26
|
"Administer privilege level, such that only Nodes granted such privilege (hereafter termed " +
|
|
27
27
|
"\"Administrators\") can manage the Access Control Cluster." +
|
|
28
28
|
"\n" +
|
|
29
|
-
"The Access Control Cluster shall be present on the root node endpoint of each Node, and shall NOT " +
|
|
30
|
-
"
|
|
29
|
+
"The Access Control Cluster shall be present on the root node endpoint of each Node, and shall NOT be " +
|
|
30
|
+
"present on any other Endpoint of any Node.",
|
|
31
31
|
|
|
32
32
|
xref: { document: "core", section: "9.10" }
|
|
33
33
|
},
|
|
@@ -47,13 +47,12 @@ export const AccessControl = Cluster(
|
|
|
47
47
|
|
|
48
48
|
details: "This feature is for a device that is managed by a service associated with the device vendor and " +
|
|
49
49
|
"which imposes default access restrictions upon each new fabric added to it. This could arise, for " +
|
|
50
|
-
"example, if the device is managed by a service provider under contract to an end-user, in such a " +
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"List (ARL)." +
|
|
50
|
+
"example, if the device is managed by a service provider under contract to an end-user, in such a way " +
|
|
51
|
+
"that the manager of the device does not unconditionally grant universal access to all of a device’s " +
|
|
52
|
+
"functionality, even for fabric administrators. For example, many Home Routers are managed by an " +
|
|
53
|
+
"Internet Service Provider (a service), and these services often have a policy that requires them to " +
|
|
54
|
+
"obtain user consent before certain administrative functions can be delegated to a third party (e.g., " +
|
|
55
|
+
"a fabric Administrator). These restrictions are expressed using an Access Restriction List (ARL)." +
|
|
57
56
|
"\n" +
|
|
58
57
|
"The purpose of this feature on the Access Control cluster is to indicate to a fabric Administrator " +
|
|
59
58
|
"that access by it to specific attributes, commands and/or events for specific clusters is currently " +
|
|
@@ -69,21 +68,21 @@ export const AccessControl = Cluster(
|
|
|
69
68
|
"\n" +
|
|
70
69
|
"Controllers and clients SHOULD incorporate generic handling of the ACCESS_RESTRICTED error code, " +
|
|
71
70
|
"when it appears in allowed contexts, in order to gracefully handle situations where this feature is " +
|
|
72
|
-
"encountered. Device vendors that adopt this feature SHOULD be judicious in its use given the risk " +
|
|
73
|
-
"
|
|
71
|
+
"encountered. Device vendors that adopt this feature SHOULD be judicious in its use given the risk of " +
|
|
72
|
+
"unexpected behavior in controllers and clients." +
|
|
74
73
|
"\n" +
|
|
75
74
|
"For certification testing, a device that implements this feature shall provide a way for all " +
|
|
76
75
|
"restrictions to be removed." +
|
|
77
76
|
"\n" +
|
|
78
77
|
"The ARL attribute provides the set of restrictions currently applied to this fabric." +
|
|
79
78
|
"\n" +
|
|
80
|
-
"The ReviewFabricRestrictions command provides a way for the fabric Administrator to request that " +
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
79
|
+
"The ReviewFabricRestrictions command provides a way for the fabric Administrator to request that the " +
|
|
80
|
+
"server triggers a review of the current fabric restrictions, by involving external entities such as " +
|
|
81
|
+
"end-users, or other services associated with the manager of the device hosting the server. This " +
|
|
82
|
+
"review process may involve communication between external services and the user, and may take an " +
|
|
83
|
+
"unpredictable amount of time to complete since an end-user may need to visit some resources, such as " +
|
|
84
|
+
"a mobile application or web site. A FabricRestrictionReviewUpdate event will be generated by the " +
|
|
85
|
+
"device within a predictable time period of the ReviewFabricRestrictionsResponse (see " +
|
|
87
86
|
"ReviewFabricRestrictions for specification of this time period), and this event can be correlated " +
|
|
88
87
|
"with the ReviewFabricRestrictionsResponse using a token provided in both. The device may provide " +
|
|
89
88
|
"instructions or a Redirect URL in the FabricRestrictionReviewUpdate event in order to help the user " +
|
|
@@ -94,8 +93,8 @@ export const AccessControl = Cluster(
|
|
|
94
93
|
"### Managed Device Feature Usage Restrictions" +
|
|
95
94
|
"\n" +
|
|
96
95
|
"Use of this feature shall be limited to the mandatory clusters of endpoints having a device type " +
|
|
97
|
-
"that explicitly permits its use in the Device Library Specification. As a reminder, the device " +
|
|
98
|
-
"
|
|
96
|
+
"that explicitly permits its use in the Device Library Specification. As a reminder, the device types " +
|
|
97
|
+
"associated with an endpoint are listed in the Descriptor cluster of the endpoint." +
|
|
99
98
|
"\n" +
|
|
100
99
|
"In addition, use of this feature shall NOT restrict the following clusters on any endpoint:" +
|
|
101
100
|
"\n" +
|
|
@@ -131,8 +130,8 @@ export const AccessControl = Cluster(
|
|
|
131
130
|
"fabric supported by the server." +
|
|
132
131
|
"\n" +
|
|
133
132
|
"Each Access Control Entry codifies a single grant of privilege on this Node, and is used by the " +
|
|
134
|
-
"Access Control Privilege Granting algorithm to determine if a subject has privilege to interact " +
|
|
135
|
-
"
|
|
133
|
+
"Access Control Privilege Granting algorithm to determine if a subject has privilege to interact with " +
|
|
134
|
+
"targets on the Node.",
|
|
136
135
|
|
|
137
136
|
xref: { document: "core", section: "9.10.6.3" }
|
|
138
137
|
},
|
|
@@ -160,10 +159,10 @@ export const AccessControl = Cluster(
|
|
|
160
159
|
details: "This attribute shall provide the minimum number of Subjects per entry that are supported by this " +
|
|
161
160
|
"server." +
|
|
162
161
|
"\n" +
|
|
163
|
-
"Since reducing this value over time may invalidate ACL entries already written, this value shall " +
|
|
164
|
-
"
|
|
165
|
-
"
|
|
166
|
-
"
|
|
162
|
+
"Since reducing this value over time may invalidate ACL entries already written, this value shall NOT " +
|
|
163
|
+
"decrease across time as software updates occur that could impact this value. If this is a concern " +
|
|
164
|
+
"for a given implementation, it is recommended to only use the minimum value required and avoid " +
|
|
165
|
+
"reporting a higher value than the required minimum.",
|
|
167
166
|
|
|
168
167
|
xref: { document: "core", section: "9.10.6.5" }
|
|
169
168
|
}),
|
|
@@ -175,10 +174,10 @@ export const AccessControl = Cluster(
|
|
|
175
174
|
details: "This attribute shall provide the minimum number of Targets per entry that are supported by this " +
|
|
176
175
|
"server." +
|
|
177
176
|
"\n" +
|
|
178
|
-
"Since reducing this value over time may invalidate ACL entries already written, this value shall " +
|
|
179
|
-
"
|
|
180
|
-
"
|
|
181
|
-
"
|
|
177
|
+
"Since reducing this value over time may invalidate ACL entries already written, this value shall NOT " +
|
|
178
|
+
"decrease across time as software updates occur that could impact this value. If this is a concern " +
|
|
179
|
+
"for a given implementation, it is recommended to only use the minimum value required and avoid " +
|
|
180
|
+
"reporting a higher value than the required minimum.",
|
|
182
181
|
|
|
183
182
|
xref: { document: "core", section: "9.10.6.6" }
|
|
184
183
|
}),
|
|
@@ -187,13 +186,13 @@ export const AccessControl = Cluster(
|
|
|
187
186
|
name: "AccessControlEntriesPerFabric", id: 0x4, type: "uint16", access: "R V", conformance: "M",
|
|
188
187
|
constraint: "min 4", default: 4, quality: "F",
|
|
189
188
|
|
|
190
|
-
details: "This attribute shall provide the minimum number of ACL Entries per fabric that are supported by " +
|
|
191
|
-
"
|
|
189
|
+
details: "This attribute shall provide the minimum number of ACL Entries per fabric that are supported by this " +
|
|
190
|
+
"server." +
|
|
192
191
|
"\n" +
|
|
193
|
-
"Since reducing this value over time may invalidate ACL entries already written, this value shall " +
|
|
194
|
-
"
|
|
195
|
-
"
|
|
196
|
-
"
|
|
192
|
+
"Since reducing this value over time may invalidate ACL entries already written, this value shall NOT " +
|
|
193
|
+
"decrease across time as software updates occur that could impact this value. If this is a concern " +
|
|
194
|
+
"for a given implementation, it is recommended to only use the minimum value required and avoid " +
|
|
195
|
+
"reporting a higher value than the required minimum.",
|
|
197
196
|
|
|
198
197
|
xref: { document: "core", section: "9.10.6.7" }
|
|
199
198
|
}),
|
|
@@ -235,14 +234,14 @@ export const AccessControl = Cluster(
|
|
|
235
234
|
"fabric. In contrast, the CommissioningARL attribute indicates the accessing restrictions that apply " +
|
|
236
235
|
"when there is no accessing fabric, such as during commissioning." +
|
|
237
236
|
"\n" +
|
|
238
|
-
"The access restrictions are externally added/removed based on the particular relationship the " +
|
|
239
|
-
"
|
|
240
|
-
"
|
|
237
|
+
"The access restrictions are externally added/removed based on the particular relationship the device " +
|
|
238
|
+
"hosting this server has with external entities such as its owner, external service provider, or " +
|
|
239
|
+
"end-user." +
|
|
241
240
|
"\n" +
|
|
242
241
|
"Attempts to access data model elements described by an entry in the ARL attribute for the accessing " +
|
|
243
242
|
"fabric shall result in an error of ACCESS_RESTRICTED. See Access Control Model for more information " +
|
|
244
|
-
"about the features related to controlling access to a Node’s Endpoint Clusters (\"Targets\" " +
|
|
245
|
-
"
|
|
243
|
+
"about the features related to controlling access to a Node’s Endpoint Clusters (\"Targets\" hereafter) " +
|
|
244
|
+
"from other Nodes." +
|
|
246
245
|
"\n" +
|
|
247
246
|
"See Section 9.10.4.2.1, “Managed Device Feature Usage Restrictions” for limitations on the use of " +
|
|
248
247
|
"access restrictions.",
|
|
@@ -386,8 +385,8 @@ export const AccessControl = Cluster(
|
|
|
386
385
|
|
|
387
386
|
Field({
|
|
388
387
|
name: "Token", id: 0x0, type: "uint64", access: "S", conformance: "M",
|
|
389
|
-
details: "This field shall indicate the Token that can be used to correlate a " +
|
|
390
|
-
"
|
|
388
|
+
details: "This field shall indicate the Token that can be used to correlate a ReviewFabricRestrictionsResponse " +
|
|
389
|
+
"with a FabricRestrictionReviewUpdate event.",
|
|
391
390
|
xref: { document: "core", section: "9.10.9.3.1" }
|
|
392
391
|
}),
|
|
393
392
|
|
|
@@ -429,21 +428,21 @@ export const AccessControl = Cluster(
|
|
|
429
428
|
" • The device using this mechanism shall provide a service at the URL that can accept requests for " +
|
|
430
429
|
" additional access and return responses indicating whether the requests were granted or denied." +
|
|
431
430
|
"\n" +
|
|
432
|
-
" • This URL will typically lead to a server which (e.g. by looking at the User-Agent) redirects " +
|
|
433
|
-
"
|
|
431
|
+
" • This URL will typically lead to a server which (e.g. by looking at the User-Agent) redirects the " +
|
|
432
|
+
" user to allow viewing, downloading, installing or using a manufacturer-provided means for " +
|
|
434
433
|
" guiding the user through the process to review and approve or deny the request. The device " +
|
|
435
434
|
" manufacturer may choose to use a constructed URL which is valid in a HTTP GET request (i.e. " +
|
|
436
435
|
" dedicated for the product) such as, for example, https://domain.example/arl-app?vid=FFF1& " +
|
|
437
|
-
" pid=1234. If a client follows or launches the ARLRequestFlowUrl, it shall expand it as " +
|
|
438
|
-
"
|
|
436
|
+
" pid=1234. If a client follows or launches the ARLRequestFlowUrl, it shall expand it as described " +
|
|
437
|
+
" in Section 9.10.9.3.4, “ARLRequestFlowUrl format”." +
|
|
439
438
|
"\n" +
|
|
440
439
|
" • A manufacturer contemplating using this flow should realize that" +
|
|
441
440
|
"\n" +
|
|
442
441
|
" ◦ This flow typically requires internet access to access the URL, and access extension may fail " +
|
|
443
442
|
" when internet connectivity is not available." +
|
|
444
443
|
"\n" +
|
|
445
|
-
" ◦ If the flow prefers to redirect the user to an app which is available on popular platforms, " +
|
|
446
|
-
"
|
|
444
|
+
" ◦ If the flow prefers to redirect the user to an app which is available on popular platforms, it " +
|
|
445
|
+
" SHOULD also provide a fallback option such as a web browser interface to ensure users can " +
|
|
447
446
|
" complete access extension." +
|
|
448
447
|
"\n" +
|
|
449
448
|
"### ARLRequestFlowUrl format" +
|
|
@@ -462,8 +461,8 @@ export const AccessControl = Cluster(
|
|
|
462
461
|
"backUrl) placeholder\"." +
|
|
463
462
|
"\n" +
|
|
464
463
|
" • Any key whose name begins with MT not mentioned in the previous bullets shall be reserved for " +
|
|
465
|
-
" future use by this specification. Manufacturers shall NOT include query keys starting with MT " +
|
|
466
|
-
"
|
|
464
|
+
" future use by this specification. Manufacturers shall NOT include query keys starting with MT in " +
|
|
465
|
+
" the ARLRequestFlowUrl unless they are referenced by a version of this specification." +
|
|
467
466
|
"\n" +
|
|
468
467
|
"Any other element in the ARLRequestFlowUrl query field not covered by the above rules, as well as " +
|
|
469
468
|
"the fragment field (if present), shall remain including the order of query key/value pairs present." +
|
|
@@ -483,10 +482,9 @@ export const AccessControl = Cluster(
|
|
|
483
482
|
"\n" +
|
|
484
483
|
"### CallbackUrl format for ARL Request Flow response" +
|
|
485
484
|
"\n" +
|
|
486
|
-
"If a CallbackUrl field (i.e. MTcu=) query field placeholder is present in the ARLRequestFlowUrl, " +
|
|
487
|
-
"
|
|
488
|
-
"
|
|
489
|
-
"terminated." +
|
|
485
|
+
"If a CallbackUrl field (i.e. MTcu=) query field placeholder is present in the ARLRequestFlowUrl, the " +
|
|
486
|
+
"client may replace the placeholder value \"_\" in the ExpandedARLRequestFlowUrl with a URL that the " +
|
|
487
|
+
"manufacturer flow can use to make a smooth return to the client when the ARL flow has terminated." +
|
|
490
488
|
"\n" +
|
|
491
489
|
"This URL field may contain a query component (see RFC 3986 section 3.4). If a query is present, it " +
|
|
492
490
|
"shall be composed of one or more key-value pairs:" +
|
|
@@ -515,14 +513,14 @@ export const AccessControl = Cluster(
|
|
|
515
513
|
"### Expansion of CallbackUrl by the manufacturer custom flow" +
|
|
516
514
|
"\n" +
|
|
517
515
|
"Once the CallbackUrl is obtained by the manufacturer flow, it may be expanded to form a final " +
|
|
518
|
-
"ExpandedARLRequestCallbackUrl URL to be used by proceeding with the following substitution " +
|
|
519
|
-
"
|
|
516
|
+
"ExpandedARLRequestCallbackUrl URL to be used by proceeding with the following substitution algorithm " +
|
|
517
|
+
"on the provided CallbackUrl:" +
|
|
520
518
|
"\n" +
|
|
521
519
|
" • If key MTaer is present, the manufacturer custom flow having received the initial query " +
|
|
522
520
|
" containing the CallbackUrl shall substitute the placeholder value \"_\" (i.e. in MTaer=_) in the " +
|
|
523
|
-
" CallbackUrl with the final status of the access extension request flow which shall be one of " +
|
|
524
|
-
"
|
|
525
|
-
"
|
|
521
|
+
" CallbackUrl with the final status of the access extension request flow which shall be one of the " +
|
|
522
|
+
" following. Any value returned in the MTaer field not listed above shall be considered an error " +
|
|
523
|
+
" and shall be treated as GeneralFailure." +
|
|
526
524
|
"\n" +
|
|
527
525
|
" ◦ Success - The flow completed successfully and the ARL attribute was updated. The client may " +
|
|
528
526
|
" now read the ARL attribute to determine the new access restrictions." +
|
|
@@ -537,8 +535,8 @@ export const AccessControl = Cluster(
|
|
|
537
535
|
" ◦ NotFound - Access extension failed because the target fabric was not found." +
|
|
538
536
|
"\n" +
|
|
539
537
|
"A manufacturer custom flow having received an ExpandedARLRequestFlowUrl SHOULD attempt to open the " +
|
|
540
|
-
"ExpandedARLRequestCallbackUrl, on completion of the request, if an ExpandedARLRequestCallbackUrl " +
|
|
541
|
-
"
|
|
538
|
+
"ExpandedARLRequestCallbackUrl, on completion of the request, if an ExpandedARLRequestCallbackUrl was " +
|
|
539
|
+
"computed from the CallbackUrl and opening such a URL is supported." +
|
|
542
540
|
"\n" +
|
|
543
541
|
"Examples of ARLRequestFlowUrl URLs" +
|
|
544
542
|
"\n" +
|
|
@@ -603,15 +601,15 @@ export const AccessControl = Cluster(
|
|
|
603
601
|
"In response, a ReviewFabricRestrictionsResponse is sent which contains a token that can be used to " +
|
|
604
602
|
"correlate a review request with a FabricRestrictionReviewUpdate event." +
|
|
605
603
|
"\n" +
|
|
606
|
-
"Within 1 hour of the ReviewFabricRestrictionsResponse, the FabricRestrictionReviewUpdate event " +
|
|
607
|
-
"
|
|
608
|
-
"
|
|
604
|
+
"Within 1 hour of the ReviewFabricRestrictionsResponse, the FabricRestrictionReviewUpdate event shall " +
|
|
605
|
+
"be generated, in order to indicate completion of the review and any additional steps required by the " +
|
|
606
|
+
"user for the review." +
|
|
609
607
|
"\n" +
|
|
610
|
-
"A review may include obtaining consent from the user, which can take time. For example, the user " +
|
|
611
|
-
"
|
|
608
|
+
"A review may include obtaining consent from the user, which can take time. For example, the user may " +
|
|
609
|
+
"need to respond to an email or a push notification." +
|
|
612
610
|
"\n" +
|
|
613
|
-
"The ARL attribute may change at any time due to actions taken by the user, or the service " +
|
|
614
|
-
"
|
|
611
|
+
"The ARL attribute may change at any time due to actions taken by the user, or the service associated " +
|
|
612
|
+
"with the device vendor.",
|
|
615
613
|
|
|
616
614
|
xref: { document: "core", section: "9.10.8.1" }
|
|
617
615
|
},
|
|
@@ -781,8 +779,8 @@ export const AccessControl = Cluster(
|
|
|
781
779
|
"\n" +
|
|
782
780
|
"Subject Semantics" +
|
|
783
781
|
"\n" +
|
|
784
|
-
"An empty subjects list indicates a wildcard; that is, this entry shall grant access to any Node " +
|
|
785
|
-
"
|
|
782
|
+
"An empty subjects list indicates a wildcard; that is, this entry shall grant access to any Node that " +
|
|
783
|
+
"successfully authenticates via AuthMode. The subjects list shall NOT be empty if the entry’s " +
|
|
786
784
|
"AuthMode is PASE." +
|
|
787
785
|
"\n" +
|
|
788
786
|
"The PASE AuthMode is reserved for future use (see Section 6.6.2.9, “Bootstrapping of the Access " +
|
|
@@ -855,8 +853,8 @@ export const AccessControl = Cluster(
|
|
|
855
853
|
"profile-specific tag encoded in fully-qualified form." +
|
|
856
854
|
"\n" +
|
|
857
855
|
"Administrators may iterate over this list of elements, and interpret selected elements at their " +
|
|
858
|
-
"discretion. The content of each element is not specified, but may be coordinated among " +
|
|
859
|
-
"
|
|
856
|
+
"discretion. The content of each element is not specified, but may be coordinated among manufacturers " +
|
|
857
|
+
"at their discretion.",
|
|
860
858
|
|
|
861
859
|
xref: { document: "core", section: "9.10.5.7.1" }
|
|
862
860
|
}),
|
|
@@ -21,8 +21,8 @@ export const AccountLogin = Cluster(
|
|
|
21
21
|
|
|
22
22
|
details: "This cluster provides commands that facilitate user account login on a Content App or a node. For " +
|
|
23
23
|
"example, a Content App running on a Video Player device, which is represented as an endpoint (see " +
|
|
24
|
-
"Device Type Library document), can use this cluster to help make the user account on the Content " +
|
|
25
|
-
"
|
|
24
|
+
"Device Type Library document), can use this cluster to help make the user account on the Content App " +
|
|
25
|
+
"match the user account on the Client." +
|
|
26
26
|
"\n" +
|
|
27
27
|
"Often a fabric administrator will facilitate commissioning of a Client (such as a Casting Video " +
|
|
28
28
|
"Client), and invoke commands on the AccountLogin cluster on the Content App associated with that " +
|
|
@@ -42,8 +42,8 @@ export const AccountLogin = Cluster(
|
|
|
42
42
|
"\n" +
|
|
43
43
|
"See Device Type Library document for details of how a Content App, represented as an endpoint on" +
|
|
44
44
|
"\n" +
|
|
45
|
-
"the Video Player device, may implement the cluster server for this cluster to simplify account " +
|
|
46
|
-
"
|
|
45
|
+
"the Video Player device, may implement the cluster server for this cluster to simplify account login " +
|
|
46
|
+
"for its users.",
|
|
47
47
|
|
|
48
48
|
xref: { document: "cluster", section: "6.2" }
|
|
49
49
|
},
|
|
@@ -83,9 +83,9 @@ export const AccountLogin = Cluster(
|
|
|
83
83
|
"by the Video Player to commission the Phone App without requiring the user to physically input a " +
|
|
84
84
|
"setup code." +
|
|
85
85
|
"\n" +
|
|
86
|
-
"The account match is determined by the Content App using a method which is outside the scope of " +
|
|
87
|
-
"
|
|
88
|
-
"
|
|
86
|
+
"The account match is determined by the Content App using a method which is outside the scope of this " +
|
|
87
|
+
"specification and will typically involve a central service which is in communication with both the " +
|
|
88
|
+
"Content App and the Commissionee. The GetSetupPIN command is needed in order to provide the " +
|
|
89
89
|
"Commissioner/Admin with a Setup PIN when this Commissioner/Admin is operated by a different vendor " +
|
|
90
90
|
"from the Content App." +
|
|
91
91
|
"\n" +
|
|
@@ -103,8 +103,8 @@ export const AccountLogin = Cluster(
|
|
|
103
103
|
"The Temporary Account Identifier for a Commissionee may be populated with the Rotating ID field of " +
|
|
104
104
|
"the client’s commissionable node advertisement (see Rotating Device Identifier section in " +
|
|
105
105
|
"[MatterCore]) encoded as an octet string where the octets of the Rotating Device Identifier are " +
|
|
106
|
-
"encoded as 2-character sequences by representing each octet’s value as a 2-digit hexadecimal " +
|
|
107
|
-
"
|
|
106
|
+
"encoded as 2-character sequences by representing each octet’s value as a 2-digit hexadecimal number, " +
|
|
107
|
+
"using uppercase letters." +
|
|
108
108
|
"\n" +
|
|
109
109
|
"The Setup PIN is a character string so that it can accommodate different future formats, including " +
|
|
110
110
|
"alpha-numeric encodings. For a Commissionee it shall be populated with the Manual Pairing Code (see " +
|
|
@@ -195,8 +195,8 @@ export const AccountLogin = Cluster(
|
|
|
195
195
|
"for additional commands received within the 10 minute period. Because access to this command is " +
|
|
196
196
|
"limited to nodes with Admin-level access, and the user is involved when obtaining the SetupPIN, " +
|
|
197
197
|
"there are in place multiple obstacles to successfully mounting a brute force attack. A Content App " +
|
|
198
|
-
"that supports this command shall ensure that the Temporary Account Identifier used by its clients " +
|
|
199
|
-
"
|
|
198
|
+
"that supports this command shall ensure that the Temporary Account Identifier used by its clients is " +
|
|
199
|
+
"not valid for more than 10 minutes.",
|
|
200
200
|
|
|
201
201
|
xref: { document: "cluster", section: "6.2.4.3" }
|
|
202
202
|
},
|
|
@@ -33,12 +33,12 @@ export const Actions = Cluster(
|
|
|
33
33
|
" • Events to receive feedback on the state of such actions." +
|
|
34
34
|
"\n" +
|
|
35
35
|
"The information on grouping and available actions is typically provided by the user or Bridge " +
|
|
36
|
-
"manufacturer via some means not defined in Matter, and therefore provided as read-only to Nodes. " +
|
|
37
|
-
"
|
|
36
|
+
"manufacturer via some means not defined in Matter, and therefore provided as read-only to Nodes. For " +
|
|
37
|
+
"example: a manufacturer-provided app allows a user to set up logical grouping and create/assign " +
|
|
38
38
|
"scene for such groups." +
|
|
39
39
|
"\n" +
|
|
40
|
-
"Using this cluster, a Node can learn about such logical grouping, provided actions, and trigger " +
|
|
41
|
-
"
|
|
40
|
+
"Using this cluster, a Node can learn about such logical grouping, provided actions, and trigger such " +
|
|
41
|
+
"actions." +
|
|
42
42
|
"\n" +
|
|
43
43
|
"While the origin of this cluster stems from use cases with a Bridge, its server side may also be " +
|
|
44
44
|
"implemented on any Node which can expose certain grouping, actions or automations to other users." +
|
|
@@ -46,8 +46,8 @@ export const Actions = Cluster(
|
|
|
46
46
|
"After defining the attributes, commands and events for this cluster, and the associated data types, " +
|
|
47
47
|
"several examples are provided to illustrate the capabilities of this cluster." +
|
|
48
48
|
"\n" +
|
|
49
|
-
"Actions can be defined in a flexible manner to suit the needs of the various nodes implementing " +
|
|
50
|
-
"
|
|
49
|
+
"Actions can be defined in a flexible manner to suit the needs of the various nodes implementing this " +
|
|
50
|
+
"cluster. For each action, the commands available for that particular action are defined." +
|
|
51
51
|
"\n" +
|
|
52
52
|
"This cluster can be used to expose only the grouping of endpoints without any actions defined by " +
|
|
53
53
|
"populating the EndpointList attribute accordingly and providing an empty list for ActionList." +
|
|
@@ -96,8 +96,8 @@ export const Actions = Cluster(
|
|
|
96
96
|
" cluster provides." +
|
|
97
97
|
"\n" +
|
|
98
98
|
" ◦ Example: SetupURL could take the value of example://Actions or https://domain.example/ " +
|
|
99
|
-
" Matter/bridgev1/Actions for this generic case (access generic info how to use actions " +
|
|
100
|
-
"
|
|
99
|
+
" Matter/bridgev1/Actions for this generic case (access generic info how to use actions provided " +
|
|
100
|
+
" by this cluster)." +
|
|
101
101
|
"\n" +
|
|
102
102
|
" • When used with a suffix of \"/?a=\" and the decimal value of ActionID for one of the actions, it " +
|
|
103
103
|
" may provide information about that particular action. This could be a deeplink to " +
|
|
@@ -122,8 +122,8 @@ export const Actions = Cluster(
|
|
|
122
122
|
"\n" +
|
|
123
123
|
"It provides feedback to the client about the progress of the action." +
|
|
124
124
|
"\n" +
|
|
125
|
-
"Example: When InstantActionWithTransition is invoked (with an InvokeID data field), two " +
|
|
126
|
-
"
|
|
125
|
+
"Example: When InstantActionWithTransition is invoked (with an InvokeID data field), two StateChanged " +
|
|
126
|
+
"events will be generated:" +
|
|
127
127
|
"\n" +
|
|
128
128
|
" • one when the transition starts (NewState=Active)" +
|
|
129
129
|
"\n" +
|
|
@@ -169,8 +169,8 @@ export const Actions = Cluster(
|
|
|
169
169
|
"\n" +
|
|
170
170
|
" • ActionFailed when the interrupting command occurs (NewState=Inactive, Error=interrupted)" +
|
|
171
171
|
"\n" +
|
|
172
|
-
"Example: When InstantActionWithTransition is invoked (with an InvokeID data field = 1), and the " +
|
|
173
|
-
"
|
|
172
|
+
"Example: When InstantActionWithTransition is invoked (with an InvokeID data field = 1), and the same " +
|
|
173
|
+
"client invokes an InstantAction with (the same or another ActionId and) InvokeID = 2, and this " +
|
|
174
174
|
"second command interrupts the transition triggered by the first command, these events would be " +
|
|
175
175
|
"generated:" +
|
|
176
176
|
"\n" +
|
|
@@ -279,8 +279,8 @@ export const Actions = Cluster(
|
|
|
279
279
|
response: "status",
|
|
280
280
|
|
|
281
281
|
details: "This command triggers the commencement of an action on the involved endpoints, and shall change the " +
|
|
282
|
-
"action’s state to Active. After the specified Duration, the action will stop, and the action’s " +
|
|
283
|
-
"
|
|
282
|
+
"action’s state to Active. After the specified Duration, the action will stop, and the action’s state " +
|
|
283
|
+
"shall change to Inactive." +
|
|
284
284
|
"\n" +
|
|
285
285
|
"Example: start a dynamic lighting pattern (such as gradually rotating the colors around the " +
|
|
286
286
|
"setpoints of the scene) on a set of lights for 1 hour (Duration=3600).",
|
|
@@ -367,8 +367,8 @@ export const Actions = Cluster(
|
|
|
367
367
|
"The difference between ResumeAction and StartAction is that ResumeAction will continue the action " +
|
|
368
368
|
"from the state where it was paused, while StartAction will start the action from the beginning." +
|
|
369
369
|
"\n" +
|
|
370
|
-
"Example: resume a dynamic lighting effect (the lights' colors will change gradually, continuing " +
|
|
371
|
-
"
|
|
370
|
+
"Example: resume a dynamic lighting effect (the lights' colors will change gradually, continuing from " +
|
|
371
|
+
"the point they were paused).",
|
|
372
372
|
|
|
373
373
|
xref: { document: "core", section: "9.14.6.8" }
|
|
374
374
|
},
|
|
@@ -440,9 +440,9 @@ export const Actions = Cluster(
|
|
|
440
440
|
"Disabled. After the specified Duration, the action or automation will re-start, and the action’s " +
|
|
441
441
|
"state shall change to either Inactive or Active, depending on the actions (see examples 4 and 6)." +
|
|
442
442
|
"\n" +
|
|
443
|
-
"Example: disable a \"wakeup\" experience for a period of 1 week when going on holiday (to prevent " +
|
|
444
|
-
"
|
|
445
|
-
"
|
|
443
|
+
"Example: disable a \"wakeup\" experience for a period of 1 week when going on holiday (to prevent them " +
|
|
444
|
+
"from turning on in the morning while you’re not at home). After this period, the wakeup experience " +
|
|
445
|
+
"will control the lights as before.",
|
|
446
446
|
|
|
447
447
|
xref: { document: "core", section: "9.14.6.12" }
|
|
448
448
|
},
|
|
@@ -502,9 +502,9 @@ export const Actions = Cluster(
|
|
|
502
502
|
name: "Scene", id: 0x1, conformance: "M", description: "Bring the endpoints into a certain state",
|
|
503
503
|
|
|
504
504
|
details: "Can be used to set a static state of the associated endpoints (typically using InstantAction or " +
|
|
505
|
-
"InstantActionWithTransition), or to bring these endpoints into a more dynamic state (typically " +
|
|
506
|
-
"
|
|
507
|
-
"
|
|
505
|
+
"InstantActionWithTransition), or to bring these endpoints into a more dynamic state (typically using " +
|
|
506
|
+
"StartAction), where the endpoints would e.g. gradually cycle through certain colors for a pleasing " +
|
|
507
|
+
"effect. A voice controller could use \"set\" (to map to InstantAction) or \"play\" (to map to " +
|
|
508
508
|
"StartAction) to trig" +
|
|
509
509
|
"\n" +
|
|
510
510
|
"ger such actions." +
|
|
@@ -598,8 +598,8 @@ export const Actions = Cluster(
|
|
|
598
598
|
name: "Other", id: 0x0, conformance: "M", description: "Another group of endpoints",
|
|
599
599
|
details: "This value is provided for the case of an endpoint list which is tied specifically to this action " +
|
|
600
600
|
"i.e. not independently created by the user. For Type=Other the Name may be empty. A Matter " +
|
|
601
|
-
"controller would typically not use this for anything else than just to know which endpoints would " +
|
|
602
|
-
"
|
|
601
|
+
"controller would typically not use this for anything else than just to know which endpoints would be " +
|
|
602
|
+
"affected by the action.",
|
|
603
603
|
xref: { document: "core", section: "9.14.4.5.1" }
|
|
604
604
|
}),
|
|
605
605
|
|
|
@@ -607,10 +607,10 @@ export const Actions = Cluster(
|
|
|
607
607
|
name: "Room", id: 0x1, conformance: "M",
|
|
608
608
|
description: "User-configured group of endpoints where an endpoint can be in only one room",
|
|
609
609
|
details: "Is used for the situation where an endpoint can only be part of one such rooms (e.g. physical " +
|
|
610
|
-
"mapping). Using these exposed logical groups, a Matter controller who has a similar grouping " +
|
|
611
|
-
"
|
|
612
|
-
"
|
|
613
|
-
"
|
|
610
|
+
"mapping). Using these exposed logical groups, a Matter controller who has a similar grouping concept " +
|
|
611
|
+
"can use it to place each endpoint (bridged device) in the right room automatically, without user " +
|
|
612
|
+
"having to redo that setup for each device in each system - both at first contact and upon later " +
|
|
613
|
+
"updates to the endpoints (e.g. user adds a bridged device or creates a new room).",
|
|
614
614
|
xref: { document: "core", section: "9.14.4.5.2" }
|
|
615
615
|
}),
|
|
616
616
|
|
|
@@ -623,9 +623,9 @@ export const Actions = Cluster(
|
|
|
623
623
|
"\n" +
|
|
624
624
|
"room can be part of the \"reading corner\" zone (subset of the lights in the living room) but also " +
|
|
625
625
|
"part of the \"downstairs\" zone which contains all the lights on a floor, e.g. combining living room, " +
|
|
626
|
-
"kitchen and hallway. This indicates that a user has defined this list of endpoints as something " +
|
|
627
|
-
"
|
|
628
|
-
"
|
|
626
|
+
"kitchen and hallway. This indicates that a user has defined this list of endpoints as something they " +
|
|
627
|
+
"logically would like to control as a group, so Matter controllers could provide the user with a way " +
|
|
628
|
+
"to do as such.",
|
|
629
629
|
|
|
630
630
|
xref: { document: "core", section: "9.14.4.5.3" }
|
|
631
631
|
})
|
|
@@ -668,9 +668,9 @@ export const Actions = Cluster(
|
|
|
668
668
|
|
|
669
669
|
Field({
|
|
670
670
|
name: "SupportedCommands", id: 0x4, type: "CommandBits", conformance: "M", constraint: "0 to 4095",
|
|
671
|
-
details: "This field is a bitmap which shall be used to indicate which of the cluster’s commands are " +
|
|
672
|
-
"
|
|
673
|
-
"
|
|
671
|
+
details: "This field is a bitmap which shall be used to indicate which of the cluster’s commands are supported " +
|
|
672
|
+
"for this particular action, with a bit set to 1 for each supported command according to the table " +
|
|
673
|
+
"below. Other bits shall be set to 0.",
|
|
674
674
|
xref: { document: "core", section: "9.14.4.6.5" }
|
|
675
675
|
}),
|
|
676
676
|
|
|
@@ -684,8 +684,8 @@ export const Actions = Cluster(
|
|
|
684
684
|
Datatype(
|
|
685
685
|
{
|
|
686
686
|
name: "EndpointListStruct", type: "struct",
|
|
687
|
-
details: "This data type holds the details of a single endpoint list, which relates to a set of endpoints " +
|
|
688
|
-
"
|
|
687
|
+
details: "This data type holds the details of a single endpoint list, which relates to a set of endpoints that " +
|
|
688
|
+
"have some logical relation, and contains the data fields below.",
|
|
689
689
|
xref: { document: "core", section: "9.14.4.7" }
|
|
690
690
|
},
|
|
691
691
|
|