class

Matter::Cluster::OtaRequestorCluster

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

OTA Software Update Requestor Cluster (0x002A)

Minimal implementation for devices that don't support OTA updates. This cluster is required by some controllers (e.g., Apple Home) to be present even if the device doesn't actually support OTA updates.

This implementation returns sensible defaults:

  • UpdatePossible: true (device can be updated, but no updates available)
  • UpdateState: Idle (1) - no update in progress
  • UpdateStateProgress: null - no progress to report
  • DefaultOTAProviders: empty list

Matter Specification: Core 1.4 § 11.20.7 - OTA Software Update Requestor Cluster

Constants

ATTR_ATTRIBUTE_LIST = 65531_u32
ATTR_CLUSTER_REVISION = 65533_u32

Global attributes

ATTR_DEFAULT_OTA_PROVIDERS = 0_u32

Attribute IDs

ATTR_FEATURE_MAP = 65532_u32
ATTR_UPDATE_POSSIBLE = 1_u32
ATTR_UPDATE_STATE = 2_u32
ATTR_UPDATE_STATE_PROGRESS = 3_u32
CLUSTER_ID = 42_u32
CMD_ANNOUNCE_OTA_PROVIDER = 0_u32

Command IDs (optional - not implemented for minimal version)

Log = ::Log.for("matter.cluster.ota_requestor")

Constructors

new(endpoint_id : DataType::EndpointNumber = DataType::EndpointNumber.new(0_u16), update_possible : Bool = true, update_state : UpdateState = UpdateState::Idle, update_state_progress : UInt8 | Nil = nil)
Source

Class methods

cluster_id

OTA Software Update Requestor Cluster (0x002A)

Minimal implementation for devices that don't support OTA updates. This cluster is required by some controllers (e.g., Apple Home) to be present even if the device doesn't actually support OTA updates.

This implementation returns sensible defaults:

  • UpdatePossible: true (device can be updated, but no updates available)
  • UpdateState: Idle (1) - no update in progress
  • UpdateStateProgress: null - no progress to report
  • DefaultOTAProviders: empty list

Matter Specification: Core 1.4 § 11.20.7 - OTA Software Update Requestor Cluster

Source

Instance methods

attributes

Get all attribute metadata

Source
commands

Get all command metadata

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
update_possible=(update_possible : Bool)

Instance variables

Source
update_possible?

Instance variables

Source
update_state
Source
update_state=(update_state : UpdateState)
Source
update_state_progress
Source
update_state_progress=(update_state_progress : UInt8 | Nil)
Source
write_attribute(attribute_id : UInt32, value : Bytes) : InteractionModel::Status

Write an attribute value

Source

Nested types