Details on a specific device as defined in the Matter specification.

TODO - extract/merge DeviceTypes.ts?

interface DeviceTypeElement {
    constructor: any;
    asOf?: `${number}.${number}`;
    category?: string;
    children?: (FieldElement | RequirementElement)[];
    classification:
        | "node"
        | "application"
        | "base"
        | "utility"
        | "simple"
        | "dynamic";
    description?: string;
    details?: string;
    id?: number;
    isGlobal?: boolean;
    isSeed?: boolean;
    name: string;
    tag: "deviceType";
    type?: string;
    until?: `${number}.${number}`;
    xref?: Specification.CrossReference;
}

Hierarchy (view full)

Implemented by

Constructors

constructor: any

Properties

asOf?: `${number}.${number}`

The first Matter specification in which this element appears.

category?: string

Child elements.

classification:
    | "node"
    | "application"
    | "base"
    | "utility"
    | "simple"
    | "dynamic"
description?: string

A short summary of the element.

details?: string

A paragraph summary of the element.

id?: number

The ID of the element per Matter specification, either global or context-specific. A "machine appropriate" semantic differentiator.

isGlobal?: boolean

Is this a global element? Global elements are available in-scope for every cluster.

isSeed?: boolean

Is this a "seed" element? These are global types and cluster elements defined in the core specification, without which we are fairly incapacitated.

name: string

The key used for storing this element. A "human appropriate" semantic differentiator.

tag
type?: string

If an element derives from another element, the name of the parent element goes here.

until?: `${number}.${number}`

The Matter specification revision in which this element was removed.

Reference to Matter specification document.