interface ThreadNetworkDiagnosticsBehavior {
    [reference]: Datasource<StateType>;
    agent: Agent;
    cluster: never;
    context: ActionContext;
    endpoint: Endpoint<Empty>;
    env: Environment;
    events: EventEmitter & Omit<ClusterEvents<Of<{
        attributes: {};
        commands: {};
        events: {};
        id: 0;
        name: "Unknown";
        revision: 0;
    }>, typeof ClusterBehavior>, never> & {
        activeNetworkFaultsList$Changing: ClusterEvents.AttributeObservable<Attribute<ThreadNetworkDiagnostics.NetworkFault[], any>>;
        channel$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
        channelPage0Mask$Changing: ClusterEvents.AttributeObservable<Attribute<null | Uint8Array, any>>;
        dataVersion$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
        extendedPanId$Changing: ClusterEvents.AttributeObservable<Attribute<null | number | bigint, any>>;
        leaderRouterId$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
        meshLocalPrefix$Changing: ClusterEvents.AttributeObservable<Attribute<null | Uint8Array, any>>;
        neighborTable$Changing: ClusterEvents.AttributeObservable<Attribute<TypeFromFields<{
            age: FieldType<number>;
            averageRssi: FieldType<null | number>;
            extAddress: FieldType<number | bigint>;
            frameErrorRate: FieldType<number>;
            fullNetworkData: FieldType<boolean>;
            fullThreadDevice: FieldType<boolean>;
            isChild: FieldType<boolean>;
            lastRssi: FieldType<null | number>;
            linkFrameCounter: FieldType<number>;
            lqi: FieldType<number>;
            messageErrorRate: FieldType<number>;
            mleFrameCounter: FieldType<number>;
            rloc16: FieldType<number>;
            rxOnWhenIdle: FieldType<boolean>;
        }>[], any>>;
        networkName$Changing: ClusterEvents.AttributeObservable<Attribute<null | string, any>>;
        operationalDatasetComponents$Changing: ClusterEvents.AttributeObservable<Attribute<null | TypeFromFields<{
            activeTimestampPresent: FieldType<boolean>;
            channelMaskPresent: FieldType<boolean>;
            channelPresent: FieldType<boolean>;
            delayPresent: FieldType<boolean>;
            extendedPanIdPresent: FieldType<boolean>;
            masterKeyPresent: FieldType<boolean>;
            meshLocalPrefixPresent: FieldType<boolean>;
            networkNamePresent: FieldType<boolean>;
            panIdPresent: FieldType<boolean>;
            pendingTimestampPresent: FieldType<boolean>;
            pskcPresent: FieldType<boolean>;
            securityPolicyPresent: FieldType<boolean>;
        }>, any>>;
        panId$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
        partitionId$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
        routeTable$Changing: ClusterEvents.AttributeObservable<Attribute<TypeFromFields<{
            age: FieldType<number>;
            allocated: FieldType<boolean>;
            extAddress: FieldType<number | bigint>;
            linkEstablished: FieldType<boolean>;
            lqiIn: FieldType<number>;
            lqiOut: FieldType<number>;
            nextHop: FieldType<number>;
            pathCost: FieldType<number>;
            rloc16: FieldType<number>;
            routerId: FieldType<number>;
        }>[], any>>;
        routingRole$Changing: ClusterEvents.AttributeObservable<Attribute<null | ThreadNetworkDiagnostics.RoutingRole, any>>;
        securityPolicy$Changing: ClusterEvents.AttributeObservable<Attribute<null | TypeFromFields<{
            flags: FieldType<number>;
            rotationTime: FieldType<number>;
        }>, any>>;
        stableDataVersion$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
        weighting$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    } & {
        activeTimestamp$Changing: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number | bigint, any>>;
        delay$Changing: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number, any>>;
        pendingTimestamp$Changing: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number | bigint, any>>;
    } & {
        activeNetworkFaultsList$Changed: ClusterEvents.AttributeObservable<Attribute<ThreadNetworkDiagnostics.NetworkFault[], any>>;
        channel$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
        channelPage0Mask$Changed: ClusterEvents.AttributeObservable<Attribute<null | Uint8Array, any>>;
        dataVersion$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
        extendedPanId$Changed: ClusterEvents.AttributeObservable<Attribute<null | number | bigint, any>>;
        leaderRouterId$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
        meshLocalPrefix$Changed: ClusterEvents.AttributeObservable<Attribute<null | Uint8Array, any>>;
        neighborTable$Changed: ClusterEvents.AttributeObservable<Attribute<TypeFromFields<{
            age: FieldType<number>;
            averageRssi: FieldType<null | number>;
            extAddress: FieldType<number | bigint>;
            frameErrorRate: FieldType<number>;
            fullNetworkData: FieldType<boolean>;
            fullThreadDevice: FieldType<boolean>;
            isChild: FieldType<boolean>;
            lastRssi: FieldType<null | number>;
            linkFrameCounter: FieldType<number>;
            lqi: FieldType<number>;
            messageErrorRate: FieldType<number>;
            mleFrameCounter: FieldType<number>;
            rloc16: FieldType<number>;
            rxOnWhenIdle: FieldType<boolean>;
        }>[], any>>;
        networkName$Changed: ClusterEvents.AttributeObservable<Attribute<null | string, any>>;
        operationalDatasetComponents$Changed: ClusterEvents.AttributeObservable<Attribute<null | TypeFromFields<{
            activeTimestampPresent: FieldType<boolean>;
            channelMaskPresent: FieldType<boolean>;
            channelPresent: FieldType<boolean>;
            delayPresent: FieldType<boolean>;
            extendedPanIdPresent: FieldType<boolean>;
            masterKeyPresent: FieldType<boolean>;
            meshLocalPrefixPresent: FieldType<boolean>;
            networkNamePresent: FieldType<boolean>;
            panIdPresent: FieldType<boolean>;
            pendingTimestampPresent: FieldType<boolean>;
            pskcPresent: FieldType<boolean>;
            securityPolicyPresent: FieldType<boolean>;
        }>, any>>;
        panId$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
        partitionId$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
        routeTable$Changed: ClusterEvents.AttributeObservable<Attribute<TypeFromFields<{
            age: FieldType<number>;
            allocated: FieldType<boolean>;
            extAddress: FieldType<number | bigint>;
            linkEstablished: FieldType<boolean>;
            lqiIn: FieldType<number>;
            lqiOut: FieldType<number>;
            nextHop: FieldType<number>;
            pathCost: FieldType<number>;
            rloc16: FieldType<number>;
            routerId: FieldType<number>;
        }>[], any>>;
        routingRole$Changed: ClusterEvents.AttributeObservable<Attribute<null | ThreadNetworkDiagnostics.RoutingRole, any>>;
        securityPolicy$Changed: ClusterEvents.AttributeObservable<Attribute<null | TypeFromFields<{
            flags: FieldType<number>;
            rotationTime: FieldType<number>;
        }>, any>>;
        stableDataVersion$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
        weighting$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    } & {
        activeTimestamp$Changed: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number | bigint, any>>;
        delay$Changed: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number, any>>;
        pendingTimestamp$Changed: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number | bigint, any>>;
    } & {} & {
        connectionStatus?: ClusterEvents.EventObservable<OptionalEvent<TypeFromFields<{
            connectionStatus: FieldType<ThreadNetworkDiagnostics.ConnectionStatus>;
        }>, any>>;
        networkFaultChange?: ClusterEvents.EventObservable<OptionalEvent<TypeFromFields<{
            current: FieldType<ThreadNetworkDiagnostics.NetworkFault[]>;
            previous: FieldType<ThreadNetworkDiagnostics.NetworkFault[]>;
        }>, any>>;
    };
    features: TypeFromBitSchema<{}> & TypeFromBitSchema<{
        errorCounts: BitFlag;
        macCounts: BitFlag;
        mleCounts: BitFlag;
        packetCounts: BitFlag;
    }>;
    session: SecureSession;
    state: Omit<ClusterState.Type<Of<{
        attributes: {};
        commands: {};
        events: {};
        id: 0;
        name: "Unknown";
        revision: 0;
    }>, typeof ClusterBehavior>, never> & {
        activeNetworkFaultsList: ThreadNetworkDiagnostics.NetworkFault[];
        channel: null | number;
        channelPage0Mask: null | Uint8Array;
        dataVersion: null | number;
        extendedPanId: null | number | bigint;
        leaderRouterId: null | number;
        meshLocalPrefix: null | Uint8Array;
        neighborTable: TypeFromFields<{
            age: FieldType<number>;
            averageRssi: FieldType<null | number>;
            extAddress: FieldType<number | bigint>;
            frameErrorRate: FieldType<number>;
            fullNetworkData: FieldType<boolean>;
            fullThreadDevice: FieldType<boolean>;
            isChild: FieldType<boolean>;
            lastRssi: FieldType<null | number>;
            linkFrameCounter: FieldType<number>;
            lqi: FieldType<number>;
            messageErrorRate: FieldType<number>;
            mleFrameCounter: FieldType<number>;
            rloc16: FieldType<number>;
            rxOnWhenIdle: FieldType<boolean>;
        }>[];
        networkName: null | string;
        operationalDatasetComponents: null | TypeFromFields<{
            activeTimestampPresent: FieldType<boolean>;
            channelMaskPresent: FieldType<boolean>;
            channelPresent: FieldType<boolean>;
            delayPresent: FieldType<boolean>;
            extendedPanIdPresent: FieldType<boolean>;
            masterKeyPresent: FieldType<boolean>;
            meshLocalPrefixPresent: FieldType<boolean>;
            networkNamePresent: FieldType<boolean>;
            panIdPresent: FieldType<boolean>;
            pendingTimestampPresent: FieldType<boolean>;
            pskcPresent: FieldType<boolean>;
            securityPolicyPresent: FieldType<boolean>;
        }>;
        panId: null | number;
        partitionId: null | number;
        routeTable: TypeFromFields<{
            age: FieldType<number>;
            allocated: FieldType<boolean>;
            extAddress: FieldType<number | bigint>;
            linkEstablished: FieldType<boolean>;
            lqiIn: FieldType<number>;
            lqiOut: FieldType<number>;
            nextHop: FieldType<number>;
            pathCost: FieldType<number>;
            rloc16: FieldType<number>;
            routerId: FieldType<number>;
        }>[];
        routingRole: null | ThreadNetworkDiagnostics.RoutingRole;
        securityPolicy: null | TypeFromFields<{
            flags: FieldType<number>;
            rotationTime: FieldType<number>;
        }>;
        stableDataVersion: null | number;
        weighting: null | number;
    } & {
        activeTimestamp?: null | number | bigint;
        delay?: null | number;
        pendingTimestamp?: null | number | bigint;
    } & {} & {};
    [asyncDispose](): MaybePromise;
    asAdmin(fn: (() => void)): void;
    assertAttributeEnabled<This, K>(this: This, attributeName: K): void;
    callback<A, R>(reactor: Reactor<A, R>, options?: Reactor.Options): ((...args: A) => undefined | R);
    initialize(_options?: {}): MaybePromise;
    reactTo<O>(observable: O, reactor: Reactor<Parameters<O["emit"]>, ReturnType<O["emit"]>>, options?: Reactor.Options): void;
    requireAttributeEnabled<This, K>(this: This, attributeName: K): Exclude<This["state"][K], undefined>;
    toString(): string;
    State: any;
}

