Sensing and measurement128 — Boolean State Configuration

Matter Cluster 128 — Boolean State Configuration

Matter Cluster 128 (0x0080) Boolean State Configuration: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 128 — Boolean State Configuration Cluster

Matter Cluster 128, also written as 0x0080, is the Boolean State Configuration Cluster. This cluster is used to configure a boolean sensor, including optional state change alarm features and configuration of the sensitivity level associated with the sensor.

Cluster Identity

FieldValue
Cluster ID decimal128
Cluster ID hex0x0080
Cluster nameBoolean State Configuration
Cluster revision (Matter 1.6.1)2
Roleapplication
ScopeEndpoint
PICS codeBOOLCFG
Typical endpoint1

Revision history

RevisionChange
1Initial revision
2Added FaultEvents feature

Shadow Path Format

Cluster 128 values in the device shadow use this format:

endpoint_id / 128 / attribute_id

Example:

{
  "1/128/0": 100
}
PartMeaning
1Endpoint ID
128Boolean State Configuration cluster
0CurrentSensitivityLevel attribute

Cluster 128 Features

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

BitCodeFeatureConformanceMeaning
0VISVisualOSupports visual alarms
1AUDAudibleOSupports audible alarms
2SPRSAlarmSuppress[VIS | AUD]Supports ability to suppress or acknowledge alarms
3SENSLVLSensitivityLevelOSupports ability to set sensor sensitivity
4FAULTEVFaultEvents[ClusterRevision >= 2]Supports reporting fault events

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


Data Types

AlarmModeBitmap (bitmap)

BitNameConformanceMeaning
0VisualVISVisual alarming
1AudibleAUDAudible alarming

SensorFaultBitmap (bitmap)

BitNameConformanceMeaning
0GeneralFaultMUnspecified fault detected

Cluster 128 Attributes

Cluster 128 defines 8 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
00x0000CurrentSensitivityLeveluint8SENSLVLR/W (read: view, write: operate)persisted—
10x0001SupportedSensitivityLevelsuint8SENSLVLR (read: view)——
20x0002DefaultSensitivityLeveluint8[SENSLVL]R (read: view)—MS
30x0003AlarmsActiveAlarmModeBitmapVIS | AUDR (read: view)——
40x0004AlarmsSuppressedAlarmModeBitmapSPRSR (read: view)——
50x0005AlarmsEnabledAlarmModeBitmap[VIS | AUD]R (read: view)persistedMS
60x0006AlarmsSupportedAlarmModeBitmapVIS | AUDR (read: view)——
70x0007SensorFaultSensorFaultBitmapOR (read: view)—0

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

Attribute Details

Attribute 0 / 0x0000 — CurrentSensitivityLevel

Path example:

1/128/0

Indicates the currently selected sensitivity level. If a write interaction to this attribute contains an unsupported sensitivity value, a CONSTRAINT_ERROR status is returned.

PropertyValue
Typeuint8
ConformanceSENSLVL
AccessR/W (read: view, write: operate)
Qualitiespersisted
Constraintmax compute

Example:

{
  "1/128/0": 100
}

Attribute 1 / 0x0001 — SupportedSensitivityLevels

Path example:

1/128/1

Indicates the number of supported sensitivity levels by the device. These supported sensitivity levels is ordered by sensitivity, where a value of 0 is considered the lowest sensitivity level (least sensitive) and the highest supported value is considered the highest sensitivity level. The number of supported sensitivity levels should represent unique sensitivity levels supported by the device.

PropertyValue
Typeuint8
ConformanceSENSLVL
AccessR (read: view)
Constraint2 to 10

Example:

{
  "1/128/1": 2
}

Attribute 2 / 0x0002 — DefaultSensitivityLevel

Path example:

1/128/2

Indicates the default sensitivity level selected by the manufacturer.

PropertyValue
Typeuint8
Conformance[SENSLVL]
AccessR (read: view)
Constraintmax compute
DefaultMS

Example:

{
  "1/128/2": 100
}

Attribute 3 / 0x0003 — AlarmsActive

Path example:

1/128/3

Indicates which specific alarm modes on the server are currently active. When the sensor is no longer triggered, this attribute is set to the inactive state, by setting the bit to 0, for all supported alarm modes. If an alarm mode is not supported, the bit indicating this alarm mode must always be 0. A bit indicates whether the alarm mode inactive or not: - 0 = Inactive - 1 = Active

PropertyValue
TypeAlarmModeBitmap
ConformanceVIS | AUD
AccessR (read: view)

Bits (AlarmModeBitmap):

BitNameMeaning
0VisualVisual alarming
1AudibleAudible alarming

Example:

{
  "1/128/3": 0
}

Attribute 4 / 0x0004 — AlarmsSuppressed

Path example:

1/128/4

Indicates which specific alarm modes on the server are currently suppressed. When the sensor is no longer triggered, this attribute is set to the unsuppressed state, by setting the bit to 0, for all supported alarm modes. If an alarm mode is not supported, the bit indicating this alarm mode must always be 0. A bit indicates whether the alarm mode is suppressed or not: - 0 = Not suppressed - 1 = Suppressed

