Sensing and measurement1030 — Occupancy Sensing

Matter Cluster 1030 — Occupancy Sensing

Matter Cluster 1030 (0x0406) Occupancy Sensing: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 1030 — Occupancy Sensing Cluster

Matter Cluster 1030, also written as 0x0406, is the Occupancy Sensing Cluster. The server cluster provides an interface to occupancy sensing functionality based on one or more sensing modalities, including configuration and provision of notifications of occupancy status.

Cluster Identity

FieldValue
Cluster ID decimal1030
Cluster ID hex0x0406
Cluster nameOccupancy Sensing
Cluster revision (Matter 1.6.1)7
Roleapplication
ScopeEndpoint
PICS codeOCC
Typical endpoint1

Revision history

RevisionChange
1Mandatory global ClusterRevision attribute added
2Physical Contact Occupancy feature with mandatory OccupancySensorTypeBitmap
3New data model format and notation
4Remove nullable from PhysicalContact delay attributes and ability to not report transitions
5Rework to add modalities: radar-, ambient-sensing- and vision-based sensors; add sensitivity setting (via co-located BooleanStateConfiguration cluster on same endpoint); add new attribute for tuning the sensor's reporting; add event OccupancyChanged; add N quality for HoldTime and other timing attributes; describe how to accommodate legacy clients
6Removed P quality
7Added OccupancyEvent feature

Shadow Path Format

Cluster 1030 values in the device shadow use this format:

endpoint_id / 1030 / attribute_id

Example:

{
  "1/1030/0": 0
}
PartMeaning
1Endpoint ID
1030Occupancy Sensing cluster
0Occupancy attribute

Cluster 1030 Features

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

BitCodeFeatureConformanceMeaning
0OTHEROtherOSupports sensing using a modality not listed in the other bits
1PIRPassiveInfraredOSupports sensing using PIR (Passive InfraRed)
2USUltrasonicOSupports sensing using UltraSound
3PHYPhysicalContactOSupports sensing using a physical contact
4AIRActiveInfraredOSupports sensing using Active InfraRed measurement (e.g. time-of-flight or transflective/reflective IR sensing)
5RADRadarOSupports sensing using radar waves (microwave)
6RFSRFSensingOSupports sensing using analysis of radio signals, e.g.: RSSI, CSI and/or any other metric from the signal
7VISVisionOSupports sensing based on analyzing images
9OCCEVENTOccupancyEvent[ClusterRevision >= 7]Supports generating OccupancyChanged events

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


Data Types

OccupancySensorTypeEnum

This enum is as defined in ClusterRevision 4 and its definition must NOT be extended; the feature flags provide the sensor modality (or modalities) for later cluster revisions. See Backward Compatibility section.

ValueNameConformanceMeaning
0PIRMIndicates a passive infrared sensor.
1UltrasonicMIndicates a ultrasonic sensor.
2PIRAndUltrasonicMIndicates a passive infrared and ultrasonic sensor.
3PhysicalContactMIndicates a physical contact sensor.

OccupancyBitmap (bitmap)

BitNameConformanceMeaning
0OccupiedMIndicates the sensed occupancy state

OccupancySensorTypeBitmap (bitmap)

This enum is as defined in ClusterRevision 4 and its definition must NOT be extended; the feature flags provide the sensor modality (or modalities) for later cluster revisions. See Backward Compatibility section.

BitNameConformanceMeaning
0PIRMIndicates a passive infrared sensor.
1UltrasonicMIndicates a ultrasonic sensor.
2PhysicalContactMIndicates a physical contact sensor.

HoldTimeLimitsStruct (struct)

This structure provides information on the server's supported values for the HoldTime attribute.

FieldNameTypeConformanceConstraintMeaning
0HoldTimeMinuint16Mmin 1This field specifies the minimum value of the server's supported value for the HoldTime attribute, in seconds.
1HoldTimeMaxuint16Mmin maxOfThis field specifies the maximum value of the server's supported value for the HoldTime attribute, in seconds.
2HoldTimeDefaultuint16MHoldTimeMin to HoldTimeMaxThis field specifies the (manufacturer-determined) default value of the server's HoldTime attribute, in seconds.

Cluster 1030 Attributes