Hierarchy (view full)

Properties

[reference]: Datasource<StateType>
agent: Agent
cluster: never

The implemented cluster.

context: ActionContext
endpoint: Endpoint<Empty>
events: EventEmitter & Omit<ClusterEvents<Of<{
    attributes: {};
    commands: {};
    events: {};
    id: 0;
    name: "Unknown";
    revision: 0;
}>, typeof ClusterBehavior>, never> & {
    activeNetworkFaultsList$Changing: ClusterEvents.AttributeObservable<Attribute<ThreadNetworkDiagnostics.NetworkFault[], any>>;
    channel$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    channelPage0Mask$Changing: ClusterEvents.AttributeObservable<Attribute<null | Uint8Array, any>>;
    dataVersion$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    extendedPanId$Changing: ClusterEvents.AttributeObservable<Attribute<null | number | bigint, any>>;
    leaderRouterId$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    meshLocalPrefix$Changing: ClusterEvents.AttributeObservable<Attribute<null | Uint8Array, any>>;
    neighborTable$Changing: ClusterEvents.AttributeObservable<Attribute<TypeFromFields<{
        age: FieldType<number>;
        averageRssi: FieldType<null | number>;
        extAddress: FieldType<number | bigint>;
        frameErrorRate: FieldType<number>;
        fullNetworkData: FieldType<boolean>;
        fullThreadDevice: FieldType<boolean>;
        isChild: FieldType<boolean>;
        lastRssi: FieldType<null | number>;
        linkFrameCounter: FieldType<number>;
        lqi: FieldType<number>;
        messageErrorRate: FieldType<number>;
        mleFrameCounter: FieldType<number>;
        rloc16: FieldType<number>;
        rxOnWhenIdle: FieldType<boolean>;
    }>[], any>>;
    networkName$Changing: ClusterEvents.AttributeObservable<Attribute<null | string, any>>;
    operationalDatasetComponents$Changing: ClusterEvents.AttributeObservable<Attribute<null | TypeFromFields<{
        activeTimestampPresent: FieldType<boolean>;
        channelMaskPresent: FieldType<boolean>;
        channelPresent: FieldType<boolean>;
        delayPresent: FieldType<boolean>;
        extendedPanIdPresent: FieldType<boolean>;
        masterKeyPresent: FieldType<boolean>;
        meshLocalPrefixPresent: FieldType<boolean>;
        networkNamePresent: FieldType<boolean>;
        panIdPresent: FieldType<boolean>;
        pendingTimestampPresent: FieldType<boolean>;
        pskcPresent: FieldType<boolean>;
        securityPolicyPresent: FieldType<boolean>;
    }>, any>>;
    panId$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    partitionId$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    routeTable$Changing: ClusterEvents.AttributeObservable<Attribute<TypeFromFields<{
        age: FieldType<number>;
        allocated: FieldType<boolean>;
        extAddress: FieldType<number | bigint>;
        linkEstablished: FieldType<boolean>;
        lqiIn: FieldType<number>;
        lqiOut: FieldType<number>;
        nextHop: FieldType<number>;
        pathCost: FieldType<number>;
        rloc16: FieldType<number>;
        routerId: FieldType<number>;
    }>[], any>>;
    routingRole$Changing: ClusterEvents.AttributeObservable<Attribute<null | ThreadNetworkDiagnostics.RoutingRole, any>>;
    securityPolicy$Changing: ClusterEvents.AttributeObservable<Attribute<null | TypeFromFields<{
        flags: FieldType<number>;
        rotationTime: FieldType<number>;
    }>, any>>;
    stableDataVersion$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    weighting$Changing: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
} & {
    activeTimestamp$Changing: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number | bigint, any>>;
    delay$Changing: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number, any>>;
    pendingTimestamp$Changing: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number | bigint, any>>;
} & {
    activeNetworkFaultsList$Changed: ClusterEvents.AttributeObservable<Attribute<ThreadNetworkDiagnostics.NetworkFault[], any>>;
    channel$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    channelPage0Mask$Changed: ClusterEvents.AttributeObservable<Attribute<null | Uint8Array, any>>;
    dataVersion$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    extendedPanId$Changed: ClusterEvents.AttributeObservable<Attribute<null | number | bigint, any>>;
    leaderRouterId$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    meshLocalPrefix$Changed: ClusterEvents.AttributeObservable<Attribute<null | Uint8Array, any>>;
    neighborTable$Changed: ClusterEvents.AttributeObservable<Attribute<TypeFromFields<{
        age: FieldType<number>;
        averageRssi: FieldType<null | number>;
        extAddress: FieldType<number | bigint>;
        frameErrorRate: FieldType<number>;
        fullNetworkData: FieldType<boolean>;
        fullThreadDevice: FieldType<boolean>;
        isChild: FieldType<boolean>;
        lastRssi: FieldType<null | number>;
        linkFrameCounter: FieldType<number>;
        lqi: FieldType<number>;
        messageErrorRate: FieldType<number>;
        mleFrameCounter: FieldType<number>;
        rloc16: FieldType<number>;
        rxOnWhenIdle: FieldType<boolean>;
    }>[], any>>;
    networkName$Changed: ClusterEvents.AttributeObservable<Attribute<null | string, any>>;
    operationalDatasetComponents$Changed: ClusterEvents.AttributeObservable<Attribute<null | TypeFromFields<{
        activeTimestampPresent: FieldType<boolean>;
        channelMaskPresent: FieldType<boolean>;
        channelPresent: FieldType<boolean>;
        delayPresent: FieldType<boolean>;
        extendedPanIdPresent: FieldType<boolean>;
        masterKeyPresent: FieldType<boolean>;
        meshLocalPrefixPresent: FieldType<boolean>;
        networkNamePresent: FieldType<boolean>;
        panIdPresent: FieldType<boolean>;
        pendingTimestampPresent: FieldType<boolean>;
        pskcPresent: FieldType<boolean>;
        securityPolicyPresent: FieldType<boolean>;
    }>, any>>;
    panId$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    partitionId$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    routeTable$Changed: ClusterEvents.AttributeObservable<Attribute<TypeFromFields<{
        age: FieldType<number>;
        allocated: FieldType<boolean>;
        extAddress: FieldType<number | bigint>;
        linkEstablished: FieldType<boolean>;
        lqiIn: FieldType<number>;
        lqiOut: FieldType<number>;
        nextHop: FieldType<number>;
        pathCost: FieldType<number>;
        rloc16: FieldType<number>;
        routerId: FieldType<number>;
    }>[], any>>;
    routingRole$Changed: ClusterEvents.AttributeObservable<Attribute<null | ThreadNetworkDiagnostics.RoutingRole, any>>;
    securityPolicy$Changed: ClusterEvents.AttributeObservable<Attribute<null | TypeFromFields<{
        flags: FieldType<number>;
        rotationTime: FieldType<number>;
    }>, any>>;
    stableDataVersion$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
    weighting$Changed: ClusterEvents.AttributeObservable<Attribute<null | number, any>>;
} & {
    activeTimestamp$Changed: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number | bigint, any>>;
    delay$Changed: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number, any>>;
    pendingTimestamp$Changed: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<null | number | bigint, any>>;
} & {} & {
    connectionStatus?: ClusterEvents.EventObservable<OptionalEvent<TypeFromFields<{
        connectionStatus: FieldType<ThreadNetworkDiagnostics.ConnectionStatus>;
    }>, any>>;
    networkFaultChange?: ClusterEvents.EventObservable<OptionalEvent<TypeFromFields<{
        current: FieldType<ThreadNetworkDiagnostics.NetworkFault[]>;
        previous: FieldType<ThreadNetworkDiagnostics.NetworkFault[]>;
    }>, any>>;
}

