Locks, closures, HVAC and lighting261 — Closure Dimension

Matter Cluster 261 — Closure Dimension

Matter Cluster 261 (0x0105) Closure Dimension: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 261 — Closure Dimension Cluster

Matter Cluster 261, also written as 0x0105, is the Closure Dimension Cluster. This cluster provides an interface for controlling a single degree of freedom (also referred to as a "dimension" or an "axis" below) of a composed closure. This could be a degree of freedom in a 6-axis framework for the overall closure or a panel in the closure, or some other degree of freedom.

Cluster Identity

FieldValue
Cluster ID decimal261
Cluster ID hex0x0105
Cluster nameClosure Dimension
Cluster revision (Matter 1.6.1)1
Roleapplication
ScopeEndpoint
PICS codeCLDIM
Typical endpoint1

Revision history

RevisionChange
1Initial revision

Shadow Path Format

Cluster 261 values in the device shadow use this format:

endpoint_id / 261 / attribute_id

Example:

{
  "1/261/0": {
    "position": 1,
    "latch": true,
    "speed": 0
  }
}
PartMeaning
1Endpoint ID
261Closure Dimension cluster
0CurrentState attribute

Cluster 261 Features

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

BitCodeFeatureConformanceMeaning
0PSPositioningOSupports Positioning in the range from 0.00% to 100.00%
1LTMotionLatchingOSupports a latch to secure the closure to a position or state
2UTUnit[PS]Specifies the relevant unit and range for this dimension (mm, degrees etc.)
3LMLimitation[PS]Supports limitation of the operating range
4SPSpeed[PS]Supports speed motion throttling.
5TRTranslation[PS]Drives a translation motion
6RORotation[PS]Drives a rotation motion
7MDModulation[PS]Modulates a particular flow level (light, air, privacy ...)

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


Data Types

ClosureUnitEnum

ValueNameConformanceMeaning
0MillimeterMMillimeter used as unit
1DegreeMDegree used as unit

ModulationTypeEnum

ValueNameConformanceMeaning
0SlatsOrientationMOrientation of the slats
1SlatsOpenworkMAperture of the slats
2StripesAlignmentMAlignment of blind stripes (Zebra)
3OpacityMOpacity of a surface
4VentilationMVentilation control

OverflowEnum

ValueNameConformanceMeaning
0NoOverflowMNo overflow
1InsideMInside overflow
2OutsideMOutside overflow
3TopInsideMTop inside overflow
4TopOutsideMTop outside overflow
5BottomInsideMBottom inside overflow
6BottomOutsideMBottom outside overflow
7LeftInsideMLeft inside overflow
8LeftOutsideMLeft outside overflow
9RightInsideMRight inside overflow
10RightOutsideMRight outside overflow

RotationAxisEnum

Legend: Open Closed

ValueNameConformanceMeaning
0LeftMThe panel rotates around a vertical axis located on the left side of the panel
1CenteredVerticalMThe panel rotates around a vertical axis located in the center of the panel
2LeftAndRightMThe panels rotates around vertical axes located on the left and right sides of the panel
3RightMThe panel rotates around a vertical axis located on the right side of the panel
4TopMThe panel rotates around a horizontal axis located on the top of the panel
5CenteredHorizontalMThe panel rotates around a horizontal axis located in the center of the panel
6TopAndBottomMThe panels rotates around horizontal axes located on the top and bottom of the panel
7BottomMThe panel rotates around a horizontal axis located on the bottom of the panel
8LeftBarrierMThe barrier tilts around an axis located at the left end of the barrier
9LeftAndRightBarriersMThe dual barriers tilt around axes located at each side of the composite barrier
10RightBarrierMThe barrier tilts around an axis located at the right end of the barrier

StepDirectionEnum

This data type is derived from enum8 and used for the Step command to indicate the direction of the steps.

ValueNameConformanceMeaning
0DecreaseMDecrease towards 0.00%
1IncreaseMIncrease towards 100.00%

TranslationDirectionEnum

Legend: Open Closed

ValueNameConformanceMeaning
0DownwardMDownward translation
1UpwardMUpward translation
2VerticalMaskMVertical mask translation
3VerticalSymmetryMVertical symmetry translation
4LeftwardMLeftward translation
5RightwardMRightward translation
6HorizontalMaskMHorizontal mask translation
7HorizontalSymmetryMHorizontal symmetry translation
8ForwardMForward translation
9BackwardMBackward translation
10DepthMaskMDepth mask translation
11DepthSymmetryMDepth symmetry translation

