This cluster provides an interface for UX navigation within a set of targets on a device or endpoint.

This cluster would be supported on Video Player devices or devices with navigable user interfaces. This cluster would also be supported on endpoints with navigable user interfaces such as a Content App. It supports listing a set of navigation targets, tracking and changing the current target.

The cluster server for Target Navigator is implemented by endpoints on a device that support UX navigation.

When this cluster is implemented for a Content App endpoint, the Video Player device containing the endpoint shall launch the Content App when a client invokes the NavigateTarget command.

MatterSpecification.v13.Cluster § 6.11

interface Cluster {
    attributes: Merge<{
        currentTarget: OptionalAttribute<number, any>;
        targetList: Attribute<TypeFromFields<{
            identifier: FieldType<number>;
            name: FieldType<string>;
        }>[], any>;
    }, GlobalAttributes<{}>>;
    base: undefined;
    commands: {
        navigateTarget: Command<TypeFromFields<{
            data: OptionalFieldType<string>;
            target: FieldType<number>;
        }>, TypeFromFields<{
            data: OptionalFieldType<string>;
            status: FieldType<TargetNavigator.Status>;
        }>, any>;
    };
    events: {
        targetUpdated: OptionalEvent<TypeFromFields<{
            currentTarget: OptionalFieldType<number>;
            data: OptionalFieldType<Uint8Array>;
            targetList: OptionalFieldType<TypeFromFields<{
                identifier: FieldType<number>;
                name: FieldType<string>;
            }>[]>;
        }>, any>;
    };
    extensions: undefined;
    features: {};
    id: Branded<1285, "ClusterId">;
    name: "TargetNavigator";
    revision: 2;
    supportedFeatures: {};
    unknown: false;
    alter<const AlterationsT>(alterations: AlterationsT): WithAlterations<Of<{
        attributes: {
            currentTarget: OptionalAttribute<number, any>;
            targetList: Attribute<TypeFromFields<{
                identifier: FieldType<number>;
                name: FieldType<string>;
            }>[], any>;
        };
        commands: {
            navigateTarget: Command<TypeFromFields<{
                data: OptionalFieldType<string>;
                target: FieldType<number>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<TargetNavigator.Status>;
            }>, any>;
        };
        events: {
            targetUpdated: OptionalEvent<TypeFromFields<{
                currentTarget: OptionalFieldType<number>;
                data: OptionalFieldType<Uint8Array>;
                targetList: OptionalFieldType<TypeFromFields<{
                    identifier: ...;
                    name: ...;
                }>[]>;
            }>, any>;
        };
        id: 1285;
        name: "TargetNavigator";
        revision: 2;
    }>, AlterationsT>;
    enable<const FlagsT>(flags: FlagsT): WithFlags<Of<{
        attributes: {
            currentTarget: OptionalAttribute<number, any>;
            targetList: Attribute<TypeFromFields<{
                identifier: FieldType<number>;
                name: FieldType<string>;
            }>[], any>;
        };
        commands: {
            navigateTarget: Command<TypeFromFields<{
                data: OptionalFieldType<string>;
                target: FieldType<number>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<TargetNavigator.Status>;
            }>, any>;
        };
        events: {
            targetUpdated: OptionalEvent<TypeFromFields<{
                currentTarget: OptionalFieldType<number>;
                data: OptionalFieldType<Uint8Array>;
                targetList: OptionalFieldType<TypeFromFields<{
                    identifier: ...;
                    name: ...;
                }>[]>;
            }>, any>;
        };
        id: 1285;
        name: "TargetNavigator";
        revision: 2;
    }>, FlagsT>;
    set<const ValuesT>(values: ValuesT): WithValues<Of<{
        attributes: {
            currentTarget: OptionalAttribute<number, any>;
            targetList: Attribute<TypeFromFields<{
                identifier: FieldType<number>;
                name: FieldType<string>;
            }>[], any>;
        };
        commands: {
            navigateTarget: Command<TypeFromFields<{
                data: OptionalFieldType<string>;
                target: FieldType<number>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<TargetNavigator.Status>;
            }>, any>;
        };
        events: {
            targetUpdated: OptionalEvent<TypeFromFields<{
                currentTarget: OptionalFieldType<number>;
                data: OptionalFieldType<Uint8Array>;
                targetList: OptionalFieldType<TypeFromFields<{
                    identifier: ...;
                    name: ...;
                }>[]>;
            }>, any>;
        };
        id: 1285;
        name: "TargetNavigator";
        revision: 2;
    }>, ValuesT>;
    with<const SelectionT>(...selection: SelectionT): Of<Of<{
        attributes: {
            currentTarget: OptionalAttribute<number, any>;
            targetList: Attribute<TypeFromFields<{
                identifier: FieldType<number>;
                name: FieldType<string>;
            }>[], any>;
        };
        commands: {
            navigateTarget: Command<TypeFromFields<{
                data: OptionalFieldType<string>;
                target: FieldType<number>;
            }>, TypeFromFields<{
                data: OptionalFieldType<string>;
                status: FieldType<TargetNavigator.Status>;
            }>, any>;
        };
        events: {
            targetUpdated: OptionalEvent<TypeFromFields<{
                currentTarget: OptionalFieldType<number>;
                data: OptionalFieldType<Uint8Array>;
                targetList: OptionalFieldType<TypeFromFields<{
                    identifier: ...;
                    name: ...;
                }>[]>;
            }>, any>;
        };
        id: 1285;
        name: "TargetNavigator";
        revision: 2;
    }>, SelectionT>;
}

Hierarchy (view full)

Properties

attributes: Merge<{
    currentTarget: OptionalAttribute<number, any>;
    targetList: Attribute<TypeFromFields<{
        identifier: FieldType<number>;
        name: FieldType<string>;
    }>[], any>;
}, GlobalAttributes<{}>>

Type declaration

  • ReadonlycurrentTarget: OptionalAttribute<number, any>

    Indicates the Identifier for the target which is currently in foreground on the corresponding Endpoint (Video Player or Content App), or 0xFF to indicate that no target is in the foreground.

    When not 0xFF, the CurrentTarget shall be an Identifier value contained within one of the TargetInfoStruct objects in the TargetList attribute.

    MatterSpecification.v13.Cluster § 6.11.5.2

  • ReadonlytargetList: Attribute<TypeFromFields<{
        identifier: FieldType<number>;
        name: FieldType<string>;
    }>[], any>

    Indicates a list of targets that can be navigated to within the experience presented to the user by the Endpoint (Video Player or Content App). The list shall not contain any entries with the same Identifier in the TargetInfoStruct object.

    MatterSpecification.v13.Cluster § 6.11.5.1

base: undefined
commands: {
    navigateTarget: Command<TypeFromFields<{
        data: OptionalFieldType<string>;
        target: FieldType<number>;
    }>, TypeFromFields<{
        data: OptionalFieldType<string>;
        status: FieldType<TargetNavigator.Status>;
    }>, any>;
}

Type declaration

events: {
    targetUpdated: OptionalEvent<TypeFromFields<{
        currentTarget: OptionalFieldType<number>;
        data: OptionalFieldType<Uint8Array>;
        targetList: OptionalFieldType<TypeFromFields<{
            identifier: FieldType<number>;
            name: FieldType<string>;
        }>[]>;
    }>, any>;
}

Type declaration

extensions: undefined
features: {}
id: Branded<1285, "ClusterId">
name
revision
supportedFeatures: {}
unknown

Methods