Bridges and fabric administration1875 — Joint Fabric Administrator

Matter Cluster 1875 — Joint Fabric Administrator

Matter Cluster 1875 (0x0753) Joint Fabric Administrator: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 1875 — Joint Fabric Administrator Cluster

Matter Cluster 1875, also written as 0x0753, is the Joint Fabric Administrator Cluster. An instance of the Joint Fabric Administrator Cluster only applies to Joint Fabric Administrator nodes fulfilling the role of Anchor CA.

Cluster Identity

FieldValue
Cluster ID decimal1875
Cluster ID hex0x0753
Cluster nameJoint Fabric Administrator
Cluster revision (Matter 1.6.1)1
Roleutility
ScopeNode
PICS codeJFADMIN
Typical endpoint0

Revision history

RevisionChange
1Initial revision

Shadow Path Format

Cluster 1875 values in the device shadow use this format:

endpoint_id / 1875 / attribute_id

Example:

{
  "0/1875/0": 1
}
PartMeaning
0Endpoint ID
1875Joint Fabric Administrator cluster
0AdministratorFabricIndex attribute

Data Types

ICACCSRResponseStatusCodeEnum

ValueNameConformanceMeaning
0OKMNo error
1BusyMCould not be completed because another commissioning is in progress
2PAKEParameterErrorMProvided PAKE parameters were incorrectly formatted or otherwise invalid
3WindowNotOpenMThe Joint Commissioning Method commissioning window is not currently open
4VIDNotVerifiedMICACCSRRequest command has been invoked by a peer against which Fabric Table VID Verification hasn't been executed
5InvalidAdministratorFabricIndexMOpenJointCommissioningWindow command has been invoked but the AdministratorFabricIndex field has the value of null

ICACResponseStatusEnum

This enumeration is used by the AddICAC command to convey the outcome of this cluster's operations.

ValueNameConformanceMeaning
0OKMNo error
1InvalidPublicKeyMPublic Key in the ICAC is invalid
2InvalidICACMICAC chain validation failed / ICAC DN Encoding rules verification failed

TransferAnchorResponseStatusEnum

This enumeration is used by the TransferAnchorResponse command to convey the detailed outcome of this cluster's TransferAnchorRequest command.

ValueNameConformanceMeaning
0OKMNo error
1TransferAnchorStatusDatastoreBusyMAnchor Transfer was not started due to on-going Datastore operations
2TransferAnchorStatusNoUserConsentMUser has not consented for Anchor Transfer

Cluster 1875 Attributes

Cluster 1875 defines 1 attribute 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
00x0000AdministratorFabricIndexfabric-idxMR (read: admin)nullable—

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 — AdministratorFabricIndex

Path example:

0/1875/0

The AdministratorFabricIndex attribute indicates the FabricIndex from the Endpoint 0's Operational Cluster Fabrics attribute (i.e. the Fabric Table) which is associated with the JointFabric. This field has the value of null if there is no fabric associated with the JointFabric.

PropertyValue
Typefabric-idx
ConformanceM
AccessR (read: admin)
Qualitiesnullable
Constraint1 to 254

Example:

{
  "0/1875/0": 1
}

Cluster 1875 Commands

Cluster 1875 has 6 client-to-server commands and 3 responses.

IDHexCommandDirectionConformanceResponseDescription
00x00ICACCSRRequestclient → serverMICACCSRResponse—
10x01ICACCSRResponseserver → clientM——
20x02AddICACclient → serverMICACResponse—
30x03ICACResponseserver → clientM——
40x04OpenJointCommissioningWindowclient → serverMstatusThis is an alias onto the OpenCommissioningWindow command within the Joint Fabric Administrator Cluster.
50x05TransferAnchorRequestclient → serverMTransferAnchorResponseThis command is sent by a candidate Joint Fabric Anchor Administrator to the current Joint Fabric Anchor Administrator to request transfer of the Anchor Fabric.
60x06TransferAnchorResponseserver → clientM—This command is generated in response to the Transfer Anchor Request command.
70x07TransferAnchorCompleteclient → serverMstatusThis command indicates the completion of the transfer of the Anchor Fabric to another Joint Fabric Ecosystem Administrator.
80x08AnnounceJointFabricAdministratorclient → serverMstatusThis command is used for communicating to client the endpoint that holds the Joint Fabric Administrator Cluster.

AcceptedCommandList

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

endpoint_id / 1875 / 65529
{
  "0/1875/65529": [
    0,
    2,
    4,
    5,
    7,
    8
  ]
}

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

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

Purpose

ICACCSRRequest is a client-to-server command of the Joint Fabric Administrator cluster.

Command Identity

FieldValue
Command ID0
Command hex0x00
Command nameICACCSRRequest
Directionclient → server
ConformanceM
ResponseICACCSRResponse
Access(invoke: admin)

Payload Fields

This command has no payload fields.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 0,
    "cluster_id": 1875,
    "command_name": "ICACCSRRequest",
    "payload": {}
  }
}

The device answers with ICACCSRResponse (see below).


Command: ICACCSRResponse

Purpose

ICACCSRResponse is a server response of the Joint Fabric Administrator cluster.

