class
Matter::Cluster::IcdManagementCluster
- Matter::Cluster::IcdManagementCluster
- Matter::Cluster::Base
- Reference
- Object
Overview
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
Defined in:
matter/cluster/icd_management_cluster.crConstant Summary
-
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
Class Method Summary
-
.cluster_id
ICD Management Cluster (0x0046)
Instance Method Summary
- #active_mode_duration : UInt32
- #active_mode_duration=(active_mode_duration : UInt32)
- #active_mode_threshold : UInt16
- #active_mode_threshold=(active_mode_threshold : UInt16)
-
#attributes : Array(AttributeMetadata)
Get all attribute metadata
-
#commands : Array(CommandMetadata)
Get all command metadata
-
#idle_mode_duration : UInt32
Instance variables for base attributes For always-on devices, these represent "not really an ICD" defaults
-
#idle_mode_duration=(idle_mode_duration : UInt32)
Instance variables for base attributes For always-on devices, these represent "not really an ICD" defaults
-
#name : String
Get cluster name
-
#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
-
#write_attribute(attribute_id : UInt32, value : Bytes) : InteractionModel::Status
Write an attribute value
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, 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=,
read_attribute(attribute_id : UInt32, fabric_index : UInt8 | Nil = nil) : 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
Class Method Detail
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
Instance Method Detail
Get all attribute metadata
Get all command metadata
Instance variables for base attributes For always-on devices, these represent "not really an ICD" defaults
Instance variables for base attributes For always-on devices, these represent "not really an ICD" defaults
Read an attribute value The fabric_index parameter is optional and used for fabric-scoped attributes like CurrentFabricIndex in OperationalCredentialsCluster
Write an attribute value