@homebridge-plugins/homebridge-roomba
Version:
homebridge-plugin for Roomba devices
161 lines • 4.73 kB
TypeScript
import type { Logger } from 'homebridge';
import type { RoombaPlatformConfig } from './settings.js';
export declare function getRoombas(email: string, password: string, log: Logger, config: RoombaPlatformConfig): Promise<Robot[]>;
export interface Robot {
name: string;
blid: string;
sku?: string;
password: string;
autoConfig?: boolean;
ip: string;
model: string;
multiRoom: boolean;
softwareVer?: string;
info: DeviceInfo;
}
export interface DeviceInfo {
serialNum?: string;
ver?: string;
hostname?: string;
robotname?: string;
robotid?: string;
mac?: string;
sw: string;
sku?: string;
nc?: number;
proto?: string;
cap?: object;
}
declare module 'dorita980' {
class RoombaLocal {
constructor(username: string, password: string, ip: string, version?: 2 | 3, options?: object | number);
on(event: 'connect', listener: () => void): this;
on(event: 'reconnect', listener: () => void): this;
on(event: 'close', listener: () => void): this;
on(event: 'offline', listener: () => void): this;
on(event: 'update', listener: (data: Data) => void): this;
on(event: 'mission', listener: (data: cleanMissionStatus) => void): this;
on(event: 'error', listener: (error: Error) => void): this;
on(event: 'state', listener: (data: unknown) => void): this;
removeAllListeners(event?: string | symbol): this;
end(): void;
getTime(): Promise<fullRobotState>;
getBbrun(): Promise<fullRobotState>;
getLangs(): Promise<fullRobotState>;
getSys(): Promise<fullRobotState>;
getWirelessLastStatus(): Promise<fullRobotState>;
getWeek(): Promise<fullRobotState>;
getPreferences(waitForFields?: string[]): this;
getRobotState(waitForFields?: string[]): this;
getMission(calwaitForFields?: string[]): this;
getBasicMission(waitForFields?: string[]): this;
getWirelessConfig(): Promise<fullRobotState>;
getWirelessStatus(): Promise<fullRobotState>;
getCloudConfig(): Promise<fullRobotState>;
getSKU(): Promise<fullRobotState>;
start(): Promise<{
ok: null;
}>;
clean(): Promise<{
ok: null;
}>;
cleanRoom(callback?: (args: any) => Promise<{
ok: null;
}>): this;
pause(): Promise<{
ok: null;
}>;
stop(): Promise<{
ok: null;
}>;
resume(): Promise<{
ok: null;
}>;
dock(): Promise<{
ok: null;
}>;
find(): Promise<{
ok: null;
}>;
evac(): Promise<{
ok: null;
}>;
train(): Promise<{
ok: null;
}>;
setWeek(callback?: (args: any) => Promise<{
ok: null;
}>): this;
setPreferences(callback?: (args: any) => Promise<{
ok: null;
}>): this;
setCarpetBoostAuto(): Promise<{
ok: null;
}>;
setCarpetBoostPerformance(): Promise<{
ok: null;
}>;
setCarpetBoostEco(): Promise<{
ok: null;
}>;
setEdgeCleanOn(): Promise<{
ok: null;
}>;
setEdgeCleanOff(): Promise<{
ok: null;
}>;
setCleaningPassesAuto(): Promise<{
ok: null;
}>;
setCleaningPassesOne(): Promise<{
ok: null;
}>;
setCleaningPassesTwo(): Promise<{
ok: null;
}>;
setAlwaysFinishOn(): Promise<{
ok: null;
}>;
setAlwaysFinishOff(): Promise<{
ok: null;
}>;
}
interface fullRobotState {
}
interface cleanMissionStatus {
cleanMissionStatus: {
cycle: string;
phase: string;
expireM: number;
rechrgM: number;
error: number;
notReady: number;
mssnM: number;
sqft: number;
initiator: string;
nMssn: number;
};
pose: {
theta: number;
point: {
x: number;
y: number;
};
};
}
interface Data {
state: {
reported: {
soundVer: string;
uiSwVer: string;
navSwVer: string;
wifiSwVer: string;
mobilityVer: string;
bootloaderVer: string;
umiVer: string;
softwareVer: string;
};
};
}
}
//# sourceMappingURL=roomba.d.ts.map