class
Matter::Cluster::AccessControlCluster
- Matter::Cluster::AccessControlCluster
- Matter::Cluster::Base
- Reference
- Object
Overview
Access Control Cluster (0x001F)
Provides fine-grained access control for Matter devices using Access Control Lists (ACLs).
Matter Spec: Core 9.10
Defined in:
matter/cluster/access_control_cluster.crConstant Summary
-
ATTR_ACCESS_CONTROL_ENTRIES_PER_FABRIC =
4_u32 -
ATTR_ACL =
0_u32 -
Attributes
-
ATTR_EXTENSION =
1_u32 -
ATTR_SUBJECTS_PER_ACCESS_CONTROL_ENTRY =
2_u32 -
ATTR_TARGETS_PER_ACCESS_CONTROL_ENTRY =
3_u32 -
CLUSTER_ID =
31_u32 -
Log =
::Log.for("matter.cluster.access_control")
Constructors
Class Method Summary
-
.cluster_id
Access Control Cluster (0x001F)
Instance Method Summary
- #access_control_entries_per_fabric : UInt16
- #access_control_entries_per_fabric=(access_control_entries_per_fabric : UInt16)
-
#acl : Array(AccessControlEntry)
Attribute storage
-
#acl=(acl : Array(AccessControlEntry))
Attribute storage
-
#attributes : Array(AttributeMetadata)
Get all attribute metadata
-
#check_access(subject : UInt64, fabric_index : UInt8, privilege : AccessControlEntryPrivilege, cluster : UInt32 | Nil = nil, endpoint : UInt16 | Nil = nil, device_type : UInt32 | Nil = nil) : Bool
Check if a subject has the required privilege
-
#commands : Array(CommandMetadata)
Get all command metadata
- #extension : Array(ExtensionEntry)
- #extension=(extension : Array(ExtensionEntry))
-
#get_acl_for_fabric(fabric_index : UInt8) : Array(AccessControlEntry)
Helper: Get ACL entries for a specific fabric
-
#name : String
Get cluster name
-
#read_attribute(attribute_id : UInt32) : InteractionModel::Status | Bytes
Read an attribute value
-
#remove_fabric_acl(fabric_index : UInt8) : Nil
Helper: Remove all ACL entries for a fabric
- #subjects_per_access_control_entry : UInt16
- #subjects_per_access_control_entry=(subjects_per_access_control_entry : UInt16)
- #targets_per_access_control_entry : UInt16
- #targets_per_access_control_entry=(targets_per_access_control_entry : UInt16)
-
#write_attribute(attribute_id : UInt32, value : Bytes) : InteractionModel::Status
Write an attribute value
Instance methods inherited from class Matter::Cluster::Base
attributes : Array(AttributeMetadata)
attributes,
cluster_id : DataType::ClusterId
cluster_id,
cluster_id=(cluster_id : DataType::ClusterId)
cluster_id=,
commands : Array(CommandMetadata)
commands,
data_version : UInt32
data_version,
data_version=(data_version : UInt32)
data_version=,
endpoint_id : DataType::EndpointNumber
endpoint_id,
endpoint_id=(endpoint_id : DataType::EndpointNumber)
endpoint_id=,
events : Array(EventMetadata)
events,
get_attribute_metadata(attribute_id : UInt32) : AttributeMetadata | Nil
get_attribute_metadata,
get_command_metadata(command_id : UInt32) : CommandMetadata | Nil
get_command_metadata,
invoke_command(command_id : UInt32, fields : Bytes = Bytes.new(0), session_id : UInt64 | Nil = nil) : InteractionModel::Status | CommandResponse
invoke_command,
name : String
name,
read_attribute(attribute_id : UInt32) : InteractionModel::Status | Bytes
read_attribute,
write_attribute(attribute_id : UInt32, value : Bytes) : InteractionModel::Status
write_attribute
Constructor methods inherited from class Matter::Cluster::Base
new(endpoint_id : DataType::EndpointNumber, cluster_id : DataType::ClusterId)
new
Constructor Detail
Class Method Detail
Access Control Cluster (0x001F)
Provides fine-grained access control for Matter devices using Access Control Lists (ACLs).
Matter Spec: Core 9.10
Instance Method Detail
Get all attribute metadata
Check if a subject has the required privilege
Get all command metadata
Helper: Get ACL entries for a specific fabric
Read an attribute value
Write an attribute value