Media1294 — Account Login

Matter Cluster 1294 — Account Login

Matter Cluster 1294 (0x050E) Account Login: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 1294 — Account Login Cluster

Matter Cluster 1294, also written as 0x050E, is the Account Login Cluster. This cluster provides commands that facilitate user account login on a Content App or a node. For example, a Content App running on a Video Player device, which is represented as an endpoint, can use this cluster to help make the user account on the Content App match the user account on the Client. Often a fabric administrator will facilitate commissioning of a Client (such as a Casting Video Client), and invoke commands on the Account Login cluster on the Content App associated with that client.

Cluster Identity

FieldValue
Cluster ID decimal1294
Cluster ID hex0x050E
Cluster nameAccount Login
Cluster revision (Matter 1.6.1)2
Roleapplication
ScopeEndpoint
PICS codeALOGIN
Typical endpoint1

Revision history

RevisionChange
1Initial revision
2Add support for 8 character Passcode in GetSetupPIN and Login, Add Node to Login, Logout commands. Add LoggedOut event

Shadow Path Format

Cluster 1294 values in the device shadow use this format:

endpoint_id / 1294 / attribute_id

Cluster 1294 Attributes

Cluster 1294 defines no cluster-specific attributes; only the global attributes are present.

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; 2 for a Matter 1.6.1 device.

Cluster 1294 Commands

Cluster 1294 has 3 client-to-server commands and 1 response.

IDHexCommandDirectionConformanceResponseDescription
00x00GetSetupPINclient → serverMGetSetupPINResponse—
10x01GetSetupPINResponseserver → clientM——
20x02Loginclient → serverMstatusThe purpose of this command is to allow the Content App to assume the user account of a given Commissionee by leveraging the Setup PIN input by the user during the commissioning …
30x03Logoutclient → serverMstatusThe purpose of this command is to instruct the Content App to clear the current user account.

AcceptedCommandList

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

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

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

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

Purpose

GetSetupPIN is a client-to-server command of the Account Login cluster.

Command Identity

FieldValue
Command ID0
Command hex0x00
Command nameGetSetupPIN
Directionclient → server
ConformanceM
ResponseGetSetupPINResponse
Access(invoke: admin, timed, fabric-scoped)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0TempAccountIdentifiertempAccountIdentifierstringMlength 16 to 100—

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1294,
    "command_name": "GetSetupPIN",
    "payload": {
      "tempAccountIdentifier": "example"
    },
    "timed_request_timeout_ms": 1000
  }
}

This is a timed command: the bridge must send it inside a timed interaction, so timed_request_timeout_ms is required.

The device answers with GetSetupPINResponse (see below).


Command: GetSetupPINResponse

Purpose

GetSetupPINResponse is a server response of the Account Login cluster.

Command Identity

FieldValue
Command ID1
Command hex0x01
Command nameGetSetupPINResponse
Directionserver → client (response)
ConformanceM

Response Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0SetupPINsetupPINstringMdesc—

Command: Login

Purpose

The purpose of this command is to allow the Content App to assume the user account of a given Commissionee by leveraging the Setup PIN input by the user during the commissioning process. For example, a Video Player with a Content App Platform may invoke this command on one of its Content App endpoints after the commissioning has completed of a Phone App made by the same vendor as the Content App. The Content App may determine whether the Temporary Account Identifier maps to an account with a corresponding Setup PIN and, if so, it may automatically login to the account for the corresponding user.

Command Identity

FieldValue
Command ID2
Command hex0x02
Command nameLogin
Directionclient → server
ConformanceM
Responsestatus
Access(invoke: admin, timed, fabric-scoped)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0TempAccountIdentifiertempAccountIdentifierstringMlength 16 to 100This field specifies the client's temporary account identifier.
1SetupPINsetupPINstringMmin length 8—
2Nodenodenode-idO—This optional field provides the Node ID of the Client. This field can be used by the Content App to keep track of Nodes which currently have access to it.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1294,
    "command_name": "Login",
    "payload": {
      "tempAccountIdentifier": "example",
      "setupPIN": "example"
    },
    "timed_request_timeout_ms": 1000
  }
}

This is a timed command: the bridge must send it inside a timed interaction, so timed_request_timeout_ms is required.


Command: Logout

Purpose

The purpose of this command is to instruct the Content App to clear the current user account. This command should be used by clients of a Content App to indicate the end of a user session.

Command Identity

FieldValue
Command ID3
Command hex0x03
Command nameLogout
Directionclient → server
ConformanceM
Responsestatus
Access(invoke: operate, timed, fabric-scoped)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0Nodenodenode-idO—This optional field provides the Node ID of the Client. This field can be used by the Content App to keep track of Nodes which currently have access to it.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1294,
    "command_name": "Logout",
    "payload": {
      "node": 1
    },
    "timed_request_timeout_ms": 1000
  }
}

This is a timed command: the bridge must send it inside a timed interaction, so timed_request_timeout_ms is required.


Cluster 1294 Events

IDHexEventPriorityConformanceDescription
00x00LoggedOutcriticalOThis event can be used by the Content App to indicate that the current user has logged out.

Event 0 — LoggedOut

This event can be used by the Content App to indicate that the current user has logged out. In response to this event, the Fabric Admin must remove access to this Content App by the specified Node. If no Node is provided, then the Fabric Admin must remove access to all non-Admin Nodes.

IDFieldTypeConformanceMeaning
0Nodenode-idOThis field provides the Node ID corresponding to the user account that has logged out, if that Node ID is available. If it is NOT available, this field must NOT be present in the event.

SmartphoneKey Notes

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