inventoresed
Version:
Z-Wave driver written entirely in JavaScript/TypeScript
1,064 lines (945 loc) • 65.6 kB
Markdown
## API Report File for "zwave-js"
> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
```ts
/// <reference types="node" />
import { APIMethodsOf } from '@zwave-js/cc';
import { AssociationAddress } from '@zwave-js/cc';
import { AssociationGroup } from '@zwave-js/cc';
import type { BasicDeviceClass } from '@zwave-js/config';
import { buffer2hex } from '@zwave-js/shared/safe';
import { CCAPIs } from '@zwave-js/cc';
import { CCConstructor } from '@zwave-js/cc';
import { CommandClass } from '@zwave-js/cc';
import { CommandClasses } from '@zwave-js/core/safe';
import { CommandClasses as CommandClasses_2 } from '@zwave-js/core';
import { CommandClassInfo } from '@zwave-js/core';
import { Comparable } from 'alcalzone-shared/comparable';
import { CompareResult } from 'alcalzone-shared/comparable';
import { ConfigManager } from '@zwave-js/config';
import { ControllerLogContext } from '@zwave-js/core';
import { ControllerNodeLogContext } from '@zwave-js/core';
import { ControllerSelfLogContext } from '@zwave-js/core';
import { ControllerValueLogContext } from '@zwave-js/core';
import { DataDirection } from '@zwave-js/core';
import { DataRate } from '@zwave-js/core/safe';
import { DataRate as DataRate_2 } from '@zwave-js/core';
import { DeepPartial } from '@zwave-js/shared';
import type { DeferredPromise } from 'alcalzone-shared/deferred-promise';
import type { DeviceConfig } from '@zwave-js/config';
import { Duration } from '@zwave-js/core/safe';
import { DurationUnit } from '@zwave-js/core/safe';
import type { EntryControlDataTypes } from '@zwave-js/cc';
import type { EntryControlEventTypes } from '@zwave-js/cc';
import { extractFirmware } from '@zwave-js/core';
import { FileSystem } from '@zwave-js/host/safe';
import type { FileSystem as FileSystem_2 } from '@zwave-js/host';
import { Firmware } from '@zwave-js/core';
import { FirmwareFileFormat } from '@zwave-js/core';
import { FirmwareUpdateCapabilities } from '@zwave-js/cc';
import type { FirmwareUpdateStatus } from '@zwave-js/cc';
import { FLiRS } from '@zwave-js/core/safe';
import { FLiRS as FLiRS_2 } from '@zwave-js/core';
import { formatId } from '@zwave-js/shared/safe';
import { FunctionType } from '@zwave-js/serial';
import type { GenericDeviceClass } from '@zwave-js/config';
import { getEnumMemberName } from '@zwave-js/shared/safe';
import { GraphNode } from '@zwave-js/core';
import { guessFirmwareFileFormat } from '@zwave-js/core';
import { ICommandClass } from '@zwave-js/core';
import { ICommandClassContainer } from '@zwave-js/cc';
import { InterviewStage } from '@zwave-js/core/safe';
import { isRssiError } from '@zwave-js/core/safe';
import { IVirtualEndpoint } from '@zwave-js/core/safe';
import { IVirtualNode } from '@zwave-js/core';
import type { IZWaveEndpoint } from '@zwave-js/core';
import { IZWaveNode } from '@zwave-js/core';
import type { JSONObject } from '@zwave-js/shared';
import { KEXFailType } from '@zwave-js/cc';
import { LogConfig } from '@zwave-js/core';
import { LogContext } from '@zwave-js/core';
import { Maybe } from '@zwave-js/core';
import { Message } from '@zwave-js/serial';
import { MessageBaseOptions } from '@zwave-js/serial';
import { MessageDeserializationOptions } from '@zwave-js/serial';
import { MessageOptions } from '@zwave-js/serial';
import { MessageOrCCLogEntry } from '@zwave-js/core';
import { MessagePriority } from '@zwave-js/core';
import { MessageType } from '@zwave-js/serial';
import type { MetadataUpdatedArgs } from '@zwave-js/core';
import { MockControllerBehavior } from '@zwave-js/testing';
import { MockNodeBehavior } from '@zwave-js/testing';
import { MockPortBinding } from '@zwave-js/serial/mock';
import { MulticastCC } from '@zwave-js/core';
import { MulticastDestination } from '@zwave-js/core/safe';
import type { MultilevelSwitchCommand } from '@zwave-js/cc';
import { NODE_ID_BROADCAST } from '@zwave-js/core/safe';
import { NODE_ID_MAX } from '@zwave-js/core/safe';
import { NodeStatus } from '@zwave-js/core/safe';
import type { NodeStatus as NodeStatus_2 } from '@zwave-js/core';
import { NodeType } from '@zwave-js/core/safe';
import { NodeType as NodeType_2 } from '@zwave-js/core';
import type { NotificationCCReport } from '@zwave-js/cc';
import { num2hex } from '@zwave-js/shared/safe';
import { parseQRCodeString } from '@zwave-js/core';
import { Powerlevel } from '@zwave-js/cc';
import type { PowerlevelTestStatus } from '@zwave-js/cc';
import { ProtocolDataRate } from '@zwave-js/core/safe';
import type { ProtocolDataRate as ProtocolDataRate_2 } from '@zwave-js/core';
import { protocolDataRateToString } from '@zwave-js/core';
import { Protocols } from '@zwave-js/core';
import { ProtocolType } from '@zwave-js/core';
import { ProtocolVersion } from '@zwave-js/core/safe';
import { ProtocolVersion as ProtocolVersion_2 } from '@zwave-js/core';
import { QRCodeVersion } from '@zwave-js/core';
import { QRProvisioningInformation } from '@zwave-js/core';
import { ReadonlyObjectKeyMap } from '@zwave-js/shared';
import { ReadonlyThrowingMap } from '@zwave-js/shared';
import { ResponsePredicate } from '@zwave-js/serial';
import { ResponseRole } from '@zwave-js/serial';
import { RFRegion } from '@zwave-js/core/safe';
import { RFRegion as RFRegion_2 } from '@zwave-js/core';
import { RouteProtocolDataRate } from '@zwave-js/core';
import { RSSI } from '@zwave-js/core/safe';
import { RSSI as RSSI_2 } from '@zwave-js/core';
import { RssiError } from '@zwave-js/core/safe';
import { rssiToString } from '@zwave-js/core';
import { Scale } from '@zwave-js/config';
import type { SecurityClass } from '@zwave-js/core/safe';
import { SecurityClass as SecurityClass_2 } from '@zwave-js/core';
import { SecurityClassOwner } from '@zwave-js/core';
import { SendCommandOptions } from '@zwave-js/core';
import { SendCommandReturnType } from '@zwave-js/core';
import { SendMessageOptions } from '@zwave-js/core';
import { SensorType } from '@zwave-js/config';
import { SetbackState } from '@zwave-js/cc';
import { SetValueAPIOptions } from '@zwave-js/cc';
import { SinglecastCC } from '@zwave-js/core';
import type { SpecificDeviceClass } from '@zwave-js/config';
import { Switchpoint } from '@zwave-js/cc';
import { TranslatedValueID as TranslatedValueID_2 } from '@zwave-js/core';
import { TransmitOptions } from '@zwave-js/core';
import { TXReport } from '@zwave-js/core/safe';
import { TypedEventEmitter } from '@zwave-js/shared';
import * as util from 'util';
import type { ValueAddedArgs } from '@zwave-js/core';
import { ValueDB } from '@zwave-js/core';
import { ValueID } from '@zwave-js/core/safe';
import { ValueID as ValueID_2 } from '@zwave-js/core';
import { ValueMetadata } from '@zwave-js/core/safe';
import { ValueMetadata as ValueMetadata_2 } from '@zwave-js/core';
import { ValueMetadataAny } from '@zwave-js/core/safe';
import { ValueMetadataBoolean } from '@zwave-js/core/safe';
import { ValueMetadataNumeric } from '@zwave-js/core/safe';
import { ValueMetadataString } from '@zwave-js/core/safe';
import type { ValueNotificationArgs } from '@zwave-js/core';
import type { ValueRemovedArgs } from '@zwave-js/core';
import { ValueType } from '@zwave-js/core/safe';
import type { ValueUpdatedArgs } from '@zwave-js/core';
import { ZWaveApiVersion } from '@zwave-js/core/safe';
import type { ZWaveApplicationHost } from '@zwave-js/host';
import { ZWaveError } from '@zwave-js/core/safe';
import { ZWaveErrorCodes } from '@zwave-js/core/safe';
import type { ZWaveHost } from '@zwave-js/host';
import type { ZWaveHostOptions } from '@zwave-js/host';
import { ZWaveLibraryTypes } from '@zwave-js/core/safe';
import { ZWavePlusNodeType } from '@zwave-js/cc';
import { ZWavePlusRoleType } from '@zwave-js/cc';
import { ZWaveSerialPortImplementation } from '@zwave-js/serial';
export { buffer2hex }
// Warning: (ae-forgotten-export) The symbol "ControllerEventCallbacks" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "ControllerEvents" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ControllerEvents = Extract<keyof ControllerEventCallbacks, string>;
export { ControllerLogContext }
export { ControllerNodeLogContext }
export { ControllerSelfLogContext }
// Warning: (ae-missing-release-tag) "ControllerStatistics" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface ControllerStatistics {
CAN: number;
messagesDroppedRX: number;
messagesDroppedTX: number;
messagesRX: number;
messagesTX: number;
NAK: number;
timeoutACK: number;
timeoutCallback: number;
timeoutResponse: number;
}
export { ControllerValueLogContext }
// Warning: (ae-forgotten-export) The symbol "CreateAndStartDriverWithMockPortOptions" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "CreateAndStartDriverWithMockPortResult" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "createAndStartDriverWithMockPort" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createAndStartDriverWithMockPort(options?: DeepPartial<CreateAndStartDriverWithMockPortOptions & ZWaveOptions>): Promise<CreateAndStartDriverWithMockPortResult>;
// Warning: (ae-missing-release-tag) "createDefaultBehaviors" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createDefaultMockControllerBehaviors(): MockControllerBehavior[];
// Warning: (ae-missing-release-tag) "createDefaultBehaviors" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export function createDefaultMockNodeBehaviors(): MockNodeBehavior[];
export { DataRate }
// Warning: (ae-missing-release-tag) "DeviceClass" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class DeviceClass {
constructor(configManager: ConfigManager, basic: number, generic: number, specific: number);
// (undocumented)
readonly basic: BasicDeviceClass;
// (undocumented)
readonly generic: GenericDeviceClass;
// (undocumented)
get mandatoryControlledCCs(): readonly CommandClasses[];
// (undocumented)
get mandatorySupportedCCs(): readonly CommandClasses[];
// (undocumented)
readonly specific: SpecificDeviceClass;
// (undocumented)
toJSON(): JSONObject;
}
// Warning: (ae-forgotten-export) The symbol "DriverEventCallbacks" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "Driver" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class Driver extends TypedEventEmitter<DriverEventCallbacks> implements ZWaveApplicationHost {
// (undocumented)
[util.inspect.custom](): string;
constructor(port: string | ZWaveSerialPortImplementation, options?: DeepPartial<ZWaveOptions>);
get allNodesReady(): boolean;
// (undocumented)
readonly cacheDir: string;
checkForConfigUpdates(silent?: boolean): Promise<string | undefined>;
// Warning: (ae-forgotten-export) The symbol "SendDataRequest" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "SendDataBridgeRequest" needs to be exported by the entry point index.d.ts
computeNetCCPayloadSize(commandOrMsg: CommandClass | SendDataRequest | SendDataBridgeRequest): number;
// (undocumented)
readonly configManager: ConfigManager;
// (undocumented)
get configVersion(): string;
get controller(): ZWaveController;
// Warning: (ae-forgotten-export) The symbol "SendDataMessage" needs to be exported by the entry point index.d.ts
createSendDataMessage(command: CommandClass, options?: Omit<SendCommandOptions, keyof SendMessageOptions>): SendDataMessage;
destroy(): Promise<void>;
disableStatistics(): void;
enableErrorReporting(): void;
// Warning: (ae-forgotten-export) The symbol "AppInfo" needs to be exported by the entry point index.d.ts
enableStatistics(appInfo: Pick<AppInfo, "applicationName" | "applicationVersion">): void;
static enumerateSerialPorts(): Promise<string[]>;
getLogConfig(): LogConfig;
readonly getNextCallbackId: () => number;
readonly getNextSupervisionSessionId: () => number;
// (undocumented)
getNodeUnsafe(msg: Message): ZWaveNode | undefined;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
getSafeCCVersionForNode(cc: CommandClasses_2, nodeId: number, endpointIndex?: number): number;
// Warning: (ae-forgotten-export) The symbol "SendDataMulticastRequest" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "SendDataMulticastBridgeRequest" needs to be exported by the entry point index.d.ts
getSendDataMulticastConstructor(): typeof SendDataMulticastRequest | typeof SendDataMulticastBridgeRequest;
getSendDataSinglecastConstructor(): typeof SendDataRequest | typeof SendDataBridgeRequest;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
getSupportedCCVersionForEndpoint(cc: CommandClasses_2, nodeId: number, endpointIndex?: number): number;
hardReset(): Promise<void>;
// Warning: (ae-forgotten-export) The symbol "Transaction" needs to be exported by the entry point index.d.ts
hasPendingTransactions(predicate: (t: Transaction) => boolean): boolean;
installConfigUpdate(): Promise<boolean>;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
isCCSecure(ccId: CommandClasses_2, nodeId: number, endpointIndex?: number): boolean;
get ready(): boolean;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-forgotten-export) The symbol "RequestHandler" needs to be exported by the entry point index.d.ts
registerRequestHandler<T extends Message>(fnType: FunctionType, handler: RequestHandler<T>, oneTime?: boolean): void;
restoreNetworkStructureFromCache(): Promise<void>;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "SupervisionResult"
sendCommand<TResponse extends ICommandClass | undefined = undefined>(command: CommandClass, options?: SendCommandOptions): Promise<SendCommandReturnType<TResponse>>;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
sendMessage<TResponse extends Message = Message>(msg: Message, options?: SendMessageOptions): Promise<TResponse>;
setPreferredScales(scales: ZWaveOptions["preferences"]["scales"]): void;
softReset(): Promise<void>;
start(): Promise<void>;
get statisticsEnabled(): boolean;
// (undocumented)
tryGetEndpoint(cc: CommandClass): Endpoint | undefined;
trySoftReset(): Promise<void>;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
unregisterRequestHandler(fnType: FunctionType, handler: RequestHandler): void;
// (undocumented)
unwrapCommands(msg: Message & ICommandClassContainer): void;
updateLogConfig(config: DeepPartial<LogConfig>): void;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
waitForCommand<T extends ICommandClass>(predicate: (cc: ICommandClass) => boolean, timeout: number): Promise<T>;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "waitForCommand"
waitForMessage<T extends Message>(predicate: (msg: Message) => boolean, timeout: number): Promise<T>;
}
// Warning: (ae-missing-release-tag) "DriverLogContext" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface DriverLogContext extends LogContext<"driver"> {
// (undocumented)
direction?: DataDirection;
}
export { Duration }
export { DurationUnit }
// Warning: (ae-missing-release-tag) "Endpoint" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class Endpoint implements IZWaveEndpoint {
constructor(
nodeId: number,
driver: Driver,
index: number, deviceClass?: DeviceClass, supportedCCs?: CommandClasses_2[]);
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
addCC(cc: CommandClasses_2, info: Partial<CommandClassInfo>): void;
protected addMandatoryCC(cc: CommandClasses_2, info: Partial<CommandClassInfo>): void;
protected applyDeviceClass(deviceClass?: DeviceClass): void;
buildCCInterviewGraph(skipCCs: CommandClasses_2[]): GraphNode<CommandClasses_2>[];
get commandClasses(): CCAPIs;
controlsCC(cc: CommandClasses_2): boolean;
createCCInstance<T extends CommandClass>(cc: CommandClasses_2 | CCConstructor<T>): T | undefined;
createCCInstanceUnsafe<T extends CommandClass>(cc: CommandClasses_2 | CCConstructor<T>): T | undefined;
// (undocumented)
get deviceClass(): DeviceClass | undefined;
protected set deviceClass(deviceClass: DeviceClass | undefined);
protected readonly driver: Driver;
// (undocumented)
getCCs(): Iterable<[ccId: CommandClasses_2, info: CommandClassInfo]>;
getCCVersion(cc: CommandClasses_2): number;
getNodeUnsafe(): ZWaveNode | undefined;
getSupportedCCInstances(): readonly CommandClass[];
hideBasicCCInFavorOfActuatorCCs(): void;
readonly index: number;
get installerIcon(): number | undefined;
invokeCCAPI<CC extends CommandClasses_2, TMethod extends keyof TAPI, TAPI extends Record<string, (...args: any[]) => any> = CommandClasses_2 extends CC ? any : APIMethodsOf<CC>>(cc: CC, method: TMethod, ...args: Parameters<TAPI[TMethod]>): ReturnType<TAPI[TMethod]>;
isCCSecure(cc: CommandClasses_2): boolean;
readonly nodeId: number;
removeCC(cc: CommandClasses_2): void;
protected reset(): void;
supportsCC(cc: CommandClasses_2): boolean;
supportsCCAPI(cc: CommandClasses_2): boolean;
get userIcon(): number | undefined;
// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "IZWaveEndpoint"
readonly virtual = false;
}
// Warning: (ae-missing-release-tag) "ExclusionOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ExclusionOptions = {
strategy: ExclusionStrategy.ExcludeOnly | ExclusionStrategy.DisableProvisioningEntry | ExclusionStrategy.Unprovision;
};
// Warning: (ae-missing-release-tag) "ExclusionStrategy" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ExclusionStrategy {
DisableProvisioningEntry = 1,
ExcludeOnly = 0,
Unprovision = 2
}
export { extractFirmware }
export { FileSystem }
export { Firmware }
export { FirmwareFileFormat }
// Warning: (ae-missing-release-tag) "FirmwareUpdateFileInfo" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface FirmwareUpdateFileInfo {
// (undocumented)
integrity: `sha256:${string}`;
// (undocumented)
target: number;
// (undocumented)
url: string;
}
// Warning: (ae-missing-release-tag) "FirmwareUpdateInfo" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type FirmwareUpdateInfo = {
version: string;
changelog: string;
files: FirmwareUpdateFileInfo[];
};
export { FLiRS }
export { formatId }
// Warning: (ae-missing-release-tag) "formatLifelineHealthCheckRound" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function formatLifelineHealthCheckRound(round: number, numRounds: number, result: LifelineHealthCheckResult): string;
// Warning: (ae-missing-release-tag) "formatLifelineHealthCheckSummary" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function formatLifelineHealthCheckSummary(summary: LifelineHealthCheckSummary): string;
// Warning: (ae-missing-release-tag) "formatRouteHealthCheckRound" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function formatRouteHealthCheckRound(sourceNodeId: number, targetNodeId: number, round: number, numRounds: number, result: RouteHealthCheckResult): string;
// Warning: (ae-missing-release-tag) "formatRouteHealthCheckSummary" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function formatRouteHealthCheckSummary(sourceNodeId: number, targetNodeId: number, summary: RouteHealthCheckSummary): string;
// Warning: (ae-missing-release-tag) "FoundNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface FoundNode {
// (undocumented)
controlledCCs?: CommandClasses[];
// (undocumented)
deviceClass?: DeviceClass;
// (undocumented)
id: number;
// (undocumented)
supportedCCs?: CommandClasses[];
}
export { FunctionType }
export { getEnumMemberName }
// Warning: (ae-missing-release-tag) "GetFirmwareUpdatesOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface GetFirmwareUpdatesOptions {
apiKey?: string;
}
export { guessFirmwareFileFormat }
// Warning: (ae-missing-release-tag) "HealNodeStatus" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type HealNodeStatus = "pending" | "done" | "failed" | "skipped";
// Warning: (ae-missing-release-tag) "healthCheckRatingToWord" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export function healthCheckRatingToWord(rating: number): string;
// Warning: (ae-missing-release-tag) "IncludedProvisioningEntry" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface IncludedProvisioningEntry extends PlannedProvisioningEntry {
// (undocumented)
nodeId: number;
}
// Warning: (ae-missing-release-tag) "InclusionGrant" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface InclusionGrant {
clientSideAuth: boolean;
securityClasses: SecurityClass[];
}
// Warning: (ae-missing-release-tag) "InclusionOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type InclusionOptions = {
strategy: InclusionStrategy.Default;
userCallbacks?: InclusionUserCallbacks;
forceSecurity?: boolean;
} | {
strategy: InclusionStrategy.Security_S2;
userCallbacks?: InclusionUserCallbacks;
} | {
strategy: InclusionStrategy.Security_S2;
provisioning?: PlannedProvisioningEntry;
} | {
strategy: InclusionStrategy.Insecure | InclusionStrategy.Security_S0;
};
// Warning: (ae-missing-release-tag) "InclusionResult" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface InclusionResult {
lowSecurity?: boolean;
}
// Warning: (ae-missing-release-tag) "InclusionState" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum InclusionState {
Busy = 3,
Excluding = 2,
Idle = 0,
Including = 1,
SmartStart = 4
}
// Warning: (ae-missing-release-tag) "InclusionStrategy" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum InclusionStrategy {
Default = 0,
Insecure = 2,
Security_S0 = 3,
Security_S2 = 4,
SmartStart = 1
}
// Warning: (ae-missing-release-tag) "InclusionUserCallbacks" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface InclusionUserCallbacks {
abort(): void;
grantSecurityClasses(requested: InclusionGrant): Promise<InclusionGrant | false>;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
validateDSKAndEnterPIN(dsk: string): Promise<string | false>;
}
export { InterviewStage }
export { isRssiError }
// Warning: (ae-missing-release-tag) "libName" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const libName: string;
// Warning: (ae-missing-release-tag) "libVersion" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export const libVersion: string;
// Warning: (ae-missing-release-tag) "LifelineHealthCheckResult" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface LifelineHealthCheckResult {
failedPingsController?: number;
failedPingsNode: number;
latency: number;
minPowerlevel?: Powerlevel;
// Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
numNeighbors: number;
rating: number;
routeChanges?: number;
snrMargin?: number;
}
// Warning: (ae-missing-release-tag) "LifelineHealthCheckSummary" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface LifelineHealthCheckSummary {
// Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
// Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
// Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
// Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
rating: number;
results: LifelineHealthCheckResult[];
}
// Warning: (ae-missing-release-tag) "LifelineRoutes" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface LifelineRoutes {
lwr?: RouteStatistics;
nlwr?: RouteStatistics;
}
export { Message }
export { MessageOptions }
export { MessagePriority }
export { MessageType }
export { NODE_ID_BROADCAST }
export { NODE_ID_MAX }
// Warning: (ae-missing-release-tag) "NodeInterviewFailedEventArgs" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type NodeInterviewFailedEventArgs = {
errorMessage: string;
isFinal: boolean;
} & ({
attempt: number;
maxAttempts: number;
} | {});
// Warning: (ae-missing-release-tag) "NodeStatistics" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface NodeStatistics {
commandsDroppedRX: number;
commandsDroppedTX: number;
commandsRX: number;
commandsTX: number;
lwr?: RouteStatistics;
nlwr?: RouteStatistics;
rssi?: RSSI_2;
rtt?: number;
timeoutResponse: number;
}
export { NodeStatus }
export { NodeType }
export { num2hex }
export { parseQRCodeString }
// Warning: (ae-missing-release-tag) "PlannedProvisioningEntry" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface PlannedProvisioningEntry {
[prop: string]: any;
dsk: string;
// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "securityClasses"
requestedSecurityClasses?: readonly SecurityClass[];
securityClasses: SecurityClass[];
status?: ProvisioningEntryStatus;
}
export { ProtocolDataRate }
export { protocolDataRateToString }
export { Protocols }
export { ProtocolType }
export { ProtocolVersion }
// Warning: (ae-missing-release-tag) "ProvisioningEntryStatus" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum ProvisioningEntryStatus {
// (undocumented)
Active = 0,
// (undocumented)
Inactive = 1
}
export { QRCodeVersion }
export { QRProvisioningInformation }
// Warning: (ae-missing-release-tag) "RefreshInfoOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface RefreshInfoOptions {
resetSecurityClasses?: boolean;
waitForWakeup?: boolean;
}
// Warning: (ae-missing-release-tag) "ReplaceNodeOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export type ReplaceNodeOptions = {
strategy: InclusionStrategy.Security_S2;
userCallbacks?: InclusionUserCallbacks;
} | {
strategy: InclusionStrategy.Security_S2;
provisioning?: PlannedProvisioningEntry;
} | {
strategy: InclusionStrategy.Insecure | InclusionStrategy.Security_S0;
};
export { ResponsePredicate }
export { ResponseRole }
export { RFRegion }
// Warning: (ae-missing-release-tag) "RouteHealthCheckResult" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export interface RouteHealthCheckResult {
failedPingsToSource?: number;
failedPingsToTarget?: number;
minPowerlevelSource?: Powerlevel;
minPowerlevelTarget?: Powerlevel;
// Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
numNeighbors: number;
rating: number;
}
// Warning: (ae-missing-release-tag) "RouteHealthCheckSummary" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface RouteHealthCheckSummary {
// Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
// Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
rating: number;
results: RouteHealthCheckResult[];
}
export { RouteProtocolDataRate }
// Warning: (ae-missing-release-tag) "RouteStatistics" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface RouteStatistics {
protocolDataRate: ProtocolDataRate_2;
repeaterRSSI?: RSSI_2[];
repeaters: number[];
routeFailedBetween?: [number, number];
rssi?: RSSI_2;
}
export { RSSI }
export { RssiError }
export { rssiToString }
export { Scale }
// Warning: (ae-missing-release-tag) "SDKVersion" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SDKVersion = `${number}.${number}` | `${number}.${number}.${number}`;
export { SendMessageOptions }
export { SensorType }
// Warning: (ae-missing-release-tag) "SerialAPISetupCommand" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export enum SerialAPISetupCommand {
// (undocumented)
GetLRMaximumPayloadSize = 17,
// (undocumented)
GetMaximumPayloadSize = 16,
// (undocumented)
GetPowerlevel = 8,
// (undocumented)
GetRFRegion = 32,
// (undocumented)
GetSupportedCommands = 1,
// (undocumented)
SetNodeIDType = 128,
// (undocumented)
SetPowerlevel = 4,
// (undocumented)
SetRFRegion = 64,
// (undocumented)
SetTxStatusReport = 2,
// (undocumented)
Unsupported = 0
}
export { SetbackState }
// Warning: (ae-missing-release-tag) "SmartStartProvisioningEntry" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type SmartStartProvisioningEntry = PlannedProvisioningEntry | IncludedProvisioningEntry;
export { Switchpoint }
// Warning: (ae-missing-release-tag) "TranslatedValueID" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface TranslatedValueID extends ValueID_2 {
// (undocumented)
commandClassName: string;
// (undocumented)
propertyKeyName?: string;
// (undocumented)
propertyName?: string;
}
export { TXReport }
export { ValueID }
export { ValueMetadata }
export { ValueMetadataAny }
export { ValueMetadataBoolean }
export { ValueMetadataNumeric }
export { ValueMetadataString }
export { ValueType }
// Warning: (ae-missing-release-tag) "VirtualEndpoint" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export class VirtualEndpoint implements IVirtualEndpoint {
constructor(
node: VirtualNode | undefined,
driver: Driver,
index: number);
get commandClasses(): CCAPIs;
protected readonly driver: Driver;
getCCVersion(cc: CommandClasses): number;
readonly index: number;
invokeCCAPI<CC extends CommandClasses, TMethod extends keyof TAPI, TAPI extends Record<string, (...args: any[]) => any> = CommandClasses extends CC ? any : APIMethodsOf<CC>>(cc: CC, method: TMethod, ...args: Parameters<TAPI[TMethod]>): ReturnType<TAPI[TMethod]>;
// (undocumented)
get node(): VirtualNode;
// (undocumented)
get nodeId(): number | MulticastDestination;
supportsCC(cc: CommandClasses): boolean;
supportsCCAPI(cc: CommandClasses): boolean;
// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "IZWaveEndpoint"
readonly virtual = true;
}
// Warning: (ae-missing-release-tag) "VirtualNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export class VirtualNode extends VirtualEndpoint implements IVirtualNode {
constructor(id: number | undefined, driver: Driver,
physicalNodes: Iterable<ZWaveNode>);
getDefinedValueIDs(): VirtualValueID[];
getEndpoint(index: 0): VirtualEndpoint;
// (undocumented)
getEndpoint(index: number): VirtualEndpoint | undefined;
getEndpointCount(): number;
// (undocumented)
getEndpointOrThrow(index: number): VirtualEndpoint;
// (undocumented)
readonly id: number | undefined;
// (undocumented)
readonly physicalNodes: ZWaveNode[];
setValue(valueId: ValueID_2, value: unknown, options?: SetValueAPIOptions): Promise<boolean>;
}
// Warning: (ae-missing-release-tag) "VirtualValueID" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface VirtualValueID extends TranslatedValueID_2 {
ccVersion: number;
metadata: ValueMetadata_2;
}
export { ZWaveApiVersion }
// Warning: (ae-forgotten-export) The symbol "ControllerStatisticsHost" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "ZWaveController" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
// Warning: (ae-missing-release-tag) "ZWaveController" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ZWaveController extends ControllerStatisticsHost {
}
// @public (undocumented)
export class ZWaveController extends TypedEventEmitter<ControllerEventCallbacks> {
addAssociations(source: AssociationAddress, group: number, destinations: AssociationAddress[]): Promise<void>;
// (undocumented)
assignReturnRoute(nodeId: number, destinationNodeId: number): Promise<boolean>;
// (undocumented)
assignSUCReturnRoute(nodeId: number): Promise<boolean>;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
backupNVMRaw(onProgress?: (bytesRead: number, total: number) => void): Promise<Buffer>;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
beginExclusion(options?: ExclusionOptions): Promise<boolean>;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
//
// @deprecated
beginExclusion(unprovision: boolean | "inactive"): Promise<boolean>;
beginHealingNetwork(): boolean;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
beginInclusion(options?: InclusionOptions): Promise<boolean>;
beginOTAFirmwareUpdate(nodeId: number, update: FirmwareUpdateFileInfo): Promise<void>;
// (undocumented)
cancelSecureBootstrapS2(reason: KEXFailType): void;
configureSUC(nodeId: number, enableSUC: boolean, enableSIS: boolean): Promise<boolean>;
// (undocumented)
deleteReturnRoute(nodeId: number): Promise<boolean>;
// (undocumented)
deleteSUCReturnRoute(nodeId: number): Promise<boolean>;
externalNVMClose(): Promise<void>;
externalNVMOpen(): Promise<number>;
externalNVMReadBuffer(offset: number, length: number): Promise<Buffer>;
externalNVMReadBuffer700(offset: number, length: number): Promise<{
buffer: Buffer;
endOfFile: boolean;
}>;
externalNVMReadByte(offset: number): Promise<number>;
externalNVMWriteBuffer(offset: number, buffer: Buffer): Promise<boolean>;
externalNVMWriteBuffer700(offset: number, buffer: Buffer): Promise<{
endOfFile: boolean;
}>;
externalNVMWriteByte(offset: number, data: number): Promise<boolean>;
// (undocumented)
get firmwareVersion(): string | undefined;
getAllAssociationGroups(nodeId: number): ReadonlyMap<number, ReadonlyMap<number, AssociationGroup>>;
getAllAssociations(nodeId: number): ReadonlyObjectKeyMap<AssociationAddress, ReadonlyMap<number, readonly AssociationAddress[]>>;
getAssociationGroups(source: AssociationAddress): ReadonlyMap<number, AssociationGroup>;
getAssociations(source: AssociationAddress): ReadonlyMap<number, readonly AssociationAddress[]>;
getAvailableFirmwareUpdates(nodeId: number, options?: GetFirmwareUpdatesOptions): Promise<FirmwareUpdateInfo[]>;
getBackgroundRSSI(): Promise<{
rssiChannel0: RSSI_2;
rssiChannel1: RSSI_2;
rssiChannel2?: RSSI_2;
}>;
getBroadcastNode(): VirtualNode;
getKnownLifelineRoutes(): ReadonlyMap<number, LifelineRoutes>;
getMulticastGroup(nodeIDs: number[]): VirtualNode;
getNodeByDSK(dsk: Buffer | string): ZWaveNode | undefined;
getNodeNeighbors(nodeId: number, onlyRepeaters?: boolean): Promise<readonly number[]>;
// Warning: (ae-forgotten-export) The symbol "NVMId" needs to be exported by the entry point index.d.ts
getNVMId(): Promise<NVMId>;
// Warning: (ae-forgotten-export) The symbol "SerialAPISetup_GetPowerlevelResponse" needs to be exported by the entry point index.d.ts
getPowerlevel(): Promise<Pick<SerialAPISetup_GetPowerlevelResponse, "powerlevel" | "measured0dBm">>;
getProvisioningEntries(): SmartStartProvisioningEntry[];
getProvisioningEntry(dskOrNodeId: string | number): Readonly<SmartStartProvisioningEntry> | undefined;
getRFRegion(): Promise<RFRegion_2>;
hasPlannedProvisioningEntries(): boolean;
healNode(nodeId: number): Promise<boolean>;
get homeId(): number | undefined;
// (undocumented)
get inclusionState(): InclusionState;
isAnyOTAFirmwareUpdateInProgress(): boolean;
isAssociationAllowed(source: AssociationAddress, group: number, destination: AssociationAddress): boolean;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
isFailedNode(nodeId: number): Promise<boolean>;
isFunctionSupported(functionType: FunctionType): boolean;
get isHealNetworkActive(): boolean;
// (undocumented)
get isPrimary(): boolean | undefined;
isSerialAPISetupCommandSupported(command: SerialAPISetupCommand): boolean;
// (undocumented)
get isSIS(): boolean | undefined;
// (undocumented)
get isSISPresent(): boolean | undefined;
// (undocumented)
get isSUC(): boolean | undefined;
// (undocumented)
get isUsingHomeIdFromOtherNetwork(): boolean | undefined;
// (undocumented)
get manufacturerId(): number | undefined;
get nodes(): ReadonlyThrowingMap<number, ZWaveNode>;
// (undocumented)
get nodeType(): NodeType_2 | undefined;
get ownNodeId(): number | undefined;
// (undocumented)
get productId(): number | undefined;
// (undocumented)
get productType(): number | undefined;
provisionSmartStartNode(entry: PlannedProvisioningEntry): void;
removeAssociations(source: AssociationAddress, group: number, destinations: AssociationAddress[]): Promise<void>;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
removeFailedNode(nodeId: number): Promise<void>;
removeNodeFromAllAssociations(nodeId: number): Promise<void>;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
replaceFailedNode(nodeId: number, options?: ReplaceNodeOptions): Promise<boolean>;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
restoreNVM(nvmData: Buffer, convertProgress?: (bytesRead: number, total: number) => void, restoreProgress?: (bytesWritten: number, total: number) => void): Promise<void>;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (ae-unresolved-link) The @link reference could not be resolved: The package "zwave-js" does not have an export "restoreNVM"
restoreNVMRaw(nvmData: Buffer, onProgress?: (bytesWritten: number, total: number) => void): Promise<void>;
// (undocumented)
get sdkVersion(): string | undefined;
sdkVersionGt(version: SDKVersion): boolean | undefined;
sdkVersionGte(version: SDKVersion): boolean | undefined;
sdkVersionLt(version: SDKVersion): boolean | undefined;
sdkVersionLte(version: SDKVersion): boolean | undefined;
setPowerlevel(powerlevel: number, measured0dBm: number): Promise<boolean>;
setRFRegion(region: RFRegion_2): Promise<boolean>;
stopExclusion(): Promise<boolean>;
stopHealingNetwork(): boolean;
stopInclusion(): Promise<boolean>;
// (undocumented)
get sucNodeId(): number | undefined;
// (undocumented)
get supportedFunctionTypes(): readonly FunctionType[] | undefined;
// (undocumented)
get supportedSerialAPISetupCommands(): readonly SerialAPISetupCommand[] | undefined;
supportsFeature(feature: ZWaveFeature): boolean | undefined;
get supportsSoftReset(): boolean | undefined;
// (undocumented)
get supportsTimers(): boolean | undefined;
toggleRF(enabled: boolean): Promise<boolean>;
// (undocumented)
get type(): ZWaveLibraryTypes | undefined;
unprovisionSmartStartNode(dskOrNodeId: string | number): void;
get valueDB(): ValueDB;
// (undocumented)
get wasRealPrimary(): boolean | undefined;
// (undocumented)
get zwaveApiVersion(): ZWaveApiVersion | undefined;
// Warning: (ae-forgotten-export) The symbol "UnknownZWaveChipType" needs to be exported by the entry point index.d.ts
//
// (undocumented)
get zwaveChipType(): string | UnknownZWaveChipType | undefined;
}
export { ZWaveError }
export { ZWaveErrorCodes }
// Warning: (ae-missing-release-tag) "ZWaveFeature" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public
export enum ZWaveFeature {
// (undocumented)
SmartStart = 0
}
// Warning: (ae-missing-release-tag) "ZWaveInterviewFailedCallback" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export type ZWaveInterviewFailedCallback = (node: ZWaveNode, args: NodeInterviewFailedEventArgs) => void;
export { ZWaveLibraryTypes }
// Warning: (ae-forgotten-export) The symbol "StatisticsEventCallbacksWithSelf" needs to be exported by the entry point index.d.ts
// Warning: (ae-forgotten-export) The symbol "NodeStatisticsHost" needs to be exported by the entry point index.d.ts
// Warning: (ae-missing-release-tag) "ZWaveNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
// Warning: (ae-missing-release-tag) "ZWaveNode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
//
// @public (undocumented)
export interface ZWaveNode extends TypedEventEmitter<ZWaveNodeEventCallbacks & StatisticsEventCallbacksWithSelf<ZWaveNode, NodeStatistics>>, NodeStatisticsHost {
}
// @public
export class ZWaveNode extends Endpoint implements SecurityClassOwner, IZWaveNode {
constructor(id: number, driver: Driver, deviceClass?: DeviceClass, supportedCCs?: CommandClasses_2[], controlledCCs?: CommandClasses_2[], valueDB?: ValueDB);
abortFirmwareUpdate(): Promise<void>;
// (undocumented)
get aggregatedEndpointCount(): number | undefined;
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
// Warning: (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
// Warning: (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
beginFirmwareUpdate(data: Buffer, target?: number): Promise<void>;
// (undocumented)
get canSleep(): boolean | undefined;
checkLifelineHealth(rounds?: number, onProgress?: (round: number, totalRounds: number, lastRating: number) => void):