interface State {
    countdownTime?: null | number;
    currentPhase: null | number;
    operationalError: TypeFromFields<{
        errorStateDetails: OptionalFieldType<string>;
        errorStateId: FieldType<number>;
        errorStateLabel: OptionalFieldType<string>;
    }>;
    operationalState: number;
    operationalStateList: TypeFromFields<{
        operationalStateId: FieldType<number>;
        operationalStateLabel: OptionalFieldType<string>;
    }>[];
    phaseList: null | string[];
}

Hierarchy

  • StateType
    • State

Properties

countdownTime?: null | number

Indicates the estimated time left before the operation is completed, in seconds. Changes to this value shall NOT be reported in a subscription (note the C Quality). A Client implementation may periodically poll this value to ensure alignment of any local rendering of the CountdownTime with the device provided value.

A value of 0 means that the operation has completed.

When this attribute is null, that represents that there is no time currently defined until operation completion. This may happen, for example, because no operation is in progress or because the completion time is unknown.

MatterSpecification.v13.Cluster § 1.14.5.3

currentPhase: null | number

This attribute represents the current phase of operation being performed by the server. This shall be the positional index representing the value from the set provided in the PhaseList Attribute, where the first item in that list is an index of 0. Thus, this attribute shall have a maximum value that is "length(PhaseList) - 1".

Null if the PhaseList attribute is null or if the PhaseList attribute is an empty list.

MatterSpecification.v13.Cluster § 1.14.5.2

operationalError: TypeFromFields<{
    errorStateDetails: OptionalFieldType<string>;
    errorStateId: FieldType<number>;
    errorStateLabel: OptionalFieldType<string>;
}>

This attribute shall specify the details of any current error condition being experienced on the device when the OperationalState attribute is populated with Error. Please see ErrorStateStruct for general requirements on the population of this attribute.

When there is no error detected, this shall have an ErrorStateID of NoError.

Type declaration

  • errorStateDetails: OptionalFieldType<string>

    This shall be a human-readable string that provides details about the error condition. As an example, if the ErrorStateID indicates that the device is a Robotic Vacuum that is stuck, the ErrorStateDetails contains "left wheel blocked".

    MatterSpecification.v13.Cluster § 1.14.4.4.3

  • errorStateId: FieldType<number>

    This shall be populated with a value from the ErrorStateEnum.

    MatterSpecification.v13.Cluster § 1.14.4.4.1

  • errorStateLabel: OptionalFieldType<string>

    This field shall be present if the ErrorStateID is from the set reserved for Manufacturer Specific Errors, otherwise it shall NOT be present. If present, this shall contain a human-readable description of the ErrorStateID; e.g. for a manufacturer specific ErrorStateID of "0x80" the ErrorStateLabel may contain "My special error".

    MatterSpecification.v13.Cluster § 1.14.4.4.2

MatterSpecification.v13.Cluster § 1.14.5.6

operationalState: number

This attribute specifies the current operational state of a device. This shall be populated with a valid OperationalStateID from the set of values in the OperationalStateList Attribute.

MatterSpecification.v13.Cluster § 1.14.5.5

operationalStateList: TypeFromFields<{
    operationalStateId: FieldType<number>;
    operationalStateLabel: OptionalFieldType<string>;
}>[]

This attribute describes the set of possible operational states that the device exposes. An operational state is a fundamental device state such as Running or Error. Details of the phase of a device when, for example, in a state of Running are provided by the CurrentPhase attribute.

All devices shall, at a minimum, expose the set of states matching the commands that are also supported by the cluster instance, in addition to Error. The set of possible device states are defined in the OperationalStateEnum. A device type requiring implementation of this cluster shall define the set of states that are applicable to that specific device type.

MatterSpecification.v13.Cluster § 1.14.5.4

phaseList: null | string[]

Indicates a list of names of different phases that the device can go through for the selected function or mode. The list may not be in sequence order. For example in a washing machine this could include items such as "pre-soak", "rinse", and "spin". These phases are manufacturer specific and may change when a different function or mode is selected.

A null value indicates that the device does not present phases during its operation. When this attribute’s value is null, the CurrentPhase attribute shall also be set to null.

MatterSpecification.v13.Cluster § 1.14.5.1