@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
|
@@ -21,11 +21,13 @@ export const DoorLock = Cluster(
|
|
|
21
21
|
name: "DoorLock", id: 0x101, classification: "application", pics: "DRLK",
|
|
22
22
|
details: "The door lock cluster provides an interface to a generic way to secure a door. The physical object " +
|
|
23
23
|
"that provides the locking functionality is abstracted from the cluster. The cluster has a small " +
|
|
24
|
-
"list of mandatory attributes and functions and a list of optional features."
|
|
24
|
+
"list of mandatory attributes and functions and a list of optional features." +
|
|
25
|
+
"\n" +
|
|
26
|
+
"Figure 16. Typical Usage of the Door Lock Cluster",
|
|
25
27
|
xref: { document: "cluster", section: "5.2" }
|
|
26
28
|
},
|
|
27
29
|
|
|
28
|
-
Attribute({ name: "ClusterRevision", id: 0xfffd, type: "ClusterRevision", default:
|
|
30
|
+
Attribute({ name: "ClusterRevision", id: 0xfffd, type: "ClusterRevision", default: 8 }),
|
|
29
31
|
|
|
30
32
|
Attribute(
|
|
31
33
|
{ name: "FeatureMap", id: 0xfffc, type: "FeatureMap", xref: { document: "cluster", section: "5.2.4" } },
|
|
@@ -51,9 +53,7 @@ export const DoorLock = Cluster(
|
|
|
51
53
|
"\n" +
|
|
52
54
|
"A lock may support multiple credential types so if the User feature is supported the UserType, " +
|
|
53
55
|
"UserStatus and Schedules are all associated with a User index and not directly with a RFID index. A " +
|
|
54
|
-
"User"
|
|
55
|
-
"\n" +
|
|
56
|
-
"Index may have several credentials associated with it.",
|
|
56
|
+
"User Index may have several credentials associated with it.",
|
|
57
57
|
|
|
58
58
|
xref: { document: "cluster", section: "5.2.4.2" }
|
|
59
59
|
}),
|
|
@@ -73,31 +73,27 @@ export const DoorLock = Cluster(
|
|
|
73
73
|
xref: { document: "cluster", section: "5.2.4.3" }
|
|
74
74
|
}),
|
|
75
75
|
|
|
76
|
-
Field({
|
|
77
|
-
name: "LOG", conformance: "O", constraint: "3", description: "Logging",
|
|
78
|
-
details: "If Events are not supported the logging feature shall replace the Event reporting structure. If " +
|
|
79
|
-
"Events are supported the logging feature shall NOT be supported.",
|
|
80
|
-
xref: { document: "cluster", section: "5.2.4.4" }
|
|
81
|
-
}),
|
|
82
|
-
|
|
83
76
|
Field({
|
|
84
77
|
name: "WDSCH", conformance: "O", constraint: "4", description: "WeekDayAccessSchedules",
|
|
85
78
|
|
|
86
79
|
details: "If the User feature is supported then Week Day Schedules are applied to a User and not a credential." +
|
|
87
80
|
"\n" +
|
|
88
81
|
"Week Day Schedules are used to restrict access to a specified time window on certain days of the " +
|
|
89
|
-
"week. The schedule is repeated each week.
|
|
90
|
-
"
|
|
91
|
-
"UserType when a schedule is created or cleared."
|
|
82
|
+
"week. The schedule is repeated each week." +
|
|
83
|
+
"\n" +
|
|
84
|
+
"The lock may automatically adjust the UserType when a schedule is created or cleared." +
|
|
85
|
+
"\n" +
|
|
86
|
+
"Support for WeekDayAccessSchedules requires that the lock has the capability of keeping track of " +
|
|
87
|
+
"local time.",
|
|
92
88
|
|
|
93
|
-
xref: { document: "cluster", section: "5.2.4.
|
|
89
|
+
xref: { document: "cluster", section: "5.2.4.4" }
|
|
94
90
|
}),
|
|
95
91
|
|
|
96
92
|
Field({
|
|
97
93
|
name: "DPS", conformance: "O", constraint: "5", description: "DoorPositionSensor",
|
|
98
94
|
details: "If this feature is supported this indicates that the lock has the ability to determine the position " +
|
|
99
95
|
"of the door which is separate from the state of the lock.",
|
|
100
|
-
xref: { document: "cluster", section: "5.2.4.
|
|
96
|
+
xref: { document: "cluster", section: "5.2.4.5" }
|
|
101
97
|
}),
|
|
102
98
|
|
|
103
99
|
Field({
|
|
@@ -112,48 +108,49 @@ export const DoorLock = Cluster(
|
|
|
112
108
|
"A lock may support multiple credential types so if the User feature is supported the UserType, " +
|
|
113
109
|
"UserStatus and Schedules are all associated with a User and not directly with a credential.",
|
|
114
110
|
|
|
115
|
-
xref: { document: "cluster", section: "5.2.4.
|
|
111
|
+
xref: { document: "cluster", section: "5.2.4.6" }
|
|
116
112
|
}),
|
|
117
113
|
|
|
118
114
|
Field({
|
|
119
115
|
name: "COTA", conformance: "O", constraint: "7", description: "CredentialOverTheAirAccess",
|
|
120
|
-
details: "If this feature is supported then the lock supports the ability to verify a credential provided in " +
|
|
121
|
-
"
|
|
116
|
+
details: "If this feature is supported then the lock supports the ability to verify a credential provided in a" +
|
|
117
|
+
"\n" +
|
|
118
|
+
"lock/unlock command. Currently the cluster only supports providing the PIN credential to the " +
|
|
122
119
|
"lock/unlock commands. If this feature is supported then the PIN Credential feature shall also be " +
|
|
123
120
|
"supported.",
|
|
124
|
-
xref: { document: "cluster", section: "5.2.4.
|
|
121
|
+
xref: { document: "cluster", section: "5.2.4.7" }
|
|
125
122
|
}),
|
|
126
123
|
|
|
127
124
|
Field({
|
|
128
|
-
name: "USR", conformance: "[PIN | RID | FGP | FACE]", constraint: "8", description: "User",
|
|
125
|
+
name: "USR", conformance: "ALIRO, [PIN | RID | FGP | FACE]", constraint: "8", description: "User",
|
|
129
126
|
details: "If the User Feature is supported then a lock employs a User database. A User within the User " +
|
|
130
127
|
"database is used to associate credentials and schedules to single user record within the lock. This " +
|
|
131
128
|
"also means the UserType and UserStatus fields are associated with a User and not a credential.",
|
|
132
|
-
xref: { document: "cluster", section: "5.2.4.
|
|
133
|
-
}),
|
|
134
|
-
|
|
135
|
-
Field({
|
|
136
|
-
name: "NOT", conformance: "O", constraint: "9", description: "Notification",
|
|
137
|
-
details: "This is a feature used before support of events. This feature supports notification commands and " +
|
|
138
|
-
"masks used to filter these notifications.",
|
|
139
|
-
xref: { document: "cluster", section: "5.2.4.10" }
|
|
129
|
+
xref: { document: "cluster", section: "5.2.4.8" }
|
|
140
130
|
}),
|
|
141
131
|
|
|
142
132
|
Field({
|
|
143
133
|
name: "YDSCH", conformance: "O", constraint: "10", description: "YearDayAccessSchedules",
|
|
144
|
-
|
|
134
|
+
|
|
135
|
+
details: "If the User feature is supported then Year Day Schedules are applied to a User and not a " +
|
|
136
|
+
"credential. Year Day Schedules are used to restrict access to a specified date and time window." +
|
|
145
137
|
"\n" +
|
|
146
|
-
"
|
|
147
|
-
"
|
|
148
|
-
"
|
|
149
|
-
|
|
138
|
+
"The lock may automatically adjust the UserType when a schedule is created or cleared." +
|
|
139
|
+
"\n" +
|
|
140
|
+
"Support for YearDayAccessSchedules requires that the lock has the capability of keeping track of " +
|
|
141
|
+
"local time.",
|
|
142
|
+
|
|
143
|
+
xref: { document: "cluster", section: "5.2.4.9" }
|
|
150
144
|
}),
|
|
151
145
|
|
|
152
146
|
Field({
|
|
153
147
|
name: "HDSCH", conformance: "O", constraint: "11", description: "HolidaySchedules",
|
|
154
148
|
details: "This feature is used to setup Holiday Schedule in the lock device. A Holiday Schedule sets a start " +
|
|
155
|
-
"and stop end date/time for the lock to use the specified operating mode set by the Holiday Schedule."
|
|
156
|
-
|
|
149
|
+
"and stop end date/time for the lock to use the specified operating mode set by the Holiday Schedule." +
|
|
150
|
+
"\n" +
|
|
151
|
+
"Support for HolidaySchedules requires that the lock has the capability of keeping track of local " +
|
|
152
|
+
"time.",
|
|
153
|
+
xref: { document: "cluster", section: "5.2.4.10" }
|
|
157
154
|
}),
|
|
158
155
|
|
|
159
156
|
Field({
|
|
@@ -163,13 +160,27 @@ export const DoorLock = Cluster(
|
|
|
163
160
|
"by retracting the bolt and briefly pulling the latch. While the latch is pulled, the lock state " +
|
|
164
161
|
"changes to Unlatched. Locks without unbolting support don’t differentiate between unbolting and " +
|
|
165
162
|
"unlocking and perform the same operation for both commands.",
|
|
163
|
+
xref: { document: "cluster", section: "5.2.4.11" }
|
|
164
|
+
}),
|
|
165
|
+
|
|
166
|
+
Field({
|
|
167
|
+
name: "ALIRO", conformance: "O", constraint: "13", description: "AliroProvisioning",
|
|
168
|
+
details: "Locks that support this feature implement the Aliro specification as defined in [Aliro] and support " +
|
|
169
|
+
"Matter as a method for provisioning Aliro credentials.",
|
|
170
|
+
xref: { document: "cluster", section: "5.2.4.12" }
|
|
171
|
+
}),
|
|
172
|
+
|
|
173
|
+
Field({
|
|
174
|
+
name: "ALBU", conformance: "[ALIRO]", constraint: "14", description: "AliroBleuwb",
|
|
175
|
+
details: "Locks that support this feature implement the Bluetooth LE + UWB Access Control Flow as defined in " +
|
|
176
|
+
"[Aliro].",
|
|
166
177
|
xref: { document: "cluster", section: "5.2.4.13" }
|
|
167
178
|
})
|
|
168
179
|
),
|
|
169
180
|
|
|
170
181
|
Attribute({
|
|
171
182
|
name: "LockState", id: 0x0, type: "LockStateEnum", access: "R V", conformance: "M",
|
|
172
|
-
constraint: "desc", quality: "X
|
|
183
|
+
constraint: "desc", quality: "X P",
|
|
173
184
|
|
|
174
185
|
details: "This attribute may be NULL if the lock hardware does not currently know the status of the locking " +
|
|
175
186
|
"mechanism. For example, a lock may not know the LockState status after a power cycle until the " +
|
|
@@ -179,21 +190,21 @@ export const DoorLock = Cluster(
|
|
|
179
190
|
"between Locked and Unlocked so it is only partially secured. For example, a deadbolt could be " +
|
|
180
191
|
"partially extended and not in a dead latched state.",
|
|
181
192
|
|
|
182
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
193
|
+
xref: { document: "cluster", section: "5.2.9.1" }
|
|
183
194
|
}),
|
|
184
195
|
|
|
185
196
|
Attribute({
|
|
186
197
|
name: "LockType", id: 0x1, type: "LockTypeEnum", access: "R V", conformance: "M",
|
|
187
198
|
constraint: "desc",
|
|
188
199
|
details: "Indicates the type of door lock as defined in LockTypeEnum.",
|
|
189
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
200
|
+
xref: { document: "cluster", section: "5.2.9.2" }
|
|
190
201
|
}),
|
|
191
202
|
|
|
192
203
|
Attribute({
|
|
193
204
|
name: "ActuatorEnabled", id: 0x2, type: "bool", access: "R V", conformance: "M",
|
|
194
205
|
details: "Indicates if the lock is currently able to (Enabled) or not able to (Disabled) process remote Lock, " +
|
|
195
206
|
"Unlock, or Unlock with Timeout commands.",
|
|
196
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
207
|
+
xref: { document: "cluster", section: "5.2.9.3" }
|
|
197
208
|
}),
|
|
198
209
|
|
|
199
210
|
Attribute({
|
|
@@ -202,88 +213,81 @@ export const DoorLock = Cluster(
|
|
|
202
213
|
details: "Indicates the current door state as defined in DoorStateEnum." +
|
|
203
214
|
"\n" +
|
|
204
215
|
"Null only if an internal error prevents the retrieval of the current door state.",
|
|
205
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
216
|
+
xref: { document: "cluster", section: "5.2.9.4" }
|
|
206
217
|
}),
|
|
207
218
|
|
|
208
219
|
Attribute({
|
|
209
220
|
name: "DoorOpenEvents", id: 0x4, type: "uint32", access: "RW VM", conformance: "[DPS]",
|
|
210
221
|
details: "This attribute shall hold the number of door open events that have occurred since it was last " +
|
|
211
222
|
"zeroed.",
|
|
212
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
223
|
+
xref: { document: "cluster", section: "5.2.9.5" }
|
|
213
224
|
}),
|
|
214
225
|
|
|
215
226
|
Attribute({
|
|
216
227
|
name: "DoorClosedEvents", id: 0x5, type: "uint32", access: "RW VM", conformance: "[DPS]",
|
|
217
228
|
details: "This attribute shall hold the number of door closed events that have occurred since it was last " +
|
|
218
229
|
"zeroed.",
|
|
219
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
230
|
+
xref: { document: "cluster", section: "5.2.9.6" }
|
|
220
231
|
}),
|
|
221
232
|
|
|
222
233
|
Attribute({
|
|
223
234
|
name: "OpenPeriod", id: 0x6, type: "uint16", access: "RW VM", conformance: "[DPS]",
|
|
224
235
|
details: "This attribute shall hold the number of minutes the door has been open since the last time it " +
|
|
225
236
|
"transitioned from closed to open.",
|
|
226
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
227
|
-
}),
|
|
228
|
-
|
|
229
|
-
Attribute({
|
|
230
|
-
name: "NumberOfLogRecordsSupported", id: 0x10, type: "uint16", access: "R V", conformance: "LOG",
|
|
231
|
-
default: 0, quality: "F",
|
|
232
|
-
details: "Indicates the number of available log records.",
|
|
233
|
-
xref: { document: "cluster", section: "5.2.9.9" }
|
|
237
|
+
xref: { document: "cluster", section: "5.2.9.7" }
|
|
234
238
|
}),
|
|
235
239
|
|
|
236
240
|
Attribute({
|
|
237
241
|
name: "NumberOfTotalUsersSupported", id: 0x11, type: "uint16", access: "R V", conformance: "USR",
|
|
238
242
|
default: 0, quality: "F",
|
|
239
243
|
details: "Indicates the number of total users supported by the lock.",
|
|
240
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
244
|
+
xref: { document: "cluster", section: "5.2.9.8" }
|
|
241
245
|
}),
|
|
242
246
|
|
|
243
247
|
Attribute({
|
|
244
248
|
name: "NumberOfPinUsersSupported", id: 0x12, type: "uint16", access: "R V", conformance: "PIN",
|
|
245
249
|
default: 0, quality: "F",
|
|
246
250
|
details: "Indicates the number of PIN users supported.",
|
|
247
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
251
|
+
xref: { document: "cluster", section: "5.2.9.9" }
|
|
248
252
|
}),
|
|
249
253
|
|
|
250
254
|
Attribute({
|
|
251
255
|
name: "NumberOfRfidUsersSupported", id: 0x13, type: "uint16", access: "R V", conformance: "RID",
|
|
252
256
|
default: 0, quality: "F",
|
|
253
257
|
details: "Indicates the number of RFID users supported.",
|
|
254
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
258
|
+
xref: { document: "cluster", section: "5.2.9.10" }
|
|
255
259
|
}),
|
|
256
260
|
|
|
257
261
|
Attribute({
|
|
258
262
|
name: "NumberOfWeekDaySchedulesSupportedPerUser", id: 0x14, type: "uint8", access: "R V",
|
|
259
|
-
conformance: "WDSCH", default: 0, quality: "F",
|
|
263
|
+
conformance: "WDSCH", constraint: "max 253", default: 0, quality: "F",
|
|
260
264
|
details: "Indicates the number of configurable week day schedule supported per user.",
|
|
261
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
265
|
+
xref: { document: "cluster", section: "5.2.9.11" }
|
|
262
266
|
}),
|
|
263
267
|
|
|
264
268
|
Attribute({
|
|
265
269
|
name: "NumberOfYearDaySchedulesSupportedPerUser", id: 0x15, type: "uint8", access: "R V",
|
|
266
|
-
conformance: "YDSCH", default: 0, quality: "F",
|
|
270
|
+
conformance: "YDSCH", constraint: "max 253", default: 0, quality: "F",
|
|
267
271
|
details: "Indicates the number of configurable year day schedule supported per user.",
|
|
268
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
272
|
+
xref: { document: "cluster", section: "5.2.9.12" }
|
|
269
273
|
}),
|
|
270
274
|
|
|
271
275
|
Attribute({
|
|
272
276
|
name: "NumberOfHolidaySchedulesSupported", id: 0x16, type: "uint8", access: "R V",
|
|
273
|
-
conformance: "HDSCH", default: 0, quality: "F",
|
|
277
|
+
conformance: "HDSCH", constraint: "max 253", default: 0, quality: "F",
|
|
274
278
|
details: "Indicates the number of holiday schedules supported for the entire door lock device.",
|
|
275
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
279
|
+
xref: { document: "cluster", section: "5.2.9.13" }
|
|
276
280
|
}),
|
|
277
281
|
|
|
278
282
|
Attribute({
|
|
279
283
|
name: "MaxPinCodeLength", id: 0x17, type: "uint8", access: "R V", conformance: "PIN", quality: "F",
|
|
280
284
|
details: "Indicates the maximum length in bytes of a PIN Code on this device.",
|
|
281
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
285
|
+
xref: { document: "cluster", section: "5.2.9.14" }
|
|
282
286
|
}),
|
|
283
287
|
Attribute({
|
|
284
288
|
name: "MinPinCodeLength", id: 0x18, type: "uint8", access: "R V", conformance: "PIN", quality: "F",
|
|
285
289
|
details: "Indicates the minimum length in bytes of a PIN Code on this device.",
|
|
286
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
290
|
+
xref: { document: "cluster", section: "5.2.9.15" }
|
|
287
291
|
}),
|
|
288
292
|
|
|
289
293
|
Attribute({
|
|
@@ -291,7 +295,7 @@ export const DoorLock = Cluster(
|
|
|
291
295
|
details: "Indicates the maximum length in bytes of a RFID Code on this device. The value depends on the RFID " +
|
|
292
296
|
"code range specified by the manufacturer, if media anti-collision identifiers (UID) are used as " +
|
|
293
297
|
"RFID code, a value of 20 (equals 10 Byte ISO 14443A UID) is recommended.",
|
|
294
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
298
|
+
xref: { document: "cluster", section: "5.2.9.16" }
|
|
295
299
|
}),
|
|
296
300
|
|
|
297
301
|
Attribute({
|
|
@@ -299,7 +303,7 @@ export const DoorLock = Cluster(
|
|
|
299
303
|
details: "Indicates the minimum length in bytes of a RFID Code on this device. The value depends on the RFID " +
|
|
300
304
|
"code range specified by the manufacturer, if media anti-collision identifiers (UID) are used as " +
|
|
301
305
|
"RFID code, a value of 8 (equals 4 Byte ISO 14443A UID) is recommended.",
|
|
302
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
306
|
+
xref: { document: "cluster", section: "5.2.9.17" }
|
|
303
307
|
}),
|
|
304
308
|
|
|
305
309
|
Attribute({
|
|
@@ -307,7 +311,7 @@ export const DoorLock = Cluster(
|
|
|
307
311
|
conformance: "USR", default: 1, quality: "F",
|
|
308
312
|
details: "This attribute shall contain a bitmap with the bits set for the values of CredentialRuleEnum " +
|
|
309
313
|
"supported on this device.",
|
|
310
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
314
|
+
xref: { document: "cluster", section: "5.2.9.18" }
|
|
311
315
|
}),
|
|
312
316
|
|
|
313
317
|
Attribute({
|
|
@@ -324,21 +328,7 @@ export const DoorLock = Cluster(
|
|
|
324
328
|
"NumberOfRFIDUsersSupported is set to 3, it will not be possible to actually assign 10 credentials " +
|
|
325
329
|
"for a user because maximum number of credentials in the database is 8.",
|
|
326
330
|
|
|
327
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
328
|
-
}),
|
|
329
|
-
|
|
330
|
-
Attribute({
|
|
331
|
-
name: "EnableLogging", id: 0x20, type: "bool", access: "R[W] VA", conformance: "LOG", default: true,
|
|
332
|
-
quality: "P",
|
|
333
|
-
|
|
334
|
-
details: "This attribute shall enable/disable event logging." +
|
|
335
|
-
"\n" +
|
|
336
|
-
"When event logging is enabled, all event messages are stored on the lock for retrieval. Logging " +
|
|
337
|
-
"events can be, but are not limited to, Tamper Alarm, Lock, Unlock, AutoRelock, User Code Added, " +
|
|
338
|
-
"User Code Cleared, Schedule Added, and Schedule Cleared. For a full detail of all the possible " +
|
|
339
|
-
"alarms and events, please refer to the full list in the Alarm and Event Masks Attribute Set.",
|
|
340
|
-
|
|
341
|
-
xref: { document: "cluster", section: "5.2.9.22" }
|
|
331
|
+
xref: { document: "cluster", section: "5.2.9.19" }
|
|
342
332
|
}),
|
|
343
333
|
|
|
344
334
|
Attribute({
|
|
@@ -346,14 +336,14 @@ export const DoorLock = Cluster(
|
|
|
346
336
|
constraint: "max 3", quality: "P",
|
|
347
337
|
details: "Indicates the language for the on-screen or audible user interface using a 2- byte language code " +
|
|
348
338
|
"from ISO-639-1.",
|
|
349
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
339
|
+
xref: { document: "cluster", section: "5.2.9.20" }
|
|
350
340
|
}),
|
|
351
341
|
|
|
352
342
|
Attribute({
|
|
353
343
|
name: "LedSettings", id: 0x22, type: "LEDSettingEnum", access: "R[W] VM", conformance: "O",
|
|
354
344
|
default: 0, quality: "P",
|
|
355
345
|
details: "Indicates the settings for the LED support, as defined by LEDSettingEnum.",
|
|
356
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
346
|
+
xref: { document: "cluster", section: "5.2.9.21" }
|
|
357
347
|
}),
|
|
358
348
|
|
|
359
349
|
Attribute({
|
|
@@ -361,21 +351,21 @@ export const DoorLock = Cluster(
|
|
|
361
351
|
details: "Indicates the number of seconds to wait after unlocking a lock before it automatically locks again. " +
|
|
362
352
|
"0=disabled. If set, unlock operations from any source will be timed. For one time unlock with " +
|
|
363
353
|
"timeout use the specific command.",
|
|
364
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
354
|
+
xref: { document: "cluster", section: "5.2.9.22" }
|
|
365
355
|
}),
|
|
366
356
|
|
|
367
357
|
Attribute({
|
|
368
358
|
name: "SoundVolume", id: 0x24, type: "SoundVolumeEnum", access: "R[W] VM", conformance: "O",
|
|
369
359
|
default: 0, quality: "P",
|
|
370
360
|
details: "Indicates the sound volume on a door lock as defined by SoundVolumeEnum.",
|
|
371
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
361
|
+
xref: { document: "cluster", section: "5.2.9.23" }
|
|
372
362
|
}),
|
|
373
363
|
|
|
374
364
|
Attribute({
|
|
375
365
|
name: "OperatingMode", id: 0x25, type: "OperatingModeEnum", access: "R[W] VM", conformance: "M",
|
|
376
366
|
constraint: "desc", default: 0, quality: "P",
|
|
377
367
|
details: "Indicates the current operating mode of the lock as defined in OperatingModeEnum.",
|
|
378
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
368
|
+
xref: { document: "cluster", section: "5.2.9.24" }
|
|
379
369
|
}),
|
|
380
370
|
|
|
381
371
|
Attribute({
|
|
@@ -384,7 +374,7 @@ export const DoorLock = Cluster(
|
|
|
384
374
|
details: "This attribute shall contain a bitmap with all operating bits of the OperatingMode attribute " +
|
|
385
375
|
"supported by the lock. All operating modes NOT supported by a lock shall be set to one. The value " +
|
|
386
376
|
"of the OperatingMode enumeration defines the related bit to be set.",
|
|
387
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
377
|
+
xref: { document: "cluster", section: "5.2.9.25" }
|
|
388
378
|
}),
|
|
389
379
|
|
|
390
380
|
Attribute({
|
|
@@ -392,8 +382,10 @@ export const DoorLock = Cluster(
|
|
|
392
382
|
conformance: "O", default: 0, quality: "P",
|
|
393
383
|
|
|
394
384
|
details: "Indicates the default configurations as they are physically set on the device (example: hardware " +
|
|
395
|
-
"dip switch setting, etc…) and represents the default setting for some of the
|
|
396
|
-
"
|
|
385
|
+
"dip switch setting, etc…) and represents the default setting for some of the" +
|
|
386
|
+
"\n" +
|
|
387
|
+
"attributes within this cluster (for example: LED, Auto Lock, Sound Volume, and Operating Mode " +
|
|
388
|
+
"attributes)." +
|
|
397
389
|
"\n" +
|
|
398
390
|
"This is a read-only attribute and is intended to allow clients to determine what changes may need " +
|
|
399
391
|
"to be made without having to query all the included attributes. It may be beneficial for the " +
|
|
@@ -407,7 +399,7 @@ export const DoorLock = Cluster(
|
|
|
407
399
|
"the current Sound Volume is High Volume. Therefore, if the client wants to query/modify the current " +
|
|
408
400
|
"Sound Volume setting on the server, the client SHOULD read/write to the Sound Volume attribute.",
|
|
409
401
|
|
|
410
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
402
|
+
xref: { document: "cluster", section: "5.2.9.26" }
|
|
411
403
|
}),
|
|
412
404
|
|
|
413
405
|
Attribute({
|
|
@@ -418,7 +410,7 @@ export const DoorLock = Cluster(
|
|
|
418
410
|
"on the door lock for all features. If it is set to FALSE then local programming is disabled on the " +
|
|
419
411
|
"door lock for those features whose bit is set to 0 in the LocalProgrammingFeatures attribute. Local " +
|
|
420
412
|
"programming shall be enabled by default.",
|
|
421
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
413
|
+
xref: { document: "cluster", section: "5.2.9.27" }
|
|
422
414
|
}),
|
|
423
415
|
|
|
424
416
|
Attribute({
|
|
@@ -426,7 +418,7 @@ export const DoorLock = Cluster(
|
|
|
426
418
|
default: true, quality: "P",
|
|
427
419
|
details: "This attribute shall enable/disable the ability to lock the door lock with a single touch on the " +
|
|
428
420
|
"door lock.",
|
|
429
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
421
|
+
xref: { document: "cluster", section: "5.2.9.28" }
|
|
430
422
|
}),
|
|
431
423
|
|
|
432
424
|
Attribute({
|
|
@@ -434,7 +426,7 @@ export const DoorLock = Cluster(
|
|
|
434
426
|
default: true, quality: "P",
|
|
435
427
|
details: "This attribute shall enable/disable an inside LED that allows the user to see at a glance if the " +
|
|
436
428
|
"door is locked.",
|
|
437
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
429
|
+
xref: { document: "cluster", section: "5.2.9.29" }
|
|
438
430
|
}),
|
|
439
431
|
|
|
440
432
|
Attribute({
|
|
@@ -442,7 +434,7 @@ export const DoorLock = Cluster(
|
|
|
442
434
|
default: true, quality: "P",
|
|
443
435
|
details: "This attribute shall enable/disable a button inside the door that is used to put the lock into " +
|
|
444
436
|
"privacy mode. When the lock is in privacy mode it cannot be manipulated from the outside.",
|
|
445
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
437
|
+
xref: { document: "cluster", section: "5.2.9.30" }
|
|
446
438
|
}),
|
|
447
439
|
|
|
448
440
|
Attribute({
|
|
@@ -458,7 +450,7 @@ export const DoorLock = Cluster(
|
|
|
458
450
|
"The features that can be disabled from local programming are defined in " +
|
|
459
451
|
"LocalProgrammingFeaturesBitmap.",
|
|
460
452
|
|
|
461
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
453
|
+
xref: { document: "cluster", section: "5.2.9.31" }
|
|
462
454
|
}),
|
|
463
455
|
|
|
464
456
|
Attribute({
|
|
@@ -476,7 +468,7 @@ export const DoorLock = Cluster(
|
|
|
476
468
|
"internal logic, environmental events, or other reasons. The lock shall reset the counter if a valid " +
|
|
477
469
|
"credential is presented.",
|
|
478
470
|
|
|
479
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
471
|
+
xref: { document: "cluster", section: "5.2.9.32" }
|
|
480
472
|
}),
|
|
481
473
|
|
|
482
474
|
Attribute({
|
|
@@ -486,7 +478,7 @@ export const DoorLock = Cluster(
|
|
|
486
478
|
"1-255 seconds. Device can shut down to lock user out for specified amount of time. (Makes it " +
|
|
487
479
|
"difficult to try and guess a PIN for the device.) If the attribute accepts writes and an attempt to " +
|
|
488
480
|
"write the attribute to 0 is made, the device shall respond with CONSTRAINT_ERROR.",
|
|
489
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
481
|
+
xref: { document: "cluster", section: "5.2.9.33" }
|
|
490
482
|
}),
|
|
491
483
|
|
|
492
484
|
Attribute({
|
|
@@ -498,12 +490,13 @@ export const DoorLock = Cluster(
|
|
|
498
490
|
"server’s TX operation. If it is false, then it is not ok for the device to send PIN in any messages " +
|
|
499
491
|
"over the air." +
|
|
500
492
|
"\n" +
|
|
501
|
-
"The PIN field within any door lock cluster message shall keep the first octet unchanged and
|
|
502
|
-
"
|
|
503
|
-
"
|
|
504
|
-
"
|
|
493
|
+
"The PIN field within any door lock cluster message shall keep the first octet unchanged and" +
|
|
494
|
+
"\n" +
|
|
495
|
+
"masks the actual code by replacing with 0xFF. For example (PIN \"1234\" ): If the attribute value is " +
|
|
496
|
+
"True, 0x04 0x31 0x32 0x33 0x34 shall be used in the PIN field in any door lock cluster message " +
|
|
497
|
+
"payload. If the attribute value is False, 0x04 0xFF 0xFF 0xFF 0xFF shall be used.",
|
|
505
498
|
|
|
506
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
499
|
+
xref: { document: "cluster", section: "5.2.9.34" }
|
|
507
500
|
}),
|
|
508
501
|
|
|
509
502
|
Attribute({
|
|
@@ -512,11 +505,11 @@ export const DoorLock = Cluster(
|
|
|
512
505
|
details: "Indicates if the door lock requires an optional PIN. If this attribute is set to True, the door " +
|
|
513
506
|
"lock server requires that an optional PINs be included in the payload of remote lock operation " +
|
|
514
507
|
"events like Lock, Unlock, Unlock with Timeout and Toggle in order to function.",
|
|
515
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
508
|
+
xref: { document: "cluster", section: "5.2.9.35" }
|
|
516
509
|
}),
|
|
517
510
|
|
|
518
511
|
Attribute({
|
|
519
|
-
name: "SecurityLevel", id: 0x34, conformance: "D", default: "0",
|
|
512
|
+
name: "SecurityLevel", id: 0x34, access: "R V", conformance: "D", default: "0",
|
|
520
513
|
xref: { document: "cluster", section: "5.2.9" }
|
|
521
514
|
}),
|
|
522
515
|
|
|
@@ -527,7 +520,7 @@ export const DoorLock = Cluster(
|
|
|
527
520
|
"user of type ExpiringUser shall remain valid after its first use before expiring. When the " +
|
|
528
521
|
"credential expires the UserStatus for the corresponding user record shall be set to " +
|
|
529
522
|
"OccupiedDisabled.",
|
|
530
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
523
|
+
xref: { document: "cluster", section: "5.2.9.36" }
|
|
531
524
|
}),
|
|
532
525
|
|
|
533
526
|
Attribute({
|
|
@@ -541,109 +534,100 @@ export const DoorLock = Cluster(
|
|
|
541
534
|
"\n" +
|
|
542
535
|
"This mask DOES NOT apply to the Events mechanism of this cluster.",
|
|
543
536
|
|
|
544
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
545
|
-
}),
|
|
546
|
-
|
|
547
|
-
Attribute({
|
|
548
|
-
name: "KeypadOperationEventMask", id: 0x41, type: "EventMaskBitmap", access: "RW VA",
|
|
549
|
-
conformance: "[NOT & PIN]", default: 65535, quality: "P",
|
|
550
|
-
details: "Event mask used to turn on and off the transmission of keypad operation events. This mask DOES NOT " +
|
|
551
|
-
"apply to the storing of events in the event log. This mask only applies to the Operation Event " +
|
|
552
|
-
"Notification Command." +
|
|
553
|
-
"\n" +
|
|
554
|
-
"This mask DOES NOT apply to the Events mechanism of this cluster.",
|
|
555
|
-
xref: { document: "cluster", section: "5.2.9.41" }
|
|
537
|
+
xref: { document: "cluster", section: "5.2.9.37" }
|
|
556
538
|
}),
|
|
557
539
|
|
|
558
540
|
Attribute({
|
|
559
|
-
name: "
|
|
560
|
-
|
|
561
|
-
details: "
|
|
562
|
-
"
|
|
563
|
-
"
|
|
541
|
+
name: "AliroReaderVerificationKey", id: 0x80, type: "octstr", access: "R A", conformance: "ALIRO",
|
|
542
|
+
constraint: "65", default: null, quality: "X",
|
|
543
|
+
details: "Indicates the verification key component of the Reader’s key pair as defined in [Aliro]. The value, " +
|
|
544
|
+
"if not null, shall be an uncompressed elliptic curve public key as defined in section 2.3.3 of SEC " +
|
|
545
|
+
"1." +
|
|
564
546
|
"\n" +
|
|
565
|
-
"
|
|
566
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
547
|
+
"Null if no Reader key pair has been configured on the lock. See SetAliroReaderConfig.",
|
|
548
|
+
xref: { document: "cluster", section: "5.2.9.38" }
|
|
567
549
|
}),
|
|
568
550
|
|
|
569
551
|
Attribute({
|
|
570
|
-
name: "
|
|
571
|
-
|
|
572
|
-
details: "
|
|
573
|
-
"of events in the event log. This mask only applies to the Operation Event Notification Command." +
|
|
552
|
+
name: "AliroReaderGroupIdentifier", id: 0x81, type: "octstr", access: "R A", conformance: "ALIRO",
|
|
553
|
+
constraint: "16", default: null, quality: "X",
|
|
554
|
+
details: "Indicates the reader_group_identifier as defined in [Aliro]." +
|
|
574
555
|
"\n" +
|
|
575
|
-
"
|
|
576
|
-
xref: { document: "cluster", section: "5.2.9.
|
|
556
|
+
"Null if no reader_group_identifier has been configured on the lock. See SetAliroReaderConfig.",
|
|
557
|
+
xref: { document: "cluster", section: "5.2.9.39" }
|
|
577
558
|
}),
|
|
578
559
|
|
|
579
560
|
Attribute({
|
|
580
|
-
name: "
|
|
581
|
-
conformance: "
|
|
582
|
-
details: "
|
|
583
|
-
|
|
584
|
-
"\n" +
|
|
585
|
-
"This mask DOES NOT apply to the Events mechanism of this cluster.",
|
|
586
|
-
xref: { document: "cluster", section: "5.2.9.44" }
|
|
561
|
+
name: "AliroReaderGroupSubIdentifier", id: 0x82, type: "octstr", access: "R A",
|
|
562
|
+
conformance: "ALIRO", constraint: "16", quality: "F",
|
|
563
|
+
details: "Indicates the reader_group_sub_identifier as defined in [Aliro].",
|
|
564
|
+
xref: { document: "cluster", section: "5.2.9.40" }
|
|
587
565
|
}),
|
|
588
566
|
|
|
589
567
|
Attribute(
|
|
590
568
|
{
|
|
591
|
-
name: "
|
|
592
|
-
conformance: "
|
|
593
|
-
details: "
|
|
594
|
-
|
|
595
|
-
"Command." +
|
|
596
|
-
"\n" +
|
|
597
|
-
"This mask DOES NOT apply to the Events mechanism of this cluster.",
|
|
598
|
-
xref: { document: "cluster", section: "5.2.9.45" }
|
|
569
|
+
name: "AliroExpeditedTransactionSupportedProtocolVersions", id: 0x83, type: "list", access: "R A",
|
|
570
|
+
conformance: "ALIRO", constraint: "max 16[2]", default: [], quality: "F",
|
|
571
|
+
details: "Indicates the list of protocol versions supported for expedited transactions as defined in [Aliro].",
|
|
572
|
+
xref: { document: "cluster", section: "5.2.9.41" }
|
|
599
573
|
},
|
|
600
574
|
|
|
601
|
-
Field({ name: "
|
|
602
|
-
Field({ name: "PinCodeChanged", constraint: "1" }),
|
|
603
|
-
Field({ name: "PinAdded", constraint: "2" }),
|
|
604
|
-
Field({ name: "PinCleared", constraint: "3" }),
|
|
605
|
-
Field({ name: "PinChanged", constraint: "4" })
|
|
575
|
+
Field({ name: "entry", type: "octstr" })
|
|
606
576
|
),
|
|
607
577
|
|
|
578
|
+
Attribute({
|
|
579
|
+
name: "AliroGroupResolvingKey", id: 0x84, type: "octstr", access: "R A", conformance: "ALBU",
|
|
580
|
+
constraint: "16", default: null, quality: "X",
|
|
581
|
+
details: "Indicates the Group Resolving Key as defined in [Aliro]." +
|
|
582
|
+
"\n" +
|
|
583
|
+
"Null if no group resolving key has been configured on the lock. See SetAliroReaderConfig.",
|
|
584
|
+
xref: { document: "cluster", section: "5.2.9.42" }
|
|
585
|
+
}),
|
|
586
|
+
|
|
608
587
|
Attribute(
|
|
609
588
|
{
|
|
610
|
-
name: "
|
|
611
|
-
conformance: "[
|
|
612
|
-
details: "
|
|
613
|
-
"
|
|
614
|
-
|
|
615
|
-
"\n" +
|
|
616
|
-
"This mask DOES NOT apply to the Events mechanism of this cluster.",
|
|
617
|
-
xref: { document: "cluster", section: "5.2.9.46" }
|
|
589
|
+
name: "AliroSupportedBleuwbProtocolVersions", id: 0x85, type: "list", access: "R A",
|
|
590
|
+
conformance: "ALBU", constraint: "max 16[2]", default: [], quality: "F",
|
|
591
|
+
details: "Indicates the list of protocol versions supported for the Bluetooth LE + UWB Access Control Flow as " +
|
|
592
|
+
"defined in [Aliro].",
|
|
593
|
+
xref: { document: "cluster", section: "5.2.9.43" }
|
|
618
594
|
},
|
|
619
595
|
|
|
620
|
-
Field({ name: "
|
|
621
|
-
Field({ name: "PinAdded", constraint: "2" }),
|
|
622
|
-
Field({ name: "PinCleared", constraint: "3" }),
|
|
623
|
-
Field({ name: "PinChanged", constraint: "4" }),
|
|
624
|
-
Field({ name: "RfidCodeAdded", constraint: "5" }),
|
|
625
|
-
Field({ name: "RfidCodeCleared", constraint: "6" })
|
|
596
|
+
Field({ name: "entry", type: "octstr" })
|
|
626
597
|
),
|
|
627
598
|
|
|
628
|
-
Attribute(
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
599
|
+
Attribute({
|
|
600
|
+
name: "AliroBleAdvertisingVersion", id: 0x86, type: "uint8", access: "R A", conformance: "ALBU",
|
|
601
|
+
default: 0, quality: "F",
|
|
602
|
+
details: "Indicates the version of the Bluetooth LE advertisement as defined in [Aliro].",
|
|
603
|
+
xref: { document: "cluster", section: "5.2.9.44" }
|
|
604
|
+
}),
|
|
632
605
|
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
606
|
+
Attribute({
|
|
607
|
+
name: "NumberOfAliroCredentialIssuerKeysSupported", id: 0x87, type: "uint16", access: "R V",
|
|
608
|
+
conformance: "ALIRO", default: 0, quality: "F",
|
|
609
|
+
details: "Indicates the maximum number of AliroCredentialIssuerKey credentials that can be stored on the lock.",
|
|
610
|
+
xref: { document: "cluster", section: "5.2.9.45" }
|
|
611
|
+
}),
|
|
639
612
|
|
|
640
|
-
|
|
641
|
-
|
|
613
|
+
Attribute({
|
|
614
|
+
name: "NumberOfAliroEndpointKeysSupported", id: 0x88, type: "uint16", access: "R V",
|
|
615
|
+
conformance: "ALIRO", default: 0, quality: "F",
|
|
642
616
|
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
617
|
+
details: "Indicates the maximum number of endpoint key credentials that can be stored on the lock. This limit " +
|
|
618
|
+
"applies to the sum of the number of AliroEvictableEndpointKey credentials and the number of " +
|
|
619
|
+
"AliroNonEvictableEndpointKey credentials." +
|
|
620
|
+
"\n" +
|
|
621
|
+
"NOTE" +
|
|
622
|
+
"\n" +
|
|
623
|
+
"The credential indices used for these two credential types are independent of each other, similar " +
|
|
624
|
+
"to all other credential types. As long as NumberOfAliroEndpointKeysSupported is at least 2 a client " +
|
|
625
|
+
"could add a credential of type AliroEvictableEndpointKey at any index from 1 to " +
|
|
626
|
+
"NumberOfAliroEndpointKeysSupported and also add a credential of type AliroNonEvictableEndpointKey " +
|
|
627
|
+
"at the same index, and both credentials would exist on the server.",
|
|
628
|
+
|
|
629
|
+
xref: { document: "cluster", section: "5.2.9.46" }
|
|
630
|
+
}),
|
|
647
631
|
|
|
648
632
|
Event(
|
|
649
633
|
{
|
|
@@ -701,8 +685,9 @@ export const DoorLock = Cluster(
|
|
|
701
685
|
" ◦ shall generate a LockOperation event of LockOperationType Unlatch when it is actuated from " +
|
|
702
686
|
" the outside." +
|
|
703
687
|
"\n" +
|
|
704
|
-
" ◦ may generate a LockOperation event of LockOperationType Unlatch when it is actuated
|
|
705
|
-
"
|
|
688
|
+
" ◦ may generate a LockOperation event of LockOperationType Unlatch when it is actuated" +
|
|
689
|
+
"\n" +
|
|
690
|
+
"from the inside.",
|
|
706
691
|
|
|
707
692
|
xref: { document: "cluster", section: "5.2.11.3" }
|
|
708
693
|
},
|
|
@@ -837,7 +822,7 @@ export const DoorLock = Cluster(
|
|
|
837
822
|
|
|
838
823
|
Field({
|
|
839
824
|
name: "OperationSource", id: 0x2, type: "OperationSourceEnum", conformance: "M",
|
|
840
|
-
constraint: "unspecified, keypad, remote",
|
|
825
|
+
constraint: "aliro, unspecified, keypad, remote",
|
|
841
826
|
details: "This field shall indicate the source of the user data change.",
|
|
842
827
|
xref: { document: "cluster", section: "5.2.11.5.3" }
|
|
843
828
|
}),
|
|
@@ -883,9 +868,7 @@ export const DoorLock = Cluster(
|
|
|
883
868
|
response: "status",
|
|
884
869
|
details: "This command causes the lock device to lock the door. This command includes an optional code for " +
|
|
885
870
|
"the lock. The door lock may require a PIN depending on the value of the " +
|
|
886
|
-
"RequirePINForRemoteOperation attribute."
|
|
887
|
-
"\n" +
|
|
888
|
-
"† The PIN/RFID Code is an obsolete field name, use PINCode instead.",
|
|
871
|
+
"RequirePINForRemoteOperation attribute.",
|
|
889
872
|
xref: { document: "cluster", section: "5.2.10.1" }
|
|
890
873
|
},
|
|
891
874
|
|
|
@@ -918,9 +901,7 @@ export const DoorLock = Cluster(
|
|
|
918
901
|
"NOTE" +
|
|
919
902
|
"\n" +
|
|
920
903
|
"If the attribute AutoRelockTime is supported the lock will transition to the locked state when the " +
|
|
921
|
-
"auto relock time has expired."
|
|
922
|
-
"\n" +
|
|
923
|
-
"† The PIN/RFID Code is an obsolete field name, use PINCode instead.",
|
|
904
|
+
"auto relock time has expired.",
|
|
924
905
|
|
|
925
906
|
xref: { document: "cluster", section: "5.2.10.2" }
|
|
926
907
|
},
|
|
@@ -941,17 +922,11 @@ export const DoorLock = Cluster(
|
|
|
941
922
|
{
|
|
942
923
|
name: "UnlockWithTimeout", id: 0x3, access: "O T", conformance: "O", direction: "request",
|
|
943
924
|
response: "status",
|
|
944
|
-
|
|
945
925
|
details: "This command causes the lock device to unlock the door with a timeout parameter. After the time in " +
|
|
946
926
|
"seconds specified in the timeout field, the lock device will relock itself automatically. This " +
|
|
947
927
|
"timeout parameter is only temporary for this message transition and overrides the default relock " +
|
|
948
|
-
"time" +
|
|
949
|
-
"
|
|
950
|
-
"as specified in the AutoRelockTime attribute. If the door lock device is not capable of or does not " +
|
|
951
|
-
"want to support temporary Relock Timeout, it SHOULD NOT support this optional command." +
|
|
952
|
-
"\n" +
|
|
953
|
-
"† The PIN/RFID Code is an obsolete field name, use PINCode instead.",
|
|
954
|
-
|
|
928
|
+
"time as specified in the AutoRelockTime attribute. If the door lock device is not capable of or " +
|
|
929
|
+
"does not want to support temporary Relock Timeout, it SHOULD NOT support this optional command.",
|
|
955
930
|
xref: { document: "cluster", section: "5.2.10.3" }
|
|
956
931
|
},
|
|
957
932
|
|
|
@@ -969,81 +944,6 @@ export const DoorLock = Cluster(
|
|
|
969
944
|
})
|
|
970
945
|
),
|
|
971
946
|
|
|
972
|
-
Command(
|
|
973
|
-
{
|
|
974
|
-
name: "GetLogRecord", id: 0x4, access: "M", conformance: "LOG", direction: "request",
|
|
975
|
-
response: "GetLogRecordResponse",
|
|
976
|
-
details: "Request a log record. Log number is between 1 – [Number of Log Records Supported attribute]. If log " +
|
|
977
|
-
"number 0 is requested then the most recent log entry is returned." +
|
|
978
|
-
"\n" +
|
|
979
|
-
"Log record format: The log record format is defined in the description of the GetLogRecordResponse " +
|
|
980
|
-
"command.",
|
|
981
|
-
xref: { document: "cluster", section: "5.2.10.4" }
|
|
982
|
-
},
|
|
983
|
-
|
|
984
|
-
Field({ name: "LogIndex", id: 0x0, type: "uint16", conformance: "M", constraint: "desc" })
|
|
985
|
-
),
|
|
986
|
-
|
|
987
|
-
Command(
|
|
988
|
-
{
|
|
989
|
-
name: "GetLogRecordResponse", id: 0x4, conformance: "LOG", direction: "response",
|
|
990
|
-
details: "Returns the specified log record. If an invalid log entry ID was requested, it is set to 0 and the " +
|
|
991
|
-
"most recent log entry will be returned.",
|
|
992
|
-
xref: { document: "cluster", section: "5.2.10.5" }
|
|
993
|
-
},
|
|
994
|
-
|
|
995
|
-
Field({
|
|
996
|
-
name: "LogEntryId", id: 0x0, type: "uint16", conformance: "M", constraint: "desc",
|
|
997
|
-
details: "This field shall indicate the index into the log table where this log entry is stored. If the log " +
|
|
998
|
-
"entry requested is 0, the most recent log is returned with the appropriate log entry ID.",
|
|
999
|
-
xref: { document: "cluster", section: "5.2.10.5.1" }
|
|
1000
|
-
}),
|
|
1001
|
-
|
|
1002
|
-
Field({
|
|
1003
|
-
name: "Timestamp", id: 0x1, type: "epoch-s", conformance: "M",
|
|
1004
|
-
details: "This field shall indicate the timestamp for all events and alarms on the door lock in Epoch Time in " +
|
|
1005
|
-
"Seconds with local time offset based on the local timezone and DST offset on the day of the event.",
|
|
1006
|
-
xref: { document: "cluster", section: "5.2.10.5.2" }
|
|
1007
|
-
}),
|
|
1008
|
-
|
|
1009
|
-
Field({
|
|
1010
|
-
name: "EventType", id: 0x2, type: "EventTypeEnum", conformance: "M",
|
|
1011
|
-
details: "This field shall indicate the type of event that took place on the door lock, as defined in " +
|
|
1012
|
-
"EventTypeEnum.",
|
|
1013
|
-
xref: { document: "cluster", section: "5.2.10.5.3" }
|
|
1014
|
-
}),
|
|
1015
|
-
|
|
1016
|
-
Field({
|
|
1017
|
-
name: "Source", id: 0x3, type: "EventSourceEnum", conformance: "M",
|
|
1018
|
-
details: "This field shall indicate the source value as defined in EventSourceEnum." +
|
|
1019
|
-
"\n" +
|
|
1020
|
-
"If the EventType is 2 (Alarm) then the source SHOULD be, but does not have to be 255 " +
|
|
1021
|
-
"(Indeterminate).",
|
|
1022
|
-
xref: { document: "cluster", section: "5.2.10.5.4" }
|
|
1023
|
-
}),
|
|
1024
|
-
|
|
1025
|
-
Field({
|
|
1026
|
-
name: "EventId", id: 0x4, type: "uint8", conformance: "M", constraint: "desc",
|
|
1027
|
-
details: "This field shall indicate the type of event that took place on the door lock depending on the event " +
|
|
1028
|
-
"code table provided for a given event type and source. See Operation Event Codes.",
|
|
1029
|
-
xref: { document: "cluster", section: "5.2.10.5.5" }
|
|
1030
|
-
}),
|
|
1031
|
-
|
|
1032
|
-
Field({
|
|
1033
|
-
name: "UserId", id: 0x5, type: "uint16", conformance: "M", constraint: "desc",
|
|
1034
|
-
details: "This field shall indicate the ID of the user who generated the event on the door lock if one is " +
|
|
1035
|
-
"available. Otherwise, the value is 0xFFFF.",
|
|
1036
|
-
xref: { document: "cluster", section: "5.2.10.5.6" }
|
|
1037
|
-
}),
|
|
1038
|
-
|
|
1039
|
-
Field({
|
|
1040
|
-
name: "Pin", id: 0x6, type: "octstr", conformance: "M",
|
|
1041
|
-
details: "This field shall indicate the PIN code or RFID code that was used to create the event on the door " +
|
|
1042
|
-
"lock if one is available.",
|
|
1043
|
-
xref: { document: "cluster", section: "5.2.10.5.7" }
|
|
1044
|
-
})
|
|
1045
|
-
),
|
|
1046
|
-
|
|
1047
947
|
Command(
|
|
1048
948
|
{
|
|
1049
949
|
name: "SetPinCode", id: 0x5, access: "A T", conformance: "!USR & PIN", direction: "request",
|
|
@@ -1052,14 +952,14 @@ export const DoorLock = Cluster(
|
|
|
1052
952
|
"\n" +
|
|
1053
953
|
"Return status is a global status code or a cluster-specific status code from the Status Codes table " +
|
|
1054
954
|
"and shall be one of the following values:",
|
|
1055
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
955
|
+
xref: { document: "cluster", section: "5.2.10.4" }
|
|
1056
956
|
},
|
|
1057
957
|
|
|
1058
958
|
Field({
|
|
1059
959
|
name: "UserId", id: 0x0, type: "uint16", conformance: "M", constraint: "desc",
|
|
1060
960
|
details: "This field shall indicate the user ID. The value of the UserID field shall be between 0 and the " +
|
|
1061
961
|
"value of the NumberOfPINUsersSupported attribute.",
|
|
1062
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
962
|
+
xref: { document: "cluster", section: "5.2.10.4.1" }
|
|
1063
963
|
}),
|
|
1064
964
|
|
|
1065
965
|
Field({
|
|
@@ -1067,7 +967,7 @@ export const DoorLock = Cluster(
|
|
|
1067
967
|
default: 1, quality: "X",
|
|
1068
968
|
details: "This field shall indicate the user status. Only the values 1 (Occupied/Enabled) and 3 " +
|
|
1069
969
|
"(Occupied/Disabled) are allowed for UserStatus.",
|
|
1070
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
970
|
+
xref: { document: "cluster", section: "5.2.10.4.2" }
|
|
1071
971
|
}),
|
|
1072
972
|
|
|
1073
973
|
Field({ name: "UserType", id: 0x2, type: "UserTypeEnum", conformance: "M", default: 0, quality: "X" }),
|
|
@@ -1079,14 +979,14 @@ export const DoorLock = Cluster(
|
|
|
1079
979
|
name: "GetPinCode", id: 0x6, access: "A", conformance: "!USR & PIN", direction: "request",
|
|
1080
980
|
response: "GetPinCodeResponse",
|
|
1081
981
|
details: "Retrieve a PIN Code.",
|
|
1082
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
982
|
+
xref: { document: "cluster", section: "5.2.10.5" }
|
|
1083
983
|
},
|
|
1084
984
|
|
|
1085
985
|
Field({
|
|
1086
986
|
name: "UserId", id: 0x0, type: "uint16", conformance: "M", constraint: "desc",
|
|
1087
987
|
details: "This field shall indicate the user ID. The value of the UserID field shall be between 0 and the " +
|
|
1088
988
|
"value of the NumberOfPINUsersSupported attribute.",
|
|
1089
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
989
|
+
xref: { document: "cluster", section: "5.2.10.5.1" }
|
|
1090
990
|
})
|
|
1091
991
|
),
|
|
1092
992
|
|
|
@@ -1106,7 +1006,7 @@ export const DoorLock = Cluster(
|
|
|
1106
1006
|
"shall be equal to CONSTRAINT_ERROR when User_ID is less than the max number of users supported, and " +
|
|
1107
1007
|
"NOT_FOUND if greater than or equal to the max number of users supported.",
|
|
1108
1008
|
|
|
1109
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1009
|
+
xref: { document: "cluster", section: "5.2.10.6" }
|
|
1110
1010
|
},
|
|
1111
1011
|
|
|
1112
1012
|
Field({ name: "UserId", id: 0x0, type: "uint16", conformance: "M", constraint: "desc" }),
|
|
@@ -1122,16 +1022,12 @@ export const DoorLock = Cluster(
|
|
|
1122
1022
|
{
|
|
1123
1023
|
name: "ClearPinCode", id: 0x7, access: "A T", conformance: "!USR & PIN", direction: "request",
|
|
1124
1024
|
response: "status",
|
|
1125
|
-
|
|
1126
1025
|
details: "Clear a PIN code or all PIN codes." +
|
|
1127
|
-
"\n" +
|
|
1128
|
-
"† The User ID is an obsolete field name, use PINSlotIndex instead." +
|
|
1129
1026
|
"\n" +
|
|
1130
1027
|
"For each PIN Code cleared whose user doesn’t have a RFID Code or other credential type, then " +
|
|
1131
1028
|
"corresponding user record’s UserStatus value shall be set to Available, and UserType value shall be " +
|
|
1132
1029
|
"set to UnrestrictedUser and all schedules shall be cleared.",
|
|
1133
|
-
|
|
1134
|
-
xref: { document: "cluster", section: "5.2.10.9" }
|
|
1030
|
+
xref: { document: "cluster", section: "5.2.10.7" }
|
|
1135
1031
|
},
|
|
1136
1032
|
|
|
1137
1033
|
Field({
|
|
@@ -1139,7 +1035,7 @@ export const DoorLock = Cluster(
|
|
|
1139
1035
|
constraint: "1 to numberOfPinUsersSupported, 65534",
|
|
1140
1036
|
details: "This field shall specify a valid PIN code slot index or 0xFFFE to indicate all PIN code slots shall " +
|
|
1141
1037
|
"be cleared.",
|
|
1142
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1038
|
+
xref: { document: "cluster", section: "5.2.10.7.1" }
|
|
1143
1039
|
})
|
|
1144
1040
|
),
|
|
1145
1041
|
|
|
@@ -1154,7 +1050,7 @@ export const DoorLock = Cluster(
|
|
|
1154
1050
|
"On the server, the clear all PIN codes command SHOULD have the same effect as the ClearPINCode " +
|
|
1155
1051
|
"command with respect to the setting of user status, user type and schedules.",
|
|
1156
1052
|
|
|
1157
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1053
|
+
xref: { document: "cluster", section: "5.2.10.8" }
|
|
1158
1054
|
}),
|
|
1159
1055
|
|
|
1160
1056
|
Command(
|
|
@@ -1162,21 +1058,21 @@ export const DoorLock = Cluster(
|
|
|
1162
1058
|
name: "SetUserStatus", id: 0x9, access: "A", conformance: "!USR & (PIN | RID | FGP)",
|
|
1163
1059
|
direction: "request", response: "status",
|
|
1164
1060
|
details: "Set the status of a user ID.",
|
|
1165
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1061
|
+
xref: { document: "cluster", section: "5.2.10.9" }
|
|
1166
1062
|
},
|
|
1167
1063
|
|
|
1168
1064
|
Field({
|
|
1169
1065
|
name: "UserId", id: 0x0, type: "uint16", conformance: "M", constraint: "desc",
|
|
1170
1066
|
details: "This field shall indicate the user ID. The value of the UserID field shall be between 0 and the " +
|
|
1171
1067
|
"value of the NumberOfPINUsersSupported attribute.",
|
|
1172
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1068
|
+
xref: { document: "cluster", section: "5.2.10.9.1" }
|
|
1173
1069
|
}),
|
|
1174
1070
|
|
|
1175
1071
|
Field({
|
|
1176
1072
|
name: "UserStatus", id: 0x1, type: "UserStatusEnum", conformance: "M", constraint: "desc",
|
|
1177
1073
|
details: "UserStatus value of Available is not allowed. In order to clear a user id, the ClearUser Command " +
|
|
1178
1074
|
"shall be used. For user status value please refer to UserStatusEnum.",
|
|
1179
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1075
|
+
xref: { document: "cluster", section: "5.2.10.9.2" }
|
|
1180
1076
|
})
|
|
1181
1077
|
),
|
|
1182
1078
|
|
|
@@ -1185,14 +1081,14 @@ export const DoorLock = Cluster(
|
|
|
1185
1081
|
name: "GetUserStatus", id: 0xa, access: "A", conformance: "!USR & (PIN | RID | FGP)",
|
|
1186
1082
|
direction: "request", response: "GetUserStatusResponse",
|
|
1187
1083
|
details: "Get the status of a user.",
|
|
1188
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1084
|
+
xref: { document: "cluster", section: "5.2.10.10" }
|
|
1189
1085
|
},
|
|
1190
1086
|
|
|
1191
1087
|
Field({
|
|
1192
1088
|
name: "UserId", id: 0x0, type: "uint16", conformance: "M", constraint: "desc",
|
|
1193
1089
|
details: "This field shall indicate the user ID. The value of the UserID field shall be between 0 and the " +
|
|
1194
1090
|
"value of the NumberOfPINUsersSupported attribute.",
|
|
1195
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1091
|
+
xref: { document: "cluster", section: "5.2.10.10.1" }
|
|
1196
1092
|
})
|
|
1197
1093
|
),
|
|
1198
1094
|
|
|
@@ -1200,17 +1096,17 @@ export const DoorLock = Cluster(
|
|
|
1200
1096
|
{
|
|
1201
1097
|
name: "GetUserStatusResponse", id: 0xa, conformance: "!USR", direction: "response",
|
|
1202
1098
|
details: "Returns the user status for the specified user ID.",
|
|
1203
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1099
|
+
xref: { document: "cluster", section: "5.2.10.11" }
|
|
1204
1100
|
},
|
|
1205
1101
|
Field({
|
|
1206
1102
|
name: "UserId", id: 0x0, type: "uint16", conformance: "M", constraint: "desc",
|
|
1207
1103
|
details: "This field shall indicate the user ID provided in the request.",
|
|
1208
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1104
|
+
xref: { document: "cluster", section: "5.2.10.11.1" }
|
|
1209
1105
|
}),
|
|
1210
1106
|
Field({
|
|
1211
1107
|
name: "UserStatus", id: 0x1, type: "UserStatusEnum", conformance: "M",
|
|
1212
1108
|
details: "This field shall indicate the current status of the requested user ID.",
|
|
1213
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1109
|
+
xref: { document: "cluster", section: "5.2.10.11.2" }
|
|
1214
1110
|
})
|
|
1215
1111
|
),
|
|
1216
1112
|
|
|
@@ -1220,60 +1116,60 @@ export const DoorLock = Cluster(
|
|
|
1220
1116
|
response: "status",
|
|
1221
1117
|
|
|
1222
1118
|
details: "Set a weekly repeating schedule for a specified user." +
|
|
1223
|
-
"\n" +
|
|
1224
|
-
"† The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead, " +
|
|
1225
|
-
"respectively." +
|
|
1226
1119
|
"\n" +
|
|
1227
1120
|
"The associated UserType may be changed to ScheduleRestrictedUser by the lock when a Week Day " +
|
|
1228
1121
|
"schedule is set." +
|
|
1229
1122
|
"\n" +
|
|
1230
1123
|
"Return status shall be one of the following values:",
|
|
1231
1124
|
|
|
1232
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1125
|
+
xref: { document: "cluster", section: "5.2.10.12" }
|
|
1233
1126
|
},
|
|
1234
1127
|
|
|
1235
1128
|
Field({
|
|
1236
1129
|
name: "WeekDayIndex", id: 0x0, type: "uint8", conformance: "M",
|
|
1237
1130
|
constraint: "1 to numberOfWeekDaySchedulesSupportedPerUser",
|
|
1238
1131
|
details: "This field shall indicate the index of the Week Day schedule.",
|
|
1239
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1132
|
+
xref: { document: "cluster", section: "5.2.10.12.1" }
|
|
1240
1133
|
}),
|
|
1241
1134
|
|
|
1242
1135
|
Field({
|
|
1243
|
-
name: "
|
|
1244
|
-
constraint: "1 to numberOfTotalUsersSupported"
|
|
1136
|
+
name: "UserIndex", id: 0x1, type: "uint16", conformance: "M",
|
|
1137
|
+
constraint: "1 to numberOfTotalUsersSupported",
|
|
1138
|
+
details: "This field shall indicate the user ID.",
|
|
1139
|
+
xref: { document: "cluster", section: "5.2.10.12.2" }
|
|
1245
1140
|
}),
|
|
1141
|
+
|
|
1246
1142
|
Field({
|
|
1247
1143
|
name: "DaysMask", id: 0x2, type: "DaysMaskBitmap", conformance: "M",
|
|
1248
1144
|
details: "This field shall indicate which week days the schedule is active.",
|
|
1249
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1145
|
+
xref: { document: "cluster", section: "5.2.10.12.3" }
|
|
1250
1146
|
}),
|
|
1251
1147
|
Field({
|
|
1252
|
-
name: "StartHour", id: 0x3, type: "uint8", conformance: "M", constraint: "
|
|
1148
|
+
name: "StartHour", id: 0x3, type: "uint8", conformance: "M", constraint: "max 23",
|
|
1253
1149
|
details: "This field shall indicate the starting hour for the Week Day schedule.",
|
|
1254
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1150
|
+
xref: { document: "cluster", section: "5.2.10.12.4" }
|
|
1255
1151
|
}),
|
|
1256
1152
|
Field({
|
|
1257
|
-
name: "StartMinute", id: 0x4, type: "uint8", conformance: "M", constraint: "
|
|
1153
|
+
name: "StartMinute", id: 0x4, type: "uint8", conformance: "M", constraint: "max 59",
|
|
1258
1154
|
details: "This field shall indicate the starting minute for the Week Day schedule.",
|
|
1259
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1155
|
+
xref: { document: "cluster", section: "5.2.10.12.5" }
|
|
1260
1156
|
}),
|
|
1261
1157
|
|
|
1262
1158
|
Field({
|
|
1263
|
-
name: "EndHour", id: 0x5, type: "uint8", conformance: "M", constraint: "
|
|
1159
|
+
name: "EndHour", id: 0x5, type: "uint8", conformance: "M", constraint: "max 23",
|
|
1264
1160
|
details: "This field shall indicate the ending hour for the Week Day schedule. EndHour shall be equal to or " +
|
|
1265
1161
|
"greater than StartHour.",
|
|
1266
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1162
|
+
xref: { document: "cluster", section: "5.2.10.12.6" }
|
|
1267
1163
|
}),
|
|
1268
1164
|
|
|
1269
1165
|
Field({
|
|
1270
|
-
name: "EndMinute", id: 0x6, type: "uint8", conformance: "M", constraint: "
|
|
1166
|
+
name: "EndMinute", id: 0x6, type: "uint8", conformance: "M", constraint: "max 59",
|
|
1271
1167
|
details: "This field shall indicate the ending minute for the Week Day schedule. If EndHour is equal to " +
|
|
1272
1168
|
"StartHour then EndMinute shall be greater than StartMinute." +
|
|
1273
1169
|
"\n" +
|
|
1274
1170
|
"If the EndHour is equal to 23 and the EndMinute is equal to 59 the Lock shall grant access to the " +
|
|
1275
1171
|
"user up until 23:59:59.",
|
|
1276
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1172
|
+
xref: { document: "cluster", section: "5.2.10.12.7" }
|
|
1277
1173
|
})
|
|
1278
1174
|
),
|
|
1279
1175
|
|
|
@@ -1281,11 +1177,8 @@ export const DoorLock = Cluster(
|
|
|
1281
1177
|
{
|
|
1282
1178
|
name: "GetWeekDaySchedule", id: 0xc, access: "A", conformance: "WDSCH", direction: "request",
|
|
1283
1179
|
response: "GetWeekDayScheduleResponse",
|
|
1284
|
-
details: "Retrieve the specific weekly schedule for the specific user."
|
|
1285
|
-
|
|
1286
|
-
"† The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead, " +
|
|
1287
|
-
"respectively.",
|
|
1288
|
-
xref: { document: "cluster", section: "5.2.10.15" }
|
|
1180
|
+
details: "Retrieve the specific weekly schedule for the specific user.",
|
|
1181
|
+
xref: { document: "cluster", section: "5.2.10.13" }
|
|
1289
1182
|
},
|
|
1290
1183
|
|
|
1291
1184
|
Field({
|
|
@@ -1293,7 +1186,7 @@ export const DoorLock = Cluster(
|
|
|
1293
1186
|
constraint: "1 to numberOfWeekDaySchedulesSupportedPerUser"
|
|
1294
1187
|
}),
|
|
1295
1188
|
Field({
|
|
1296
|
-
name: "
|
|
1189
|
+
name: "UserIndex", id: 0x1, type: "uint16", conformance: "M",
|
|
1297
1190
|
constraint: "1 to numberOfTotalUsersSupported"
|
|
1298
1191
|
})
|
|
1299
1192
|
),
|
|
@@ -1301,23 +1194,22 @@ export const DoorLock = Cluster(
|
|
|
1301
1194
|
Command(
|
|
1302
1195
|
{
|
|
1303
1196
|
name: "GetWeekDayScheduleResponse", id: 0xc, conformance: "WDSCH", direction: "response",
|
|
1304
|
-
details: "Returns the weekly repeating schedule data for the specified schedule index."
|
|
1305
|
-
|
|
1306
|
-
"† The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead, " +
|
|
1307
|
-
"respectively.",
|
|
1308
|
-
xref: { document: "cluster", section: "5.2.10.16" }
|
|
1197
|
+
details: "Returns the weekly repeating schedule data for the specified schedule index.",
|
|
1198
|
+
xref: { document: "cluster", section: "5.2.10.14" }
|
|
1309
1199
|
},
|
|
1310
1200
|
|
|
1311
1201
|
Field({
|
|
1312
1202
|
name: "WeekDayIndex", id: 0x0, type: "uint8", conformance: "M",
|
|
1313
1203
|
constraint: "1 to numberOfWeekDaySchedulesSupportedPerUser",
|
|
1314
1204
|
details: "This field shall indicate the index of the Week Day schedule.",
|
|
1315
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1205
|
+
xref: { document: "cluster", section: "5.2.10.14.1" }
|
|
1316
1206
|
}),
|
|
1317
1207
|
|
|
1318
1208
|
Field({
|
|
1319
|
-
name: "
|
|
1320
|
-
constraint: "1 to numberOfTotalUsersSupported"
|
|
1209
|
+
name: "UserIndex", id: 0x1, type: "uint16", conformance: "M",
|
|
1210
|
+
constraint: "1 to numberOfTotalUsersSupported",
|
|
1211
|
+
details: "This field shall indicate the user ID.",
|
|
1212
|
+
xref: { document: "cluster", section: "5.2.10.14.2" }
|
|
1321
1213
|
}),
|
|
1322
1214
|
|
|
1323
1215
|
Field({
|
|
@@ -1337,33 +1229,33 @@ export const DoorLock = Cluster(
|
|
|
1337
1229
|
"If this field is SUCCESS, the optional fields for this command shall be present. For other (error) " +
|
|
1338
1230
|
"status values, only the fields up to the status field shall be present.",
|
|
1339
1231
|
|
|
1340
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1232
|
+
xref: { document: "cluster", section: "5.2.10.14.3" }
|
|
1341
1233
|
}),
|
|
1342
1234
|
|
|
1343
1235
|
Field({ name: "DaysMask", id: 0x3, type: "DaysMaskBitmap", conformance: "O" }),
|
|
1344
1236
|
Field({
|
|
1345
|
-
name: "StartHour", id: 0x4, type: "uint8", conformance: "O", constraint: "
|
|
1237
|
+
name: "StartHour", id: 0x4, type: "uint8", conformance: "O", constraint: "max 23",
|
|
1346
1238
|
details: "This field shall indicate the starting hour for the Week Day schedule.",
|
|
1347
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1239
|
+
xref: { document: "cluster", section: "5.2.10.14.4" }
|
|
1348
1240
|
}),
|
|
1349
1241
|
Field({
|
|
1350
|
-
name: "StartMinute", id: 0x5, type: "uint8", conformance: "O", constraint: "
|
|
1242
|
+
name: "StartMinute", id: 0x5, type: "uint8", conformance: "O", constraint: "max 59",
|
|
1351
1243
|
details: "This field shall indicate the starting minute for the Week Day schedule.",
|
|
1352
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1244
|
+
xref: { document: "cluster", section: "5.2.10.14.5" }
|
|
1353
1245
|
}),
|
|
1354
1246
|
|
|
1355
1247
|
Field({
|
|
1356
|
-
name: "EndHour", id: 0x6, type: "uint8", conformance: "O", constraint: "
|
|
1248
|
+
name: "EndHour", id: 0x6, type: "uint8", conformance: "O", constraint: "max 23",
|
|
1357
1249
|
details: "This field shall indicate the ending hour for the Week Day schedule. EndHour shall be equal to or " +
|
|
1358
1250
|
"greater than StartHour.",
|
|
1359
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1251
|
+
xref: { document: "cluster", section: "5.2.10.14.6" }
|
|
1360
1252
|
}),
|
|
1361
1253
|
|
|
1362
1254
|
Field({
|
|
1363
|
-
name: "EndMinute", id: 0x7, type: "uint8", conformance: "O", constraint: "
|
|
1255
|
+
name: "EndMinute", id: 0x7, type: "uint8", conformance: "O", constraint: "max 59",
|
|
1364
1256
|
details: "This field shall indicate the ending minute for the Week Day schedule. If EndHour is equal to " +
|
|
1365
1257
|
"StartHour then EndMinute shall be greater than StartMinute.",
|
|
1366
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1258
|
+
xref: { document: "cluster", section: "5.2.10.14.7" }
|
|
1367
1259
|
})
|
|
1368
1260
|
),
|
|
1369
1261
|
|
|
@@ -1371,15 +1263,10 @@ export const DoorLock = Cluster(
|
|
|
1371
1263
|
{
|
|
1372
1264
|
name: "ClearWeekDaySchedule", id: 0xd, access: "A", conformance: "WDSCH", direction: "request",
|
|
1373
1265
|
response: "status",
|
|
1374
|
-
|
|
1375
1266
|
details: "Clear the specific weekly schedule or all weekly schedules for the specific user." +
|
|
1376
|
-
"\n" +
|
|
1377
|
-
"† The Schedule ID and User ID are obsolete field names, use WeekDayIndex and UserIndex instead, " +
|
|
1378
|
-
"respectively." +
|
|
1379
1267
|
"\n" +
|
|
1380
1268
|
"Return status shall be one of the following values:",
|
|
1381
|
-
|
|
1382
|
-
xref: { document: "cluster", section: "5.2.10.17" }
|
|
1269
|
+
xref: { document: "cluster", section: "5.2.10.15" }
|
|
1383
1270
|
},
|
|
1384
1271
|
|
|
1385
1272
|
Field({
|
|
@@ -1387,12 +1274,14 @@ export const DoorLock = Cluster(
|
|
|
1387
1274
|
constraint: "1 to numberOfWeekDaySchedulesSupportedPerUser, 254",
|
|
1388
1275
|
details: "This field shall indicate the Week Day schedule index to clear or 0xFE to clear all Week Day " +
|
|
1389
1276
|
"schedules for the specified user.",
|
|
1390
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1277
|
+
xref: { document: "cluster", section: "5.2.10.15.1" }
|
|
1391
1278
|
}),
|
|
1392
1279
|
|
|
1393
1280
|
Field({
|
|
1394
|
-
name: "
|
|
1395
|
-
constraint: "1 to numberOfTotalUsersSupported"
|
|
1281
|
+
name: "UserIndex", id: 0x1, type: "uint16", conformance: "M",
|
|
1282
|
+
constraint: "1 to numberOfTotalUsersSupported",
|
|
1283
|
+
details: "This field shall indicate the user ID.",
|
|
1284
|
+
xref: { document: "cluster", section: "5.2.10.15.2" }
|
|
1396
1285
|
})
|
|
1397
1286
|
),
|
|
1398
1287
|
|
|
@@ -1402,35 +1291,34 @@ export const DoorLock = Cluster(
|
|
|
1402
1291
|
response: "status",
|
|
1403
1292
|
|
|
1404
1293
|
details: "Set a time-specific schedule ID for a specified user." +
|
|
1405
|
-
"\n" +
|
|
1406
|
-
"† The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead, " +
|
|
1407
|
-
"respectively." +
|
|
1408
1294
|
"\n" +
|
|
1409
1295
|
"The associated UserType may be changed to ScheduleRestrictedUser by the lock when a Year Day " +
|
|
1410
1296
|
"schedule is set." +
|
|
1411
1297
|
"\n" +
|
|
1412
1298
|
"Return status shall be one of the following values:",
|
|
1413
1299
|
|
|
1414
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1300
|
+
xref: { document: "cluster", section: "5.2.10.16" }
|
|
1415
1301
|
},
|
|
1416
1302
|
|
|
1417
1303
|
Field({
|
|
1418
1304
|
name: "YearDayIndex", id: 0x0, type: "uint8", conformance: "M",
|
|
1419
1305
|
constraint: "1 to numberOfYearDaySchedulesSupportedPerUser",
|
|
1420
1306
|
details: "This field shall indicate the index of the Year Day schedule.",
|
|
1421
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1307
|
+
xref: { document: "cluster", section: "5.2.10.16.1" }
|
|
1422
1308
|
}),
|
|
1423
1309
|
|
|
1424
1310
|
Field({
|
|
1425
|
-
name: "
|
|
1426
|
-
constraint: "1 to numberOfTotalUsersSupported"
|
|
1311
|
+
name: "UserIndex", id: 0x1, type: "uint16", conformance: "M",
|
|
1312
|
+
constraint: "1 to numberOfTotalUsersSupported",
|
|
1313
|
+
details: "This field shall indicate the user ID.",
|
|
1314
|
+
xref: { document: "cluster", section: "5.2.10.16.2" }
|
|
1427
1315
|
}),
|
|
1428
1316
|
|
|
1429
1317
|
Field({
|
|
1430
1318
|
name: "LocalStartTime", id: 0x2, type: "epoch-s", conformance: "M",
|
|
1431
1319
|
details: "This field shall indicate the starting time for the Year Day schedule in Epoch Time in Seconds with " +
|
|
1432
1320
|
"local time offset based on the local timezone and DST offset on the day represented by the value.",
|
|
1433
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1321
|
+
xref: { document: "cluster", section: "5.2.10.16.3" }
|
|
1434
1322
|
}),
|
|
1435
1323
|
|
|
1436
1324
|
Field({
|
|
@@ -1438,7 +1326,7 @@ export const DoorLock = Cluster(
|
|
|
1438
1326
|
details: "This field shall indicate the ending time for the Year Day schedule in Epoch Time in Seconds with " +
|
|
1439
1327
|
"local time offset based on the local timezone and DST offset on the day represented by the value. " +
|
|
1440
1328
|
"LocalEndTime shall be greater than LocalStartTime.",
|
|
1441
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1329
|
+
xref: { document: "cluster", section: "5.2.10.16.4" }
|
|
1442
1330
|
})
|
|
1443
1331
|
),
|
|
1444
1332
|
|
|
@@ -1446,11 +1334,8 @@ export const DoorLock = Cluster(
|
|
|
1446
1334
|
{
|
|
1447
1335
|
name: "GetYearDaySchedule", id: 0xf, access: "A", conformance: "YDSCH", direction: "request",
|
|
1448
1336
|
response: "GetYearDayScheduleResponse",
|
|
1449
|
-
details: "Retrieve the specific year day schedule for the specific schedule and user indexes."
|
|
1450
|
-
|
|
1451
|
-
"† The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead, " +
|
|
1452
|
-
"respectively.",
|
|
1453
|
-
xref: { document: "cluster", section: "5.2.10.19" }
|
|
1337
|
+
details: "Retrieve the specific year day schedule for the specific schedule and user indexes.",
|
|
1338
|
+
xref: { document: "cluster", section: "5.2.10.17" }
|
|
1454
1339
|
},
|
|
1455
1340
|
|
|
1456
1341
|
Field({
|
|
@@ -1458,7 +1343,7 @@ export const DoorLock = Cluster(
|
|
|
1458
1343
|
constraint: "1 to numberOfYearDaySchedulesSupportedPerUser"
|
|
1459
1344
|
}),
|
|
1460
1345
|
Field({
|
|
1461
|
-
name: "
|
|
1346
|
+
name: "UserIndex", id: 0x1, type: "uint16", conformance: "M",
|
|
1462
1347
|
constraint: "1 to numberOfTotalUsersSupported"
|
|
1463
1348
|
})
|
|
1464
1349
|
),
|
|
@@ -1466,23 +1351,22 @@ export const DoorLock = Cluster(
|
|
|
1466
1351
|
Command(
|
|
1467
1352
|
{
|
|
1468
1353
|
name: "GetYearDayScheduleResponse", id: 0xf, conformance: "YDSCH", direction: "response",
|
|
1469
|
-
details: "Returns the year day schedule data for the specified schedule and user indexes."
|
|
1470
|
-
|
|
1471
|
-
"† The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead, " +
|
|
1472
|
-
"respectively.",
|
|
1473
|
-
xref: { document: "cluster", section: "5.2.10.20" }
|
|
1354
|
+
details: "Returns the year day schedule data for the specified schedule and user indexes.",
|
|
1355
|
+
xref: { document: "cluster", section: "5.2.10.18" }
|
|
1474
1356
|
},
|
|
1475
1357
|
|
|
1476
1358
|
Field({
|
|
1477
1359
|
name: "YearDayIndex", id: 0x0, type: "uint8", conformance: "M",
|
|
1478
1360
|
constraint: "1 to numberOfYearDaySchedulesSupportedPerUser",
|
|
1479
1361
|
details: "This field shall indicate the index of the Year Day schedule.",
|
|
1480
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1362
|
+
xref: { document: "cluster", section: "5.2.10.18.1" }
|
|
1481
1363
|
}),
|
|
1482
1364
|
|
|
1483
1365
|
Field({
|
|
1484
|
-
name: "
|
|
1485
|
-
constraint: "1 to numberOfTotalUsersSupported"
|
|
1366
|
+
name: "UserIndex", id: 0x1, type: "uint16", conformance: "M",
|
|
1367
|
+
constraint: "1 to numberOfTotalUsersSupported",
|
|
1368
|
+
details: "This field shall indicate the user ID.",
|
|
1369
|
+
xref: { document: "cluster", section: "5.2.10.18.2" }
|
|
1486
1370
|
}),
|
|
1487
1371
|
|
|
1488
1372
|
Field({
|
|
@@ -1502,7 +1386,7 @@ export const DoorLock = Cluster(
|
|
|
1502
1386
|
"If this field is SUCCESS, the optional fields for this command shall be present. For other (error) " +
|
|
1503
1387
|
"status values, only the fields up to the status field shall be present.",
|
|
1504
1388
|
|
|
1505
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1389
|
+
xref: { document: "cluster", section: "5.2.10.18.3" }
|
|
1506
1390
|
}),
|
|
1507
1391
|
|
|
1508
1392
|
Field({
|
|
@@ -1510,7 +1394,7 @@ export const DoorLock = Cluster(
|
|
|
1510
1394
|
details: "This field shall indicate the starting time for the Year Day schedule in Epoch Time in Seconds with " +
|
|
1511
1395
|
"local time offset based on the local timezone and DST offset on the day represented by the value. " +
|
|
1512
1396
|
"This shall be null if the schedule is not set for the YearDayIndex and UserIndex provided.",
|
|
1513
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1397
|
+
xref: { document: "cluster", section: "5.2.10.18.4" }
|
|
1514
1398
|
}),
|
|
1515
1399
|
|
|
1516
1400
|
Field({
|
|
@@ -1519,7 +1403,7 @@ export const DoorLock = Cluster(
|
|
|
1519
1403
|
"local time offset based on the local timezone and DST offset on the day represented by the value. " +
|
|
1520
1404
|
"LocalEndTime shall be greater than LocalStartTime. This shall be null if the schedule is not set " +
|
|
1521
1405
|
"for the YearDayIndex and UserIndex provided.",
|
|
1522
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1406
|
+
xref: { document: "cluster", section: "5.2.10.18.5" }
|
|
1523
1407
|
})
|
|
1524
1408
|
),
|
|
1525
1409
|
|
|
@@ -1527,15 +1411,10 @@ export const DoorLock = Cluster(
|
|
|
1527
1411
|
{
|
|
1528
1412
|
name: "ClearYearDaySchedule", id: 0x10, access: "A", conformance: "YDSCH", direction: "request",
|
|
1529
1413
|
response: "status",
|
|
1530
|
-
|
|
1531
1414
|
details: "Clears the specific year day schedule or all year day schedules for the specific user." +
|
|
1532
|
-
"\n" +
|
|
1533
|
-
"† The Schedule ID and User ID are obsolete field names, use YearDayIndex and UserIndex instead, " +
|
|
1534
|
-
"respectively." +
|
|
1535
1415
|
"\n" +
|
|
1536
1416
|
"Return status shall be one of the following values:",
|
|
1537
|
-
|
|
1538
|
-
xref: { document: "cluster", section: "5.2.10.21" }
|
|
1417
|
+
xref: { document: "cluster", section: "5.2.10.19" }
|
|
1539
1418
|
},
|
|
1540
1419
|
|
|
1541
1420
|
Field({
|
|
@@ -1543,12 +1422,14 @@ export const DoorLock = Cluster(
|
|
|
1543
1422
|
constraint: "1 to numberOfYearDaySchedulesSupportedPerUser, 254",
|
|
1544
1423
|
details: "This field shall indicate the Year Day schedule index to clear or 0xFE to clear all Year Day " +
|
|
1545
1424
|
"schedules for the specified user.",
|
|
1546
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1425
|
+
xref: { document: "cluster", section: "5.2.10.19.1" }
|
|
1547
1426
|
}),
|
|
1548
1427
|
|
|
1549
1428
|
Field({
|
|
1550
|
-
name: "
|
|
1551
|
-
constraint: "1 to numberOfTotalUsersSupported"
|
|
1429
|
+
name: "UserIndex", id: 0x1, type: "uint16", conformance: "M",
|
|
1430
|
+
constraint: "1 to numberOfTotalUsersSupported",
|
|
1431
|
+
details: "This field shall indicate the user ID.",
|
|
1432
|
+
xref: { document: "cluster", section: "5.2.10.19.2" }
|
|
1552
1433
|
})
|
|
1553
1434
|
),
|
|
1554
1435
|
|
|
@@ -1559,16 +1440,15 @@ export const DoorLock = Cluster(
|
|
|
1559
1440
|
details: "Set the holiday Schedule by specifying local start time and local end time with respect to any Lock " +
|
|
1560
1441
|
"Operating Mode." +
|
|
1561
1442
|
"\n" +
|
|
1562
|
-
"
|
|
1563
|
-
|
|
1564
|
-
xref: { document: "cluster", section: "5.2.10.22" }
|
|
1443
|
+
"Return status shall be one of the following values:",
|
|
1444
|
+
xref: { document: "cluster", section: "5.2.10.20" }
|
|
1565
1445
|
},
|
|
1566
1446
|
|
|
1567
1447
|
Field({
|
|
1568
1448
|
name: "HolidayIndex", id: 0x0, type: "uint8", conformance: "M",
|
|
1569
1449
|
constraint: "1 to numberOfHolidaySchedulesSupported",
|
|
1570
1450
|
details: "This field shall indicate the index of the Holiday schedule.",
|
|
1571
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1451
|
+
xref: { document: "cluster", section: "5.2.10.20.1" }
|
|
1572
1452
|
}),
|
|
1573
1453
|
|
|
1574
1454
|
Field({
|
|
@@ -1576,7 +1456,7 @@ export const DoorLock = Cluster(
|
|
|
1576
1456
|
details: "This field shall indicate the starting time for the Holiday Day schedule in Epoch Time in Seconds " +
|
|
1577
1457
|
"with local time offset based on the local timezone and DST offset on the day represented by the " +
|
|
1578
1458
|
"value.",
|
|
1579
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1459
|
+
xref: { document: "cluster", section: "5.2.10.20.2" }
|
|
1580
1460
|
}),
|
|
1581
1461
|
|
|
1582
1462
|
Field({
|
|
@@ -1584,13 +1464,13 @@ export const DoorLock = Cluster(
|
|
|
1584
1464
|
details: "This field shall indicate the ending time for the Holiday Day schedule in Epoch Time in Seconds " +
|
|
1585
1465
|
"with local time offset based on the local timezone and DST offset on the day represented by the " +
|
|
1586
1466
|
"value. LocalEndTime shall be greater than LocalStartTime.",
|
|
1587
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1467
|
+
xref: { document: "cluster", section: "5.2.10.20.3" }
|
|
1588
1468
|
}),
|
|
1589
1469
|
|
|
1590
1470
|
Field({
|
|
1591
1471
|
name: "OperatingMode", id: 0x3, type: "OperatingModeEnum", conformance: "M",
|
|
1592
1472
|
details: "This field shall indicate the operating mode to use during this Holiday schedule start/end time.",
|
|
1593
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1473
|
+
xref: { document: "cluster", section: "5.2.10.20.4" }
|
|
1594
1474
|
})
|
|
1595
1475
|
),
|
|
1596
1476
|
|
|
@@ -1598,10 +1478,8 @@ export const DoorLock = Cluster(
|
|
|
1598
1478
|
{
|
|
1599
1479
|
name: "GetHolidaySchedule", id: 0x12, access: "A", conformance: "HDSCH", direction: "request",
|
|
1600
1480
|
response: "GetHolidayScheduleResponse",
|
|
1601
|
-
details: "Get the holiday schedule for the specified index."
|
|
1602
|
-
|
|
1603
|
-
"† The Holiday Schedule ID is an obsolete field name, use HolidayIndex instead.",
|
|
1604
|
-
xref: { document: "cluster", section: "5.2.10.23" }
|
|
1481
|
+
details: "Get the holiday schedule for the specified index.",
|
|
1482
|
+
xref: { document: "cluster", section: "5.2.10.21" }
|
|
1605
1483
|
},
|
|
1606
1484
|
|
|
1607
1485
|
Field({
|
|
@@ -1613,17 +1491,15 @@ export const DoorLock = Cluster(
|
|
|
1613
1491
|
Command(
|
|
1614
1492
|
{
|
|
1615
1493
|
name: "GetHolidayScheduleResponse", id: 0x12, conformance: "HDSCH", direction: "response",
|
|
1616
|
-
details: "Returns the Holiday Schedule Entry for the specified Holiday ID."
|
|
1617
|
-
|
|
1618
|
-
"† The Holiday Schedule ID is an obsolete field name, use HolidayIndex instead.",
|
|
1619
|
-
xref: { document: "cluster", section: "5.2.10.24" }
|
|
1494
|
+
details: "Returns the Holiday Schedule Entry for the specified Holiday ID.",
|
|
1495
|
+
xref: { document: "cluster", section: "5.2.10.22" }
|
|
1620
1496
|
},
|
|
1621
1497
|
|
|
1622
1498
|
Field({
|
|
1623
1499
|
name: "HolidayIndex", id: 0x0, type: "uint8", conformance: "M",
|
|
1624
1500
|
constraint: "1 to numberOfHolidaySchedulesSupported",
|
|
1625
1501
|
details: "This field shall indicate the index of the Holiday schedule.",
|
|
1626
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1502
|
+
xref: { document: "cluster", section: "5.2.10.22.1" }
|
|
1627
1503
|
}),
|
|
1628
1504
|
|
|
1629
1505
|
Field({
|
|
@@ -1643,7 +1519,7 @@ export const DoorLock = Cluster(
|
|
|
1643
1519
|
"If this field is SUCCESS, the optional fields for this command shall be present. For other (error) " +
|
|
1644
1520
|
"status values, only the fields up to the status field shall be present.",
|
|
1645
1521
|
|
|
1646
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1522
|
+
xref: { document: "cluster", section: "5.2.10.22.2" }
|
|
1647
1523
|
}),
|
|
1648
1524
|
|
|
1649
1525
|
Field({
|
|
@@ -1651,7 +1527,7 @@ export const DoorLock = Cluster(
|
|
|
1651
1527
|
details: "This field shall indicate the starting time for the Holiday schedule in Epoch Time in Seconds with " +
|
|
1652
1528
|
"local time offset based on the local timezone and DST offset on the day represented by the value. " +
|
|
1653
1529
|
"This shall be null if the schedule is not set for the HolidayIndex provided.",
|
|
1654
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1530
|
+
xref: { document: "cluster", section: "5.2.10.22.3" }
|
|
1655
1531
|
}),
|
|
1656
1532
|
|
|
1657
1533
|
Field({
|
|
@@ -1660,14 +1536,14 @@ export const DoorLock = Cluster(
|
|
|
1660
1536
|
"local time offset based on the local timezone and DST offset on the day represented by the value. " +
|
|
1661
1537
|
"LocalEndTime shall be greater than LocalStartTime. This shall be null if the schedule is not set " +
|
|
1662
1538
|
"for the HolidayIndex provided.",
|
|
1663
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1539
|
+
xref: { document: "cluster", section: "5.2.10.22.4" }
|
|
1664
1540
|
}),
|
|
1665
1541
|
|
|
1666
1542
|
Field({
|
|
1667
1543
|
name: "OperatingMode", id: 0x4, type: "OperatingModeEnum", conformance: "O", quality: "X",
|
|
1668
1544
|
details: "This field shall indicate the operating mode to use during this Holiday schedule start/end time. " +
|
|
1669
1545
|
"This shall be null if the schedule is not set for the HolidayIndex provided.",
|
|
1670
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1546
|
+
xref: { document: "cluster", section: "5.2.10.22.5" }
|
|
1671
1547
|
})
|
|
1672
1548
|
),
|
|
1673
1549
|
|
|
@@ -1675,10 +1551,8 @@ export const DoorLock = Cluster(
|
|
|
1675
1551
|
{
|
|
1676
1552
|
name: "ClearHolidaySchedule", id: 0x13, access: "A", conformance: "HDSCH", direction: "request",
|
|
1677
1553
|
response: "status",
|
|
1678
|
-
details: "Clears the holiday schedule or all holiday schedules."
|
|
1679
|
-
|
|
1680
|
-
"† The Holiday Schedule ID is an obsolete field name, use HolidayIndex instead.",
|
|
1681
|
-
xref: { document: "cluster", section: "5.2.10.25" }
|
|
1554
|
+
details: "Clears the holiday schedule or all holiday schedules.",
|
|
1555
|
+
xref: { document: "cluster", section: "5.2.10.23" }
|
|
1682
1556
|
},
|
|
1683
1557
|
|
|
1684
1558
|
Field({
|
|
@@ -1686,7 +1560,7 @@ export const DoorLock = Cluster(
|
|
|
1686
1560
|
constraint: "1 to numberOfHolidaySchedulesSupported, 254",
|
|
1687
1561
|
details: "This field shall indicate the Holiday schedule index to clear or 0xFE to clear all Holiday " +
|
|
1688
1562
|
"schedules.",
|
|
1689
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1563
|
+
xref: { document: "cluster", section: "5.2.10.23.1" }
|
|
1690
1564
|
})
|
|
1691
1565
|
),
|
|
1692
1566
|
|
|
@@ -1699,27 +1573,18 @@ export const DoorLock = Cluster(
|
|
|
1699
1573
|
"For user type value please refer to User Type Value." +
|
|
1700
1574
|
"\n" +
|
|
1701
1575
|
"Return status shall be one of the following values:",
|
|
1702
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1576
|
+
xref: { document: "cluster", section: "5.2.10.24" }
|
|
1703
1577
|
},
|
|
1704
1578
|
|
|
1705
1579
|
Field({
|
|
1706
1580
|
name: "UserId", id: 0x0, type: "uint16", conformance: "M", constraint: "desc",
|
|
1707
1581
|
details: "This field shall indicate the user ID.",
|
|
1708
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1582
|
+
xref: { document: "cluster", section: "5.2.10.24.1" }
|
|
1709
1583
|
}),
|
|
1710
|
-
|
|
1711
1584
|
Field({
|
|
1712
1585
|
name: "UserType", id: 0x1, type: "UserTypeEnum", conformance: "M",
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
"\n" +
|
|
1716
|
-
"If UserType is currently YearDayScheduleUser, WeekDayScheduleUser, or ScheduleRestrictedUser and " +
|
|
1717
|
-
"the new UserType is UnrestrictedUser then all existing Year Day and/or Week Day schedules shall be " +
|
|
1718
|
-
"ignored or disabled (if this transition is supported by the door lock). If UserType is " +
|
|
1719
|
-
"ScheduleRestrictedUser and the new UserType is ScheduleRestrictedUser then all existing Year Day " +
|
|
1720
|
-
"and/or Week Day schedules shall be applied or enabled.",
|
|
1721
|
-
|
|
1722
|
-
xref: { document: "cluster", section: "5.2.10.26.2" }
|
|
1586
|
+
details: "This field shall indicate the user type.",
|
|
1587
|
+
xref: { document: "cluster", section: "5.2.10.24.2" }
|
|
1723
1588
|
})
|
|
1724
1589
|
),
|
|
1725
1590
|
|
|
@@ -1728,7 +1593,7 @@ export const DoorLock = Cluster(
|
|
|
1728
1593
|
name: "GetUserType", id: 0x15, access: "A", conformance: "!USR & (PIN | RID | FGP)",
|
|
1729
1594
|
direction: "request", response: "GetUserTypeResponse",
|
|
1730
1595
|
details: "Retrieve the user type for a specific user.",
|
|
1731
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1596
|
+
xref: { document: "cluster", section: "5.2.10.25" }
|
|
1732
1597
|
},
|
|
1733
1598
|
|
|
1734
1599
|
Field({ name: "UserId", id: 0x0, type: "uint16", conformance: "M", constraint: "desc" })
|
|
@@ -1739,7 +1604,7 @@ export const DoorLock = Cluster(
|
|
|
1739
1604
|
name: "GetUserTypeResponse", id: 0x15, conformance: "!USR", direction: "response",
|
|
1740
1605
|
details: "Returns the user type for the specified user ID. If the requested User ID is invalid, send Default " +
|
|
1741
1606
|
"Response with an error status equal to FAILURE.",
|
|
1742
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1607
|
+
xref: { document: "cluster", section: "5.2.10.26" }
|
|
1743
1608
|
},
|
|
1744
1609
|
|
|
1745
1610
|
Field({ name: "UserId", id: 0x0, type: "uint16", conformance: "M", constraint: "desc" }),
|
|
@@ -1754,7 +1619,7 @@ export const DoorLock = Cluster(
|
|
|
1754
1619
|
"\n" +
|
|
1755
1620
|
"Return status is a global status code or a cluster-specific status code from the Status Codes table " +
|
|
1756
1621
|
"and shall be one of the following values:",
|
|
1757
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1622
|
+
xref: { document: "cluster", section: "5.2.10.27" }
|
|
1758
1623
|
},
|
|
1759
1624
|
|
|
1760
1625
|
Field({
|
|
@@ -1763,7 +1628,7 @@ export const DoorLock = Cluster(
|
|
|
1763
1628
|
"\n" +
|
|
1764
1629
|
"The value of the UserID field shall be between 0 and the value of the NumberOfRFIDUsersSupported " +
|
|
1765
1630
|
"attribute.",
|
|
1766
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1631
|
+
xref: { document: "cluster", section: "5.2.10.27.1" }
|
|
1767
1632
|
}),
|
|
1768
1633
|
|
|
1769
1634
|
Field({
|
|
@@ -1773,14 +1638,14 @@ export const DoorLock = Cluster(
|
|
|
1773
1638
|
"“Set PIN” while not all are supported." +
|
|
1774
1639
|
"\n" +
|
|
1775
1640
|
"Only the values 1 (Occupied/Enabled) and 3 (Occupied/Disabled) are allowed for UserStatus.",
|
|
1776
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1641
|
+
xref: { document: "cluster", section: "5.2.10.27.2" }
|
|
1777
1642
|
}),
|
|
1778
1643
|
|
|
1779
1644
|
Field({
|
|
1780
1645
|
name: "UserType", id: 0x2, type: "UserTypeEnum", conformance: "M", constraint: "desc", default: 0,
|
|
1781
1646
|
quality: "X",
|
|
1782
1647
|
details: "The values are the same as used for SetPINCode command.",
|
|
1783
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1648
|
+
xref: { document: "cluster", section: "5.2.10.27.3" }
|
|
1784
1649
|
}),
|
|
1785
1650
|
|
|
1786
1651
|
Field({ name: "RfidCode", id: 0x3, type: "octstr", conformance: "M" })
|
|
@@ -1791,7 +1656,7 @@ export const DoorLock = Cluster(
|
|
|
1791
1656
|
name: "GetRfidCode", id: 0x17, access: "A", conformance: "!USR & RID", direction: "request",
|
|
1792
1657
|
response: "GetRfidCodeResponse",
|
|
1793
1658
|
details: "Retrieve an RFID code.",
|
|
1794
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1659
|
+
xref: { document: "cluster", section: "5.2.10.28" }
|
|
1795
1660
|
},
|
|
1796
1661
|
|
|
1797
1662
|
Field({
|
|
@@ -1800,7 +1665,7 @@ export const DoorLock = Cluster(
|
|
|
1800
1665
|
"\n" +
|
|
1801
1666
|
"The value of the UserID field shall be between 0 and the value of the NumberOfRFIDUsersSupported " +
|
|
1802
1667
|
"attribute.",
|
|
1803
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1668
|
+
xref: { document: "cluster", section: "5.2.10.28.1" }
|
|
1804
1669
|
})
|
|
1805
1670
|
),
|
|
1806
1671
|
|
|
@@ -1820,7 +1685,7 @@ export const DoorLock = Cluster(
|
|
|
1820
1685
|
"be equal to CONSTRAINT_ERROR when User_ID is less than the max number of users supported, and " +
|
|
1821
1686
|
"NOT_FOUND if greater than or equal to the max number of users supported.",
|
|
1822
1687
|
|
|
1823
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1688
|
+
xref: { document: "cluster", section: "5.2.10.29" }
|
|
1824
1689
|
},
|
|
1825
1690
|
|
|
1826
1691
|
Field({ name: "UserId", id: 0x0, type: "uint16", conformance: "M", constraint: "desc" }),
|
|
@@ -1836,16 +1701,12 @@ export const DoorLock = Cluster(
|
|
|
1836
1701
|
{
|
|
1837
1702
|
name: "ClearRfidCode", id: 0x18, access: "A T", conformance: "!USR & RID", direction: "request",
|
|
1838
1703
|
response: "status",
|
|
1839
|
-
|
|
1840
1704
|
details: "Clear an RFID code or all RFID codes." +
|
|
1841
|
-
"\n" +
|
|
1842
|
-
"† The User ID is an obsolete field name, use RFIDSlotIndex instead." +
|
|
1843
1705
|
"\n" +
|
|
1844
1706
|
"For each RFID Code cleared whose user doesn’t have a PIN Code or other credential type, then the " +
|
|
1845
1707
|
"corresponding user record’s UserStatus value shall be set to Available, and UserType value shall be " +
|
|
1846
1708
|
"set to UnrestrictedUser and all schedules shall be cleared.",
|
|
1847
|
-
|
|
1848
|
-
xref: { document: "cluster", section: "5.2.10.32" }
|
|
1709
|
+
xref: { document: "cluster", section: "5.2.10.30" }
|
|
1849
1710
|
},
|
|
1850
1711
|
|
|
1851
1712
|
Field({
|
|
@@ -1853,7 +1714,7 @@ export const DoorLock = Cluster(
|
|
|
1853
1714
|
constraint: "1 to numberOfRfidUsersSupported, 65534",
|
|
1854
1715
|
details: "This field shall indicate a valid RFID code slot index or 0xFFFE to indicate all RFID code slots " +
|
|
1855
1716
|
"shall be cleared.",
|
|
1856
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1717
|
+
xref: { document: "cluster", section: "5.2.10.30.1" }
|
|
1857
1718
|
})
|
|
1858
1719
|
),
|
|
1859
1720
|
|
|
@@ -1863,7 +1724,7 @@ export const DoorLock = Cluster(
|
|
|
1863
1724
|
details: "Clear out all RFIDs on the lock. If you clear all RFID codes and this user didn’t have a PIN code, " +
|
|
1864
1725
|
"the user status has to be set to \"0 Available\", the user type has to be set to the default value, " +
|
|
1865
1726
|
"and all schedules which are supported have to be set to the default values.",
|
|
1866
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1727
|
+
xref: { document: "cluster", section: "5.2.10.31" }
|
|
1867
1728
|
}),
|
|
1868
1729
|
|
|
1869
1730
|
Command(
|
|
@@ -1889,21 +1750,21 @@ export const DoorLock = Cluster(
|
|
|
1889
1750
|
" • INVALID_COMMAND, if one or more fields violate constraints or are invalid or if OperationType " +
|
|
1890
1751
|
" is Modify and UserIndex points to an available slot.",
|
|
1891
1752
|
|
|
1892
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1753
|
+
xref: { document: "cluster", section: "5.2.10.32" }
|
|
1893
1754
|
},
|
|
1894
1755
|
|
|
1895
1756
|
Field({
|
|
1896
1757
|
name: "OperationType", id: 0x0, type: "DataOperationTypeEnum", conformance: "M",
|
|
1897
1758
|
constraint: "add, modify",
|
|
1898
1759
|
details: "This field shall indicate the type of operation.",
|
|
1899
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1760
|
+
xref: { document: "cluster", section: "5.2.10.32.1" }
|
|
1900
1761
|
}),
|
|
1901
1762
|
|
|
1902
1763
|
Field({
|
|
1903
1764
|
name: "UserIndex", id: 0x1, type: "uint16", conformance: "M",
|
|
1904
1765
|
constraint: "1 to numberOfTotalUsersSupported",
|
|
1905
1766
|
details: "This field shall indicate the user ID.",
|
|
1906
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1767
|
+
xref: { document: "cluster", section: "5.2.10.32.2" }
|
|
1907
1768
|
}),
|
|
1908
1769
|
|
|
1909
1770
|
Field({
|
|
@@ -1920,7 +1781,7 @@ export const DoorLock = Cluster(
|
|
|
1920
1781
|
"\n" +
|
|
1921
1782
|
"If UserName is not null, the UserName in the user record shall be set to the provided value.",
|
|
1922
1783
|
|
|
1923
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1784
|
+
xref: { document: "cluster", section: "5.2.10.32.3" }
|
|
1924
1785
|
}),
|
|
1925
1786
|
|
|
1926
1787
|
Field({
|
|
@@ -1939,7 +1800,7 @@ export const DoorLock = Cluster(
|
|
|
1939
1800
|
"\n" +
|
|
1940
1801
|
"If UserUniqueID is not null, the UserUniqueID in the user record shall be set to the provided value.",
|
|
1941
1802
|
|
|
1942
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1803
|
+
xref: { document: "cluster", section: "5.2.10.32.4" }
|
|
1943
1804
|
}),
|
|
1944
1805
|
|
|
1945
1806
|
Field({
|
|
@@ -1957,7 +1818,7 @@ export const DoorLock = Cluster(
|
|
|
1957
1818
|
"\n" +
|
|
1958
1819
|
"If UserStatus is not null, the UserStatus in the user record shall be set to the provided value.",
|
|
1959
1820
|
|
|
1960
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1821
|
+
xref: { document: "cluster", section: "5.2.10.32.5" }
|
|
1961
1822
|
}),
|
|
1962
1823
|
|
|
1963
1824
|
Field({
|
|
@@ -1976,7 +1837,7 @@ export const DoorLock = Cluster(
|
|
|
1976
1837
|
"\n" +
|
|
1977
1838
|
"If UserType is not null, the UserType in the user record shall be set to the provided value.",
|
|
1978
1839
|
|
|
1979
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1840
|
+
xref: { document: "cluster", section: "5.2.10.32.6" }
|
|
1980
1841
|
}),
|
|
1981
1842
|
|
|
1982
1843
|
Field({
|
|
@@ -1999,7 +1860,7 @@ export const DoorLock = Cluster(
|
|
|
1999
1860
|
"If CredentialRule is not null, the CredentialRule in the user record shall be set to the provided " +
|
|
2000
1861
|
"value.",
|
|
2001
1862
|
|
|
2002
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1863
|
+
xref: { document: "cluster", section: "5.2.10.32.7" }
|
|
2003
1864
|
})
|
|
2004
1865
|
),
|
|
2005
1866
|
|
|
@@ -2015,7 +1876,7 @@ export const DoorLock = Cluster(
|
|
|
2015
1876
|
"COMMAND, etc.) as needed otherwise the GetUserResponse Command shall be sent implying a status of " +
|
|
2016
1877
|
"SUCCESS.",
|
|
2017
1878
|
|
|
2018
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1879
|
+
xref: { document: "cluster", section: "5.2.10.33" }
|
|
2019
1880
|
},
|
|
2020
1881
|
|
|
2021
1882
|
Field({
|
|
@@ -2032,42 +1893,42 @@ export const DoorLock = Cluster(
|
|
|
2032
1893
|
"If the requested UserIndex is valid and the UserStatus is Available for the requested UserIndex " +
|
|
2033
1894
|
"then UserName, UserUniqueID, UserStatus, UserType, CredentialRule, Credentials, CreatorFabricIndex, " +
|
|
2034
1895
|
"and LastModifiedFabricIndex shall all be null in the response.",
|
|
2035
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1896
|
+
xref: { document: "cluster", section: "5.2.10.34" }
|
|
2036
1897
|
},
|
|
2037
1898
|
|
|
2038
1899
|
Field({
|
|
2039
1900
|
name: "UserIndex", id: 0x0, type: "uint16", conformance: "M",
|
|
2040
1901
|
constraint: "1 to numberOfTotalUsersSupported",
|
|
2041
1902
|
details: "This field shall indicate the user ID.",
|
|
2042
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1903
|
+
xref: { document: "cluster", section: "5.2.10.34.1" }
|
|
2043
1904
|
}),
|
|
2044
1905
|
|
|
2045
1906
|
Field({
|
|
2046
1907
|
name: "UserName", id: 0x1, type: "string", conformance: "M", constraint: "max 10", quality: "X",
|
|
2047
1908
|
details: "This field shall contain a string to use as a human readable identifier for the user.",
|
|
2048
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1909
|
+
xref: { document: "cluster", section: "5.2.10.34.2" }
|
|
2049
1910
|
}),
|
|
2050
1911
|
Field({
|
|
2051
1912
|
name: "UserUniqueId", id: 0x2, type: "uint32", conformance: "M", default: 0, quality: "X",
|
|
2052
1913
|
details: "See UserUniqueID field.",
|
|
2053
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1914
|
+
xref: { document: "cluster", section: "5.2.10.34.3" }
|
|
2054
1915
|
}),
|
|
2055
1916
|
Field({
|
|
2056
1917
|
name: "UserStatus", id: 0x3, type: "UserStatusEnum", conformance: "M", default: 0, quality: "X",
|
|
2057
1918
|
details: "This field shall indicate the UserStatus assigned to the user when created or modified.",
|
|
2058
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1919
|
+
xref: { document: "cluster", section: "5.2.10.34.4" }
|
|
2059
1920
|
}),
|
|
2060
1921
|
Field({
|
|
2061
1922
|
name: "UserType", id: 0x4, type: "UserTypeEnum", conformance: "M", default: 0, quality: "X",
|
|
2062
1923
|
details: "This field shall indicate the UserType assigned to this user when created or modified.",
|
|
2063
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1924
|
+
xref: { document: "cluster", section: "5.2.10.34.5" }
|
|
2064
1925
|
}),
|
|
2065
1926
|
|
|
2066
1927
|
Field({
|
|
2067
1928
|
name: "CredentialRule", id: 0x5, type: "CredentialRuleEnum", conformance: "M", constraint: "desc",
|
|
2068
1929
|
default: 0, quality: "X",
|
|
2069
1930
|
details: "This field shall indicate the CredentialRule set for this user.",
|
|
2070
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1931
|
+
xref: { document: "cluster", section: "5.2.10.34.6" }
|
|
2071
1932
|
}),
|
|
2072
1933
|
|
|
2073
1934
|
Field(
|
|
@@ -2075,7 +1936,7 @@ export const DoorLock = Cluster(
|
|
|
2075
1936
|
name: "Credentials", id: 0x6, type: "list", conformance: "M",
|
|
2076
1937
|
constraint: "0 to numberOfCredentialsSupportedPerUser", quality: "X",
|
|
2077
1938
|
details: "This field shall contain a list of credentials for this user.",
|
|
2078
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1939
|
+
xref: { document: "cluster", section: "5.2.10.34.7" }
|
|
2079
1940
|
},
|
|
2080
1941
|
|
|
2081
1942
|
Field({ name: "entry", type: "CredentialStruct" })
|
|
@@ -2087,7 +1948,7 @@ export const DoorLock = Cluster(
|
|
|
2087
1948
|
"UserStatus is set to Available or when the creator fabric cannot be determined (for example, when " +
|
|
2088
1949
|
"user was created outside the Interaction Model) and shall NOT be null otherwise. This value shall " +
|
|
2089
1950
|
"be set to 0 if the original creator fabric was deleted.",
|
|
2090
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1951
|
+
xref: { document: "cluster", section: "5.2.10.34.8" }
|
|
2091
1952
|
}),
|
|
2092
1953
|
|
|
2093
1954
|
Field({
|
|
@@ -2096,7 +1957,7 @@ export const DoorLock = Cluster(
|
|
|
2096
1957
|
"null if UserStatus is set to Available or when the modifier fabric cannot be determined (for " +
|
|
2097
1958
|
"example, when user was modified outside the Interaction Model) and shall NOT be null otherwise. " +
|
|
2098
1959
|
"This value shall be set to 0 if the last modifier fabric was deleted.",
|
|
2099
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1960
|
+
xref: { document: "cluster", section: "5.2.10.34.9" }
|
|
2100
1961
|
}),
|
|
2101
1962
|
|
|
2102
1963
|
Field({
|
|
@@ -2106,7 +1967,7 @@ export const DoorLock = Cluster(
|
|
|
2106
1967
|
"identifying occupied user slots in the database. This shall NOT be null if there is at least one " +
|
|
2107
1968
|
"occupied entry after the requested UserIndex in the User database and shall be null if there are no " +
|
|
2108
1969
|
"more occupied entries.",
|
|
2109
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1970
|
+
xref: { document: "cluster", section: "5.2.10.34.10" }
|
|
2110
1971
|
})
|
|
2111
1972
|
),
|
|
2112
1973
|
|
|
@@ -2124,79 +1985,14 @@ export const DoorLock = Cluster(
|
|
|
2124
1985
|
"A LockUserChange event with the provided UserIndex shall be generated after successfully clearing " +
|
|
2125
1986
|
"users.",
|
|
2126
1987
|
|
|
2127
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
1988
|
+
xref: { document: "cluster", section: "5.2.10.35" }
|
|
2128
1989
|
},
|
|
2129
1990
|
|
|
2130
1991
|
Field({
|
|
2131
1992
|
name: "UserIndex", id: 0x0, type: "uint16", conformance: "M",
|
|
2132
1993
|
constraint: "1 to numberOfTotalUsersSupported, 65534",
|
|
2133
1994
|
details: "This field shall specify a valid User index or 0xFFFE to indicate all user slots shall be cleared.",
|
|
2134
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2135
|
-
})
|
|
2136
|
-
),
|
|
2137
|
-
|
|
2138
|
-
Command({
|
|
2139
|
-
name: "OperatingEventNotification", id: 0x20, conformance: "[NOT]", direction: "response",
|
|
2140
|
-
xref: { document: "cluster", section: "5.2.10" }
|
|
2141
|
-
}),
|
|
2142
|
-
|
|
2143
|
-
Command(
|
|
2144
|
-
{
|
|
2145
|
-
name: "ProgrammingEventNotification", id: 0x21, conformance: "[NOT]", direction: "response",
|
|
2146
|
-
|
|
2147
|
-
details: "The door lock server sends out a programming event notification whenever a programming event takes " +
|
|
2148
|
-
"place on the door lock." +
|
|
2149
|
-
"\n" +
|
|
2150
|
-
"As with operational events, all programming events can be turned on and off by flipping bits in the " +
|
|
2151
|
-
"associated event mask." +
|
|
2152
|
-
"\n" +
|
|
2153
|
-
"The programming event notification command includes an optional string of data that can be used by " +
|
|
2154
|
-
"the manufacturer to pass some manufacturer-specific information if that is required.",
|
|
2155
|
-
|
|
2156
|
-
xref: { document: "cluster", section: "5.2.10.39" }
|
|
2157
|
-
},
|
|
2158
|
-
|
|
2159
|
-
Field({
|
|
2160
|
-
name: "ProgramEventSource", id: 0x0, type: "EventSourceEnum", conformance: "M", constraint: "desc",
|
|
2161
|
-
details: "This field shall indicate where the event was triggered from.",
|
|
2162
|
-
xref: { document: "cluster", section: "5.2.10.39.1" }
|
|
2163
|
-
}),
|
|
2164
|
-
Field({ name: "ProgramEventCode", id: 0x1, type: "ProgrammingEventCodeEnum", conformance: "M", constraint: "desc" }),
|
|
2165
|
-
Field({
|
|
2166
|
-
name: "UserId", id: 0x2, type: "uint16", conformance: "M", constraint: "desc",
|
|
2167
|
-
details: "This field shall indicate the UserID who performed the event",
|
|
2168
|
-
xref: { document: "cluster", section: "5.2.10.39.6" }
|
|
2169
|
-
}),
|
|
2170
|
-
Field({
|
|
2171
|
-
name: "Pin", id: 0x3, type: "octstr", conformance: "M",
|
|
2172
|
-
details: "This field shall indicate the PIN that is associated with the UserID who performed the event",
|
|
2173
|
-
xref: { document: "cluster", section: "5.2.10.39.7" }
|
|
2174
|
-
}),
|
|
2175
|
-
Field({
|
|
2176
|
-
name: "UserType", id: 0x4, type: "UserTypeEnum", conformance: "M", constraint: "desc",
|
|
2177
|
-
details: "This field shall indicate the UserType that is associated with the UserID who performed the event",
|
|
2178
|
-
xref: { document: "cluster", section: "5.2.10.39.8" }
|
|
2179
|
-
}),
|
|
2180
|
-
Field({
|
|
2181
|
-
name: "UserStatus", id: 0x5, type: "UserStatusEnum", conformance: "M", constraint: "desc",
|
|
2182
|
-
details: "This field shall indicate the UserStatus that is associated with the UserID who performed the event",
|
|
2183
|
-
xref: { document: "cluster", section: "5.2.10.39.9" }
|
|
2184
|
-
}),
|
|
2185
|
-
|
|
2186
|
-
Field({
|
|
2187
|
-
name: "LocalTime", id: 0x6, type: "epoch-s", conformance: "M",
|
|
2188
|
-
details: "This field shall indicate the time when the event was triggered in Epoch Time in Seconds with local " +
|
|
2189
|
-
"time offset based on the local timezone and DST offset on the day represented by the value. If time " +
|
|
2190
|
-
"is not supported, the field shall be populated with default not used value 0xFFFFFFFF.",
|
|
2191
|
-
xref: { document: "cluster", section: "5.2.10.39.10" }
|
|
2192
|
-
}),
|
|
2193
|
-
|
|
2194
|
-
Field({
|
|
2195
|
-
name: "Data", id: 0x7, type: "string", conformance: "O",
|
|
2196
|
-
details: "This field may contain a variable string, which can be used to pass data associated with a " +
|
|
2197
|
-
"particular event. Generally this field will be left empty. However, manufacturer can choose to use " +
|
|
2198
|
-
"this field to store/display manufacturer-specific information.",
|
|
2199
|
-
xref: { document: "cluster", section: "5.2.10.39.11" }
|
|
1995
|
+
xref: { document: "cluster", section: "5.2.10.35.1" }
|
|
2200
1996
|
})
|
|
2201
1997
|
),
|
|
2202
1998
|
|
|
@@ -2208,21 +2004,21 @@ export const DoorLock = Cluster(
|
|
|
2208
2004
|
"or ProgrammingUser." +
|
|
2209
2005
|
"\n" +
|
|
2210
2006
|
"Fields used for different use cases:",
|
|
2211
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2007
|
+
xref: { document: "cluster", section: "5.2.10.36" }
|
|
2212
2008
|
},
|
|
2213
2009
|
|
|
2214
2010
|
Field({
|
|
2215
2011
|
name: "OperationType", id: 0x0, type: "DataOperationTypeEnum", conformance: "M",
|
|
2216
2012
|
constraint: "add, modify",
|
|
2217
2013
|
details: "This field shall indicate the set credential operation type requested.",
|
|
2218
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2014
|
+
xref: { document: "cluster", section: "5.2.10.36.1" }
|
|
2219
2015
|
}),
|
|
2220
2016
|
|
|
2221
2017
|
Field({
|
|
2222
2018
|
name: "Credential", id: 0x1, type: "CredentialStruct", conformance: "M",
|
|
2223
2019
|
details: "This field shall contain a credential structure that contains the CredentialTypeEnum and the " +
|
|
2224
2020
|
"credential index (if applicable or 0 if not) to set.",
|
|
2225
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2021
|
+
xref: { document: "cluster", section: "5.2.10.36.2" }
|
|
2226
2022
|
}),
|
|
2227
2023
|
|
|
2228
2024
|
Field({
|
|
@@ -2231,7 +2027,7 @@ export const DoorLock = Cluster(
|
|
|
2231
2027
|
"The length of the credential data shall conform to the limits of the CredentialType specified in " +
|
|
2232
2028
|
"the Credential structure otherwise an INVALID_COMMAND status shall be returned in the " +
|
|
2233
2029
|
"SetCredentialResponse command.",
|
|
2234
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2030
|
+
xref: { document: "cluster", section: "5.2.10.36.3" }
|
|
2235
2031
|
}),
|
|
2236
2032
|
|
|
2237
2033
|
Field({
|
|
@@ -2240,7 +2036,7 @@ export const DoorLock = Cluster(
|
|
|
2240
2036
|
details: "This field shall indicate the user index to the user record that corresponds to the credential " +
|
|
2241
2037
|
"being added or modified. This shall be null if OperationType is add and a new credential and user " +
|
|
2242
2038
|
"is being added at the same time.",
|
|
2243
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2039
|
+
xref: { document: "cluster", section: "5.2.10.36.4" }
|
|
2244
2040
|
}),
|
|
2245
2041
|
|
|
2246
2042
|
Field({
|
|
@@ -2249,7 +2045,7 @@ export const DoorLock = Cluster(
|
|
|
2249
2045
|
details: "This field shall indicate the user status to use in the new user record if a new user is being " +
|
|
2250
2046
|
"created. This shall be null if OperationType is Modify. This may be null when adding a new " +
|
|
2251
2047
|
"credential and user.",
|
|
2252
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2048
|
+
xref: { document: "cluster", section: "5.2.10.36.5" }
|
|
2253
2049
|
}),
|
|
2254
2050
|
|
|
2255
2051
|
Field({
|
|
@@ -2259,7 +2055,7 @@ export const DoorLock = Cluster(
|
|
|
2259
2055
|
details: "This field shall indicate the user type to use in the new user record if a new user is being " +
|
|
2260
2056
|
"created. This shall be null if OperationType is Modify. This may be null when adding a new " +
|
|
2261
2057
|
"credential and user.",
|
|
2262
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2058
|
+
xref: { document: "cluster", section: "5.2.10.36.6" }
|
|
2263
2059
|
})
|
|
2264
2060
|
),
|
|
2265
2061
|
|
|
@@ -2267,7 +2063,7 @@ export const DoorLock = Cluster(
|
|
|
2267
2063
|
{
|
|
2268
2064
|
name: "SetCredentialResponse", id: 0x23, conformance: "USR", direction: "response",
|
|
2269
2065
|
details: "Returns the status for setting the specified credential.",
|
|
2270
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2066
|
+
xref: { document: "cluster", section: "5.2.10.37" }
|
|
2271
2067
|
},
|
|
2272
2068
|
|
|
2273
2069
|
Field({
|
|
@@ -2288,8 +2084,15 @@ export const DoorLock = Cluster(
|
|
|
2288
2084
|
" • DUPLICATE, if CredentialData provided is a duplicate of another credential with the same " +
|
|
2289
2085
|
" CredentialType (e.g. duplicate PIN code)." +
|
|
2290
2086
|
"\n" +
|
|
2291
|
-
" • RESOURCE_EXHAUSTED, if OperationType is Add and the
|
|
2292
|
-
"
|
|
2087
|
+
" • RESOURCE_EXHAUSTED, if OperationType is Add and the new credential cannot be added due to " +
|
|
2088
|
+
" resource constraints such as:" +
|
|
2089
|
+
"\n" +
|
|
2090
|
+
" ◦ The user referred to by UserIndex already has NumberOfCredentialsSupportedPerUser credentials " +
|
|
2091
|
+
" associated." +
|
|
2092
|
+
"\n" +
|
|
2093
|
+
" ◦ The credential is of type AliroEvictableEndpointKey or AliroNonEvictableEndpointKey, and " +
|
|
2094
|
+
" adding it would cause the total number of credentials of those two types to exceed " +
|
|
2095
|
+
" NumberOfAliroEndpointKeysSupported." +
|
|
2293
2096
|
"\n" +
|
|
2294
2097
|
" • INVALID_COMMAND, if one or more fields violate constraints or are invalid." +
|
|
2295
2098
|
"\n" +
|
|
@@ -2298,7 +2101,7 @@ export const DoorLock = Cluster(
|
|
|
2298
2101
|
"\n" +
|
|
2299
2102
|
" • INVALID_COMMAND, if OperationType is Modify and UserIndex points to an available slot.",
|
|
2300
2103
|
|
|
2301
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2104
|
+
xref: { document: "cluster", section: "5.2.10.37.1" }
|
|
2302
2105
|
}),
|
|
2303
2106
|
|
|
2304
2107
|
Field({
|
|
@@ -2309,7 +2112,7 @@ export const DoorLock = Cluster(
|
|
|
2309
2112
|
"Modify; if the OperationType was Add and a new User was created this shall NOT be null and shall " +
|
|
2310
2113
|
"provide the UserIndex created. If the OperationType was Add and an existing User was associated " +
|
|
2311
2114
|
"with the new credential then this shall be null.",
|
|
2312
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2115
|
+
xref: { document: "cluster", section: "5.2.10.37.2" }
|
|
2313
2116
|
}),
|
|
2314
2117
|
|
|
2315
2118
|
Field({
|
|
@@ -2323,7 +2126,7 @@ export const DoorLock = Cluster(
|
|
|
2323
2126
|
"NextCredentialIndex reported shall NOT exceed the maximum number of credentials for a particular " +
|
|
2324
2127
|
"credential type.",
|
|
2325
2128
|
|
|
2326
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2129
|
+
xref: { document: "cluster", section: "5.2.10.37.3" }
|
|
2327
2130
|
})
|
|
2328
2131
|
),
|
|
2329
2132
|
|
|
@@ -2336,14 +2139,14 @@ export const DoorLock = Cluster(
|
|
|
2336
2139
|
"An InvokeResponse command shall be sent with an appropriate error (e.g. FAILURE, INVALID_COMMAND, " +
|
|
2337
2140
|
"etc.) as needed otherwise the GetCredentialStatusResponse command shall be sent implying a status " +
|
|
2338
2141
|
"of SUCCESS.",
|
|
2339
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2142
|
+
xref: { document: "cluster", section: "5.2.10.38" }
|
|
2340
2143
|
},
|
|
2341
2144
|
|
|
2342
2145
|
Field({
|
|
2343
2146
|
name: "Credential", id: 0x0, type: "CredentialStruct", conformance: "M",
|
|
2344
2147
|
details: "This field shall contain a credential structure that contains the CredentialTypeEnum and the " +
|
|
2345
2148
|
"credential index (if applicable or 0 if not) to retrieve the status for.",
|
|
2346
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2149
|
+
xref: { document: "cluster", section: "5.2.10.38.1" }
|
|
2347
2150
|
})
|
|
2348
2151
|
),
|
|
2349
2152
|
|
|
@@ -2351,14 +2154,14 @@ export const DoorLock = Cluster(
|
|
|
2351
2154
|
{
|
|
2352
2155
|
name: "GetCredentialStatusResponse", id: 0x25, conformance: "USR", direction: "response",
|
|
2353
2156
|
details: "Returns the status for the specified credential.",
|
|
2354
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2157
|
+
xref: { document: "cluster", section: "5.2.10.39" }
|
|
2355
2158
|
},
|
|
2356
2159
|
|
|
2357
2160
|
Field({
|
|
2358
2161
|
name: "CredentialExists", id: 0x0, type: "bool", conformance: "M",
|
|
2359
2162
|
details: "This field shall indicate if the requested credential type and index exists and is populated for " +
|
|
2360
2163
|
"the requested user index.",
|
|
2361
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2164
|
+
xref: { document: "cluster", section: "5.2.10.39.1" }
|
|
2362
2165
|
}),
|
|
2363
2166
|
|
|
2364
2167
|
Field({
|
|
@@ -2368,7 +2171,7 @@ export const DoorLock = Cluster(
|
|
|
2368
2171
|
"If CredentialType requested was ProgrammingPIN then UserIndex shall be null; otherwise, UserIndex " +
|
|
2369
2172
|
"shall be null if CredentialExists is set to False and shall NOT be null if CredentialExists is set " +
|
|
2370
2173
|
"to True.",
|
|
2371
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2174
|
+
xref: { document: "cluster", section: "5.2.10.39.2" }
|
|
2372
2175
|
}),
|
|
2373
2176
|
|
|
2374
2177
|
Field({
|
|
@@ -2377,7 +2180,7 @@ export const DoorLock = Cluster(
|
|
|
2377
2180
|
"if CredentialExists is set to False or when the creator fabric cannot be determined (for example, " +
|
|
2378
2181
|
"when credential was created outside the Interaction Model) and shall NOT be null otherwise. This " +
|
|
2379
2182
|
"value shall be set to 0 if the original creator fabric was deleted.",
|
|
2380
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2183
|
+
xref: { document: "cluster", section: "5.2.10.39.3" }
|
|
2381
2184
|
}),
|
|
2382
2185
|
|
|
2383
2186
|
Field({
|
|
@@ -2386,7 +2189,7 @@ export const DoorLock = Cluster(
|
|
|
2386
2189
|
"shall be null if CredentialExists is set to False or when the modifier fabric cannot be determined " +
|
|
2387
2190
|
"(for example, when credential was modified outside the Interaction Model) and shall NOT be null " +
|
|
2388
2191
|
"otherwise. This value shall be set to 0 if the last modifier fabric was deleted.",
|
|
2389
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2192
|
+
xref: { document: "cluster", section: "5.2.10.39.4" }
|
|
2390
2193
|
}),
|
|
2391
2194
|
|
|
2392
2195
|
Field({
|
|
@@ -2396,11 +2199,34 @@ export const DoorLock = Cluster(
|
|
|
2396
2199
|
details: "This field shall indicate the next occupied index in the database for the credential type " +
|
|
2397
2200
|
"requested, which is useful for quickly identifying occupied credential slots in the database. This " +
|
|
2398
2201
|
"shall NOT be null if there is at least one occupied entry after the requested credential index in " +
|
|
2399
|
-
"the corresponding
|
|
2400
|
-
"
|
|
2401
|
-
"
|
|
2202
|
+
"the corresponding" +
|
|
2203
|
+
"\n" +
|
|
2204
|
+
"database and shall be null if there are no more occupied entries. The NextCredentialIndex reported " +
|
|
2205
|
+
"shall NOT exceed the maximum number of credentials for a particular credential type.",
|
|
2206
|
+
|
|
2207
|
+
xref: { document: "cluster", section: "5.2.10.39.5" }
|
|
2208
|
+
}),
|
|
2209
|
+
|
|
2210
|
+
Field({
|
|
2211
|
+
name: "CredentialData", id: 0x5, type: "octstr", conformance: "[ALIRO]", constraint: "desc",
|
|
2212
|
+
quality: "X",
|
|
2213
|
+
|
|
2214
|
+
details: "This field shall indicate the credential data for the requested user index." +
|
|
2215
|
+
"\n" +
|
|
2216
|
+
"If the CredentialType in the GetCredentialStatus command was not AliroCredentialIssuerKey, " +
|
|
2217
|
+
"AliroEvictableEndpointKey, or AliroNonEvictableEndpointKey, this field shall NOT be included." +
|
|
2218
|
+
"\n" +
|
|
2219
|
+
"Otherwise, if CredentialExists is false this field shall be null." +
|
|
2220
|
+
"\n" +
|
|
2221
|
+
"Otherwise, the value of this field shall be the value of the relevant credential, as a 65-byte " +
|
|
2222
|
+
"uncompressed elliptic curve public key as defined in section 2.3.3 of SEC 1." +
|
|
2223
|
+
"\n" +
|
|
2224
|
+
"NOTE" +
|
|
2225
|
+
"\n" +
|
|
2226
|
+
"Since the Aliro credentials are public keys, there is no security risk in allowing them to be read. " +
|
|
2227
|
+
"Possession of the credential octet string does not allow operating the lock.",
|
|
2402
2228
|
|
|
2403
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2229
|
+
xref: { document: "cluster", section: "5.2.10.39.6" }
|
|
2404
2230
|
})
|
|
2405
2231
|
),
|
|
2406
2232
|
|
|
@@ -2415,12 +2241,12 @@ export const DoorLock = Cluster(
|
|
|
2415
2241
|
"\n" +
|
|
2416
2242
|
"For each credential cleared whose user doesn’t have another valid credential, the corresponding " +
|
|
2417
2243
|
"user record shall be reset back to default values and its UserStatus value shall be set to " +
|
|
2418
|
-
"Available and UserType value shall be set to UnrestrictedUser and all schedules shall be cleared.
|
|
2244
|
+
"Available and UserType value shall be set to UnrestrictedUser and all schedules shall be cleared. " +
|
|
2245
|
+
"In this case a LockUserChange event shall be generated for the user being cleared." +
|
|
2419
2246
|
"\n" +
|
|
2420
|
-
"
|
|
2421
|
-
"be one of the following values:",
|
|
2247
|
+
"Return status shall be one of the following values:",
|
|
2422
2248
|
|
|
2423
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2249
|
+
xref: { document: "cluster", section: "5.2.10.40" }
|
|
2424
2250
|
},
|
|
2425
2251
|
|
|
2426
2252
|
Field({
|
|
@@ -2429,7 +2255,7 @@ export const DoorLock = Cluster(
|
|
|
2429
2255
|
details: "This field shall contain a credential structure that contains the CredentialTypeEnum and the " +
|
|
2430
2256
|
"credential index (0xFFFE for all credentials or 0 if not applicable) to clear. This shall be null " +
|
|
2431
2257
|
"if clearing all credential types otherwise it shall NOT be null.",
|
|
2432
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2258
|
+
xref: { document: "cluster", section: "5.2.10.40.1" }
|
|
2433
2259
|
})
|
|
2434
2260
|
),
|
|
2435
2261
|
|
|
@@ -2447,16 +2273,65 @@ export const DoorLock = Cluster(
|
|
|
2447
2273
|
"If the attribute AutoRelockTime is supported, the lock will transition to the locked state when the " +
|
|
2448
2274
|
"auto relock time has expired.",
|
|
2449
2275
|
|
|
2450
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2276
|
+
xref: { document: "cluster", section: "5.2.10.41" }
|
|
2451
2277
|
},
|
|
2452
2278
|
|
|
2453
2279
|
Field({
|
|
2454
2280
|
name: "PinCode", id: 0x0, type: "octstr", conformance: "[COTA & PIN]",
|
|
2455
2281
|
details: "See PINCode field.",
|
|
2456
|
-
xref: { document: "cluster", section: "5.2.10.
|
|
2282
|
+
xref: { document: "cluster", section: "5.2.10.41.1" }
|
|
2283
|
+
})
|
|
2284
|
+
),
|
|
2285
|
+
|
|
2286
|
+
Command(
|
|
2287
|
+
{
|
|
2288
|
+
name: "SetAliroReaderConfig", id: 0x28, access: "A T", conformance: "ALIRO", direction: "request",
|
|
2289
|
+
response: "status",
|
|
2290
|
+
details: "This command allows communicating an Aliro Reader configuration, as defined in [Aliro], to the lock.",
|
|
2291
|
+
xref: { document: "cluster", section: "5.2.10.42" }
|
|
2292
|
+
},
|
|
2293
|
+
|
|
2294
|
+
Field({
|
|
2295
|
+
name: "SigningKey", id: 0x0, type: "octstr", conformance: "M", constraint: "32",
|
|
2296
|
+
details: "This field shall indicate the signing key component of the Reader’s key pair.",
|
|
2297
|
+
xref: { document: "cluster", section: "5.2.10.42.1" }
|
|
2298
|
+
}),
|
|
2299
|
+
|
|
2300
|
+
Field({
|
|
2301
|
+
name: "VerificationKey", id: 0x1, type: "octstr", conformance: "M", constraint: "65",
|
|
2302
|
+
details: "This field shall indicate the verification key component of the Reader’s key pair. This shall be an " +
|
|
2303
|
+
"uncompressed elliptic curve public key as defined in section 2.3.3 of SEC 1.",
|
|
2304
|
+
xref: { document: "cluster", section: "5.2.10.42.2" }
|
|
2305
|
+
}),
|
|
2306
|
+
|
|
2307
|
+
Field({
|
|
2308
|
+
name: "GroupIdentifier", id: 0x2, type: "octstr", conformance: "M", constraint: "16",
|
|
2309
|
+
details: "This field shall indicate the reader group identifier for the lock.",
|
|
2310
|
+
xref: { document: "cluster", section: "5.2.10.42.3" }
|
|
2311
|
+
}),
|
|
2312
|
+
Field({
|
|
2313
|
+
name: "GroupResolvingKey", id: 0x3, type: "octstr", conformance: "ALBU", constraint: "16",
|
|
2314
|
+
details: "This field shall indicate the group resolving key for the lock.",
|
|
2315
|
+
xref: { document: "cluster", section: "5.2.10.42.4" }
|
|
2457
2316
|
})
|
|
2458
2317
|
),
|
|
2459
2318
|
|
|
2319
|
+
Command({
|
|
2320
|
+
name: "ClearAliroReaderConfig", id: 0x29, access: "A T", conformance: "ALIRO", direction: "request",
|
|
2321
|
+
response: "status",
|
|
2322
|
+
|
|
2323
|
+
details: "This command allows clearing an existing Aliro Reader configuration for the lock. Administrators " +
|
|
2324
|
+
"shall NOT clear an Aliro Reader configuration without explicit user permission." +
|
|
2325
|
+
"\n" +
|
|
2326
|
+
"NOTE" +
|
|
2327
|
+
"\n" +
|
|
2328
|
+
"Using this command will revoke the ability of all existing Aliro user devices that have the old " +
|
|
2329
|
+
"verification key to interact with the lock. This effect is not restricted to a single fabric or " +
|
|
2330
|
+
"otherwise scoped in any way.",
|
|
2331
|
+
|
|
2332
|
+
xref: { document: "cluster", section: "5.2.10.43" }
|
|
2333
|
+
}),
|
|
2334
|
+
|
|
2460
2335
|
Datatype(
|
|
2461
2336
|
{
|
|
2462
2337
|
name: "DaysMaskBitmap", type: "map8",
|
|
@@ -2625,7 +2500,6 @@ export const DoorLock = Cluster(
|
|
|
2625
2500
|
{ name: "AlarmMaskBitmap", type: "map16", xref: { document: "cluster", section: "5.2.6.6" } },
|
|
2626
2501
|
Field({ name: "LockJammed", constraint: "0", description: "Locking Mechanism Jammed" }),
|
|
2627
2502
|
Field({ name: "LockFactoryReset", constraint: "1", description: "Lock Reset to Factory Defaults" }),
|
|
2628
|
-
Field({ name: "NA", constraint: "2", description: "Reserved" }),
|
|
2629
2503
|
Field({ name: "LockRadioPowerCycled", constraint: "3", description: "RF Module Power Cycled" }),
|
|
2630
2504
|
Field({ name: "WrongCodeEntryLimit", constraint: "4", description: "Tamper Alarm - wrong code entry limit" }),
|
|
2631
2505
|
Field({
|
|
@@ -2635,31 +2509,11 @@ export const DoorLock = Cluster(
|
|
|
2635
2509
|
Field({ name: "DoorForcedOpen", constraint: "6", description: "Forced Door Open under Door Locked Condition" })
|
|
2636
2510
|
),
|
|
2637
2511
|
|
|
2638
|
-
Datatype(
|
|
2639
|
-
{ name: "EventMaskBitmap", type: "map16", xref: { document: "cluster", section: "5.2.6.7" } },
|
|
2640
|
-
Field({ name: "Bit0", constraint: "0", description: "State of bit 0" }),
|
|
2641
|
-
Field({ name: "Bit1", constraint: "1", description: "State of bit 1" }),
|
|
2642
|
-
Field({ name: "Bit2", constraint: "2", description: "State of bit 2" }),
|
|
2643
|
-
Field({ name: "Bit3", constraint: "3", description: "State of bit 3" }),
|
|
2644
|
-
Field({ name: "Bit4", constraint: "4", description: "State of bit 4" }),
|
|
2645
|
-
Field({ name: "Bit5", constraint: "5", description: "State of bit 5" }),
|
|
2646
|
-
Field({ name: "Bit6", constraint: "6", description: "State of bit 6" }),
|
|
2647
|
-
Field({ name: "Bit7", constraint: "7", description: "State of bit 7" }),
|
|
2648
|
-
Field({ name: "Bit8", constraint: "8", description: "State of bit 8" }),
|
|
2649
|
-
Field({ name: "Bit9", constraint: "9", description: "State of bit 9" }),
|
|
2650
|
-
Field({ name: "Bit10", constraint: "10", description: "State of bit 10" }),
|
|
2651
|
-
Field({ name: "Bit11", constraint: "11", description: "State of bit 11" }),
|
|
2652
|
-
Field({ name: "Bit12", constraint: "12", description: "State of bit 12" }),
|
|
2653
|
-
Field({ name: "Bit13", constraint: "13", description: "State of bit 13" }),
|
|
2654
|
-
Field({ name: "Bit14", constraint: "14", description: "State of bit 14" }),
|
|
2655
|
-
Field({ name: "Bit15", constraint: "15", description: "State of bit 15" })
|
|
2656
|
-
),
|
|
2657
|
-
|
|
2658
2512
|
Datatype(
|
|
2659
2513
|
{
|
|
2660
2514
|
name: "AlarmCodeEnum", type: "enum8",
|
|
2661
2515
|
details: "This enumeration shall indicate the alarm type.",
|
|
2662
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2516
|
+
xref: { document: "cluster", section: "5.2.6.7" }
|
|
2663
2517
|
},
|
|
2664
2518
|
Field({ name: "LockJammed", id: 0x0, conformance: "M", description: "Locking Mechanism Jammed" }),
|
|
2665
2519
|
Field({ name: "LockFactoryReset", id: 0x1, conformance: "O", description: "Lock Reset to Factory Defaults" }),
|
|
@@ -2684,7 +2538,7 @@ export const DoorLock = Cluster(
|
|
|
2684
2538
|
{
|
|
2685
2539
|
name: "CredentialRuleEnum", type: "enum8",
|
|
2686
2540
|
details: "This enumeration shall indicate the credential rule that can be applied to a particular user.",
|
|
2687
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2541
|
+
xref: { document: "cluster", section: "5.2.6.8" }
|
|
2688
2542
|
},
|
|
2689
2543
|
Field({
|
|
2690
2544
|
name: "Single", id: 0x0, conformance: "USR",
|
|
@@ -2704,21 +2558,80 @@ export const DoorLock = Cluster(
|
|
|
2704
2558
|
{
|
|
2705
2559
|
name: "CredentialTypeEnum", type: "enum8",
|
|
2706
2560
|
details: "This enumeration shall indicate the credential type.",
|
|
2707
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2561
|
+
xref: { document: "cluster", section: "5.2.6.9" }
|
|
2708
2562
|
},
|
|
2709
2563
|
Field({ name: "ProgrammingPin", id: 0x0, conformance: "O", description: "Programming PIN code credential type" }),
|
|
2710
2564
|
Field({ name: "Pin", id: 0x1, conformance: "PIN", description: "PIN code credential type" }),
|
|
2711
2565
|
Field({ name: "Rfid", id: 0x2, conformance: "RID", description: "RFID identifier credential type" }),
|
|
2712
2566
|
Field({ name: "Fingerprint", id: 0x3, conformance: "FGP", description: "Fingerprint identifier credential type" }),
|
|
2713
2567
|
Field({ name: "FingerVein", id: 0x4, conformance: "FGP", description: "Finger vein identifier credential type" }),
|
|
2714
|
-
Field({ name: "Face", id: 0x5, conformance: "FACE", description: "Face identifier credential type" })
|
|
2568
|
+
Field({ name: "Face", id: 0x5, conformance: "FACE", description: "Face identifier credential type" }),
|
|
2569
|
+
|
|
2570
|
+
Field({
|
|
2571
|
+
name: "AliroCredentialIssuerKey", id: 0x6, conformance: "ALIRO",
|
|
2572
|
+
description: "A Credential Issuer public key as defined in [Aliro]",
|
|
2573
|
+
|
|
2574
|
+
details: "Credentials of this type shall be 65-byte uncompressed elliptic curve public keys as defined in " +
|
|
2575
|
+
"section 2.3.3 of SEC 1." +
|
|
2576
|
+
"\n" +
|
|
2577
|
+
"Credentials of this type shall NOT be used to allow operating the lock. They shall be used, as " +
|
|
2578
|
+
"defined in [Aliro], to create new credentials of type AliroEvictableEndpointKey via a step-up " +
|
|
2579
|
+
"transaction." +
|
|
2580
|
+
"\n" +
|
|
2581
|
+
"When performing the step-up transaction, the lock shall request the data element with identifier " +
|
|
2582
|
+
"\"matter1\", and shall attempt to create a new credential of type AliroEvictableEndpointKey if and " +
|
|
2583
|
+
"only if the data element is returned and the Access Credential can be validated using the " +
|
|
2584
|
+
"AliroCredentialIssuerKey." +
|
|
2585
|
+
"\n" +
|
|
2586
|
+
"When a new credential of type AliroEvictableEndpointKey is added in this manner, it shall be " +
|
|
2587
|
+
"associated with the same user record as the AliroCredentialIssuerKey credential that allowed the " +
|
|
2588
|
+
"new credential to be added." +
|
|
2589
|
+
"\n" +
|
|
2590
|
+
"If there are no available credential slots to add a new AliroEvictableEndpointKey credential (i.e. " +
|
|
2591
|
+
"either the NumberOfCredentialsSupportedPerUser or the NumberOfAliroEndpointKeysSupported limit has " +
|
|
2592
|
+
"been reached) but there exist credentials of type AliroEvictableEndpointKey associated with the " +
|
|
2593
|
+
"user record, the server shall remove one of those credentials using the same procedure it would " +
|
|
2594
|
+
"follow for the ClearCredential command before adding the new credential." +
|
|
2595
|
+
"\n" +
|
|
2596
|
+
"If there are no available credential slots to add a new AliroEvictableEndpointKey credential (i.e. " +
|
|
2597
|
+
"either the NumberOfCredentialsSupportedPerUser or the NumberOfAliroEndpointKeysSupported limit has " +
|
|
2598
|
+
"been reached) and there do not exist credentials of type AliroEvictableEndpointKey associated with " +
|
|
2599
|
+
"the user record, a new AliroEvictableEndpointKey credential shall NOT be created." +
|
|
2600
|
+
"\n" +
|
|
2601
|
+
"If the step-up process results in addition of new credentials, the corresponding LockUserChange " +
|
|
2602
|
+
"event shall have OperationSource set to Aliro." +
|
|
2603
|
+
"\n" +
|
|
2604
|
+
"If the step-up process results in the lock state changing (e.g. locking or unlocking), the " +
|
|
2605
|
+
"credential associated with those changes in the LockOperation events shall be the newly provisioned " +
|
|
2606
|
+
"AliroEvictableEndpointKey credential if one was created. If no new AliroEvictableEndpointKey " +
|
|
2607
|
+
"credential was created, the credential associated with the changes in the LockOperation events " +
|
|
2608
|
+
"shall be the AliroCredentialIssuerKey credential used for the step-up.",
|
|
2609
|
+
|
|
2610
|
+
xref: { document: "cluster", section: "5.2.6.9.1" }
|
|
2611
|
+
}),
|
|
2612
|
+
|
|
2613
|
+
Field({
|
|
2614
|
+
name: "AliroEvictableEndpointKey", id: 0x7, conformance: "ALIRO",
|
|
2615
|
+
description: "An Endpoint public key as defined in [Aliro] which can be evicted if space is needed for another endpoint key",
|
|
2616
|
+
details: "Credentials of this type shall be 65-byte uncompressed elliptic curve public keys as defined in " +
|
|
2617
|
+
"section 2.3.3 of SEC 1.",
|
|
2618
|
+
xref: { document: "cluster", section: "5.2.6.9.2" }
|
|
2619
|
+
}),
|
|
2620
|
+
|
|
2621
|
+
Field({
|
|
2622
|
+
name: "AliroNonEvictableEndpointKey", id: 0x8, conformance: "ALIRO",
|
|
2623
|
+
description: "An Endpoint public key as defined in [Aliro] which cannot be evicted if space is needed for another endpoint key",
|
|
2624
|
+
details: "Credentials of this type shall be 65-byte uncompressed elliptic curve public keys as defined in " +
|
|
2625
|
+
"section 2.3.3 of SEC 1.",
|
|
2626
|
+
xref: { document: "cluster", section: "5.2.6.9.3" }
|
|
2627
|
+
})
|
|
2715
2628
|
),
|
|
2716
2629
|
|
|
2717
2630
|
Datatype(
|
|
2718
2631
|
{
|
|
2719
2632
|
name: "DataOperationTypeEnum", type: "enum8",
|
|
2720
2633
|
details: "This enumeration shall indicate the data operation performed.",
|
|
2721
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2634
|
+
xref: { document: "cluster", section: "5.2.6.10" }
|
|
2722
2635
|
},
|
|
2723
2636
|
Field({ name: "Add", id: 0x0, conformance: "M", description: "Data is being added or was added" }),
|
|
2724
2637
|
Field({ name: "Clear", id: 0x1, conformance: "M", description: "Data is being cleared or was cleared" }),
|
|
@@ -2729,7 +2642,7 @@ export const DoorLock = Cluster(
|
|
|
2729
2642
|
{
|
|
2730
2643
|
name: "DoorStateEnum", type: "enum8",
|
|
2731
2644
|
details: "This enumeration shall indicate the current door state.",
|
|
2732
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2645
|
+
xref: { document: "cluster", section: "5.2.6.11" }
|
|
2733
2646
|
},
|
|
2734
2647
|
Field({ name: "DoorOpen", id: 0x0, conformance: "DPS", description: "Door state is open" }),
|
|
2735
2648
|
Field({ name: "DoorClosed", id: 0x1, conformance: "DPS", description: "Door state is closed" }),
|
|
@@ -2746,7 +2659,7 @@ export const DoorLock = Cluster(
|
|
|
2746
2659
|
{
|
|
2747
2660
|
name: "LockDataTypeEnum", type: "enum8",
|
|
2748
2661
|
details: "This enumeration shall indicate the data type that is being or has changed.",
|
|
2749
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2662
|
+
xref: { document: "cluster", section: "5.2.6.12" }
|
|
2750
2663
|
},
|
|
2751
2664
|
Field({
|
|
2752
2665
|
name: "Unspecified", id: 0x0, conformance: "O",
|
|
@@ -2791,6 +2704,18 @@ export const DoorLock = Cluster(
|
|
|
2791
2704
|
Field({
|
|
2792
2705
|
name: "Face", id: 0xa, conformance: "FACE",
|
|
2793
2706
|
description: "Lock user face information was added, cleared, or modified."
|
|
2707
|
+
}),
|
|
2708
|
+
Field({
|
|
2709
|
+
name: "AliroCredentialIssuerKey", id: 0xb, conformance: "ALIRO",
|
|
2710
|
+
description: "An Aliro credential issuer key credential was added, cleared, or modified."
|
|
2711
|
+
}),
|
|
2712
|
+
Field({
|
|
2713
|
+
name: "AliroEvictableEndpointKey", id: 0xc, conformance: "ALIRO",
|
|
2714
|
+
description: "An Aliro endpoint key credential which can be evicted credential was added, cleared, or modified."
|
|
2715
|
+
}),
|
|
2716
|
+
Field({
|
|
2717
|
+
name: "AliroNonEvictableEndpointKey", id: 0xd, conformance: "ALIRO",
|
|
2718
|
+
description: "An Aliro endpoint key credential which cannot be evicted was added, cleared, or modified."
|
|
2794
2719
|
})
|
|
2795
2720
|
),
|
|
2796
2721
|
|
|
@@ -2798,7 +2723,7 @@ export const DoorLock = Cluster(
|
|
|
2798
2723
|
{
|
|
2799
2724
|
name: "LockOperationTypeEnum", type: "enum8",
|
|
2800
2725
|
details: "This enumeration shall indicate the type of Lock operation performed.",
|
|
2801
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2726
|
+
xref: { document: "cluster", section: "5.2.6.13" }
|
|
2802
2727
|
},
|
|
2803
2728
|
Field({ name: "Lock", id: 0x0, conformance: "M", description: "Lock operation" }),
|
|
2804
2729
|
Field({ name: "Unlock", id: 0x1, conformance: "M", description: "Unlock operation" }),
|
|
@@ -2817,7 +2742,7 @@ export const DoorLock = Cluster(
|
|
|
2817
2742
|
{
|
|
2818
2743
|
name: "OperationErrorEnum", type: "enum8",
|
|
2819
2744
|
details: "This enumeration shall indicate the error cause of the Lock/Unlock operation performed.",
|
|
2820
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2745
|
+
xref: { document: "cluster", section: "5.2.6.14" }
|
|
2821
2746
|
},
|
|
2822
2747
|
Field({
|
|
2823
2748
|
name: "Unspecified", id: 0x0, conformance: "O",
|
|
@@ -2859,18 +2784,18 @@ export const DoorLock = Cluster(
|
|
|
2859
2784
|
"by those commands. The door lock shall NOT disable the radio or otherwise unbind or leave the " +
|
|
2860
2785
|
"network. It shall still respond to all other commands and requests.",
|
|
2861
2786
|
|
|
2862
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2787
|
+
xref: { document: "cluster", section: "5.2.6.15" }
|
|
2863
2788
|
},
|
|
2864
2789
|
|
|
2865
2790
|
Field({
|
|
2866
2791
|
name: "Normal", id: 0x0, conformance: "M",
|
|
2867
2792
|
details: "The lock operates normally. All interfaces are enabled.",
|
|
2868
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2793
|
+
xref: { document: "cluster", section: "5.2.6.15.1" }
|
|
2869
2794
|
}),
|
|
2870
2795
|
Field({
|
|
2871
2796
|
name: "Vacation", id: 0x1, conformance: "O",
|
|
2872
2797
|
details: "Only remote interaction is enabled. The keypad shall only be operable by the master user.",
|
|
2873
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2798
|
+
xref: { document: "cluster", section: "5.2.6.15.2" }
|
|
2874
2799
|
}),
|
|
2875
2800
|
|
|
2876
2801
|
Field({
|
|
@@ -2878,7 +2803,7 @@ export const DoorLock = Cluster(
|
|
|
2878
2803
|
details: "This mode is only possible if the door is locked. Manual unlocking changes the mode to Normal " +
|
|
2879
2804
|
"operating mode. All external interaction with the door lock is disabled. This mode is intended to " +
|
|
2880
2805
|
"be used so that users, presumably inside the property, will have control over the entrance.",
|
|
2881
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2806
|
+
xref: { document: "cluster", section: "5.2.6.15.3" }
|
|
2882
2807
|
}),
|
|
2883
2808
|
|
|
2884
2809
|
Field({
|
|
@@ -2886,14 +2811,14 @@ export const DoorLock = Cluster(
|
|
|
2886
2811
|
details: "This mode only disables remote interaction with the lock. This does not apply to any remote " +
|
|
2887
2812
|
"proprietary means of communication. It specifically applies to the Lock, Unlock, Toggle, and Unlock " +
|
|
2888
2813
|
"with Timeout Commands.",
|
|
2889
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2814
|
+
xref: { document: "cluster", section: "5.2.6.15.4" }
|
|
2890
2815
|
}),
|
|
2891
2816
|
|
|
2892
2817
|
Field({
|
|
2893
2818
|
name: "Passage", id: 0x4, conformance: "O",
|
|
2894
2819
|
details: "The lock is open or can be opened or closed at will without the use of a Keypad or other means of " +
|
|
2895
2820
|
"user validation (e.g. a lock for a business during work hours).",
|
|
2896
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2821
|
+
xref: { document: "cluster", section: "5.2.6.15.5" }
|
|
2897
2822
|
})
|
|
2898
2823
|
),
|
|
2899
2824
|
|
|
@@ -2901,7 +2826,7 @@ export const DoorLock = Cluster(
|
|
|
2901
2826
|
{
|
|
2902
2827
|
name: "OperationSourceEnum", type: "enum8",
|
|
2903
2828
|
details: "This enumeration shall indicate the source of the Lock/Unlock or user change operation performed.",
|
|
2904
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2829
|
+
xref: { document: "cluster", section: "5.2.6.16" }
|
|
2905
2830
|
},
|
|
2906
2831
|
Field({
|
|
2907
2832
|
name: "Unspecified", id: 0x0, conformance: "O",
|
|
@@ -2933,6 +2858,10 @@ export const DoorLock = Cluster(
|
|
|
2933
2858
|
Field({
|
|
2934
2859
|
name: "Biometric", id: 0x9, conformance: "[USR]",
|
|
2935
2860
|
description: "Lock/unlock operation came from biometric source (e.g. face, fingerprint/fingervein)"
|
|
2861
|
+
}),
|
|
2862
|
+
Field({
|
|
2863
|
+
name: "Aliro", id: 0xa, conformance: "ALIRO",
|
|
2864
|
+
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]"
|
|
2936
2865
|
})
|
|
2937
2866
|
),
|
|
2938
2867
|
|
|
@@ -2940,7 +2869,7 @@ export const DoorLock = Cluster(
|
|
|
2940
2869
|
{
|
|
2941
2870
|
name: "UserStatusEnum", type: "enum8",
|
|
2942
2871
|
details: "This enumeration shall indicate what the status is for a specific user ID.",
|
|
2943
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2872
|
+
xref: { document: "cluster", section: "5.2.6.17" }
|
|
2944
2873
|
},
|
|
2945
2874
|
Field({ name: "Available", id: 0x0, conformance: "M", description: "The user ID is available" }),
|
|
2946
2875
|
Field({ name: "OccupiedEnabled", id: 0x1, conformance: "M", description: "The user ID is occupied and enabled" }),
|
|
@@ -2951,7 +2880,7 @@ export const DoorLock = Cluster(
|
|
|
2951
2880
|
{
|
|
2952
2881
|
name: "UserTypeEnum", type: "enum8",
|
|
2953
2882
|
details: "This enumeration shall indicate what the type is for a specific user ID.",
|
|
2954
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2883
|
+
xref: { document: "cluster", section: "5.2.6.18" }
|
|
2955
2884
|
},
|
|
2956
2885
|
|
|
2957
2886
|
Field({
|
|
@@ -2959,21 +2888,41 @@ export const DoorLock = Cluster(
|
|
|
2959
2888
|
description: "The user ID type is unrestricted",
|
|
2960
2889
|
details: "This value shall indicate the user has access 24/7 provided proper PIN or RFID is supplied (e.g., " +
|
|
2961
2890
|
"owner).",
|
|
2962
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2891
|
+
xref: { document: "cluster", section: "5.2.6.18.1" }
|
|
2963
2892
|
}),
|
|
2964
2893
|
|
|
2965
2894
|
Field({
|
|
2966
2895
|
name: "YearDayScheduleUser", id: 0x1, conformance: "O", description: "The user ID type is schedule",
|
|
2896
|
+
|
|
2967
2897
|
details: "This value shall indicate the user has the ability to open lock within a specific time period " +
|
|
2968
|
-
"(e.g., guest)."
|
|
2969
|
-
|
|
2898
|
+
"(e.g., guest)." +
|
|
2899
|
+
"\n" +
|
|
2900
|
+
"When UserType is set to YearDayScheduleUser, user access shall be restricted as follows:" +
|
|
2901
|
+
"\n" +
|
|
2902
|
+
" • If no YearDaySchedules are set for the user, then access shall be denied" +
|
|
2903
|
+
"\n" +
|
|
2904
|
+
" • If one or more YearDaySchedules are set, user access shall be granted if and only if the " +
|
|
2905
|
+
" current time falls within at least one of the YearDaySchedules. If current time is not known, " +
|
|
2906
|
+
" user access shall NOT be granted.",
|
|
2907
|
+
|
|
2908
|
+
xref: { document: "cluster", section: "5.2.6.18.2" }
|
|
2970
2909
|
}),
|
|
2971
2910
|
|
|
2972
2911
|
Field({
|
|
2973
2912
|
name: "WeekDayScheduleUser", id: 0x2, conformance: "O", description: "The user ID type is schedule",
|
|
2913
|
+
|
|
2974
2914
|
details: "This value shall indicate the user has the ability to open lock based on specific time period " +
|
|
2975
|
-
"within a reoccurring weekly schedule (e.g., cleaning worker)."
|
|
2976
|
-
|
|
2915
|
+
"within a reoccurring weekly schedule (e.g., cleaning worker)." +
|
|
2916
|
+
"\n" +
|
|
2917
|
+
"When UserType is set to WeekDayScheduleUser, user access shall be restricted as follows:" +
|
|
2918
|
+
"\n" +
|
|
2919
|
+
" • If no WeekDaySchedules are set for the user, then access shall be denied" +
|
|
2920
|
+
"\n" +
|
|
2921
|
+
" • If one or more WeekDaySchedules are set, user access shall be granted if and only if the " +
|
|
2922
|
+
" current time falls within at least one of the WeekDaySchedules. If current time is not known, " +
|
|
2923
|
+
" user access shall NOT be granted.",
|
|
2924
|
+
|
|
2925
|
+
xref: { document: "cluster", section: "5.2.6.18.3" }
|
|
2977
2926
|
}),
|
|
2978
2927
|
|
|
2979
2928
|
Field({
|
|
@@ -2982,7 +2931,7 @@ export const DoorLock = Cluster(
|
|
|
2982
2931
|
"user can manage the users and user schedules. In all other respects this user matches the " +
|
|
2983
2932
|
"unrestricted (default) user. ProgrammingUser is the only user that can disable the user interface " +
|
|
2984
2933
|
"(keypad, remote, etc…).",
|
|
2985
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2934
|
+
xref: { document: "cluster", section: "5.2.6.18.4" }
|
|
2986
2935
|
}),
|
|
2987
2936
|
|
|
2988
2937
|
Field({
|
|
@@ -2990,7 +2939,7 @@ export const DoorLock = Cluster(
|
|
|
2990
2939
|
details: "This value shall indicate the user is recognized by the lock but does not have the ability to open " +
|
|
2991
2940
|
"the lock. This user will only cause the lock to generate the appropriate event notification to any " +
|
|
2992
2941
|
"bound devices.",
|
|
2993
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2942
|
+
xref: { document: "cluster", section: "5.2.6.18.5" }
|
|
2994
2943
|
}),
|
|
2995
2944
|
|
|
2996
2945
|
Field({
|
|
@@ -2998,7 +2947,7 @@ export const DoorLock = Cluster(
|
|
|
2998
2947
|
details: "This value shall indicate the user has the ability to open lock but a ForcedUser LockOperationType " +
|
|
2999
2948
|
"and ForcedUser silent alarm will be emitted to allow a notified Node to alert emergency services or " +
|
|
3000
2949
|
"contacts on the user account when used.",
|
|
3001
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2950
|
+
xref: { document: "cluster", section: "5.2.6.18.6" }
|
|
3002
2951
|
}),
|
|
3003
2952
|
|
|
3004
2953
|
Field({
|
|
@@ -3006,7 +2955,7 @@ export const DoorLock = Cluster(
|
|
|
3006
2955
|
description: "The user ID type is disposable",
|
|
3007
2956
|
details: "This value shall indicate the user has the ability to open lock once after which the lock shall " +
|
|
3008
2957
|
"change the corresponding user record UserStatus value to OccupiedDisabled automatically.",
|
|
3009
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2958
|
+
xref: { document: "cluster", section: "5.2.6.18.7" }
|
|
3010
2959
|
}),
|
|
3011
2960
|
|
|
3012
2961
|
Field({
|
|
@@ -3016,14 +2965,29 @@ export const DoorLock = Cluster(
|
|
|
3016
2965
|
"ExpiringUserTimeout minutes the corresponding user record UserStatus value shall be set to " +
|
|
3017
2966
|
"OccupiedDisabled automatically by the lock. The lock shall persist the timeout across reboots such " +
|
|
3018
2967
|
"that the ExpiringUserTimeout is honored.",
|
|
3019
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
2968
|
+
xref: { document: "cluster", section: "5.2.6.18.8" }
|
|
3020
2969
|
}),
|
|
3021
2970
|
|
|
3022
2971
|
Field({
|
|
3023
2972
|
name: "ScheduleRestrictedUser", id: 0x8, conformance: "WDSCH | YDSCH",
|
|
3024
2973
|
description: "The user ID type is schedule restricted",
|
|
3025
|
-
|
|
3026
|
-
|
|
2974
|
+
|
|
2975
|
+
details: "This value shall indicate the user access is restricted by Week Day and/or Year Day schedule. When " +
|
|
2976
|
+
"UserType is set to ScheduleRestrictedUser, user access shall be restricted as follows:" +
|
|
2977
|
+
"\n" +
|
|
2978
|
+
" • If no WeekDaySchedules and no YearDaySchedules are set for the user, then access shall be denied" +
|
|
2979
|
+
"\n" +
|
|
2980
|
+
" • If one or more WeekDaySchedules are set, but no YearDaySchedules are set for the user, then " +
|
|
2981
|
+
" user access shall be equivalent to the WeekDayScheduleUser UserType" +
|
|
2982
|
+
"\n" +
|
|
2983
|
+
" • If one or more YearDaySchedules are set, but no WeekDaySchedules are set for the user, then " +
|
|
2984
|
+
" user access shall be equivalent to the YearDayScheduleUser UserType" +
|
|
2985
|
+
"\n" +
|
|
2986
|
+
" • If one or WeekDaySchedules are set AND one or more YearDaySchedules are set, then user access " +
|
|
2987
|
+
" shall be granted if and only if the current time falls within at least one of the " +
|
|
2988
|
+
" WeekDaySchedules AND the current time falls within at least one of the YearDaySchedules.",
|
|
2989
|
+
|
|
2990
|
+
xref: { document: "cluster", section: "5.2.6.18.9" }
|
|
3027
2991
|
}),
|
|
3028
2992
|
|
|
3029
2993
|
Field({
|
|
@@ -3033,12 +2997,12 @@ export const DoorLock = Cluster(
|
|
|
3033
2997
|
"only. This type of user might be useful for regular delivery services or voice assistant unlocking " +
|
|
3034
2998
|
"operations to prevent a PIN code credential created for them from being used at the keypad. The PIN " +
|
|
3035
2999
|
"code credential would only be provided over-the-air for the lock/unlock commands.",
|
|
3036
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
3000
|
+
xref: { document: "cluster", section: "5.2.6.18.10" }
|
|
3037
3001
|
})
|
|
3038
3002
|
),
|
|
3039
3003
|
|
|
3040
3004
|
Datatype(
|
|
3041
|
-
{ name: "LockStateEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.
|
|
3005
|
+
{ name: "LockStateEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.19" } },
|
|
3042
3006
|
Field({ name: "NotFullyLocked", id: 0x0, conformance: "M", description: "Lock state is not fully locked" }),
|
|
3043
3007
|
Field({ name: "Locked", id: 0x1, conformance: "M", description: "Lock state is fully locked" }),
|
|
3044
3008
|
Field({ name: "Unlocked", id: 0x2, conformance: "M", description: "Lock state is fully unlocked" }),
|
|
@@ -3049,7 +3013,7 @@ export const DoorLock = Cluster(
|
|
|
3049
3013
|
),
|
|
3050
3014
|
|
|
3051
3015
|
Datatype(
|
|
3052
|
-
{ name: "LockTypeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.
|
|
3016
|
+
{ name: "LockTypeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.20" } },
|
|
3053
3017
|
Field({ name: "DeadBolt", id: 0x0, conformance: "M", description: "Physical lock type is dead bolt" }),
|
|
3054
3018
|
Field({ name: "Magnetic", id: 0x1, conformance: "M", description: "Physical lock type is magnetic" }),
|
|
3055
3019
|
Field({ name: "Other", id: 0x2, conformance: "M", description: "Physical lock type is other" }),
|
|
@@ -3068,7 +3032,7 @@ export const DoorLock = Cluster(
|
|
|
3068
3032
|
),
|
|
3069
3033
|
|
|
3070
3034
|
Datatype(
|
|
3071
|
-
{ name: "LEDSettingEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.
|
|
3035
|
+
{ name: "LEDSettingEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.21" } },
|
|
3072
3036
|
Field({ name: "NoLedSignal", id: 0x0, conformance: "M", description: "Never use LED for signalization" }),
|
|
3073
3037
|
Field({
|
|
3074
3038
|
name: "NoLedSignalAccessAllowed", id: 0x1, conformance: "M",
|
|
@@ -3078,7 +3042,7 @@ export const DoorLock = Cluster(
|
|
|
3078
3042
|
),
|
|
3079
3043
|
|
|
3080
3044
|
Datatype(
|
|
3081
|
-
{ name: "SoundVolumeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.
|
|
3045
|
+
{ name: "SoundVolumeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.22" } },
|
|
3082
3046
|
Field({ name: "Silent", id: 0x0, conformance: "M", description: "Silent Mode" }),
|
|
3083
3047
|
Field({ name: "Low", id: 0x1, conformance: "M", description: "Low Volume" }),
|
|
3084
3048
|
Field({ name: "High", id: 0x2, conformance: "M", description: "High Volume" }),
|
|
@@ -3086,82 +3050,24 @@ export const DoorLock = Cluster(
|
|
|
3086
3050
|
),
|
|
3087
3051
|
|
|
3088
3052
|
Datatype(
|
|
3089
|
-
{ name: "EventTypeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.
|
|
3053
|
+
{ name: "EventTypeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.23" } },
|
|
3090
3054
|
Field({ name: "Operation", id: 0x0, conformance: "M", description: "Event type is operation" }),
|
|
3091
3055
|
Field({ name: "Programming", id: 0x1, conformance: "M", description: "Event type is programming" }),
|
|
3092
3056
|
Field({ name: "Alarm", id: 0x2, conformance: "M", description: "Event type is alarm" })
|
|
3093
3057
|
),
|
|
3094
3058
|
|
|
3095
|
-
Datatype(
|
|
3096
|
-
{ name: "EventSourceEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.25" } },
|
|
3097
|
-
Field({ name: "Keypad", id: 0x0, conformance: "M", description: "Event source is keypad" }),
|
|
3098
|
-
Field({ name: "Remote", id: 0x1, conformance: "M", description: "Event source is remote" }),
|
|
3099
|
-
Field({ name: "Manual", id: 0x2, conformance: "M", description: "Event source is manual" }),
|
|
3100
|
-
Field({ name: "Rfid", id: 0x3, conformance: "M", description: "Event source is RFID" }),
|
|
3101
|
-
Field({ name: "Indeterminate", id: 0xff, conformance: "M", description: "Event source is unknown" })
|
|
3102
|
-
),
|
|
3103
|
-
|
|
3104
|
-
Datatype(
|
|
3105
|
-
{ name: "OperationEventCodeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.25.1" } },
|
|
3106
|
-
Field({ name: "UnknownOrMfgSpecific", id: 0x0, conformance: "O", description: "Event code is unknown" }),
|
|
3107
|
-
Field({ name: "Lock", id: 0x1, conformance: "O", description: "Event code is lock" }),
|
|
3108
|
-
Field({ name: "Unlock", id: 0x2, conformance: "O", description: "Event code is unlock" }),
|
|
3109
|
-
Field({
|
|
3110
|
-
name: "LockFailureInvalidPiNorRfid", id: 0x3, conformance: "O",
|
|
3111
|
-
description: "Event code is lock failure due to invalid PIN or RFID"
|
|
3112
|
-
}),
|
|
3113
|
-
Field({
|
|
3114
|
-
name: "LockFailureInvalidSchedule", id: 0x4, conformance: "O",
|
|
3115
|
-
description: "Event code is lock failure due to invalid schedule"
|
|
3116
|
-
}),
|
|
3117
|
-
Field({
|
|
3118
|
-
name: "UnlockFailureInvalidPiNorRfid", id: 0x5, conformance: "O",
|
|
3119
|
-
description: "Event code is unlock failure due to invalid PIN or RFID"
|
|
3120
|
-
}),
|
|
3121
|
-
Field({
|
|
3122
|
-
name: "UnlockFailureInvalidSchedule", id: 0x6, conformance: "O",
|
|
3123
|
-
description: "Event code is unlock failure due to invalid schedule"
|
|
3124
|
-
}),
|
|
3125
|
-
Field({ name: "OneTouchLock", id: 0x7, conformance: "O", description: "Event code is one touch lock" }),
|
|
3126
|
-
Field({ name: "KeyLock", id: 0x8, conformance: "O", description: "Event code is key lock" }),
|
|
3127
|
-
Field({ name: "KeyUnlock", id: 0x9, conformance: "O", description: "Event code is key unlock" }),
|
|
3128
|
-
Field({ name: "AutoLock", id: 0xa, conformance: "O", description: "Event code is auto lock" }),
|
|
3129
|
-
Field({ name: "ScheduleLock", id: 0xb, conformance: "WDSCH | YDSCH", description: "Event code is schedule lock" }),
|
|
3130
|
-
Field({ name: "ScheduleUnlock", id: 0xc, conformance: "WDSCH | YDSCH", description: "Event code is schedule unlock" }),
|
|
3131
|
-
Field({ name: "ManualLock", id: 0xd, conformance: "O", description: "Event code is manual lock (Key or Thumbturn)" }),
|
|
3132
|
-
Field({
|
|
3133
|
-
name: "ManualUnlock", id: 0xe, conformance: "O",
|
|
3134
|
-
description: "Event code is manual unlock (Key or Thumbturn)"
|
|
3135
|
-
}),
|
|
3136
|
-
Field({
|
|
3137
|
-
name: "NonAccessUserOperationEvent", id: 0xf, conformance: "O",
|
|
3138
|
-
description: "Event code is non access user operation"
|
|
3139
|
-
})
|
|
3140
|
-
),
|
|
3141
|
-
|
|
3142
|
-
Datatype(
|
|
3143
|
-
{ name: "ProgrammingEventCodeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.6.25.2" } },
|
|
3144
|
-
Field({ name: "UnknownOrMfgSpecific", id: 0x0, conformance: "O", description: "Event code is unknown" }),
|
|
3145
|
-
Field({ name: "ProgrammingCodeChanged", id: 0x1, conformance: "O", description: "Event code is code changed" }),
|
|
3146
|
-
Field({ name: "PinCodeAdded", id: 0x2, conformance: "O", description: "Event code is PIN added" }),
|
|
3147
|
-
Field({ name: "PinCodeCleared", id: 0x3, conformance: "O", description: "Event code is PIN cleared" }),
|
|
3148
|
-
Field({ name: "PinCodeChanged", id: 0x4, conformance: "O", description: "Event code is PIN changed" }),
|
|
3149
|
-
Field({ name: "RfidCodeAdded", id: 0x5, conformance: "O", description: "Event code is RFID added" }),
|
|
3150
|
-
Field({ name: "RfidCodeCleared", id: 0x6, conformance: "O", description: "Event code is RFID cleared" })
|
|
3151
|
-
),
|
|
3152
|
-
|
|
3153
3059
|
Datatype(
|
|
3154
3060
|
{
|
|
3155
3061
|
name: "CredentialStruct", type: "struct",
|
|
3156
3062
|
details: "This struct shall indicate the credential types and their corresponding indices (if any) for the " +
|
|
3157
3063
|
"event or user record.",
|
|
3158
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
3064
|
+
xref: { document: "cluster", section: "5.2.6.24" }
|
|
3159
3065
|
},
|
|
3160
3066
|
|
|
3161
3067
|
Field({
|
|
3162
3068
|
name: "CredentialType", id: 0x0, type: "CredentialTypeEnum", conformance: "M",
|
|
3163
3069
|
details: "This field shall indicate the credential field used to authorize the lock operation.",
|
|
3164
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
3070
|
+
xref: { document: "cluster", section: "5.2.6.24.1" }
|
|
3165
3071
|
}),
|
|
3166
3072
|
|
|
3167
3073
|
Field({
|
|
@@ -3170,14 +3076,14 @@ export const DoorLock = Cluster(
|
|
|
3170
3076
|
"in the list of credentials identified by CredentialType (e.g. PIN, RFID, etc.). This field shall be " +
|
|
3171
3077
|
"set to 0 if CredentialType is ProgrammingPIN or does not correspond to a list that can be indexed " +
|
|
3172
3078
|
"into.",
|
|
3173
|
-
xref: { document: "cluster", section: "5.2.6.
|
|
3079
|
+
xref: { document: "cluster", section: "5.2.6.24.2" }
|
|
3174
3080
|
})
|
|
3175
3081
|
),
|
|
3176
3082
|
|
|
3177
3083
|
Datatype(
|
|
3178
3084
|
{ name: "StatusCodeEnum", type: "enum8", xref: { document: "cluster", section: "5.2.7.1" } },
|
|
3179
|
-
Field({ name: "Duplicate", id: 0x2, description: "Entry would cause a duplicate credential/ID." }),
|
|
3180
|
-
Field({ name: "Occupied", id: 0x3, description: "Entry would replace an occupied slot." })
|
|
3085
|
+
Field({ name: "Duplicate", id: 0x2, conformance: "M", description: "Entry would cause a duplicate credential/ID." }),
|
|
3086
|
+
Field({ name: "Occupied", id: 0x3, conformance: "M", description: "Entry would replace an occupied slot." })
|
|
3181
3087
|
)
|
|
3182
3088
|
);
|
|
3183
3089
|
|