Cluster 1030 defines 14 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
00x0000OccupancyOccupancyBitmapMR (read: view)——
10x0001OccupancySensorTypeOccupancySensorTypeEnumM, DR (read: view)——
20x0002OccupancySensorTypeBitmapOccupancySensorTypeBitmapM, DR (read: view)——
30x0003HoldTimeuint16OR/W (read: view, write: manage)persisted—
40x0004HoldTimeLimitsHoldTimeLimitsStructHoldTimeR (read: view)——
160x0010PIROccupiedToUnoccupiedDelayuint16[HoldTime & PIR | (!PIR & !US & !PHY)], DR/W (read: view, write: manage)persisted0
170x0011PIRUnoccupiedToOccupiedDelayuint16HoldTime & PIR | (!PIR & !US & !PHY) & PIRUnoccupiedToOccupiedThreshold, [HoldTime & PIR | (!PIR & !US & !PHY)], DR/W (read: view, write: manage)persisted0
180x0012PIRUnoccupiedToOccupiedThresholduint8HoldTime & PIR | (!PIR & !US & !PHY) & PIRUnoccupiedToOccupiedDelay, [HoldTime & PIR | (!PIR & !US & !PHY)], DR/W (read: view, write: manage)persisted1
320x0020UltrasonicOccupiedToUnoccupiedDelayuint16[HoldTime & US], DR/W (read: view, write: manage)persisted0
330x0021UltrasonicUnoccupiedToOccupiedDelayuint16HoldTime & US & UltrasonicUnoccupiedToOccupiedThreshold, [HoldTime & US], DR/W (read: view, write: manage)persisted0
340x0022UltrasonicUnoccupiedToOccupiedThresholduint8HoldTime & US & UltrasonicUnoccupiedToOccupiedDelay, [HoldTime & US], DR/W (read: view, write: manage)persisted1
480x0030PhysicalContactOccupiedToUnoccupiedDelayuint16[HoldTime & PHY], DR/W (read: view, write: manage)persisted0
490x0031PhysicalContactUnoccupiedToOccupiedDelayuint16HoldTime & PHY & PhysicalContactUnoccupiedToOccupiedThreshold, [HoldTime & PHY], DR/W (read: view, write: manage)persisted0
500x0032PhysicalContactUnoccupiedToOccupiedThresholduint8HoldTime & PHY & PhysicalContactUnoccupiedToOccupiedDelay, [HoldTime & PHY], DR/W (read: view, write: manage)persisted1

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

Attribute Details

Attribute 0 / 0x0000 — Occupancy

Path example:

1/1030/0

Indicates the sensed (processed) status of occupancy. For compatibility reasons this is expressed as a bitmap where the status is indicated in bit 0: a value of 1 means occupied, and 0 means unoccupied, with the other bits set to 0; this can be considered equivalent to a boolean.

PropertyValue
TypeOccupancyBitmap
ConformanceM
AccessR (read: view)
Constraint0 to 1

Bits (OccupancyBitmap):

BitNameMeaning
0OccupiedIndicates the sensed occupancy state

Example:

{
  "1/1030/0": 0
}

Attribute 1 / 0x0001 — OccupancySensorType

Path example:

1/1030/1

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

PropertyValue
TypeOccupancySensorTypeEnum
ConformanceM, D
AccessR (read: view)
Constraintdesc

Values (OccupancySensorTypeEnum):

ValueNameMeaning
0PIRIndicates a passive infrared sensor.
1UltrasonicIndicates a ultrasonic sensor.
2PIRAndUltrasonicIndicates a passive infrared and ultrasonic sensor.
3PhysicalContactIndicates a physical contact sensor.

Example:

{
  "1/1030/1": 0
}

Attribute 2 / 0x0002 — OccupancySensorTypeBitmap

Path example:

1/1030/2

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

PropertyValue
TypeOccupancySensorTypeBitmap
ConformanceM, D
AccessR (read: view)
Constraint0 to 7

Bits (OccupancySensorTypeBitmap):

BitNameMeaning
0PIRIndicates a passive infrared sensor.
1UltrasonicIndicates a ultrasonic sensor.
2PhysicalContactIndicates a physical contact sensor.

Example:

{
  "1/1030/2": 0
}

Attribute 3 / 0x0003 — HoldTime

Path example:

1/1030/3

This attribute specifies the time delay, in seconds, before the sensor changes to its unoccupied state after the last detection of occupancy in the sensed area. This is equivalent to the legacy *OccupiedToUnoccupiedDelay attributes. Low values of HoldTime should be avoided since they could lead to many reporting messages. A value 0 for HoldTime must NOT be used.

PropertyValue
Typeuint16
ConformanceO
AccessR/W (read: view, write: manage)
Qualitiespersisted
ConstraintHoldTimeLimits to HoldTimeLimits

Example:

{
  "1/1030/3": 0
}

Attribute 4 / 0x0004 — HoldTimeLimits

Path example:

1/1030/4

Indicates the server's limits, and default value, for the HoldTime attribute.

PropertyValue
TypeHoldTimeLimitsStruct
ConformanceHoldTime
AccessR (read: view)

Value is a HoldTimeLimitsStruct struct (see Data Types).

Example:

{
  "1/1030/4": {
    "holdTimeMin": 1,
    "holdTimeMax": 0,
    "holdTimeDefault": 0
  }
}

Attribute 16 / 0x0010 — PIROccupiedToUnoccupiedDelay

Path example:

1/1030/16

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

PropertyValue
Typeuint16
Conformance[HoldTime & PIR | (!PIR & !US & !PHY)], D
AccessR/W (read: view, write: manage)
Qualitiespersisted
Default0

Example:

