Appliances100 — Temperature Alarm

Matter Cluster 100 — Temperature Alarm

Matter Cluster 100 (0x0064) Temperature Alarm: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 100 — Temperature Alarm Cluster

Matter Cluster 100, also written as 0x0064, is the Temperature Alarm Cluster. This cluster is a derived cluster of Alarm Base cluster and provides the alarm definition related to temperature measurements. Support for this cluster is provisional.

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

FieldValue
Cluster ID decimal100
Cluster ID hex0x0064
Cluster nameTemperature Alarm
Cluster revision (Matter 1.6.1)1
Roleapplication
ScopeEndpoint
PICS codeTEMPALM
Typical endpoint1

Revision history

RevisionChange
1Initial revision

Shadow Path Format

Cluster 100 values in the device shadow use this format:

endpoint_id / 100 / attribute_id

Example:

{
  "1/100/0": 0
}
PartMeaning
1Endpoint ID
100Temperature Alarm cluster
0Mask attribute

Cluster 100 Features

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

BitCodeFeatureConformanceMeaning
20OVEROverTemperatureOSupports activating alarms when a temperature measurement goes over a threshold
21UNDERUnderTemperatureOSupports activating alarms when a temperature measurement goes under a threshold
22MAJORMajorThresholdOSupports the major threshold for alarms
23MINORMinorThreshold[MAJOR]Supports the minor threshold for alarms
24OCRIADJOverCriticalAdjustable[OVER]Supports the ability to adjust the over critical temperature threshold
25OMAJADJOverMajorAdjustable[OVER & MAJOR]Supports the ability to adjust the over major temperature threshold
26OMINADJOverMinorAdjustable[OVER & MINOR]Supports the ability to adjust the over minor temperature threshold
27UMINADJUnderMinorAdjustable[UNDER & MINOR]Supports the ability to adjust the under minor temperature threshold
28UMAJADJUnderMajorAdjustable[UNDER & MAJOR]Supports the ability to adjust the under major temperature threshold
29UCRIADJUnderCriticalAdjustable[UNDER]Supports the ability to adjust the under critical temperature threshold

Example: FeatureMap = 0 means no optional feature is enabled; 1072693248 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.

BitNameConformanceMeaning
0CriticalOverTemperatureAlarmMThe measured temperature is above the critical threshold.
1MajorOverTemperatureAlarmMThe measured temperature is above the major threshold.
2MinorOverTemperatureAlarmMThe measured temperature is above the minor threshold.
3MinorUnderTemperatureAlarmMThe measured temperature is below the minor threshold.
4MajorUnderTemperatureAlarmMThe measured temperature is below the major threshold.
5CriticalUnderTemperatureAlarmMThe measured temperature is below the critical threshold.

Cluster 100 Attributes

Cluster 100 defines 10 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
00x0000MaskAlarmBitmapMR (read: view)——
10x0001LatchAlarmBitmapRESETR (read: view)——
20x0002StateAlarmBitmapMR (read: view)——
30x0003SupportedAlarmBitmapMR (read: view)——
1280x0080CriticalOverTemperatureThresholdtemperatureOVERR (read: view)——
1290x0081MajorOverTemperatureThresholdtemperatureOVER & MAJORR (read: view)——
1300x0082MinorOverTemperatureThresholdtemperatureOVER & MINORR (read: view)——
1310x0083MinorUnderTemperatureThresholdtemperatureUNDER & MINORR (read: view)——
1320x0084MajorUnderTemperatureThresholdtemperatureUNDER & MAJORR (read: view)——
1330x0085CriticalUnderTemperatureThresholdtemperatureUNDERR (read: view)——

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

Path example:

1/100/0

Indicates a bitmap where each bit set in the Mask attribute corresponds to an alarm that is enabled.

PropertyValue
TypeAlarmBitmap
ConformanceM
AccessR (read: view)

Bits (AlarmBitmap):

BitNameMeaning
0CriticalOverTemperatureAlarmThe measured temperature is above the critical threshold.
1MajorOverTemperatureAlarmThe measured temperature is above the major threshold.
2MinorOverTemperatureAlarmThe measured temperature is above the minor threshold.
3MinorUnderTemperatureAlarmThe measured temperature is below the minor threshold.
4MajorUnderTemperatureAlarmThe measured temperature is below the major threshold.
5CriticalUnderTemperatureAlarmThe measured temperature is below the critical threshold.

