@matter/model 0.13.0-alpha.0-20250304-d4a7592a4 → 0.13.0-alpha.0-20250311-3eb0af5f2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/aspects/Conformance.d.ts +5 -3
- package/dist/cjs/aspects/Conformance.d.ts.map +1 -1
- package/dist/cjs/aspects/Conformance.js +23 -2
- package/dist/cjs/aspects/Conformance.js.map +1 -1
- package/dist/cjs/aspects/Quality.d.ts +9 -2
- package/dist/cjs/aspects/Quality.d.ts.map +1 -1
- package/dist/cjs/aspects/Quality.js +3 -1
- package/dist/cjs/aspects/Quality.js.map +1 -1
- package/dist/cjs/common/Specification.d.ts +3 -3
- package/dist/cjs/common/Specification.d.ts.map +1 -1
- package/dist/cjs/common/Specification.js +3 -3
- package/dist/cjs/logic/cluster-variance/IllegalFeatureCombinations.js +82 -66
- package/dist/cjs/logic/cluster-variance/IllegalFeatureCombinations.js.map +1 -1
- package/dist/cjs/logic/cluster-variance/InferredComponents.js +24 -1
- package/dist/cjs/logic/cluster-variance/InferredComponents.js.map +1 -1
- package/dist/cjs/logic/definition-validation/ValueValidator.d.ts.map +1 -1
- package/dist/cjs/logic/definition-validation/ValueValidator.js +11 -6
- package/dist/cjs/logic/definition-validation/ValueValidator.js.map +1 -1
- package/dist/cjs/models/AttributeModel.d.ts.map +1 -1
- package/dist/cjs/models/AttributeModel.js +1 -4
- package/dist/cjs/models/AttributeModel.js.map +1 -1
- package/dist/cjs/models/ClusterModel.d.ts.map +1 -1
- package/dist/cjs/models/ClusterModel.js +1 -3
- package/dist/cjs/models/ClusterModel.js.map +1 -1
- package/dist/cjs/models/CommandModel.d.ts.map +1 -1
- package/dist/cjs/models/CommandModel.js +1 -4
- package/dist/cjs/models/CommandModel.js.map +1 -1
- package/dist/cjs/models/DatatypeModel.d.ts +1 -0
- package/dist/cjs/models/DatatypeModel.d.ts.map +1 -1
- package/dist/cjs/models/DatatypeModel.js +2 -4
- package/dist/cjs/models/DatatypeModel.js.map +1 -1
- package/dist/cjs/models/DeviceTypeModel.d.ts +1 -0
- package/dist/cjs/models/DeviceTypeModel.d.ts.map +1 -1
- package/dist/cjs/models/DeviceTypeModel.js +2 -3
- package/dist/cjs/models/DeviceTypeModel.js.map +1 -1
- package/dist/cjs/models/EndpointModel.d.ts +1 -0
- package/dist/cjs/models/EndpointModel.d.ts.map +1 -1
- package/dist/cjs/models/EndpointModel.js +2 -3
- package/dist/cjs/models/EndpointModel.js.map +1 -1
- package/dist/cjs/models/EventModel.d.ts.map +1 -1
- package/dist/cjs/models/EventModel.js +1 -4
- package/dist/cjs/models/EventModel.js.map +1 -1
- package/dist/cjs/models/FabricModel.d.ts +1 -0
- package/dist/cjs/models/FabricModel.d.ts.map +1 -1
- package/dist/cjs/models/FabricModel.js +2 -3
- package/dist/cjs/models/FabricModel.js.map +1 -1
- package/dist/cjs/models/FieldModel.d.ts +1 -0
- package/dist/cjs/models/FieldModel.d.ts.map +1 -1
- package/dist/cjs/models/FieldModel.js +2 -4
- package/dist/cjs/models/FieldModel.js.map +1 -1
- package/dist/cjs/models/Globals.d.ts +27 -1
- package/dist/cjs/models/Globals.d.ts.map +1 -1
- package/dist/cjs/models/MatterModel.d.ts +1 -0
- package/dist/cjs/models/MatterModel.d.ts.map +1 -1
- package/dist/cjs/models/MatterModel.js +2 -4
- package/dist/cjs/models/MatterModel.js.map +1 -1
- package/dist/cjs/models/Model.d.ts +26 -2
- package/dist/cjs/models/Model.d.ts.map +1 -1
- package/dist/cjs/models/Model.js +44 -5
- package/dist/cjs/models/Model.js.map +1 -1
- package/dist/cjs/models/NodeModel.d.ts +1 -0
- package/dist/cjs/models/NodeModel.d.ts.map +1 -1
- package/dist/cjs/models/NodeModel.js +2 -3
- package/dist/cjs/models/NodeModel.js.map +1 -1
- package/dist/cjs/models/RequirementModel.d.ts +1 -0
- package/dist/cjs/models/RequirementModel.d.ts.map +1 -1
- package/dist/cjs/models/RequirementModel.js +2 -3
- package/dist/cjs/models/RequirementModel.js.map +1 -1
- package/dist/cjs/models/SemanticNamespaceModel.d.ts +1 -0
- package/dist/cjs/models/SemanticNamespaceModel.d.ts.map +1 -1
- package/dist/cjs/models/SemanticNamespaceModel.js +2 -3
- package/dist/cjs/models/SemanticNamespaceModel.js.map +1 -1
- package/dist/cjs/models/SemanticTagModel.d.ts +1 -0
- package/dist/cjs/models/SemanticTagModel.d.ts.map +1 -1
- package/dist/cjs/models/SemanticTagModel.js +2 -3
- package/dist/cjs/models/SemanticTagModel.js.map +1 -1
- package/dist/cjs/standard/elements/AcceptedCommandList.d.ts.map +1 -1
- package/dist/cjs/standard/elements/AcceptedCommandList.js +1 -1
- package/dist/cjs/standard/elements/AcceptedCommandList.js.map +1 -1
- package/dist/cjs/standard/elements/AccessControl.d.ts.map +1 -1
- package/dist/cjs/standard/elements/AccessControl.js +298 -37
- package/dist/cjs/standard/elements/AccessControl.js.map +2 -2
- package/dist/cjs/standard/elements/Actions.d.ts.map +1 -1
- package/dist/cjs/standard/elements/Actions.js +6 -6
- package/dist/cjs/standard/elements/Actions.js.map +1 -1
- package/dist/cjs/standard/elements/AdministratorCommissioning.d.ts.map +1 -1
- package/dist/cjs/standard/elements/AdministratorCommissioning.js +18 -12
- package/dist/cjs/standard/elements/AdministratorCommissioning.js.map +1 -1
- package/dist/cjs/standard/elements/AggregatorDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/AggregatorDT.js +18 -3
- package/dist/cjs/standard/elements/AggregatorDT.js.map +2 -2
- package/dist/cjs/standard/elements/AirPurifierDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/AirPurifierDT.js +8 -1
- package/dist/cjs/standard/elements/AirPurifierDT.js.map +1 -1
- package/dist/cjs/standard/elements/AlarmBase.d.ts.map +1 -1
- package/dist/cjs/standard/elements/AlarmBase.js +1 -1
- package/dist/cjs/standard/elements/AlarmBase.js.map +1 -1
- package/dist/cjs/standard/elements/ApplicationLauncher.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ApplicationLauncher.js +12 -4
- package/dist/cjs/standard/elements/ApplicationLauncher.js.map +1 -1
- package/dist/cjs/standard/elements/AreaNamespaceNS.d.ts +8 -0
- package/dist/cjs/standard/elements/AreaNamespaceNS.d.ts.map +1 -0
- package/dist/cjs/standard/elements/AreaNamespaceNS.js +147 -0
- package/dist/cjs/standard/elements/AreaNamespaceNS.js.map +6 -0
- package/dist/cjs/standard/elements/AtomicAttributeStatusStruct.d.ts +8 -0
- package/dist/cjs/standard/elements/AtomicAttributeStatusStruct.d.ts.map +1 -0
- package/dist/cjs/standard/elements/AtomicAttributeStatusStruct.js +56 -0
- package/dist/cjs/standard/elements/AtomicAttributeStatusStruct.js.map +6 -0
- package/dist/cjs/standard/elements/AtomicRequestTypeEnum.d.ts +8 -0
- package/dist/cjs/standard/elements/AtomicRequestTypeEnum.d.ts.map +1 -0
- package/dist/cjs/standard/elements/AtomicRequestTypeEnum.js +43 -0
- package/dist/cjs/standard/elements/AtomicRequestTypeEnum.js.map +6 -0
- package/dist/cjs/standard/elements/BallastConfiguration.js +1 -1
- package/dist/cjs/standard/elements/BasicInformation.d.ts.map +1 -1
- package/dist/cjs/standard/elements/BasicInformation.js +17 -19
- package/dist/cjs/standard/elements/BasicInformation.js.map +1 -1
- package/dist/cjs/standard/elements/BatteryStorageDT.d.ts +8 -0
- package/dist/cjs/standard/elements/BatteryStorageDT.d.ts.map +1 -0
- package/dist/cjs/standard/elements/BatteryStorageDT.js +53 -0
- package/dist/cjs/standard/elements/BatteryStorageDT.js.map +6 -0
- package/dist/cjs/standard/elements/BooleanStateConfiguration.js +2 -2
- package/dist/cjs/standard/elements/BridgedDeviceBasicInformation.d.ts.map +1 -1
- package/dist/cjs/standard/elements/BridgedDeviceBasicInformation.js +102 -31
- package/dist/cjs/standard/elements/BridgedDeviceBasicInformation.js.map +2 -2
- package/dist/cjs/standard/elements/BridgedNodeDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/BridgedNodeDT.js +24 -2
- package/dist/cjs/standard/elements/BridgedNodeDT.js.map +2 -2
- package/dist/cjs/standard/elements/Channel.d.ts.map +1 -1
- package/dist/cjs/standard/elements/Channel.js +13 -14
- package/dist/cjs/standard/elements/Channel.js.map +1 -1
- package/dist/cjs/standard/elements/ColorControl.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ColorControl.js +607 -478
- package/dist/cjs/standard/elements/ColorControl.js.map +1 -1
- package/dist/cjs/standard/elements/{PulseWidthModulation.d.ts → CommissionerControl.d.ts} +2 -2
- package/dist/cjs/standard/elements/CommissionerControl.d.ts.map +1 -0
- package/dist/cjs/standard/elements/CommissionerControl.js +130 -0
- package/dist/cjs/standard/elements/CommissionerControl.js.map +6 -0
- package/dist/cjs/standard/elements/ConcentrationMeasurement.js +0 -1
- package/dist/cjs/standard/elements/ConcentrationMeasurement.js.map +1 -1
- package/dist/cjs/standard/elements/ContentControl.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ContentControl.js +34 -39
- package/dist/cjs/standard/elements/ContentControl.js.map +1 -1
- package/dist/cjs/standard/elements/ContentLauncher.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ContentLauncher.js +13 -11
- 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 +154 -118
- package/dist/cjs/standard/elements/DeviceEnergyManagement.js.map +1 -1
- package/dist/cjs/standard/elements/DeviceEnergyManagementDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/DeviceEnergyManagementDT.js +26 -11
- package/dist/cjs/standard/elements/DeviceEnergyManagementDT.js.map +2 -2
- package/dist/cjs/standard/elements/DeviceEnergyManagementMode.d.ts.map +1 -1
- package/dist/cjs/standard/elements/DeviceEnergyManagementMode.js +38 -9
- package/dist/cjs/standard/elements/DeviceEnergyManagementMode.js.map +2 -2
- package/dist/cjs/standard/elements/DishwasherAlarm.d.ts.map +1 -1
- package/dist/cjs/standard/elements/DishwasherAlarm.js +1 -1
- package/dist/cjs/standard/elements/DishwasherAlarm.js.map +1 -1
- package/dist/cjs/standard/elements/DishwasherMode.d.ts.map +1 -1
- package/dist/cjs/standard/elements/DishwasherMode.js +35 -15
- package/dist/cjs/standard/elements/DishwasherMode.js.map +2 -2
- package/dist/cjs/standard/elements/DoorLock.d.ts.map +1 -1
- package/dist/cjs/standard/elements/DoorLock.js +505 -629
- package/dist/cjs/standard/elements/DoorLock.js.map +1 -1
- package/dist/cjs/standard/elements/DoorLockControllerDT.js +1 -1
- package/dist/cjs/standard/elements/DoorLockControllerDT.js.map +1 -1
- package/dist/cjs/standard/elements/DoorLockDT.js +2 -2
- package/dist/cjs/standard/elements/DoorLockDT.js.map +1 -1
- package/dist/{esm/standard/elements/PulseWidthModulation.d.ts → cjs/standard/elements/EcosystemInformation.d.ts} +2 -2
- package/dist/cjs/standard/elements/EcosystemInformation.d.ts.map +1 -0
- package/dist/cjs/standard/elements/EcosystemInformation.js +147 -0
- package/dist/cjs/standard/elements/EcosystemInformation.js.map +6 -0
- package/dist/cjs/standard/elements/ElectricalEnergyMeasurement.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ElectricalEnergyMeasurement.js +9 -18
- package/dist/cjs/standard/elements/ElectricalEnergyMeasurement.js.map +1 -1
- package/dist/cjs/standard/elements/ElectricalMeasurementNS.js +1 -1
- package/dist/cjs/standard/elements/ElectricalPowerMeasurement.js +5 -5
- package/dist/cjs/standard/elements/ElectricalPowerMeasurement.js.map +1 -1
- package/dist/cjs/standard/elements/EnergyEvse.d.ts.map +1 -1
- package/dist/cjs/standard/elements/EnergyEvse.js +98 -51
- package/dist/cjs/standard/elements/EnergyEvse.js.map +1 -1
- package/dist/cjs/standard/elements/EnergyEvseDT.d.ts +8 -0
- package/dist/cjs/standard/elements/EnergyEvseDT.d.ts.map +1 -0
- package/dist/cjs/standard/elements/EnergyEvseDT.js +74 -0
- package/dist/cjs/standard/elements/EnergyEvseDT.js.map +6 -0
- package/dist/cjs/standard/elements/EnergyEvseMode.d.ts.map +1 -1
- package/dist/cjs/standard/elements/EnergyEvseMode.js +49 -8
- package/dist/cjs/standard/elements/EnergyEvseMode.js.map +2 -2
- package/dist/cjs/standard/elements/EnergyPreference.d.ts.map +1 -1
- package/dist/cjs/standard/elements/EnergyPreference.js +22 -19
- package/dist/cjs/standard/elements/EnergyPreference.js.map +1 -1
- package/dist/cjs/standard/elements/EthernetNetworkDiagnostics.d.ts.map +1 -1
- package/dist/cjs/standard/elements/EthernetNetworkDiagnostics.js +1 -1
- package/dist/cjs/standard/elements/EthernetNetworkDiagnostics.js.map +1 -1
- package/dist/cjs/standard/elements/EventList.d.ts.map +1 -1
- package/dist/cjs/standard/elements/EventList.js +1 -12
- package/dist/cjs/standard/elements/EventList.js.map +2 -2
- package/dist/cjs/standard/elements/FabricIndex.js +1 -1
- package/dist/cjs/standard/elements/FanControl.js +8 -10
- package/dist/cjs/standard/elements/FanControl.js.map +1 -1
- package/dist/cjs/standard/elements/FanDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/FanDT.js +8 -1
- package/dist/cjs/standard/elements/FanDT.js.map +1 -1
- package/dist/cjs/standard/elements/FeatureMap.d.ts.map +1 -1
- package/dist/cjs/standard/elements/FeatureMap.js +1 -1
- package/dist/cjs/standard/elements/FeatureMap.js.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/FlowMeasurement.d.ts.map +1 -1
- package/dist/cjs/standard/elements/FlowMeasurement.js +6 -6
- package/dist/cjs/standard/elements/FlowMeasurement.js.map +1 -1
- package/dist/cjs/standard/elements/GeneralCommissioning.d.ts.map +1 -1
- package/dist/cjs/standard/elements/GeneralCommissioning.js +162 -38
- package/dist/cjs/standard/elements/GeneralCommissioning.js.map +2 -2
- package/dist/cjs/standard/elements/GeneralDiagnostics.d.ts.map +1 -1
- package/dist/cjs/standard/elements/GeneralDiagnostics.js +12 -13
- package/dist/cjs/standard/elements/GeneralDiagnostics.js.map +1 -1
- package/dist/cjs/standard/elements/GeneratedCommandList.d.ts.map +1 -1
- package/dist/cjs/standard/elements/GeneratedCommandList.js +1 -1
- package/dist/cjs/standard/elements/GeneratedCommandList.js.map +1 -1
- package/dist/cjs/standard/elements/GroupKeyManagement.d.ts.map +1 -1
- package/dist/cjs/standard/elements/GroupKeyManagement.js +13 -12
- 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 +1 -1
- package/dist/cjs/standard/elements/Groups.js.map +1 -1
- package/dist/cjs/standard/elements/HeatPumpDT.d.ts +8 -0
- package/dist/cjs/standard/elements/HeatPumpDT.d.ts.map +1 -0
- package/dist/cjs/standard/elements/HeatPumpDT.js +60 -0
- package/dist/cjs/standard/elements/HeatPumpDT.js.map +6 -0
- package/dist/cjs/standard/elements/IcdManagement.d.ts.map +1 -1
- package/dist/cjs/standard/elements/IcdManagement.js +74 -20
- package/dist/cjs/standard/elements/IcdManagement.js.map +1 -1
- package/dist/cjs/standard/elements/Identify.js +5 -5
- package/dist/cjs/standard/elements/IlluminanceMeasurement.d.ts.map +1 -1
- package/dist/cjs/standard/elements/IlluminanceMeasurement.js +7 -7
- package/dist/cjs/standard/elements/IlluminanceMeasurement.js.map +1 -1
- package/dist/cjs/standard/elements/JointFabricAdministratorDT.d.ts +8 -0
- package/dist/cjs/standard/elements/JointFabricAdministratorDT.d.ts.map +1 -0
- package/dist/cjs/standard/elements/JointFabricAdministratorDT.js +60 -0
- package/dist/cjs/standard/elements/JointFabricAdministratorDT.js.map +6 -0
- package/dist/cjs/standard/elements/JointFabricDatastoreCluster.d.ts +8 -0
- package/dist/cjs/standard/elements/JointFabricDatastoreCluster.d.ts.map +1 -0
- package/dist/cjs/standard/elements/JointFabricDatastoreCluster.js +687 -0
- package/dist/cjs/standard/elements/JointFabricDatastoreCluster.js.map +6 -0
- package/dist/cjs/standard/elements/JointFabricPki.d.ts +8 -0
- package/dist/cjs/standard/elements/JointFabricPki.d.ts.map +1 -0
- package/dist/cjs/standard/elements/JointFabricPki.js +167 -0
- package/dist/cjs/standard/elements/JointFabricPki.js.map +6 -0
- package/dist/cjs/standard/elements/KeypadInput.d.ts.map +1 -1
- package/dist/cjs/standard/elements/KeypadInput.js +1 -1
- package/dist/cjs/standard/elements/KeypadInput.js.map +1 -1
- package/dist/cjs/standard/elements/LandmarkNamespaceNS.d.ts +8 -0
- package/dist/cjs/standard/elements/LandmarkNamespaceNS.d.ts.map +1 -0
- package/dist/cjs/standard/elements/LandmarkNamespaceNS.js +91 -0
- package/dist/cjs/standard/elements/LandmarkNamespaceNS.js.map +6 -0
- package/dist/cjs/standard/elements/LaundryDryerControls.js +2 -1
- package/dist/cjs/standard/elements/LaundryDryerControls.js.map +1 -1
- package/dist/cjs/standard/elements/LaundryNS.js +1 -1
- package/dist/cjs/standard/elements/LaundryWasherControls.d.ts.map +1 -1
- package/dist/cjs/standard/elements/LaundryWasherControls.js +8 -8
- package/dist/cjs/standard/elements/LaundryWasherControls.js.map +1 -1
- package/dist/cjs/standard/elements/LaundryWasherMode.d.ts.map +1 -1
- package/dist/cjs/standard/elements/LaundryWasherMode.js +36 -16
- package/dist/cjs/standard/elements/LaundryWasherMode.js.map +2 -2
- package/dist/cjs/standard/elements/LevelControl.d.ts.map +1 -1
- package/dist/cjs/standard/elements/LevelControl.js +14 -13
- package/dist/cjs/standard/elements/LevelControl.js.map +1 -1
- package/dist/cjs/standard/elements/LocalizationConfiguration.d.ts.map +1 -1
- package/dist/cjs/standard/elements/LocalizationConfiguration.js +11 -13
- package/dist/cjs/standard/elements/LocalizationConfiguration.js.map +1 -1
- package/dist/cjs/standard/elements/MediaInput.d.ts.map +1 -1
- package/dist/cjs/standard/elements/MediaInput.js +1 -1
- package/dist/cjs/standard/elements/MediaInput.js.map +1 -1
- package/dist/cjs/standard/elements/MediaPlayback.d.ts.map +1 -1
- package/dist/cjs/standard/elements/MediaPlayback.js +3 -2
- package/dist/cjs/standard/elements/MediaPlayback.js.map +1 -1
- package/dist/cjs/standard/elements/MicrowaveOvenControl.d.ts.map +1 -1
- package/dist/cjs/standard/elements/MicrowaveOvenControl.js +12 -12
- package/dist/cjs/standard/elements/MicrowaveOvenControl.js.map +1 -1
- package/dist/cjs/standard/elements/MicrowaveOvenMode.d.ts.map +1 -1
- package/dist/cjs/standard/elements/MicrowaveOvenMode.js +37 -12
- package/dist/cjs/standard/elements/MicrowaveOvenMode.js.map +2 -2
- package/dist/cjs/standard/elements/ModeBase.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ModeBase.js +18 -69
- package/dist/cjs/standard/elements/ModeBase.js.map +1 -1
- package/dist/cjs/standard/elements/ModeSelect.js +10 -10
- package/dist/cjs/standard/elements/ModeSelect.js.map +1 -1
- package/dist/cjs/standard/elements/MountedDimmableLoadControlDT.d.ts +8 -0
- package/dist/cjs/standard/elements/MountedDimmableLoadControlDT.d.ts.map +1 -0
- package/dist/cjs/standard/elements/MountedDimmableLoadControlDT.js +104 -0
- package/dist/cjs/standard/elements/MountedDimmableLoadControlDT.js.map +6 -0
- package/dist/cjs/standard/elements/MountedOnOffControlDT.d.ts +8 -0
- package/dist/cjs/standard/elements/MountedOnOffControlDT.d.ts.map +1 -0
- package/dist/cjs/standard/elements/MountedOnOffControlDT.js +104 -0
- package/dist/cjs/standard/elements/MountedOnOffControlDT.js.map +6 -0
- package/dist/cjs/standard/elements/NetworkCommissioning.d.ts.map +1 -1
- package/dist/cjs/standard/elements/NetworkCommissioning.js +50 -37
- package/dist/cjs/standard/elements/NetworkCommissioning.js.map +1 -1
- package/dist/cjs/standard/elements/NetworkInfrastructureManagerDT.d.ts +8 -0
- package/dist/cjs/standard/elements/NetworkInfrastructureManagerDT.d.ts.map +1 -0
- package/dist/cjs/standard/elements/NetworkInfrastructureManagerDT.js +67 -0
- package/dist/cjs/standard/elements/NetworkInfrastructureManagerDT.js.map +6 -0
- package/dist/cjs/standard/elements/OccupancySensing.d.ts.map +1 -1
- package/dist/cjs/standard/elements/OccupancySensing.js +194 -41
- package/dist/cjs/standard/elements/OccupancySensing.js.map +2 -2
- package/dist/cjs/standard/elements/OccupancySensorDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/OccupancySensorDT.js +8 -1
- package/dist/cjs/standard/elements/OccupancySensorDT.js.map +1 -1
- package/dist/cjs/standard/elements/OnOff.d.ts.map +1 -1
- package/dist/cjs/standard/elements/OnOff.js +1 -1
- package/dist/cjs/standard/elements/OnOff.js.map +1 -1
- package/dist/cjs/standard/elements/OperationalCredentials.d.ts.map +1 -1
- package/dist/cjs/standard/elements/OperationalCredentials.js +7 -7
- package/dist/cjs/standard/elements/OperationalCredentials.js.map +1 -1
- package/dist/cjs/standard/elements/OperationalState.d.ts.map +1 -1
- package/dist/cjs/standard/elements/OperationalState.js +22 -22
- package/dist/cjs/standard/elements/OperationalState.js.map +1 -1
- package/dist/cjs/standard/elements/OtaSoftwareUpdateProvider.d.ts.map +1 -1
- package/dist/cjs/standard/elements/OtaSoftwareUpdateProvider.js +11 -12
- package/dist/cjs/standard/elements/OtaSoftwareUpdateProvider.js.map +1 -1
- package/dist/cjs/standard/elements/OtaSoftwareUpdateRequestor.d.ts.map +1 -1
- package/dist/cjs/standard/elements/OtaSoftwareUpdateRequestor.js +2 -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/OvenCavityOperationalState.js +7 -2
- package/dist/cjs/standard/elements/OvenCavityOperationalState.js.map +2 -2
- package/dist/cjs/standard/elements/OvenDT.js +1 -1
- package/dist/cjs/standard/elements/OvenMode.d.ts.map +1 -1
- package/dist/cjs/standard/elements/OvenMode.js +47 -12
- package/dist/cjs/standard/elements/OvenMode.js.map +2 -2
- package/dist/cjs/standard/elements/PowerSource.d.ts.map +1 -1
- package/dist/cjs/standard/elements/PowerSource.js +12 -12
- package/dist/cjs/standard/elements/PowerSource.js.map +1 -1
- package/dist/cjs/standard/elements/PowerSourceNS.js +5 -5
- package/dist/cjs/standard/elements/PressureMeasurement.js +7 -7
- package/dist/cjs/standard/elements/PressureMeasurement.js.map +1 -1
- package/dist/cjs/standard/elements/PumpConfigurationAndControl.d.ts.map +1 -1
- package/dist/cjs/standard/elements/PumpConfigurationAndControl.js +9 -19
- package/dist/cjs/standard/elements/PumpConfigurationAndControl.js.map +1 -1
- package/dist/cjs/standard/elements/PumpControllerDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/PumpControllerDT.js +1 -8
- package/dist/cjs/standard/elements/PumpControllerDT.js.map +1 -1
- package/dist/cjs/standard/elements/PumpDT.js +14 -14
- package/dist/cjs/standard/elements/RefrigeratorAlarm.d.ts.map +1 -1
- package/dist/cjs/standard/elements/RefrigeratorAlarm.js +1 -1
- package/dist/cjs/standard/elements/RefrigeratorAlarm.js.map +1 -1
- package/dist/cjs/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.d.ts.map +1 -1
- package/dist/cjs/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.js +36 -10
- package/dist/cjs/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.js.map +2 -2
- package/dist/cjs/standard/elements/RefrigeratorDT.js +1 -1
- package/dist/cjs/standard/elements/RefrigeratorNS.js +1 -1
- package/dist/cjs/standard/elements/RelativeHumidityMeasurement.d.ts.map +1 -1
- package/dist/cjs/standard/elements/RelativeHumidityMeasurement.js +3 -3
- package/dist/cjs/standard/elements/RelativeHumidityMeasurement.js.map +1 -1
- package/dist/cjs/standard/elements/RelativePositionNS.d.ts +8 -0
- package/dist/cjs/standard/elements/RelativePositionNS.d.ts.map +1 -0
- package/dist/cjs/standard/elements/RelativePositionNS.js +47 -0
- package/dist/cjs/standard/elements/RelativePositionNS.js.map +6 -0
- package/dist/cjs/standard/elements/ResourceMonitoring.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ResourceMonitoring.js +1 -1
- package/dist/cjs/standard/elements/ResourceMonitoring.js.map +1 -1
- package/dist/cjs/standard/elements/RoboticVacuumCleanerDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/RoboticVacuumCleanerDT.js +8 -1
- package/dist/cjs/standard/elements/RoboticVacuumCleanerDT.js.map +1 -1
- package/dist/cjs/standard/elements/RoomAirConditionerNS.js +1 -1
- package/dist/cjs/standard/elements/RootNodeDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/RootNodeDT.js +20 -15
- package/dist/cjs/standard/elements/RootNodeDT.js.map +1 -1
- package/dist/cjs/standard/elements/RvcCleanMode.d.ts.map +1 -1
- package/dist/cjs/standard/elements/RvcCleanMode.js +30 -5
- package/dist/cjs/standard/elements/RvcCleanMode.js.map +2 -2
- package/dist/cjs/standard/elements/RvcOperationalState.d.ts.map +1 -1
- package/dist/cjs/standard/elements/RvcOperationalState.js +28 -5
- package/dist/cjs/standard/elements/RvcOperationalState.js.map +1 -1
- package/dist/cjs/standard/elements/RvcRunMode.d.ts.map +1 -1
- package/dist/cjs/standard/elements/RvcRunMode.js +30 -5
- package/dist/cjs/standard/elements/RvcRunMode.js.map +2 -2
- package/dist/cjs/standard/elements/ScenesManagement.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ScenesManagement.js +4 -4
- package/dist/cjs/standard/elements/ScenesManagement.js.map +1 -1
- package/dist/cjs/standard/elements/SecondaryNetworkInterfaceDT.d.ts +8 -0
- package/dist/cjs/standard/elements/SecondaryNetworkInterfaceDT.d.ts.map +1 -0
- package/dist/cjs/standard/elements/SecondaryNetworkInterfaceDT.js +74 -0
- package/dist/cjs/standard/elements/SecondaryNetworkInterfaceDT.js.map +6 -0
- package/dist/cjs/standard/elements/ServiceArea.d.ts +8 -0
- package/dist/cjs/standard/elements/ServiceArea.d.ts.map +1 -0
- package/dist/cjs/standard/elements/ServiceArea.js +455 -0
- package/dist/cjs/standard/elements/ServiceArea.js.map +6 -0
- package/dist/cjs/standard/elements/SmokeCoAlarm.d.ts.map +1 -1
- package/dist/cjs/standard/elements/SmokeCoAlarm.js +13 -17
- package/dist/cjs/standard/elements/SmokeCoAlarm.js.map +1 -1
- package/dist/cjs/standard/elements/SoftwareVersionCertificationStatusEnum.js +1 -1
- package/dist/cjs/standard/elements/SolarPowerDT.d.ts +8 -0
- package/dist/cjs/standard/elements/SolarPowerDT.d.ts.map +1 -0
- package/dist/cjs/standard/elements/SolarPowerDT.js +53 -0
- package/dist/cjs/standard/elements/SolarPowerDT.js.map +6 -0
- package/dist/cjs/standard/elements/Switch.d.ts.map +1 -1
- package/dist/cjs/standard/elements/Switch.js +39 -25
- package/dist/cjs/standard/elements/Switch.js.map +1 -1
- package/dist/cjs/standard/elements/SwitchesNS.js +2 -2
- package/dist/cjs/standard/elements/TargetNavigator.js +2 -1
- package/dist/cjs/standard/elements/TargetNavigator.js.map +1 -1
- package/dist/cjs/standard/elements/TemperatureControl.js +3 -3
- package/dist/cjs/standard/elements/TemperatureControl.js.map +1 -1
- package/dist/cjs/standard/elements/TemperatureControlledCabinetDT.js +1 -1
- package/dist/cjs/standard/elements/TemperatureMeasurement.js +3 -3
- package/dist/cjs/standard/elements/TemperatureMeasurement.js.map +1 -1
- package/dist/cjs/standard/elements/Thermostat.d.ts.map +1 -1
- package/dist/cjs/standard/elements/Thermostat.js +673 -124
- package/dist/cjs/standard/elements/Thermostat.js.map +1 -1
- package/dist/cjs/standard/elements/ThermostatDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ThermostatDT.js +20 -35
- package/dist/cjs/standard/elements/ThermostatDT.js.map +1 -1
- package/dist/cjs/standard/elements/ThermostatUserInterfaceConfiguration.js +0 -3
- package/dist/cjs/standard/elements/ThermostatUserInterfaceConfiguration.js.map +1 -1
- package/dist/cjs/standard/elements/ThreadBorderRouterManagement.d.ts +8 -0
- package/dist/cjs/standard/elements/ThreadBorderRouterManagement.d.ts.map +1 -0
- package/dist/cjs/standard/elements/ThreadBorderRouterManagement.js +198 -0
- package/dist/cjs/standard/elements/ThreadBorderRouterManagement.js.map +6 -0
- package/dist/cjs/standard/elements/ThreadNetworkDiagnostics.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ThreadNetworkDiagnostics.js +26 -8
- package/dist/cjs/standard/elements/ThreadNetworkDiagnostics.js.map +1 -1
- package/dist/cjs/standard/elements/ThreadNetworkDirectory.d.ts +8 -0
- package/dist/cjs/standard/elements/ThreadNetworkDirectory.d.ts.map +1 -0
- package/dist/cjs/standard/elements/ThreadNetworkDirectory.js +181 -0
- package/dist/cjs/standard/elements/ThreadNetworkDirectory.js.map +6 -0
- package/dist/cjs/standard/elements/TimeFormatLocalization.js +1 -1
- package/dist/cjs/standard/elements/TimeSynchronization.d.ts.map +1 -1
- package/dist/cjs/standard/elements/TimeSynchronization.js +23 -11
- package/dist/cjs/standard/elements/TimeSynchronization.js.map +1 -1
- package/dist/cjs/standard/elements/UnitLocalization.d.ts.map +1 -1
- package/dist/cjs/standard/elements/UnitLocalization.js +1 -1
- package/dist/cjs/standard/elements/UnitLocalization.js.map +1 -1
- package/dist/cjs/standard/elements/UserLabel.d.ts.map +1 -1
- package/dist/cjs/standard/elements/UserLabel.js +1 -1
- package/dist/cjs/standard/elements/UserLabel.js.map +1 -1
- package/dist/cjs/standard/elements/ValidProxies.js +0 -1
- package/dist/cjs/standard/elements/ValidProxies.js.map +1 -1
- package/dist/cjs/standard/elements/ValveConfigurationAndControl.js +1 -0
- package/dist/cjs/standard/elements/ValveConfigurationAndControl.js.map +1 -1
- package/dist/cjs/standard/elements/WaterHeaterDT.d.ts +8 -0
- package/dist/cjs/standard/elements/WaterHeaterDT.d.ts.map +1 -0
- package/dist/cjs/standard/elements/WaterHeaterDT.js +77 -0
- package/dist/cjs/standard/elements/WaterHeaterDT.js.map +6 -0
- package/dist/cjs/standard/elements/WaterHeaterManagement.d.ts +8 -0
- package/dist/cjs/standard/elements/WaterHeaterManagement.d.ts.map +1 -0
- package/dist/cjs/standard/elements/WaterHeaterManagement.js +239 -0
- package/dist/cjs/standard/elements/WaterHeaterManagement.js.map +6 -0
- package/dist/cjs/standard/elements/WaterHeaterMode.d.ts +8 -0
- package/dist/cjs/standard/elements/WaterHeaterMode.d.ts.map +1 -0
- package/dist/cjs/standard/elements/WaterHeaterMode.js +100 -0
- package/dist/cjs/standard/elements/WaterHeaterMode.js.map +6 -0
- package/dist/cjs/standard/elements/WaterTankLevelMonitoring.d.ts +8 -0
- package/dist/cjs/standard/elements/WaterTankLevelMonitoring.d.ts.map +1 -0
- package/dist/cjs/standard/elements/{PulseWidthModulation.js → WaterTankLevelMonitoring.js} +9 -7
- package/dist/cjs/standard/elements/WaterTankLevelMonitoring.js.map +6 -0
- package/dist/cjs/standard/elements/WaterValveDT.js +5 -5
- package/dist/cjs/standard/elements/WiFiNetworkDiagnostics.d.ts.map +1 -1
- package/dist/cjs/standard/elements/WiFiNetworkDiagnostics.js +2 -2
- package/dist/cjs/standard/elements/WiFiNetworkDiagnostics.js.map +1 -1
- package/dist/cjs/standard/elements/WiFiNetworkManagement.d.ts +8 -0
- package/dist/cjs/standard/elements/WiFiNetworkManagement.d.ts.map +1 -0
- package/dist/cjs/standard/elements/WiFiNetworkManagement.js +84 -0
- package/dist/cjs/standard/elements/WiFiNetworkManagement.js.map +6 -0
- package/dist/cjs/standard/elements/WindowCovering.js +35 -36
- package/dist/cjs/standard/elements/WindowCovering.js.map +1 -1
- package/dist/cjs/standard/elements/WindowCoveringControllerDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/WindowCoveringControllerDT.js +0 -7
- package/dist/cjs/standard/elements/WindowCoveringControllerDT.js.map +1 -1
- package/dist/cjs/standard/elements/WindowCoveringDT.d.ts.map +1 -1
- package/dist/cjs/standard/elements/WindowCoveringDT.js +4 -15
- package/dist/cjs/standard/elements/WindowCoveringDT.js.map +1 -1
- package/dist/cjs/standard/elements/action-id.js +1 -1
- package/dist/cjs/standard/elements/amperage-mA.js +1 -1
- package/dist/cjs/standard/elements/attrib-id.js +1 -1
- package/dist/cjs/standard/elements/bool.js +1 -1
- package/dist/cjs/standard/elements/cluster-id.js +1 -1
- package/dist/cjs/standard/elements/command-id.js +1 -1
- package/dist/cjs/standard/elements/data-ver.js +2 -2
- package/dist/cjs/standard/elements/date.js +5 -5
- package/dist/cjs/standard/elements/definitions.d.ts +27 -1
- package/dist/cjs/standard/elements/definitions.d.ts.map +1 -1
- package/dist/cjs/standard/elements/definitions.js +27 -1
- package/dist/cjs/standard/elements/definitions.js.map +1 -1
- package/dist/cjs/standard/elements/devtype-id.js +1 -1
- package/dist/cjs/standard/elements/double.js +1 -1
- package/dist/cjs/standard/elements/elapsed-s.js +1 -1
- package/dist/cjs/standard/elements/endpoint-no.d.ts.map +1 -1
- package/dist/cjs/standard/elements/endpoint-no.js +2 -2
- package/dist/cjs/standard/elements/endpoint-no.js.map +1 -1
- package/dist/cjs/standard/elements/energy-mWh.js +1 -1
- package/dist/cjs/standard/elements/entry-idx.js +1 -1
- package/dist/cjs/standard/elements/enum16.js +1 -1
- package/dist/cjs/standard/elements/enum8.js +1 -1
- package/dist/cjs/standard/elements/epoch-s.js +1 -1
- package/dist/cjs/standard/elements/epoch-us.js +1 -1
- package/dist/cjs/standard/elements/event-id.js +1 -1
- package/dist/cjs/standard/elements/event-no.js +1 -1
- package/dist/cjs/standard/elements/fabric-id.js +1 -1
- package/dist/cjs/standard/elements/fabric-idx.js +1 -1
- package/dist/cjs/standard/elements/field-id.js +1 -1
- package/dist/cjs/standard/elements/group-id.js +1 -1
- package/dist/cjs/standard/elements/hwadr.js +1 -1
- package/dist/cjs/standard/elements/int16.js +1 -1
- package/dist/cjs/standard/elements/int24.js +1 -1
- package/dist/cjs/standard/elements/int32.js +1 -1
- package/dist/cjs/standard/elements/int40.js +1 -1
- package/dist/cjs/standard/elements/int48.js +1 -1
- package/dist/cjs/standard/elements/int56.js +1 -1
- package/dist/cjs/standard/elements/int64.js +1 -1
- package/dist/cjs/standard/elements/int8.js +1 -1
- package/dist/cjs/standard/elements/ipadr.d.ts.map +1 -1
- package/dist/cjs/standard/elements/ipadr.js +1 -2
- package/dist/cjs/standard/elements/ipadr.js.map +1 -1
- package/dist/cjs/standard/elements/ipv4adr.js +1 -1
- package/dist/cjs/standard/elements/ipv6adr.js +1 -1
- package/dist/cjs/standard/elements/ipv6pre.js +1 -1
- package/dist/cjs/standard/elements/list.d.ts.map +1 -1
- package/dist/cjs/standard/elements/list.js +8 -10
- package/dist/cjs/standard/elements/list.js.map +1 -1
- package/dist/cjs/standard/elements/locationdesc.d.ts +8 -0
- package/dist/cjs/standard/elements/locationdesc.d.ts.map +1 -0
- package/dist/cjs/standard/elements/locationdesc.js +69 -0
- package/dist/cjs/standard/elements/locationdesc.js.map +6 -0
- package/dist/cjs/standard/elements/map16.js +1 -1
- package/dist/cjs/standard/elements/map32.js +1 -1
- package/dist/cjs/standard/elements/map64.js +1 -1
- package/dist/cjs/standard/elements/map8.js +1 -1
- package/dist/cjs/standard/elements/models.d.ts +27 -1
- package/dist/cjs/standard/elements/models.d.ts.map +1 -1
- package/dist/cjs/standard/elements/models.js +54 -2
- package/dist/cjs/standard/elements/models.js.map +1 -1
- package/dist/cjs/standard/elements/namespace.js +1 -1
- package/dist/cjs/standard/elements/node-id.js +1 -1
- package/dist/cjs/standard/elements/octstr.js +1 -1
- package/dist/cjs/standard/elements/percent.js +1 -1
- package/dist/cjs/standard/elements/percent100ths.js +1 -1
- package/dist/cjs/standard/elements/posix-ms.js +1 -1
- package/dist/cjs/standard/elements/power-mW.js +1 -1
- package/dist/cjs/standard/elements/priority.js +1 -1
- package/dist/cjs/standard/elements/semtag.js +5 -5
- package/dist/cjs/standard/elements/single.js +1 -1
- package/dist/cjs/standard/elements/status.d.ts.map +1 -1
- package/dist/cjs/standard/elements/status.js +19 -1
- package/dist/cjs/standard/elements/status.js.map +1 -1
- package/dist/cjs/standard/elements/string.js +1 -1
- package/dist/cjs/standard/elements/struct.js +1 -1
- package/dist/cjs/standard/elements/systime-ms.js +1 -1
- package/dist/cjs/standard/elements/systime-us.js +1 -1
- package/dist/cjs/standard/elements/tag.js +1 -1
- package/dist/cjs/standard/elements/temperature.js +1 -1
- package/dist/cjs/standard/elements/tod.js +1 -1
- package/dist/cjs/standard/elements/trans-id.js +1 -1
- package/dist/cjs/standard/elements/uint16.js +1 -1
- package/dist/cjs/standard/elements/uint24.js +1 -1
- package/dist/cjs/standard/elements/uint32.js +1 -1
- package/dist/cjs/standard/elements/uint40.js +1 -1
- package/dist/cjs/standard/elements/uint48.js +1 -1
- package/dist/cjs/standard/elements/uint56.js +1 -1
- package/dist/cjs/standard/elements/uint64.js +1 -1
- package/dist/cjs/standard/elements/uint8.js +1 -1
- package/dist/cjs/standard/elements/vendor-id.js +1 -1
- package/dist/cjs/standard/elements/voltage-mV.js +1 -1
- package/dist/esm/aspects/Conformance.d.ts +5 -3
- package/dist/esm/aspects/Conformance.d.ts.map +1 -1
- package/dist/esm/aspects/Conformance.js +24 -3
- package/dist/esm/aspects/Conformance.js.map +1 -1
- package/dist/esm/aspects/Quality.d.ts +9 -2
- package/dist/esm/aspects/Quality.d.ts.map +1 -1
- package/dist/esm/aspects/Quality.js +3 -1
- package/dist/esm/aspects/Quality.js.map +1 -1
- package/dist/esm/common/Specification.d.ts +3 -3
- package/dist/esm/common/Specification.d.ts.map +1 -1
- package/dist/esm/common/Specification.js +3 -3
- package/dist/esm/logic/cluster-variance/IllegalFeatureCombinations.js +82 -66
- package/dist/esm/logic/cluster-variance/IllegalFeatureCombinations.js.map +1 -1
- package/dist/esm/logic/cluster-variance/InferredComponents.js +24 -1
- package/dist/esm/logic/cluster-variance/InferredComponents.js.map +1 -1
- package/dist/esm/logic/definition-validation/ValueValidator.d.ts.map +1 -1
- package/dist/esm/logic/definition-validation/ValueValidator.js +11 -6
- package/dist/esm/logic/definition-validation/ValueValidator.js.map +1 -1
- package/dist/esm/models/AttributeModel.d.ts.map +1 -1
- package/dist/esm/models/AttributeModel.js +1 -4
- package/dist/esm/models/AttributeModel.js.map +1 -1
- package/dist/esm/models/ClusterModel.d.ts.map +1 -1
- package/dist/esm/models/ClusterModel.js +1 -3
- package/dist/esm/models/ClusterModel.js.map +1 -1
- package/dist/esm/models/CommandModel.d.ts.map +1 -1
- package/dist/esm/models/CommandModel.js +1 -4
- package/dist/esm/models/CommandModel.js.map +1 -1
- package/dist/esm/models/DatatypeModel.d.ts +1 -0
- package/dist/esm/models/DatatypeModel.d.ts.map +1 -1
- package/dist/esm/models/DatatypeModel.js +2 -4
- package/dist/esm/models/DatatypeModel.js.map +1 -1
- package/dist/esm/models/DeviceTypeModel.d.ts +1 -0
- package/dist/esm/models/DeviceTypeModel.d.ts.map +1 -1
- package/dist/esm/models/DeviceTypeModel.js +2 -3
- package/dist/esm/models/DeviceTypeModel.js.map +1 -1
- package/dist/esm/models/EndpointModel.d.ts +1 -0
- package/dist/esm/models/EndpointModel.d.ts.map +1 -1
- package/dist/esm/models/EndpointModel.js +2 -3
- package/dist/esm/models/EndpointModel.js.map +1 -1
- package/dist/esm/models/EventModel.d.ts.map +1 -1
- package/dist/esm/models/EventModel.js +1 -4
- package/dist/esm/models/EventModel.js.map +1 -1
- package/dist/esm/models/FabricModel.d.ts +1 -0
- package/dist/esm/models/FabricModel.d.ts.map +1 -1
- package/dist/esm/models/FabricModel.js +2 -3
- package/dist/esm/models/FabricModel.js.map +1 -1
- package/dist/esm/models/FieldModel.d.ts +1 -0
- package/dist/esm/models/FieldModel.d.ts.map +1 -1
- package/dist/esm/models/FieldModel.js +2 -4
- package/dist/esm/models/FieldModel.js.map +1 -1
- package/dist/esm/models/Globals.d.ts +27 -1
- package/dist/esm/models/Globals.d.ts.map +1 -1
- package/dist/esm/models/MatterModel.d.ts +1 -0
- package/dist/esm/models/MatterModel.d.ts.map +1 -1
- package/dist/esm/models/MatterModel.js +2 -4
- package/dist/esm/models/MatterModel.js.map +1 -1
- package/dist/esm/models/Model.d.ts +26 -2
- package/dist/esm/models/Model.d.ts.map +1 -1
- package/dist/esm/models/Model.js +45 -6
- package/dist/esm/models/Model.js.map +1 -1
- package/dist/esm/models/NodeModel.d.ts +1 -0
- package/dist/esm/models/NodeModel.d.ts.map +1 -1
- package/dist/esm/models/NodeModel.js +2 -3
- package/dist/esm/models/NodeModel.js.map +1 -1
- package/dist/esm/models/RequirementModel.d.ts +1 -0
- package/dist/esm/models/RequirementModel.d.ts.map +1 -1
- package/dist/esm/models/RequirementModel.js +2 -3
- package/dist/esm/models/RequirementModel.js.map +1 -1
- package/dist/esm/models/SemanticNamespaceModel.d.ts +1 -0
- package/dist/esm/models/SemanticNamespaceModel.d.ts.map +1 -1
- package/dist/esm/models/SemanticNamespaceModel.js +2 -3
- package/dist/esm/models/SemanticNamespaceModel.js.map +1 -1
- package/dist/esm/models/SemanticTagModel.d.ts +1 -0
- package/dist/esm/models/SemanticTagModel.d.ts.map +1 -1
- package/dist/esm/models/SemanticTagModel.js +2 -3
- package/dist/esm/models/SemanticTagModel.js.map +1 -1
- package/dist/esm/standard/elements/AcceptedCommandList.d.ts.map +1 -1
- package/dist/esm/standard/elements/AcceptedCommandList.js +1 -1
- package/dist/esm/standard/elements/AcceptedCommandList.js.map +1 -1
- package/dist/esm/standard/elements/AccessControl.d.ts.map +1 -1
- package/dist/esm/standard/elements/AccessControl.js +299 -37
- package/dist/esm/standard/elements/AccessControl.js.map +1 -1
- package/dist/esm/standard/elements/Actions.d.ts.map +1 -1
- package/dist/esm/standard/elements/Actions.js +6 -6
- package/dist/esm/standard/elements/Actions.js.map +1 -1
- package/dist/esm/standard/elements/AdministratorCommissioning.d.ts.map +1 -1
- package/dist/esm/standard/elements/AdministratorCommissioning.js +18 -12
- package/dist/esm/standard/elements/AdministratorCommissioning.js.map +1 -1
- package/dist/esm/standard/elements/AggregatorDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/AggregatorDT.js +23 -4
- package/dist/esm/standard/elements/AggregatorDT.js.map +1 -1
- package/dist/esm/standard/elements/AirPurifierDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/AirPurifierDT.js +8 -1
- package/dist/esm/standard/elements/AirPurifierDT.js.map +1 -1
- package/dist/esm/standard/elements/AlarmBase.d.ts.map +1 -1
- package/dist/esm/standard/elements/AlarmBase.js +1 -1
- package/dist/esm/standard/elements/AlarmBase.js.map +1 -1
- package/dist/esm/standard/elements/ApplicationLauncher.d.ts.map +1 -1
- package/dist/esm/standard/elements/ApplicationLauncher.js +12 -4
- package/dist/esm/standard/elements/ApplicationLauncher.js.map +1 -1
- package/dist/esm/standard/elements/AreaNamespaceNS.d.ts +8 -0
- package/dist/esm/standard/elements/AreaNamespaceNS.d.ts.map +1 -0
- package/dist/esm/standard/elements/AreaNamespaceNS.js +130 -0
- package/dist/esm/standard/elements/AreaNamespaceNS.js.map +6 -0
- package/dist/esm/standard/elements/AtomicAttributeStatusStruct.d.ts +8 -0
- package/dist/esm/standard/elements/AtomicAttributeStatusStruct.d.ts.map +1 -0
- package/dist/esm/standard/elements/AtomicAttributeStatusStruct.js +36 -0
- package/dist/esm/standard/elements/AtomicAttributeStatusStruct.js.map +6 -0
- package/dist/esm/standard/elements/AtomicRequestTypeEnum.d.ts +8 -0
- package/dist/esm/standard/elements/AtomicRequestTypeEnum.d.ts.map +1 -0
- package/dist/esm/standard/elements/AtomicRequestTypeEnum.js +23 -0
- package/dist/esm/standard/elements/AtomicRequestTypeEnum.js.map +6 -0
- package/dist/esm/standard/elements/BallastConfiguration.js +1 -1
- package/dist/esm/standard/elements/BasicInformation.d.ts.map +1 -1
- package/dist/esm/standard/elements/BasicInformation.js +17 -19
- package/dist/esm/standard/elements/BasicInformation.js.map +1 -1
- package/dist/esm/standard/elements/BatteryStorageDT.d.ts +8 -0
- package/dist/esm/standard/elements/BatteryStorageDT.d.ts.map +1 -0
- package/dist/esm/standard/elements/BatteryStorageDT.js +33 -0
- package/dist/esm/standard/elements/BatteryStorageDT.js.map +6 -0
- package/dist/esm/standard/elements/BooleanStateConfiguration.js +2 -2
- package/dist/esm/standard/elements/BridgedDeviceBasicInformation.d.ts.map +1 -1
- package/dist/esm/standard/elements/BridgedDeviceBasicInformation.js +104 -32
- package/dist/esm/standard/elements/BridgedDeviceBasicInformation.js.map +1 -1
- package/dist/esm/standard/elements/BridgedNodeDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/BridgedNodeDT.js +29 -3
- package/dist/esm/standard/elements/BridgedNodeDT.js.map +1 -1
- package/dist/esm/standard/elements/Channel.d.ts.map +1 -1
- package/dist/esm/standard/elements/Channel.js +13 -14
- package/dist/esm/standard/elements/Channel.js.map +1 -1
- package/dist/esm/standard/elements/ColorControl.d.ts.map +1 -1
- package/dist/esm/standard/elements/ColorControl.js +607 -478
- package/dist/esm/standard/elements/ColorControl.js.map +1 -1
- package/dist/esm/standard/elements/CommissionerControl.d.ts +8 -0
- package/dist/esm/standard/elements/CommissionerControl.d.ts.map +1 -0
- package/dist/esm/standard/elements/CommissionerControl.js +117 -0
- package/dist/esm/standard/elements/CommissionerControl.js.map +6 -0
- package/dist/esm/standard/elements/ConcentrationMeasurement.js +0 -1
- package/dist/esm/standard/elements/ConcentrationMeasurement.js.map +1 -1
- package/dist/esm/standard/elements/ContentControl.d.ts.map +1 -1
- package/dist/esm/standard/elements/ContentControl.js +34 -39
- package/dist/esm/standard/elements/ContentControl.js.map +1 -1
- package/dist/esm/standard/elements/ContentLauncher.d.ts.map +1 -1
- package/dist/esm/standard/elements/ContentLauncher.js +13 -11
- 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 +154 -118
- package/dist/esm/standard/elements/DeviceEnergyManagement.js.map +1 -1
- package/dist/esm/standard/elements/DeviceEnergyManagementDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/DeviceEnergyManagementDT.js +31 -12
- package/dist/esm/standard/elements/DeviceEnergyManagementDT.js.map +1 -1
- package/dist/esm/standard/elements/DeviceEnergyManagementMode.d.ts.map +1 -1
- package/dist/esm/standard/elements/DeviceEnergyManagementMode.js +40 -11
- package/dist/esm/standard/elements/DeviceEnergyManagementMode.js.map +1 -1
- package/dist/esm/standard/elements/DishwasherAlarm.d.ts.map +1 -1
- package/dist/esm/standard/elements/DishwasherAlarm.js +1 -1
- package/dist/esm/standard/elements/DishwasherAlarm.js.map +1 -1
- package/dist/esm/standard/elements/DishwasherMode.d.ts.map +1 -1
- package/dist/esm/standard/elements/DishwasherMode.js +37 -17
- package/dist/esm/standard/elements/DishwasherMode.js.map +1 -1
- package/dist/esm/standard/elements/DoorLock.d.ts.map +1 -1
- package/dist/esm/standard/elements/DoorLock.js +505 -629
- package/dist/esm/standard/elements/DoorLock.js.map +1 -1
- package/dist/esm/standard/elements/DoorLockControllerDT.js +1 -1
- package/dist/esm/standard/elements/DoorLockControllerDT.js.map +1 -1
- package/dist/esm/standard/elements/DoorLockDT.js +2 -2
- package/dist/esm/standard/elements/DoorLockDT.js.map +1 -1
- package/dist/esm/standard/elements/EcosystemInformation.d.ts +8 -0
- package/dist/esm/standard/elements/EcosystemInformation.d.ts.map +1 -0
- package/dist/esm/standard/elements/EcosystemInformation.js +132 -0
- package/dist/esm/standard/elements/EcosystemInformation.js.map +6 -0
- package/dist/esm/standard/elements/ElectricalEnergyMeasurement.d.ts.map +1 -1
- package/dist/esm/standard/elements/ElectricalEnergyMeasurement.js +9 -18
- package/dist/esm/standard/elements/ElectricalEnergyMeasurement.js.map +1 -1
- package/dist/esm/standard/elements/ElectricalMeasurementNS.js +1 -1
- package/dist/esm/standard/elements/ElectricalPowerMeasurement.js +5 -5
- package/dist/esm/standard/elements/ElectricalPowerMeasurement.js.map +1 -1
- package/dist/esm/standard/elements/EnergyEvse.d.ts.map +1 -1
- package/dist/esm/standard/elements/EnergyEvse.js +98 -51
- package/dist/esm/standard/elements/EnergyEvse.js.map +1 -1
- package/dist/esm/standard/elements/EnergyEvseDT.d.ts +8 -0
- package/dist/esm/standard/elements/EnergyEvseDT.d.ts.map +1 -0
- package/dist/esm/standard/elements/EnergyEvseDT.js +54 -0
- package/dist/esm/standard/elements/EnergyEvseDT.js.map +6 -0
- package/dist/esm/standard/elements/EnergyEvseMode.d.ts.map +1 -1
- package/dist/esm/standard/elements/EnergyEvseMode.js +51 -10
- package/dist/esm/standard/elements/EnergyEvseMode.js.map +1 -1
- package/dist/esm/standard/elements/EnergyPreference.d.ts.map +1 -1
- package/dist/esm/standard/elements/EnergyPreference.js +22 -19
- package/dist/esm/standard/elements/EnergyPreference.js.map +1 -1
- package/dist/esm/standard/elements/EthernetNetworkDiagnostics.d.ts.map +1 -1
- package/dist/esm/standard/elements/EthernetNetworkDiagnostics.js +1 -1
- package/dist/esm/standard/elements/EthernetNetworkDiagnostics.js.map +1 -1
- package/dist/esm/standard/elements/EventList.d.ts.map +1 -1
- package/dist/esm/standard/elements/EventList.js +2 -13
- package/dist/esm/standard/elements/EventList.js.map +1 -1
- package/dist/esm/standard/elements/FabricIndex.js +1 -1
- package/dist/esm/standard/elements/FanControl.js +8 -10
- package/dist/esm/standard/elements/FanControl.js.map +1 -1
- package/dist/esm/standard/elements/FanDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/FanDT.js +8 -1
- package/dist/esm/standard/elements/FanDT.js.map +1 -1
- package/dist/esm/standard/elements/FeatureMap.d.ts.map +1 -1
- package/dist/esm/standard/elements/FeatureMap.js +1 -1
- package/dist/esm/standard/elements/FeatureMap.js.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/FlowMeasurement.d.ts.map +1 -1
- package/dist/esm/standard/elements/FlowMeasurement.js +6 -6
- package/dist/esm/standard/elements/FlowMeasurement.js.map +1 -1
- package/dist/esm/standard/elements/GeneralCommissioning.d.ts.map +1 -1
- package/dist/esm/standard/elements/GeneralCommissioning.js +163 -39
- 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 +12 -13
- package/dist/esm/standard/elements/GeneralDiagnostics.js.map +1 -1
- package/dist/esm/standard/elements/GeneratedCommandList.d.ts.map +1 -1
- package/dist/esm/standard/elements/GeneratedCommandList.js +1 -1
- package/dist/esm/standard/elements/GeneratedCommandList.js.map +1 -1
- package/dist/esm/standard/elements/GroupKeyManagement.d.ts.map +1 -1
- package/dist/esm/standard/elements/GroupKeyManagement.js +13 -12
- 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 +1 -1
- package/dist/esm/standard/elements/Groups.js.map +1 -1
- package/dist/esm/standard/elements/HeatPumpDT.d.ts +8 -0
- package/dist/esm/standard/elements/HeatPumpDT.d.ts.map +1 -0
- package/dist/esm/standard/elements/HeatPumpDT.js +40 -0
- package/dist/esm/standard/elements/HeatPumpDT.js.map +6 -0
- package/dist/esm/standard/elements/IcdManagement.d.ts.map +1 -1
- package/dist/esm/standard/elements/IcdManagement.js +74 -20
- package/dist/esm/standard/elements/IcdManagement.js.map +1 -1
- package/dist/esm/standard/elements/Identify.js +5 -5
- package/dist/esm/standard/elements/IlluminanceMeasurement.d.ts.map +1 -1
- package/dist/esm/standard/elements/IlluminanceMeasurement.js +7 -7
- package/dist/esm/standard/elements/IlluminanceMeasurement.js.map +1 -1
- package/dist/esm/standard/elements/JointFabricAdministratorDT.d.ts +8 -0
- package/dist/esm/standard/elements/JointFabricAdministratorDT.d.ts.map +1 -0
- package/dist/esm/standard/elements/JointFabricAdministratorDT.js +40 -0
- package/dist/esm/standard/elements/JointFabricAdministratorDT.js.map +6 -0
- package/dist/esm/standard/elements/JointFabricDatastoreCluster.d.ts +8 -0
- package/dist/esm/standard/elements/JointFabricDatastoreCluster.d.ts.map +1 -0
- package/dist/esm/standard/elements/JointFabricDatastoreCluster.js +673 -0
- package/dist/esm/standard/elements/JointFabricDatastoreCluster.js.map +6 -0
- package/dist/esm/standard/elements/JointFabricPki.d.ts +8 -0
- package/dist/esm/standard/elements/JointFabricPki.d.ts.map +1 -0
- package/dist/esm/standard/elements/JointFabricPki.js +153 -0
- package/dist/esm/standard/elements/JointFabricPki.js.map +6 -0
- package/dist/esm/standard/elements/KeypadInput.d.ts.map +1 -1
- package/dist/esm/standard/elements/KeypadInput.js +1 -1
- package/dist/esm/standard/elements/KeypadInput.js.map +1 -1
- package/dist/esm/standard/elements/LandmarkNamespaceNS.d.ts +8 -0
- package/dist/esm/standard/elements/LandmarkNamespaceNS.d.ts.map +1 -0
- package/dist/esm/standard/elements/LandmarkNamespaceNS.js +74 -0
- package/dist/esm/standard/elements/LandmarkNamespaceNS.js.map +6 -0
- package/dist/esm/standard/elements/LaundryDryerControls.js +2 -1
- package/dist/esm/standard/elements/LaundryDryerControls.js.map +1 -1
- package/dist/esm/standard/elements/LaundryNS.js +1 -1
- package/dist/esm/standard/elements/LaundryWasherControls.d.ts.map +1 -1
- package/dist/esm/standard/elements/LaundryWasherControls.js +8 -8
- package/dist/esm/standard/elements/LaundryWasherControls.js.map +1 -1
- package/dist/esm/standard/elements/LaundryWasherMode.d.ts.map +1 -1
- package/dist/esm/standard/elements/LaundryWasherMode.js +38 -18
- package/dist/esm/standard/elements/LaundryWasherMode.js.map +1 -1
- package/dist/esm/standard/elements/LevelControl.d.ts.map +1 -1
- package/dist/esm/standard/elements/LevelControl.js +14 -13
- package/dist/esm/standard/elements/LevelControl.js.map +1 -1
- package/dist/esm/standard/elements/LocalizationConfiguration.d.ts.map +1 -1
- package/dist/esm/standard/elements/LocalizationConfiguration.js +11 -13
- package/dist/esm/standard/elements/LocalizationConfiguration.js.map +1 -1
- package/dist/esm/standard/elements/MediaInput.d.ts.map +1 -1
- package/dist/esm/standard/elements/MediaInput.js +1 -1
- package/dist/esm/standard/elements/MediaInput.js.map +1 -1
- package/dist/esm/standard/elements/MediaPlayback.d.ts.map +1 -1
- package/dist/esm/standard/elements/MediaPlayback.js +3 -2
- package/dist/esm/standard/elements/MediaPlayback.js.map +1 -1
- package/dist/esm/standard/elements/MicrowaveOvenControl.d.ts.map +1 -1
- package/dist/esm/standard/elements/MicrowaveOvenControl.js +12 -12
- package/dist/esm/standard/elements/MicrowaveOvenControl.js.map +1 -1
- package/dist/esm/standard/elements/MicrowaveOvenMode.d.ts.map +1 -1
- package/dist/esm/standard/elements/MicrowaveOvenMode.js +39 -14
- package/dist/esm/standard/elements/MicrowaveOvenMode.js.map +1 -1
- package/dist/esm/standard/elements/ModeBase.d.ts.map +1 -1
- package/dist/esm/standard/elements/ModeBase.js +18 -69
- package/dist/esm/standard/elements/ModeBase.js.map +1 -1
- package/dist/esm/standard/elements/ModeSelect.js +10 -10
- package/dist/esm/standard/elements/ModeSelect.js.map +1 -1
- package/dist/esm/standard/elements/MountedDimmableLoadControlDT.d.ts +8 -0
- package/dist/esm/standard/elements/MountedDimmableLoadControlDT.d.ts.map +1 -0
- package/dist/esm/standard/elements/MountedDimmableLoadControlDT.js +84 -0
- package/dist/esm/standard/elements/MountedDimmableLoadControlDT.js.map +6 -0
- package/dist/esm/standard/elements/MountedOnOffControlDT.d.ts +8 -0
- package/dist/esm/standard/elements/MountedOnOffControlDT.d.ts.map +1 -0
- package/dist/esm/standard/elements/MountedOnOffControlDT.js +84 -0
- package/dist/esm/standard/elements/MountedOnOffControlDT.js.map +6 -0
- package/dist/esm/standard/elements/NetworkCommissioning.d.ts.map +1 -1
- package/dist/esm/standard/elements/NetworkCommissioning.js +50 -37
- package/dist/esm/standard/elements/NetworkCommissioning.js.map +1 -1
- package/dist/esm/standard/elements/NetworkInfrastructureManagerDT.d.ts +8 -0
- package/dist/esm/standard/elements/NetworkInfrastructureManagerDT.d.ts.map +1 -0
- package/dist/esm/standard/elements/NetworkInfrastructureManagerDT.js +47 -0
- package/dist/esm/standard/elements/NetworkInfrastructureManagerDT.js.map +6 -0
- package/dist/esm/standard/elements/OccupancySensing.d.ts.map +1 -1
- package/dist/esm/standard/elements/OccupancySensing.js +197 -43
- package/dist/esm/standard/elements/OccupancySensing.js.map +1 -1
- package/dist/esm/standard/elements/OccupancySensorDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/OccupancySensorDT.js +8 -1
- package/dist/esm/standard/elements/OccupancySensorDT.js.map +1 -1
- package/dist/esm/standard/elements/OnOff.d.ts.map +1 -1
- package/dist/esm/standard/elements/OnOff.js +1 -1
- package/dist/esm/standard/elements/OnOff.js.map +1 -1
- package/dist/esm/standard/elements/OperationalCredentials.d.ts.map +1 -1
- package/dist/esm/standard/elements/OperationalCredentials.js +7 -7
- package/dist/esm/standard/elements/OperationalCredentials.js.map +1 -1
- package/dist/esm/standard/elements/OperationalState.d.ts.map +1 -1
- package/dist/esm/standard/elements/OperationalState.js +22 -22
- package/dist/esm/standard/elements/OperationalState.js.map +1 -1
- package/dist/esm/standard/elements/OtaSoftwareUpdateProvider.d.ts.map +1 -1
- package/dist/esm/standard/elements/OtaSoftwareUpdateProvider.js +11 -12
- package/dist/esm/standard/elements/OtaSoftwareUpdateProvider.js.map +1 -1
- package/dist/esm/standard/elements/OtaSoftwareUpdateRequestor.d.ts.map +1 -1
- package/dist/esm/standard/elements/OtaSoftwareUpdateRequestor.js +2 -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/OvenCavityOperationalState.js +12 -3
- package/dist/esm/standard/elements/OvenCavityOperationalState.js.map +1 -1
- package/dist/esm/standard/elements/OvenDT.js +1 -1
- package/dist/esm/standard/elements/OvenMode.d.ts.map +1 -1
- package/dist/esm/standard/elements/OvenMode.js +49 -14
- package/dist/esm/standard/elements/OvenMode.js.map +1 -1
- package/dist/esm/standard/elements/PowerSource.d.ts.map +1 -1
- package/dist/esm/standard/elements/PowerSource.js +12 -12
- package/dist/esm/standard/elements/PowerSource.js.map +1 -1
- package/dist/esm/standard/elements/PowerSourceNS.js +5 -5
- package/dist/esm/standard/elements/PressureMeasurement.js +7 -7
- package/dist/esm/standard/elements/PressureMeasurement.js.map +1 -1
- package/dist/esm/standard/elements/PumpConfigurationAndControl.d.ts.map +1 -1
- package/dist/esm/standard/elements/PumpConfigurationAndControl.js +9 -19
- package/dist/esm/standard/elements/PumpConfigurationAndControl.js.map +1 -1
- package/dist/esm/standard/elements/PumpControllerDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/PumpControllerDT.js +1 -8
- package/dist/esm/standard/elements/PumpControllerDT.js.map +1 -1
- package/dist/esm/standard/elements/PumpDT.js +14 -14
- package/dist/esm/standard/elements/RefrigeratorAlarm.d.ts.map +1 -1
- package/dist/esm/standard/elements/RefrigeratorAlarm.js +1 -1
- package/dist/esm/standard/elements/RefrigeratorAlarm.js.map +1 -1
- package/dist/esm/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.d.ts.map +1 -1
- package/dist/esm/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.js +38 -12
- package/dist/esm/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.js.map +1 -1
- package/dist/esm/standard/elements/RefrigeratorDT.js +1 -1
- package/dist/esm/standard/elements/RefrigeratorNS.js +1 -1
- package/dist/esm/standard/elements/RelativeHumidityMeasurement.d.ts.map +1 -1
- package/dist/esm/standard/elements/RelativeHumidityMeasurement.js +3 -3
- package/dist/esm/standard/elements/RelativeHumidityMeasurement.js.map +1 -1
- package/dist/esm/standard/elements/RelativePositionNS.d.ts +8 -0
- package/dist/esm/standard/elements/RelativePositionNS.d.ts.map +1 -0
- package/dist/esm/standard/elements/RelativePositionNS.js +30 -0
- package/dist/esm/standard/elements/RelativePositionNS.js.map +6 -0
- package/dist/esm/standard/elements/ResourceMonitoring.d.ts.map +1 -1
- package/dist/esm/standard/elements/ResourceMonitoring.js +1 -1
- package/dist/esm/standard/elements/ResourceMonitoring.js.map +1 -1
- package/dist/esm/standard/elements/RoboticVacuumCleanerDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/RoboticVacuumCleanerDT.js +8 -1
- package/dist/esm/standard/elements/RoboticVacuumCleanerDT.js.map +1 -1
- package/dist/esm/standard/elements/RoomAirConditionerNS.js +1 -1
- package/dist/esm/standard/elements/RootNodeDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/RootNodeDT.js +20 -15
- package/dist/esm/standard/elements/RootNodeDT.js.map +1 -1
- package/dist/esm/standard/elements/RvcCleanMode.d.ts.map +1 -1
- package/dist/esm/standard/elements/RvcCleanMode.js +32 -7
- package/dist/esm/standard/elements/RvcCleanMode.js.map +1 -1
- package/dist/esm/standard/elements/RvcOperationalState.d.ts.map +1 -1
- package/dist/esm/standard/elements/RvcOperationalState.js +28 -5
- package/dist/esm/standard/elements/RvcOperationalState.js.map +1 -1
- package/dist/esm/standard/elements/RvcRunMode.d.ts.map +1 -1
- package/dist/esm/standard/elements/RvcRunMode.js +32 -7
- package/dist/esm/standard/elements/RvcRunMode.js.map +1 -1
- package/dist/esm/standard/elements/ScenesManagement.d.ts.map +1 -1
- package/dist/esm/standard/elements/ScenesManagement.js +4 -4
- package/dist/esm/standard/elements/ScenesManagement.js.map +1 -1
- package/dist/esm/standard/elements/SecondaryNetworkInterfaceDT.d.ts +8 -0
- package/dist/esm/standard/elements/SecondaryNetworkInterfaceDT.d.ts.map +1 -0
- package/dist/esm/standard/elements/SecondaryNetworkInterfaceDT.js +54 -0
- package/dist/esm/standard/elements/SecondaryNetworkInterfaceDT.js.map +6 -0
- package/dist/esm/standard/elements/ServiceArea.d.ts +8 -0
- package/dist/esm/standard/elements/ServiceArea.d.ts.map +1 -0
- package/dist/esm/standard/elements/ServiceArea.js +441 -0
- package/dist/esm/standard/elements/ServiceArea.js.map +6 -0
- package/dist/esm/standard/elements/SmokeCoAlarm.d.ts.map +1 -1
- package/dist/esm/standard/elements/SmokeCoAlarm.js +13 -17
- package/dist/esm/standard/elements/SmokeCoAlarm.js.map +1 -1
- package/dist/esm/standard/elements/SoftwareVersionCertificationStatusEnum.js +1 -1
- package/dist/esm/standard/elements/SolarPowerDT.d.ts +8 -0
- package/dist/esm/standard/elements/SolarPowerDT.d.ts.map +1 -0
- package/dist/esm/standard/elements/SolarPowerDT.js +33 -0
- package/dist/esm/standard/elements/SolarPowerDT.js.map +6 -0
- package/dist/esm/standard/elements/Switch.d.ts.map +1 -1
- package/dist/esm/standard/elements/Switch.js +39 -25
- package/dist/esm/standard/elements/Switch.js.map +1 -1
- package/dist/esm/standard/elements/SwitchesNS.js +2 -2
- package/dist/esm/standard/elements/TargetNavigator.js +2 -1
- package/dist/esm/standard/elements/TargetNavigator.js.map +1 -1
- package/dist/esm/standard/elements/TemperatureControl.js +3 -3
- package/dist/esm/standard/elements/TemperatureControl.js.map +1 -1
- package/dist/esm/standard/elements/TemperatureControlledCabinetDT.js +1 -1
- package/dist/esm/standard/elements/TemperatureMeasurement.js +3 -3
- package/dist/esm/standard/elements/TemperatureMeasurement.js.map +1 -1
- package/dist/esm/standard/elements/Thermostat.d.ts.map +1 -1
- package/dist/esm/standard/elements/Thermostat.js +673 -124
- package/dist/esm/standard/elements/Thermostat.js.map +1 -1
- package/dist/esm/standard/elements/ThermostatDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/ThermostatDT.js +20 -35
- package/dist/esm/standard/elements/ThermostatDT.js.map +1 -1
- package/dist/esm/standard/elements/ThermostatUserInterfaceConfiguration.js +0 -3
- package/dist/esm/standard/elements/ThermostatUserInterfaceConfiguration.js.map +1 -1
- package/dist/esm/standard/elements/ThreadBorderRouterManagement.d.ts +8 -0
- package/dist/esm/standard/elements/ThreadBorderRouterManagement.d.ts.map +1 -0
- package/dist/esm/standard/elements/ThreadBorderRouterManagement.js +183 -0
- package/dist/esm/standard/elements/ThreadBorderRouterManagement.js.map +6 -0
- package/dist/esm/standard/elements/ThreadNetworkDiagnostics.d.ts.map +1 -1
- package/dist/esm/standard/elements/ThreadNetworkDiagnostics.js +26 -8
- package/dist/esm/standard/elements/ThreadNetworkDiagnostics.js.map +1 -1
- package/dist/esm/standard/elements/ThreadNetworkDirectory.d.ts +8 -0
- package/dist/esm/standard/elements/ThreadNetworkDirectory.d.ts.map +1 -0
- package/dist/esm/standard/elements/ThreadNetworkDirectory.js +167 -0
- package/dist/esm/standard/elements/ThreadNetworkDirectory.js.map +6 -0
- package/dist/esm/standard/elements/TimeFormatLocalization.js +1 -1
- package/dist/esm/standard/elements/TimeSynchronization.d.ts.map +1 -1
- package/dist/esm/standard/elements/TimeSynchronization.js +23 -11
- package/dist/esm/standard/elements/TimeSynchronization.js.map +1 -1
- package/dist/esm/standard/elements/UnitLocalization.d.ts.map +1 -1
- package/dist/esm/standard/elements/UnitLocalization.js +1 -1
- package/dist/esm/standard/elements/UnitLocalization.js.map +1 -1
- package/dist/esm/standard/elements/UserLabel.d.ts.map +1 -1
- package/dist/esm/standard/elements/UserLabel.js +1 -1
- package/dist/esm/standard/elements/UserLabel.js.map +1 -1
- package/dist/esm/standard/elements/ValidProxies.js +0 -1
- package/dist/esm/standard/elements/ValidProxies.js.map +1 -1
- package/dist/esm/standard/elements/ValveConfigurationAndControl.js +1 -0
- package/dist/esm/standard/elements/ValveConfigurationAndControl.js.map +1 -1
- package/dist/esm/standard/elements/WaterHeaterDT.d.ts +8 -0
- package/dist/esm/standard/elements/WaterHeaterDT.d.ts.map +1 -0
- package/dist/esm/standard/elements/WaterHeaterDT.js +57 -0
- package/dist/esm/standard/elements/WaterHeaterDT.js.map +6 -0
- package/dist/esm/standard/elements/WaterHeaterManagement.d.ts +8 -0
- package/dist/esm/standard/elements/WaterHeaterManagement.d.ts.map +1 -0
- package/dist/esm/standard/elements/WaterHeaterManagement.js +226 -0
- package/dist/esm/standard/elements/WaterHeaterManagement.js.map +6 -0
- package/dist/esm/standard/elements/WaterHeaterMode.d.ts +8 -0
- package/dist/esm/standard/elements/WaterHeaterMode.d.ts.map +1 -0
- package/dist/esm/standard/elements/WaterHeaterMode.js +85 -0
- package/dist/esm/standard/elements/WaterHeaterMode.js.map +6 -0
- package/dist/esm/standard/elements/WaterTankLevelMonitoring.d.ts +8 -0
- package/dist/esm/standard/elements/WaterTankLevelMonitoring.d.ts.map +1 -0
- package/dist/esm/standard/elements/WaterTankLevelMonitoring.js +15 -0
- package/dist/esm/standard/elements/WaterTankLevelMonitoring.js.map +6 -0
- package/dist/esm/standard/elements/WaterValveDT.js +5 -5
- package/dist/esm/standard/elements/WiFiNetworkDiagnostics.d.ts.map +1 -1
- package/dist/esm/standard/elements/WiFiNetworkDiagnostics.js +2 -2
- package/dist/esm/standard/elements/WiFiNetworkDiagnostics.js.map +1 -1
- package/dist/esm/standard/elements/WiFiNetworkManagement.d.ts +8 -0
- package/dist/esm/standard/elements/WiFiNetworkManagement.d.ts.map +1 -0
- package/dist/esm/standard/elements/WiFiNetworkManagement.js +68 -0
- package/dist/esm/standard/elements/WiFiNetworkManagement.js.map +6 -0
- package/dist/esm/standard/elements/WindowCovering.js +35 -36
- package/dist/esm/standard/elements/WindowCovering.js.map +1 -1
- package/dist/esm/standard/elements/WindowCoveringControllerDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/WindowCoveringControllerDT.js +0 -7
- package/dist/esm/standard/elements/WindowCoveringControllerDT.js.map +1 -1
- package/dist/esm/standard/elements/WindowCoveringDT.d.ts.map +1 -1
- package/dist/esm/standard/elements/WindowCoveringDT.js +4 -15
- package/dist/esm/standard/elements/WindowCoveringDT.js.map +1 -1
- package/dist/esm/standard/elements/action-id.js +1 -1
- package/dist/esm/standard/elements/amperage-mA.js +1 -1
- package/dist/esm/standard/elements/attrib-id.js +1 -1
- package/dist/esm/standard/elements/bool.js +1 -1
- package/dist/esm/standard/elements/cluster-id.js +1 -1
- package/dist/esm/standard/elements/command-id.js +1 -1
- package/dist/esm/standard/elements/data-ver.js +2 -2
- package/dist/esm/standard/elements/date.js +5 -5
- package/dist/esm/standard/elements/definitions.d.ts +27 -1
- package/dist/esm/standard/elements/definitions.d.ts.map +1 -1
- package/dist/esm/standard/elements/definitions.js +27 -1
- package/dist/esm/standard/elements/definitions.js.map +1 -1
- package/dist/esm/standard/elements/devtype-id.js +1 -1
- package/dist/esm/standard/elements/double.js +1 -1
- package/dist/esm/standard/elements/elapsed-s.js +1 -1
- package/dist/esm/standard/elements/endpoint-no.d.ts.map +1 -1
- package/dist/esm/standard/elements/endpoint-no.js +2 -2
- package/dist/esm/standard/elements/endpoint-no.js.map +1 -1
- package/dist/esm/standard/elements/energy-mWh.js +1 -1
- package/dist/esm/standard/elements/entry-idx.js +1 -1
- package/dist/esm/standard/elements/enum16.js +1 -1
- package/dist/esm/standard/elements/enum8.js +1 -1
- package/dist/esm/standard/elements/epoch-s.js +1 -1
- package/dist/esm/standard/elements/epoch-us.js +1 -1
- package/dist/esm/standard/elements/event-id.js +1 -1
- package/dist/esm/standard/elements/event-no.js +1 -1
- package/dist/esm/standard/elements/fabric-id.js +1 -1
- package/dist/esm/standard/elements/fabric-idx.js +1 -1
- package/dist/esm/standard/elements/field-id.js +1 -1
- package/dist/esm/standard/elements/group-id.js +1 -1
- package/dist/esm/standard/elements/hwadr.js +1 -1
- package/dist/esm/standard/elements/int16.js +1 -1
- package/dist/esm/standard/elements/int24.js +1 -1
- package/dist/esm/standard/elements/int32.js +1 -1
- package/dist/esm/standard/elements/int40.js +1 -1
- package/dist/esm/standard/elements/int48.js +1 -1
- package/dist/esm/standard/elements/int56.js +1 -1
- package/dist/esm/standard/elements/int64.js +1 -1
- package/dist/esm/standard/elements/int8.js +1 -1
- package/dist/esm/standard/elements/ipadr.d.ts.map +1 -1
- package/dist/esm/standard/elements/ipadr.js +1 -2
- package/dist/esm/standard/elements/ipadr.js.map +1 -1
- package/dist/esm/standard/elements/ipv4adr.js +1 -1
- package/dist/esm/standard/elements/ipv6adr.js +1 -1
- package/dist/esm/standard/elements/ipv6pre.js +1 -1
- package/dist/esm/standard/elements/list.d.ts.map +1 -1
- package/dist/esm/standard/elements/list.js +8 -10
- package/dist/esm/standard/elements/list.js.map +1 -1
- package/dist/esm/standard/elements/locationdesc.d.ts +8 -0
- package/dist/esm/standard/elements/locationdesc.d.ts.map +1 -0
- package/dist/esm/standard/elements/locationdesc.js +49 -0
- package/dist/esm/standard/elements/locationdesc.js.map +6 -0
- package/dist/esm/standard/elements/map16.js +1 -1
- package/dist/esm/standard/elements/map32.js +1 -1
- package/dist/esm/standard/elements/map64.js +1 -1
- package/dist/esm/standard/elements/map8.js +1 -1
- package/dist/esm/standard/elements/models.d.ts +27 -1
- package/dist/esm/standard/elements/models.d.ts.map +1 -1
- package/dist/esm/standard/elements/models.js +54 -2
- package/dist/esm/standard/elements/models.js.map +1 -1
- package/dist/esm/standard/elements/namespace.js +1 -1
- package/dist/esm/standard/elements/node-id.js +1 -1
- package/dist/esm/standard/elements/octstr.js +1 -1
- package/dist/esm/standard/elements/percent.js +1 -1
- package/dist/esm/standard/elements/percent100ths.js +1 -1
- package/dist/esm/standard/elements/posix-ms.js +1 -1
- package/dist/esm/standard/elements/power-mW.js +1 -1
- package/dist/esm/standard/elements/priority.js +1 -1
- package/dist/esm/standard/elements/semtag.js +5 -5
- package/dist/esm/standard/elements/single.js +1 -1
- package/dist/esm/standard/elements/status.d.ts.map +1 -1
- package/dist/esm/standard/elements/status.js +19 -1
- package/dist/esm/standard/elements/status.js.map +1 -1
- package/dist/esm/standard/elements/string.js +1 -1
- package/dist/esm/standard/elements/struct.js +1 -1
- package/dist/esm/standard/elements/systime-ms.js +1 -1
- package/dist/esm/standard/elements/systime-us.js +1 -1
- package/dist/esm/standard/elements/tag.js +1 -1
- package/dist/esm/standard/elements/temperature.js +1 -1
- package/dist/esm/standard/elements/tod.js +1 -1
- package/dist/esm/standard/elements/trans-id.js +1 -1
- package/dist/esm/standard/elements/uint16.js +1 -1
- package/dist/esm/standard/elements/uint24.js +1 -1
- package/dist/esm/standard/elements/uint32.js +1 -1
- package/dist/esm/standard/elements/uint40.js +1 -1
- package/dist/esm/standard/elements/uint48.js +1 -1
- package/dist/esm/standard/elements/uint56.js +1 -1
- package/dist/esm/standard/elements/uint64.js +1 -1
- package/dist/esm/standard/elements/uint8.js +1 -1
- package/dist/esm/standard/elements/vendor-id.js +1 -1
- package/dist/esm/standard/elements/voltage-mV.js +1 -1
- package/package.json +4 -4
- package/src/aspects/Conformance.ts +34 -6
- package/src/aspects/Quality.ts +9 -1
- package/src/common/Specification.ts +3 -3
- package/src/logic/cluster-variance/IllegalFeatureCombinations.ts +104 -81
- package/src/logic/cluster-variance/InferredComponents.ts +27 -1
- package/src/logic/definition-validation/ValueValidator.ts +16 -6
- package/src/models/AttributeModel.ts +2 -4
- package/src/models/ClusterModel.ts +2 -4
- package/src/models/CommandModel.ts +2 -5
- package/src/models/DatatypeModel.ts +3 -4
- package/src/models/DeviceTypeModel.ts +3 -3
- package/src/models/EndpointModel.ts +3 -3
- package/src/models/EventModel.ts +2 -5
- package/src/models/FabricModel.ts +3 -3
- package/src/models/FieldModel.ts +3 -4
- package/src/models/MatterModel.ts +3 -3
- package/src/models/Model.ts +61 -6
- package/src/models/NodeModel.ts +3 -3
- package/src/models/RequirementModel.ts +4 -4
- package/src/models/SemanticNamespaceModel.ts +3 -3
- package/src/models/SemanticTagModel.ts +3 -3
- package/src/standard/elements/AcceptedCommandList.ts +6 -2
- package/src/standard/elements/AccessControl.ts +578 -39
- package/src/standard/elements/Actions.ts +16 -13
- package/src/standard/elements/AdministratorCommissioning.ts +60 -44
- package/src/standard/elements/AggregatorDT.ts +21 -4
- package/src/standard/elements/AirPurifierDT.ts +5 -1
- package/src/standard/elements/AlarmBase.ts +1 -2
- package/src/standard/elements/ApplicationLauncher.ts +12 -6
- package/src/standard/elements/AreaNamespaceNS.ts +129 -0
- package/src/standard/elements/AtomicAttributeStatusStruct.ts +30 -0
- package/src/standard/elements/AtomicRequestTypeEnum.ts +22 -0
- package/src/standard/elements/BallastConfiguration.ts +3 -3
- package/src/standard/elements/BasicInformation.ts +33 -25
- package/src/standard/elements/BatteryStorageDT.ts +36 -0
- package/src/standard/elements/BooleanStateConfiguration.ts +2 -2
- package/src/standard/elements/BridgedDeviceBasicInformation.ts +170 -35
- package/src/standard/elements/BridgedNodeDT.ts +25 -3
- package/src/standard/elements/Channel.ts +28 -30
- package/src/standard/elements/ColorControl.ts +757 -651
- package/src/standard/elements/CommissionerControl.ts +194 -0
- package/src/standard/elements/ConcentrationMeasurement.ts +2 -2
- package/src/standard/elements/ContentControl.ts +41 -49
- package/src/standard/elements/ContentLauncher.ts +21 -20
- package/src/standard/elements/DeviceEnergyManagement.ts +254 -193
- package/src/standard/elements/DeviceEnergyManagementDT.ts +31 -8
- package/src/standard/elements/DeviceEnergyManagementMode.ts +52 -15
- package/src/standard/elements/DishwasherAlarm.ts +2 -1
- package/src/standard/elements/DishwasherMode.ts +34 -20
- package/src/standard/elements/DoorLock.ts +574 -668
- package/src/standard/elements/DoorLockControllerDT.ts +1 -1
- package/src/standard/elements/DoorLockDT.ts +2 -2
- package/src/standard/elements/EcosystemInformation.ts +191 -0
- package/src/standard/elements/ElectricalEnergyMeasurement.ts +33 -34
- package/src/standard/elements/ElectricalMeasurementNS.ts +1 -1
- package/src/standard/elements/ElectricalPowerMeasurement.ts +5 -5
- package/src/standard/elements/EnergyEvse.ts +156 -86
- package/src/standard/elements/EnergyEvseDT.ts +43 -0
- package/src/standard/elements/EnergyEvseMode.ts +79 -14
- package/src/standard/elements/EnergyPreference.ts +28 -31
- package/src/standard/elements/EthernetNetworkDiagnostics.ts +1 -2
- package/src/standard/elements/EventList.ts +2 -11
- package/src/standard/elements/FabricIndex.ts +1 -1
- package/src/standard/elements/FanControl.ts +12 -12
- package/src/standard/elements/FanDT.ts +5 -1
- package/src/standard/elements/FeatureMap.ts +5 -3
- package/src/standard/elements/FixedLabel.ts +7 -3
- package/src/standard/elements/FlowMeasurement.ts +10 -9
- package/src/standard/elements/GeneralCommissioning.ts +214 -48
- package/src/standard/elements/GeneralDiagnostics.ts +26 -31
- package/src/standard/elements/GeneratedCommandList.ts +4 -1
- package/src/standard/elements/GroupKeyManagement.ts +26 -27
- package/src/standard/elements/Groups.ts +2 -1
- package/src/standard/elements/HeatPumpDT.ts +41 -0
- package/src/standard/elements/IcdManagement.ts +71 -35
- package/src/standard/elements/Identify.ts +12 -12
- package/src/standard/elements/IlluminanceMeasurement.ts +10 -12
- package/src/standard/elements/JointFabricAdministratorDT.ts +40 -0
- package/src/standard/elements/JointFabricDatastoreCluster.ts +520 -0
- package/src/standard/elements/JointFabricPki.ts +131 -0
- package/src/standard/elements/KeypadInput.ts +3 -1
- package/src/standard/elements/LandmarkNamespaceNS.ts +76 -0
- package/src/standard/elements/LaundryDryerControls.ts +6 -6
- package/src/standard/elements/LaundryNS.ts +1 -1
- package/src/standard/elements/LaundryWasherControls.ts +23 -21
- package/src/standard/elements/LaundryWasherMode.ts +35 -21
- package/src/standard/elements/LevelControl.ts +61 -20
- package/src/standard/elements/LocalizationConfiguration.ts +13 -16
- package/src/standard/elements/MediaInput.ts +2 -1
- package/src/standard/elements/MediaPlayback.ts +7 -4
- package/src/standard/elements/MicrowaveOvenControl.ts +26 -22
- package/src/standard/elements/MicrowaveOvenMode.ts +45 -15
- package/src/standard/elements/ModeBase.ts +25 -58
- package/src/standard/elements/ModeSelect.ts +13 -13
- package/src/standard/elements/MountedDimmableLoadControlDT.ts +75 -0
- package/src/standard/elements/MountedOnOffControlDT.ts +73 -0
- package/src/standard/elements/NetworkCommissioning.ts +88 -80
- package/src/standard/elements/NetworkInfrastructureManagerDT.ts +54 -0
- package/src/standard/elements/OccupancySensing.ts +200 -55
- package/src/standard/elements/OccupancySensorDT.ts +5 -1
- package/src/standard/elements/OnOff.ts +1 -2
- package/src/standard/elements/OperationalCredentials.ts +59 -55
- package/src/standard/elements/OperationalState.ts +100 -69
- package/src/standard/elements/OtaSoftwareUpdateProvider.ts +22 -24
- package/src/standard/elements/OtaSoftwareUpdateRequestor.ts +2 -3
- package/src/standard/elements/OvenCavityOperationalState.ts +13 -3
- package/src/standard/elements/OvenDT.ts +1 -1
- package/src/standard/elements/OvenMode.ts +50 -14
- package/src/standard/elements/PowerSource.ts +44 -12
- package/src/standard/elements/PowerSourceNS.ts +5 -5
- package/src/standard/elements/PressureMeasurement.ts +8 -8
- package/src/standard/elements/PumpConfigurationAndControl.ts +32 -22
- package/src/standard/elements/PumpControllerDT.ts +1 -5
- package/src/standard/elements/PumpDT.ts +14 -14
- package/src/standard/elements/RefrigeratorAlarm.ts +2 -1
- package/src/standard/elements/RefrigeratorAndTemperatureControlledCabinetMode.ts +37 -15
- package/src/standard/elements/RefrigeratorDT.ts +1 -1
- package/src/standard/elements/RefrigeratorNS.ts +1 -1
- package/src/standard/elements/RelativeHumidityMeasurement.ts +3 -4
- package/src/standard/elements/RelativePositionNS.ts +35 -0
- package/src/standard/elements/ResourceMonitoring.ts +2 -1
- package/src/standard/elements/RoboticVacuumCleanerDT.ts +5 -1
- package/src/standard/elements/RoomAirConditionerNS.ts +1 -1
- package/src/standard/elements/RootNodeDT.ts +18 -11
- package/src/standard/elements/RvcCleanMode.ts +33 -11
- package/src/standard/elements/RvcOperationalState.ts +24 -6
- package/src/standard/elements/RvcRunMode.ts +37 -15
- package/src/standard/elements/ScenesManagement.ts +42 -23
- package/src/standard/elements/SecondaryNetworkInterfaceDT.ts +49 -0
- package/src/standard/elements/ServiceArea.ts +708 -0
- package/src/standard/elements/SmokeCoAlarm.ts +13 -15
- package/src/standard/elements/SoftwareVersionCertificationStatusEnum.ts +1 -1
- package/src/standard/elements/SolarPowerDT.ts +31 -0
- package/src/standard/elements/Switch.ts +121 -38
- package/src/standard/elements/SwitchesNS.ts +2 -2
- package/src/standard/elements/TargetNavigator.ts +2 -2
- package/src/standard/elements/TemperatureControl.ts +3 -3
- package/src/standard/elements/TemperatureControlledCabinetDT.ts +1 -1
- package/src/standard/elements/TemperatureMeasurement.ts +4 -4
- package/src/standard/elements/Thermostat.ts +997 -182
- package/src/standard/elements/ThermostatDT.ts +17 -21
- package/src/standard/elements/ThermostatUserInterfaceConfiguration.ts +3 -3
- package/src/standard/elements/ThreadBorderRouterManagement.ts +207 -0
- package/src/standard/elements/ThreadNetworkDiagnostics.ts +28 -14
- package/src/standard/elements/ThreadNetworkDirectory.ts +175 -0
- package/src/standard/elements/TimeFormatLocalization.ts +1 -1
- package/src/standard/elements/TimeSynchronization.ts +36 -34
- package/src/standard/elements/UnitLocalization.ts +1 -2
- package/src/standard/elements/UserLabel.ts +2 -1
- package/src/standard/elements/ValidProxies.ts +2 -2
- package/src/standard/elements/ValveConfigurationAndControl.ts +1 -1
- package/src/standard/elements/WaterHeaterDT.ts +47 -0
- package/src/standard/elements/WaterHeaterManagement.ts +283 -0
- package/src/standard/elements/WaterHeaterMode.ts +95 -0
- package/src/standard/elements/{PulseWidthModulation.ts → WaterTankLevelMonitoring.ts} +4 -2
- package/src/standard/elements/WaterValveDT.ts +5 -5
- package/src/standard/elements/WiFiNetworkDiagnostics.ts +5 -7
- package/src/standard/elements/WiFiNetworkManagement.ts +98 -0
- package/src/standard/elements/WindowCovering.ts +35 -35
- package/src/standard/elements/WindowCoveringControllerDT.ts +0 -4
- package/src/standard/elements/WindowCoveringDT.ts +2 -11
- package/src/standard/elements/action-id.ts +1 -1
- package/src/standard/elements/amperage-mA.ts +1 -1
- package/src/standard/elements/attrib-id.ts +1 -1
- package/src/standard/elements/bool.ts +1 -1
- package/src/standard/elements/cluster-id.ts +1 -1
- package/src/standard/elements/command-id.ts +1 -1
- package/src/standard/elements/data-ver.ts +2 -2
- package/src/standard/elements/date.ts +5 -5
- package/src/standard/elements/definitions.ts +27 -1
- package/src/standard/elements/devtype-id.ts +1 -1
- package/src/standard/elements/double.ts +1 -1
- package/src/standard/elements/elapsed-s.ts +1 -1
- package/src/standard/elements/endpoint-no.ts +4 -2
- package/src/standard/elements/energy-mWh.ts +1 -1
- package/src/standard/elements/entry-idx.ts +1 -1
- package/src/standard/elements/enum16.ts +1 -1
- package/src/standard/elements/enum8.ts +1 -1
- package/src/standard/elements/epoch-s.ts +1 -1
- package/src/standard/elements/epoch-us.ts +1 -1
- package/src/standard/elements/event-id.ts +1 -1
- package/src/standard/elements/event-no.ts +1 -1
- package/src/standard/elements/fabric-id.ts +1 -1
- package/src/standard/elements/fabric-idx.ts +1 -1
- package/src/standard/elements/field-id.ts +1 -1
- package/src/standard/elements/group-id.ts +1 -1
- package/src/standard/elements/hwadr.ts +1 -1
- package/src/standard/elements/int16.ts +1 -1
- package/src/standard/elements/int24.ts +1 -1
- package/src/standard/elements/int32.ts +1 -1
- package/src/standard/elements/int40.ts +1 -1
- package/src/standard/elements/int48.ts +1 -1
- package/src/standard/elements/int56.ts +1 -1
- package/src/standard/elements/int64.ts +1 -1
- package/src/standard/elements/int8.ts +1 -1
- package/src/standard/elements/ipadr.ts +1 -2
- package/src/standard/elements/ipv4adr.ts +1 -1
- package/src/standard/elements/ipv6adr.ts +1 -1
- package/src/standard/elements/ipv6pre.ts +1 -1
- package/src/standard/elements/list.ts +77 -91
- package/src/standard/elements/locationdesc.ts +80 -0
- package/src/standard/elements/map16.ts +1 -1
- package/src/standard/elements/map32.ts +1 -1
- package/src/standard/elements/map64.ts +1 -1
- package/src/standard/elements/map8.ts +1 -1
- package/src/standard/elements/models.ts +27 -1
- package/src/standard/elements/namespace.ts +1 -1
- package/src/standard/elements/node-id.ts +1 -1
- package/src/standard/elements/octstr.ts +1 -1
- package/src/standard/elements/percent.ts +1 -1
- package/src/standard/elements/percent100ths.ts +1 -1
- package/src/standard/elements/posix-ms.ts +1 -1
- package/src/standard/elements/power-mW.ts +1 -1
- package/src/standard/elements/priority.ts +1 -1
- package/src/standard/elements/semtag.ts +5 -5
- package/src/standard/elements/single.ts +1 -1
- package/src/standard/elements/status.ts +16 -1
- package/src/standard/elements/string.ts +1 -1
- package/src/standard/elements/struct.ts +1 -1
- package/src/standard/elements/systime-ms.ts +1 -1
- package/src/standard/elements/systime-us.ts +1 -1
- package/src/standard/elements/tag.ts +1 -1
- package/src/standard/elements/temperature.ts +1 -1
- package/src/standard/elements/tod.ts +1 -1
- package/src/standard/elements/trans-id.ts +1 -1
- package/src/standard/elements/uint16.ts +1 -1
- package/src/standard/elements/uint24.ts +1 -1
- package/src/standard/elements/uint32.ts +1 -1
- package/src/standard/elements/uint40.ts +1 -1
- package/src/standard/elements/uint48.ts +1 -1
- package/src/standard/elements/uint56.ts +1 -1
- package/src/standard/elements/uint64.ts +1 -1
- package/src/standard/elements/uint8.ts +1 -1
- package/src/standard/elements/vendor-id.ts +1 -1
- package/src/standard/elements/voltage-mV.ts +1 -1
- package/dist/cjs/standard/elements/PulseWidthModulation.d.ts.map +0 -1
- package/dist/cjs/standard/elements/PulseWidthModulation.js.map +0 -6
- package/dist/esm/standard/elements/PulseWidthModulation.d.ts.map +0 -1
- package/dist/esm/standard/elements/PulseWidthModulation.js +0 -13
- package/dist/esm/standard/elements/PulseWidthModulation.js.map +0 -6
|
@@ -18,10 +18,10 @@ const DoorLock = Cluster(
|
|
|
18
18
|
id: 257,
|
|
19
19
|
classification: "application",
|
|
20
20
|
pics: "DRLK",
|
|
21
|
-
details: "The door lock cluster provides an interface to a generic way to secure a door. The physical object that provides the locking functionality is abstracted from the cluster. The cluster has a small list of mandatory attributes and functions and a list of optional features.",
|
|
21
|
+
details: "The door lock cluster provides an interface to a generic way to secure a door. The physical object that provides the locking functionality is abstracted from the cluster. The cluster has a small list of mandatory attributes and functions and a list of optional features.\nFigure 16. Typical Usage of the Door Lock Cluster",
|
|
22
22
|
xref: { document: "cluster", section: "5.2" }
|
|
23
23
|
},
|
|
24
|
-
Attribute({ name: "ClusterRevision", id: 65533, type: "ClusterRevision", default:
|
|
24
|
+
Attribute({ name: "ClusterRevision", id: 65533, type: "ClusterRevision", default: 8 }),
|
|
25
25
|
Attribute(
|
|
26
26
|
{ name: "FeatureMap", id: 65532, type: "FeatureMap", xref: { document: "cluster", section: "5.2.4" } },
|
|
27
27
|
Field({
|
|
@@ -37,7 +37,7 @@ const DoorLock = Cluster(
|
|
|
37
37
|
conformance: "O",
|
|
38
38
|
constraint: "1",
|
|
39
39
|
description: "RfidCredential",
|
|
40
|
-
details: "If the User Feature is also supported then any RFID credential stored in the lock shall be associated with a User.\nA lock may support multiple credential types so if the User feature is supported the UserType, UserStatus and Schedules are all associated with a User index and not directly with a RFID index. A User
|
|
40
|
+
details: "If the User Feature is also supported then any RFID credential stored in the lock shall be associated with a User.\nA lock may support multiple credential types so if the User feature is supported the UserType, UserStatus and Schedules are all associated with a User index and not directly with a RFID index. A User Index may have several credentials associated with it.",
|
|
41
41
|
xref: { document: "cluster", section: "5.2.4.2" }
|
|
42
42
|
}),
|
|
43
43
|
Field({
|
|
@@ -48,21 +48,13 @@ const DoorLock = Cluster(
|
|
|
48
48
|
details: "Currently the cluster only defines the metadata format for notifications when a fingerprint/ finger vein credential is used to access the lock and doesn\u2019t describe how to create fingerprint/finger vein credentials. If the Users feature is also supported then the User that a fingerprint/finger vein is associated with can also have its UserType, UserStatus and Schedule modified.\nA lock may support multiple credential types so if the User feature is supported the UserType, UserStatus and Schedules are all associated with a User index and not directly with a Finger index. A User Index may have several credentials associated with it.",
|
|
49
49
|
xref: { document: "cluster", section: "5.2.4.3" }
|
|
50
50
|
}),
|
|
51
|
-
Field({
|
|
52
|
-
name: "LOG",
|
|
53
|
-
conformance: "O",
|
|
54
|
-
constraint: "3",
|
|
55
|
-
description: "Logging",
|
|
56
|
-
details: "If Events are not supported the logging feature shall replace the Event reporting structure. If Events are supported the logging feature shall NOT be supported.",
|
|
57
|
-
xref: { document: "cluster", section: "5.2.4.4" }
|
|
58
|
-
}),
|
|
59
51
|
Field({
|
|
60
52
|
name: "WDSCH",
|
|
61
53
|
conformance: "O",
|
|
62
54
|
constraint: "4",
|
|
63
55
|
description: "WeekDayAccessSchedules",
|
|
64
|
-
details: "If the User feature is supported then Week Day Schedules are applied to a User and not a credential.\nWeek Day Schedules are used to restrict access to a specified time window on certain days of the week. The schedule is repeated each week
|
|
65
|
-
xref: { document: "cluster", section: "5.2.4.
|
|
56
|
+
details: "If the User feature is supported then Week Day Schedules are applied to a User and not a credential.\nWeek Day Schedules are used to restrict access to a specified time window on certain days of the week. The schedule is repeated each week.\nThe lock may automatically adjust the UserType when a schedule is created or cleared.\nSupport for WeekDayAccessSchedules requires that the lock has the capability of keeping track of local time.",
|
|
57
|
+
xref: { document: "cluster", section: "5.2.4.4" }
|
|
66
58
|
}),
|
|
67
59
|
Field({
|
|
68
60
|
name: "DPS",
|
|
@@ -70,7 +62,7 @@ const DoorLock = Cluster(
|
|
|
70
62
|
constraint: "5",
|
|
71
63
|
description: "DoorPositionSensor",
|
|
72
64
|
details: "If this feature is supported this indicates that the lock has the ability to determine the position of the door which is separate from the state of the lock.",
|
|
73
|
-
xref: { document: "cluster", section: "5.2.4.
|
|
65
|
+
xref: { document: "cluster", section: "5.2.4.5" }
|
|
74
66
|
}),
|
|
75
67
|
Field({
|
|
76
68
|
name: "FACE",
|
|
@@ -78,47 +70,39 @@ const DoorLock = Cluster(
|
|
|
78
70
|
constraint: "6",
|
|
79
71
|
description: "FaceCredentials",
|
|
80
72
|
details: "Currently the cluster only defines the metadata format for notifications when a face recognition, iris, or retina credential is used to access the lock and doesn\u2019t describe how to create face recognition, iris, or retina credentials. If the Users feature is also supported then the User that a face recognition, iris, or retina credential is associated with can also have its UserType, UserStatus and Schedule modified.\nA lock may support multiple credential types so if the User feature is supported the UserType, UserStatus and Schedules are all associated with a User and not directly with a credential.",
|
|
81
|
-
xref: { document: "cluster", section: "5.2.4.
|
|
73
|
+
xref: { document: "cluster", section: "5.2.4.6" }
|
|
82
74
|
}),
|
|
83
75
|
Field({
|
|
84
76
|
name: "COTA",
|
|
85
77
|
conformance: "O",
|
|
86
78
|
constraint: "7",
|
|
87
79
|
description: "CredentialOverTheAirAccess",
|
|
88
|
-
details: "If this feature is supported then the lock supports the ability to verify a credential provided in a
|
|
89
|
-
xref: { document: "cluster", section: "5.2.4.
|
|
80
|
+
details: "If this feature is supported then the lock supports the ability to verify a credential provided in a\nlock/unlock command. Currently the cluster only supports providing the PIN credential to the lock/unlock commands. If this feature is supported then the PIN Credential feature shall also be supported.",
|
|
81
|
+
xref: { document: "cluster", section: "5.2.4.7" }
|
|
90
82
|
}),
|
|
91
83
|
Field({
|
|
92
84
|
name: "USR",
|
|
93
|
-
conformance: "[PIN | RID | FGP | FACE]",
|
|
85
|
+
conformance: "ALIRO, [PIN | RID | FGP | FACE]",
|
|
94
86
|
constraint: "8",
|
|
95
87
|
description: "User",
|
|
96
88
|
details: "If the User Feature is supported then a lock employs a User database. A User within the User database is used to associate credentials and schedules to single user record within the lock. This also means the UserType and UserStatus fields are associated with a User and not a credential.",
|
|
97
|
-
xref: { document: "cluster", section: "5.2.4.
|
|
98
|
-
}),
|
|
99
|
-
Field({
|
|
100
|
-
name: "NOT",
|
|
101
|
-
conformance: "O",
|
|
102
|
-
constraint: "9",
|
|
103
|
-
description: "Notification",
|
|
104
|
-
details: "This is a feature used before support of events. This feature supports notification commands and masks used to filter these notifications.",
|
|
105
|
-
xref: { document: "cluster", section: "5.2.4.10" }
|
|
89
|
+
xref: { document: "cluster", section: "5.2.4.8" }
|
|
106
90
|
}),
|
|
107
91
|
Field({
|
|
108
92
|
name: "YDSCH",
|
|
109
93
|
conformance: "O",
|
|
110
94
|
constraint: "10",
|
|
111
95
|
description: "YearDayAccessSchedules",
|
|
112
|
-
details: "If the User feature is supported then Year Day Schedules are applied to a User and not a credential
|
|
113
|
-
xref: { document: "cluster", section: "5.2.4.
|
|
96
|
+
details: "If the User feature is supported then Year Day Schedules are applied to a User and not a credential. Year Day Schedules are used to restrict access to a specified date and time window.\nThe lock may automatically adjust the UserType when a schedule is created or cleared.\nSupport for YearDayAccessSchedules requires that the lock has the capability of keeping track of local time.",
|
|
97
|
+
xref: { document: "cluster", section: "5.2.4.9" }
|
|
114
98
|
}),
|
|
115
99
|
Field({
|
|
116
100
|
name: "HDSCH",
|
|
117
101
|
conformance: "O",
|
|
118
102
|
constraint: "11",
|
|
119
103
|
description: "HolidaySchedules",
|
|
120
|
-
details: "This feature is used to setup Holiday Schedule in the lock device. A Holiday Schedule sets a start and stop end date/time for the lock to use the specified operating mode set by the Holiday Schedule.",
|
|
121
|
-
xref: { document: "cluster", section: "5.2.4.
|
|
104
|
+
details: "This feature is used to setup Holiday Schedule in the lock device. A Holiday Schedule sets a start and stop end date/time for the lock to use the specified operating mode set by the Holiday Schedule.\nSupport for HolidaySchedules requires that the lock has the capability of keeping track of local time.",
|
|
105
|
+
xref: { document: "cluster", section: "5.2.4.10" }
|
|
122
106
|
}),
|
|
123
107
|
Field({
|
|
124
108
|
name: "UBOLT",
|
|
@@ -126,6 +110,22 @@ const DoorLock = Cluster(
|
|
|
126
110
|
constraint: "12",
|
|
127
111
|
description: "Unbolting",
|
|
128
112
|
details: "Locks that support this feature differentiate between unbolting and unlocking. The Unbolt Door command retracts the bolt without pulling the latch. The Unlock Door command fully unlocks the door by retracting the bolt and briefly pulling the latch. While the latch is pulled, the lock state changes to Unlatched. Locks without unbolting support don\u2019t differentiate between unbolting and unlocking and perform the same operation for both commands.",
|
|
113
|
+
xref: { document: "cluster", section: "5.2.4.11" }
|
|
114
|
+
}),
|
|
115
|
+
Field({
|
|
116
|
+
name: "ALIRO",
|
|
117
|
+
conformance: "O",
|
|
118
|
+
constraint: "13",
|
|
119
|
+
description: "AliroProvisioning",
|
|
120
|
+
details: "Locks that support this feature implement the Aliro specification as defined in [Aliro] and support Matter as a method for provisioning Aliro credentials.",
|
|
121
|
+
xref: { document: "cluster", section: "5.2.4.12" }
|
|
122
|
+
}),
|
|
123
|
+
Field({
|
|
124
|
+
name: "ALBU",
|
|
125
|
+
conformance: "[ALIRO]",
|
|
126
|
+
constraint: "14",
|
|
127
|
+
description: "AliroBleuwb",
|
|
128
|
+
details: "Locks that support this feature implement the Bluetooth LE + UWB Access Control Flow as defined in [Aliro].",
|
|
129
129
|
xref: { document: "cluster", section: "5.2.4.13" }
|
|
130
130
|
})
|
|
131
131
|
),
|
|
@@ -136,9 +136,9 @@ const DoorLock = Cluster(
|
|
|
136
136
|
access: "R V",
|
|
137
137
|
conformance: "M",
|
|
138
138
|
constraint: "desc",
|
|
139
|
-
quality: "X
|
|
139
|
+
quality: "X P",
|
|
140
140
|
details: "This attribute may be NULL if the lock hardware does not currently know the status of the locking mechanism. For example, a lock may not know the LockState status after a power cycle until the first lock actuation is completed.\nThe Not Fully Locked value is used by a lock to indicate that the state of the lock is somewhere between Locked and Unlocked so it is only partially secured. For example, a deadbolt could be partially extended and not in a dead latched state.",
|
|
141
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
141
|
+
xref: { document: "cluster", section: "5.2.9.1" }
|
|
142
142
|
}),
|
|
143
143
|
Attribute({
|
|
144
144
|
name: "LockType",
|
|
@@ -148,7 +148,7 @@ const DoorLock = Cluster(
|
|
|
148
148
|
conformance: "M",
|
|
149
149
|
constraint: "desc",
|
|
150
150
|
details: "Indicates the type of door lock as defined in LockTypeEnum.",
|
|
151
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
151
|
+
xref: { document: "cluster", section: "5.2.9.2" }
|
|
152
152
|
}),
|
|
153
153
|
Attribute({
|
|
154
154
|
name: "ActuatorEnabled",
|
|
@@ -157,7 +157,7 @@ const DoorLock = Cluster(
|
|
|
157
157
|
access: "R V",
|
|
158
158
|
conformance: "M",
|
|
159
159
|
details: "Indicates if the lock is currently able to (Enabled) or not able to (Disabled) process remote Lock, Unlock, or Unlock with Timeout commands.",
|
|
160
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
160
|
+
xref: { document: "cluster", section: "5.2.9.3" }
|
|
161
161
|
}),
|
|
162
162
|
Attribute({
|
|
163
163
|
name: "DoorState",
|
|
@@ -168,7 +168,7 @@ const DoorLock = Cluster(
|
|
|
168
168
|
constraint: "desc",
|
|
169
169
|
quality: "X P",
|
|
170
170
|
details: "Indicates the current door state as defined in DoorStateEnum.\nNull only if an internal error prevents the retrieval of the current door state.",
|
|
171
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
171
|
+
xref: { document: "cluster", section: "5.2.9.4" }
|
|
172
172
|
}),
|
|
173
173
|
Attribute({
|
|
174
174
|
name: "DoorOpenEvents",
|
|
@@ -177,7 +177,7 @@ const DoorLock = Cluster(
|
|
|
177
177
|
access: "RW VM",
|
|
178
178
|
conformance: "[DPS]",
|
|
179
179
|
details: "This attribute shall hold the number of door open events that have occurred since it was last zeroed.",
|
|
180
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
180
|
+
xref: { document: "cluster", section: "5.2.9.5" }
|
|
181
181
|
}),
|
|
182
182
|
Attribute({
|
|
183
183
|
name: "DoorClosedEvents",
|
|
@@ -186,7 +186,7 @@ const DoorLock = Cluster(
|
|
|
186
186
|
access: "RW VM",
|
|
187
187
|
conformance: "[DPS]",
|
|
188
188
|
details: "This attribute shall hold the number of door closed events that have occurred since it was last zeroed.",
|
|
189
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
189
|
+
xref: { document: "cluster", section: "5.2.9.6" }
|
|
190
190
|
}),
|
|
191
191
|
Attribute({
|
|
192
192
|
name: "OpenPeriod",
|
|
@@ -195,18 +195,7 @@ const DoorLock = Cluster(
|
|
|
195
195
|
access: "RW VM",
|
|
196
196
|
conformance: "[DPS]",
|
|
197
197
|
details: "This attribute shall hold the number of minutes the door has been open since the last time it transitioned from closed to open.",
|
|
198
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
199
|
-
}),
|
|
200
|
-
Attribute({
|
|
201
|
-
name: "NumberOfLogRecordsSupported",
|
|
202
|
-
id: 16,
|
|
203
|
-
type: "uint16",
|
|
204
|
-
access: "R V",
|
|
205
|
-
conformance: "LOG",
|
|
206
|
-
default: 0,
|
|
207
|
-
quality: "F",
|
|
208
|
-
details: "Indicates the number of available log records.",
|
|
209
|
-
xref: { document: "cluster", section: "5.2.9.9" }
|
|
198
|
+
xref: { document: "cluster", section: "5.2.9.7" }
|
|
210
199
|
}),
|
|
211
200
|
Attribute({
|
|
212
201
|
name: "NumberOfTotalUsersSupported",
|
|
@@ -217,7 +206,7 @@ const DoorLock = Cluster(
|
|
|
217
206
|
default: 0,
|
|
218
207
|
quality: "F",
|
|
219
208
|
details: "Indicates the number of total users supported by the lock.",
|
|
220
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
209
|
+
xref: { document: "cluster", section: "5.2.9.8" }
|
|
221
210
|
}),
|
|
222
211
|
Attribute({
|
|
223
212
|
name: "NumberOfPinUsersSupported",
|
|
@@ -228,7 +217,7 @@ const DoorLock = Cluster(
|
|
|
228
217
|
default: 0,
|
|
229
218
|
quality: "F",
|
|
230
219
|
details: "Indicates the number of PIN users supported.",
|
|
231
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
220
|
+
xref: { document: "cluster", section: "5.2.9.9" }
|
|
232
221
|
}),
|
|
233
222
|
Attribute({
|
|
234
223
|
name: "NumberOfRfidUsersSupported",
|
|
@@ -239,7 +228,7 @@ const DoorLock = Cluster(
|
|
|
239
228
|
default: 0,
|
|
240
229
|
quality: "F",
|
|
241
230
|
details: "Indicates the number of RFID users supported.",
|
|
242
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
231
|
+
xref: { document: "cluster", section: "5.2.9.10" }
|
|
243
232
|
}),
|
|
244
233
|
Attribute({
|
|
245
234
|
name: "NumberOfWeekDaySchedulesSupportedPerUser",
|
|
@@ -247,10 +236,11 @@ const DoorLock = Cluster(
|
|
|
247
236
|
type: "uint8",
|
|
248
237
|
access: "R V",
|
|
249
238
|
conformance: "WDSCH",
|
|
239
|
+
constraint: "max 253",
|
|
250
240
|
default: 0,
|
|
251
241
|
quality: "F",
|
|
252
242
|
details: "Indicates the number of configurable week day schedule supported per user.",
|
|
253
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
243
|
+
xref: { document: "cluster", section: "5.2.9.11" }
|
|
254
244
|
}),
|
|
255
245
|
Attribute({
|
|
256
246
|
name: "NumberOfYearDaySchedulesSupportedPerUser",
|
|
@@ -258,10 +248,11 @@ const DoorLock = Cluster(
|
|
|
258
248
|
type: "uint8",
|
|
259
249
|
access: "R V",
|
|
260
250
|
conformance: "YDSCH",
|
|
251
|
+
constraint: "max 253",
|
|
261
252
|
default: 0,
|
|
262
253
|
quality: "F",
|
|
263
254
|
details: "Indicates the number of configurable year day schedule supported per user.",
|
|
264
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
255
|
+
xref: { document: "cluster", section: "5.2.9.12" }
|
|
265
256
|
}),
|
|
266
257
|
Attribute({
|
|
267
258
|
name: "NumberOfHolidaySchedulesSupported",
|
|
@@ -269,10 +260,11 @@ const DoorLock = Cluster(
|
|
|
269
260
|
type: "uint8",
|
|
270
261
|
access: "R V",
|
|
271
262
|
conformance: "HDSCH",
|
|
263
|
+
constraint: "max 253",
|
|
272
264
|
default: 0,
|
|
273
265
|
quality: "F",
|
|
274
266
|
details: "Indicates the number of holiday schedules supported for the entire door lock device.",
|
|
275
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
267
|
+
xref: { document: "cluster", section: "5.2.9.13" }
|
|
276
268
|
}),
|
|
277
269
|
Attribute({
|
|
278
270
|
name: "MaxPinCodeLength",
|
|
@@ -282,7 +274,7 @@ const DoorLock = Cluster(
|
|
|
282
274
|
conformance: "PIN",
|
|
283
275
|
quality: "F",
|
|
284
276
|
details: "Indicates the maximum length in bytes of a PIN Code on this device.",
|
|
285
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
277
|
+
xref: { document: "cluster", section: "5.2.9.14" }
|
|
286
278
|
}),
|
|
287
279
|
Attribute({
|
|
288
280
|
name: "MinPinCodeLength",
|
|
@@ -292,7 +284,7 @@ const DoorLock = Cluster(
|
|
|
292
284
|
conformance: "PIN",
|
|
293
285
|
quality: "F",
|
|
294
286
|
details: "Indicates the minimum length in bytes of a PIN Code on this device.",
|
|
295
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
287
|
+
xref: { document: "cluster", section: "5.2.9.15" }
|
|
296
288
|
}),
|
|
297
289
|
Attribute({
|
|
298
290
|
name: "MaxRfidCodeLength",
|
|
@@ -302,7 +294,7 @@ const DoorLock = Cluster(
|
|
|
302
294
|
conformance: "RID",
|
|
303
295
|
quality: "F",
|
|
304
296
|
details: "Indicates the maximum length in bytes of a RFID Code on this device. The value depends on the RFID code range specified by the manufacturer, if media anti-collision identifiers (UID) are used as RFID code, a value of 20 (equals 10 Byte ISO 14443A UID) is recommended.",
|
|
305
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
297
|
+
xref: { document: "cluster", section: "5.2.9.16" }
|
|
306
298
|
}),
|
|
307
299
|
Attribute({
|
|
308
300
|
name: "MinRfidCodeLength",
|
|
@@ -312,7 +304,7 @@ const DoorLock = Cluster(
|
|
|
312
304
|
conformance: "RID",
|
|
313
305
|
quality: "F",
|
|
314
306
|
details: "Indicates the minimum length in bytes of a RFID Code on this device. The value depends on the RFID code range specified by the manufacturer, if media anti-collision identifiers (UID) are used as RFID code, a value of 8 (equals 4 Byte ISO 14443A UID) is recommended.",
|
|
315
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
307
|
+
xref: { document: "cluster", section: "5.2.9.17" }
|
|
316
308
|
}),
|
|
317
309
|
Attribute({
|
|
318
310
|
name: "CredentialRulesSupport",
|
|
@@ -323,7 +315,7 @@ const DoorLock = Cluster(
|
|
|
323
315
|
default: 1,
|
|
324
316
|
quality: "F",
|
|
325
317
|
details: "This attribute shall contain a bitmap with the bits set for the values of CredentialRuleEnum supported on this device.",
|
|
326
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
318
|
+
xref: { document: "cluster", section: "5.2.9.18" }
|
|
327
319
|
}),
|
|
328
320
|
Attribute({
|
|
329
321
|
name: "NumberOfCredentialsSupportedPerUser",
|
|
@@ -334,18 +326,7 @@ const DoorLock = Cluster(
|
|
|
334
326
|
default: 0,
|
|
335
327
|
quality: "F",
|
|
336
328
|
details: "Indicates the number of credentials that could be assigned for each user.\nDepending on the value of NumberOfRFIDUsersSupported and NumberOfPINUsersSupported it may not be possible to assign that number of credentials for a user.\nFor example, if the device supports only PIN and RFID credential types, NumberOfCredentialsSupportedPerUser is set to 10, NumberOfPINUsersSupported is set to 5 and NumberOfRFIDUsersSupported is set to 3, it will not be possible to actually assign 10 credentials for a user because maximum number of credentials in the database is 8.",
|
|
337
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
338
|
-
}),
|
|
339
|
-
Attribute({
|
|
340
|
-
name: "EnableLogging",
|
|
341
|
-
id: 32,
|
|
342
|
-
type: "bool",
|
|
343
|
-
access: "R[W] VA",
|
|
344
|
-
conformance: "LOG",
|
|
345
|
-
default: true,
|
|
346
|
-
quality: "P",
|
|
347
|
-
details: "This attribute shall enable/disable event logging.\nWhen event logging is enabled, all event messages are stored on the lock for retrieval. Logging events can be, but are not limited to, Tamper Alarm, Lock, Unlock, AutoRelock, User Code Added, User Code Cleared, Schedule Added, and Schedule Cleared. For a full detail of all the possible alarms and events, please refer to the full list in the Alarm and Event Masks Attribute Set.",
|
|
348
|
-
xref: { document: "cluster", section: "5.2.9.22" }
|
|
329
|
+
xref: { document: "cluster", section: "5.2.9.19" }
|
|
349
330
|
}),
|
|
350
331
|
Attribute({
|
|
351
332
|
name: "Language",
|
|
@@ -356,7 +337,7 @@ const DoorLock = Cluster(
|
|
|
356
337
|
constraint: "max 3",
|
|
357
338
|
quality: "P",
|
|
358
339
|
details: "Indicates the language for the on-screen or audible user interface using a 2- byte language code from ISO-639-1.",
|
|
359
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
340
|
+
xref: { document: "cluster", section: "5.2.9.20" }
|
|
360
341
|
}),
|
|
361
342
|
Attribute({
|
|
362
343
|
name: "LedSettings",
|
|
@@ -367,7 +348,7 @@ const DoorLock = Cluster(
|
|
|
367
348
|
default: 0,
|
|
368
349
|
quality: "P",
|
|
369
350
|
details: "Indicates the settings for the LED support, as defined by LEDSettingEnum.",
|
|
370
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
351
|
+
xref: { document: "cluster", section: "5.2.9.21" }
|
|
371
352
|
}),
|
|
372
353
|
Attribute({
|
|
373
354
|
name: "AutoRelockTime",
|
|
@@ -377,7 +358,7 @@ const DoorLock = Cluster(
|
|
|
377
358
|
conformance: "O",
|
|
378
359
|
quality: "P",
|
|
379
360
|
details: "Indicates the number of seconds to wait after unlocking a lock before it automatically locks again. 0=disabled. If set, unlock operations from any source will be timed. For one time unlock with timeout use the specific command.",
|
|
380
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
361
|
+
xref: { document: "cluster", section: "5.2.9.22" }
|
|
381
362
|
}),
|
|
382
363
|
Attribute({
|
|
383
364
|
name: "SoundVolume",
|
|
@@ -388,7 +369,7 @@ const DoorLock = Cluster(
|
|
|
388
369
|
default: 0,
|
|
389
370
|
quality: "P",
|
|
390
371
|
details: "Indicates the sound volume on a door lock as defined by SoundVolumeEnum.",
|
|
391
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
372
|
+
xref: { document: "cluster", section: "5.2.9.23" }
|
|
392
373
|
}),
|
|
393
374
|
Attribute({
|
|
394
375
|
name: "OperatingMode",
|
|
@@ -400,7 +381,7 @@ const DoorLock = Cluster(
|
|
|
400
381
|
default: 0,
|
|
401
382
|
quality: "P",
|
|
402
383
|
details: "Indicates the current operating mode of the lock as defined in OperatingModeEnum.",
|
|
403
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
384
|
+
xref: { document: "cluster", section: "5.2.9.24" }
|
|
404
385
|
}),
|
|
405
386
|
Attribute({
|
|
406
387
|
name: "SupportedOperatingModes",
|
|
@@ -411,7 +392,7 @@ const DoorLock = Cluster(
|
|
|
411
392
|
default: 65526,
|
|
412
393
|
quality: "F",
|
|
413
394
|
details: "This attribute shall contain a bitmap with all operating bits of the OperatingMode attribute supported by the lock. All operating modes NOT supported by a lock shall be set to one. The value of the OperatingMode enumeration defines the related bit to be set.",
|
|
414
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
395
|
+
xref: { document: "cluster", section: "5.2.9.25" }
|
|
415
396
|
}),
|
|
416
397
|
Attribute({
|
|
417
398
|
name: "DefaultConfigurationRegister",
|
|
@@ -421,8 +402,8 @@ const DoorLock = Cluster(
|
|
|
421
402
|
conformance: "O",
|
|
422
403
|
default: 0,
|
|
423
404
|
quality: "P",
|
|
424
|
-
details: "Indicates the default configurations as they are physically set on the device (example: hardware dip switch setting, etc\u2026) and represents the default setting for some of the
|
|
425
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
405
|
+
details: "Indicates the default configurations as they are physically set on the device (example: hardware dip switch setting, etc\u2026) and represents the default setting for some of the\nattributes within this cluster (for example: LED, Auto Lock, Sound Volume, and Operating Mode attributes).\nThis is a read-only attribute and is intended to allow clients to determine what changes may need to be made without having to query all the included attributes. It may be beneficial for the clients to know what the device\u2019s original settings were in the event that the device needs to be restored to factory default settings.\nIf the Client device would like to query and modify the door lock server\u2019s operating settings, it SHOULD send read and write attribute requests to the specific attributes.\nFor example, the Sound Volume attribute default value is Silent Mode. However, it is possible that the current Sound Volume is High Volume. Therefore, if the client wants to query/modify the current Sound Volume setting on the server, the client SHOULD read/write to the Sound Volume attribute.",
|
|
406
|
+
xref: { document: "cluster", section: "5.2.9.26" }
|
|
426
407
|
}),
|
|
427
408
|
Attribute({
|
|
428
409
|
name: "EnableLocalProgramming",
|
|
@@ -433,7 +414,7 @@ const DoorLock = Cluster(
|
|
|
433
414
|
default: true,
|
|
434
415
|
quality: "P",
|
|
435
416
|
details: "This attribute shall enable/disable local programming on the door lock of certain features (see LocalProgrammingFeatures attribute). If this value is set to TRUE then local programming is enabled on the door lock for all features. If it is set to FALSE then local programming is disabled on the door lock for those features whose bit is set to 0 in the LocalProgrammingFeatures attribute. Local programming shall be enabled by default.",
|
|
436
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
417
|
+
xref: { document: "cluster", section: "5.2.9.27" }
|
|
437
418
|
}),
|
|
438
419
|
Attribute({
|
|
439
420
|
name: "EnableOneTouchLocking",
|
|
@@ -444,7 +425,7 @@ const DoorLock = Cluster(
|
|
|
444
425
|
default: true,
|
|
445
426
|
quality: "P",
|
|
446
427
|
details: "This attribute shall enable/disable the ability to lock the door lock with a single touch on the door lock.",
|
|
447
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
428
|
+
xref: { document: "cluster", section: "5.2.9.28" }
|
|
448
429
|
}),
|
|
449
430
|
Attribute({
|
|
450
431
|
name: "EnableInsideStatusLed",
|
|
@@ -455,7 +436,7 @@ const DoorLock = Cluster(
|
|
|
455
436
|
default: true,
|
|
456
437
|
quality: "P",
|
|
457
438
|
details: "This attribute shall enable/disable an inside LED that allows the user to see at a glance if the door is locked.",
|
|
458
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
439
|
+
xref: { document: "cluster", section: "5.2.9.29" }
|
|
459
440
|
}),
|
|
460
441
|
Attribute({
|
|
461
442
|
name: "EnablePrivacyModeButton",
|
|
@@ -466,7 +447,7 @@ const DoorLock = Cluster(
|
|
|
466
447
|
default: true,
|
|
467
448
|
quality: "P",
|
|
468
449
|
details: "This attribute shall enable/disable a button inside the door that is used to put the lock into privacy mode. When the lock is in privacy mode it cannot be manipulated from the outside.",
|
|
469
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
450
|
+
xref: { document: "cluster", section: "5.2.9.30" }
|
|
470
451
|
}),
|
|
471
452
|
Attribute({
|
|
472
453
|
name: "LocalProgrammingFeatures",
|
|
@@ -477,7 +458,7 @@ const DoorLock = Cluster(
|
|
|
477
458
|
default: 0,
|
|
478
459
|
quality: "P",
|
|
479
460
|
details: "Indicates the local programming features that will be disabled when EnableLocalProgramming attribute is set to False. If a door lock doesn\u2019t support disabling one aspect of local programming it shall return CONSTRAINT_ERROR during a write operation of this attribute. If the EnableLocalProgramming attribute is set to True then all local programming features shall be enabled regardless of the bits set to 0 in this attribute.\nThe features that can be disabled from local programming are defined in LocalProgrammingFeaturesBitmap.",
|
|
480
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
461
|
+
xref: { document: "cluster", section: "5.2.9.31" }
|
|
481
462
|
}),
|
|
482
463
|
Attribute({
|
|
483
464
|
name: "WrongCodeEntryLimit",
|
|
@@ -488,7 +469,7 @@ const DoorLock = Cluster(
|
|
|
488
469
|
constraint: "1 to 255",
|
|
489
470
|
quality: "P",
|
|
490
471
|
details: "Indicates the number of incorrect Pin codes or RFID presentment attempts a user is allowed to enter before the lock will enter a lockout state. The value of this attribute is compared to all failing forms of credential presentation, including Pin codes used in an Unlock Command when RequirePINforRemoteOperation is set to true. Valid range is 1-255 incorrect attempts. The lockout state will be for the duration of UserCodeTemporaryDisableTime. If the attribute accepts writes and an attempt to write the value 0 is made, the device shall respond with CONSTRAINT_ERROR.\nThe lock may reset the counter used to track incorrect credential presentations as required by internal logic, environmental events, or other reasons. The lock shall reset the counter if a valid credential is presented.",
|
|
491
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
472
|
+
xref: { document: "cluster", section: "5.2.9.32" }
|
|
492
473
|
}),
|
|
493
474
|
Attribute({
|
|
494
475
|
name: "UserCodeTemporaryDisableTime",
|
|
@@ -499,7 +480,7 @@ const DoorLock = Cluster(
|
|
|
499
480
|
constraint: "1 to 255",
|
|
500
481
|
quality: "P",
|
|
501
482
|
details: "Indicates the number of seconds that the lock shuts down following wrong code entry. Valid range is 1-255 seconds. Device can shut down to lock user out for specified amount of time. (Makes it difficult to try and guess a PIN for the device.) If the attribute accepts writes and an attempt to write the attribute to 0 is made, the device shall respond with CONSTRAINT_ERROR.",
|
|
502
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
483
|
+
xref: { document: "cluster", section: "5.2.9.33" }
|
|
503
484
|
}),
|
|
504
485
|
Attribute({
|
|
505
486
|
name: "SendPinOverTheAir",
|
|
@@ -509,8 +490,8 @@ const DoorLock = Cluster(
|
|
|
509
490
|
conformance: "[!USR & PIN]",
|
|
510
491
|
default: true,
|
|
511
492
|
quality: "P",
|
|
512
|
-
details: 'Indicates the door locks ability to send PINs over the air. If the attribute is True it is ok for the door lock server to send PINs over the air. This attribute determines the behavior of the server\u2019s TX operation. If it is false, then it is not ok for the device to send PIN in any messages over the air.\nThe PIN field within any door lock cluster message shall keep the first octet unchanged and
|
|
513
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
493
|
+
details: 'Indicates the door locks ability to send PINs over the air. If the attribute is True it is ok for the door lock server to send PINs over the air. This attribute determines the behavior of the server\u2019s TX operation. If it is false, then it is not ok for the device to send PIN in any messages over the air.\nThe PIN field within any door lock cluster message shall keep the first octet unchanged and\nmasks the actual code by replacing with 0xFF. For example (PIN "1234" ): If the attribute value is True, 0x04 0x31 0x32 0x33 0x34 shall be used in the PIN field in any door lock cluster message payload. If the attribute value is False, 0x04 0xFF 0xFF 0xFF 0xFF shall be used.',
|
|
494
|
+
xref: { document: "cluster", section: "5.2.9.34" }
|
|
514
495
|
}),
|
|
515
496
|
Attribute({
|
|
516
497
|
name: "RequirePinForRemoteOperation",
|
|
@@ -521,11 +502,12 @@ const DoorLock = Cluster(
|
|
|
521
502
|
default: true,
|
|
522
503
|
quality: "P",
|
|
523
504
|
details: "Indicates if the door lock requires an optional PIN. If this attribute is set to True, the door lock server requires that an optional PINs be included in the payload of remote lock operation events like Lock, Unlock, Unlock with Timeout and Toggle in order to function.",
|
|
524
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
505
|
+
xref: { document: "cluster", section: "5.2.9.35" }
|
|
525
506
|
}),
|
|
526
507
|
Attribute({
|
|
527
508
|
name: "SecurityLevel",
|
|
528
509
|
id: 52,
|
|
510
|
+
access: "R V",
|
|
529
511
|
conformance: "D",
|
|
530
512
|
default: "0",
|
|
531
513
|
xref: { document: "cluster", section: "5.2.9" }
|
|
@@ -539,7 +521,7 @@ const DoorLock = Cluster(
|
|
|
539
521
|
constraint: "1 to 2880",
|
|
540
522
|
quality: "P",
|
|
541
523
|
details: "Indicates the number of minutes a PIN, RFID, Fingerprint, or other credential associated with a user of type ExpiringUser shall remain valid after its first use before expiring. When the credential expires the UserStatus for the corresponding user record shall be set to OccupiedDisabled.",
|
|
542
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
524
|
+
xref: { document: "cluster", section: "5.2.9.36" }
|
|
543
525
|
}),
|
|
544
526
|
Attribute({
|
|
545
527
|
name: "AlarmMask",
|
|
@@ -550,105 +532,118 @@ const DoorLock = Cluster(
|
|
|
550
532
|
default: 65535,
|
|
551
533
|
quality: "P",
|
|
552
534
|
details: "This attribute is only supported if the Alarms cluster is on the same endpoint. The alarm mask is used to turn on/off alarms for particular functions. Alarms for an alarm group are enabled if the associated alarm mask bit is set. Each bit represents a group of alarms. Entire alarm groups can be turned on or off by setting or clearing the associated bit in the alarm mask.\nThis mask DOES NOT apply to the Events mechanism of this cluster.",
|
|
553
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
554
|
-
}),
|
|
555
|
-
Attribute({
|
|
556
|
-
name: "KeypadOperationEventMask",
|
|
557
|
-
id: 65,
|
|
558
|
-
type: "EventMaskBitmap",
|
|
559
|
-
access: "RW VA",
|
|
560
|
-
conformance: "[NOT & PIN]",
|
|
561
|
-
default: 65535,
|
|
562
|
-
quality: "P",
|
|
563
|
-
details: "Event mask used to turn on and off the transmission of keypad operation events. This mask DOES NOT apply to the storing of events in the event log. This mask only applies to the Operation Event Notification Command.\nThis mask DOES NOT apply to the Events mechanism of this cluster.",
|
|
564
|
-
xref: { document: "cluster", section: "5.2.9.41" }
|
|
535
|
+
xref: { document: "cluster", section: "5.2.9.37" }
|
|
565
536
|
}),
|
|
566
537
|
Attribute({
|
|
567
|
-
name: "
|
|
568
|
-
id:
|
|
569
|
-
type: "
|
|
570
|
-
access: "
|
|
571
|
-
conformance: "
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
538
|
+
name: "AliroReaderVerificationKey",
|
|
539
|
+
id: 128,
|
|
540
|
+
type: "octstr",
|
|
541
|
+
access: "R A",
|
|
542
|
+
conformance: "ALIRO",
|
|
543
|
+
constraint: "65",
|
|
544
|
+
default: null,
|
|
545
|
+
quality: "X",
|
|
546
|
+
details: "Indicates the verification key component of the Reader\u2019s key pair as defined in [Aliro]. The value, if not null, shall be an uncompressed elliptic curve public key as defined in section 2.3.3 of SEC 1.\nNull if no Reader key pair has been configured on the lock. See SetAliroReaderConfig.",
|
|
547
|
+
xref: { document: "cluster", section: "5.2.9.38" }
|
|
576
548
|
}),
|
|
577
549
|
Attribute({
|
|
578
|
-
name: "
|
|
579
|
-
id:
|
|
580
|
-
type: "
|
|
581
|
-
access: "
|
|
582
|
-
conformance: "
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
550
|
+
name: "AliroReaderGroupIdentifier",
|
|
551
|
+
id: 129,
|
|
552
|
+
type: "octstr",
|
|
553
|
+
access: "R A",
|
|
554
|
+
conformance: "ALIRO",
|
|
555
|
+
constraint: "16",
|
|
556
|
+
default: null,
|
|
557
|
+
quality: "X",
|
|
558
|
+
details: "Indicates the reader_group_identifier as defined in [Aliro].\nNull if no reader_group_identifier has been configured on the lock. See SetAliroReaderConfig.",
|
|
559
|
+
xref: { document: "cluster", section: "5.2.9.39" }
|
|
587
560
|
}),
|
|
588
561
|
Attribute({
|
|
589
|
-
name: "
|
|
590
|
-
id:
|
|
591
|
-
type: "
|
|
592
|
-
access: "
|
|
593
|
-
conformance: "
|
|
594
|
-
|
|
595
|
-
quality: "
|
|
596
|
-
details: "
|
|
597
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
562
|
+
name: "AliroReaderGroupSubIdentifier",
|
|
563
|
+
id: 130,
|
|
564
|
+
type: "octstr",
|
|
565
|
+
access: "R A",
|
|
566
|
+
conformance: "ALIRO",
|
|
567
|
+
constraint: "16",
|
|
568
|
+
quality: "F",
|
|
569
|
+
details: "Indicates the reader_group_sub_identifier as defined in [Aliro].",
|
|
570
|
+
xref: { document: "cluster", section: "5.2.9.40" }
|
|
598
571
|
}),
|
|
599
572
|
Attribute(
|
|
600
573
|
{
|
|
601
|
-
name: "
|
|
602
|
-
id:
|
|
603
|
-
type: "
|
|
604
|
-
access: "
|
|
605
|
-
conformance: "
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
Field({ name: "Unknown", constraint: "0" }),
|
|
612
|
-
Field({ name: "PinCodeChanged", constraint: "1" }),
|
|
613
|
-
Field({ name: "PinAdded", constraint: "2" }),
|
|
614
|
-
Field({ name: "PinCleared", constraint: "3" }),
|
|
615
|
-
Field({ name: "PinChanged", constraint: "4" })
|
|
616
|
-
),
|
|
617
|
-
Attribute(
|
|
618
|
-
{
|
|
619
|
-
name: "RemoteProgrammingEventMask",
|
|
620
|
-
id: 70,
|
|
621
|
-
type: "EventMaskBitmap",
|
|
622
|
-
access: "RW VA",
|
|
623
|
-
conformance: "[NOT]",
|
|
624
|
-
default: 65535,
|
|
625
|
-
quality: "P",
|
|
626
|
-
details: "Event mask used to turn on and off remote programming events. This mask DOES NOT apply to the storing of events in the event log. This mask only applies to the Programming Event Notification Command.\nThis mask DOES NOT apply to the Events mechanism of this cluster.",
|
|
627
|
-
xref: { document: "cluster", section: "5.2.9.46" }
|
|
574
|
+
name: "AliroExpeditedTransactionSupportedProtocolVersions",
|
|
575
|
+
id: 131,
|
|
576
|
+
type: "list",
|
|
577
|
+
access: "R A",
|
|
578
|
+
conformance: "ALIRO",
|
|
579
|
+
constraint: "max 16[2]",
|
|
580
|
+
default: [],
|
|
581
|
+
quality: "F",
|
|
582
|
+
details: "Indicates the list of protocol versions supported for expedited transactions as defined in [Aliro].",
|
|
583
|
+
xref: { document: "cluster", section: "5.2.9.41" }
|
|
628
584
|
},
|
|
629
|
-
Field({ name: "
|
|
630
|
-
Field({ name: "PinAdded", constraint: "2" }),
|
|
631
|
-
Field({ name: "PinCleared", constraint: "3" }),
|
|
632
|
-
Field({ name: "PinChanged", constraint: "4" }),
|
|
633
|
-
Field({ name: "RfidCodeAdded", constraint: "5" }),
|
|
634
|
-
Field({ name: "RfidCodeCleared", constraint: "6" })
|
|
585
|
+
Field({ name: "entry", type: "octstr" })
|
|
635
586
|
),
|
|
587
|
+
Attribute({
|
|
588
|
+
name: "AliroGroupResolvingKey",
|
|
589
|
+
id: 132,
|
|
590
|
+
type: "octstr",
|
|
591
|
+
access: "R A",
|
|
592
|
+
conformance: "ALBU",
|
|
593
|
+
constraint: "16",
|
|
594
|
+
default: null,
|
|
595
|
+
quality: "X",
|
|
596
|
+
details: "Indicates the Group Resolving Key as defined in [Aliro].\nNull if no group resolving key has been configured on the lock. See SetAliroReaderConfig.",
|
|
597
|
+
xref: { document: "cluster", section: "5.2.9.42" }
|
|
598
|
+
}),
|
|
636
599
|
Attribute(
|
|
637
600
|
{
|
|
638
|
-
name: "
|
|
639
|
-
id:
|
|
640
|
-
type: "
|
|
641
|
-
access: "
|
|
642
|
-
conformance: "
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
601
|
+
name: "AliroSupportedBleuwbProtocolVersions",
|
|
602
|
+
id: 133,
|
|
603
|
+
type: "list",
|
|
604
|
+
access: "R A",
|
|
605
|
+
conformance: "ALBU",
|
|
606
|
+
constraint: "max 16[2]",
|
|
607
|
+
default: [],
|
|
608
|
+
quality: "F",
|
|
609
|
+
details: "Indicates the list of protocol versions supported for the Bluetooth LE + UWB Access Control Flow as defined in [Aliro].",
|
|
610
|
+
xref: { document: "cluster", section: "5.2.9.43" }
|
|
647
611
|
},
|
|
648
|
-
Field({ name: "
|
|
649
|
-
Field({ name: "IdAdded", constraint: "5" }),
|
|
650
|
-
Field({ name: "IdCleared", constraint: "6" })
|
|
612
|
+
Field({ name: "entry", type: "octstr" })
|
|
651
613
|
),
|
|
614
|
+
Attribute({
|
|
615
|
+
name: "AliroBleAdvertisingVersion",
|
|
616
|
+
id: 134,
|
|
617
|
+
type: "uint8",
|
|
618
|
+
access: "R A",
|
|
619
|
+
conformance: "ALBU",
|
|
620
|
+
default: 0,
|
|
621
|
+
quality: "F",
|
|
622
|
+
details: "Indicates the version of the Bluetooth LE advertisement as defined in [Aliro].",
|
|
623
|
+
xref: { document: "cluster", section: "5.2.9.44" }
|
|
624
|
+
}),
|
|
625
|
+
Attribute({
|
|
626
|
+
name: "NumberOfAliroCredentialIssuerKeysSupported",
|
|
627
|
+
id: 135,
|
|
628
|
+
type: "uint16",
|
|
629
|
+
access: "R V",
|
|
630
|
+
conformance: "ALIRO",
|
|
631
|
+
default: 0,
|
|
632
|
+
quality: "F",
|
|
633
|
+
details: "Indicates the maximum number of AliroCredentialIssuerKey credentials that can be stored on the lock.",
|
|
634
|
+
xref: { document: "cluster", section: "5.2.9.45" }
|
|
635
|
+
}),
|
|
636
|
+
Attribute({
|
|
637
|
+
name: "NumberOfAliroEndpointKeysSupported",
|
|
638
|
+
id: 136,
|
|
639
|
+
type: "uint16",
|
|
640
|
+
access: "R V",
|
|
641
|
+
conformance: "ALIRO",
|
|
642
|
+
default: 0,
|
|
643
|
+
quality: "F",
|
|
644
|
+
details: "Indicates the maximum number of endpoint key credentials that can be stored on the lock. This limit applies to the sum of the number of AliroEvictableEndpointKey credentials and the number of AliroNonEvictableEndpointKey credentials.\nNOTE\nThe credential indices used for these two credential types are independent of each other, similar to all other credential types. As long as NumberOfAliroEndpointKeysSupported is at least 2 a client could add a credential of type AliroEvictableEndpointKey at any index from 1 to NumberOfAliroEndpointKeysSupported and also add a credential of type AliroNonEvictableEndpointKey at the same index, and both credentials would exist on the server.",
|
|
645
|
+
xref: { document: "cluster", section: "5.2.9.46" }
|
|
646
|
+
}),
|
|
652
647
|
Event(
|
|
653
648
|
{
|
|
654
649
|
name: "DoorLockAlarm",
|
|
@@ -694,7 +689,7 @@ const DoorLock = Cluster(
|
|
|
694
689
|
access: "V",
|
|
695
690
|
conformance: "M",
|
|
696
691
|
priority: "critical",
|
|
697
|
-
details: "The door lock server sends out a LockOperation event when the event is triggered by the various lock operation sources.\n \u2022 If the door lock server supports the Unbolt Door command, it shall generate a LockOperation event with LockOperationType set to Unlock after an Unbolt Door command succeeds.\n \u2022 If the door lock server supports the Unbolting feature and an Unlock Door command is performed, it shall generate a LockOperation event with LockOperationType set to Unlatch when the unlatched state is reached and a LockOperation event with LockOperationType set to Unlock when the lock successfully completes the unlock \u2192 hold latch \u2192 release latch and return to unlock state operation.\n \u2022 If the command fails during holding or releasing the latch but after passing the unlocked state, the door lock server shall generate a LockOperationError event with LockOperationType set to Unlatch and a LockOperation event with LockOperationType set to Unlock.\n \u25E6 If it fails before reaching the unlocked state, the door lock server shall generate only a LockOperationError event with LockOperationType set to Unlock.\n \u2022 Upon manual actuation, a door lock server that supports the Unbolting feature:\n \u25E6 shall generate a LockOperation event of LockOperationType Unlatch when it is actuated from the outside.\n \u25E6 may generate a LockOperation event of LockOperationType Unlatch when it is actuated
|
|
692
|
+
details: "The door lock server sends out a LockOperation event when the event is triggered by the various lock operation sources.\n \u2022 If the door lock server supports the Unbolt Door command, it shall generate a LockOperation event with LockOperationType set to Unlock after an Unbolt Door command succeeds.\n \u2022 If the door lock server supports the Unbolting feature and an Unlock Door command is performed, it shall generate a LockOperation event with LockOperationType set to Unlatch when the unlatched state is reached and a LockOperation event with LockOperationType set to Unlock when the lock successfully completes the unlock \u2192 hold latch \u2192 release latch and return to unlock state operation.\n \u2022 If the command fails during holding or releasing the latch but after passing the unlocked state, the door lock server shall generate a LockOperationError event with LockOperationType set to Unlatch and a LockOperation event with LockOperationType set to Unlock.\n \u25E6 If it fails before reaching the unlocked state, the door lock server shall generate only a LockOperationError event with LockOperationType set to Unlock.\n \u2022 Upon manual actuation, a door lock server that supports the Unbolting feature:\n \u25E6 shall generate a LockOperation event of LockOperationType Unlatch when it is actuated from the outside.\n \u25E6 may generate a LockOperation event of LockOperationType Unlatch when it is actuated\nfrom the inside.",
|
|
698
693
|
xref: { document: "cluster", section: "5.2.11.3" }
|
|
699
694
|
},
|
|
700
695
|
Field({
|
|
@@ -860,7 +855,7 @@ const DoorLock = Cluster(
|
|
|
860
855
|
id: 2,
|
|
861
856
|
type: "OperationSourceEnum",
|
|
862
857
|
conformance: "M",
|
|
863
|
-
constraint: "unspecified, keypad, remote",
|
|
858
|
+
constraint: "aliro, unspecified, keypad, remote",
|
|
864
859
|
details: "This field shall indicate the source of the user data change.",
|
|
865
860
|
xref: { document: "cluster", section: "5.2.11.5.3" }
|
|
866
861
|
}),
|
|
@@ -909,7 +904,7 @@ const DoorLock = Cluster(
|
|
|
909
904
|
conformance: "M",
|
|
910
905
|
direction: "request",
|
|
911
906
|
response: "status",
|
|
912
|
-
details: "This command causes the lock device to lock the door. This command includes an optional code for the lock. The door lock may require a PIN depending on the value of the RequirePINForRemoteOperation attribute
|
|
907
|
+
details: "This command causes the lock device to lock the door. This command includes an optional code for the lock. The door lock may require a PIN depending on the value of the RequirePINForRemoteOperation attribute.",
|
|
913
908
|
xref: { document: "cluster", section: "5.2.10.1" }
|
|
914
909
|
},
|
|
915
910
|
Field({
|
|
@@ -929,7 +924,7 @@ const DoorLock = Cluster(
|
|
|
929
924
|
conformance: "M",
|
|
930
925
|
direction: "request",
|
|
931
926
|
response: "status",
|
|
932
|
-
details: "This command causes the lock device to unlock the door. This command includes an optional code for the lock. The door lock may require a code depending on the value of the RequirePINForRemoteOperation attribute.\nNOTE\nIf the attribute AutoRelockTime is supported the lock will transition to the locked state when the auto relock time has expired
|
|
927
|
+
details: "This command causes the lock device to unlock the door. This command includes an optional code for the lock. The door lock may require a code depending on the value of the RequirePINForRemoteOperation attribute.\nNOTE\nIf the attribute AutoRelockTime is supported the lock will transition to the locked state when the auto relock time has expired.",
|
|
933
928
|
xref: { document: "cluster", section: "5.2.10.2" }
|
|
934
929
|
},
|
|
935
930
|
Field({
|
|
@@ -958,7 +953,7 @@ const DoorLock = Cluster(
|
|
|
958
953
|
conformance: "O",
|
|
959
954
|
direction: "request",
|
|
960
955
|
response: "status",
|
|
961
|
-
details: "This command causes the lock device to unlock the door with a timeout parameter. After the time in seconds specified in the timeout field, the lock device will relock itself automatically. This timeout parameter is only temporary for this message transition and overrides the default relock time
|
|
956
|
+
details: "This command causes the lock device to unlock the door with a timeout parameter. After the time in seconds specified in the timeout field, the lock device will relock itself automatically. This timeout parameter is only temporary for this message transition and overrides the default relock time as specified in the AutoRelockTime attribute. If the door lock device is not capable of or does not want to support temporary Relock Timeout, it SHOULD NOT support this optional command.",
|
|
962
957
|
xref: { document: "cluster", section: "5.2.10.3" }
|
|
963
958
|
},
|
|
964
959
|
Field({
|
|
@@ -978,88 +973,6 @@ const DoorLock = Cluster(
|
|
|
978
973
|
xref: { document: "cluster", section: "5.2.10.3.2" }
|
|
979
974
|
})
|
|
980
975
|
),
|
|
981
|
-
Command(
|
|
982
|
-
{
|
|
983
|
-
name: "GetLogRecord",
|
|
984
|
-
id: 4,
|
|
985
|
-
access: "M",
|
|
986
|
-
conformance: "LOG",
|
|
987
|
-
direction: "request",
|
|
988
|
-
response: "GetLogRecordResponse",
|
|
989
|
-
details: "Request a log record. Log number is between 1 \u2013 [Number of Log Records Supported attribute]. If log number 0 is requested then the most recent log entry is returned.\nLog record format: The log record format is defined in the description of the GetLogRecordResponse command.",
|
|
990
|
-
xref: { document: "cluster", section: "5.2.10.4" }
|
|
991
|
-
},
|
|
992
|
-
Field({ name: "LogIndex", id: 0, type: "uint16", conformance: "M", constraint: "desc" })
|
|
993
|
-
),
|
|
994
|
-
Command(
|
|
995
|
-
{
|
|
996
|
-
name: "GetLogRecordResponse",
|
|
997
|
-
id: 4,
|
|
998
|
-
conformance: "LOG",
|
|
999
|
-
direction: "response",
|
|
1000
|
-
details: "Returns the specified log record. If an invalid log entry ID was requested, it is set to 0 and the most recent log entry will be returned.",
|
|
1001
|
-
xref: { document: "cluster", section: "5.2.10.5" }
|
|
1002
|
-
},
|
|
1003
|
-
Field({
|
|
1004
|
-
name: "LogEntryId",
|
|
1005
|
-
id: 0,
|
|
1006
|
-
type: "uint16",
|
|
1007
|
-
conformance: "M",
|
|
1008
|
-
constraint: "desc",
|
|
1009
|
-
details: "This field shall indicate the index into the log table where this log entry is stored. If the log entry requested is 0, the most recent log is returned with the appropriate log entry ID.",
|
|
1010
|
-
xref: { document: "cluster", section: "5.2.10.5.1" }
|
|
1011
|
-
}),
|
|
1012
|
-
Field({
|
|
1013
|
-
name: "Timestamp",
|
|
1014
|
-
id: 1,
|
|
1015
|
-
type: "epoch-s",
|
|
1016
|
-
conformance: "M",
|
|
1017
|
-
details: "This field shall indicate the timestamp for all events and alarms on the door lock in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day of the event.",
|
|
1018
|
-
xref: { document: "cluster", section: "5.2.10.5.2" }
|
|
1019
|
-
}),
|
|
1020
|
-
Field({
|
|
1021
|
-
name: "EventType",
|
|
1022
|
-
id: 2,
|
|
1023
|
-
type: "EventTypeEnum",
|
|
1024
|
-
conformance: "M",
|
|
1025
|
-
details: "This field shall indicate the type of event that took place on the door lock, as defined in EventTypeEnum.",
|
|
1026
|
-
xref: { document: "cluster", section: "5.2.10.5.3" }
|
|
1027
|
-
}),
|
|
1028
|
-
Field({
|
|
1029
|
-
name: "Source",
|
|
1030
|
-
id: 3,
|
|
1031
|
-
type: "EventSourceEnum",
|
|
1032
|
-
conformance: "M",
|
|
1033
|
-
details: "This field shall indicate the source value as defined in EventSourceEnum.\nIf the EventType is 2 (Alarm) then the source SHOULD be, but does not have to be 255 (Indeterminate).",
|
|
1034
|
-
xref: { document: "cluster", section: "5.2.10.5.4" }
|
|
1035
|
-
}),
|
|
1036
|
-
Field({
|
|
1037
|
-
name: "EventId",
|
|
1038
|
-
id: 4,
|
|
1039
|
-
type: "uint8",
|
|
1040
|
-
conformance: "M",
|
|
1041
|
-
constraint: "desc",
|
|
1042
|
-
details: "This field shall indicate the type of event that took place on the door lock depending on the event code table provided for a given event type and source. See Operation Event Codes.",
|
|
1043
|
-
xref: { document: "cluster", section: "5.2.10.5.5" }
|
|
1044
|
-
}),
|
|
1045
|
-
Field({
|
|
1046
|
-
name: "UserId",
|
|
1047
|
-
id: 5,
|
|
1048
|
-
type: "uint16",
|
|
1049
|
-
conformance: "M",
|
|
1050
|
-
constraint: "desc",
|
|
1051
|
-
details: "This field shall indicate the ID of the user who generated the event on the door lock if one is available. Otherwise, the value is 0xFFFF.",
|
|
1052
|
-
xref: { document: "cluster", section: "5.2.10.5.6" }
|
|
1053
|
-
}),
|
|
1054
|
-
Field({
|
|
1055
|
-
name: "Pin",
|
|
1056
|
-
id: 6,
|
|
1057
|
-
type: "octstr",
|
|
1058
|
-
conformance: "M",
|
|
1059
|
-
details: "This field shall indicate the PIN code or RFID code that was used to create the event on the door lock if one is available.",
|
|
1060
|
-
xref: { document: "cluster", section: "5.2.10.5.7" }
|
|
1061
|
-
})
|
|
1062
|
-
),
|
|
1063
976
|
Command(
|
|
1064
977
|
{
|
|
1065
978
|
name: "SetPinCode",
|
|
@@ -1069,7 +982,7 @@ const DoorLock = Cluster(
|
|
|
1069
982
|
direction: "request",
|
|
1070
983
|
response: "status",
|
|
1071
984
|
details: "Set a PIN Code into the lock.\nReturn status is a global status code or a cluster-specific status code from the Status Codes table and shall be one of the following values:",
|
|
1072
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
985
|
+
xref: { document: "cluster", section: "5.2.10.4" }
|
|
1073
986
|
},
|
|
1074
987
|
Field({
|
|
1075
988
|
name: "UserId",
|
|
@@ -1078,7 +991,7 @@ const DoorLock = Cluster(
|
|
|
1078
991
|
conformance: "M",
|
|
1079
992
|
constraint: "desc",
|
|
1080
993
|
details: "This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the NumberOfPINUsersSupported attribute.",
|
|
1081
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
994
|
+
xref: { document: "cluster", section: "5.2.10.4.1" }
|
|
1082
995
|
}),
|
|
1083
996
|
Field({
|
|
1084
997
|
name: "UserStatus",
|
|
@@ -1089,7 +1002,7 @@ const DoorLock = Cluster(
|
|
|
1089
1002
|
default: 1,
|
|
1090
1003
|
quality: "X",
|
|
1091
1004
|
details: "This field shall indicate the user status. Only the values 1 (Occupied/Enabled) and 3 (Occupied/Disabled) are allowed for UserStatus.",
|
|
1092
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1005
|
+
xref: { document: "cluster", section: "5.2.10.4.2" }
|
|
1093
1006
|
}),
|
|
1094
1007
|
Field({ name: "UserType", id: 2, type: "UserTypeEnum", conformance: "M", default: 0, quality: "X" }),
|
|
1095
1008
|
Field({ name: "Pin", id: 3, type: "octstr", conformance: "M" })
|
|
@@ -1103,7 +1016,7 @@ const DoorLock = Cluster(
|
|
|
1103
1016
|
direction: "request",
|
|
1104
1017
|
response: "GetPinCodeResponse",
|
|
1105
1018
|
details: "Retrieve a PIN Code.",
|
|
1106
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1019
|
+
xref: { document: "cluster", section: "5.2.10.5" }
|
|
1107
1020
|
},
|
|
1108
1021
|
Field({
|
|
1109
1022
|
name: "UserId",
|
|
@@ -1112,7 +1025,7 @@ const DoorLock = Cluster(
|
|
|
1112
1025
|
conformance: "M",
|
|
1113
1026
|
constraint: "desc",
|
|
1114
1027
|
details: "This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the NumberOfPINUsersSupported attribute.",
|
|
1115
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1028
|
+
xref: { document: "cluster", section: "5.2.10.5.1" }
|
|
1116
1029
|
})
|
|
1117
1030
|
),
|
|
1118
1031
|
Command(
|
|
@@ -1122,7 +1035,7 @@ const DoorLock = Cluster(
|
|
|
1122
1035
|
conformance: "!USR & PIN",
|
|
1123
1036
|
direction: "response",
|
|
1124
1037
|
details: "Returns the PIN for the specified user ID.\nIf the requested UserID is valid and the Code doesn\u2019t exist, Get RFID Code Response shall have the following format:\nUserID = requested User ID UserStatus = 0 (Available) UserType = Null (Not supported) PINCode = 0 (zero length)\nIf the requested UserID is invalid, send Default Response with an error status. The error status shall be equal to CONSTRAINT_ERROR when User_ID is less than the max number of users supported, and NOT_FOUND if greater than or equal to the max number of users supported.",
|
|
1125
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1038
|
+
xref: { document: "cluster", section: "5.2.10.6" }
|
|
1126
1039
|
},
|
|
1127
1040
|
Field({ name: "UserId", id: 0, type: "uint16", conformance: "M", constraint: "desc" }),
|
|
1128
1041
|
Field({
|
|
@@ -1145,8 +1058,8 @@ const DoorLock = Cluster(
|
|
|
1145
1058
|
conformance: "!USR & PIN",
|
|
1146
1059
|
direction: "request",
|
|
1147
1060
|
response: "status",
|
|
1148
|
-
details: "Clear a PIN code or all PIN codes.\
|
|
1149
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1061
|
+
details: "Clear a PIN code or all PIN codes.\nFor each PIN Code cleared whose user doesn\u2019t have a RFID Code or other credential type, then corresponding user record\u2019s UserStatus value shall be set to Available, and UserType value shall be set to UnrestrictedUser and all schedules shall be cleared.",
|
|
1062
|
+
xref: { document: "cluster", section: "5.2.10.7" }
|
|
1150
1063
|
},
|
|
1151
1064
|
Field({
|
|
1152
1065
|
name: "PinSlotIndex",
|
|
@@ -1155,7 +1068,7 @@ const DoorLock = Cluster(
|
|
|
1155
1068
|
conformance: "M",
|
|
1156
1069
|
constraint: "1 to numberOfPinUsersSupported, 65534",
|
|
1157
1070
|
details: "This field shall specify a valid PIN code slot index or 0xFFFE to indicate all PIN code slots shall be cleared.",
|
|
1158
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1071
|
+
xref: { document: "cluster", section: "5.2.10.7.1" }
|
|
1159
1072
|
})
|
|
1160
1073
|
),
|
|
1161
1074
|
Command({
|
|
@@ -1166,7 +1079,7 @@ const DoorLock = Cluster(
|
|
|
1166
1079
|
direction: "request",
|
|
1167
1080
|
response: "status",
|
|
1168
1081
|
details: "Clear out all PINs on the lock.\nNOTE\nOn the server, the clear all PIN codes command SHOULD have the same effect as the ClearPINCode command with respect to the setting of user status, user type and schedules.",
|
|
1169
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1082
|
+
xref: { document: "cluster", section: "5.2.10.8" }
|
|
1170
1083
|
}),
|
|
1171
1084
|
Command(
|
|
1172
1085
|
{
|
|
@@ -1177,7 +1090,7 @@ const DoorLock = Cluster(
|
|
|
1177
1090
|
direction: "request",
|
|
1178
1091
|
response: "status",
|
|
1179
1092
|
details: "Set the status of a user ID.",
|
|
1180
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1093
|
+
xref: { document: "cluster", section: "5.2.10.9" }
|
|
1181
1094
|
},
|
|
1182
1095
|
Field({
|
|
1183
1096
|
name: "UserId",
|
|
@@ -1186,7 +1099,7 @@ const DoorLock = Cluster(
|
|
|
1186
1099
|
conformance: "M",
|
|
1187
1100
|
constraint: "desc",
|
|
1188
1101
|
details: "This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the NumberOfPINUsersSupported attribute.",
|
|
1189
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1102
|
+
xref: { document: "cluster", section: "5.2.10.9.1" }
|
|
1190
1103
|
}),
|
|
1191
1104
|
Field({
|
|
1192
1105
|
name: "UserStatus",
|
|
@@ -1195,7 +1108,7 @@ const DoorLock = Cluster(
|
|
|
1195
1108
|
conformance: "M",
|
|
1196
1109
|
constraint: "desc",
|
|
1197
1110
|
details: "UserStatus value of Available is not allowed. In order to clear a user id, the ClearUser Command shall be used. For user status value please refer to UserStatusEnum.",
|
|
1198
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1111
|
+
xref: { document: "cluster", section: "5.2.10.9.2" }
|
|
1199
1112
|
})
|
|
1200
1113
|
),
|
|
1201
1114
|
Command(
|
|
@@ -1207,7 +1120,7 @@ const DoorLock = Cluster(
|
|
|
1207
1120
|
direction: "request",
|
|
1208
1121
|
response: "GetUserStatusResponse",
|
|
1209
1122
|
details: "Get the status of a user.",
|
|
1210
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1123
|
+
xref: { document: "cluster", section: "5.2.10.10" }
|
|
1211
1124
|
},
|
|
1212
1125
|
Field({
|
|
1213
1126
|
name: "UserId",
|
|
@@ -1216,7 +1129,7 @@ const DoorLock = Cluster(
|
|
|
1216
1129
|
conformance: "M",
|
|
1217
1130
|
constraint: "desc",
|
|
1218
1131
|
details: "This field shall indicate the user ID. The value of the UserID field shall be between 0 and the value of the NumberOfPINUsersSupported attribute.",
|
|
1219
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1132
|
+
xref: { document: "cluster", section: "5.2.10.10.1" }
|
|
1220
1133
|
})
|
|
1221
1134
|
),
|
|
1222
1135
|
Command(
|
|
@@ -1226,7 +1139,7 @@ const DoorLock = Cluster(
|
|
|
1226
1139
|
conformance: "!USR",
|
|
1227
1140
|
direction: "response",
|
|
1228
1141
|
details: "Returns the user status for the specified user ID.",
|
|
1229
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1142
|
+
xref: { document: "cluster", section: "5.2.10.11" }
|
|
1230
1143
|
},
|
|
1231
1144
|
Field({
|
|
1232
1145
|
name: "UserId",
|
|
@@ -1235,7 +1148,7 @@ const DoorLock = Cluster(
|
|
|
1235
1148
|
conformance: "M",
|
|
1236
1149
|
constraint: "desc",
|
|
1237
1150
|
details: "This field shall indicate the user ID provided in the request.",
|
|
1238
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1151
|
+
xref: { document: "cluster", section: "5.2.10.11.1" }
|
|
1239
1152
|
}),
|
|
1240
1153
|
Field({
|
|
1241
1154
|
name: "UserStatus",
|
|
@@ -1243,7 +1156,7 @@ const DoorLock = Cluster(
|
|
|
1243
1156
|
type: "UserStatusEnum",
|
|
1244
1157
|
conformance: "M",
|
|
1245
1158
|
details: "This field shall indicate the current status of the requested user ID.",
|
|
1246
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1159
|
+
xref: { document: "cluster", section: "5.2.10.11.2" }
|
|
1247
1160
|
})
|
|
1248
1161
|
),
|
|
1249
1162
|
Command(
|
|
@@ -1254,8 +1167,8 @@ const DoorLock = Cluster(
|
|
|
1254
1167
|
conformance: "WDSCH",
|
|
1255
1168
|
direction: "request",
|
|
1256
1169
|
response: "status",
|
|
1257
|
-
details: "Set a weekly repeating schedule for a specified user.\
|
|
1258
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1170
|
+
details: "Set a weekly repeating schedule for a specified user.\nThe associated UserType may be changed to ScheduleRestrictedUser by the lock when a Week Day schedule is set.\nReturn status shall be one of the following values:",
|
|
1171
|
+
xref: { document: "cluster", section: "5.2.10.12" }
|
|
1259
1172
|
},
|
|
1260
1173
|
Field({
|
|
1261
1174
|
name: "WeekDayIndex",
|
|
@@ -1264,14 +1177,16 @@ const DoorLock = Cluster(
|
|
|
1264
1177
|
conformance: "M",
|
|
1265
1178
|
constraint: "1 to numberOfWeekDaySchedulesSupportedPerUser",
|
|
1266
1179
|
details: "This field shall indicate the index of the Week Day schedule.",
|
|
1267
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1180
|
+
xref: { document: "cluster", section: "5.2.10.12.1" }
|
|
1268
1181
|
}),
|
|
1269
1182
|
Field({
|
|
1270
|
-
name: "
|
|
1183
|
+
name: "UserIndex",
|
|
1271
1184
|
id: 1,
|
|
1272
1185
|
type: "uint16",
|
|
1273
1186
|
conformance: "M",
|
|
1274
|
-
constraint: "1 to numberOfTotalUsersSupported"
|
|
1187
|
+
constraint: "1 to numberOfTotalUsersSupported",
|
|
1188
|
+
details: "This field shall indicate the user ID.",
|
|
1189
|
+
xref: { document: "cluster", section: "5.2.10.12.2" }
|
|
1275
1190
|
}),
|
|
1276
1191
|
Field({
|
|
1277
1192
|
name: "DaysMask",
|
|
@@ -1279,43 +1194,43 @@ const DoorLock = Cluster(
|
|
|
1279
1194
|
type: "DaysMaskBitmap",
|
|
1280
1195
|
conformance: "M",
|
|
1281
1196
|
details: "This field shall indicate which week days the schedule is active.",
|
|
1282
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1197
|
+
xref: { document: "cluster", section: "5.2.10.12.3" }
|
|
1283
1198
|
}),
|
|
1284
1199
|
Field({
|
|
1285
1200
|
name: "StartHour",
|
|
1286
1201
|
id: 3,
|
|
1287
1202
|
type: "uint8",
|
|
1288
1203
|
conformance: "M",
|
|
1289
|
-
constraint: "
|
|
1204
|
+
constraint: "max 23",
|
|
1290
1205
|
details: "This field shall indicate the starting hour for the Week Day schedule.",
|
|
1291
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1206
|
+
xref: { document: "cluster", section: "5.2.10.12.4" }
|
|
1292
1207
|
}),
|
|
1293
1208
|
Field({
|
|
1294
1209
|
name: "StartMinute",
|
|
1295
1210
|
id: 4,
|
|
1296
1211
|
type: "uint8",
|
|
1297
1212
|
conformance: "M",
|
|
1298
|
-
constraint: "
|
|
1213
|
+
constraint: "max 59",
|
|
1299
1214
|
details: "This field shall indicate the starting minute for the Week Day schedule.",
|
|
1300
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1215
|
+
xref: { document: "cluster", section: "5.2.10.12.5" }
|
|
1301
1216
|
}),
|
|
1302
1217
|
Field({
|
|
1303
1218
|
name: "EndHour",
|
|
1304
1219
|
id: 5,
|
|
1305
1220
|
type: "uint8",
|
|
1306
1221
|
conformance: "M",
|
|
1307
|
-
constraint: "
|
|
1222
|
+
constraint: "max 23",
|
|
1308
1223
|
details: "This field shall indicate the ending hour for the Week Day schedule. EndHour shall be equal to or greater than StartHour.",
|
|
1309
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1224
|
+
xref: { document: "cluster", section: "5.2.10.12.6" }
|
|
1310
1225
|
}),
|
|
1311
1226
|
Field({
|
|
1312
1227
|
name: "EndMinute",
|
|
1313
1228
|
id: 6,
|
|
1314
1229
|
type: "uint8",
|
|
1315
1230
|
conformance: "M",
|
|
1316
|
-
constraint: "
|
|
1231
|
+
constraint: "max 59",
|
|
1317
1232
|
details: "This field shall indicate the ending minute for the Week Day schedule. If EndHour is equal to StartHour then EndMinute shall be greater than StartMinute.\nIf the EndHour is equal to 23 and the EndMinute is equal to 59 the Lock shall grant access to the user up until 23:59:59.",
|
|
1318
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1233
|
+
xref: { document: "cluster", section: "5.2.10.12.7" }
|
|
1319
1234
|
})
|
|
1320
1235
|
),
|
|
1321
1236
|
Command(
|
|
@@ -1326,8 +1241,8 @@ const DoorLock = Cluster(
|
|
|
1326
1241
|
conformance: "WDSCH",
|
|
1327
1242
|
direction: "request",
|
|
1328
1243
|
response: "GetWeekDayScheduleResponse",
|
|
1329
|
-
details: "Retrieve the specific weekly schedule for the specific user
|
|
1330
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1244
|
+
details: "Retrieve the specific weekly schedule for the specific user.",
|
|
1245
|
+
xref: { document: "cluster", section: "5.2.10.13" }
|
|
1331
1246
|
},
|
|
1332
1247
|
Field({
|
|
1333
1248
|
name: "WeekDayIndex",
|
|
@@ -1337,7 +1252,7 @@ const DoorLock = Cluster(
|
|
|
1337
1252
|
constraint: "1 to numberOfWeekDaySchedulesSupportedPerUser"
|
|
1338
1253
|
}),
|
|
1339
1254
|
Field({
|
|
1340
|
-
name: "
|
|
1255
|
+
name: "UserIndex",
|
|
1341
1256
|
id: 1,
|
|
1342
1257
|
type: "uint16",
|
|
1343
1258
|
conformance: "M",
|
|
@@ -1350,8 +1265,8 @@ const DoorLock = Cluster(
|
|
|
1350
1265
|
id: 12,
|
|
1351
1266
|
conformance: "WDSCH",
|
|
1352
1267
|
direction: "response",
|
|
1353
|
-
details: "Returns the weekly repeating schedule data for the specified schedule index
|
|
1354
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1268
|
+
details: "Returns the weekly repeating schedule data for the specified schedule index.",
|
|
1269
|
+
xref: { document: "cluster", section: "5.2.10.14" }
|
|
1355
1270
|
},
|
|
1356
1271
|
Field({
|
|
1357
1272
|
name: "WeekDayIndex",
|
|
@@ -1360,14 +1275,16 @@ const DoorLock = Cluster(
|
|
|
1360
1275
|
conformance: "M",
|
|
1361
1276
|
constraint: "1 to numberOfWeekDaySchedulesSupportedPerUser",
|
|
1362
1277
|
details: "This field shall indicate the index of the Week Day schedule.",
|
|
1363
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1278
|
+
xref: { document: "cluster", section: "5.2.10.14.1" }
|
|
1364
1279
|
}),
|
|
1365
1280
|
Field({
|
|
1366
|
-
name: "
|
|
1281
|
+
name: "UserIndex",
|
|
1367
1282
|
id: 1,
|
|
1368
1283
|
type: "uint16",
|
|
1369
1284
|
conformance: "M",
|
|
1370
|
-
constraint: "1 to numberOfTotalUsersSupported"
|
|
1285
|
+
constraint: "1 to numberOfTotalUsersSupported",
|
|
1286
|
+
details: "This field shall indicate the user ID.",
|
|
1287
|
+
xref: { document: "cluster", section: "5.2.10.14.2" }
|
|
1371
1288
|
}),
|
|
1372
1289
|
Field({
|
|
1373
1290
|
name: "Status",
|
|
@@ -1377,7 +1294,7 @@ const DoorLock = Cluster(
|
|
|
1377
1294
|
constraint: "desc",
|
|
1378
1295
|
default: 0,
|
|
1379
1296
|
details: "Status shall be one of the following values:\n \u2022 SUCCESS if both WeekDayIndex and UserIndex are valid and there is a corresponding schedule entry.\n \u2022 INVALID_COMMAND if either WeekDayIndex and/or UserIndex values are not within valid range\n \u2022 NOT_FOUND if no corresponding schedule entry found for WeekDayIndex.\n \u2022 NOT_FOUND if no corresponding user entry found for UserIndex.\nIf this field is SUCCESS, the optional fields for this command shall be present. For other (error) status values, only the fields up to the status field shall be present.",
|
|
1380
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1297
|
+
xref: { document: "cluster", section: "5.2.10.14.3" }
|
|
1381
1298
|
}),
|
|
1382
1299
|
Field({ name: "DaysMask", id: 3, type: "DaysMaskBitmap", conformance: "O" }),
|
|
1383
1300
|
Field({
|
|
@@ -1385,36 +1302,36 @@ const DoorLock = Cluster(
|
|
|
1385
1302
|
id: 4,
|
|
1386
1303
|
type: "uint8",
|
|
1387
1304
|
conformance: "O",
|
|
1388
|
-
constraint: "
|
|
1305
|
+
constraint: "max 23",
|
|
1389
1306
|
details: "This field shall indicate the starting hour for the Week Day schedule.",
|
|
1390
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1307
|
+
xref: { document: "cluster", section: "5.2.10.14.4" }
|
|
1391
1308
|
}),
|
|
1392
1309
|
Field({
|
|
1393
1310
|
name: "StartMinute",
|
|
1394
1311
|
id: 5,
|
|
1395
1312
|
type: "uint8",
|
|
1396
1313
|
conformance: "O",
|
|
1397
|
-
constraint: "
|
|
1314
|
+
constraint: "max 59",
|
|
1398
1315
|
details: "This field shall indicate the starting minute for the Week Day schedule.",
|
|
1399
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1316
|
+
xref: { document: "cluster", section: "5.2.10.14.5" }
|
|
1400
1317
|
}),
|
|
1401
1318
|
Field({
|
|
1402
1319
|
name: "EndHour",
|
|
1403
1320
|
id: 6,
|
|
1404
1321
|
type: "uint8",
|
|
1405
1322
|
conformance: "O",
|
|
1406
|
-
constraint: "
|
|
1323
|
+
constraint: "max 23",
|
|
1407
1324
|
details: "This field shall indicate the ending hour for the Week Day schedule. EndHour shall be equal to or greater than StartHour.",
|
|
1408
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1325
|
+
xref: { document: "cluster", section: "5.2.10.14.6" }
|
|
1409
1326
|
}),
|
|
1410
1327
|
Field({
|
|
1411
1328
|
name: "EndMinute",
|
|
1412
1329
|
id: 7,
|
|
1413
1330
|
type: "uint8",
|
|
1414
1331
|
conformance: "O",
|
|
1415
|
-
constraint: "
|
|
1332
|
+
constraint: "max 59",
|
|
1416
1333
|
details: "This field shall indicate the ending minute for the Week Day schedule. If EndHour is equal to StartHour then EndMinute shall be greater than StartMinute.",
|
|
1417
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1334
|
+
xref: { document: "cluster", section: "5.2.10.14.7" }
|
|
1418
1335
|
})
|
|
1419
1336
|
),
|
|
1420
1337
|
Command(
|
|
@@ -1425,8 +1342,8 @@ const DoorLock = Cluster(
|
|
|
1425
1342
|
conformance: "WDSCH",
|
|
1426
1343
|
direction: "request",
|
|
1427
1344
|
response: "status",
|
|
1428
|
-
details: "Clear the specific weekly schedule or all weekly schedules for the specific user.\
|
|
1429
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1345
|
+
details: "Clear the specific weekly schedule or all weekly schedules for the specific user.\nReturn status shall be one of the following values:",
|
|
1346
|
+
xref: { document: "cluster", section: "5.2.10.15" }
|
|
1430
1347
|
},
|
|
1431
1348
|
Field({
|
|
1432
1349
|
name: "WeekDayIndex",
|
|
@@ -1435,14 +1352,16 @@ const DoorLock = Cluster(
|
|
|
1435
1352
|
conformance: "M",
|
|
1436
1353
|
constraint: "1 to numberOfWeekDaySchedulesSupportedPerUser, 254",
|
|
1437
1354
|
details: "This field shall indicate the Week Day schedule index to clear or 0xFE to clear all Week Day schedules for the specified user.",
|
|
1438
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1355
|
+
xref: { document: "cluster", section: "5.2.10.15.1" }
|
|
1439
1356
|
}),
|
|
1440
1357
|
Field({
|
|
1441
|
-
name: "
|
|
1358
|
+
name: "UserIndex",
|
|
1442
1359
|
id: 1,
|
|
1443
1360
|
type: "uint16",
|
|
1444
1361
|
conformance: "M",
|
|
1445
|
-
constraint: "1 to numberOfTotalUsersSupported"
|
|
1362
|
+
constraint: "1 to numberOfTotalUsersSupported",
|
|
1363
|
+
details: "This field shall indicate the user ID.",
|
|
1364
|
+
xref: { document: "cluster", section: "5.2.10.15.2" }
|
|
1446
1365
|
})
|
|
1447
1366
|
),
|
|
1448
1367
|
Command(
|
|
@@ -1453,8 +1372,8 @@ const DoorLock = Cluster(
|
|
|
1453
1372
|
conformance: "YDSCH",
|
|
1454
1373
|
direction: "request",
|
|
1455
1374
|
response: "status",
|
|
1456
|
-
details: "Set a time-specific schedule ID for a specified user.\
|
|
1457
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1375
|
+
details: "Set a time-specific schedule ID for a specified user.\nThe associated UserType may be changed to ScheduleRestrictedUser by the lock when a Year Day schedule is set.\nReturn status shall be one of the following values:",
|
|
1376
|
+
xref: { document: "cluster", section: "5.2.10.16" }
|
|
1458
1377
|
},
|
|
1459
1378
|
Field({
|
|
1460
1379
|
name: "YearDayIndex",
|
|
@@ -1463,14 +1382,16 @@ const DoorLock = Cluster(
|
|
|
1463
1382
|
conformance: "M",
|
|
1464
1383
|
constraint: "1 to numberOfYearDaySchedulesSupportedPerUser",
|
|
1465
1384
|
details: "This field shall indicate the index of the Year Day schedule.",
|
|
1466
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1385
|
+
xref: { document: "cluster", section: "5.2.10.16.1" }
|
|
1467
1386
|
}),
|
|
1468
1387
|
Field({
|
|
1469
|
-
name: "
|
|
1388
|
+
name: "UserIndex",
|
|
1470
1389
|
id: 1,
|
|
1471
1390
|
type: "uint16",
|
|
1472
1391
|
conformance: "M",
|
|
1473
|
-
constraint: "1 to numberOfTotalUsersSupported"
|
|
1392
|
+
constraint: "1 to numberOfTotalUsersSupported",
|
|
1393
|
+
details: "This field shall indicate the user ID.",
|
|
1394
|
+
xref: { document: "cluster", section: "5.2.10.16.2" }
|
|
1474
1395
|
}),
|
|
1475
1396
|
Field({
|
|
1476
1397
|
name: "LocalStartTime",
|
|
@@ -1478,7 +1399,7 @@ const DoorLock = Cluster(
|
|
|
1478
1399
|
type: "epoch-s",
|
|
1479
1400
|
conformance: "M",
|
|
1480
1401
|
details: "This field shall indicate the starting time for the Year Day schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value.",
|
|
1481
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1402
|
+
xref: { document: "cluster", section: "5.2.10.16.3" }
|
|
1482
1403
|
}),
|
|
1483
1404
|
Field({
|
|
1484
1405
|
name: "LocalEndTime",
|
|
@@ -1486,7 +1407,7 @@ const DoorLock = Cluster(
|
|
|
1486
1407
|
type: "epoch-s",
|
|
1487
1408
|
conformance: "M",
|
|
1488
1409
|
details: "This field shall indicate the ending time for the Year Day schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be greater than LocalStartTime.",
|
|
1489
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1410
|
+
xref: { document: "cluster", section: "5.2.10.16.4" }
|
|
1490
1411
|
})
|
|
1491
1412
|
),
|
|
1492
1413
|
Command(
|
|
@@ -1497,8 +1418,8 @@ const DoorLock = Cluster(
|
|
|
1497
1418
|
conformance: "YDSCH",
|
|
1498
1419
|
direction: "request",
|
|
1499
1420
|
response: "GetYearDayScheduleResponse",
|
|
1500
|
-
details: "Retrieve the specific year day schedule for the specific schedule and user indexes
|
|
1501
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1421
|
+
details: "Retrieve the specific year day schedule for the specific schedule and user indexes.",
|
|
1422
|
+
xref: { document: "cluster", section: "5.2.10.17" }
|
|
1502
1423
|
},
|
|
1503
1424
|
Field({
|
|
1504
1425
|
name: "YearDayIndex",
|
|
@@ -1508,7 +1429,7 @@ const DoorLock = Cluster(
|
|
|
1508
1429
|
constraint: "1 to numberOfYearDaySchedulesSupportedPerUser"
|
|
1509
1430
|
}),
|
|
1510
1431
|
Field({
|
|
1511
|
-
name: "
|
|
1432
|
+
name: "UserIndex",
|
|
1512
1433
|
id: 1,
|
|
1513
1434
|
type: "uint16",
|
|
1514
1435
|
conformance: "M",
|
|
@@ -1521,8 +1442,8 @@ const DoorLock = Cluster(
|
|
|
1521
1442
|
id: 15,
|
|
1522
1443
|
conformance: "YDSCH",
|
|
1523
1444
|
direction: "response",
|
|
1524
|
-
details: "Returns the year day schedule data for the specified schedule and user indexes
|
|
1525
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1445
|
+
details: "Returns the year day schedule data for the specified schedule and user indexes.",
|
|
1446
|
+
xref: { document: "cluster", section: "5.2.10.18" }
|
|
1526
1447
|
},
|
|
1527
1448
|
Field({
|
|
1528
1449
|
name: "YearDayIndex",
|
|
@@ -1531,14 +1452,16 @@ const DoorLock = Cluster(
|
|
|
1531
1452
|
conformance: "M",
|
|
1532
1453
|
constraint: "1 to numberOfYearDaySchedulesSupportedPerUser",
|
|
1533
1454
|
details: "This field shall indicate the index of the Year Day schedule.",
|
|
1534
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1455
|
+
xref: { document: "cluster", section: "5.2.10.18.1" }
|
|
1535
1456
|
}),
|
|
1536
1457
|
Field({
|
|
1537
|
-
name: "
|
|
1458
|
+
name: "UserIndex",
|
|
1538
1459
|
id: 1,
|
|
1539
1460
|
type: "uint16",
|
|
1540
1461
|
conformance: "M",
|
|
1541
|
-
constraint: "1 to numberOfTotalUsersSupported"
|
|
1462
|
+
constraint: "1 to numberOfTotalUsersSupported",
|
|
1463
|
+
details: "This field shall indicate the user ID.",
|
|
1464
|
+
xref: { document: "cluster", section: "5.2.10.18.2" }
|
|
1542
1465
|
}),
|
|
1543
1466
|
Field({
|
|
1544
1467
|
name: "Status",
|
|
@@ -1548,7 +1471,7 @@ const DoorLock = Cluster(
|
|
|
1548
1471
|
constraint: "desc",
|
|
1549
1472
|
default: 0,
|
|
1550
1473
|
details: "Status shall be one of the following values:\n \u2022 SUCCESS if both YearDayIndex and UserIndex are valid and there is a corresponding schedule entry.\n \u2022 INVALID_COMMAND if either YearDayIndex and/or UserIndex values are not within valid range\n \u2022 NOT_FOUND if no corresponding schedule entry found for YearDayIndex.\n \u2022 NOT_FOUND if no corresponding user entry found for UserIndex.\nIf this field is SUCCESS, the optional fields for this command shall be present. For other (error) status values, only the fields up to the status field shall be present.",
|
|
1551
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1474
|
+
xref: { document: "cluster", section: "5.2.10.18.3" }
|
|
1552
1475
|
}),
|
|
1553
1476
|
Field({
|
|
1554
1477
|
name: "LocalStartTime",
|
|
@@ -1556,7 +1479,7 @@ const DoorLock = Cluster(
|
|
|
1556
1479
|
type: "epoch-s",
|
|
1557
1480
|
conformance: "O",
|
|
1558
1481
|
details: "This field shall indicate the starting time for the Year Day schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. This shall be null if the schedule is not set for the YearDayIndex and UserIndex provided.",
|
|
1559
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1482
|
+
xref: { document: "cluster", section: "5.2.10.18.4" }
|
|
1560
1483
|
}),
|
|
1561
1484
|
Field({
|
|
1562
1485
|
name: "LocalEndTime",
|
|
@@ -1564,7 +1487,7 @@ const DoorLock = Cluster(
|
|
|
1564
1487
|
type: "epoch-s",
|
|
1565
1488
|
conformance: "O",
|
|
1566
1489
|
details: "This field shall indicate the ending time for the Year Day schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be greater than LocalStartTime. This shall be null if the schedule is not set for the YearDayIndex and UserIndex provided.",
|
|
1567
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1490
|
+
xref: { document: "cluster", section: "5.2.10.18.5" }
|
|
1568
1491
|
})
|
|
1569
1492
|
),
|
|
1570
1493
|
Command(
|
|
@@ -1575,8 +1498,8 @@ const DoorLock = Cluster(
|
|
|
1575
1498
|
conformance: "YDSCH",
|
|
1576
1499
|
direction: "request",
|
|
1577
1500
|
response: "status",
|
|
1578
|
-
details: "Clears the specific year day schedule or all year day schedules for the specific user.\
|
|
1579
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1501
|
+
details: "Clears the specific year day schedule or all year day schedules for the specific user.\nReturn status shall be one of the following values:",
|
|
1502
|
+
xref: { document: "cluster", section: "5.2.10.19" }
|
|
1580
1503
|
},
|
|
1581
1504
|
Field({
|
|
1582
1505
|
name: "YearDayIndex",
|
|
@@ -1585,14 +1508,16 @@ const DoorLock = Cluster(
|
|
|
1585
1508
|
conformance: "M",
|
|
1586
1509
|
constraint: "1 to numberOfYearDaySchedulesSupportedPerUser, 254",
|
|
1587
1510
|
details: "This field shall indicate the Year Day schedule index to clear or 0xFE to clear all Year Day schedules for the specified user.",
|
|
1588
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1511
|
+
xref: { document: "cluster", section: "5.2.10.19.1" }
|
|
1589
1512
|
}),
|
|
1590
1513
|
Field({
|
|
1591
|
-
name: "
|
|
1514
|
+
name: "UserIndex",
|
|
1592
1515
|
id: 1,
|
|
1593
1516
|
type: "uint16",
|
|
1594
1517
|
conformance: "M",
|
|
1595
|
-
constraint: "1 to numberOfTotalUsersSupported"
|
|
1518
|
+
constraint: "1 to numberOfTotalUsersSupported",
|
|
1519
|
+
details: "This field shall indicate the user ID.",
|
|
1520
|
+
xref: { document: "cluster", section: "5.2.10.19.2" }
|
|
1596
1521
|
})
|
|
1597
1522
|
),
|
|
1598
1523
|
Command(
|
|
@@ -1603,8 +1528,8 @@ const DoorLock = Cluster(
|
|
|
1603
1528
|
conformance: "HDSCH",
|
|
1604
1529
|
direction: "request",
|
|
1605
1530
|
response: "status",
|
|
1606
|
-
details: "Set the holiday Schedule by specifying local start time and local end time with respect to any Lock Operating Mode.\
|
|
1607
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1531
|
+
details: "Set the holiday Schedule by specifying local start time and local end time with respect to any Lock Operating Mode.\nReturn status shall be one of the following values:",
|
|
1532
|
+
xref: { document: "cluster", section: "5.2.10.20" }
|
|
1608
1533
|
},
|
|
1609
1534
|
Field({
|
|
1610
1535
|
name: "HolidayIndex",
|
|
@@ -1613,7 +1538,7 @@ const DoorLock = Cluster(
|
|
|
1613
1538
|
conformance: "M",
|
|
1614
1539
|
constraint: "1 to numberOfHolidaySchedulesSupported",
|
|
1615
1540
|
details: "This field shall indicate the index of the Holiday schedule.",
|
|
1616
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1541
|
+
xref: { document: "cluster", section: "5.2.10.20.1" }
|
|
1617
1542
|
}),
|
|
1618
1543
|
Field({
|
|
1619
1544
|
name: "LocalStartTime",
|
|
@@ -1621,7 +1546,7 @@ const DoorLock = Cluster(
|
|
|
1621
1546
|
type: "epoch-s",
|
|
1622
1547
|
conformance: "M",
|
|
1623
1548
|
details: "This field shall indicate the starting time for the Holiday Day schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value.",
|
|
1624
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1549
|
+
xref: { document: "cluster", section: "5.2.10.20.2" }
|
|
1625
1550
|
}),
|
|
1626
1551
|
Field({
|
|
1627
1552
|
name: "LocalEndTime",
|
|
@@ -1629,7 +1554,7 @@ const DoorLock = Cluster(
|
|
|
1629
1554
|
type: "epoch-s",
|
|
1630
1555
|
conformance: "M",
|
|
1631
1556
|
details: "This field shall indicate the ending time for the Holiday Day schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be greater than LocalStartTime.",
|
|
1632
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1557
|
+
xref: { document: "cluster", section: "5.2.10.20.3" }
|
|
1633
1558
|
}),
|
|
1634
1559
|
Field({
|
|
1635
1560
|
name: "OperatingMode",
|
|
@@ -1637,7 +1562,7 @@ const DoorLock = Cluster(
|
|
|
1637
1562
|
type: "OperatingModeEnum",
|
|
1638
1563
|
conformance: "M",
|
|
1639
1564
|
details: "This field shall indicate the operating mode to use during this Holiday schedule start/end time.",
|
|
1640
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1565
|
+
xref: { document: "cluster", section: "5.2.10.20.4" }
|
|
1641
1566
|
})
|
|
1642
1567
|
),
|
|
1643
1568
|
Command(
|
|
@@ -1648,8 +1573,8 @@ const DoorLock = Cluster(
|
|
|
1648
1573
|
conformance: "HDSCH",
|
|
1649
1574
|
direction: "request",
|
|
1650
1575
|
response: "GetHolidayScheduleResponse",
|
|
1651
|
-
details: "Get the holiday schedule for the specified index
|
|
1652
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1576
|
+
details: "Get the holiday schedule for the specified index.",
|
|
1577
|
+
xref: { document: "cluster", section: "5.2.10.21" }
|
|
1653
1578
|
},
|
|
1654
1579
|
Field({
|
|
1655
1580
|
name: "HolidayIndex",
|
|
@@ -1665,8 +1590,8 @@ const DoorLock = Cluster(
|
|
|
1665
1590
|
id: 18,
|
|
1666
1591
|
conformance: "HDSCH",
|
|
1667
1592
|
direction: "response",
|
|
1668
|
-
details: "Returns the Holiday Schedule Entry for the specified Holiday ID
|
|
1669
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1593
|
+
details: "Returns the Holiday Schedule Entry for the specified Holiday ID.",
|
|
1594
|
+
xref: { document: "cluster", section: "5.2.10.22" }
|
|
1670
1595
|
},
|
|
1671
1596
|
Field({
|
|
1672
1597
|
name: "HolidayIndex",
|
|
@@ -1675,7 +1600,7 @@ const DoorLock = Cluster(
|
|
|
1675
1600
|
conformance: "M",
|
|
1676
1601
|
constraint: "1 to numberOfHolidaySchedulesSupported",
|
|
1677
1602
|
details: "This field shall indicate the index of the Holiday schedule.",
|
|
1678
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1603
|
+
xref: { document: "cluster", section: "5.2.10.22.1" }
|
|
1679
1604
|
}),
|
|
1680
1605
|
Field({
|
|
1681
1606
|
name: "Status",
|
|
@@ -1685,7 +1610,7 @@ const DoorLock = Cluster(
|
|
|
1685
1610
|
constraint: "desc",
|
|
1686
1611
|
default: 0,
|
|
1687
1612
|
details: "Status shall be one of the following values:\n \u2022 FAILURE if the attribute NumberOfHolidaySchedulesSupported is zero.\n \u2022 SUCCESS if the HolidayIndex is valid and there is a corresponding schedule entry.\n \u2022 INVALID_COMMAND if the HolidayIndex is not within valid range\n \u2022 NOT_FOUND if the HolidayIndex is within the valid range, however, there is not corresponding schedule entry found.\nIf this field is SUCCESS, the optional fields for this command shall be present. For other (error) status values, only the fields up to the status field shall be present.",
|
|
1688
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1613
|
+
xref: { document: "cluster", section: "5.2.10.22.2" }
|
|
1689
1614
|
}),
|
|
1690
1615
|
Field({
|
|
1691
1616
|
name: "LocalStartTime",
|
|
@@ -1694,7 +1619,7 @@ const DoorLock = Cluster(
|
|
|
1694
1619
|
conformance: "O",
|
|
1695
1620
|
quality: "X",
|
|
1696
1621
|
details: "This field shall indicate the starting time for the Holiday schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. This shall be null if the schedule is not set for the HolidayIndex provided.",
|
|
1697
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1622
|
+
xref: { document: "cluster", section: "5.2.10.22.3" }
|
|
1698
1623
|
}),
|
|
1699
1624
|
Field({
|
|
1700
1625
|
name: "LocalEndTime",
|
|
@@ -1703,7 +1628,7 @@ const DoorLock = Cluster(
|
|
|
1703
1628
|
conformance: "O",
|
|
1704
1629
|
quality: "X",
|
|
1705
1630
|
details: "This field shall indicate the ending time for the Holiday schedule in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. LocalEndTime shall be greater than LocalStartTime. This shall be null if the schedule is not set for the HolidayIndex provided.",
|
|
1706
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1631
|
+
xref: { document: "cluster", section: "5.2.10.22.4" }
|
|
1707
1632
|
}),
|
|
1708
1633
|
Field({
|
|
1709
1634
|
name: "OperatingMode",
|
|
@@ -1712,7 +1637,7 @@ const DoorLock = Cluster(
|
|
|
1712
1637
|
conformance: "O",
|
|
1713
1638
|
quality: "X",
|
|
1714
1639
|
details: "This field shall indicate the operating mode to use during this Holiday schedule start/end time. This shall be null if the schedule is not set for the HolidayIndex provided.",
|
|
1715
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1640
|
+
xref: { document: "cluster", section: "5.2.10.22.5" }
|
|
1716
1641
|
})
|
|
1717
1642
|
),
|
|
1718
1643
|
Command(
|
|
@@ -1723,8 +1648,8 @@ const DoorLock = Cluster(
|
|
|
1723
1648
|
conformance: "HDSCH",
|
|
1724
1649
|
direction: "request",
|
|
1725
1650
|
response: "status",
|
|
1726
|
-
details: "Clears the holiday schedule or all holiday schedules
|
|
1727
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1651
|
+
details: "Clears the holiday schedule or all holiday schedules.",
|
|
1652
|
+
xref: { document: "cluster", section: "5.2.10.23" }
|
|
1728
1653
|
},
|
|
1729
1654
|
Field({
|
|
1730
1655
|
name: "HolidayIndex",
|
|
@@ -1733,7 +1658,7 @@ const DoorLock = Cluster(
|
|
|
1733
1658
|
conformance: "M",
|
|
1734
1659
|
constraint: "1 to numberOfHolidaySchedulesSupported, 254",
|
|
1735
1660
|
details: "This field shall indicate the Holiday schedule index to clear or 0xFE to clear all Holiday schedules.",
|
|
1736
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1661
|
+
xref: { document: "cluster", section: "5.2.10.23.1" }
|
|
1737
1662
|
})
|
|
1738
1663
|
),
|
|
1739
1664
|
Command(
|
|
@@ -1745,7 +1670,7 @@ const DoorLock = Cluster(
|
|
|
1745
1670
|
direction: "request",
|
|
1746
1671
|
response: "status",
|
|
1747
1672
|
details: "Set the user type for a specified user.\nFor user type value please refer to User Type Value.\nReturn status shall be one of the following values:",
|
|
1748
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1673
|
+
xref: { document: "cluster", section: "5.2.10.24" }
|
|
1749
1674
|
},
|
|
1750
1675
|
Field({
|
|
1751
1676
|
name: "UserId",
|
|
@@ -1754,15 +1679,15 @@ const DoorLock = Cluster(
|
|
|
1754
1679
|
conformance: "M",
|
|
1755
1680
|
constraint: "desc",
|
|
1756
1681
|
details: "This field shall indicate the user ID.",
|
|
1757
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1682
|
+
xref: { document: "cluster", section: "5.2.10.24.1" }
|
|
1758
1683
|
}),
|
|
1759
1684
|
Field({
|
|
1760
1685
|
name: "UserType",
|
|
1761
1686
|
id: 1,
|
|
1762
1687
|
type: "UserTypeEnum",
|
|
1763
1688
|
conformance: "M",
|
|
1764
|
-
details: "This field shall indicate the user type
|
|
1765
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1689
|
+
details: "This field shall indicate the user type.",
|
|
1690
|
+
xref: { document: "cluster", section: "5.2.10.24.2" }
|
|
1766
1691
|
})
|
|
1767
1692
|
),
|
|
1768
1693
|
Command(
|
|
@@ -1774,7 +1699,7 @@ const DoorLock = Cluster(
|
|
|
1774
1699
|
direction: "request",
|
|
1775
1700
|
response: "GetUserTypeResponse",
|
|
1776
1701
|
details: "Retrieve the user type for a specific user.",
|
|
1777
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1702
|
+
xref: { document: "cluster", section: "5.2.10.25" }
|
|
1778
1703
|
},
|
|
1779
1704
|
Field({ name: "UserId", id: 0, type: "uint16", conformance: "M", constraint: "desc" })
|
|
1780
1705
|
),
|
|
@@ -1785,7 +1710,7 @@ const DoorLock = Cluster(
|
|
|
1785
1710
|
conformance: "!USR",
|
|
1786
1711
|
direction: "response",
|
|
1787
1712
|
details: "Returns the user type for the specified user ID. If the requested User ID is invalid, send Default Response with an error status equal to FAILURE.",
|
|
1788
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1713
|
+
xref: { document: "cluster", section: "5.2.10.26" }
|
|
1789
1714
|
},
|
|
1790
1715
|
Field({ name: "UserId", id: 0, type: "uint16", conformance: "M", constraint: "desc" }),
|
|
1791
1716
|
Field({ name: "UserType", id: 1, type: "UserTypeEnum", conformance: "M" })
|
|
@@ -1799,7 +1724,7 @@ const DoorLock = Cluster(
|
|
|
1799
1724
|
direction: "request",
|
|
1800
1725
|
response: "status",
|
|
1801
1726
|
details: "Set an ID for RFID access into the lock.\nReturn status is a global status code or a cluster-specific status code from the Status Codes table and shall be one of the following values:",
|
|
1802
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1727
|
+
xref: { document: "cluster", section: "5.2.10.27" }
|
|
1803
1728
|
},
|
|
1804
1729
|
Field({
|
|
1805
1730
|
name: "UserId",
|
|
@@ -1808,7 +1733,7 @@ const DoorLock = Cluster(
|
|
|
1808
1733
|
conformance: "M",
|
|
1809
1734
|
constraint: "desc",
|
|
1810
1735
|
details: "This field shall indicate the user ID.\nThe value of the UserID field shall be between 0 and the value of the NumberOfRFIDUsersSupported attribute.",
|
|
1811
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1736
|
+
xref: { document: "cluster", section: "5.2.10.27.1" }
|
|
1812
1737
|
}),
|
|
1813
1738
|
Field({
|
|
1814
1739
|
name: "UserStatus",
|
|
@@ -1819,7 +1744,7 @@ const DoorLock = Cluster(
|
|
|
1819
1744
|
default: 1,
|
|
1820
1745
|
quality: "X",
|
|
1821
1746
|
details: "This field shall indicate what the status is for a specific user ID. The values are according to \u201CSet PIN\u201D while not all are supported.\nOnly the values 1 (Occupied/Enabled) and 3 (Occupied/Disabled) are allowed for UserStatus.",
|
|
1822
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1747
|
+
xref: { document: "cluster", section: "5.2.10.27.2" }
|
|
1823
1748
|
}),
|
|
1824
1749
|
Field({
|
|
1825
1750
|
name: "UserType",
|
|
@@ -1830,7 +1755,7 @@ const DoorLock = Cluster(
|
|
|
1830
1755
|
default: 0,
|
|
1831
1756
|
quality: "X",
|
|
1832
1757
|
details: "The values are the same as used for SetPINCode command.",
|
|
1833
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1758
|
+
xref: { document: "cluster", section: "5.2.10.27.3" }
|
|
1834
1759
|
}),
|
|
1835
1760
|
Field({ name: "RfidCode", id: 3, type: "octstr", conformance: "M" })
|
|
1836
1761
|
),
|
|
@@ -1843,7 +1768,7 @@ const DoorLock = Cluster(
|
|
|
1843
1768
|
direction: "request",
|
|
1844
1769
|
response: "GetRfidCodeResponse",
|
|
1845
1770
|
details: "Retrieve an RFID code.",
|
|
1846
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1771
|
+
xref: { document: "cluster", section: "5.2.10.28" }
|
|
1847
1772
|
},
|
|
1848
1773
|
Field({
|
|
1849
1774
|
name: "UserId",
|
|
@@ -1852,7 +1777,7 @@ const DoorLock = Cluster(
|
|
|
1852
1777
|
conformance: "M",
|
|
1853
1778
|
constraint: "desc",
|
|
1854
1779
|
details: "This field shall indicate the user ID.\nThe value of the UserID field shall be between 0 and the value of the NumberOfRFIDUsersSupported attribute.",
|
|
1855
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1780
|
+
xref: { document: "cluster", section: "5.2.10.28.1" }
|
|
1856
1781
|
})
|
|
1857
1782
|
),
|
|
1858
1783
|
Command(
|
|
@@ -1862,7 +1787,7 @@ const DoorLock = Cluster(
|
|
|
1862
1787
|
conformance: "!USR & RID",
|
|
1863
1788
|
direction: "response",
|
|
1864
1789
|
details: "Returns the RFID code for the specified user ID.\nIf the requested User ID is valid and the Code doesn\u2019t exist, Get RFID Code Response shall have the following format:\nUser ID = requested User ID UserStatus = 0 (available) UserType = 0xFF (not supported) RFID Code = 0 (zero length)\nIf requested User ID is invalid, send Default Response with an error status. The error status shall be equal to CONSTRAINT_ERROR when User_ID is less than the max number of users supported, and NOT_FOUND if greater than or equal to the max number of users supported.",
|
|
1865
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1790
|
+
xref: { document: "cluster", section: "5.2.10.29" }
|
|
1866
1791
|
},
|
|
1867
1792
|
Field({ name: "UserId", id: 0, type: "uint16", conformance: "M", constraint: "desc" }),
|
|
1868
1793
|
Field({
|
|
@@ -1885,8 +1810,8 @@ const DoorLock = Cluster(
|
|
|
1885
1810
|
conformance: "!USR & RID",
|
|
1886
1811
|
direction: "request",
|
|
1887
1812
|
response: "status",
|
|
1888
|
-
details: "Clear an RFID code or all RFID codes.\
|
|
1889
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1813
|
+
details: "Clear an RFID code or all RFID codes.\nFor each RFID Code cleared whose user doesn\u2019t have a PIN Code or other credential type, then the corresponding user record\u2019s UserStatus value shall be set to Available, and UserType value shall be set to UnrestrictedUser and all schedules shall be cleared.",
|
|
1814
|
+
xref: { document: "cluster", section: "5.2.10.30" }
|
|
1890
1815
|
},
|
|
1891
1816
|
Field({
|
|
1892
1817
|
name: "RfidSlotIndex",
|
|
@@ -1895,7 +1820,7 @@ const DoorLock = Cluster(
|
|
|
1895
1820
|
conformance: "M",
|
|
1896
1821
|
constraint: "1 to numberOfRfidUsersSupported, 65534",
|
|
1897
1822
|
details: "This field shall indicate a valid RFID code slot index or 0xFFFE to indicate all RFID code slots shall be cleared.",
|
|
1898
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1823
|
+
xref: { document: "cluster", section: "5.2.10.30.1" }
|
|
1899
1824
|
})
|
|
1900
1825
|
),
|
|
1901
1826
|
Command({
|
|
@@ -1906,7 +1831,7 @@ const DoorLock = Cluster(
|
|
|
1906
1831
|
direction: "request",
|
|
1907
1832
|
response: "status",
|
|
1908
1833
|
details: 'Clear out all RFIDs on the lock. If you clear all RFID codes and this user didn\u2019t have a PIN code, the user status has to be set to "0 Available", the user type has to be set to the default value, and all schedules which are supported have to be set to the default values.',
|
|
1909
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1834
|
+
xref: { document: "cluster", section: "5.2.10.31" }
|
|
1910
1835
|
}),
|
|
1911
1836
|
Command(
|
|
1912
1837
|
{
|
|
@@ -1917,7 +1842,7 @@ const DoorLock = Cluster(
|
|
|
1917
1842
|
direction: "request",
|
|
1918
1843
|
response: "status",
|
|
1919
1844
|
details: "Set user into the lock.\nFields used for different use cases:\nReturn status is a global status code or a cluster-specific status code from the Status Codes table and\nshall be one of the following values:\n \u2022 SUCCESS, if setting User was successful.\n \u2022 FAILURE, if some unexpected internal error occurred setting User.\n \u2022 OCCUPIED, if OperationType is Add and UserIndex points to an occupied slot.\n \u2022 INVALID_COMMAND, if one or more fields violate constraints or are invalid or if OperationType is Modify and UserIndex points to an available slot.",
|
|
1920
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1845
|
+
xref: { document: "cluster", section: "5.2.10.32" }
|
|
1921
1846
|
},
|
|
1922
1847
|
Field({
|
|
1923
1848
|
name: "OperationType",
|
|
@@ -1926,7 +1851,7 @@ const DoorLock = Cluster(
|
|
|
1926
1851
|
conformance: "M",
|
|
1927
1852
|
constraint: "add, modify",
|
|
1928
1853
|
details: "This field shall indicate the type of operation.",
|
|
1929
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1854
|
+
xref: { document: "cluster", section: "5.2.10.32.1" }
|
|
1930
1855
|
}),
|
|
1931
1856
|
Field({
|
|
1932
1857
|
name: "UserIndex",
|
|
@@ -1935,7 +1860,7 @@ const DoorLock = Cluster(
|
|
|
1935
1860
|
conformance: "M",
|
|
1936
1861
|
constraint: "1 to numberOfTotalUsersSupported",
|
|
1937
1862
|
details: "This field shall indicate the user ID.",
|
|
1938
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1863
|
+
xref: { document: "cluster", section: "5.2.10.32.2" }
|
|
1939
1864
|
}),
|
|
1940
1865
|
Field({
|
|
1941
1866
|
name: "UserName",
|
|
@@ -1945,7 +1870,7 @@ const DoorLock = Cluster(
|
|
|
1945
1870
|
constraint: "max 10",
|
|
1946
1871
|
quality: "X",
|
|
1947
1872
|
details: "This field shall contain a string to use as a human readable identifier for the user. If UserName is null then:\n \u2022 If the OperationType is Add, the UserName in the resulting user record shall be set to an empty string.\n \u2022 If the OperationType is Modify, the UserName in the user record shall NOT be changed from the current value.\nIf UserName is not null, the UserName in the user record shall be set to the provided value.",
|
|
1948
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1873
|
+
xref: { document: "cluster", section: "5.2.10.32.3" }
|
|
1949
1874
|
}),
|
|
1950
1875
|
Field({
|
|
1951
1876
|
name: "UserUniqueId",
|
|
@@ -1955,7 +1880,7 @@ const DoorLock = Cluster(
|
|
|
1955
1880
|
default: 4294967295,
|
|
1956
1881
|
quality: "X",
|
|
1957
1882
|
details: "This field shall indicate the fabric assigned number to use for connecting this user to other users on other devices from the fabric\u2019s perspective.\nIf UserUniqueID is null then:\n \u2022 If the OperationType is Add, the UserUniqueID in the resulting user record shall be set to default value specified above.\n \u2022 If the OperationType is Modify, the UserUniqueID in the user record shall NOT be changed from the current value.\nIf UserUniqueID is not null, the UserUniqueID in the user record shall be set to the provided value.",
|
|
1958
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1883
|
+
xref: { document: "cluster", section: "5.2.10.32.4" }
|
|
1959
1884
|
}),
|
|
1960
1885
|
Field({
|
|
1961
1886
|
name: "UserStatus",
|
|
@@ -1966,7 +1891,7 @@ const DoorLock = Cluster(
|
|
|
1966
1891
|
default: 1,
|
|
1967
1892
|
quality: "X",
|
|
1968
1893
|
details: "This field shall indicate the UserStatus to assign to this user when created or modified. If UserStatus is null then:\n \u2022 If the OperationType is Add, the UserStatus in the resulting user record shall be set to default value specified above.\n \u2022 If the OperationType is Modify, the UserStatus in the user record shall NOT be changed from the current value.\nIf UserStatus is not null, the UserStatus in the user record shall be set to the provided value.",
|
|
1969
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1894
|
+
xref: { document: "cluster", section: "5.2.10.32.5" }
|
|
1970
1895
|
}),
|
|
1971
1896
|
Field({
|
|
1972
1897
|
name: "UserType",
|
|
@@ -1977,7 +1902,7 @@ const DoorLock = Cluster(
|
|
|
1977
1902
|
default: 0,
|
|
1978
1903
|
quality: "X",
|
|
1979
1904
|
details: "This field shall indicate the UserType to assign to this user when created or modified. If UserType is null then:\n \u2022 If the OperationType is Add, the UserType in the resulting user record shall be set to default value specified above.\n \u2022 If the OperationType is Modify, the UserType in the user record shall NOT be changed from the current value.\nIf UserType is not null, the UserType in the user record shall be set to the provided value.",
|
|
1980
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1905
|
+
xref: { document: "cluster", section: "5.2.10.32.6" }
|
|
1981
1906
|
}),
|
|
1982
1907
|
Field({
|
|
1983
1908
|
name: "CredentialRule",
|
|
@@ -1987,7 +1912,7 @@ const DoorLock = Cluster(
|
|
|
1987
1912
|
default: 0,
|
|
1988
1913
|
quality: "X",
|
|
1989
1914
|
details: "This field shall indicate the CredentialRule to use for this user.\nThe valid CredentialRule enumeration values depends on the bits in the CredentialRulesBitmap map. Each bit in the map identifies a valid CredentialRule that can be used.\nIf CredentialRule is null then:\n \u2022 If the OperationType is Add, the CredentialRule in the resulting user record shall be set to default value specified above.\n \u2022 If the OperationType is Modify, the CredentialRule in the user record shall NOT be changed from the current value.\nIf CredentialRule is not null, the CredentialRule in the user record shall be set to the provided value.",
|
|
1990
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1915
|
+
xref: { document: "cluster", section: "5.2.10.32.7" }
|
|
1991
1916
|
})
|
|
1992
1917
|
),
|
|
1993
1918
|
Command(
|
|
@@ -1999,7 +1924,7 @@ const DoorLock = Cluster(
|
|
|
1999
1924
|
direction: "request",
|
|
2000
1925
|
response: "GetUserResponse",
|
|
2001
1926
|
details: "Retrieve user.\nAn InvokeResponse command shall be sent with an appropriate error\nCOMMAND, etc.) as needed otherwise the GetUserResponse Command shall be sent implying a status of SUCCESS.",
|
|
2002
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1927
|
+
xref: { document: "cluster", section: "5.2.10.33" }
|
|
2003
1928
|
},
|
|
2004
1929
|
Field({
|
|
2005
1930
|
name: "UserIndex",
|
|
@@ -2016,7 +1941,7 @@ const DoorLock = Cluster(
|
|
|
2016
1941
|
conformance: "USR",
|
|
2017
1942
|
direction: "response",
|
|
2018
1943
|
details: "Returns the user for the specified UserIndex.\nIf the requested UserIndex is valid and the UserStatus is Available for the requested UserIndex then UserName, UserUniqueID, UserStatus, UserType, CredentialRule, Credentials, CreatorFabricIndex, and LastModifiedFabricIndex shall all be null in the response.",
|
|
2019
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1944
|
+
xref: { document: "cluster", section: "5.2.10.34" }
|
|
2020
1945
|
},
|
|
2021
1946
|
Field({
|
|
2022
1947
|
name: "UserIndex",
|
|
@@ -2025,7 +1950,7 @@ const DoorLock = Cluster(
|
|
|
2025
1950
|
conformance: "M",
|
|
2026
1951
|
constraint: "1 to numberOfTotalUsersSupported",
|
|
2027
1952
|
details: "This field shall indicate the user ID.",
|
|
2028
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1953
|
+
xref: { document: "cluster", section: "5.2.10.34.1" }
|
|
2029
1954
|
}),
|
|
2030
1955
|
Field({
|
|
2031
1956
|
name: "UserName",
|
|
@@ -2035,7 +1960,7 @@ const DoorLock = Cluster(
|
|
|
2035
1960
|
constraint: "max 10",
|
|
2036
1961
|
quality: "X",
|
|
2037
1962
|
details: "This field shall contain a string to use as a human readable identifier for the user.",
|
|
2038
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1963
|
+
xref: { document: "cluster", section: "5.2.10.34.2" }
|
|
2039
1964
|
}),
|
|
2040
1965
|
Field({
|
|
2041
1966
|
name: "UserUniqueId",
|
|
@@ -2045,7 +1970,7 @@ const DoorLock = Cluster(
|
|
|
2045
1970
|
default: 0,
|
|
2046
1971
|
quality: "X",
|
|
2047
1972
|
details: "See UserUniqueID field.",
|
|
2048
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1973
|
+
xref: { document: "cluster", section: "5.2.10.34.3" }
|
|
2049
1974
|
}),
|
|
2050
1975
|
Field({
|
|
2051
1976
|
name: "UserStatus",
|
|
@@ -2055,7 +1980,7 @@ const DoorLock = Cluster(
|
|
|
2055
1980
|
default: 0,
|
|
2056
1981
|
quality: "X",
|
|
2057
1982
|
details: "This field shall indicate the UserStatus assigned to the user when created or modified.",
|
|
2058
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1983
|
+
xref: { document: "cluster", section: "5.2.10.34.4" }
|
|
2059
1984
|
}),
|
|
2060
1985
|
Field({
|
|
2061
1986
|
name: "UserType",
|
|
@@ -2065,7 +1990,7 @@ const DoorLock = Cluster(
|
|
|
2065
1990
|
default: 0,
|
|
2066
1991
|
quality: "X",
|
|
2067
1992
|
details: "This field shall indicate the UserType assigned to this user when created or modified.",
|
|
2068
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1993
|
+
xref: { document: "cluster", section: "5.2.10.34.5" }
|
|
2069
1994
|
}),
|
|
2070
1995
|
Field({
|
|
2071
1996
|
name: "CredentialRule",
|
|
@@ -2076,7 +2001,7 @@ const DoorLock = Cluster(
|
|
|
2076
2001
|
default: 0,
|
|
2077
2002
|
quality: "X",
|
|
2078
2003
|
details: "This field shall indicate the CredentialRule set for this user.",
|
|
2079
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2004
|
+
xref: { document: "cluster", section: "5.2.10.34.6" }
|
|
2080
2005
|
}),
|
|
2081
2006
|
Field(
|
|
2082
2007
|
{
|
|
@@ -2087,7 +2012,7 @@ const DoorLock = Cluster(
|
|
|
2087
2012
|
constraint: "0 to numberOfCredentialsSupportedPerUser",
|
|
2088
2013
|
quality: "X",
|
|
2089
2014
|
details: "This field shall contain a list of credentials for this user.",
|
|
2090
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2015
|
+
xref: { document: "cluster", section: "5.2.10.34.7" }
|
|
2091
2016
|
},
|
|
2092
2017
|
Field({ name: "entry", type: "CredentialStruct" })
|
|
2093
2018
|
),
|
|
@@ -2098,7 +2023,7 @@ const DoorLock = Cluster(
|
|
|
2098
2023
|
conformance: "M",
|
|
2099
2024
|
quality: "X",
|
|
2100
2025
|
details: "This field shall indicate the user\u2019s creator fabric index. CreatorFabricIndex shall be null if UserStatus is set to Available or when the creator fabric cannot be determined (for example, when user was created outside the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the original creator fabric was deleted.",
|
|
2101
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2026
|
+
xref: { document: "cluster", section: "5.2.10.34.8" }
|
|
2102
2027
|
}),
|
|
2103
2028
|
Field({
|
|
2104
2029
|
name: "LastModifiedFabricIndex",
|
|
@@ -2107,7 +2032,7 @@ const DoorLock = Cluster(
|
|
|
2107
2032
|
conformance: "M",
|
|
2108
2033
|
quality: "X",
|
|
2109
2034
|
details: "This field shall indicate the user\u2019s last modifier fabric index. LastModifiedFabricIndex shall be null if UserStatus is set to Available or when the modifier fabric cannot be determined (for example, when user was modified outside the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the last modifier fabric was deleted.",
|
|
2110
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2035
|
+
xref: { document: "cluster", section: "5.2.10.34.9" }
|
|
2111
2036
|
}),
|
|
2112
2037
|
Field({
|
|
2113
2038
|
name: "NextUserIndex",
|
|
@@ -2117,7 +2042,7 @@ const DoorLock = Cluster(
|
|
|
2117
2042
|
constraint: "1 to numberOfTotalUsersSupported",
|
|
2118
2043
|
quality: "X",
|
|
2119
2044
|
details: "This field shall indicate the next occupied UserIndex in the database which is useful for quickly identifying occupied user slots in the database. This shall NOT be null if there is at least one occupied entry after the requested UserIndex in the User database and shall be null if there are no more occupied entries.",
|
|
2120
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2045
|
+
xref: { document: "cluster", section: "5.2.10.34.10" }
|
|
2121
2046
|
})
|
|
2122
2047
|
),
|
|
2123
2048
|
Command(
|
|
@@ -2129,7 +2054,7 @@ const DoorLock = Cluster(
|
|
|
2129
2054
|
direction: "request",
|
|
2130
2055
|
response: "status",
|
|
2131
2056
|
details: "Clears a user or all Users.\nFor each user to clear, all associated credentials (e.g. PIN, RFID, fingerprint, etc.) shall be cleared and the user entry values shall be reset to their default values (e.g. UserStatus shall be Available, UserType shall be UnrestrictedUser) and all associated schedules shall be cleared.\nA LockUserChange event with the provided UserIndex shall be generated after successfully clearing users.",
|
|
2132
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2057
|
+
xref: { document: "cluster", section: "5.2.10.35" }
|
|
2133
2058
|
},
|
|
2134
2059
|
Field({
|
|
2135
2060
|
name: "UserIndex",
|
|
@@ -2138,85 +2063,7 @@ const DoorLock = Cluster(
|
|
|
2138
2063
|
conformance: "M",
|
|
2139
2064
|
constraint: "1 to numberOfTotalUsersSupported, 65534",
|
|
2140
2065
|
details: "This field shall specify a valid User index or 0xFFFE to indicate all user slots shall be cleared.",
|
|
2141
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2142
|
-
})
|
|
2143
|
-
),
|
|
2144
|
-
Command({
|
|
2145
|
-
name: "OperatingEventNotification",
|
|
2146
|
-
id: 32,
|
|
2147
|
-
conformance: "[NOT]",
|
|
2148
|
-
direction: "response",
|
|
2149
|
-
xref: { document: "cluster", section: "5.2.10" }
|
|
2150
|
-
}),
|
|
2151
|
-
Command(
|
|
2152
|
-
{
|
|
2153
|
-
name: "ProgrammingEventNotification",
|
|
2154
|
-
id: 33,
|
|
2155
|
-
conformance: "[NOT]",
|
|
2156
|
-
direction: "response",
|
|
2157
|
-
details: "The door lock server sends out a programming event notification whenever a programming event takes place on the door lock.\nAs with operational events, all programming events can be turned on and off by flipping bits in the associated event mask.\nThe programming event notification command includes an optional string of data that can be used by the manufacturer to pass some manufacturer-specific information if that is required.",
|
|
2158
|
-
xref: { document: "cluster", section: "5.2.10.39" }
|
|
2159
|
-
},
|
|
2160
|
-
Field({
|
|
2161
|
-
name: "ProgramEventSource",
|
|
2162
|
-
id: 0,
|
|
2163
|
-
type: "EventSourceEnum",
|
|
2164
|
-
conformance: "M",
|
|
2165
|
-
constraint: "desc",
|
|
2166
|
-
details: "This field shall indicate where the event was triggered from.",
|
|
2167
|
-
xref: { document: "cluster", section: "5.2.10.39.1" }
|
|
2168
|
-
}),
|
|
2169
|
-
Field({ name: "ProgramEventCode", id: 1, type: "ProgrammingEventCodeEnum", conformance: "M", constraint: "desc" }),
|
|
2170
|
-
Field({
|
|
2171
|
-
name: "UserId",
|
|
2172
|
-
id: 2,
|
|
2173
|
-
type: "uint16",
|
|
2174
|
-
conformance: "M",
|
|
2175
|
-
constraint: "desc",
|
|
2176
|
-
details: "This field shall indicate the UserID who performed the event",
|
|
2177
|
-
xref: { document: "cluster", section: "5.2.10.39.6" }
|
|
2178
|
-
}),
|
|
2179
|
-
Field({
|
|
2180
|
-
name: "Pin",
|
|
2181
|
-
id: 3,
|
|
2182
|
-
type: "octstr",
|
|
2183
|
-
conformance: "M",
|
|
2184
|
-
details: "This field shall indicate the PIN that is associated with the UserID who performed the event",
|
|
2185
|
-
xref: { document: "cluster", section: "5.2.10.39.7" }
|
|
2186
|
-
}),
|
|
2187
|
-
Field({
|
|
2188
|
-
name: "UserType",
|
|
2189
|
-
id: 4,
|
|
2190
|
-
type: "UserTypeEnum",
|
|
2191
|
-
conformance: "M",
|
|
2192
|
-
constraint: "desc",
|
|
2193
|
-
details: "This field shall indicate the UserType that is associated with the UserID who performed the event",
|
|
2194
|
-
xref: { document: "cluster", section: "5.2.10.39.8" }
|
|
2195
|
-
}),
|
|
2196
|
-
Field({
|
|
2197
|
-
name: "UserStatus",
|
|
2198
|
-
id: 5,
|
|
2199
|
-
type: "UserStatusEnum",
|
|
2200
|
-
conformance: "M",
|
|
2201
|
-
constraint: "desc",
|
|
2202
|
-
details: "This field shall indicate the UserStatus that is associated with the UserID who performed the event",
|
|
2203
|
-
xref: { document: "cluster", section: "5.2.10.39.9" }
|
|
2204
|
-
}),
|
|
2205
|
-
Field({
|
|
2206
|
-
name: "LocalTime",
|
|
2207
|
-
id: 6,
|
|
2208
|
-
type: "epoch-s",
|
|
2209
|
-
conformance: "M",
|
|
2210
|
-
details: "This field shall indicate the time when the event was triggered in Epoch Time in Seconds with local time offset based on the local timezone and DST offset on the day represented by the value. If time is not supported, the field shall be populated with default not used value 0xFFFFFFFF.",
|
|
2211
|
-
xref: { document: "cluster", section: "5.2.10.39.10" }
|
|
2212
|
-
}),
|
|
2213
|
-
Field({
|
|
2214
|
-
name: "Data",
|
|
2215
|
-
id: 7,
|
|
2216
|
-
type: "string",
|
|
2217
|
-
conformance: "O",
|
|
2218
|
-
details: "This field may contain a variable string, which can be used to pass data associated with a particular event. Generally this field will be left empty. However, manufacturer can choose to use this field to store/display manufacturer-specific information.",
|
|
2219
|
-
xref: { document: "cluster", section: "5.2.10.39.11" }
|
|
2066
|
+
xref: { document: "cluster", section: "5.2.10.35.1" }
|
|
2220
2067
|
})
|
|
2221
2068
|
),
|
|
2222
2069
|
Command(
|
|
@@ -2228,7 +2075,7 @@ const DoorLock = Cluster(
|
|
|
2228
2075
|
direction: "request",
|
|
2229
2076
|
response: "SetCredentialResponse",
|
|
2230
2077
|
details: "Set a credential (e.g. PIN, RFID, Fingerprint, etc.) into the lock for a new user, existing user, or ProgrammingUser.\nFields used for different use cases:",
|
|
2231
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2078
|
+
xref: { document: "cluster", section: "5.2.10.36" }
|
|
2232
2079
|
},
|
|
2233
2080
|
Field({
|
|
2234
2081
|
name: "OperationType",
|
|
@@ -2237,7 +2084,7 @@ const DoorLock = Cluster(
|
|
|
2237
2084
|
conformance: "M",
|
|
2238
2085
|
constraint: "add, modify",
|
|
2239
2086
|
details: "This field shall indicate the set credential operation type requested.",
|
|
2240
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2087
|
+
xref: { document: "cluster", section: "5.2.10.36.1" }
|
|
2241
2088
|
}),
|
|
2242
2089
|
Field({
|
|
2243
2090
|
name: "Credential",
|
|
@@ -2245,7 +2092,7 @@ const DoorLock = Cluster(
|
|
|
2245
2092
|
type: "CredentialStruct",
|
|
2246
2093
|
conformance: "M",
|
|
2247
2094
|
details: "This field shall contain a credential structure that contains the CredentialTypeEnum and the credential index (if applicable or 0 if not) to set.",
|
|
2248
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2095
|
+
xref: { document: "cluster", section: "5.2.10.36.2" }
|
|
2249
2096
|
}),
|
|
2250
2097
|
Field({
|
|
2251
2098
|
name: "CredentialData",
|
|
@@ -2254,7 +2101,7 @@ const DoorLock = Cluster(
|
|
|
2254
2101
|
conformance: "M",
|
|
2255
2102
|
constraint: "desc",
|
|
2256
2103
|
details: "This field shall indicate the credential data to set for the credential being added or modified. The length of the credential data shall conform to the limits of the CredentialType specified in the Credential structure otherwise an INVALID_COMMAND status shall be returned in the SetCredentialResponse command.",
|
|
2257
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2104
|
+
xref: { document: "cluster", section: "5.2.10.36.3" }
|
|
2258
2105
|
}),
|
|
2259
2106
|
Field({
|
|
2260
2107
|
name: "UserIndex",
|
|
@@ -2264,7 +2111,7 @@ const DoorLock = Cluster(
|
|
|
2264
2111
|
constraint: "1 to numberOfTotalUsersSupported",
|
|
2265
2112
|
quality: "X",
|
|
2266
2113
|
details: "This field shall indicate the user index to the user record that corresponds to the credential being added or modified. This shall be null if OperationType is add and a new credential and user is being added at the same time.",
|
|
2267
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2114
|
+
xref: { document: "cluster", section: "5.2.10.36.4" }
|
|
2268
2115
|
}),
|
|
2269
2116
|
Field({
|
|
2270
2117
|
name: "UserStatus",
|
|
@@ -2275,7 +2122,7 @@ const DoorLock = Cluster(
|
|
|
2275
2122
|
default: 1,
|
|
2276
2123
|
quality: "X",
|
|
2277
2124
|
details: "This field shall indicate the user status to use in the new user record if a new user is being created. This shall be null if OperationType is Modify. This may be null when adding a new credential and user.",
|
|
2278
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2125
|
+
xref: { document: "cluster", section: "5.2.10.36.5" }
|
|
2279
2126
|
}),
|
|
2280
2127
|
Field({
|
|
2281
2128
|
name: "UserType",
|
|
@@ -2286,7 +2133,7 @@ const DoorLock = Cluster(
|
|
|
2286
2133
|
default: 0,
|
|
2287
2134
|
quality: "X",
|
|
2288
2135
|
details: "This field shall indicate the user type to use in the new user record if a new user is being created. This shall be null if OperationType is Modify. This may be null when adding a new credential and user.",
|
|
2289
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2136
|
+
xref: { document: "cluster", section: "5.2.10.36.6" }
|
|
2290
2137
|
})
|
|
2291
2138
|
),
|
|
2292
2139
|
Command(
|
|
@@ -2296,7 +2143,7 @@ const DoorLock = Cluster(
|
|
|
2296
2143
|
conformance: "USR",
|
|
2297
2144
|
direction: "response",
|
|
2298
2145
|
details: "Returns the status for setting the specified credential.",
|
|
2299
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2146
|
+
xref: { document: "cluster", section: "5.2.10.37" }
|
|
2300
2147
|
},
|
|
2301
2148
|
Field({
|
|
2302
2149
|
name: "Status",
|
|
@@ -2304,8 +2151,8 @@ const DoorLock = Cluster(
|
|
|
2304
2151
|
type: "status",
|
|
2305
2152
|
conformance: "M",
|
|
2306
2153
|
constraint: "desc",
|
|
2307
|
-
details: "Status comes from the Status Codes table and shall be one of the following values:\n \u2022 SUCCESS, if setting user credential was successful.\n \u2022 FAILURE, if some unexpected internal error occurred setting user credential.\n \u2022 OCCUPIED, if OperationType is Add and CredentialIndex in Credential structure points to an occupied slot.\n \u2022 OCCUPIED, if OperationType is Modify and CredentialIndex in Credential structure does not match the CredentialIndex that is already associated with the provided UserIndex.\n \u2022 DUPLICATE, if CredentialData provided is a duplicate of another credential with the same CredentialType (e.g. duplicate PIN code).\n \u2022 RESOURCE_EXHAUSTED, if OperationType is Add and the user referred to by UserIndex already has
|
|
2308
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2154
|
+
details: "Status comes from the Status Codes table and shall be one of the following values:\n \u2022 SUCCESS, if setting user credential was successful.\n \u2022 FAILURE, if some unexpected internal error occurred setting user credential.\n \u2022 OCCUPIED, if OperationType is Add and CredentialIndex in Credential structure points to an occupied slot.\n \u2022 OCCUPIED, if OperationType is Modify and CredentialIndex in Credential structure does not match the CredentialIndex that is already associated with the provided UserIndex.\n \u2022 DUPLICATE, if CredentialData provided is a duplicate of another credential with the same CredentialType (e.g. duplicate PIN code).\n \u2022 RESOURCE_EXHAUSTED, if OperationType is Add and the new credential cannot be added due to resource constraints such as:\n \u25E6 The user referred to by UserIndex already has NumberOfCredentialsSupportedPerUser credentials associated.\n \u25E6 The credential is of type AliroEvictableEndpointKey or AliroNonEvictableEndpointKey, and adding it would cause the total number of credentials of those two types to exceed NumberOfAliroEndpointKeysSupported.\n \u2022 INVALID_COMMAND, if one or more fields violate constraints or are invalid.\n \u2022 INVALID_COMMAND, if the CredentialIndex in the Credential provided exceeds the number of credentials of the provided CredentialType supported by the lock.\n \u2022 INVALID_COMMAND, if OperationType is Modify and UserIndex points to an available slot.",
|
|
2155
|
+
xref: { document: "cluster", section: "5.2.10.37.1" }
|
|
2309
2156
|
}),
|
|
2310
2157
|
Field({
|
|
2311
2158
|
name: "UserIndex",
|
|
@@ -2316,7 +2163,7 @@ const DoorLock = Cluster(
|
|
|
2316
2163
|
default: 0,
|
|
2317
2164
|
quality: "X",
|
|
2318
2165
|
details: "This field shall indicate the user index that was created with the new credential. If the status being returned is not success then this shall be null. This shall be null if OperationType was Modify; if the OperationType was Add and a new User was created this shall NOT be null and shall provide the UserIndex created. If the OperationType was Add and an existing User was associated with the new credential then this shall be null.",
|
|
2319
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2166
|
+
xref: { document: "cluster", section: "5.2.10.37.2" }
|
|
2320
2167
|
}),
|
|
2321
2168
|
Field({
|
|
2322
2169
|
name: "NextCredentialIndex",
|
|
@@ -2326,7 +2173,7 @@ const DoorLock = Cluster(
|
|
|
2326
2173
|
constraint: "desc",
|
|
2327
2174
|
quality: "X",
|
|
2328
2175
|
details: "This field shall indicate the next available index in the database for the credential type set, which is useful for quickly identifying available credential slots in the database. This shall NOT be null if there is at least one available entry after the requested credential index in the corresponding database and shall be null if there are no more available entries. The NextCredentialIndex reported shall NOT exceed the maximum number of credentials for a particular credential type.",
|
|
2329
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2176
|
+
xref: { document: "cluster", section: "5.2.10.37.3" }
|
|
2330
2177
|
})
|
|
2331
2178
|
),
|
|
2332
2179
|
Command(
|
|
@@ -2338,7 +2185,7 @@ const DoorLock = Cluster(
|
|
|
2338
2185
|
direction: "request",
|
|
2339
2186
|
response: "GetCredentialStatusResponse",
|
|
2340
2187
|
details: "Retrieve the status of a particular credential (e.g. PIN, RFID, Fingerprint, etc.) by index.\nAn InvokeResponse command shall be sent with an appropriate error (e.g. FAILURE, INVALID_COMMAND, etc.) as needed otherwise the GetCredentialStatusResponse command shall be sent implying a status of SUCCESS.",
|
|
2341
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2188
|
+
xref: { document: "cluster", section: "5.2.10.38" }
|
|
2342
2189
|
},
|
|
2343
2190
|
Field({
|
|
2344
2191
|
name: "Credential",
|
|
@@ -2346,7 +2193,7 @@ const DoorLock = Cluster(
|
|
|
2346
2193
|
type: "CredentialStruct",
|
|
2347
2194
|
conformance: "M",
|
|
2348
2195
|
details: "This field shall contain a credential structure that contains the CredentialTypeEnum and the credential index (if applicable or 0 if not) to retrieve the status for.",
|
|
2349
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2196
|
+
xref: { document: "cluster", section: "5.2.10.38.1" }
|
|
2350
2197
|
})
|
|
2351
2198
|
),
|
|
2352
2199
|
Command(
|
|
@@ -2356,7 +2203,7 @@ const DoorLock = Cluster(
|
|
|
2356
2203
|
conformance: "USR",
|
|
2357
2204
|
direction: "response",
|
|
2358
2205
|
details: "Returns the status for the specified credential.",
|
|
2359
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2206
|
+
xref: { document: "cluster", section: "5.2.10.39" }
|
|
2360
2207
|
},
|
|
2361
2208
|
Field({
|
|
2362
2209
|
name: "CredentialExists",
|
|
@@ -2364,7 +2211,7 @@ const DoorLock = Cluster(
|
|
|
2364
2211
|
type: "bool",
|
|
2365
2212
|
conformance: "M",
|
|
2366
2213
|
details: "This field shall indicate if the requested credential type and index exists and is populated for the requested user index.",
|
|
2367
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2214
|
+
xref: { document: "cluster", section: "5.2.10.39.1" }
|
|
2368
2215
|
}),
|
|
2369
2216
|
Field({
|
|
2370
2217
|
name: "UserIndex",
|
|
@@ -2374,7 +2221,7 @@ const DoorLock = Cluster(
|
|
|
2374
2221
|
constraint: "1 to numberOfTotalUsersSupported",
|
|
2375
2222
|
quality: "X",
|
|
2376
2223
|
details: "This field shall indicate the credential\u2019s corresponding user index value if the credential exists. If CredentialType requested was ProgrammingPIN then UserIndex shall be null; otherwise, UserIndex shall be null if CredentialExists is set to False and shall NOT be null if CredentialExists is set to True.",
|
|
2377
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2224
|
+
xref: { document: "cluster", section: "5.2.10.39.2" }
|
|
2378
2225
|
}),
|
|
2379
2226
|
Field({
|
|
2380
2227
|
name: "CreatorFabricIndex",
|
|
@@ -2383,7 +2230,7 @@ const DoorLock = Cluster(
|
|
|
2383
2230
|
conformance: "M",
|
|
2384
2231
|
quality: "X",
|
|
2385
2232
|
details: "This field shall indicate the credential\u2019s creator fabric index. CreatorFabricIndex shall be null if CredentialExists is set to False or when the creator fabric cannot be determined (for example, when credential was created outside the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the original creator fabric was deleted.",
|
|
2386
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2233
|
+
xref: { document: "cluster", section: "5.2.10.39.3" }
|
|
2387
2234
|
}),
|
|
2388
2235
|
Field({
|
|
2389
2236
|
name: "LastModifiedFabricIndex",
|
|
@@ -2392,7 +2239,7 @@ const DoorLock = Cluster(
|
|
|
2392
2239
|
conformance: "M",
|
|
2393
2240
|
quality: "X",
|
|
2394
2241
|
details: "This field shall indicate the credential\u2019s last modifier fabric index. LastModifiedFabricIndex shall be null if CredentialExists is set to False or when the modifier fabric cannot be determined (for example, when credential was modified outside the Interaction Model) and shall NOT be null otherwise. This value shall be set to 0 if the last modifier fabric was deleted.",
|
|
2395
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2242
|
+
xref: { document: "cluster", section: "5.2.10.39.4" }
|
|
2396
2243
|
}),
|
|
2397
2244
|
Field({
|
|
2398
2245
|
name: "NextCredentialIndex",
|
|
@@ -2401,8 +2248,18 @@ const DoorLock = Cluster(
|
|
|
2401
2248
|
conformance: "O",
|
|
2402
2249
|
constraint: "desc",
|
|
2403
2250
|
quality: "X",
|
|
2404
|
-
details: "This field shall indicate the next occupied index in the database for the credential type requested, which is useful for quickly identifying occupied credential slots in the database. This shall NOT be null if there is at least one occupied entry after the requested credential index in the corresponding
|
|
2405
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2251
|
+
details: "This field shall indicate the next occupied index in the database for the credential type requested, which is useful for quickly identifying occupied credential slots in the database. This shall NOT be null if there is at least one occupied entry after the requested credential index in the corresponding\ndatabase and shall be null if there are no more occupied entries. The NextCredentialIndex reported shall NOT exceed the maximum number of credentials for a particular credential type.",
|
|
2252
|
+
xref: { document: "cluster", section: "5.2.10.39.5" }
|
|
2253
|
+
}),
|
|
2254
|
+
Field({
|
|
2255
|
+
name: "CredentialData",
|
|
2256
|
+
id: 5,
|
|
2257
|
+
type: "octstr",
|
|
2258
|
+
conformance: "[ALIRO]",
|
|
2259
|
+
constraint: "desc",
|
|
2260
|
+
quality: "X",
|
|
2261
|
+
details: "This field shall indicate the credential data for the requested user index.\nIf the CredentialType in the GetCredentialStatus command was not AliroCredentialIssuerKey, AliroEvictableEndpointKey, or AliroNonEvictableEndpointKey, this field shall NOT be included.\nOtherwise, if CredentialExists is false this field shall be null.\nOtherwise, the value of this field shall be the value of the relevant credential, as a 65-byte uncompressed elliptic curve public key as defined in section 2.3.3 of SEC 1.\nNOTE\nSince the Aliro credentials are public keys, there is no security risk in allowing them to be read. Possession of the credential octet string does not allow operating the lock.",
|
|
2262
|
+
xref: { document: "cluster", section: "5.2.10.39.6" }
|
|
2406
2263
|
})
|
|
2407
2264
|
),
|
|
2408
2265
|
Command(
|
|
@@ -2413,8 +2270,8 @@ const DoorLock = Cluster(
|
|
|
2413
2270
|
conformance: "USR",
|
|
2414
2271
|
direction: "request",
|
|
2415
2272
|
response: "status",
|
|
2416
|
-
details: "Clear one, one type, or all credentials except ProgrammingPIN credential.\nFields used for different use cases:\nFor each credential cleared whose user doesn\u2019t have another valid credential, the corresponding user record shall be reset back to default values and its UserStatus value shall be set to Available and UserType value shall be set to UnrestrictedUser and all schedules shall be cleared. In
|
|
2417
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2273
|
+
details: "Clear one, one type, or all credentials except ProgrammingPIN credential.\nFields used for different use cases:\nFor each credential cleared whose user doesn\u2019t have another valid credential, the corresponding user record shall be reset back to default values and its UserStatus value shall be set to Available and UserType value shall be set to UnrestrictedUser and all schedules shall be cleared. In this case a LockUserChange event shall be generated for the user being cleared.\nReturn status shall be one of the following values:",
|
|
2274
|
+
xref: { document: "cluster", section: "5.2.10.40" }
|
|
2418
2275
|
},
|
|
2419
2276
|
Field({
|
|
2420
2277
|
name: "Credential",
|
|
@@ -2424,7 +2281,7 @@ const DoorLock = Cluster(
|
|
|
2424
2281
|
constraint: "desc",
|
|
2425
2282
|
quality: "X",
|
|
2426
2283
|
details: "This field shall contain a credential structure that contains the CredentialTypeEnum and the credential index (0xFFFE for all credentials or 0 if not applicable) to clear. This shall be null if clearing all credential types otherwise it shall NOT be null.",
|
|
2427
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2284
|
+
xref: { document: "cluster", section: "5.2.10.40.1" }
|
|
2428
2285
|
})
|
|
2429
2286
|
),
|
|
2430
2287
|
Command(
|
|
@@ -2436,7 +2293,7 @@ const DoorLock = Cluster(
|
|
|
2436
2293
|
direction: "request",
|
|
2437
2294
|
response: "status",
|
|
2438
2295
|
details: "This command causes the lock device to unlock the door without pulling the latch. This command includes an optional code for the lock. The door lock may require a code depending on the value of the RequirePINForRemoteOperation attribute.\nNOTE\nIf the attribute AutoRelockTime is supported, the lock will transition to the locked state when the auto relock time has expired.",
|
|
2439
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2296
|
+
xref: { document: "cluster", section: "5.2.10.41" }
|
|
2440
2297
|
},
|
|
2441
2298
|
Field({
|
|
2442
2299
|
name: "PinCode",
|
|
@@ -2444,9 +2301,67 @@ const DoorLock = Cluster(
|
|
|
2444
2301
|
type: "octstr",
|
|
2445
2302
|
conformance: "[COTA & PIN]",
|
|
2446
2303
|
details: "See PINCode field.",
|
|
2447
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2304
|
+
xref: { document: "cluster", section: "5.2.10.41.1" }
|
|
2305
|
+
})
|
|
2306
|
+
),
|
|
2307
|
+
Command(
|
|
2308
|
+
{
|
|
2309
|
+
name: "SetAliroReaderConfig",
|
|
2310
|
+
id: 40,
|
|
2311
|
+
access: "A T",
|
|
2312
|
+
conformance: "ALIRO",
|
|
2313
|
+
direction: "request",
|
|
2314
|
+
response: "status",
|
|
2315
|
+
details: "This command allows communicating an Aliro Reader configuration, as defined in [Aliro], to the lock.",
|
|
2316
|
+
xref: { document: "cluster", section: "5.2.10.42" }
|
|
2317
|
+
},
|
|
2318
|
+
Field({
|
|
2319
|
+
name: "SigningKey",
|
|
2320
|
+
id: 0,
|
|
2321
|
+
type: "octstr",
|
|
2322
|
+
conformance: "M",
|
|
2323
|
+
constraint: "32",
|
|
2324
|
+
details: "This field shall indicate the signing key component of the Reader\u2019s key pair.",
|
|
2325
|
+
xref: { document: "cluster", section: "5.2.10.42.1" }
|
|
2326
|
+
}),
|
|
2327
|
+
Field({
|
|
2328
|
+
name: "VerificationKey",
|
|
2329
|
+
id: 1,
|
|
2330
|
+
type: "octstr",
|
|
2331
|
+
conformance: "M",
|
|
2332
|
+
constraint: "65",
|
|
2333
|
+
details: "This field shall indicate the verification key component of the Reader\u2019s key pair. This shall be an uncompressed elliptic curve public key as defined in section 2.3.3 of SEC 1.",
|
|
2334
|
+
xref: { document: "cluster", section: "5.2.10.42.2" }
|
|
2335
|
+
}),
|
|
2336
|
+
Field({
|
|
2337
|
+
name: "GroupIdentifier",
|
|
2338
|
+
id: 2,
|
|
2339
|
+
type: "octstr",
|
|
2340
|
+
conformance: "M",
|
|
2341
|
+
constraint: "16",
|
|
2342
|
+
details: "This field shall indicate the reader group identifier for the lock.",
|
|
2343
|
+
xref: { document: "cluster", section: "5.2.10.42.3" }
|
|
2344
|
+
}),
|
|
2345
|
+
Field({
|
|
2346
|
+
name: "GroupResolvingKey",
|
|
2347
|
+
id: 3,
|
|
2348
|
+
type: "octstr",
|
|
2349
|
+
conformance: "ALBU",
|
|
2350
|
+
constraint: "16",
|
|
2351
|
+
details: "This field shall indicate the group resolving key for the lock.",
|
|
2352
|
+
xref: { document: "cluster", section: "5.2.10.42.4" }
|
|
2448
2353
|
})
|
|
2449
2354
|
),
|
|
2355
|
+
Command({
|
|
2356
|
+
name: "ClearAliroReaderConfig",
|
|
2357
|
+
id: 41,
|
|
2358
|
+
access: "A T",
|
|
2359
|
+
conformance: "ALIRO",
|
|
2360
|
+
direction: "request",
|
|
2361
|
+
response: "status",
|
|
2362
|
+
details: "This command allows clearing an existing Aliro Reader configuration for the lock. Administrators shall NOT clear an Aliro Reader configuration without explicit user permission.\nNOTE\nUsing this command will revoke the ability of all existing Aliro user devices that have the old verification key to interact with the lock. This effect is not restricted to a single fabric or otherwise scoped in any way.",
|
|
2363
|
+
xref: { document: "cluster", section: "5.2.10.43" }
|
|
2364
|
+
}),
|
|
2450
2365
|
Datatype(
|
|
2451
2366
|
{
|
|
2452
2367
|
name: "DaysMaskBitmap",
|
|
@@ -2576,7 +2491,6 @@ const DoorLock = Cluster(
|
|
|
2576
2491
|
{ name: "AlarmMaskBitmap", type: "map16", xref: { document: "cluster", section: "5.2.6.6" } },
|
|
2577
2492
|
Field({ name: "LockJammed", constraint: "0", description: "Locking Mechanism Jammed" }),
|
|
2578
2493
|
Field({ name: "LockFactoryReset", constraint: "1", description: "Lock Reset to Factory Defaults" }),
|
|
2579
|
-
Field({ name: "NA", constraint: "2", description: "Reserved" }),
|
|
2580
2494
|
Field({ name: "LockRadioPowerCycled", constraint: "3", description: "RF Module Power Cycled" }),
|
|
2581
2495
|
Field({ name: "WrongCodeEntryLimit", constraint: "4", description: "Tamper Alarm - wrong code entry limit" }),
|
|
2582
2496
|
Field({
|
|
@@ -2586,31 +2500,12 @@ const DoorLock = Cluster(
|
|
|
2586
2500
|
}),
|
|
2587
2501
|
Field({ name: "DoorForcedOpen", constraint: "6", description: "Forced Door Open under Door Locked Condition" })
|
|
2588
2502
|
),
|
|
2589
|
-
Datatype(
|
|
2590
|
-
{ name: "EventMaskBitmap", type: "map16", xref: { document: "cluster", section: "5.2.6.7" } },
|
|
2591
|
-
Field({ name: "Bit0", constraint: "0", description: "State of bit 0" }),
|
|
2592
|
-
Field({ name: "Bit1", constraint: "1", description: "State of bit 1" }),
|
|
2593
|
-
Field({ name: "Bit2", constraint: "2", description: "State of bit 2" }),
|
|
2594
|
-
Field({ name: "Bit3", constraint: "3", description: "State of bit 3" }),
|
|
2595
|
-
Field({ name: "Bit4", constraint: "4", description: "State of bit 4" }),
|
|
2596
|
-
Field({ name: "Bit5", constraint: "5", description: "State of bit 5" }),
|
|
2597
|
-
Field({ name: "Bit6", constraint: "6", description: "State of bit 6" }),
|
|
2598
|
-
Field({ name: "Bit7", constraint: "7", description: "State of bit 7" }),
|
|
2599
|
-
Field({ name: "Bit8", constraint: "8", description: "State of bit 8" }),
|
|
2600
|
-
Field({ name: "Bit9", constraint: "9", description: "State of bit 9" }),
|
|
2601
|
-
Field({ name: "Bit10", constraint: "10", description: "State of bit 10" }),
|
|
2602
|
-
Field({ name: "Bit11", constraint: "11", description: "State of bit 11" }),
|
|
2603
|
-
Field({ name: "Bit12", constraint: "12", description: "State of bit 12" }),
|
|
2604
|
-
Field({ name: "Bit13", constraint: "13", description: "State of bit 13" }),
|
|
2605
|
-
Field({ name: "Bit14", constraint: "14", description: "State of bit 14" }),
|
|
2606
|
-
Field({ name: "Bit15", constraint: "15", description: "State of bit 15" })
|
|
2607
|
-
),
|
|
2608
2503
|
Datatype(
|
|
2609
2504
|
{
|
|
2610
2505
|
name: "AlarmCodeEnum",
|
|
2611
2506
|
type: "enum8",
|
|
2612
2507
|
details: "This enumeration shall indicate the alarm type.",
|
|
2613
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2508
|
+
xref: { document: "cluster", section: "5.2.6.7" }
|
|
2614
2509
|
},
|
|
2615
2510
|
Field({ name: "LockJammed", id: 0, conformance: "M", description: "Locking Mechanism Jammed" }),
|
|
2616
2511
|
Field({ name: "LockFactoryReset", id: 1, conformance: "O", description: "Lock Reset to Factory Defaults" }),
|
|
@@ -2641,7 +2536,7 @@ const DoorLock = Cluster(
|
|
|
2641
2536
|
name: "CredentialRuleEnum",
|
|
2642
2537
|
type: "enum8",
|
|
2643
2538
|
details: "This enumeration shall indicate the credential rule that can be applied to a particular user.",
|
|
2644
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2539
|
+
xref: { document: "cluster", section: "5.2.6.8" }
|
|
2645
2540
|
},
|
|
2646
2541
|
Field({
|
|
2647
2542
|
name: "Single",
|
|
@@ -2667,21 +2562,45 @@ const DoorLock = Cluster(
|
|
|
2667
2562
|
name: "CredentialTypeEnum",
|
|
2668
2563
|
type: "enum8",
|
|
2669
2564
|
details: "This enumeration shall indicate the credential type.",
|
|
2670
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2565
|
+
xref: { document: "cluster", section: "5.2.6.9" }
|
|
2671
2566
|
},
|
|
2672
2567
|
Field({ name: "ProgrammingPin", id: 0, conformance: "O", description: "Programming PIN code credential type" }),
|
|
2673
2568
|
Field({ name: "Pin", id: 1, conformance: "PIN", description: "PIN code credential type" }),
|
|
2674
2569
|
Field({ name: "Rfid", id: 2, conformance: "RID", description: "RFID identifier credential type" }),
|
|
2675
2570
|
Field({ name: "Fingerprint", id: 3, conformance: "FGP", description: "Fingerprint identifier credential type" }),
|
|
2676
2571
|
Field({ name: "FingerVein", id: 4, conformance: "FGP", description: "Finger vein identifier credential type" }),
|
|
2677
|
-
Field({ name: "Face", id: 5, conformance: "FACE", description: "Face identifier credential type" })
|
|
2572
|
+
Field({ name: "Face", id: 5, conformance: "FACE", description: "Face identifier credential type" }),
|
|
2573
|
+
Field({
|
|
2574
|
+
name: "AliroCredentialIssuerKey",
|
|
2575
|
+
id: 6,
|
|
2576
|
+
conformance: "ALIRO",
|
|
2577
|
+
description: "A Credential Issuer public key as defined in [Aliro]",
|
|
2578
|
+
details: 'Credentials of this type shall be 65-byte uncompressed elliptic curve public keys as defined in section 2.3.3 of SEC 1.\nCredentials of this type shall NOT be used to allow operating the lock. They shall be used, as defined in [Aliro], to create new credentials of type AliroEvictableEndpointKey via a step-up transaction.\nWhen performing the step-up transaction, the lock shall request the data element with identifier "matter1", and shall attempt to create a new credential of type AliroEvictableEndpointKey if and only if the data element is returned and the Access Credential can be validated using the AliroCredentialIssuerKey.\nWhen a new credential of type AliroEvictableEndpointKey is added in this manner, it shall be associated with the same user record as the AliroCredentialIssuerKey credential that allowed the new credential to be added.\nIf there are no available credential slots to add a new AliroEvictableEndpointKey credential (i.e. either the NumberOfCredentialsSupportedPerUser or the NumberOfAliroEndpointKeysSupported limit has been reached) but there exist credentials of type AliroEvictableEndpointKey associated with the user record, the server shall remove one of those credentials using the same procedure it would follow for the ClearCredential command before adding the new credential.\nIf there are no available credential slots to add a new AliroEvictableEndpointKey credential (i.e. either the NumberOfCredentialsSupportedPerUser or the NumberOfAliroEndpointKeysSupported limit has been reached) and there do not exist credentials of type AliroEvictableEndpointKey associated with the user record, a new AliroEvictableEndpointKey credential shall NOT be created.\nIf the step-up process results in addition of new credentials, the corresponding LockUserChange event shall have OperationSource set to Aliro.\nIf the step-up process results in the lock state changing (e.g. locking or unlocking), the credential associated with those changes in the LockOperation events shall be the newly provisioned AliroEvictableEndpointKey credential if one was created. If no new AliroEvictableEndpointKey credential was created, the credential associated with the changes in the LockOperation events shall be the AliroCredentialIssuerKey credential used for the step-up.',
|
|
2579
|
+
xref: { document: "cluster", section: "5.2.6.9.1" }
|
|
2580
|
+
}),
|
|
2581
|
+
Field({
|
|
2582
|
+
name: "AliroEvictableEndpointKey",
|
|
2583
|
+
id: 7,
|
|
2584
|
+
conformance: "ALIRO",
|
|
2585
|
+
description: "An Endpoint public key as defined in [Aliro] which can be evicted if space is needed for another endpoint key",
|
|
2586
|
+
details: "Credentials of this type shall be 65-byte uncompressed elliptic curve public keys as defined in section 2.3.3 of SEC 1.",
|
|
2587
|
+
xref: { document: "cluster", section: "5.2.6.9.2" }
|
|
2588
|
+
}),
|
|
2589
|
+
Field({
|
|
2590
|
+
name: "AliroNonEvictableEndpointKey",
|
|
2591
|
+
id: 8,
|
|
2592
|
+
conformance: "ALIRO",
|
|
2593
|
+
description: "An Endpoint public key as defined in [Aliro] which cannot be evicted if space is needed for another endpoint key",
|
|
2594
|
+
details: "Credentials of this type shall be 65-byte uncompressed elliptic curve public keys as defined in section 2.3.3 of SEC 1.",
|
|
2595
|
+
xref: { document: "cluster", section: "5.2.6.9.3" }
|
|
2596
|
+
})
|
|
2678
2597
|
),
|
|
2679
2598
|
Datatype(
|
|
2680
2599
|
{
|
|
2681
2600
|
name: "DataOperationTypeEnum",
|
|
2682
2601
|
type: "enum8",
|
|
2683
2602
|
details: "This enumeration shall indicate the data operation performed.",
|
|
2684
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2603
|
+
xref: { document: "cluster", section: "5.2.6.10" }
|
|
2685
2604
|
},
|
|
2686
2605
|
Field({ name: "Add", id: 0, conformance: "M", description: "Data is being added or was added" }),
|
|
2687
2606
|
Field({ name: "Clear", id: 1, conformance: "M", description: "Data is being cleared or was cleared" }),
|
|
@@ -2692,7 +2611,7 @@ const DoorLock = Cluster(
|
|
|
2692
2611
|
name: "DoorStateEnum",
|
|
2693
2612
|
type: "enum8",
|
|
2694
2613
|
details: "This enumeration shall indicate the current door state.",
|
|
2695
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2614
|
+
xref: { document: "cluster", section: "5.2.6.11" }
|
|
2696
2615
|
},
|
|
2697
2616
|
Field({ name: "DoorOpen", id: 0, conformance: "DPS", description: "Door state is open" }),
|
|
2698
2617
|
Field({ name: "DoorClosed", id: 1, conformance: "DPS", description: "Door state is closed" }),
|
|
@@ -2711,7 +2630,7 @@ const DoorLock = Cluster(
|
|
|
2711
2630
|
name: "LockDataTypeEnum",
|
|
2712
2631
|
type: "enum8",
|
|
2713
2632
|
details: "This enumeration shall indicate the data type that is being or has changed.",
|
|
2714
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2633
|
+
xref: { document: "cluster", section: "5.2.6.12" }
|
|
2715
2634
|
},
|
|
2716
2635
|
Field({
|
|
2717
2636
|
name: "Unspecified",
|
|
@@ -2778,6 +2697,24 @@ const DoorLock = Cluster(
|
|
|
2778
2697
|
id: 10,
|
|
2779
2698
|
conformance: "FACE",
|
|
2780
2699
|
description: "Lock user face information was added, cleared, or modified."
|
|
2700
|
+
}),
|
|
2701
|
+
Field({
|
|
2702
|
+
name: "AliroCredentialIssuerKey",
|
|
2703
|
+
id: 11,
|
|
2704
|
+
conformance: "ALIRO",
|
|
2705
|
+
description: "An Aliro credential issuer key credential was added, cleared, or modified."
|
|
2706
|
+
}),
|
|
2707
|
+
Field({
|
|
2708
|
+
name: "AliroEvictableEndpointKey",
|
|
2709
|
+
id: 12,
|
|
2710
|
+
conformance: "ALIRO",
|
|
2711
|
+
description: "An Aliro endpoint key credential which can be evicted credential was added, cleared, or modified."
|
|
2712
|
+
}),
|
|
2713
|
+
Field({
|
|
2714
|
+
name: "AliroNonEvictableEndpointKey",
|
|
2715
|
+
id: 13,
|
|
2716
|
+
conformance: "ALIRO",
|
|
2717
|
+
description: "An Aliro endpoint key credential which cannot be evicted was added, cleared, or modified."
|
|
2781
2718
|
})
|
|
2782
2719
|
),
|
|
2783
2720
|
Datatype(
|
|
@@ -2785,7 +2722,7 @@ const DoorLock = Cluster(
|
|
|
2785
2722
|
name: "LockOperationTypeEnum",
|
|
2786
2723
|
type: "enum8",
|
|
2787
2724
|
details: "This enumeration shall indicate the type of Lock operation performed.",
|
|
2788
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2725
|
+
xref: { document: "cluster", section: "5.2.6.13" }
|
|
2789
2726
|
},
|
|
2790
2727
|
Field({ name: "Lock", id: 0, conformance: "M", description: "Lock operation" }),
|
|
2791
2728
|
Field({ name: "Unlock", id: 1, conformance: "M", description: "Unlock operation" }),
|
|
@@ -2808,7 +2745,7 @@ const DoorLock = Cluster(
|
|
|
2808
2745
|
name: "OperationErrorEnum",
|
|
2809
2746
|
type: "enum8",
|
|
2810
2747
|
details: "This enumeration shall indicate the error cause of the Lock/Unlock operation performed.",
|
|
2811
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2748
|
+
xref: { document: "cluster", section: "5.2.6.14" }
|
|
2812
2749
|
},
|
|
2813
2750
|
Field({
|
|
2814
2751
|
name: "Unspecified",
|
|
@@ -2846,42 +2783,42 @@ const DoorLock = Cluster(
|
|
|
2846
2783
|
name: "OperatingModeEnum",
|
|
2847
2784
|
type: "enum8",
|
|
2848
2785
|
details: "This enumeration shall indicate the lock operating mode.\nThe table below shows the operating mode and which interfaces are enabled, if supported, for each mode.\n* Interface Operational: Yes, No or N/A\nNOTE\nFor modes that disable the remote interface, the door lock shall respond to Lock, Unlock, Toggle, and Unlock with Timeout commands with a response status Failure and not take the action requested by those commands. The door lock shall NOT disable the radio or otherwise unbind or leave the network. It shall still respond to all other commands and requests.",
|
|
2849
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2786
|
+
xref: { document: "cluster", section: "5.2.6.15" }
|
|
2850
2787
|
},
|
|
2851
2788
|
Field({
|
|
2852
2789
|
name: "Normal",
|
|
2853
2790
|
id: 0,
|
|
2854
2791
|
conformance: "M",
|
|
2855
2792
|
details: "The lock operates normally. All interfaces are enabled.",
|
|
2856
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2793
|
+
xref: { document: "cluster", section: "5.2.6.15.1" }
|
|
2857
2794
|
}),
|
|
2858
2795
|
Field({
|
|
2859
2796
|
name: "Vacation",
|
|
2860
2797
|
id: 1,
|
|
2861
2798
|
conformance: "O",
|
|
2862
2799
|
details: "Only remote interaction is enabled. The keypad shall only be operable by the master user.",
|
|
2863
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2800
|
+
xref: { document: "cluster", section: "5.2.6.15.2" }
|
|
2864
2801
|
}),
|
|
2865
2802
|
Field({
|
|
2866
2803
|
name: "Privacy",
|
|
2867
2804
|
id: 2,
|
|
2868
2805
|
conformance: "O",
|
|
2869
2806
|
details: "This mode is only possible if the door is locked. Manual unlocking changes the mode to Normal operating mode. All external interaction with the door lock is disabled. This mode is intended to be used so that users, presumably inside the property, will have control over the entrance.",
|
|
2870
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2807
|
+
xref: { document: "cluster", section: "5.2.6.15.3" }
|
|
2871
2808
|
}),
|
|
2872
2809
|
Field({
|
|
2873
2810
|
name: "NoRemoteLockUnlock",
|
|
2874
2811
|
id: 3,
|
|
2875
2812
|
conformance: "M",
|
|
2876
2813
|
details: "This mode only disables remote interaction with the lock. This does not apply to any remote proprietary means of communication. It specifically applies to the Lock, Unlock, Toggle, and Unlock with Timeout Commands.",
|
|
2877
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2814
|
+
xref: { document: "cluster", section: "5.2.6.15.4" }
|
|
2878
2815
|
}),
|
|
2879
2816
|
Field({
|
|
2880
2817
|
name: "Passage",
|
|
2881
2818
|
id: 4,
|
|
2882
2819
|
conformance: "O",
|
|
2883
2820
|
details: "The lock is open or can be opened or closed at will without the use of a Keypad or other means of user validation (e.g. a lock for a business during work hours).",
|
|
2884
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2821
|
+
xref: { document: "cluster", section: "5.2.6.15.5" }
|
|
2885
2822
|
})
|
|
2886
2823
|
),
|
|
2887
2824
|
Datatype(
|
|
@@ -2889,7 +2826,7 @@ const DoorLock = Cluster(
|
|
|
2889
2826
|
name: "OperationSourceEnum",
|
|
2890
2827
|
type: "enum8",
|
|
2891
2828
|
details: "This enumeration shall indicate the source of the Lock/Unlock or user change operation performed.",
|
|
2892
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2829
|
+
xref: { document: "cluster", section: "5.2.6.16" }
|
|
2893
2830
|
},
|
|
2894
2831
|
Field({
|
|
2895
2832
|
name: "Unspecified",
|
|
@@ -2935,6 +2872,12 @@ const DoorLock = Cluster(
|
|
|
2935
2872
|
id: 9,
|
|
2936
2873
|
conformance: "[USR]",
|
|
2937
2874
|
description: "Lock/unlock operation came from biometric source (e.g. face, fingerprint/fingervein)"
|
|
2875
|
+
}),
|
|
2876
|
+
Field({
|
|
2877
|
+
name: "Aliro",
|
|
2878
|
+
id: 10,
|
|
2879
|
+
conformance: "ALIRO",
|
|
2880
|
+
description: "Lock/unlock operation came from an interaction defined in [Aliro], or user change operation was a step-up credential provisioning as defined in [Aliro]"
|
|
2938
2881
|
})
|
|
2939
2882
|
),
|
|
2940
2883
|
Datatype(
|
|
@@ -2942,7 +2885,7 @@ const DoorLock = Cluster(
|
|
|
2942
2885
|
name: "UserStatusEnum",
|
|
2943
2886
|
type: "enum8",
|
|
2944
2887
|
details: "This enumeration shall indicate what the status is for a specific user ID.",
|
|
2945
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2888
|
+
xref: { document: "cluster", section: "5.2.6.17" }
|
|
2946
2889
|
},
|
|
2947
2890
|
Field({ name: "Available", id: 0, conformance: "M", description: "The user ID is available" }),
|
|
2948
2891
|
Field({ name: "OccupiedEnabled", id: 1, conformance: "M", description: "The user ID is occupied and enabled" }),
|
|
@@ -2953,7 +2896,7 @@ const DoorLock = Cluster(
|
|
|
2953
2896
|
name: "UserTypeEnum",
|
|
2954
2897
|
type: "enum8",
|
|
2955
2898
|
details: "This enumeration shall indicate what the type is for a specific user ID.",
|
|
2956
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2899
|
+
xref: { document: "cluster", section: "5.2.6.18" }
|
|
2957
2900
|
},
|
|
2958
2901
|
Field({
|
|
2959
2902
|
name: "UnrestrictedUser",
|
|
@@ -2961,23 +2904,23 @@ const DoorLock = Cluster(
|
|
|
2961
2904
|
conformance: "M",
|
|
2962
2905
|
description: "The user ID type is unrestricted",
|
|
2963
2906
|
details: "This value shall indicate the user has access 24/7 provided proper PIN or RFID is supplied (e.g., owner).",
|
|
2964
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2907
|
+
xref: { document: "cluster", section: "5.2.6.18.1" }
|
|
2965
2908
|
}),
|
|
2966
2909
|
Field({
|
|
2967
2910
|
name: "YearDayScheduleUser",
|
|
2968
2911
|
id: 1,
|
|
2969
2912
|
conformance: "O",
|
|
2970
2913
|
description: "The user ID type is schedule",
|
|
2971
|
-
details: "This value shall indicate the user has the ability to open lock within a specific time period (e.g., guest).",
|
|
2972
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2914
|
+
details: "This value shall indicate the user has the ability to open lock within a specific time period (e.g., guest).\nWhen UserType is set to YearDayScheduleUser, user access shall be restricted as follows:\n \u2022 If no YearDaySchedules are set for the user, then access shall be denied\n \u2022 If one or more YearDaySchedules are set, user access shall be granted if and only if the current time falls within at least one of the YearDaySchedules. If current time is not known, user access shall NOT be granted.",
|
|
2915
|
+
xref: { document: "cluster", section: "5.2.6.18.2" }
|
|
2973
2916
|
}),
|
|
2974
2917
|
Field({
|
|
2975
2918
|
name: "WeekDayScheduleUser",
|
|
2976
2919
|
id: 2,
|
|
2977
2920
|
conformance: "O",
|
|
2978
2921
|
description: "The user ID type is schedule",
|
|
2979
|
-
details: "This value shall indicate the user has the ability to open lock based on specific time period within a reoccurring weekly schedule (e.g., cleaning worker).",
|
|
2980
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2922
|
+
details: "This value shall indicate the user has the ability to open lock based on specific time period within a reoccurring weekly schedule (e.g., cleaning worker).\nWhen UserType is set to WeekDayScheduleUser, user access shall be restricted as follows:\n \u2022 If no WeekDaySchedules are set for the user, then access shall be denied\n \u2022 If one or more WeekDaySchedules are set, user access shall be granted if and only if the current time falls within at least one of the WeekDaySchedules. If current time is not known, user access shall NOT be granted.",
|
|
2923
|
+
xref: { document: "cluster", section: "5.2.6.18.3" }
|
|
2981
2924
|
}),
|
|
2982
2925
|
Field({
|
|
2983
2926
|
name: "ProgrammingUser",
|
|
@@ -2985,7 +2928,7 @@ const DoorLock = Cluster(
|
|
|
2985
2928
|
conformance: "O",
|
|
2986
2929
|
description: "The user ID type is programming",
|
|
2987
2930
|
details: "This value shall indicate the user has the ability to both program and operate the door lock. This user can manage the users and user schedules. In all other respects this user matches the unrestricted (default) user. ProgrammingUser is the only user that can disable the user interface (keypad, remote, etc\u2026).",
|
|
2988
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2931
|
+
xref: { document: "cluster", section: "5.2.6.18.4" }
|
|
2989
2932
|
}),
|
|
2990
2933
|
Field({
|
|
2991
2934
|
name: "NonAccessUser",
|
|
@@ -2993,7 +2936,7 @@ const DoorLock = Cluster(
|
|
|
2993
2936
|
conformance: "O",
|
|
2994
2937
|
description: "The user ID type is non access",
|
|
2995
2938
|
details: "This value shall indicate the user is recognized by the lock but does not have the ability to open the lock. This user will only cause the lock to generate the appropriate event notification to any bound devices.",
|
|
2996
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2939
|
+
xref: { document: "cluster", section: "5.2.6.18.5" }
|
|
2997
2940
|
}),
|
|
2998
2941
|
Field({
|
|
2999
2942
|
name: "ForcedUser",
|
|
@@ -3001,7 +2944,7 @@ const DoorLock = Cluster(
|
|
|
3001
2944
|
conformance: "[USR]",
|
|
3002
2945
|
description: "The user ID type is forced",
|
|
3003
2946
|
details: "This value shall indicate the user has the ability to open lock but a ForcedUser LockOperationType and ForcedUser silent alarm will be emitted to allow a notified Node to alert emergency services or contacts on the user account when used.",
|
|
3004
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2947
|
+
xref: { document: "cluster", section: "5.2.6.18.6" }
|
|
3005
2948
|
}),
|
|
3006
2949
|
Field({
|
|
3007
2950
|
name: "DisposableUser",
|
|
@@ -3009,7 +2952,7 @@ const DoorLock = Cluster(
|
|
|
3009
2952
|
conformance: "[USR]",
|
|
3010
2953
|
description: "The user ID type is disposable",
|
|
3011
2954
|
details: "This value shall indicate the user has the ability to open lock once after which the lock shall change the corresponding user record UserStatus value to OccupiedDisabled automatically.",
|
|
3012
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2955
|
+
xref: { document: "cluster", section: "5.2.6.18.7" }
|
|
3013
2956
|
}),
|
|
3014
2957
|
Field({
|
|
3015
2958
|
name: "ExpiringUser",
|
|
@@ -3017,15 +2960,15 @@ const DoorLock = Cluster(
|
|
|
3017
2960
|
conformance: "[USR]",
|
|
3018
2961
|
description: "The user ID type is expiring",
|
|
3019
2962
|
details: "This value shall indicate the user has the ability to open lock for ExpiringUserTimeout attribute minutes after the first use of the PIN code, RFID code, Fingerprint, or other credential. After ExpiringUserTimeout minutes the corresponding user record UserStatus value shall be set to OccupiedDisabled automatically by the lock. The lock shall persist the timeout across reboots such that the ExpiringUserTimeout is honored.",
|
|
3020
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2963
|
+
xref: { document: "cluster", section: "5.2.6.18.8" }
|
|
3021
2964
|
}),
|
|
3022
2965
|
Field({
|
|
3023
2966
|
name: "ScheduleRestrictedUser",
|
|
3024
2967
|
id: 8,
|
|
3025
2968
|
conformance: "WDSCH | YDSCH",
|
|
3026
2969
|
description: "The user ID type is schedule restricted",
|
|
3027
|
-
details: "This value shall indicate the user access is restricted by Week Day and/or Year Day schedule.",
|
|
3028
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2970
|
+
details: "This value shall indicate the user access is restricted by Week Day and/or Year Day schedule. When UserType is set to ScheduleRestrictedUser, user access shall be restricted as follows:\n \u2022 If no WeekDaySchedules and no YearDaySchedules are set for the user, then access shall be denied\n \u2022 If one or more WeekDaySchedules are set, but no YearDaySchedules are set for the user, then user access shall be equivalent to the WeekDayScheduleUser UserType\n \u2022 If one or more YearDaySchedules are set, but no WeekDaySchedules are set for the user, then user access shall be equivalent to the YearDayScheduleUser UserType\n \u2022 If one or WeekDaySchedules are set AND one or more YearDaySchedules are set, then user access shall be granted if and only if the current time falls within at least one of the WeekDaySchedules AND the current time falls within at least one of the YearDaySchedules.",
|
|
2971
|
+
xref: { document: "cluster", section: "5.2.6.18.9" }
|
|
3029
2972
|
}),
|
|
3030
2973
|
Field({
|
|
3031
2974
|
name: "RemoteOnlyUser",
|
|
@@ -3033,11 +2976,11 @@ const DoorLock = Cluster(
|
|
|
3033
2976
|
conformance: "USR & COTA & PIN",
|
|
3034
2977
|
description: "The user ID type is remote only",
|
|
3035
2978
|
details: "This value shall indicate the user access and PIN code is restricted to remote lock/unlock commands only. This type of user might be useful for regular delivery services or voice assistant unlocking operations to prevent a PIN code credential created for them from being used at the keypad. The PIN code credential would only be provided over-the-air for the lock/unlock commands.",
|
|
3036
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2979
|
+
xref: { document: "cluster", section: "5.2.6.18.10" }
|
|
3037
2980
|
})
|
|
3038
2981
|
),
|
|
3039
2982
|
Datatype(
|
|
3040
|
-
{ name: "LockStateEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.
|
|
2983
|
+
{ name: "LockStateEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.19" } },
|
|
3041
2984
|
Field({ name: "NotFullyLocked", id: 0, conformance: "M", description: "Lock state is not fully locked" }),
|
|
3042
2985
|
Field({ name: "Locked", id: 1, conformance: "M", description: "Lock state is fully locked" }),
|
|
3043
2986
|
Field({ name: "Unlocked", id: 2, conformance: "M", description: "Lock state is fully unlocked" }),
|
|
@@ -3049,7 +2992,7 @@ const DoorLock = Cluster(
|
|
|
3049
2992
|
})
|
|
3050
2993
|
),
|
|
3051
2994
|
Datatype(
|
|
3052
|
-
{ name: "LockTypeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.
|
|
2995
|
+
{ name: "LockTypeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.20" } },
|
|
3053
2996
|
Field({ name: "DeadBolt", id: 0, conformance: "M", description: "Physical lock type is dead bolt" }),
|
|
3054
2997
|
Field({ name: "Magnetic", id: 1, conformance: "M", description: "Physical lock type is magnetic" }),
|
|
3055
2998
|
Field({ name: "Other", id: 2, conformance: "M", description: "Physical lock type is other" }),
|
|
@@ -3069,7 +3012,7 @@ const DoorLock = Cluster(
|
|
|
3069
3012
|
Field({ name: "Eurocylinder", id: 11, conformance: "M", description: "Physical lock type is euro cylinder" })
|
|
3070
3013
|
),
|
|
3071
3014
|
Datatype(
|
|
3072
|
-
{ name: "LEDSettingEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.
|
|
3015
|
+
{ name: "LEDSettingEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.21" } },
|
|
3073
3016
|
Field({ name: "NoLedSignal", id: 0, conformance: "M", description: "Never use LED for signalization" }),
|
|
3074
3017
|
Field({
|
|
3075
3018
|
name: "NoLedSignalAccessAllowed",
|
|
@@ -3080,91 +3023,24 @@ const DoorLock = Cluster(
|
|
|
3080
3023
|
Field({ name: "LedSignalAll", id: 2, conformance: "M", description: "Use LED signalization for all events" })
|
|
3081
3024
|
),
|
|
3082
3025
|
Datatype(
|
|
3083
|
-
{ name: "SoundVolumeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.
|
|
3026
|
+
{ name: "SoundVolumeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.22" } },
|
|
3084
3027
|
Field({ name: "Silent", id: 0, conformance: "M", description: "Silent Mode" }),
|
|
3085
3028
|
Field({ name: "Low", id: 1, conformance: "M", description: "Low Volume" }),
|
|
3086
3029
|
Field({ name: "High", id: 2, conformance: "M", description: "High Volume" }),
|
|
3087
3030
|
Field({ name: "Medium", id: 3, conformance: "M", description: "Medium Volume" })
|
|
3088
3031
|
),
|
|
3089
3032
|
Datatype(
|
|
3090
|
-
{ name: "EventTypeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.
|
|
3033
|
+
{ name: "EventTypeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.23" } },
|
|
3091
3034
|
Field({ name: "Operation", id: 0, conformance: "M", description: "Event type is operation" }),
|
|
3092
3035
|
Field({ name: "Programming", id: 1, conformance: "M", description: "Event type is programming" }),
|
|
3093
3036
|
Field({ name: "Alarm", id: 2, conformance: "M", description: "Event type is alarm" })
|
|
3094
3037
|
),
|
|
3095
|
-
Datatype(
|
|
3096
|
-
{ name: "EventSourceEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.25" } },
|
|
3097
|
-
Field({ name: "Keypad", id: 0, conformance: "M", description: "Event source is keypad" }),
|
|
3098
|
-
Field({ name: "Remote", id: 1, conformance: "M", description: "Event source is remote" }),
|
|
3099
|
-
Field({ name: "Manual", id: 2, conformance: "M", description: "Event source is manual" }),
|
|
3100
|
-
Field({ name: "Rfid", id: 3, conformance: "M", description: "Event source is RFID" }),
|
|
3101
|
-
Field({ name: "Indeterminate", id: 255, conformance: "M", description: "Event source is unknown" })
|
|
3102
|
-
),
|
|
3103
|
-
Datatype(
|
|
3104
|
-
{ name: "OperationEventCodeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.25.1" } },
|
|
3105
|
-
Field({ name: "UnknownOrMfgSpecific", id: 0, conformance: "O", description: "Event code is unknown" }),
|
|
3106
|
-
Field({ name: "Lock", id: 1, conformance: "O", description: "Event code is lock" }),
|
|
3107
|
-
Field({ name: "Unlock", id: 2, conformance: "O", description: "Event code is unlock" }),
|
|
3108
|
-
Field({
|
|
3109
|
-
name: "LockFailureInvalidPiNorRfid",
|
|
3110
|
-
id: 3,
|
|
3111
|
-
conformance: "O",
|
|
3112
|
-
description: "Event code is lock failure due to invalid PIN or RFID"
|
|
3113
|
-
}),
|
|
3114
|
-
Field({
|
|
3115
|
-
name: "LockFailureInvalidSchedule",
|
|
3116
|
-
id: 4,
|
|
3117
|
-
conformance: "O",
|
|
3118
|
-
description: "Event code is lock failure due to invalid schedule"
|
|
3119
|
-
}),
|
|
3120
|
-
Field({
|
|
3121
|
-
name: "UnlockFailureInvalidPiNorRfid",
|
|
3122
|
-
id: 5,
|
|
3123
|
-
conformance: "O",
|
|
3124
|
-
description: "Event code is unlock failure due to invalid PIN or RFID"
|
|
3125
|
-
}),
|
|
3126
|
-
Field({
|
|
3127
|
-
name: "UnlockFailureInvalidSchedule",
|
|
3128
|
-
id: 6,
|
|
3129
|
-
conformance: "O",
|
|
3130
|
-
description: "Event code is unlock failure due to invalid schedule"
|
|
3131
|
-
}),
|
|
3132
|
-
Field({ name: "OneTouchLock", id: 7, conformance: "O", description: "Event code is one touch lock" }),
|
|
3133
|
-
Field({ name: "KeyLock", id: 8, conformance: "O", description: "Event code is key lock" }),
|
|
3134
|
-
Field({ name: "KeyUnlock", id: 9, conformance: "O", description: "Event code is key unlock" }),
|
|
3135
|
-
Field({ name: "AutoLock", id: 10, conformance: "O", description: "Event code is auto lock" }),
|
|
3136
|
-
Field({ name: "ScheduleLock", id: 11, conformance: "WDSCH | YDSCH", description: "Event code is schedule lock" }),
|
|
3137
|
-
Field({ name: "ScheduleUnlock", id: 12, conformance: "WDSCH | YDSCH", description: "Event code is schedule unlock" }),
|
|
3138
|
-
Field({ name: "ManualLock", id: 13, conformance: "O", description: "Event code is manual lock (Key or Thumbturn)" }),
|
|
3139
|
-
Field({
|
|
3140
|
-
name: "ManualUnlock",
|
|
3141
|
-
id: 14,
|
|
3142
|
-
conformance: "O",
|
|
3143
|
-
description: "Event code is manual unlock (Key or Thumbturn)"
|
|
3144
|
-
}),
|
|
3145
|
-
Field({
|
|
3146
|
-
name: "NonAccessUserOperationEvent",
|
|
3147
|
-
id: 15,
|
|
3148
|
-
conformance: "O",
|
|
3149
|
-
description: "Event code is non access user operation"
|
|
3150
|
-
})
|
|
3151
|
-
),
|
|
3152
|
-
Datatype(
|
|
3153
|
-
{ name: "ProgrammingEventCodeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.25.2" } },
|
|
3154
|
-
Field({ name: "UnknownOrMfgSpecific", id: 0, conformance: "O", description: "Event code is unknown" }),
|
|
3155
|
-
Field({ name: "ProgrammingCodeChanged", id: 1, conformance: "O", description: "Event code is code changed" }),
|
|
3156
|
-
Field({ name: "PinCodeAdded", id: 2, conformance: "O", description: "Event code is PIN added" }),
|
|
3157
|
-
Field({ name: "PinCodeCleared", id: 3, conformance: "O", description: "Event code is PIN cleared" }),
|
|
3158
|
-
Field({ name: "PinCodeChanged", id: 4, conformance: "O", description: "Event code is PIN changed" }),
|
|
3159
|
-
Field({ name: "RfidCodeAdded", id: 5, conformance: "O", description: "Event code is RFID added" }),
|
|
3160
|
-
Field({ name: "RfidCodeCleared", id: 6, conformance: "O", description: "Event code is RFID cleared" })
|
|
3161
|
-
),
|
|
3162
3038
|
Datatype(
|
|
3163
3039
|
{
|
|
3164
3040
|
name: "CredentialStruct",
|
|
3165
3041
|
type: "struct",
|
|
3166
3042
|
details: "This struct shall indicate the credential types and their corresponding indices (if any) for the event or user record.",
|
|
3167
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
3043
|
+
xref: { document: "cluster", section: "5.2.6.24" }
|
|
3168
3044
|
},
|
|
3169
3045
|
Field({
|
|
3170
3046
|
name: "CredentialType",
|
|
@@ -3172,7 +3048,7 @@ const DoorLock = Cluster(
|
|
|
3172
3048
|
type: "CredentialTypeEnum",
|
|
3173
3049
|
conformance: "M",
|
|
3174
3050
|
details: "This field shall indicate the credential field used to authorize the lock operation.",
|
|
3175
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
3051
|
+
xref: { document: "cluster", section: "5.2.6.24.1" }
|
|
3176
3052
|
}),
|
|
3177
3053
|
Field({
|
|
3178
3054
|
name: "CredentialIndex",
|
|
@@ -3181,13 +3057,13 @@ const DoorLock = Cluster(
|
|
|
3181
3057
|
conformance: "M",
|
|
3182
3058
|
default: 0,
|
|
3183
3059
|
details: "This field shall indicate the index of the specific credential used to authorize the lock operation in the list of credentials identified by CredentialType (e.g. PIN, RFID, etc.). This field shall be set to 0 if CredentialType is ProgrammingPIN or does not correspond to a list that can be indexed into.",
|
|
3184
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
3060
|
+
xref: { document: "cluster", section: "5.2.6.24.2" }
|
|
3185
3061
|
})
|
|
3186
3062
|
),
|
|
3187
3063
|
Datatype(
|
|
3188
3064
|
{ name: "StatusCodeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.7.1" } },
|
|
3189
|
-
Field({ name: "Duplicate", id: 2, description: "Entry would cause a duplicate credential/ID." }),
|
|
3190
|
-
Field({ name: "Occupied", id: 3, description: "Entry would replace an occupied slot." })
|
|
3065
|
+
Field({ name: "Duplicate", id: 2, conformance: "M", description: "Entry would cause a duplicate credential/ID." }),
|
|
3066
|
+
Field({ name: "Occupied", id: 3, conformance: "M", description: "Entry would replace an occupied slot." })
|
|
3191
3067
|
)
|
|
3192
3068
|
);
|
|
3193
3069
|
MatterDefinition.children.push(DoorLock);
|