matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
36 lines • 2.04 kB
TypeScript
import { AnsiLogger } from 'matterbridge/logger';
import { CleanModeSetting } from '../behaviors/roborock.vacuum/core/CleanModeSetting.js';
import { MapInfo } from '../core/application/models/index.js';
import { CleanCommand } from '../model/CleanCommand.js';
import { RoborockIoTApi } from '../roborockCommunication/api/iotClient.js';
import { RawRoomMappingData, RequestMessage } from '../roborockCommunication/models/index.js';
import { AbstractMessageDispatcher } from '../roborockCommunication/protocol/dispatcher/abstractMessageDispatcher.js';
export declare class MessageRoutingService {
private readonly logger;
private iotApi?;
private messageDispatcherMap;
constructor(logger: AnsiLogger, iotApi?: RoborockIoTApi | undefined);
/** Set IoT API instance. */
setIotApi(iotApi: RoborockIoTApi): void;
registerMessageDispatcher(duid: string, messageDispatcher: AbstractMessageDispatcher): void;
getMessageDispatcher(duid: string): AbstractMessageDispatcher;
getMapInfo(duid: string): Promise<MapInfo>;
getRoomMap(duid: string, activeMap: number): Promise<RawRoomMappingData>;
getSerialNumber(duid: string): Promise<string>;
/** Get current cleaning mode settings. */
getCleanModeData(duid: string): Promise<CleanModeSetting>;
/** Get vacuum's current room from map. */
getRoomIdFromMap(duid: string): Promise<number | undefined>;
/** Change cleaning mode settings. */
changeCleanMode(duid: string, setting: CleanModeSetting): Promise<void>;
startClean(duid: string, command: CleanCommand): Promise<void>;
pauseClean(duid: string): Promise<void>;
stopAndGoHome(duid: string): Promise<void>;
resumeClean(duid: string): Promise<void>;
stopClean(duid: string): Promise<void>;
playSoundToLocate(duid: string): Promise<void>;
customGet<T = unknown>(duid: string, request: RequestMessage): Promise<T>;
customSend(duid: string, request: RequestMessage): Promise<void>;
clearAll(): void;
}
//# sourceMappingURL=messageRoutingService.d.ts.map