Example:

{
  "1/100/0": 0
}

Attribute 1 / 0x0001 — Latch

Path example:

1/100/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.

PropertyValue
TypeAlarmBitmap
ConformanceRESET
AccessR (read: view)

Bits (AlarmBitmap):

BitNameMeaning
0CriticalOverTemperatureAlarmThe measured temperature is above the critical threshold.
1MajorOverTemperatureAlarmThe measured temperature is above the major threshold.
2MinorOverTemperatureAlarmThe measured temperature is above the minor threshold.
3MinorUnderTemperatureAlarmThe measured temperature is below the minor threshold.
4MajorUnderTemperatureAlarmThe measured temperature is below the major threshold.
5CriticalUnderTemperatureAlarmThe measured temperature is below the critical threshold.

Example:

{
  "1/100/1": 0
}

Attribute 2 / 0x0002 — State

Path example:

1/100/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.

PropertyValue
TypeAlarmBitmap
ConformanceM
AccessR (read: view)

Bits (AlarmBitmap):

BitNameMeaning
0CriticalOverTemperatureAlarmThe measured temperature is above the critical threshold.
1MajorOverTemperatureAlarmThe measured temperature is above the major threshold.
2MinorOverTemperatureAlarmThe measured temperature is above the minor threshold.
3MinorUnderTemperatureAlarmThe measured temperature is below the minor threshold.
4MajorUnderTemperatureAlarmThe measured temperature is below the major threshold.
5CriticalUnderTemperatureAlarmThe measured temperature is below the critical threshold.

Example:

{
  "1/100/2": 0
}

Attribute 3 / 0x0003 — Supported

Path example:

1/100/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.

PropertyValue
TypeAlarmBitmap
ConformanceM
AccessR (read: view)

Bits (AlarmBitmap):

BitNameMeaning
0CriticalOverTemperatureAlarmThe measured temperature is above the critical threshold.
1MajorOverTemperatureAlarmThe measured temperature is above the major threshold.
2MinorOverTemperatureAlarmThe measured temperature is above the minor threshold.
3MinorUnderTemperatureAlarmThe measured temperature is below the minor threshold.
4MajorUnderTemperatureAlarmThe measured temperature is below the major threshold.
5CriticalUnderTemperatureAlarmThe measured temperature is below the critical threshold.

Example:

{
  "1/100/3": 0
}

Attribute 128 / 0x0080 — CriticalOverTemperatureThreshold

Path example:

1/100/128

Indicates the threshold for temperature measurement over which the CriticalOverTemperature alarm is active.

PropertyValue
Typetemperature
ConformanceOVER
AccessR (read: view)
Constraintmin compute

Example:

{
  "1/100/128": 1
}

Attribute 129 / 0x0081 — MajorOverTemperatureThreshold

Path example:

1/100/129

Indicates the threshold for temperature measurement over which the MajorOverTemperature alarm is active.

PropertyValue
Typetemperature
ConformanceOVER & MAJOR
AccessR (read: view)
Constraintmin compute

Example:

{
  "1/100/129": 1
}

Attribute 130 / 0x0082 — MinorOverTemperatureThreshold

Path example:

1/100/130

Indicates the threshold for temperature measurement over which the MinorOverTemperature alarm is active.

PropertyValue
Typetemperature
ConformanceOVER & MINOR
AccessR (read: view)
Constraintmin compute

Example:

{
  "1/100/130": 1
}

Attribute 131 / 0x0083 — MinorUnderTemperatureThreshold

Path example:

1/100/131

Indicates the threshold for temperature measurement under which the MinorUnderTemperature alarm is active.

PropertyValue
Typetemperature
ConformanceUNDER & MINOR
AccessR (read: view)
Constraintmax compute

Example:

{
  "1/100/131": 1
}

Attribute 132 / 0x0084 — MajorUnderTemperatureThreshold

Path example:

1/100/132

Indicates the threshold for temperature measurement under which the MajorUnderTemperature alarm is active.

PropertyValue
Typetemperature
ConformanceUNDER & MAJOR
AccessR (read: view)
Constraintmax compute

Example:

{
  "1/100/132": 1
}

Attribute 133 / 0x0085 — CriticalUnderTemperatureThreshold

Path example:

1/100/133

Indicates the threshold for temperature measurement under which the CriticalUnderTemperature alarm is active.

