Matter Cluster 87 — Refrigerator Alarm
Matter Cluster 87 (0x0057) Refrigerator Alarm: attributes, commands, events, data types, shadow paths and bridge payload examples.
Matter Cluster 87 — Refrigerator Alarm Cluster
Matter Cluster 87, also written as 0x0057, is the Refrigerator Alarm Cluster.
This cluster is a derived cluster of Alarm Base cluster and provides the alarm definition related to refrigerator and temperature controlled cabinet devices.
This cluster is derived from the Alarm 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
| Field | Value |
|---|---|
| Cluster ID decimal | 87 |
| Cluster ID hex | 0x0057 |
| Cluster name | Refrigerator Alarm |
| Cluster revision (Matter 1.6.1) | 1 |
| Role | application |
| Scope | Endpoint |
| PICS code | REFALM |
| Typical endpoint | 1 |
Revision history
| Revision | Change |
|---|---|
| 1 | Initial revision |
Shadow Path Format
Cluster 87 values in the device shadow use this format:
endpoint_id / 87 / attribute_id
Example:
{
"1/87/0": 0
}
| Part | Meaning |
|---|---|
1 | Endpoint ID |
87 | Refrigerator Alarm cluster |
0 | Mask attribute |
Cluster 87 Features
The FeatureMap attribute (1/87/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 | RESET | Reset | X | Supports the ability to reset alarms |
Example: FeatureMap = 0 means no optional feature is enabled; 1 means every feature listed above is enabled.
Data Types
AlarmBitmap (bitmap)
This data type is a map32 with values defined by the derived cluster. The meaning of each bit position is consistent for all attributes in a derived cluster.
| Bit | Name | Conformance | Meaning |
|---|---|---|---|
| 0 | DoorOpen | M | The cabinet's door has been open for a vendor defined amount of time. |
Cluster 87 Attributes
Cluster 87 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 …".
| ID | Hex | Attribute | Type | Conformance | Access | Qualities | Default |
|---|---|---|---|---|---|---|---|
| 0 | 0x0000 | Mask | AlarmBitmap | M | R (read: view) | — | — |
| 1 | 0x0001 | Latch | AlarmBitmap | RESET | R (read: view) | — | — |
| 2 | 0x0002 | State | AlarmBitmap | M | R (read: view) | — | — |
| 3 | 0x0003 | Supported | AlarmBitmap | M | 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 — Mask
Path example:
1/87/0
Indicates a bitmap where each bit set in the Mask attribute corresponds to an alarm that is enabled.
| Property | Value |
|---|---|
| Type | AlarmBitmap |
| Conformance | M |
| Access | R (read: view) |
Bits (AlarmBitmap):
| Bit | Name | Meaning |
|---|---|---|
| 0 | DoorOpen | The cabinet's door has been open for a vendor defined amount of time. |
Example:
{
"1/87/0": 0
}
Attribute 1 / 0x0001 — Latch
Path example:
1/87/1
Indicates a bitmap where each bit set in the Latch attribute indicates that the corresponding alarm will be latched when set, and will not reset to inactive when the underlying condition which caused the alarm is no longer present, and so requires an explicit reset using the Reset command.
| Property | Value |
|---|---|
| Type | AlarmBitmap |
| Conformance | RESET |
| Access | R (read: view) |
Bits (AlarmBitmap):
| Bit | Name | Meaning |
|---|---|---|
| 0 | DoorOpen | The cabinet's door has been open for a vendor defined amount of time. |
Example:
{
"1/87/1": 0
}
Attribute 2 / 0x0002 — State
Path example:
1/87/2
Indicates a bitmap where each bit represents the state of an alarm. The value of true means the alarm is active, otherwise the alarm is inactive.
| Property | Value |
|---|---|
| Type | AlarmBitmap |
| Conformance | M |
| Access | R (read: view) |
Bits (AlarmBitmap):
| Bit | Name | Meaning |
|---|---|---|
| 0 | DoorOpen | The cabinet's door has been open for a vendor defined amount of time. |
Example:
{
"1/87/2": 0
}
Attribute 3 / 0x0003 — Supported
Path example:
1/87/3
Indicates a bitmap where each bit represents whether or not an alarm is supported. The value of true means the alarm is supported, otherwise the alarm is not supported. If an alarm is not supported, the corresponding bit in Mask, Latch, and State is false.
| Property | Value |
|---|---|
| Type | AlarmBitmap |
| Conformance | M |
| Access | R (read: view) |
Bits (AlarmBitmap):
| Bit | Name | Meaning |
|---|---|---|
| 0 | DoorOpen | The cabinet's door has been open for a vendor defined amount of time. |
Example:
{
"1/87/3": 0
}
Cluster 87 Commands
Cluster 87 has 1 client-to-server command and 0 responses.
| ID | Hex | Command | Direction | Conformance | Response | Description |
|---|---|---|---|---|---|---|
| 0 | 0x00 | Reset | client → server | RESET | status | This command resets active and latched alarms (if possible). |
| 1 | 0x01 | ModifyEnabledAlarms | server → client | X | — | — |
AcceptedCommandList
The AcceptedCommandList attribute lists the command IDs the endpoint actually implements:
endpoint_id / 87 / 65529
{
"1/87/65529": [
0
]
}
Before sending a Cluster 87 command, check that the command ID exists in endpoint/87/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": 87,
"command_name": "Reset",
"payload": {},
"timed_request_timeout_ms": 1000
}
}
For Cluster 87, always use "cluster_id": 87. 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: Reset
Purpose
This command resets active and latched alarms (if possible). Any generated Notify event contains fields that represent the state of the server after the command has been processed.
Command Identity
| Field | Value |
|---|---|
| Command ID | 0 |
| Command hex | 0x00 |
| Command name | Reset |
| Direction | client → server |
| Conformance | RESET |
| Response | status |
| Access | (invoke: operate) |
Payload Fields
| ID | Field | Payload key | Type | Conformance | Constraint | Meaning |
|---|---|---|---|---|---|---|
| 0 | Alarms | alarms | AlarmBitmap | M | — | Indicates a bitmap where each bit set in this field corresponds to an alarm that is reset to inactive in the State attribute unless the alarm definition requires manual intervention. |
Bridge Command Example
{
"message_id": "1",
"command": "device_command",
"args": {
"endpoint_id": 1,
"cluster_id": 87,
"command_name": "Reset",
"payload": {
"alarms": 0
}
}
}
Command: ModifyEnabledAlarms
Purpose
ModifyEnabledAlarms is a server response of the Refrigerator Alarm cluster.
Command Identity
| Field | Value |
|---|---|
| Command ID | 1 |
| Command hex | 0x01 |
| Command name | ModifyEnabledAlarms |
| Direction | server → client (response) |
| Conformance | X |
Payload Fields
This response has no fields.
Cluster 87 Events
| ID | Hex | Event | Priority | Conformance | Description |
|---|---|---|---|---|---|
| 0 | 0x00 | Notify | info | M | This event is generated when one or more alarms change state. |
Event 0 — Notify
This event is generated when one or more alarms change state.
| ID | Field | Type | Conformance | Meaning |
|---|---|---|---|---|
| 0 | Active | AlarmBitmap | M | Indicates those alarms that have become active. |
| 1 | Inactive | AlarmBitmap | M | Indicates those alarms that have become inactive. |
| 2 | State | AlarmBitmap | M | This field is a copy of the new State attribute value that resulted in the event being generated. That is, this field has all the bits in Active set and must NOT have any of the bits in Inactive set. |
| 3 | Mask | AlarmBitmap | M | This field is a copy of the Mask attribute when this event was generated. |
SmartphoneKey Notes
- Cluster 87 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/87/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.