Networking and diagnostics50 — Diagnostic Logs

Matter Cluster 50 — Diagnostic Logs

Matter Cluster 50 (0x0032) Diagnostic Logs: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 50 — Diagnostic Logs Cluster

Matter Cluster 50, also written as 0x0032, is the Diagnostic Logs Cluster. This Cluster supports an interface to a Node. It provides commands for retrieving unstructured diagnostic logs from a Node that may be used to aid in diagnostics. It will often be the case that unstructured diagnostic logs will be Node-wide and not specific to any subset of Endpoints.

Cluster Identity

FieldValue
Cluster ID decimal50
Cluster ID hex0x0032
Cluster nameDiagnostic Logs
Cluster revision (Matter 1.6.1)1
Roleutility
ScopeNode
PICS codeDLOG
Typical endpoint0

Revision history

RevisionChange
1Initial revision

Shadow Path Format

Cluster 50 values in the device shadow use this format:

endpoint_id / 50 / attribute_id

Data Types

IntentEnum

ValueNameConformanceMeaning
0EndUserSupportMLogs to be used for end-user support
1NetworkDiagMLogs to be used for network diagnostics
2CrashLogsMObtain crash logs from the Node

StatusEnum

ValueNameConformanceMeaning
0SuccessMSuccessful transfer of logs
1ExhaustedMAll logs have been transferred
2NoLogsMNo logs of the requested type available
3BusyMUnable to handle request, retry later
4DeniedMThe request is denied, no logs being transferred

TransferProtocolEnum

ValueNameConformanceMeaning
0ResponsePayloadMLogs to be returned as a response
1BDXMLogs to be returned using BDX

Cluster 50 Attributes

Cluster 50 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; 1 for a Matter 1.6.1 device.

Cluster 50 Commands

Cluster 50 has 1 client-to-server command and 1 response.

IDHexCommandDirectionConformanceResponseDescription
00x00RetrieveLogsRequestclient → serverMRetrieveLogsResponseReception of this command starts the process of retrieving diagnostic logs from a Node.
10x01RetrieveLogsResponseserver → clientM—This is generated as a response to the RetrieveLogsRequest.

AcceptedCommandList

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

endpoint_id / 50 / 65529
{
  "0/50/65529": [
    0
  ]
}

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

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

Purpose

Reception of this command starts the process of retrieving diagnostic logs from a Node.

Command Identity

FieldValue
Command ID0
Command hex0x00
Command nameRetrieveLogsRequest
Directionclient → server
ConformanceM
ResponseRetrieveLogsResponse
Access(invoke: operate)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0IntentintentIntentEnumM—Indicates why the diagnostic logs are being retrieved from the Node. A Node may utilize this field to selectively determine the logs to transfer.
1RequestedProtocolrequestedProtocolTransferProtocolEnumM—This field is used to indicate how the log transfer is to be realized.
2TransferFileDesignatortransferFileDesignatorstringOmax length 32This field is present if the RequestedProtocol is BDX. The TransferFileDesignator is set as the File Designator of the BDX transfer if initiated.

Intent values (IntentEnum): 0 = EndUserSupport, 1 = NetworkDiag, 2 = CrashLogs

RequestedProtocol values (TransferProtocolEnum): 0 = ResponsePayload, 1 = BDX

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 0,
    "cluster_id": 50,
    "command_name": "RetrieveLogsRequest",
    "payload": {
      "intent": 0,
      "requestedProtocol": 0
    }
  }
}

The device answers with RetrieveLogsResponse (see below).


Command: RetrieveLogsResponse

Purpose

This is generated as a response to the RetrieveLogsRequest. The data for this command is shown in the following.

Command Identity

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

Response Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0StatusstatusStatusEnumM—Indicates the result of an attempt to retrieve diagnostic logs.
1LogContentlogContentoctstrMmax length 1024This field is included in the command if the Status field has a value of Success or Exhausted. A Node should utilize this field to transfer the newest diagnostic log entries.
2UTCTimeStamputcTimeStampepoch-usO——
3TimeSinceBoottimeSinceBootsystemtime-usO—This field should be included in the command if the Status field has a value of Success.

Status values (StatusEnum): 0 = Success, 1 = Exhausted, 2 = NoLogs, 3 = Busy, 4 = Denied


Cluster 50 Events

Cluster 50 defines no events.


SmartphoneKey Notes

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