The Scene Table is used to store information for each scene capable of being invoked on the server. Each scene is defined for a particular group. The Scene Table is defined here as a conceptual illustration to assist in understanding the underlying data to be stored when scenes are defined. Though the Scene Table is defined here using the data model architecture rules and format, the design is not normative.

The Scene table is logically a list of fabric-scoped structs. The logical fields of each Scene Table entry struct are illustrated below. An ExtensionFieldSetStruct may be present for each Scenes-supporting cluster implemented on the same endpoint.

MatterSpecification.v13.Cluster § 1.4.7.5

interface LogicalSceneTable {
    extensionFields: TypeFromFields<{
        attributeValueList: FieldType<TypeFromFields<{
            attributeId: FieldType<AttributeId>;
            valueSigned16: OptionalFieldType<number>;
            valueSigned32: OptionalFieldType<number>;
            valueSigned64: OptionalFieldType<number | bigint>;
            valueSigned8: OptionalFieldType<number>;
            valueUnsigned16: OptionalFieldType<number>;
            valueUnsigned32: OptionalFieldType<number>;
            valueUnsigned64: OptionalFieldType<number | bigint>;
            valueUnsigned8: OptionalFieldType<number>;
        }>[]>;
        clusterId: FieldType<ClusterId>;
    }>[];
    sceneGroupId: GroupId;
    sceneId: number;
    sceneName?: string;
    sceneTransitionTime: number;
}

Hierarchy (view full)

Properties

extensionFields: TypeFromFields<{
    attributeValueList: FieldType<TypeFromFields<{
        attributeId: FieldType<AttributeId>;
        valueSigned16: OptionalFieldType<number>;
        valueSigned32: OptionalFieldType<number>;
        valueSigned64: OptionalFieldType<number | bigint>;
        valueSigned8: OptionalFieldType<number>;
        valueUnsigned16: OptionalFieldType<number>;
        valueUnsigned32: OptionalFieldType<number>;
        valueUnsigned64: OptionalFieldType<number | bigint>;
        valueUnsigned8: OptionalFieldType<number>;
    }>[]>;
    clusterId: FieldType<ClusterId>;
}>[] = ...

See the Scene Table Extensions subsections of individual clusters. A Scene Table Extension shall only use attributes with the Scene quality. Each ExtensionFieldSetStruct holds a set of values of these attributes for a cluster implemented on the same endpoint where the Scene ("S") designation appears in the quality column. A scene is the aggregate of all such fields across all clusters on the endpoint.

MatterSpecification.v13.Cluster § 1.4.7.5.5

sceneGroupId: GroupId = ...

This field is the group identifier for which this scene applies, or 0 if the scene is not associated with a group.

MatterSpecification.v13.Cluster § 1.4.7.5.1

sceneId: number = ...

This field is unique within this group, which is used to identify this scene.

MatterSpecification.v13.Cluster § 1.4.7.5.2

sceneName?: string = ...

The field is the name of the scene.

If scene names are not supported, any commands that write a scene name shall simply discard the name, and any command that returns a scene name shall return an empty string.

MatterSpecification.v13.Cluster § 1.4.7.5.3

sceneTransitionTime: number = ...

This field is the amount of time, in milliseconds, it will take for a cluster to change from its current state to the requested state.

MatterSpecification.v13.Cluster § 1.4.7.5.4