class Matter::Cluster::IdentifyCluster

Overview

Identify Cluster Implementation (0x0003)

Provides an interface for a device to identify itself to a user (e.g., by flashing a light, sounding a beep, displaying a message).

Commonly required on many device types for commissioning and user interaction.

Matter Spec: Application 1.2

Defined in:

matter/cluster/identify_cluster.cr

Constant Summary

ATTR_IDENTIFY_TIME = 0_u32

Attributes (using ATTR_ prefix for consistency)

ATTR_IDENTIFY_TYPE = 1_u32
CLUSTER_ID = 3_u32
CMD_IDENTIFY = 0_u32

Commands

CMD_TRIGGER_EFFECT = 64_u32

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, identify_type : IdentifyType = IdentifyType::None) #

[View source]

Class Method Detail

def self.cluster_id #

Identify Cluster Implementation (0x0003)

Provides an interface for a device to identify itself to a user (e.g., by flashing a light, sounding a beep, displaying a message).

Commonly required on many device types for commissioning and user interaction.

Matter Spec: Application 1.2


[View source]

Instance Method Detail

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

Get all attribute metadata


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

Get all command metadata


[View source]
def identify_time : UInt16 #

Attribute storage


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

Attribute storage


[View source]
def identify_type : IdentifyType #

[View source]
def identify_type=(identify_type : IdentifyType) #

[View source]
def identifying? : Bool #

Check if device is currently identifying


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

Get cluster name


[View source]
def on_identify_started(&block : -> Nil) #

Set callback for when identify starts


[View source]
def on_identify_stopped(&block : -> Nil) #

Set callback for when identify stops


[View source]
def on_trigger_effect(&block : EffectIdentifier, EffectVariant -> Nil) #

Set callback for trigger effect


[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 tick #

Helper: Decrement identify time (call this periodically, e.g., every second)


[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]