Matter Cluster 121 — Water Tank Level Monitoring
Matter Cluster 121 (0x0079) Water Tank Level Monitoring: attributes, commands, events, data types, shadow paths and bridge payload examples.
Matter Cluster 121 — Water Tank Level Monitoring Cluster
Matter Cluster 121, also written as 0x0079, is the Water Tank Level Monitoring Cluster.
This cluster is one of several alias clusters that share the same definition (Resource Monitoring Clusters): HEPA Filter Monitoring (<code>113</code>), Activated Carbon Filter Monitoring (<code>114</code>). Only the cluster ID and the measured quantity differ.
Cluster Identity
| Field | Value |
|---|---|
| Cluster ID decimal | 121 |
| Cluster ID hex | 0x0079 |
| Cluster name | Water Tank Level Monitoring |
| Cluster revision (Matter 1.6.1) | 1 |
| Role | application |
| Scope | Endpoint |
| PICS code | REPM |
| Typical endpoint | 1 |
Revision history
| Revision | Change |
|---|---|
| 1 | Initial revision |
Shadow Path Format
Cluster 121 values in the device shadow use this format:
endpoint_id / 121 / attribute_id
Example:
{
"1/121/2": 0
}
| Part | Meaning |
|---|---|
1 | Endpoint ID |
121 | Water Tank Level Monitoring cluster |
2 | ChangeIndication attribute |
Cluster 121 Features
The FeatureMap attribute (1/121/65532) is a bitmap. Each bit set means the device implements that feature and the attributes and commands that depend on it.
| Bit | Code | Feature | Conformance | Meaning |
|---|---|---|---|---|
| 0 | CON | Condition | O | Supports monitoring the condition of the resource in percentage |
| 1 | WRN | Warning | O | Supports warning indication |
| 2 | REP | ReplacementProductList | O | Supports specifying the list of replacement products |
Example: FeatureMap = 0 means no optional feature is enabled; 7 means every feature listed above is enabled.
Data Types
ChangeIndicationEnum
| Value | Name | Conformance | Meaning |
|---|---|---|---|
| 0 | OK | M | Resource is in good condition, no intervention required |
| 1 | Warning | WRN | Resource will be exhausted soon, intervention will shortly be required |
| 2 | Critical | M | Resource is exhausted, immediate intervention is required |
DegradationDirectionEnum
| Value | Name | Conformance | Meaning |
|---|---|---|---|
| 0 | Up | M | The degradation of the resource is indicated by an upwards moving/increasing value |
| 1 | Down | M | The degradation of the resource is indicated by a downwards moving/decreasing value |
ProductIdentifierTypeEnum
| Value | Name | Conformance | Meaning |
|---|---|---|---|
| 0 | UPC | M | 12-digit Universal Product Code |
| 1 | GTIN-8 | M | 8-digit Global Trade Item Number |
| 2 | EAN | M | 13-digit European Article Number |
| 3 | GTIN-14 | M | 14-digit Global Trade Item Number |
| 4 | OEM | M | Original Equipment Manufacturer part number |
ReplacementProductStruct (struct)
| Field | Name | Type | Conformance | Constraint | Meaning |
|---|---|---|---|---|---|
| 0 | ProductIdentifierType | ProductIdentifierTypeEnum | M | desc | — |
| 1 | ProductIdentifierValue | string | M | max length 20 | — |
Cluster 121 Attributes
Cluster 121 defines 6 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 …".
| ID | Hex | Attribute | Type | Conformance | Access | Qualities | Default |
|---|---|---|---|---|---|---|---|
| 0 | 0x0000 | Condition | percent | CON | R (read: view) | — | — |
| 1 | 0x0001 | DegradationDirection | DegradationDirectionEnum | CON | R (read: view) | — | — |
| 2 | 0x0002 | ChangeIndication | ChangeIndicationEnum | M | R (read: view) | — | — |
| 3 | 0x0003 | InPlaceIndicator | bool | O | R (read: view) | — | — |
| 4 | 0x0004 | LastChangedTime | epoch-s | O | R/W (read: view, write: operate) | nullable, persisted | null |
| 5 | 0x0005 | ReplacementProductList | list of ReplacementProductStruct | REP | R (read: view) | — | — |
Global attributes
| ID | Hex | Attribute | Meaning |
|---|---|---|---|
| 65528 | 0xFFF8 | GeneratedCommandList | Response command IDs this server generates. |
| 65529 | 0xFFF9 | AcceptedCommandList | Command IDs this server accepts. |
| 65531 | 0xFFFB | AttributeList | Attribute IDs implemented. |
| 65532 | 0xFFFC | FeatureMap | Implemented optional features (see above). |
| 65533 | 0xFFFD | ClusterRevision | Cluster revision implemented; 1 for a Matter 1.6.1 device. |
Attribute Details
Attribute 0 / 0x0000 — Condition
Path example:
1/121/0
No condensed specification text is available for Condition; use the type, conformance and constraint below together with the cluster description above.
| Property | Value |
|---|---|
| Type | percent |
| Conformance | CON |
| Access | R (read: view) |
Example:
{
"1/121/0": 1
}
Attribute 1 / 0x0001 — DegradationDirection
Path example:
1/121/1
No condensed specification text is available for DegradationDirection; use the type, conformance and constraint below together with the cluster description above.
| Property | Value |
|---|---|
| Type | DegradationDirectionEnum |
| Conformance | CON |
| Access | R (read: view) |
| Constraint | desc |
Values (DegradationDirectionEnum):
| Value | Name | Meaning |
|---|---|---|
| 0 | Up | The degradation of the resource is indicated by an upwards moving/increasing value |
| 1 | Down | The degradation of the resource is indicated by a downwards moving/decreasing value |
Example:
{
"1/121/1": 0
}
Attribute 2 / 0x0002 — ChangeIndication
Path example:
1/121/2
No condensed specification text is available for ChangeIndication; use the type, conformance and constraint below together with the cluster description above.
| Property | Value |
|---|---|
| Type | ChangeIndicationEnum |
| Conformance | M |
| Access | R (read: view) |
Values (ChangeIndicationEnum):
| Value | Name | Meaning |
|---|---|---|
| 0 | OK | Resource is in good condition, no intervention required |
| 1 | Warning | Resource will be exhausted soon, intervention will shortly be required |
| 2 | Critical | Resource is exhausted, immediate intervention is required |
Example:
{
"1/121/2": 0
}
Attribute 3 / 0x0003 — InPlaceIndicator
Path example:
1/121/3
No condensed specification text is available for InPlaceIndicator; use the type, conformance and constraint below together with the cluster description above.
| Property | Value |
|---|---|
| Type | bool |
| Conformance | O |
| Access | R (read: view) |
Example:
{
"1/121/3": true
}
Attribute 4 / 0x0004 — LastChangedTime
Path example:
1/121/4
No condensed specification text is available for LastChangedTime; use the type, conformance and constraint below together with the cluster description above.
| Property | Value |
|---|---|
| Type | epoch-s |
| Conformance | O |
| Access | R/W (read: view, write: operate) |
| Qualities | nullable, persisted |
| Default | null |
Example:
{
"1/121/4": 0
}
Attribute 5 / 0x0005 — ReplacementProductList
Path example:
1/121/5
No condensed specification text is available for ReplacementProductList; use the type, conformance and constraint below together with the cluster description above.
| Property | Value |
|---|---|
| Type | list of ReplacementProductStruct |
| Conformance | REP |
| Access | R (read: view) |
| Constraint | max 5 entries |
Each entry is a ReplacementProductStruct (see Data Types).
Example:
{
"1/121/5": []
}
Cluster 121 Commands
Cluster 121 has 1 client-to-server command and 0 responses.
| ID | Hex | Command | Direction | Conformance | Response | Description |
|---|---|---|---|---|---|---|
| 0 | 0x00 | ResetCondition | client → server | O | status | — |
AcceptedCommandList
The AcceptedCommandList attribute lists the command IDs the endpoint actually implements:
endpoint_id / 121 / 65529
{
"1/121/65529": [
0
]
}
Before sending a Cluster 121 command, check that the command ID exists in endpoint/121/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": 121,
"command_name": "ResetCondition",
"payload": {},
"timed_request_timeout_ms": 1000
}
}
For Cluster 121, always use "cluster_id": 121. 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: ResetCondition
Purpose
ResetCondition is a client-to-server command of the Water Tank Level Monitoring cluster.
Command Identity
| Field | Value |
|---|---|
| Command ID | 0 |
| Command hex | 0x00 |
| Command name | ResetCondition |
| Direction | client → server |
| Conformance | O |
| Response | status |
| 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": 121,
"command_name": "ResetCondition",
"payload": {}
}
}
Cluster 121 Events
Cluster 121 defines no events.
SmartphoneKey Notes
- Cluster 121 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/121/attribute; attribute values that the device reports as unreadable are written asn/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.