class
Matter::Cluster::BasicInformationCluster
Overview
Basic Information Cluster Implementation (0x0028) Provides attributes about the device hardware, software, and configuration
Required on endpoint 0 (root node).
Matter Spec: Core 11.1
Defined in:
matter/cluster/basic_information_cluster.crConstant Summary
-
ATTR_CAPABILITY_MINIMA =
19_u32 -
ATTR_DATA_MODEL_REVISION =
0_u32 -
Attribute IDs (using ATTR_ prefix for consistency)
-
ATTR_HARDWARE_VERSION =
7_u32 -
ATTR_HARDWARE_VERSION_STRING =
8_u32 -
ATTR_LOCAL_CONFIG_DISABLED =
16_u32 -
ATTR_LOCATION =
6_u32 -
ATTR_MANUFACTURING_DATE =
11_u32 -
ATTR_NODE_LABEL =
5_u32 -
ATTR_PART_NUMBER =
12_u32 -
ATTR_PRODUCT_APPEARANCE =
20_u32 -
ATTR_PRODUCT_ID =
4_u32 -
ATTR_PRODUCT_LABEL =
14_u32 -
ATTR_PRODUCT_NAME =
3_u32 -
ATTR_PRODUCT_URL =
13_u32 -
ATTR_REACHABLE =
17_u32 -
ATTR_SERIAL_NUMBER =
15_u32 -
ATTR_SOFTWARE_VERSION =
9_u32 -
ATTR_SOFTWARE_VERSION_STRING =
10_u32 -
ATTR_UNIQUE_ID =
18_u32 -
ATTR_VENDOR_ID =
2_u32 -
ATTR_VENDOR_NAME =
1_u32 -
CLUSTER_ID =
40_u32 -
EVENT_LEAVE =
2_u32 -
EVENT_REACHABLE_CHANGED =
3_u32 -
EVENT_SHUT_DOWN =
1_u32 -
EVENT_START_UP =
0_u32 -
Events
Constructors
Class Method Summary
-
.cluster_id
Basic Information Cluster Implementation (0x0028) Provides attributes about the device hardware, software, and configuration
Instance Method Summary
-
#attributes : Array(AttributeMetadata)
Get all attribute metadata
- #capability_minima : CapabilityMinimaStruct
- #capability_minima=(capability_minima : CapabilityMinimaStruct)
-
#commands : Array(CommandMetadata)
Get all command metadata
-
#data_model_revision : UInt16
Attribute storage - Required
-
#data_model_revision=(data_model_revision : UInt16)
Attribute storage - Required
-
#emit_leave_event(fabric_index : UInt8)
Helper: Trigger Leave event (call when leaving fabric)
-
#emit_reachable_changed_event(reachable_new_value : Bool)
Helper: Trigger ReachableChanged event (call when reachability changes)
-
#emit_shut_down_event
Helper: Trigger ShutDown event (call when node shuts down)
-
#emit_start_up_event(software_version : UInt32)
Helper: Trigger StartUp event (call when node boots)
-
#events : Array(EventMetadata)
Get all event metadata
- #hardware_version : UInt16
- #hardware_version=(hardware_version : UInt16)
- #hardware_version_string : String
- #hardware_version_string=(hardware_version_string : String)
- #local_config_disabled=(local_config_disabled : Bool)
- #local_config_disabled? : Bool
- #location : String
- #location=(location : String)
-
#manufacturing_date : String
Attribute storage - Optional
-
#manufacturing_date=(manufacturing_date : String)
Attribute storage - Optional
-
#name : String
Get cluster name
- #node_label : String
- #node_label=(node_label : String)
- #part_number : String
- #part_number=(part_number : String)
- #product_appearance : ProductAppearanceStruct | Nil
- #product_appearance=(product_appearance : ProductAppearanceStruct | Nil)
- #product_id : UInt16
- #product_id=(product_id : UInt16)
- #product_label : String
- #product_label=(product_label : String)
- #product_name : String
- #product_name=(product_name : String)
- #product_url : String
- #product_url=(product_url : String)
- #reachable=(reachable : Bool)
- #reachable? : Bool
-
#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.
- #serial_number : String
- #serial_number=(serial_number : String)
- #software_version : UInt32
- #software_version=(software_version : UInt32)
- #software_version_string : String
- #software_version_string=(software_version_string : String)
- #unique_id : String
- #unique_id=(unique_id : String)
- #vendor_id : UInt16
- #vendor_id=(vendor_id : UInt16)
- #vendor_name : String
- #vendor_name=(vendor_name : String)
-
#write_attribute(attribute_id : UInt32, value : Bytes) : InteractionModel::Status
Write an attribute value
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
Basic Information Cluster Implementation (0x0028) Provides attributes about the device hardware, software, and configuration
Required on endpoint 0 (root node).
Matter Spec: Core 11.1
Instance Method Detail
Get all attribute metadata
Get all command metadata
Helper: Trigger ReachableChanged event (call when reachability changes)
Helper: Trigger StartUp event (call when node boots)
Get all event 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.
Write an attribute value