Access the behavior's events.

Type declaration

features: TypeFromBitSchema<{}> & TypeFromBitSchema<{
    errorCounts: BitFlag;
    macCounts: BitFlag;
    mleCounts: BitFlag;
    packetCounts: BitFlag;
}>

Supported features as a flag object.

session: SecureSession
state: Omit<ClusterState.Type<Of<{
    attributes: {};
    commands: {};
    events: {};
    id: 0;
    name: "Unknown";
    revision: 0;
}>, typeof ClusterBehavior>, never> & {
    activeNetworkFaultsList: ThreadNetworkDiagnostics.NetworkFault[];
    channel: null | number;
    channelPage0Mask: null | Uint8Array;
    dataVersion: null | number;
    extendedPanId: null | number | bigint;
    leaderRouterId: null | number;
    meshLocalPrefix: null | Uint8Array;
    neighborTable: TypeFromFields<{
        age: FieldType<number>;
        averageRssi: FieldType<null | number>;
        extAddress: FieldType<number | bigint>;
        frameErrorRate: FieldType<number>;
        fullNetworkData: FieldType<boolean>;
        fullThreadDevice: FieldType<boolean>;
        isChild: FieldType<boolean>;
        lastRssi: FieldType<null | number>;
        linkFrameCounter: FieldType<number>;
        lqi: FieldType<number>;
        messageErrorRate: FieldType<number>;
        mleFrameCounter: FieldType<number>;
        rloc16: FieldType<number>;
        rxOnWhenIdle: FieldType<boolean>;
    }>[];
    networkName: null | string;
    operationalDatasetComponents: null | TypeFromFields<{
        activeTimestampPresent: FieldType<boolean>;
        channelMaskPresent: FieldType<boolean>;
        channelPresent: FieldType<boolean>;
        delayPresent: FieldType<boolean>;
        extendedPanIdPresent: FieldType<boolean>;
        masterKeyPresent: FieldType<boolean>;
        meshLocalPrefixPresent: FieldType<boolean>;
        networkNamePresent: FieldType<boolean>;
        panIdPresent: FieldType<boolean>;
        pendingTimestampPresent: FieldType<boolean>;
        pskcPresent: FieldType<boolean>;
        securityPolicyPresent: FieldType<boolean>;
    }>;
    panId: null | number;
    partitionId: null | number;
    routeTable: TypeFromFields<{
        age: FieldType<number>;
        allocated: FieldType<boolean>;
        extAddress: FieldType<number | bigint>;
        linkEstablished: FieldType<boolean>;
        lqiIn: FieldType<number>;
        lqiOut: FieldType<number>;
        nextHop: FieldType<number>;
        pathCost: FieldType<number>;
        rloc16: FieldType<number>;
        routerId: FieldType<number>;
    }>[];
    routingRole: null | ThreadNetworkDiagnostics.RoutingRole;
    securityPolicy: null | TypeFromFields<{
        flags: FieldType<number>;
        rotationTime: FieldType<number>;
    }>;
    stableDataVersion: null | number;
    weighting: null | number;
} & {
    activeTimestamp?: null | number | bigint;
    delay?: null | number;
    pendingTimestamp?: null | number | bigint;
} & {} & {}

