eufy-robovac
Version:
NodeJS library to control Eufy RoboVac
108 lines (107 loc) • 3.05 kB
TypeScript
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 enum WorkStatus {
RUNNING = "Running",
STAND_BY = "standby",
SLEEPING = "Sleeping",
CHARGING = "Charging",
COMPLETED = "completed",
RECHARGE_NEEDED = "Recharge"
}
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 interface StatusResponse {
devId: string;
dps: {
"1": boolean;
"2": boolean;
"3": string;
"5": string;
"15": string;
"101": boolean;
"102": string;
"103": boolean;
"104": number;
"106": string;
};
}
export interface RoboVacConfig {
deviceId: string;
localKey: string;
ip?: string;
port?: number;
}
export declare class RoboVac {
api: any;
PLAY_PAUSE: string;
DIRECTION: string;
WORK_MODE: string;
WORK_STATUS: string;
GO_HOME: string;
CLEAN_SPEED: string;
FIND_ROBOT: string;
BATTERY_LEVEL: string;
ERROR_CODE: string;
connected: boolean;
debugLog: boolean;
statuses: StatusResponse;
lastStatusUpdate: number;
maxStatusUpdateAge: number;
timeoutDuration: number;
constructor(config: RoboVacConfig, debugLog?: boolean, timeoutDuration?: number);
connect(): Promise<void>;
disconnect(): Promise<void>;
doWork(work: () => Promise<any>): Promise<any>;
getStatuses(force?: boolean): Promise<{
devId: string;
dps: {
[key: string]: string | boolean | number;
};
}>;
getCleanSpeed(force?: boolean): Promise<CleanSpeed>;
setCleanSpeed(cleanSpeed: CleanSpeed): Promise<void>;
getPlayPause(force?: boolean): Promise<boolean>;
setPlayPause(state: boolean): Promise<void>;
play(): Promise<void>;
pause(): Promise<void>;
getWorkMode(force?: boolean): Promise<WorkMode>;
setWorkMode(workMode: WorkMode): Promise<void>;
startCleaning(force?: boolean): Promise<void>;
getWorkStatus(force?: boolean): Promise<WorkStatus>;
setWorkStatus(workStatus: WorkStatus): Promise<void>;
goHome(): Promise<void>;
setFindRobot(state: boolean): Promise<any>;
getFindRobot(force?: boolean): Promise<boolean>;
getBatteyLevel(force?: boolean): Promise<number>;
getErrorCode(force?: boolean): Promise<ErrorCode>;
set(data: {
[key: string]: string | number | boolean;
}): Promise<any>;
formatStatus(): void;
}