LatchControlModesBitmap (bitmap)

BitNameConformanceMeaning
0RemoteLatchingLTRemote latching capability
1RemoteUnlatchingLTRemote unlatching capability

DimensionStateStruct (struct)

FieldNameTypeConformanceConstraintMeaning
0Positionpercent100ths (nullable)PSdescIndicates the position of the closure, expressed as a percentage from 0.00% to 100.00%.
1Latchbool (nullable)LTdescIndicates the latching state of the closure, as defined in the OverallCurrentStateStruct Latch Field.
2SpeedThreeLevelAutoEnumSPdescIndicates the current speed of the closure, as defined in the ThreeLevelAutoEnum.

RangePercent100thsStruct (struct)

FieldNameTypeConformanceConstraintMeaning
0Minpercent100thsM——
1Maxpercent100thsMMin to 100—

UnitRangeStruct (struct)

FieldNameTypeConformanceConstraintMeaning
0Minint16M——
1Maxint16MMin to 32767—

Cluster 261 Attributes

Cluster 261 defines 12 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
00x0000CurrentStateDimensionStateStructMR (read: view)nullable, quiet reportingnull
10x0001TargetStateDimensionStateStructMR (read: view)nullablenull
20x0002Resolutionpercent100thsPSR (read: view)—0.01
30x0003StepValuepercent100thsPSR (read: view)—0.01
40x0004UnitClosureUnitEnumUTR (read: view)——
50x0005UnitRangeUnitRangeStructUTR (read: view)nullablenull
60x0006LimitRangeRangePercent100thsStructLMR (read: view)——
70x0007TranslationDirectionTranslationDirectionEnumTRR (read: view)——
80x0008RotationAxisRotationAxisEnumROR (read: view)——
90x0009OverflowOverflowEnumROR (read: view)——
100x000AModulationTypeModulationTypeEnumMDR (read: view)——
110x000BLatchControlModesLatchControlModesBitmapLTR (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 — CurrentState

Path example:

1/261/0

Indicates the current Position, Latching and/or Speed, based on the feature flags set. A value of null indicates that: - The position and latching state are both not known yet because the closure is not calibrated, or - The product has lost its position and latching state after manual motion during a shutdown.

PropertyValue
TypeDimensionStateStruct
ConformanceM
AccessR (read: view)
Qualitiesnullable, quiet reporting
Constraintdesc
Defaultnull

Value is a DimensionStateStruct struct (see Data Types).

Example:

{
  "1/261/0": {
    "position": 1,
    "latch": true,
    "speed": 0
  }
}

Attribute 1 / 0x0001 — TargetState

Path example:

1/261/1

Indicates the target Position, Latching and/or Speed, based on the feature flags set. A value of null indicates that the TargetState fields are unknown (typically after a reboot, no target has been yet requested). Each field is present only when its corresponding feature is supported. If the feature is not supported the field must NOT be present.

PropertyValue
TypeDimensionStateStruct
ConformanceM
AccessR (read: view)
Qualitiesnullable
Constraintdesc
Defaultnull

Value is a DimensionStateStruct struct (see Data Types).

Example:

{
  "1/261/1": {
    "position": 1,
    "latch": true,
    "speed": 0
  }
}

Attribute 2 / 0x0002 — Resolution

Path example:

1/261/2

Indicates the minimal acceptable change to the Position field of the TargetState and CurrentState attributes. Resolution should not be confused with an accuracy, such as Current = Target +/- Accuracy. This cluster does not provide accuracy. Resolution gives a collection of valid Current position points over a linear ruler.

PropertyValue
Typepercent100ths
ConformancePS
AccessR (read: view)
Constraintmin 0.01
Default0.01

Example:

{
  "1/261/2": 1
}

Attribute 3 / 0x0003 — StepValue

Path example:

1/261/3

Indicates the size of a single step, expressed in percent100ths. When the Step command is used, each step changes the position by this amount. The value of this attribute is an integer multiple of the Resolution attribute. The StepValue should be large enough to cause a visible change in the closure's position when a Step command is invoked.

PropertyValue
Typepercent100ths
ConformancePS
AccessR (read: view)
Constraintmin 0.01
Default0.01

Example:

{
  "1/261/3": 1
}

Attribute 4 / 0x0004 — Unit

Path example:

1/261/4

Indicates the unit related to the Position.

PropertyValue
TypeClosureUnitEnum
ConformanceUT
AccessR (read: view)

Values (ClosureUnitEnum):

ValueNameMeaning
0MillimeterMillimeter used as unit
1DegreeDegree used as unit

Example:

{
  "1/261/4": 0
}

Attribute 5 / 0x0005 — UnitRange

Path example:

1/261/5

Indicates the minimum and the maximum values expressed by Position following the unit indicated by "Unit". The value of this attribute may be null if the product has not been set up.

PropertyValue
TypeUnitRangeStruct
ConformanceUT
AccessR (read: view)
Qualitiesnullable
Constraintdesc
Defaultnull

Value is a UnitRangeStruct struct (see Data Types).

Example:

{
  "1/261/5": {
    "min": 1,
    "max": 1
  }
}

Attribute 6 / 0x0006 — LimitRange

Path example:

1/261/6

Indicates the range of possible values for the Position field in the CurrentState attribute. This range may evolve dynamically. LimitRange.Min and LimitRange.Max is equal to an integer multiple of the Resolution attribute.

PropertyValue
TypeRangePercent100thsStruct
ConformanceLM
AccessR (read: view)
Constraintdesc

Value is a RangePercent100thsStruct struct (see Data Types).

Example:

{
  "1/261/6": {
    "min": 1,
    "max": 1
  }
}

Attribute 7 / 0x0007 — TranslationDirection

Path example:

1/261/7

Indicates the direction of the translation. A properly configured closure dimension should reflect as best as possible the translation as seen by the user. This attribute is not supposed to change once the installation is finalized.

PropertyValue
TypeTranslationDirectionEnum
ConformanceTR
AccessR (read: view)

Values (TranslationDirectionEnum):

ValueNameMeaning
0DownwardDownward translation
1UpwardUpward translation
2VerticalMaskVertical mask translation
3VerticalSymmetryVertical symmetry translation
4LeftwardLeftward translation
5RightwardRightward translation
6HorizontalMaskHorizontal mask translation
7HorizontalSymmetryHorizontal symmetry translation
8ForwardForward translation
9BackwardBackward translation
10DepthMaskDepth mask translation
11DepthSymmetryDepth symmetry translation

Example:

{
  "1/261/7": 0
}

Attribute 8 / 0x0008 — RotationAxis

Path example:

1/261/8

Indicates the axis of the rotation. A properly configured closure dimension should reflect as best as possible the rotation axis as perceived by the user. This attribute is not supposed to change once the installation is finalized.

PropertyValue
TypeRotationAxisEnum
ConformanceRO
AccessR (read: view)

Values (RotationAxisEnum):

ValueNameMeaning
0LeftThe panel rotates around a vertical axis located on the left side of the panel
1CenteredVerticalThe panel rotates around a vertical axis located in the center of the panel
2LeftAndRightThe panels rotates around vertical axes located on the left and right sides of the panel
3RightThe panel rotates around a vertical axis located on the right side of the panel
4TopThe panel rotates around a horizontal axis located on the top of the panel
5CenteredHorizontalThe panel rotates around a horizontal axis located in the center of the panel
6TopAndBottomThe panels rotates around horizontal axes located on the top and bottom of the panel
7BottomThe panel rotates around a horizontal axis located on the bottom of the panel
8LeftBarrierThe barrier tilts around an axis located at the left end of the barrier
9LeftAndRightBarriersThe dual barriers tilt around axes located at each side of the composite barrier
10RightBarrierThe barrier tilts around an axis located at the right end of the barrier

Example:

{
  "1/261/8": 0
}

Attribute 9 / 0x0009 — Overflow

Path example:

1/261/9

Indicates the overflow related to Rotation(RO). A closure that rotates following an axis (with Rotation(RO) feature declared in FeatureMap), could overflow Inside and/or Outside. If the axis is centered, one part goes Outside and the other part goes Inside. In this case, this attribute must use Top/Bottom/Left/Right Inside or Top/Bottom/Left/Right Outside enumerated value.

PropertyValue
TypeOverflowEnum
ConformanceRO
AccessR (read: view)

Values (OverflowEnum):

ValueNameMeaning
0NoOverflowNo overflow
1InsideInside overflow
2OutsideOutside overflow
3TopInsideTop inside overflow
4TopOutsideTop outside overflow
5BottomInsideBottom inside overflow
6BottomOutsideBottom outside overflow
7LeftInsideLeft inside overflow
8LeftOutsideLeft outside overflow
9RightInsideRight inside overflow
10RightOutsideRight outside overflow

Example:

{
  "1/261/9": 0
}

Attribute 10 / 0x000A — ModulationType

Path example:

1/261/10

Indicates the modulation type related to Modulation(MD). The server should reflect, as best as possible, the modulation type as perceived by the user. This attribute is not supposed to change once the installation is finalized.

PropertyValue
TypeModulationTypeEnum
ConformanceMD
AccessR (read: view)

Values (ModulationTypeEnum):

ValueNameMeaning
0SlatsOrientationOrientation of the slats
1SlatsOpenworkAperture of the slats
2StripesAlignmentAlignment of blind stripes (Zebra)
3OpacityOpacity of a surface
4VentilationVentilation control

Example:

{
  "1/261/10": 0
}

Attribute 11 / 0x000B — LatchControlModes

Path example:

1/261/11

This attribute specifies whether the latch mechanism can be latched or unlatched remotely.

PropertyValue
TypeLatchControlModesBitmap
ConformanceLT
AccessR (read: view)

Bits (LatchControlModesBitmap):

BitNameMeaning
0RemoteLatchingRemote latching capability
1RemoteUnlatchingRemote unlatching capability

Example:

{
  "1/261/11": 0
}

Cluster 261 Commands

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

IDHexCommandDirectionConformanceResponseDescription
00x00SetTargetclient → serverMstatusThis command is used to move a dimension of the closure to a target position.
10x01Stepclient → serverPSstatusThis command is used to move a dimension of the closure to a target position by a number of steps.

AcceptedCommandList

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

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

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

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

Purpose

This command is used to move a dimension of the closure to a target position. The rationale behind defining the conformance as being purely optional in the table above is to ensure that commands containing one or more fields related to unsupported features are still accepted, rather than being rejected outright. For example, if a simple client, which is not able to determine the capabilities of the server, invokes a command that includes both position and speed, a server that does not support the speed feature would simply ignore the speed field while still adjusting its position as requested.

Command Identity

FieldValue
Command ID0
Command hex0x00
Command nameSetTarget
Directionclient → server
ConformanceM
Responsestatus
Access(invoke: operate, timed)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0Positionpositionpercent100thsO—Indicates the position where the closure is moving to.
1LatchlatchboolO—Indicates the desired latching state of the closure, as defined in the OverallCurrentStateStruct Latch Field.
2SpeedspeedThreeLevelAutoEnumO—Indicates a desired overall speed of motion, as defined in the ThreeLevelAutoEnum.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 261,
    "command_name": "SetTarget",
    "payload": {
      "position": 1,
      "latch": true
    },
    "timed_request_timeout_ms": 1000
  }
}

This is a timed command: the bridge must send it inside a timed interaction, so timed_request_timeout_ms is required.


Command: Step

Purpose

This command is used to move a dimension of the closure to a target position by a number of steps.

Command Identity

FieldValue
Command ID1
Command hex0x01
Command nameStep
Directionclient → server
ConformancePS
Responsestatus
Access(invoke: operate, timed)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0DirectiondirectionStepDirectionEnumM—Indicates whether the Position field of the TargetState attribute must be: - Increased toward 100.00%. - Decreased toward 0.00%.
1NumberOfStepsnumberOfStepsuint16Mmin 1Indicates the number of steps by which the position should be changed. The size of one step, expressed in percent100ths, is determined by the "StepValue" attribute.
2SpeedspeedThreeLevelAutoEnum[SP]descIndicates the desired speed of motion.

Direction values (StepDirectionEnum): 0 = Decrease, 1 = Increase

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 261,
    "command_name": "Step",
    "payload": {
      "direction": 0,
      "numberOfSteps": 1
    },
    "timed_request_timeout_ms": 1000
  }
}

This is a timed command: the bridge must send it inside a timed interaction, so timed_request_timeout_ms is required.


Cluster 261 Events

Cluster 261 defines no events.


SmartphoneKey Notes

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