PropertyValue
Typetemperature
ConformanceUNDER
AccessR (read: view)
Constraintmax compute

Example:

{
  "1/100/133": 1
}

Cluster 100 Commands

Cluster 100 has 3 client-to-server commands and 0 responses.

IDHexCommandDirectionConformanceResponseDescription
00x00Resetclient → serverRESETstatusThis command resets active and latched alarms (if possible).
10x01ModifyEnabledAlarmsclient → serverOstatusThis command allows a client to request that an alarm be enabled or suppressed at the server.
1280x80SetTemperatureAlarmThresholdsclient → serverOCRIADJ | OMAJADJ | OMINADJ | UMINADJ | UMAJADJ | UCRIADJstatusThis command will set the alarm thresholds for the specified values.

AcceptedCommandList

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

endpoint_id / 100 / 65529
{
  "1/100/65529": [
    0,
    1,
    128
  ]
}

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

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

FieldValue
Command ID0
Command hex0x00
Command nameReset
Directionclient → server
ConformanceRESET
Responsestatus
Access(invoke: operate)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0AlarmsalarmsAlarmBitmapM—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": 100,
    "command_name": "Reset",
    "payload": {
      "alarms": 0
    }
  }
}

Command: ModifyEnabledAlarms

Purpose

This command allows a client to request that an alarm be enabled or suppressed at the server.

Command Identity

FieldValue
Command ID1
Command hex0x01
Command nameModifyEnabledAlarms
Directionclient → server
ConformanceO
Responsestatus
Access(invoke: operate)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0MaskmaskAlarmBitmapM—Indicates a bitmap where each bit set in the this field corresponds to an alarm that should be enabled or suppressed. A value of 1 indicates that the alarm should be enabled while a value of 0 indicates that the alarm should be suppressed.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 100,
    "command_name": "ModifyEnabledAlarms",
    "payload": {
      "mask": 0
    }
  }
}

Command: SetTemperatureAlarmThresholds

Purpose

This command will set the alarm thresholds for the specified values. The constraints related to the field values in the table above has the relationship as represented by the illustration below:

Command Identity

FieldValue
Command ID128
Command hex0x80
Command nameSetTemperatureAlarmThresholds
Directionclient → server
ConformanceOCRIADJ | OMAJADJ | OMINADJ | UMINADJ | UMAJADJ | UCRIADJ
Responsestatus
Access(invoke: operate)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0CriticalOverTemperatureThresholdcriticalOverTemperatureThresholdtemperature[OCRIADJ]min computeThis field specifies the new value of the CriticalOverTemperatureThreshold attribute.
1MajorOverTemperatureThresholdmajorOverTemperatureThresholdtemperature[OMAJADJ]min computeThis field specifies the new value of the MajorOverTemperatureThreshold attribute.
2MinorOverTemperatureThresholdminorOverTemperatureThresholdtemperature[OMINADJ]min computeThis field specifies the new value of the MinorOverTemperatureThreshold attribute.
3MinorUnderTemperatureThresholdminorUnderTemperatureThresholdtemperature[UMINADJ]max computeThis field specifies the new value of the MinorUnderTemperatureThreshold attribute.
4MajorUnderTemperatureThresholdmajorUnderTemperatureThresholdtemperature[UMAJADJ]max computeThis field specifies the new value of the MajorUnderTemperatureThreshold attribute.
5CriticalUnderTemperatureThresholdcriticalUnderTemperatureThresholdtemperature[UCRIADJ]max computeThis field specifies the new value of the CriticalUnderTemperatureThreshold attribute.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 100,
    "command_name": "SetTemperatureAlarmThresholds",
    "payload": {
      "criticalOverTemperatureThreshold": 1,
      "majorOverTemperatureThreshold": 1
    }
  }
}

Cluster 100 Events

IDHexEventPriorityConformanceDescription
00x00NotifyinfoMThis event is generated when one or more alarms change state.

Event 0 — Notify

This event is generated when one or more alarms change state.

IDFieldTypeConformanceMeaning
0ActiveAlarmBitmapMIndicates those alarms that have become active.
1InactiveAlarmBitmapMIndicates those alarms that have become inactive.
2StateAlarmBitmapMThis 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.
3MaskAlarmBitmapMThis field is a copy of the Mask attribute when this event was generated.

SmartphoneKey Notes

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