Media1291 — Audio Output

Matter Cluster 1291 — Audio Output

Matter Cluster 1291 (0x050B) Audio Output: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 1291 — Audio Output Cluster

Matter Cluster 1291, also written as 0x050B, is the Audio Output Cluster. This cluster provides an interface for controlling the Output on a Video Player device such as a TV. This cluster would be supported on a device with audio outputs like a Video Player device (Smart TV, TV Setup Top Box, Smart Speaker, etc). This cluster provides the list of available outputs and provides commands for selecting and renaming them.

Cluster Identity

FieldValue
Cluster ID decimal1291
Cluster ID hex0x050B
Cluster nameAudio Output
Cluster revision (Matter 1.6.1)1
Roleapplication
ScopeEndpoint
PICS codeAUDIOOUTPUT
Typical endpoint1

Revision history

RevisionChange
1Initial revision

Shadow Path Format

Cluster 1291 values in the device shadow use this format:

endpoint_id / 1291 / attribute_id

Example:

{
  "1/1291/1": 1
}
PartMeaning
1Endpoint ID
1291Audio Output cluster
1CurrentOutput attribute

Cluster 1291 Features

The FeatureMap attribute (1/1291/65532) is a bitmap. Each bit set means the device implements that feature and the attributes and commands that depend on it.

BitCodeFeatureConformanceMeaning
0NUNameUpdatesOSupports updates to output names

Example: FeatureMap = 0 means no optional feature is enabled; 1 means every feature listed above is enabled.


Data Types

OutputTypeEnum

The type of output, expressed as an enum, with the following values:

ValueNameConformanceMeaning
0HDMIMHDMI
1BTM—
2OpticalM—
3HeadphoneM—
4InternalM—
5OtherM—

OutputInfoStruct (struct)

This contains information about an output.

FieldNameTypeConformanceConstraintMeaning
0Indexuint8M—Indicates the unique index into the list of outputs.
1OutputTypeOutputTypeEnumMdescIndicates the type of output.
2NamestringMmax length 32The device defined and user editable output name, such as “Soundbar”, “Speakers”.

Cluster 1291 Attributes

Cluster 1291 defines 2 attributes plus the global attributes. Conformance: M mandatory, O optional, a feature code means "mandatory when that feature is present", square brackets mean "optional when …".

IDHexAttributeTypeConformanceAccessQualitiesDefault
00x0000OutputListlist of OutputInfoStructMR (read: view)——
10x0001CurrentOutputuint8MR (read: view)——

Global attributes

IDHexAttributeMeaning
655280xFFF8GeneratedCommandListResponse command IDs this server generates.
655290xFFF9AcceptedCommandListCommand IDs this server accepts.
655310xFFFBAttributeListAttribute IDs implemented.
655320xFFFCFeatureMapImplemented optional features (see above).
655330xFFFDClusterRevisionCluster revision implemented; 1 for a Matter 1.6.1 device.

Attribute Details

Attribute 0 / 0x0000 — OutputList

Path example:

1/1291/0

This attribute provides the list of outputs supported by the device.

PropertyValue
Typelist of OutputInfoStruct
ConformanceM
AccessR (read: view)

Each entry is a OutputInfoStruct (see Data Types).

Example:

{
  "1/1291/0": []
}

Attribute 1 / 0x0001 — CurrentOutput

Path example:

1/1291/1

This attribute contains the value of the index field of the currently selected OutputInfoStruct.

PropertyValue
Typeuint8
ConformanceM
AccessR (read: view)

Example:

{
  "1/1291/1": 1
}

Cluster 1291 Commands

Cluster 1291 has 2 client-to-server commands and 0 responses.

IDHexCommandDirectionConformanceResponseDescription
00x00SelectOutputclient → serverMstatusOn receipt, this must change the output on the device to the output at a specific index in the Output List.
10x01RenameOutputclient → serverNUstatusOn receipt, this must rename the output at a specific index in the Output List.

AcceptedCommandList

The AcceptedCommandList attribute lists the command IDs the endpoint actually implements:

endpoint_id / 1291 / 65529
{
  "1/1291/65529": [
    0,
    1
  ]
}

Before sending a Cluster 1291 command, check that the command ID exists in endpoint/1291/65529. Optional commands are only present when the matching feature is set in FeatureMap.


Bridge Command Payload Format

The bridge accepts Matter commands in this structure:

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1291,
    "command_name": "SelectOutput",
    "payload": {},
    "timed_request_timeout_ms": 1000
  }
}

For Cluster 1291, always use "cluster_id": 1291. Payload keys are the command field names in lowerCamelCase. Octet-string fields are base64-encoded. timed_request_timeout_ms is required for timed commands and ignored otherwise.


Command: SelectOutput

Purpose

On receipt, this must change the output on the device to the output at a specific index in the Output List. Note that when the current output is set to an output of type HDMI, adjustments to volume via a Speaker endpoint on the same node may cause HDMI volume up/down commands to be sent to the given HDMI output.

Command Identity

FieldValue
Command ID0
Command hex0x00
Command nameSelectOutput
Directionclient → server
ConformanceM
Responsestatus
Access(invoke: operate)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0Indexindexuint8M—This indicates the index field of the OutputInfoStruct from the OutputList attribute in which to change to.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1291,
    "command_name": "SelectOutput",
    "payload": {
      "index": 1
    }
  }
}

Command: RenameOutput

Purpose

On receipt, this must rename the output at a specific index in the Output List. Updates to the output name must appear in the device's settings menus. Name updates may automatically be sent to the actual device to which the output connects.

Command Identity

FieldValue
Command ID1
Command hex0x01
Command nameRenameOutput
Directionclient → server
ConformanceNU
Responsestatus
Access(invoke: manage)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0Indexindexuint8M——
1NamenamestringMmax length 32—

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1291,
    "command_name": "RenameOutput",
    "payload": {
      "index": 1,
      "name": "example"
    }
  }
}

Cluster 1291 Events

Cluster 1291 defines no events.


SmartphoneKey Notes

  • Cluster 1291 is not currently exposed by SmartphoneKey devices. This page documents the Matter 1.6.1 specification so that future devices can be interpreted without changes to the backend.
  • Shadow paths follow endpoint/1291/attribute; attribute values that the device reports as unreadable are written as n/a.
  • Attribute IDs, command IDs and enum values on this page come from the CSA Matter 1.6.1 data model; descriptions are condensed from the specification text.