Command Identity

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

Response Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0StatusCodestatusCodeICACCSRResponseStatusCodeEnumM——
1ICACCSRicaccsroctstrStatusCode = status, Omax length 600—

StatusCode values (ICACCSRResponseStatusCodeEnum): 0 = OK, 1 = Busy, 2 = PAKEParameterError, 3 = WindowNotOpen, 4 = VIDNotVerified, 5 = InvalidAdministratorFabricIndex


Command: AddICAC

Purpose

AddICAC is a client-to-server command of the Joint Fabric Administrator cluster.

Command Identity

FieldValue
Command ID2
Command hex0x02
Command nameAddICAC
Directionclient → server
ConformanceM
ResponseICACResponse
Access(invoke: admin)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0ICACValueicacValueoctstrMmax length 400—

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 0,
    "cluster_id": 1875,
    "command_name": "AddICAC",
    "payload": {
      "icacValue": "AQID"
    }
  }
}

The device answers with ICACResponse (see below).


Command: ICACResponse

Purpose

ICACResponse is a server response of the Joint Fabric Administrator cluster.

Command Identity

FieldValue
Command ID3
Command hex0x03
Command nameICACResponse
Directionserver → client (response)
ConformanceM

Response Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0StatusCodestatusCodeICACResponseStatusEnumM——

StatusCode values (ICACResponseStatusEnum): 0 = OK, 1 = InvalidPublicKey, 2 = InvalidICAC


Command: OpenJointCommissioningWindow

Purpose

This is an alias onto the OpenCommissioningWindow command within the Joint Fabric Administrator Cluster. Refer to the OpenCommissioningWindow command for a description of the command behavior and parameters. This command must fail with a InvalidAdministratorFabricIndex status code sent back to the initiator if the AdministratorFabricIndex attribute has the value of null. The parameters for OpenJointCommissioningWindow command are as follows:

Command Identity

FieldValue
Command ID4
Command hex0x04
Command nameOpenJointCommissioningWindow
Directionclient → server
ConformanceM
Responsestatus
Access(invoke: admin)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0CommissioningTimeoutcommissioningTimeoutuint16Mdesc—
1PAKEPasscodeVerifierpakePasscodeVerifieroctstrMallowed: 97—
2Discriminatordiscriminatoruint16Mmax 4095—
3Iterationsiterationsuint32M1000 to 100000—
4SaltsaltoctstrMlength 16 to 32—

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 0,
    "cluster_id": 1875,
    "command_name": "OpenJointCommissioningWindow",
    "payload": {
      "commissioningTimeout": 0,
      "pakePasscodeVerifier": "AQID",
      "discriminator": 1,
      "iterations": 1000,
      "salt": "AQID"
    }
  }
}

Command: TransferAnchorRequest

Purpose

This command is sent by a candidate Joint Fabric Anchor Administrator to the current Joint Fabric Anchor Administrator to request transfer of the Anchor Fabric.

Command Identity

FieldValue
Command ID5
Command hex0x05
Command nameTransferAnchorRequest
Directionclient → server
ConformanceM
ResponseTransferAnchorResponse
Access(invoke: admin)

Payload Fields

This command has no payload fields.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 0,
    "cluster_id": 1875,
    "command_name": "TransferAnchorRequest",
    "payload": {}
  }
}

The device answers with TransferAnchorResponse (see below).


Command: TransferAnchorResponse

Purpose

This command is generated in response to the Transfer Anchor Request command.

Command Identity

FieldValue
Command ID6
Command hex0x06
Command nameTransferAnchorResponse
Directionserver → client (response)
ConformanceM

Response Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0StatusCodestatusCodeTransferAnchorResponseStatusEnumM——

StatusCode values (TransferAnchorResponseStatusEnum): 0 = OK, 1 = TransferAnchorStatusDatastoreBusy, 2 = TransferAnchorStatusNoUserConsent


Command: TransferAnchorComplete

Purpose

This command indicates the completion of the transfer of the Anchor Fabric to another Joint Fabric Ecosystem Administrator.

Command Identity

FieldValue
Command ID7
Command hex0x07
Command nameTransferAnchorComplete
Directionclient → server
ConformanceM
Responsestatus
Access(invoke: admin)

Payload Fields

This command has no payload fields.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 0,
    "cluster_id": 1875,
    "command_name": "TransferAnchorComplete",
    "payload": {}
  }
}

Command: AnnounceJointFabricAdministrator

Purpose

This command is used for communicating to client the endpoint that holds the Joint Fabric Administrator Cluster. This field contains the unique identifier for the endpoint that holds the Joint Fabric Administrator Cluster.

Command Identity

FieldValue
Command ID8
Command hex0x08
Command nameAnnounceJointFabricAdministrator
Directionclient → server
ConformanceM
Responsestatus
Access(invoke: admin)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0EndpointIDendpointIDendpoint-noM——

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 0,
    "cluster_id": 1875,
    "command_name": "AnnounceJointFabricAdministrator",
    "payload": {
      "endpointID": 1
    }
  }
}

Cluster 1875 Events

Cluster 1875 defines no events.


SmartphoneKey Notes

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