Access the behavior's state.

Type declaration

  • ReadonlyactiveNetworkFaultsList: ThreadNetworkDiagnostics.NetworkFault[]

    MatterSpecification.v13.Core § 11.14.6

  • Readonlychannel: null | number

    The Channel attribute shall indicate the 802.15.4 channel number configured on the Node’s Thread interface (that is, the Active Operational Dataset’s current Channel value). A value of null shall indicate that the Thread interface is not currently configured or operational.

    MatterSpecification.v13.Core § 11.14.6.1

  • ReadonlychannelPage0Mask: null | Uint8Array

    The ChannelPage0Mask attribute indicates the channels within channel page 0, in the 2.4GHz ISM band. The channels are represented in most significant bit order, with bit value 1 meaning selected, bit value 0 meaning unselected. For example, the most significant bit of the left-most byte indicates channel 0. If channel 0 and channel 10 are selected, the mask would be: 80 20 00 00. Null when there is no dataset configured.

    MatterSpecification.v13.Core § 11.14.6.61

  • ReadonlydataVersion: null | number

    The DataVersion attribute shall indicate the full Network Data Version the Node currently uses. Null if not attached to a Thread network.

    MatterSpecification.v13.Core § 11.14.6.12

  • ReadonlyextendedPanId: null | number | bigint

    The ExtendedPanId attribute shall indicate the unique 64-bit identifier of the Node on the Thread network. A value of null shall indicate that the Thread interface is not currently configured or operational.

    MatterSpecification.v13.Core § 11.14.6.5

  • ReadonlyleaderRouterId: null | number

    The LeaderRouterId attribute shall indicate the 8-bit LeaderRouterId the Node shall attempt to utilize upon becoming a router or leader on the Thread network. Null if not attached to a Thread network.

    MatterSpecification.v13.Core § 11.14.6.14

  • ReadonlymeshLocalPrefix: null | Uint8Array

    The MeshLocalPrefix attribute shall indicate the mesh-local IPv6 prefix for the Thread network that the Node has been configured to join to. A value of null shall indicate that the Thread interface is not currently configured or operational.

    MatterSpecification.v13.Core § 11.14.6.6

  • ReadonlyneighborTable: TypeFromFields<{
        age: FieldType<number>;
        averageRssi: FieldType<null | number>;
        extAddress: FieldType<number | bigint>;
        frameErrorRate: FieldType<number>;
        fullNetworkData: FieldType<boolean>;
        fullThreadDevice: FieldType<boolean>;
        isChild: FieldType<boolean>;
        lastRssi: FieldType<null | number>;
        linkFrameCounter: FieldType<number>;
        lqi: FieldType<number>;
        messageErrorRate: FieldType<number>;
        mleFrameCounter: FieldType<number>;
        rloc16: FieldType<number>;
        rxOnWhenIdle: FieldType<boolean>;
    }>[]

    The NeighborTable attribute shall indicate the current list of Nodes that comprise the neighbor table on the Node.

    MatterSpecification.v13.Core § 11.14.6.8

  • ReadonlynetworkName: null | string

    The NetworkName attribute shall indicate a human-readable (displayable) name for the Thread network that the Node has been configured to join to. A value of null shall indicate that the Thread interface is not currently configured or operational.

    MatterSpecification.v13.Core § 11.14.6.3

  • ReadonlyoperationalDatasetComponents: null | TypeFromFields<{
        activeTimestampPresent: FieldType<boolean>;
        channelMaskPresent: FieldType<boolean>;
        channelPresent: FieldType<boolean>;
        delayPresent: FieldType<boolean>;
        extendedPanIdPresent: FieldType<boolean>;
        masterKeyPresent: FieldType<boolean>;
        meshLocalPrefixPresent: FieldType<boolean>;
        networkNamePresent: FieldType<boolean>;
        panIdPresent: FieldType<boolean>;
        pendingTimestampPresent: FieldType<boolean>;
        pskcPresent: FieldType<boolean>;
        securityPolicyPresent: FieldType<boolean>;
    }>

    The OperationalDatasetComponents attribute is a collection of flags to indicate the presence of various operationally acquired values.

    MatterSpecification.v13.Core § 11.14.6.62

  • ReadonlypanId: null | number

    The PanId attribute shall indicate the 16-bit identifier of the Node on the Thread network. A value of null shall indicate that the Thread interface is not currently configured or operational.

    MatterSpecification.v13.Core § 11.14.6.4

  • ReadonlypartitionId: null | number

    The PartitionId attribute shall indicate the Thread Leader Partition Id for the Thread network to which the Node is joined. Null if not attached to a Thread network.

    MatterSpecification.v13.Core § 11.14.6.10

  • ReadonlyrouteTable: TypeFromFields<{
        age: FieldType<number>;
        allocated: FieldType<boolean>;
        extAddress: FieldType<number | bigint>;
        linkEstablished: FieldType<boolean>;
        lqiIn: FieldType<number>;
        lqiOut: FieldType<number>;
        nextHop: FieldType<number>;
        pathCost: FieldType<number>;
        rloc16: FieldType<number>;
        routerId: FieldType<number>;
    }>[]

    The RouteTable attribute shall indicate the current list of router capable Nodes for which routes have been established.

    MatterSpecification.v13.Core § 11.14.6.9

  • ReadonlyroutingRole: null | ThreadNetworkDiagnostics.RoutingRole

    The RoutingRole attribute shall indicate the role that this Node has within the routing of messages through the Thread network, as defined by RoutingRoleEnum. The potential roles are defined in the following table. A value of null shall indicate that the Thread interface is not currently configured or operational.

    MatterSpecification.v13.Core § 11.14.6.2

  • ReadonlysecurityPolicy: null | TypeFromFields<{
        flags: FieldType<number>;
        rotationTime: FieldType<number>;
    }>

    The SecurityPolicy attribute indicates the current security policies for the Thread partition to which a Node is connected. Null when there is no dataset configured.

    MatterSpecification.v13.Core § 11.14.6.60

  • ReadonlystableDataVersion: null | number

    The StableDataVersion attribute shall indicate the Network Data Version for the stable subset of

    data the Node currently uses. Null if not attached to a Thread network.

    MatterSpecification.v13.Core § 11.14.6.13

  • Readonlyweighting: null | number

    The Weighting attribute shall indicate the Thread Leader Weight used when operating in the Leader role. Null if not attached to a Thread network.

    MatterSpecification.v13.Core § 11.14.6.11