PropertyValue
TypeAlarmModeBitmap
ConformanceSPRS
AccessR (read: view)

Bits (AlarmModeBitmap):

BitNameMeaning
0VisualVisual alarming
1AudibleAudible alarming

Example:

{
  "1/128/4": 0
}

Attribute 5 / 0x0005 — AlarmsEnabled

Path example:

1/128/5

Indicates the alarm modes that will be emitted if the sensor is triggered. If an alarm mode is not supported, the bit indicating this alarm mode must always be 0. A bit indicates whether the alarm mode is enabled or disabled: - 0 = Disabled - 1 = Enabled

PropertyValue
TypeAlarmModeBitmap
Conformance[VIS | AUD]
AccessR (read: view)
Qualitiespersisted
DefaultMS

Bits (AlarmModeBitmap):

BitNameMeaning
0VisualVisual alarming
1AudibleAudible alarming

Example:

{
  "1/128/5": 0
}

Attribute 6 / 0x0006 — AlarmsSupported

Path example:

1/128/6

Indicates the alarms supported by the sensor. A bit indicates whether the alarm mode is supported: - 0 = Not supported - 1 = Supported

PropertyValue
TypeAlarmModeBitmap
ConformanceVIS | AUD
AccessR (read: view)

Bits (AlarmModeBitmap):

BitNameMeaning
0VisualVisual alarming
1AudibleAudible alarming

Example:

{
  "1/128/6": 0
}

Attribute 7 / 0x0007 — SensorFault

Path example:

1/128/7

Indicates any faults registered by the device.

PropertyValue
TypeSensorFaultBitmap
ConformanceO
AccessR (read: view)
Default0

Bits (SensorFaultBitmap):

BitNameMeaning
0GeneralFaultUnspecified fault detected

Example:

{
  "1/128/7": 0
}

Cluster 128 Commands

Cluster 128 has 2 client-to-server commands and 0 responses.

IDHexCommandDirectionConformanceResponseDescription
00x00SuppressAlarmclient → serverSPRSstatusThis command will suppress the alarm modes specified.
10x01EnableDisableAlarmclient → serverVIS | AUDstatusThis command allows setting the enable or disable value for the specified alarm modes.

AcceptedCommandList

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

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

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

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

Purpose

This command will suppress the alarm modes specified.

Command Identity

FieldValue
Command ID0
Command hex0x00
Command nameSuppressAlarm
Directionclient → server
ConformanceSPRS
Responsestatus
Access(invoke: operate)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0AlarmsToSuppressalarmsToSuppressAlarmModeBitmapM—Indicates the alarm modes to suppress.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 128,
    "command_name": "SuppressAlarm",
    "payload": {
      "alarmsToSuppress": 0
    }
  }
}

Command: EnableDisableAlarm

Purpose

This command allows setting the enable or disable value for the specified alarm modes.

Command Identity

FieldValue
Command ID1
Command hex0x01
Command nameEnableDisableAlarm
Directionclient → server
ConformanceVIS | AUD
Responsestatus
Access(invoke: operate)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0AlarmsToEnableDisablealarmsToEnableDisableAlarmModeBitmapM—Indicates the alarm modes to either enable or disable depending on the bit status, as specified for the AlarmsEnabled attribute.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 128,
    "command_name": "EnableDisableAlarm",
    "payload": {
      "alarmsToEnableDisable": 0
    }
  }
}

Cluster 128 Events

IDHexEventPriorityConformanceDescription
00x00AlarmsStateChangedinfoVIS | AUDThis event is generated after any bits in the AlarmsActive and/or AlarmsSuppressed attributes change.
10x01SensorFaultinfoFAULTEV, OThis event is generated when the device registers or clears a fault.

Event 0 — AlarmsStateChanged

This event is generated after any bits in the AlarmsActive and/or AlarmsSuppressed attributes change. This may occur in situations such as when internal processing by the server determines that an alarm mode becomes active or inactive, or when the SuppressAlarm or EnableDisableAlarm commands are processed in a way that some alarm modes becomes suppressed, active or inactive. If several alarm modes change state at the same time, a single event combining multiple changes may be emitted instead of multiple events each representing a single change.

IDFieldTypeConformanceMeaning
0AlarmsActiveAlarmModeBitmapMIndicates the state of active alarm modes, as indicated by the AlarmsActive attribute, at the time the event was generated.
1AlarmsSuppressedAlarmModeBitmapSPRSIndicates the state of suppressed alarm modes, as indicated by the AlarmsSuppressed attribute, at the time the event was generated.

Event 1 — SensorFault

This event is generated when the device registers or clears a fault.

IDFieldTypeConformanceMeaning
0SensorFaultSensorFaultBitmapMIndicates the value of the SensorFault attribute, at the time this event is generated.

SmartphoneKey Notes

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