class

Matter::Cluster::IcdManagementCluster

Inherits Matter::Cluster::Base < Reference < Object

ICD Management Cluster (0x0046)

Minimal implementation for always-connected devices. This enables configuration of the ICD's behavior and ensures that listed clients can be notified when an intermittently connected device (ICD) is available for communication.

For always-on devices, this cluster returns sane defaults indicating the device is always available (not actually an ICD).

Matter Specification: Core 1.4 § 9.16 - ICD Management Cluster

Constants

ATTR_ACTIVE_MODE_DURATION = 1_u32
ATTR_ACTIVE_MODE_THRESHOLD = 2_u32
ATTR_ATTRIBUTE_LIST = 65531_u32
ATTR_CLIENTS_SUPPORTED_PER_FABRIC = 5_u32
ATTR_CLUSTER_REVISION = 65533_u32

Global attributes

ATTR_FEATURE_MAP = 65532_u32
ATTR_ICD_COUNTER = 4_u32
ATTR_IDLE_MODE_DURATION = 0_u32

Attribute IDs (mandatory base attributes)

ATTR_MAXIMUM_CHECK_IN_BACKOFF = 9_u32
ATTR_OPERATING_MODE = 8_u32

Optional attributes (with LongIdleTimeSupport feature)

ATTR_REGISTERED_CLIENTS = 3_u32

Optional attributes (with CheckInProtocolSupport feature)

ATTR_USER_ACTIVE_MODE_TRIGGER_HINT = 6_u32

Optional attributes (with UserActiveModeTrigger feature)

ATTR_USER_ACTIVE_MODE_TRIGGER_INSTRUCTION = 7_u32
CLUSTER_ID = 70_u32
CMD_REGISTER_CLIENT = 0_u32

Command IDs (optional - not implemented for minimal version)

CMD_STAY_ACTIVE_REQUEST = 3_u32
CMD_UNREGISTER_CLIENT = 2_u32
FEATURE_CHECK_IN_PROTOCOL_SUPPORT = 1_u32

Feature bits

FEATURE_DYNAMIC_SIT_LIT_SUPPORT = 8_u32
FEATURE_LONG_IDLE_TIME_SUPPORT = 4_u32
FEATURE_USER_ACTIVE_MODE_TRIGGER = 2_u32
Log = ::Log.for("matter.cluster.icd_management")

Constructors

new(endpoint_id : DataType::EndpointNumber = DataType::EndpointNumber.new(0_u16), idle_mode_duration : UInt32 = 1_u32, active_mode_duration : UInt32 = 300_u32, active_mode_threshold : UInt16 = 300_u16)
Source

Class methods

cluster_id

ICD Management Cluster (0x0046)

Minimal implementation for always-connected devices. This enables configuration of the ICD's behavior and ensures that listed clients can be notified when an intermittently connected device (ICD) is available for communication.

For always-on devices, this cluster returns sane defaults indicating the device is always available (not actually an ICD).

Matter Specification: Core 1.4 § 9.16 - ICD Management Cluster

Source

Instance methods

active_mode_duration
Source
active_mode_duration=(active_mode_duration : UInt32)
Source
active_mode_threshold
Source
active_mode_threshold=(active_mode_threshold : UInt16)
Source
attributes

Get all attribute metadata

Source
commands

Get all command metadata

Source
idle_mode_duration

Instance variables for base attributes For always-on devices, these represent "not really an ICD" defaults

Source
idle_mode_duration=(idle_mode_duration : UInt32)

Instance variables for base attributes For always-on devices, these represent "not really an ICD" defaults

Source
name

Get cluster name

Source
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

Source
write_attribute(attribute_id : UInt32, value : Bytes) : InteractionModel::Status

Write an attribute value

Source