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.cr

Constant 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

Instance Method Summary

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

def self.new(endpoint_id : DataType::EndpointNumber, data_model_revision : UInt16 = 1_u16, vendor_name : String = "", vendor_id : UInt16 = 0_u16, product_name : String = "", product_id : UInt16 = 0_u16, node_label : String = "", location : String = "XX", hardware_version : UInt16 = 0_u16, hardware_version_string : String = "1.0", software_version : UInt32 = 0_u32, software_version_string : String = "1.0.0", manufacturing_date : String = "", part_number : String = "", product_url : String = "", product_label : String = "", serial_number : String = "", local_config_disabled : Bool = false, reachable : Bool = true, unique_id : String = "", capability_minima : CapabilityMinimaStruct = CapabilityMinimaStruct.new, product_appearance : ProductAppearanceStruct | Nil = nil) #

[View source]

Class Method Detail

def self.cluster_id #

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


[View source]

Instance Method Detail

def attributes : Array(AttributeMetadata) #
Description copied from class Matter::Cluster::Base

Get all attribute metadata


[View source]
def capability_minima : CapabilityMinimaStruct #

[View source]
def capability_minima=(capability_minima : CapabilityMinimaStruct) #

[View source]
def commands : Array(CommandMetadata) #
Description copied from class Matter::Cluster::Base

Get all command metadata


[View source]
def data_model_revision : UInt16 #

Attribute storage - Required


[View source]
def data_model_revision=(data_model_revision : UInt16) #

Attribute storage - Required


[View source]
def emit_leave_event(fabric_index : UInt8) #

Helper: Trigger Leave event (call when leaving fabric)


[View source]
def emit_reachable_changed_event(reachable_new_value : Bool) #

Helper: Trigger ReachableChanged event (call when reachability changes)


[View source]
def emit_shut_down_event #

Helper: Trigger ShutDown event (call when node shuts down)


[View source]
def emit_start_up_event(software_version : UInt32) #

Helper: Trigger StartUp event (call when node boots)


[View source]
def events : Array(EventMetadata) #
Description copied from class Matter::Cluster::Base

Get all event metadata


[View source]
def hardware_version : UInt16 #

[View source]
def hardware_version=(hardware_version : UInt16) #

[View source]
def hardware_version_string : String #

[View source]
def hardware_version_string=(hardware_version_string : String) #

[View source]
def local_config_disabled : Bool #

[View source]
def local_config_disabled=(local_config_disabled : Bool) #

[View source]
def location : String #

[View source]
def location=(location : String) #

[View source]
def manufacturing_date : String #

Attribute storage - Optional


[View source]
def manufacturing_date=(manufacturing_date : String) #

Attribute storage - Optional


[View source]
def name : String #
Description copied from class Matter::Cluster::Base

Get cluster name


[View source]
def node_label : String #

[View source]
def node_label=(node_label : String) #

[View source]
def part_number : String #

[View source]
def part_number=(part_number : String) #

[View source]
def product_appearance : ProductAppearanceStruct | Nil #

[View source]
def product_appearance=(product_appearance : ProductAppearanceStruct | Nil) #

[View source]
def product_id : UInt16 #

[View source]
def product_id=(product_id : UInt16) #

[View source]
def product_label : String #

[View source]
def product_label=(product_label : String) #

[View source]
def product_name : String #

[View source]
def product_name=(product_name : String) #

[View source]
def product_url : String #

[View source]
def product_url=(product_url : String) #

[View source]
def reachable : Bool #

[View source]
def reachable=(reachable : Bool) #

[View source]
def read_attribute(attribute_id : UInt32) : InteractionModel::Status | Bytes #
Description copied from class Matter::Cluster::Base

Read an attribute value


[View source]
def serial_number : String #

[View source]
def serial_number=(serial_number : String) #

[View source]
def software_version : UInt32 #

[View source]
def software_version=(software_version : UInt32) #

[View source]
def software_version_string : String #

[View source]
def software_version_string=(software_version_string : String) #

[View source]
def unique_id : String #

[View source]
def unique_id=(unique_id : String) #

[View source]
def vendor_id : UInt16 #

[View source]
def vendor_id=(vendor_id : UInt16) #

[View source]
def vendor_name : String #

[View source]
def vendor_name=(vendor_name : String) #

[View source]
def write_attribute(attribute_id : UInt32, value : Bytes) : InteractionModel::Status #
Description copied from class Matter::Cluster::Base

Write an attribute value


[View source]