class Matter::Cluster::DescriptorCluster

Overview

Descriptor Cluster Implementation (0x001D) Required on all endpoints to describe the endpoint's configuration

Defined in:

matter/cluster/descriptor_cluster.cr

Constant Summary

ATTRIBUTE_LIST = 65531_u32
CLIENT_LIST = 2_u32
CLUSTER_ID = 29_u32
CLUSTER_REVISION = 65533_u32

Global attributes

DEVICE_TYPE_LIST = 0_u32

Attribute IDs

FEATURE_MAP = 65532_u32
PARTS_LIST = 3_u32
SERVER_LIST = 1_u32
TAG_LIST = 4_u32

Constructors

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)) : InteractionModel::Status | Bytes 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, device_types : Array(DeviceTypeInfo) = [] of DeviceTypeInfo, server_clusters : Array(UInt32) = [] of UInt32, client_clusters : Array(UInt32) = [] of UInt32, parts : Array(UInt16) = [] of UInt16) #

[View source]

Instance Method Detail

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

Get all attribute metadata


[View source]
def client_clusters : Array(UInt32) #

[View source]
def client_clusters=(client_clusters : Array(UInt32)) #

[View source]
def device_types : Array(DeviceTypeInfo) #

[View source]
def device_types=(device_types : Array(DeviceTypeInfo)) #

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

Get cluster name


[View source]
def parts : Array(UInt16) #

[View source]
def parts=(parts : Array(UInt16)) #

[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 server_clusters : Array(UInt32) #

[View source]
def server_clusters=(server_clusters : Array(UInt32)) #

[View source]