UNPKG

zwave-js

Version:

Z-Wave driver written entirely in JavaScript/TypeScript

60 lines 3.41 kB
import { type FirmwareUpdateCapabilities, FirmwareUpdateMetaDataCCGet, type FirmwareUpdateMetaDataCCMetaDataGet, type FirmwareUpdateMetaDataCCPrepareGet, type FirmwareUpdateMetaDataCCRequestGet, type FirmwareUpdateOptions, type FirmwareUpdateResult } from "@zwave-js/cc"; import { type Firmware } from "@zwave-js/core"; import { type Task } from "../../driver/Task.js"; import { SchedulePollMixin } from "./60_ScheduledPoll.js"; /** Checks if a task belongs to a route rebuilding process */ export declare function isFirmwareUpdateOTATask(t: Task<unknown>): boolean; export interface NodeFirmwareUpdate { /** * Aborts an active firmware update process */ abortFirmwareUpdate(): Promise<void>; /** * Performs an OTA firmware upgrade of one or more chips on this node. * * This method will resolve after the process has **COMPLETED**. Failure to start any one of the provided updates will throw an error. * * **WARNING: Use at your own risk! We don't take any responsibility if your devices don't work after an update.** * * @param updates An array of firmware updates that will be done in sequence * * @returns Whether all of the given updates were successful. */ updateFirmware(updates: Firmware[], options?: FirmwareUpdateOptions): Promise<FirmwareUpdateResult>; /** * Returns whether a firmware update is in progress for this node. */ isFirmwareUpdateInProgress(): boolean; /** * Retrieves the firmware update capabilities of a node to decide which options to offer a user prior to the update. * This communicates with the node to retrieve fresh information. */ getFirmwareUpdateCapabilities(): Promise<FirmwareUpdateCapabilities>; /** * Retrieves the firmware update capabilities of a node to decide which options to offer a user prior to the update. * This method uses cached information from the most recent interview. */ getFirmwareUpdateCapabilitiesCached(): FirmwareUpdateCapabilities; } export declare abstract class FirmwareUpdateMixin extends SchedulePollMixin implements NodeFirmwareUpdate { getFirmwareUpdateCapabilities(): Promise<FirmwareUpdateCapabilities>; getFirmwareUpdateCapabilitiesCached(): FirmwareUpdateCapabilities; private _abortFirmwareUpdate; abortFirmwareUpdate(): Promise<void>; private _previousFirmwareCRC; /** Is used to remember fragment requests that came in before they were able to be handled */ private _firmwareUpdatePrematureRequest; updateFirmware(updates: Firmware[], options?: FirmwareUpdateOptions): Promise<FirmwareUpdateResult>; isFirmwareUpdateInProgress(): boolean; private getUpdateFirmwareTask; private prepareFirmwareUpdateInternal; protected handleUnexpectedFirmwareUpdateGet(command: FirmwareUpdateMetaDataCCGet): Promise<void>; private beginFirmwareUpdateInternal; protected handleFirmwareUpdateMetaDataGet(command: FirmwareUpdateMetaDataCCMetaDataGet): Promise<void>; protected handleFirmwareUpdateRequestGet(command: FirmwareUpdateMetaDataCCRequestGet): Promise<void>; protected handleFirmwareUpdatePrepareGet(command: FirmwareUpdateMetaDataCCPrepareGet): Promise<void>; private sendCorruptedFirmwareUpdateReport; private hasPendingFirmwareUpdateFragment; private doFirmwareUpdateInternal; } //# sourceMappingURL=70_FirmwareUpdate.d.ts.map