{
  "1/1030/16": 1
}

Attribute 17 / 0x0011 — PIRUnoccupiedToOccupiedDelay

Path example:

1/1030/17

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

PropertyValue
Typeuint16
ConformanceHoldTime & PIR | (!PIR & !US & !PHY) & PIRUnoccupiedToOccupiedThreshold, [HoldTime & PIR | (!PIR & !US & !PHY)], D
AccessR/W (read: view, write: manage)
Qualitiespersisted
Default0

Example:

{
  "1/1030/17": 1
}

Attribute 18 / 0x0012 — PIRUnoccupiedToOccupiedThreshold

Path example:

1/1030/18

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

PropertyValue
Typeuint8
ConformanceHoldTime & PIR | (!PIR & !US & !PHY) & PIRUnoccupiedToOccupiedDelay, [HoldTime & PIR | (!PIR & !US & !PHY)], D
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraint1 to 254
Default1

Example:

{
  "1/1030/18": 1
}

Attribute 32 / 0x0020 — UltrasonicOccupiedToUnoccupiedDelay

Path example:

1/1030/32

This attribute specifies the time delay, in seconds, before the Ultrasonic sensor changes to its unoccupied state after the last detection of occupancy in the sensed area.

PropertyValue
Typeuint16
Conformance[HoldTime & US], D
AccessR/W (read: view, write: manage)
Qualitiespersisted
Default0

Example:

{
  "1/1030/32": 1
}

Attribute 33 / 0x0021 — UltrasonicUnoccupiedToOccupiedDelay

Path example:

1/1030/33

This attribute specifies the time delay, in seconds, before the Ultrasonic sensor changes to its occupied state after the first detection of occupancy in the sensed area.

PropertyValue
Typeuint16
ConformanceHoldTime & US & UltrasonicUnoccupiedToOccupiedThreshold, [HoldTime & US], D
AccessR/W (read: view, write: manage)
Qualitiespersisted
Default0

Example:

{
  "1/1030/33": 1
}

Attribute 34 / 0x0022 — UltrasonicUnoccupiedToOccupiedThreshold

Path example:

1/1030/34

This attribute specifies the number of occupancy detection events that must occur in the period UltrasonicUnoccupiedToOccupiedDelay, before the Ultrasonic sensor changes to its occupied state.

PropertyValue
Typeuint8
ConformanceHoldTime & US & UltrasonicUnoccupiedToOccupiedDelay, [HoldTime & US], D
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraint1 to 254
Default1

Example:

{
  "1/1030/34": 1
}

Attribute 48 / 0x0030 — PhysicalContactOccupiedToUnoccupiedDelay

Path example:

1/1030/48

This attribute specifies the time delay, in seconds, before the physical contact occupancy sensor changes to its unoccupied state after detecting the unoccupied event.

PropertyValue
Typeuint16
Conformance[HoldTime & PHY], D
AccessR/W (read: view, write: manage)
Qualitiespersisted
Default0

Example:

{
  "1/1030/48": 1
}

Attribute 49 / 0x0031 — PhysicalContactUnoccupiedToOccupiedDelay

Path example:

1/1030/49

This attribute specifies the time delay, in seconds, before the physical contact sensor changes to its occupied state after the first detection of the occupied event.

PropertyValue
Typeuint16
ConformanceHoldTime & PHY & PhysicalContactUnoccupiedToOccupiedThreshold, [HoldTime & PHY], D
AccessR/W (read: view, write: manage)
Qualitiespersisted
Default0

Example:

{
  "1/1030/49": 1
}

Attribute 50 / 0x0032 — PhysicalContactUnoccupiedToOccupiedThreshold

Path example:

1/1030/50

This attribute specifies the number of occupancy detection events that must occur in the period PhysicalContactUnoccupiedToOccupiedDelay, before the PhysicalContact sensor changes to its occupied state.

PropertyValue
Typeuint8
ConformanceHoldTime & PHY & PhysicalContactUnoccupiedToOccupiedDelay, [HoldTime & PHY], D
AccessR/W (read: view, write: manage)
Qualitiespersisted
Constraint1 to 254
Default1

Example:

{
  "1/1030/50": 1
}

Cluster 1030 Commands

Cluster 1030 defines no commands. It is read (and, for writable attributes, written) through attribute access only.

Cluster 1030 Events

IDHexEventPriorityConformanceDescription
00x00OccupancyChangedinfoOCCEVENT, OIf this event is supported, it is generated when the Occupancy attribute changes.

Event 0 — OccupancyChanged

If this event is supported, it is generated when the Occupancy attribute changes.

IDFieldTypeConformanceMeaning
0OccupancyOccupancyBitmapMIndicates the new value of the Occupancy attribute.

SmartphoneKey Notes

  • Occupancy (attribute 0) is a bitmap; bit 0 set = occupied. Aqara FP400 presence sensors additionally expose vendor clusters that are not covered here.
  • Shadow paths follow endpoint/1030/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.