Appliances84 — RVC Run Mode

Matter Cluster 84 — RVC Run Mode

Matter Cluster 84 (0x0054) RVC Run Mode: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 84 — RVC Run Mode Cluster

Matter Cluster 84, also written as 0x0054, is the RVC Run Mode Cluster. This cluster is derived from the Mode Base cluster and defines additional mode tags and namespaced enumerated values for the running modes of robotic vacuum cleaner devices.

This cluster is derived from the Mode Base cluster: it inherits the base attributes, commands and data types listed below and adds the cluster-specific values. Where the base definition applies, the base text is used.

Cluster Identity

FieldValue
Cluster ID decimal84
Cluster ID hex0x0054
Cluster nameRVC Run Mode
Cluster revision (Matter 1.6.1)4
Roleapplication
ScopeEndpoint
PICS codeRVCRUNM
Typical endpoint1

Revision history

RevisionChange
1Initial revision
2Add constraint about switching from non-Idle to non-Idle modes. ChangeToModeResponse command: StatusText must be provided for InvalidInMode status. Deprecate the OnMode attribute and the related feature map bit. Add the Mapping mode tag.
3Remove constraint on changing cleaning modes while the RVC Run Mode cluster is in a non-Idle mode. Continue to allow InvalidInMode response for devices that do not support such mode changes.
4DirectModeChange made non-provisional

Shadow Path Format

Cluster 84 values in the device shadow use this format:

endpoint_id / 84 / attribute_id

Example:

{
  "1/84/0": 0
}
PartMeaning
1Endpoint ID
84RVC Run Mode cluster
0SupportedModes attribute

Cluster 84 Features

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

BitCodeFeatureConformanceMeaning
0DEPONOFFOnOffXDependency with the OnOff cluster
20DIRECTMODECHDirectModeChangeOCluster supports changing run modes from non-Idle states

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


Data Types

ModeTag

ValueNameConformanceMeaning
0Auto—The device decides the best mode automatically.
1Quick—Faster than normal, usually at the cost of quality or energy.
2Quiet—Minimises noise.
3LowNoise—Reduced noise compared with normal operation.
4LowEnergy—Reduced energy consumption.
5Vacation—Long-absence mode (reduced activity or safe state).
6Min—Lowest setting of the controlled quantity.
7Max—Highest setting of the controlled quantity.
8Night—Night-time operation.
9Day—Day-time operation.
16384Idle—The device is not performing any of the main operations of the other modes.
16385Cleaning—The device was asked to clean so it may be actively running, or paused due to an error, due to a pause command, or for recharging etc.
16386Mapping—The device was asked to create a map of the space it is located in, so it may be actively running, or paused due to an error, due to a pause command, or for recharging etc.

StatusCodeEnum

ValueNameConformanceMeaning
65StuckM—
66DustBinMissingM—
67DustBinFullM—
68WaterTankEmptyM—
69WaterTankMissingM—
70WaterTankLidOpenM—
71MopCleaningPadMissingM—
72BatteryLowM—

ModeOptionStruct (struct)

This is a struct representing a possible mode of the server.

FieldNameTypeConformanceConstraintMeaning
0LabelstringMmax length 64Indicates readable text that describes the mode option, so that a client can provide it to the user to indicate what this option means.
1Modeuint8M—This field is used to identify the mode option.
2ModeTagslist of ModeTagStructM1 to 8This field contains a list of tags that are associated with the mode option.

ModeTagStruct (struct)

A Mode Tag is meant to be interpreted by the client for the purpose the cluster serves.

FieldNameTypeConformanceConstraintMeaning
0MfgCodevendor-idOdescIf the MfgCode field exists, the Value field is in the manufacturer-specific value range.
1Valueenum16M—Indicates the mode tag within a mode tag namespace which is either manufacturer specific or standard.

Cluster 84 Attributes

Cluster 84 defines 4 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
00x0000SupportedModes————
10x0001CurrentMode————
20x0002StartUpModeX———
30x0003OnModeX———

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

Attribute Details

Attribute 0 / 0x0000 — SupportedModes

Path example:

1/84/0

At least one entry in the SupportedModes attribute includes the Idle mode tag in the ModeTags field. At least one entry in the SupportedModes attribute (different from the one above) includes the Cleaning mode tag in the ModeTags field. The Mapping, Cleaning, and Idle mode tags are mutually exclusive and must NOT be used together in a mode's ModeTags.

PropertyValue
Type
Conformance—
Access—

Example:

{
  "1/84/0": 0
}

Attribute 1 / 0x0001 — CurrentMode

Path example:

1/84/1

No condensed specification text is available for CurrentMode; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Type
Conformance—
Access—

Example:

{
  "1/84/1": 0
}

Attribute 2 / 0x0002 — StartUpMode

Path example:

1/84/2

No condensed specification text is available for StartUpMode; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Type
ConformanceX
Access—

Example:

{
  "1/84/2": 0
}

Attribute 3 / 0x0003 — OnMode

Path example:

1/84/3

No condensed specification text is available for OnMode; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Type
ConformanceX
Access—

Example:

{
  "1/84/3": 0
}

Cluster 84 Commands

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

IDHexCommandDirectionConformanceResponseDescription
00x00ChangeToModeclient → serverMChangeToModeResponseThis command is used to change device modes.
10x01ChangeToModeResponseserver → clientM—This command is sent by the device on receipt of the ChangeToMode command.

AcceptedCommandList

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

endpoint_id / 84 / 65529
{
  "1/84/65529": [
    0
  ]
}

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

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

Purpose

This command is used to change device modes. On receipt of this command the device must respond with a ChangeToModeResponse command.

Command Identity

FieldValue
Command ID0
Command hex0x00
Command nameChangeToMode
Directionclient → server
ConformanceM
ResponseChangeToModeResponse
Access(invoke: operate)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0NewModenewModeuint8MdescIf the NewMode field doesn't match the Mode field of any entry of the SupportedModes list, the ChangeToModeResponse command's Status field indicates UnsupportedMode and the StatusText field is included and may be used to indicate the issue, with a human …

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 84,
    "command_name": "ChangeToMode",
    "payload": {
      "newMode": 1
    }
  }
}

The device answers with ChangeToModeResponse (see below).


Command: ChangeToModeResponse

Purpose

This command is sent by the device on receipt of the ChangeToMode command.

Command Identity

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

Response Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0Statusstatusenum8Mdesc—
1StatusTextstatusTextstring[Status = status], Mmax length 64—

Cluster 84 Events

Cluster 84 defines no events.


SmartphoneKey Notes

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