NodeOPCUA API Documentation
    Preparing search index...

    Interface UANonExclusiveLimitAlarmEx

    namespace http://opcfoundation.org/UA/
    nodeClass ObjectType
    typedDefinition LimitAlarmType i=2955
    isAbstract false
    interface UANonExclusiveLimitAlarmEx {
        ackedState: UATwoStateVariableEx;
        acknowledge: UAMethod;
        activeState: UATwoStateVariableEx;
        addComment: UAMethod;
        audibleEnabled?: UAProperty<boolean, Boolean>;
        audibleSound?: UAAudioVariable<Buffer<ArrayBufferLike>>;
        baseHighHighLimit?: UAProperty<number, Double>;
        baseHighLimit?: UAProperty<number, Double>;
        baseLowLimit?: UAProperty<number, Double>;
        baseLowLowLimit?: UAProperty<number, Double>;
        branchId: UAProperty<NodeId, NodeId>;
        browseName: QualifiedName;
        clientUserId: UAProperty<UAString, String>;
        comment: UAConditionVariable<LocalizedText, LocalizedText>;
        conditionClassId: UAProperty<NodeId, NodeId>;
        conditionClassName: UAProperty<LocalizedText, LocalizedText>;
        conditionName: UAProperty<UAString, String>;
        conditionRefresh: UAMethod;
        conditionRefresh2: UAMethod;
        conditionSubClassId?: UAProperty<NodeId[], NodeId>;
        conditionSubClassName?: UAProperty<LocalizedText[], LocalizedText>;
        confirm?: UAMethod<UAMethodEvents>;
        confirmedState?: UATwoStateVariableEx;
        declaredAccessRestrictions?: string;
        designToolOnly?: boolean;
        disable: UAMethod;
        enable: UAMethod;
        enabledState: UATwoStateVariableEx;
        eventId: UAProperty<Buffer<ArrayBufferLike>, ByteString>;
        eventNotifier: EventNotifierFlags;
        eventType: UAProperty<NodeId, NodeId>;
        firstInGroup?: UAAlarmGroup;
        firstInGroupFlag?: UABaseDataVariable<boolean, Boolean>;
        getGroupMemberships?: UAMethod<UAMethodEvents>;
        hasMethods: boolean;
        highDeadband?: UAProperty<number, Double>;
        highHighDeadband?: UAProperty<number, Double>;
        highHighLimit?: UAProperty<number, Double>;
        highHighState?: UATwoStateVariableEx;
        highLimit?: UAProperty<number, Double>;
        highState?: UATwoStateVariableEx;
        inputNode: UAProperty<NodeId, NodeId>;
        lastSeverity: UAConditionVariable<number, UInt16>;
        latchedState?: UATwoStateVariableEx;
        localTime?: UAProperty<DTTimeZone, ExtensionObject>;
        lowDeadband?: UAProperty<number, Double>;
        lowLimit?: UAProperty<number, Double>;
        lowLowDeadband?: UAProperty<number, Double>;
        lowLowLimit?: UAProperty<number, Double>;
        lowLowState?: UATwoStateVariableEx;
        lowState?: UATwoStateVariableEx;
        maxTimeShelved?: UAProperty<number, Double>;
        message: UAProperty<LocalizedText, LocalizedText>;
        nodeClass: Object;
        nodeId: NodeId;
        nodesetCategory?: string[];
        nodesetDocumentation?: string;
        offDelay?: UAProperty<number, Double>;
        onDelay?: UAProperty<number, Double>;
        onFirstBrowseAction?: (this: BaseNode) => Promise<void>;
        outOfServiceState?: UATwoStateVariableEx;
        placeInService?: UAMethod<UAMethodEvents>;
        placeInService2?: UAMethod<UAMethodEvents>;
        quality: UAConditionVariable<StatusCode, StatusCode>;
        reAlarmRepeatCount?: UABaseDataVariable<number, Int16>;
        reAlarmTime?: UAProperty<number, Double>;
        receiveTime: UAProperty<Date, DateTime>;
        releaseStatus?: "Draft" | "Deprecated";
        removeFromService?: UAMethod<UAMethodEvents>;
        removeFromService2?: UAMethod<UAMethodEvents>;
        reset?: UAMethod<UAMethodEvents>;
        reset2?: UAMethod<UAMethodEvents>;
        retain: UAProperty<boolean, Boolean>;
        severity: UAProperty<number, UInt16>;
        severityHigh?: UAProperty<number, UInt16>;
        severityHighHigh?: UAProperty<number, UInt16>;
        severityLow?: UAProperty<number, UInt16>;
        severityLowLow?: UAProperty<number, UInt16>;
        shelvingState?: UAShelvedStateMachineEx;
        silence?: UAMethod<UAMethodEvents>;
        silenceState?: UATwoStateVariableEx;
        sourceName: UAProperty<UAString, String>;
        sourceNode: UAProperty<NodeId, NodeId>;
        supportsFilteredRetain: UAProperty<boolean, Boolean>;
        suppress?: UAMethod<UAMethodEvents>;
        suppress2?: UAMethod<UAMethodEvents>;
        suppressedOrShelved: UAProperty<boolean, Boolean>;
        suppressedState?: UATwoStateVariableEx;
        time: UAProperty<Date, DateTime>;
        unsuppress?: UAMethod<UAMethodEvents>;
        unsuppress2?: UAMethod<UAMethodEvents>;
        get accessRestrictions(): AccessRestrictionsFlag | undefined;
        get addressSpace(): IAddressSpace;
        get description(): LocalizedText;
        get displayName(): LocalizedText[];
        get modellingRule(): ModellingRuleType | undefined;
        get namespace(): INamespace;
        get namespaceIndex(): number;
        get namespaceUri(): string;
        get parent(): BaseNode<BaseNodeEvents> | null;
        get parentNodeId(): NodeId | undefined;
        get rolePermissions(): RolePermissionType[] | undefined;
        get typeDefinition(): NodeId;
        get typeDefinitionObj(): UAObjectType;
        acknowledgeAndAutoConfirmBranch(
            branch: ConditionSnapshot,
            comment: LocalizedText | LocalizedTextLike,
        ): void;
        activateAlarm(): void;
        addReference(options: AddReferenceOpts): void;
        allReferences(): UAReference[];
        autoConfirmBranch(
            branch: ConditionSnapshot,
            comment: LocalizedTextLike,
        ): void;
        browseNode(
            browseDescription: BrowseDescriptionOptions2,
            session?: ISessionContext,
        ): ReferenceDescription[];
        browseNodeByTargetName(
            relativePathElement: RelativePathElement,
            isLast: boolean,
        ): NodeId[];
        calculateConditionInfo(
            stateName: string | null,
            isActive: boolean,
            value: string,
            oldConditionInfo: ConditionInfo,
        ): ConditionInfo;
        clone(
            options: CloneOptions,
            optionalFilter?: CloneFilter,
            extraInfo?: CloneExtraInfo,
        ): UAObject;
        conditionOfNode(): | UAObject<UAObjectEvents>
        | UAVariable<UAVariableEvents>
        | null;
        createBranch(): ConditionSnapshot;
        currentBranch(): ConditionSnapshot;
        deactivateAlarm(retain?: boolean): void;
        deleteBranch(branch: ConditionSnapshot): void;
        emit<K extends keyof UALarmConditionEvents>(
            event: K,
            ...args: Parameters<UALarmConditionEvents[K]>,
        ): boolean;
        findBranchForEventId(
            eventId: Buffer<ArrayBufferLike> | null,
        ): ConditionSnapshot | null;
        findReference(
            referenceType: string | NodeId | UAReferenceType,
            isForward?: boolean,
        ): UAReference | null;
        findReferences(
            referenceType: string | NodeId | UAReferenceType,
            isForward?: boolean,
        ): UAReference[];
        findReferencesAsObject(
            referenceType: string | NodeId | UAReferenceType,
            isForward?: boolean,
        ): BaseNode<BaseNodeEvents>[];
        findReferencesEx(
            referenceType: string | NodeId | UAReferenceType,
            browseDirection?: BrowseDirection,
        ): UAReference[];
        findReferencesExAsObject(
            referenceType: string | NodeId | UAReferenceType,
            browseDirection?: BrowseDirection,
        ): BaseNode<BaseNodeEvents>[];
        fullName(): string;
        getAccessRestrictions(inherited: boolean): AccessRestrictionsFlag;
        getAggregates(): BaseNode<BaseNodeEvents>[];
        getBranchCount(): number;
        getBranches(): ConditionSnapshot[];
        getBranchIds(): NodeId[];
        getChildByName(
            browseName: QualifiedNameOptions,
        ): BaseNode<BaseNodeEvents> | null;
        getChildByName(
            browseName: string,
            namespaceIndex?: number,
        ): BaseNode<BaseNodeEvents> | null;
        getComponentByName(
            componentName: QualifiedNameOptions,
        ): UAObject<UAObjectEvents> | UAVariable<UAVariableEvents> | null;
        getComponentByName(
            componentName: string,
            namespaceIndex?: number,
        ): UAObject<UAObjectEvents> | UAVariable<UAVariableEvents> | null;
        getComponents(): BaseNode<BaseNodeEvents>[];
        getCurrentConditionInfo(): ConditionInfo;
        getDisplayName(locale?: string): string;
        getEnabledState(): boolean;
        getEnabledStateAsString(): string;
        getEventSourceOfs(): BaseNode<BaseNodeEvents>[];
        getEventSources(): BaseNode<BaseNodeEvents>[];
        getFolderElementByName(
            browseName: QualifiedNameOptions,
        ): BaseNode<BaseNodeEvents> | null;
        getFolderElementByName(
            browseName: string,
            namespaceIndex?: number,
        ): BaseNode<BaseNodeEvents> | null;
        getHighHighLimit(): number;
        getHighLimit(): number;
        getInputNodeNode(): UAVariable<UAVariableEvents> | null;
        getInputNodeValue(): number | null;
        getLowLimit(): number;
        getLowLowLimit(): number;
        getMaxTimeShelved(): number;
        getMethodById(nodeId: NodeId): UAMethod<UAMethodEvents> | null;
        getMethodByName(
            methodName: QualifiedNameOptions,
        ): UAMethod<UAMethodEvents> | null;
        getMethodByName(
            methodName: string,
            namespaceIndex?: number,
        ): UAMethod<UAMethodEvents> | null;
        getMethods(): UAMethod<UAMethodEvents>[];
        getNodeVersion(): UAProperty<UAString, String> | null;
        getNotifiers(): BaseNode<BaseNodeEvents>[];
        getProperties(): BaseNode<BaseNodeEvents>[];
        getPropertyByName(
            propertyName: QualifiedNameOptions,
        ): UAVariable<UAVariableEvents> | null;
        getPropertyByName(
            propertyName: string,
            namespaceIndex?: number,
        ): UAVariable<UAVariableEvents> | null;
        getRolePermissions(inherited: boolean): RolePermissionType[] | null;
        getSuppressedOrShelved(): boolean;
        install_extra_properties(): void;
        installInputNodeMonitoring(
            inputNode: NodeId | BaseNode<BaseNodeEvents>,
        ): void;
        isDisposed(): boolean;
        isSuppressedOrShelved(): boolean;
        listenerCount<K extends keyof UALarmConditionEvents>(event: K): number;
        off<K extends keyof UALarmConditionEvents>(
            event: K,
            listener: UALarmConditionEvents[K],
        ): this;
        on<K extends keyof UALarmConditionEvents>(
            event: K,
            listener: UALarmConditionEvents[K],
        ): this;
        once<K extends keyof UALarmConditionEvents>(
            event: K,
            listener: UALarmConditionEvents[K],
        ): this;
        onInputDataValueChange(newValue: DataValue): void;
        raiseConditionEvent(branch: ConditionSnapshot, renewEventId: boolean): void;
        raiseEvent(
            eventType: BaseNode<BaseNodeEvents> | EventTypeLike,
            eventData: RaiseEventData,
        ): void;
        raiseNewBranchState(branch: ConditionSnapshot): void;
        raiseNewCondition(conditionInfo: ConditionInfoOptions): void;
        readAttribute(
            context: ISessionContext | null,
            attributeId: AttributeIds,
            indexRange?: NumericRange,
            dataEncoding?: QualifiedNameLike | null,
        ): DataValue;
        removeAllListeners(): void;
        removeListener<K extends keyof UALarmConditionEvents>(
            event: K,
            listener: UALarmConditionEvents[K],
        ): void;
        removeReference(referenceOpts: AddReferenceOpts): void;
        setAccessRestrictions(accessRestrictions: AccessRestrictionsFlag): void;
        setDescription(value: LocalizedTextLike | null): void;
        setDisplayName(value: LocalizedTextLike | LocalizedTextLike[]): void;
        setEnabledState(
            requestedEnabledState: boolean,
            options?: ISetStateOptions,
        ): StatusCode;
        setEventNotifier(eventNotifierFlags: EventNotifierFlags): void;
        setHighHighLimit(value: number): void;
        setHighLimit(value: number): void;
        setLocalTime(time: TimeZoneDataType): void;
        setLowLimit(value: number): void;
        setLowLowLimit(value: number): void;
        setMaxListeners(n: number): void;
        setMaxTimeShelved(duration: number): void;
        setReceiveTime(time: Date): void;
        setRolePermissions(rolePermissions: RolePermissionTypeOptions[]): void;
        setSourceName(name: string): void;
        setSourceNode(node: NodeId | BaseNode<BaseNodeEvents>): void;
        setStateBasedOnInputValue(value: number): void;
        setTime(time: Date): void;
        signalNewCondition(
            stateName: string | null,
            isActive: boolean,
            value: string,
        ): void;
        updateState(): void;
        writeAttribute(
            context: ISessionContext | null,
            writeValue: WriteValueOptions,
            callback: (err: Error | null, statusCode?: StatusCode) => void,
        ): void;
    }

    Hierarchy (View Summary)

    • UALimitAlarmEx
    • Omit<
          UANonExclusiveLimitAlarm_Base,
          | "ackedState"
          | "activeState"
          | "confirmedState"
          | "enabledState"
          | "latchedState"
          | "limitState"
          | "outOfServiceState"
          | "shelvingState"
          | "silenceState"
          | "suppressedState",
      >
    Index
    ackedState: UATwoStateVariableEx
    acknowledge: UAMethod
    activeState: UATwoStateVariableEx
    addComment: UAMethod
    audibleEnabled?: UAProperty<boolean, Boolean>
    audibleSound?: UAAudioVariable<Buffer<ArrayBufferLike>>
    baseHighHighLimit?: UAProperty<number, Double>
    baseHighLimit?: UAProperty<number, Double>
    baseLowLimit?: UAProperty<number, Double>
    baseLowLowLimit?: UAProperty<number, Double>
    browseName: QualifiedName
    clientUserId: UAProperty<UAString, String>
    conditionClassId: UAProperty<NodeId, NodeId>
    conditionClassName: UAProperty<LocalizedText, LocalizedText>
    conditionName: UAProperty<UAString, String>
    conditionRefresh: UAMethod
    conditionRefresh2: UAMethod
    conditionSubClassId?: UAProperty<NodeId[], NodeId>
    conditionSubClassName?: UAProperty<LocalizedText[], LocalizedText>
    confirmedState?: UATwoStateVariableEx
    declaredAccessRestrictions?: string

    the AccessRestrictions the nodeset declared, verbatim, whether or not this loader was asked to apply them. accessRestrictions above is what is enforced and is gated by the loader's option; this is what the document said, and is documentation only. Without it a document loaded with the default policy cannot be written back out as the document it was.

    designToolOnly?: boolean

    the nodeset's DesignToolOnly="true": the node is there for design tools only (a name to reuse, such as OPC 10000-100 DI's Configuration, Tuning, ... FunctionalGroups), so nothing is expected to reference it. Documentation only, kept so the node is written back out as declared.

    disable: UAMethod
    enable: UAMethod
    enabledState: UATwoStateVariableEx
    eventId: UAProperty<Buffer<ArrayBufferLike>, ByteString>
    eventNotifier: EventNotifierFlags
    eventType: UAProperty<NodeId, NodeId>
    firstInGroup?: UAAlarmGroup
    firstInGroupFlag?: UABaseDataVariable<boolean, Boolean>
    getGroupMemberships?: UAMethod<UAMethodEvents>
    hasMethods: boolean
    highDeadband?: UAProperty<number, Double>
    highHighDeadband?: UAProperty<number, Double>
    highHighLimit?: UAProperty<number, Double>
    highHighState?: UATwoStateVariableEx
    highLimit?: UAProperty<number, Double>
    highState?: UATwoStateVariableEx
    inputNode: UAProperty<NodeId, NodeId>
    lastSeverity: UAConditionVariable<number, UInt16>
    latchedState?: UATwoStateVariableEx
    lowDeadband?: UAProperty<number, Double>
    lowLimit?: UAProperty<number, Double>
    lowLowDeadband?: UAProperty<number, Double>
    lowLowLimit?: UAProperty<number, Double>
    lowLowState?: UATwoStateVariableEx
    lowState?: UATwoStateVariableEx
    maxTimeShelved?: UAProperty<number, Double>
    nodeClass: Object
    nodeId: NodeId
    nodesetCategory?: string[]

    the <Category> elements of the nodeset, in order: the conformance units or facets the working group filed this node under. Kept, and named, for the same reasons as nodesetDocumentation: I4AAS has types with a Category property.

    nodesetDocumentation?: string

    the <Documentation> element of the nodeset: a link into the specification text that defines this node (https://reference.opcfoundation.org/...), at most one. It is not the Description attribute and no service exposes it; it is kept so that a tool can show where a node comes from, and so that the node can be written back out as the document that created it.

    Named after the element, not documentation: the children of a node are reachable as properties under their browse name, and DI's ISupportInfoType has a Documentation folder.

    offDelay?: UAProperty<number, Double>
    onDelay?: UAProperty<number, Double>
    onFirstBrowseAction?: (this: BaseNode) => Promise<void>
    outOfServiceState?: UATwoStateVariableEx
    placeInService?: UAMethod<UAMethodEvents>
    placeInService2?: UAMethod<UAMethodEvents>
    reAlarmRepeatCount?: UABaseDataVariable<number, Int16>
    reAlarmTime?: UAProperty<number, Double>
    receiveTime: UAProperty<Date, DateTime>
    releaseStatus?: "Draft" | "Deprecated"

    the maturity a nodeset declares for this node: "Draft" or "Deprecated", or undefined for the default, "Released". It is documentation rather than behaviour -- nothing in the address space acts on it -- but a NodeSet2 document states it, and a node that has forgotten it cannot be written back out as the document that created it.

    removeFromService?: UAMethod<UAMethodEvents>
    removeFromService2?: UAMethod<UAMethodEvents>
    retain: UAProperty<boolean, Boolean>
    severity: UAProperty<number, UInt16>
    severityHigh?: UAProperty<number, UInt16>
    severityHighHigh?: UAProperty<number, UInt16>
    severityLow?: UAProperty<number, UInt16>
    severityLowLow?: UAProperty<number, UInt16>
    shelvingState?: UAShelvedStateMachineEx
    silenceState?: UATwoStateVariableEx
    sourceName: UAProperty<UAString, String>
    sourceNode: UAProperty<NodeId, NodeId>
    supportsFilteredRetain: UAProperty<boolean, Boolean>
    suppressedOrShelved: UAProperty<boolean, Boolean>
    suppressedState?: UATwoStateVariableEx
    time: UAProperty<Date, DateTime>
    unsuppress?: UAMethod<UAMethodEvents>
    unsuppress2?: UAMethod<UAMethodEvents>
    • get accessRestrictions(): AccessRestrictionsFlag | undefined

      Returns AccessRestrictionsFlag | undefined

    • get addressSpace(): IAddressSpace

      Returns IAddressSpace

    • get description(): LocalizedText

      Returns LocalizedText

    • get displayName(): LocalizedText[]

      Returns LocalizedText[]

    • get modellingRule(): ModellingRuleType | undefined

      Returns ModellingRuleType | undefined

    • get namespace(): INamespace

      Returns INamespace

    • get namespaceIndex(): number

      Returns number

    • get namespaceUri(): string

      Returns string

    • get parent(): BaseNode<BaseNodeEvents> | null

      Returns BaseNode<BaseNodeEvents> | null

    • get parentNodeId(): NodeId | undefined

      Returns NodeId | undefined

    • get rolePermissions(): RolePermissionType[] | undefined

      Returns RolePermissionType[] | undefined

    • get typeDefinition(): NodeId

      Returns NodeId

    • get typeDefinitionObj(): UAObjectType

      Returns UAObjectType

    • Returns void

    • What the alarm reports when its state changes. Assign to it to give an alarm a message and a severity of its own:

      alarm.calculateConditionInfo = (state, isActive, value, oldConditionInfo) =>
      new ConditionInfo({
      message: `Tank is almost ${Math.ceil(Number(value) * 100)}% full`,
      severity: 100,
      quality: StatusCodes.Good,
      retain: true
      });

      The default returns the previous ConditionInfo unchanged, so an alarm that does not assign one reports nothing new.

      This has been the documented way to give an alarm its own message for years, but under the name _calculateConditionInfo and only on the implementation class, so following the documentation meant importing from inside the package. That name still works and is deprecated.

      Parameters

      • stateName: string | null
      • isActive: boolean
      • value: string
      • oldConditionInfo: ConditionInfo

      Returns ConditionInfo

    • Parameters

      • Optionalretain: boolean

      Returns void

    • Parameters

      • eventId: Buffer<ArrayBufferLike> | null

      Returns ConditionSnapshot | null

    • find the the references that are strictly of type reference.

      The isForward boolean flag specifies the direction of the references to be looked for.

      Forward direction is implied if omitted.

      • will throw an exception if more than one reference exists with the referenceType.
      • will return null if no reference exists.

      Parameters

      Returns UAReference | null

    • find all the references that are strictly of type reference. The isForward boolean flag specifies the direction of the references to be looked for.

      Forward direction is implied if omitted.

      Parameters

      Returns UAReference[]

    • find all the nodes that are referenced by references strictly of type reference.

      The isForward boolean flag specifies the direction of the references to be looked for.

      Forward direction is implied if omitted.

      • will throw an exception if more than one reference exists with the referenceType.
      • will return null if no reference exists.

      Parameters

      Returns BaseNode<BaseNodeEvents>[]

    • return a complete name of this object by pre-pending name of its parent(s) to its own name

      Returns string

    • get effective accessRestrictions if (inherited is true) and node has no accessRestrictions, then default accessRestriction from namespace is returned if (inherited is false) and node has no accessRestrictions, then AccessRestrictionsFlag.None is returned

      Parameters

      • inherited: boolean

      Returns AccessRestrictionsFlag

    • Returns number

    • Returns NodeId[]

    • Parameters

      • Optionallocale: string

        the locale of the text to return (e.g. en-EN)

      Returns string

    • Returns boolean

    • Returns string

    • Returns number

    • Returns number

    • Returns number | null

    • Returns number

    • Returns number

    • Returns number

    • Returns boolean

    • private

      Returns void

    • Returns boolean

    • Returns boolean

    • What the alarm does when the value of its input node changes. Assign to it to give an alarm a behaviour of its own, without deriving from an implementation class:

      alarm.onInputDataValueChange = (newValue) => {
      const tooHot = newValue.value.value > 80;
      if (tooHot !== alarm.activeState.getValue()) {
      alarm.signalNewCondition(tooHot ? "Active" : "Inactive", tooHot, `${newValue.value.value}`);
      }
      };

      The default does nothing: a plain AlarmConditionType cannot know what its input means. Alarm types that do know (limit alarms, off-normal alarms) already define it, so assigning to one of those replaces the behaviour it came with.

      The old name _onInputDataValueChange still works and is deprecated.

      Parameters

      Returns void

    • Parameters

      Returns void

    • Returns void

    • Parameters

      • requestedEnabledState: boolean
      • Optionaloptions: ISetStateOptions

      Returns StatusCode

    • Parameters

      • value: number

      Returns void

    • Parameters

      • value: number

      Returns void

    • Parameters

      • value: number

      Returns void

    • Parameters

      • value: number

      Returns void

    • Parameters

      • n: number

      Returns void

    • Parameters

      • duration: number

      Returns void

    • Parameters

      • time: Date

      Returns void

    • Parameters

      • name: string

      Returns void

    • How the alarm turns the value of its input node into limit states. Assign to it to give a limit alarm a rule of its own:

      alarm.setStateBasedOnInputValue = (value) => {
      const isActive = value > alarm.getHighLimit();
      alarm.signalNewCondition(isActive ? "High" : null, isActive, value.toFixed(3));
      };

      Every concrete limit alarm type already defines this, so assigning to one replaces the rule it came with; the base LimitAlarmType has no limit states of its own and throws.

      The old name _setStateBasedOnInputValue still works and is deprecated.

      Parameters

      • value: number

      Returns void

    • Parameters

      • time: Date

      Returns void

    • Raise a new condition event for this alarm, moving it to the given state.

      Call this only when the condition has actually changed: it throws when the ConditionInfo it computes is equal to the current one, because an event that reports nothing new is a bug in the caller rather than a state the alarm can represent.

      The old name _signalNewCondition still works and is deprecated.

      Parameters

      • stateName: string | null
      • isActive: boolean
      • value: string

      Returns void

    • Returns void