homebridge-irobot-v2
Version:
A Homebridge plugin for controlling iRobot devices
156 lines • 5.17 kB
TypeScript
declare module '@karlvr/dorita980' {
class Local {
/**
* The library send commands directly over wifi to your robot. You dont need an internet connection.
* @param username your roomba's blid
* @param password your roomba's password
* @param ip your roomba's ip address
* @param version (optional) your roomba's protocol version (1-3, defaults to 2)
* @param options (optional) options or interval in miliseconds to emith mission event (defaults to 800ms)
*/
constructor(username: string, password: string, ip: string, version?: 2 | 3, options?: object | number);
/** Emitted on successful Connection. */
on(event: 'connect', listener: () => void): this;
/** Emitted after a reconnection. */
on(event: 'reconnect', listener: () => void): this;
/** Emitted after a disconnection. */
on(event: 'close', listener: () => void): this;
/** Emitted when the client goes offline. */
on(event: 'offline', listener: () => void): this;
/** Emitted every time the Robot publishes a new message to the mqtt bus. */
on(event: 'update', listener: (data: Data) => void): this;
/** Emitted every emitIntervalTime milliseconds with the mission data. (util for mapping in models with position reporting) */
on(event: 'mission', listener: (data: cleanMissionStatus) => void): this;
/** Emitted on error. */
on(event: 'error', listener: (error: Error) => void): this;
/**
* Emitted every time the Robot publish a new message to the mqtt bus.
* Will print the Full robot state!
*/
on(event: 'state', listener: (data: unknown) => void): this;
/**
* @param event
* @private
*/
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=dorita980.d.ts.map