Type declaration

  • Optional ReadonlyactiveTimestamp?: null | number | bigint

    Null when there is no dataset configured.

    MatterSpecification.v13.Core § 11.14.6.57

  • Optional Readonlydelay?: null | number

    Null when there is no dataset configured.

    MatterSpecification.v13.Core § 11.14.6.59

  • Optional ReadonlypendingTimestamp?: null | number | bigint

    Null when there is no dataset configured.

    MatterSpecification.v13.Core § 11.14.6.58

Methods

  • Release resources. This is the public API for releasing application resources held by behaviors in internal state.

    Returns MaybePromise

  • Execute logic with elevated privileges.

    The provided function executes with privileges escalated to offline mode. This is not commonly necessary.

    Elevated logic effectively ignores ACLs so should be used with care.

    Note that interactions with the behavior will remain elevated until the synchronous completion of this call. You should only elevate privileges for synchronous logic.

    Parameters

    • fn: (() => void)

      the elevated logic

        • (): void
        • Returns void

    Returns void

  • Type Parameters

    • This extends Behavior
    • K extends string | number | symbol

    Parameters

    • this: This
    • attributeName: K

    Returns void

  • Create a generic callback function that has the same properties as a Reactor.

    Like a reactor, the callback's "this" will be bound to an active Behavior instance. Because of this: The reactor MUST be a real JS function - arrow functions will not work!

    Type Parameters

    • A extends any[]
    • R

    Parameters

    Returns ((...args: A) => undefined | R)

      • (...args): undefined | R
      • Parameters

        • Rest...args: A

        Returns undefined | R

  • Behaviors are ephemeral and should not perform initialization in their constructor. They can override this method instead.

    This method may be synchronous or asyncronous. If asynchronous, the behavior will not be available for external use until initialization completes.

    Parameters

    • Optional_options: {}

      Returns MaybePromise

    • Install a Reactor.

      Important: The reactor MUST be a real JS function - arrow functions will not work!

      Type Parameters

      Parameters

      Returns void

    • Type Parameters

      • This extends Behavior
      • K extends string | number | symbol

      Parameters

      • this: This
      • attributeName: K

      Returns Exclude<This["state"][K], undefined>

    • Description used in diagnostic messages.

      Returns string