Media1287 — Media Input

Matter Cluster 1287 — Media Input

Matter Cluster 1287 (0x0507) Media Input: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 1287 — Media Input Cluster

Matter Cluster 1287, also written as 0x0507, is the Media Input Cluster. This cluster provides an interface for controlling the Input Selector on a media device such as a Video Player. This cluster would be implemented on TV and other media streaming devices, as well as devices that provide input to or output from such devices. This cluster provides the list of available inputs and provides commands for selecting and renaming them.

Cluster Identity

FieldValue
Cluster ID decimal1287
Cluster ID hex0x0507
Cluster nameMedia Input
Cluster revision (Matter 1.6.1)1
Roleapplication
ScopeEndpoint
PICS codeMEDIAINPUT
Typical endpoint1

Revision history

RevisionChange
1Initial revision

Shadow Path Format

Cluster 1287 values in the device shadow use this format:

endpoint_id / 1287 / attribute_id

Example:

{
  "1/1287/1": 1
}
PartMeaning
1Endpoint ID
1287Media Input cluster
1CurrentInput attribute

Cluster 1287 Features

The FeatureMap attribute (1/1287/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 the input names

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


Data Types

InputTypeEnum

ValueNameConformanceMeaning
0InternalMIndicates content not coming from a physical input.
1AuxM—
2CoaxM—
3CompositeM—
4HDMIM—
5InputM—
6LineM—
7OpticalM—
8VideoM—
9SCARTM—
10USBM—
11OtherM—

InputInfoStruct (struct)

This contains information about an input.

FieldNameTypeConformanceConstraintMeaning
0Indexuint8M—Indicates the unique index into the list of Inputs.
1InputTypeInputTypeEnumMdescIndicates the type of input
2NamestringM—Indicates the input name, such as “HDMI 1”.
3DescriptionstringM—Indicates the user editable input description, such as “Living room Playstation”.

Cluster 1287 Attributes

Cluster 1287 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
00x0000InputListlist of InputInfoStructMR (read: view)——
10x0001CurrentInputuint8MR (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 — InputList

Path example:

1/1287/0

This attribute provides a list of the media inputs supported by the device.

PropertyValue
Typelist of InputInfoStruct
ConformanceM
AccessR (read: view)

Each entry is a InputInfoStruct (see Data Types).

Example:

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

Attribute 1 / 0x0001 — CurrentInput

Path example:

1/1287/1

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

PropertyValue
Typeuint8
ConformanceM
AccessR (read: view)

Example:

{
  "1/1287/1": 1
}

Cluster 1287 Commands

Cluster 1287 has 4 client-to-server commands and 0 responses.

IDHexCommandDirectionConformanceResponseDescription
00x00SelectInputclient → serverMstatusOn receipt, this command must change the media input on the device to the input at a specific index in the Input List.
10x01ShowInputStatusclient → serverMstatusOn receipt, this command must display the active status of the input list on screen.
20x02HideInputStatusclient → serverMstatusOn receipt, this command must hide the input list from the screen.
30x03RenameInputclient → serverNUstatusOn receipt, this command must rename the input at a specific index in the Input List.

AcceptedCommandList

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

endpoint_id / 1287 / 65529
{
  "1/1287/65529": [
    0,
    1,
    2,
    3
  ]
}

Before sending a Cluster 1287 command, check that the command ID exists in endpoint/1287/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": 1287,
    "command_name": "SelectInput",
    "payload": {},
    "timed_request_timeout_ms": 1000
  }
}

For Cluster 1287, always use "cluster_id": 1287. 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: SelectInput

Purpose

On receipt, this command must change the media input on the device to the input at a specific index in the Input List.

Command Identity

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

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0Indexindexuint8M—Indicates the index field of the InputInfoStruct from the InputList attribute in which to change to.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1287,
    "command_name": "SelectInput",
    "payload": {
      "index": 1
    }
  }
}

Command: ShowInputStatus

Purpose

On receipt, this command must display the active status of the input list on screen.

Command Identity

FieldValue
Command ID1
Command hex0x01
Command nameShowInputStatus
Directionclient → server
ConformanceM
Responsestatus
Access(invoke: operate)

Payload Fields

This command has no payload fields.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1287,
    "command_name": "ShowInputStatus",
    "payload": {}
  }
}

Command: HideInputStatus

Purpose

On receipt, this command must hide the input list from the screen.

Command Identity

FieldValue
Command ID2
Command hex0x02
Command nameHideInputStatus
Directionclient → server
ConformanceM
Responsestatus
Access(invoke: operate)

Payload Fields

This command has no payload fields.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1287,
    "command_name": "HideInputStatus",
    "payload": {}
  }
}

Command: RenameInput

Purpose

On receipt, this command must rename the input at a specific index in the Input List. Updates to the input name must appear in the device's settings menus.

Command Identity

FieldValue
Command ID3
Command hex0x03
Command nameRenameInput
Directionclient → server
ConformanceNU
Responsestatus
Access(invoke: manage)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0Indexindexuint8M——
1NamenamestringM——

Bridge Command Example

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

Cluster 1287 Events

Cluster 1287 defines no events.


SmartphoneKey Notes

  • Cluster 1287 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/1287/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.