class
Matter::Cluster::GroupsCluster
- Matter::Cluster::GroupsCluster
- Matter::Cluster::Base
- Reference
- Object
Overview
Groups Cluster Implementation (0x0004) Manages group membership for multicast communication
Features:
- GroupNames (GN): Store names for groups
Specification: Matter 1.4 § 1.3
Defined in:
matter/cluster/groups_cluster.crConstant Summary
-
CLUSTER_ID =
4_u32 -
CLUSTER_REVISION =
65533_u32 -
Global attributes
-
CMD_ADD_GROUP =
0_u32 -
Command IDs
-
CMD_ADD_GROUP_IF_IDENTIFYING =
5_u32 -
CMD_ADD_GROUP_RESPONSE =
0_u32 -
Response IDs
-
CMD_GET_GROUP_MEMBERSHIP =
2_u32 -
CMD_GET_GROUP_MEMBERSHIP_RESPONSE =
2_u32 -
CMD_REMOVE_ALL_GROUPS =
4_u32 -
CMD_REMOVE_GROUP =
3_u32 -
CMD_REMOVE_GROUP_RESPONSE =
3_u32 -
CMD_VIEW_GROUP =
1_u32 -
CMD_VIEW_GROUP_RESPONSE =
1_u32 -
FEATURE_MAP_ATTR =
65532_u32 -
NAME_SUPPORT =
0_u32 -
Attribute IDs
Constructors
Class Method Summary
-
.cluster_id
Groups Cluster Implementation (0x0004) Manages group membership for multicast communication
Instance Method Summary
-
#attributes : Array(AttributeMetadata)
Get all attribute metadata
-
#commands : Array(CommandMetadata)
Get all command metadata
-
#feature_map : Feature
Feature map
-
#feature_map=(feature_map : Feature)
Feature map
- #group_count : Int32
-
#groups : Hash(UInt16, String)
Group storage: GroupId => GroupName
-
#groups=(groups : Hash(UInt16, String))
Group storage: GroupId => GroupName
-
#member_of?(group_id : UInt16) : Bool
Public API
-
#name : String
Get cluster name
-
#read_attribute(attribute_id : UInt32, fabric_index : UInt8 | Nil = nil) : InteractionModel::Status | Bytes
Read an attribute value The fabric_index parameter is optional and used for fabric-scoped attributes like CurrentFabricIndex in OperationalCredentialsCluster
-
#restore_state(json : String) : Nil
Restore cluster state from JSON.
-
#save_state : String | Nil
Save cluster state to JSON for persistence.
Instance methods inherited from class Matter::Cluster::Base
apply_scene_extension_field_set(field_set : ScenesManagementCluster::ExtensionFieldSet) : Bool
apply_scene_extension_field_set,
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, is_case_session : Bool = false, fabric_index : UInt8 | Nil = nil) : InteractionModel::Status | CommandResponse
invoke_command,
name : String
name,
on_attribute_changed : Proc(UInt16, UInt32, UInt32, Nil) | Nil
on_attribute_changed,
on_attribute_changed=(on_attribute_changed : Proc(UInt16, UInt32, UInt32, Nil) | Nil)
on_attribute_changed=,
persistence_key : String
persistence_key,
read_attribute(attribute_id : UInt32, fabric_index : UInt8 | Nil = nil) : InteractionModel::Status | Bytes
read_attribute,
request_fabric_index : UInt8 | Nil
request_fabric_index,
request_fabric_index=(request_fabric_index : UInt8 | Nil)
request_fabric_index=,
request_is_case_session=(request_is_case_session : Bool)
request_is_case_session=,
request_is_case_session? : Bool
request_is_case_session?,
request_peer_node_id : UInt64 | Nil
request_peer_node_id,
request_peer_node_id=(request_peer_node_id : UInt64 | Nil)
request_peer_node_id=,
request_session_id : UInt64 | Nil
request_session_id,
request_session_id=(request_session_id : UInt64 | Nil)
request_session_id=,
restore_state(json : String) : Nil
restore_state,
save_state : String | Nil
save_state,
store_scene_extension_field_set : ScenesManagementCluster::ExtensionFieldSet | Nil
store_scene_extension_field_set,
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
Groups Cluster Implementation (0x0004) Manages group membership for multicast communication
Features:
- GroupNames (GN): Store names for groups
Specification: Matter 1.4 § 1.3
Instance Method Detail
Get all attribute metadata
Get all command metadata
Read an attribute value The fabric_index parameter is optional and used for fabric-scoped attributes like CurrentFabricIndex in OperationalCredentialsCluster
Restore cluster state from JSON. Override in subclasses that need to restore state. The json parameter is the string returned by save_state.
Save cluster state to JSON for persistence. Override in subclasses that need to persist state (e.g., scenes, groups). Returns nil if no state needs to be persisted.