Matter Conformance Overview#

This document introduces the Matter conformance system, which defines the optionality and dependencies of various Matter elements, including features, attributes, commands, events, enumerations, and fields. Conformance may be expressed as a simple tag or a complex logical expression.

In ZAP, conformance information appears on the Matter feature page and in conformance-related warnings on relevant elements.

1. Basic Conformance Tags#

Conformance

Name

Summary

M

Mandatory

Required for current revision; always present.

O

Optional

Not required; no dependencies except M elements.

P

Provisional

Provisional for now; future intended conformance is undetermined.

D

Deprecated

No longer valid in current revision; it may occur in legacy versions.

X

Disallowed

Not allowed for the cluster derivation.

desc

Described

Complex conformance that cannot be represented with a logical expression.

2. Conformance Expressions#

Conformance expressions define conditional support for elements using Boolean logic. They consist of operands, which may be combined using logical operators to define complex conditions.

Operands#

Supported operands in a conformance expression are:

  • feature code (for example, OO for OnOff feature)

  • element name (for example, name of attribute, command, or event in the same cluster)

If the referenced feature or element is supported or enabled, then the operand evaluates to TRUE; otherwise, it evaluates to FALSE.

Logical Operators#

Conformance

Name

Summary

AB & CD

AND

TRUE if both AB and CD are true.

AB | CD

OR

TRUE if either AB or CD is true.

!AB

NOT

TRUE if AB is false.

(AB & CD)

Grouping

Use parentheses to group expressions.

Optional Conformance#

Brackets ([]) are used to indicate optional in conformance expressions. If no brackets surround an expression, it is mandatory.

  • [AB] → Optional if AB is true; otherwise, it is not supported.

  • AB → Mandatory if AB is true; otherwise, it is not supported.

3. Otherwise Conformance#

Otherwise conformance defines a sequence of conformance expressions, separated by commas (,). They are evaluated from left to right, similar to an if → else if → else chain:

if (first condition is true)
  apply first conformance
else if (second condition is true)
  apply second conformance
...
else
  not supported

Examples#

  • AB, O → Mandatory if AB is true; otherwise, it is optional.

  • AB, [CD] → Mandatory if AB is true; otherwise, it is optional if CD is true. If neither expression is true, it is not supported.

  • !AB, [CD & EF], D → Mandatory if AB is false; otherwise, it is optional if both CD and EF are true. If neither expression is true, it is deprecated.

4. Provisional Conformance#

The tag P defines the element as provisional. P could be followed by the future intended conformance of the element.

Examples#

  • P → Provisional now. Future conformance is undetermined.

  • P, M: Provisional now. In the future, the element is mandatory.

  • P, [AA & BB]: Provisional now. In the future, the element is optional if AA & BB are true; otherwise, it is not supported.

  • [AA], P: Optional if AA is true; otherwise, the element is provisional. Future conformance is undetermined.

5. Additional Conformance Types#

For conformance types not covered in this document, refer to section 7.3 Conformance in the Matter Core Specification.