@hov3rcraft/homebridge-eufy-robovac
Version:
Homebridge support for Eufy RoboVac
134 lines • 4.45 kB
TypeScript
import { Logger } from "./consoleLogger";
import TuyAPI from 'tuyapi';
export declare enum StatusDps {
DEFAULT = "1",
RUNNING = "2",
DIRECTION = "3",
WORK_MODE = "5",
WORK_STATUS = "15",
GO_HOME = "101",
CLEAN_SPEED = "102",
FIND_ROBOT = "103",
BATTERY_LEVEL = "104",
ERROR_CODE = "106"
}
export declare const statusDpsFriendlyNames: Map<string, string>;
export interface StatusResponse {
devId: string;
dps: {
[StatusDps.DEFAULT]?: boolean;
[StatusDps.RUNNING]?: boolean;
[StatusDps.DIRECTION]?: string;
[StatusDps.WORK_MODE]?: string;
[StatusDps.WORK_STATUS]?: string;
[StatusDps.GO_HOME]?: boolean;
[StatusDps.CLEAN_SPEED]?: string;
[StatusDps.FIND_ROBOT]?: boolean;
[StatusDps.BATTERY_LEVEL]?: number;
[StatusDps.ERROR_CODE]?: string;
};
}
export interface RobovacStatus {
devId: string;
dps: {
[StatusDps.DEFAULT]: boolean;
[StatusDps.RUNNING]: boolean;
[StatusDps.DIRECTION]: string;
[StatusDps.WORK_MODE]: string;
[StatusDps.WORK_STATUS]: string;
[StatusDps.GO_HOME]: boolean;
[StatusDps.CLEAN_SPEED]: string;
[StatusDps.FIND_ROBOT]: boolean;
[StatusDps.BATTERY_LEVEL]: number;
[StatusDps.ERROR_CODE]: string;
};
}
export declare function formatStatusResponse(statusResponse: StatusResponse): string;
export declare enum Direction {
FORWARD = "forward",
BACKWARD = "backward",
LEFT = "left",
RIGHT = "right"
}
export declare enum WorkMode {
AUTO = "auto",
SMALL_ROOM = "SmallRoom",
SPOT = "Spot",
EDGE = "Edge",
NO_SWEEP = "Nosweep"
}
export declare enum WorkStatus {
RUNNING = "Running",
STAND_BY = "standby",
SLEEPING = "Sleeping",
CHARGING = "Charging",
CHARGING_COMPLETED = "completed",
RECHARGE_NEEDED = "Recharge"
}
export declare enum CleanSpeed {
STANDARD = "Standard",
BOOST_IQ = "Boost_IQ",
MAX = "Max",
NO_SUCTION = "No_suction"
}
export declare enum ErrorCode {
NO_ERROR = "no_error",
STUCK_5_MIN = "Stuck_5_min",
CRASH_BAR_STUCK = "Crash_bar_stuck",
SENSOR_DIRTY = "sensor_dirty",
NOT_ENOUGH_POWER = "N_enough_pow",
WHEEL_STUCK = "Wheel_stuck",
S_BRUSH_STUCK = "S_brush_stuck",
FAN_STUCK = "Fan_stuck",
R_BRUSH_STUCK = "R_brush_stuck"
}
export declare const errorCodeFriendlyNames: Map<string, string>;
export declare function getErrorCodeFriendlyName(errorCode: string): string;
export declare class RoboVac {
api: TuyAPI;
directConnect: boolean;
lastStatus: RobovacStatus;
lastStatusUpdate: Date;
lastStatusValid: boolean;
cachingDuration: number;
ongoingStatusUpdate: Promise<RobovacStatus> | null;
log: Logger;
consoleDebugLog: boolean;
constructor(config: {
deviceId: string;
localKey: string;
deviceIp: string;
}, dataReceivedCallback: (statusResponse: StatusResponse) => void, cachingDuration: number, log?: Logger);
connect(): Promise<void>;
disconnect(): Promise<void>;
getStatusCached(): RobovacStatus | null;
getStatus(): Promise<RobovacStatus>;
getStatusFromDeviceSynchronized(): Promise<RobovacStatus>;
getStatusFromDevice(): Promise<RobovacStatus>;
set(dps: StatusDps, newValue: any): Promise<void>;
getRunning(): Promise<boolean>;
getDirection(): Promise<Direction>;
getWorkMode(): Promise<WorkMode>;
getWorkStatus(): Promise<WorkStatus>;
getGoHome(): Promise<boolean>;
getCleanSpeed(): Promise<CleanSpeed>;
getFindRobot(): Promise<boolean>;
getBatteryLevel(): Promise<number>;
getErrorCode(): Promise<string>;
getRunningCached(): boolean | null;
getDirectionCached(): Direction | null;
getWorkModeCached(): WorkMode | null;
getWorkStatusCached(): WorkStatus | null;
getGoHomeCached(): boolean | null;
getCleanSpeedCached(): CleanSpeed | null;
getFindRobotCached(): boolean | null;
getBatteryLevelCached(): number | null;
getErrorCodeCached(): string | null;
setPlayPause(newValue: boolean): Promise<void>;
setDirection(newValue: Direction): Promise<void>;
setWorkMode(newValue: string): Promise<void>;
setGoHome(newValue: boolean): Promise<void>;
setCleanSpeed(newValue: string): Promise<void>;
setFindRobot(newValue: boolean): Promise<void>;
}
//# sourceMappingURL=robovac-api.d.ts.map