This cluster supports all GeneralDiagnostics features. It may support illegal feature combinations.

If you use this cluster you must manually specify which features are active and ensure the set of active features is legal per the Matter specification.

interface Complete {
    attributes: Merge<Merge<{
        activeHardwareFaults: OptionalAttribute<GeneralDiagnostics.HardwareFault[], any>;
        activeNetworkFaults: OptionalAttribute<GeneralDiagnostics.NetworkFault[], any>;
        activeRadioFaults: OptionalAttribute<GeneralDiagnostics.RadioFault[], any>;
        bootReason: OptionalAttribute<GeneralDiagnostics.BootReason, any>;
        networkInterfaces: Attribute<TypeFromFields<{
            hardwareAddress: FieldType<Uint8Array>;
            iPv4Addresses: FieldType<Uint8Array[]>;
            iPv6Addresses: FieldType<Uint8Array[]>;
            isOperational: FieldType<boolean>;
            name: FieldType<string>;
            offPremiseServicesReachableIPv4: FieldType<null | boolean>;
            offPremiseServicesReachableIPv6: FieldType<null | boolean>;
            type: FieldType<GeneralDiagnostics.InterfaceType>;
        }>[], any>;
        rebootCount: Attribute<number, any>;
        testEventTriggersEnabled: Attribute<boolean, any>;
        totalOperationalHours: OptionalAttribute<number, any>;
        upTime: Attribute<number | bigint, any>;
    }, GlobalAttributes<{
        dataModelTest: BitFlag;
    }>>, GlobalAttributes<{
        dataModelTest: BitFlag;
    }>>;
    base: undefined;
    commands: {
        payloadTestRequest: Command<TypeFromFields<{
            count: FieldType<number>;
            enableKey: FieldType<Uint8Array>;
            value: FieldType<number>;
        }>, TypeFromFields<{
            payload: FieldType<Uint8Array>;
        }>, any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                dataModelTest: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
        testEventTrigger: Command<TypeFromFields<{
            enableKey: FieldType<Uint8Array>;
            eventTrigger: FieldType<number | bigint>;
        }>, void, any>;
        timeSnapshot: Command<void, TypeFromFields<{
            posixTimeMs: FieldType<null | number | bigint>;
            systemTimeMs: FieldType<number | bigint>;
        }>, any>;
    };
    events: {
        bootReason: Event<TypeFromFields<{
            bootReason: FieldType<GeneralDiagnostics.BootReason>;
        }>, any>;
        hardwareFaultChange: OptionalEvent<TypeFromFields<{
            current: FieldType<GeneralDiagnostics.HardwareFault[]>;
            previous: FieldType<GeneralDiagnostics.HardwareFault[]>;
        }>, any>;
        networkFaultChange: OptionalEvent<TypeFromFields<{
            current: FieldType<GeneralDiagnostics.NetworkFault[]>;
            previous: FieldType<GeneralDiagnostics.NetworkFault[]>;
        }>, any>;
        radioFaultChange: OptionalEvent<TypeFromFields<{
            current: FieldType<GeneralDiagnostics.RadioFault[]>;
            previous: FieldType<GeneralDiagnostics.RadioFault[]>;
        }>, any>;
    };
    extensions: undefined;
    features: {
        dataModelTest: BitFlag;
    };
    id: Branded<Branded<51, "ClusterId">, "ClusterId">;
    name: "GeneralDiagnostics";
    revision: 2;
    supportedFeatures: {};
    unknown: false;
    alter<const AlterationsT>(alterations: AlterationsT): WithAlterations<Of<{
        attributes: Merge<{
            activeHardwareFaults: OptionalAttribute<GeneralDiagnostics.HardwareFault[], any>;
            activeNetworkFaults: OptionalAttribute<GeneralDiagnostics.NetworkFault[], any>;
            activeRadioFaults: OptionalAttribute<GeneralDiagnostics.RadioFault[], any>;
            bootReason: OptionalAttribute<GeneralDiagnostics.BootReason, any>;
            networkInterfaces: Attribute<TypeFromFields<{
                hardwareAddress: FieldType<Uint8Array>;
                iPv4Addresses: FieldType<(...)[]>;
                iPv6Addresses: FieldType<(...)[]>;
                isOperational: FieldType<boolean>;
                name: FieldType<string>;
                offPremiseServicesReachableIPv4: FieldType<(...) | (...) | (...)>;
                offPremiseServicesReachableIPv6: FieldType<(...) | (...) | (...)>;
                type: FieldType<GeneralDiagnostics.InterfaceType>;
            }>[], any>;
            rebootCount: Attribute<number, any>;
            testEventTriggersEnabled: Attribute<boolean, any>;
            totalOperationalHours: OptionalAttribute<number, any>;
            upTime: Attribute<number | bigint, any>;
        }, GlobalAttributes<{
            dataModelTest: BitFlag;
        }>>;
        commands: {
            payloadTestRequest: Command<TypeFromFields<{
                count: FieldType<number>;
                enableKey: FieldType<Uint8Array>;
                value: FieldType<number>;
            }>, TypeFromFields<{
                payload: FieldType<Uint8Array>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    dataModelTest: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            testEventTrigger: Command<TypeFromFields<{
                enableKey: FieldType<Uint8Array>;
                eventTrigger: FieldType<number | bigint>;
            }>, void, any>;
            timeSnapshot: Command<void, TypeFromFields<{
                posixTimeMs: FieldType<null | number | bigint>;
                systemTimeMs: FieldType<number | bigint>;
            }>, any>;
        };
        events: {
            bootReason: Event<TypeFromFields<{
                bootReason: FieldType<GeneralDiagnostics.BootReason>;
            }>, any>;
            hardwareFaultChange: OptionalEvent<TypeFromFields<{
                current: FieldType<GeneralDiagnostics.HardwareFault[]>;
                previous: FieldType<GeneralDiagnostics.HardwareFault[]>;
            }>, any>;
            networkFaultChange: OptionalEvent<TypeFromFields<{
                current: FieldType<GeneralDiagnostics.NetworkFault[]>;
                previous: FieldType<GeneralDiagnostics.NetworkFault[]>;
            }>, any>;
            radioFaultChange: OptionalEvent<TypeFromFields<{
                current: FieldType<GeneralDiagnostics.RadioFault[]>;
                previous: FieldType<GeneralDiagnostics.RadioFault[]>;
            }>, any>;
        };
        features: {
            dataModelTest: BitFlag;
        };
        id: Branded<51, "ClusterId">;
        name: "GeneralDiagnostics";
        revision: 2;
    }>, AlterationsT>;
    enable<const FlagsT>(flags: FlagsT): WithFlags<Of<{
        attributes: Merge<{
            activeHardwareFaults: OptionalAttribute<GeneralDiagnostics.HardwareFault[], any>;
            activeNetworkFaults: OptionalAttribute<GeneralDiagnostics.NetworkFault[], any>;
            activeRadioFaults: OptionalAttribute<GeneralDiagnostics.RadioFault[], any>;
            bootReason: OptionalAttribute<GeneralDiagnostics.BootReason, any>;
            networkInterfaces: Attribute<TypeFromFields<{
                hardwareAddress: FieldType<Uint8Array>;
                iPv4Addresses: FieldType<(...)[]>;
                iPv6Addresses: FieldType<(...)[]>;
                isOperational: FieldType<boolean>;
                name: FieldType<string>;
                offPremiseServicesReachableIPv4: FieldType<(...) | (...) | (...)>;
                offPremiseServicesReachableIPv6: FieldType<(...) | (...) | (...)>;
                type: FieldType<GeneralDiagnostics.InterfaceType>;
            }>[], any>;
            rebootCount: Attribute<number, any>;
            testEventTriggersEnabled: Attribute<boolean, any>;
            totalOperationalHours: OptionalAttribute<number, any>;
            upTime: Attribute<number | bigint, any>;
        }, GlobalAttributes<{
            dataModelTest: BitFlag;
        }>>;
        commands: {
            payloadTestRequest: Command<TypeFromFields<{
                count: FieldType<number>;
                enableKey: FieldType<Uint8Array>;
                value: FieldType<number>;
            }>, TypeFromFields<{
                payload: FieldType<Uint8Array>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    dataModelTest: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            testEventTrigger: Command<TypeFromFields<{
                enableKey: FieldType<Uint8Array>;
                eventTrigger: FieldType<number | bigint>;
            }>, void, any>;
            timeSnapshot: Command<void, TypeFromFields<{
                posixTimeMs: FieldType<null | number | bigint>;
                systemTimeMs: FieldType<number | bigint>;
            }>, any>;
        };
        events: {
            bootReason: Event<TypeFromFields<{
                bootReason: FieldType<GeneralDiagnostics.BootReason>;
            }>, any>;
            hardwareFaultChange: OptionalEvent<TypeFromFields<{
                current: FieldType<GeneralDiagnostics.HardwareFault[]>;
                previous: FieldType<GeneralDiagnostics.HardwareFault[]>;
            }>, any>;
            networkFaultChange: OptionalEvent<TypeFromFields<{
                current: FieldType<GeneralDiagnostics.NetworkFault[]>;
                previous: FieldType<GeneralDiagnostics.NetworkFault[]>;
            }>, any>;
            radioFaultChange: OptionalEvent<TypeFromFields<{
                current: FieldType<GeneralDiagnostics.RadioFault[]>;
                previous: FieldType<GeneralDiagnostics.RadioFault[]>;
            }>, any>;
        };
        features: {
            dataModelTest: BitFlag;
        };
        id: Branded<51, "ClusterId">;
        name: "GeneralDiagnostics";
        revision: 2;
    }>, FlagsT>;
    set<const ValuesT>(values: ValuesT): WithValues<Of<{
        attributes: Merge<{
            activeHardwareFaults: OptionalAttribute<GeneralDiagnostics.HardwareFault[], any>;
            activeNetworkFaults: OptionalAttribute<GeneralDiagnostics.NetworkFault[], any>;
            activeRadioFaults: OptionalAttribute<GeneralDiagnostics.RadioFault[], any>;
            bootReason: OptionalAttribute<GeneralDiagnostics.BootReason, any>;
            networkInterfaces: Attribute<TypeFromFields<{
                hardwareAddress: FieldType<Uint8Array>;
                iPv4Addresses: FieldType<(...)[]>;
                iPv6Addresses: FieldType<(...)[]>;
                isOperational: FieldType<boolean>;
                name: FieldType<string>;
                offPremiseServicesReachableIPv4: FieldType<(...) | (...) | (...)>;
                offPremiseServicesReachableIPv6: FieldType<(...) | (...) | (...)>;
                type: FieldType<GeneralDiagnostics.InterfaceType>;
            }>[], any>;
            rebootCount: Attribute<number, any>;
            testEventTriggersEnabled: Attribute<boolean, any>;
            totalOperationalHours: OptionalAttribute<number, any>;
            upTime: Attribute<number | bigint, any>;
        }, GlobalAttributes<{
            dataModelTest: BitFlag;
        }>>;
        commands: {
            payloadTestRequest: Command<TypeFromFields<{
                count: FieldType<number>;
                enableKey: FieldType<Uint8Array>;
                value: FieldType<number>;
            }>, TypeFromFields<{
                payload: FieldType<Uint8Array>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    dataModelTest: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            testEventTrigger: Command<TypeFromFields<{
                enableKey: FieldType<Uint8Array>;
                eventTrigger: FieldType<number | bigint>;
            }>, void, any>;
            timeSnapshot: Command<void, TypeFromFields<{
                posixTimeMs: FieldType<null | number | bigint>;
                systemTimeMs: FieldType<number | bigint>;
            }>, any>;
        };
        events: {
            bootReason: Event<TypeFromFields<{
                bootReason: FieldType<GeneralDiagnostics.BootReason>;
            }>, any>;
            hardwareFaultChange: OptionalEvent<TypeFromFields<{
                current: FieldType<GeneralDiagnostics.HardwareFault[]>;
                previous: FieldType<GeneralDiagnostics.HardwareFault[]>;
            }>, any>;
            networkFaultChange: OptionalEvent<TypeFromFields<{
                current: FieldType<GeneralDiagnostics.NetworkFault[]>;
                previous: FieldType<GeneralDiagnostics.NetworkFault[]>;
            }>, any>;
            radioFaultChange: OptionalEvent<TypeFromFields<{
                current: FieldType<GeneralDiagnostics.RadioFault[]>;
                previous: FieldType<GeneralDiagnostics.RadioFault[]>;
            }>, any>;
        };
        features: {
            dataModelTest: BitFlag;
        };
        id: Branded<51, "ClusterId">;
        name: "GeneralDiagnostics";
        revision: 2;
    }>, ValuesT>;
    with<const SelectionT>(...selection: SelectionT): Of<Of<{
        attributes: Merge<{
            activeHardwareFaults: OptionalAttribute<GeneralDiagnostics.HardwareFault[], any>;
            activeNetworkFaults: OptionalAttribute<GeneralDiagnostics.NetworkFault[], any>;
            activeRadioFaults: OptionalAttribute<GeneralDiagnostics.RadioFault[], any>;
            bootReason: OptionalAttribute<GeneralDiagnostics.BootReason, any>;
            networkInterfaces: Attribute<TypeFromFields<{
                hardwareAddress: FieldType<Uint8Array>;
                iPv4Addresses: FieldType<(...)[]>;
                iPv6Addresses: FieldType<(...)[]>;
                isOperational: FieldType<boolean>;
                name: FieldType<string>;
                offPremiseServicesReachableIPv4: FieldType<(...) | (...) | (...)>;
                offPremiseServicesReachableIPv6: FieldType<(...) | (...) | (...)>;
                type: FieldType<GeneralDiagnostics.InterfaceType>;
            }>[], any>;
            rebootCount: Attribute<number, any>;
            testEventTriggersEnabled: Attribute<boolean, any>;
            totalOperationalHours: OptionalAttribute<number, any>;
            upTime: Attribute<number | bigint, any>;
        }, GlobalAttributes<{
            dataModelTest: BitFlag;
        }>>;
        commands: {
            payloadTestRequest: Command<TypeFromFields<{
                count: FieldType<number>;
                enableKey: FieldType<Uint8Array>;
                value: FieldType<number>;
            }>, TypeFromFields<{
                payload: FieldType<Uint8Array>;
            }>, any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    dataModelTest: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
            testEventTrigger: Command<TypeFromFields<{
                enableKey: FieldType<Uint8Array>;
                eventTrigger: FieldType<number | bigint>;
            }>, void, any>;
            timeSnapshot: Command<void, TypeFromFields<{
                posixTimeMs: FieldType<null | number | bigint>;
                systemTimeMs: FieldType<number | bigint>;
            }>, any>;
        };
        events: {
            bootReason: Event<TypeFromFields<{
                bootReason: FieldType<GeneralDiagnostics.BootReason>;
            }>, any>;
            hardwareFaultChange: OptionalEvent<TypeFromFields<{
                current: FieldType<GeneralDiagnostics.HardwareFault[]>;
                previous: FieldType<GeneralDiagnostics.HardwareFault[]>;
            }>, any>;
            networkFaultChange: OptionalEvent<TypeFromFields<{
                current: FieldType<GeneralDiagnostics.NetworkFault[]>;
                previous: FieldType<GeneralDiagnostics.NetworkFault[]>;
            }>, any>;
            radioFaultChange: OptionalEvent<TypeFromFields<{
                current: FieldType<GeneralDiagnostics.RadioFault[]>;
                previous: FieldType<GeneralDiagnostics.RadioFault[]>;
            }>, any>;
        };
        features: {
            dataModelTest: BitFlag;
        };
        id: Branded<51, "ClusterId">;
        name: "GeneralDiagnostics";
        revision: 2;
    }>, SelectionT>;
}

Hierarchy (view full)

Properties

attributes: Merge<Merge<{
    activeHardwareFaults: OptionalAttribute<GeneralDiagnostics.HardwareFault[], any>;
    activeNetworkFaults: OptionalAttribute<GeneralDiagnostics.NetworkFault[], any>;
    activeRadioFaults: OptionalAttribute<GeneralDiagnostics.RadioFault[], any>;
    bootReason: OptionalAttribute<GeneralDiagnostics.BootReason, any>;
    networkInterfaces: Attribute<TypeFromFields<{
        hardwareAddress: FieldType<Uint8Array>;
        iPv4Addresses: FieldType<Uint8Array[]>;
        iPv6Addresses: FieldType<Uint8Array[]>;
        isOperational: FieldType<boolean>;
        name: FieldType<string>;
        offPremiseServicesReachableIPv4: FieldType<null | boolean>;
        offPremiseServicesReachableIPv6: FieldType<null | boolean>;
        type: FieldType<GeneralDiagnostics.InterfaceType>;
    }>[], any>;
    rebootCount: Attribute<number, any>;
    testEventTriggersEnabled: Attribute<boolean, any>;
    totalOperationalHours: OptionalAttribute<number, any>;
    upTime: Attribute<number | bigint, any>;
}, GlobalAttributes<{
    dataModelTest: BitFlag;
}>>, GlobalAttributes<{
    dataModelTest: BitFlag;
}>>
base: undefined
commands: {
    payloadTestRequest: Command<TypeFromFields<{
        count: FieldType<number>;
        enableKey: FieldType<Uint8Array>;
        value: FieldType<number>;
    }>, TypeFromFields<{
        payload: FieldType<Uint8Array>;
    }>, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            dataModelTest: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
    testEventTrigger: Command<TypeFromFields<{
        enableKey: FieldType<Uint8Array>;
        eventTrigger: FieldType<number | bigint>;
    }>, void, any>;
    timeSnapshot: Command<void, TypeFromFields<{
        posixTimeMs: FieldType<null | number | bigint>;
        systemTimeMs: FieldType<number | bigint>;
    }>, any>;
}

Type declaration

  • ReadonlypayloadTestRequest: Command<TypeFromFields<{
        count: FieldType<number>;
        enableKey: FieldType<Uint8Array>;
        value: FieldType<number>;
    }>, TypeFromFields<{
        payload: FieldType<Uint8Array>;
    }>, any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            dataModelTest: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    }
  • ReadonlytestEventTrigger: Command<TypeFromFields<{
        enableKey: FieldType<Uint8Array>;
        eventTrigger: FieldType<number | bigint>;
    }>, void, any>

    This command shall be supported to provide a means for certification tests to trigger some test- plan-specific events, necessary to assist in automation of device interactions for some certification test cases. This command shall NOT cause any changes to the state of the device that persist after the last fabric is removed.

    The fields for the TestEventTrigger command are as follows:

    MatterSpecification.v13.Core § 11.12.7.1

  • ReadonlytimeSnapshot: Command<void, TypeFromFields<{
        posixTimeMs: FieldType<null | number | bigint>;
        systemTimeMs: FieldType<number | bigint>;
    }>, any>

    This command may be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, "wall clock time" of the server. This can help clients establish

    time correlation between their concept of time and the server’s concept of time. This is especially useful when processing event histories where some events only contain System Time.

    Upon command invocation, the server shall respond with a TimeSnapshotResponse.

    MatterSpecification.v13.Core § 11.12.7.2

events: {
    bootReason: Event<TypeFromFields<{
        bootReason: FieldType<GeneralDiagnostics.BootReason>;
    }>, any>;
    hardwareFaultChange: OptionalEvent<TypeFromFields<{
        current: FieldType<GeneralDiagnostics.HardwareFault[]>;
        previous: FieldType<GeneralDiagnostics.HardwareFault[]>;
    }>, any>;
    networkFaultChange: OptionalEvent<TypeFromFields<{
        current: FieldType<GeneralDiagnostics.NetworkFault[]>;
        previous: FieldType<GeneralDiagnostics.NetworkFault[]>;
    }>, any>;
    radioFaultChange: OptionalEvent<TypeFromFields<{
        current: FieldType<GeneralDiagnostics.RadioFault[]>;
        previous: FieldType<GeneralDiagnostics.RadioFault[]>;
    }>, any>;
}

Type declaration

extensions: undefined
features: {
    dataModelTest: BitFlag;
}

Type declaration

  • ReadonlydataModelTest: BitFlag

    DataModelTest

    This feature indicates support for extended Data Model testing commands, which are required in some situations.

    This feature shall be supported if the MaxPathsPerInvoke attribute of the Basic Information Cluster has a value > 1.

    MatterSpecification.v13.Core § 11.12.4.1

id: Branded<Branded<51, "ClusterId">, "ClusterId">
name
revision
supportedFeatures: {}
unknown

Methods