matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
37 lines • 1.59 kB
TypeScript
import { AnsiLogger } from 'matterbridge/logger';
import { Behavior, MaybePromise } from 'matterbridge/matter';
export declare const CommandNames: {
readonly IDENTIFY: "identify";
readonly SELECT_AREAS: "selectAreas";
readonly CHANGE_TO_MODE: "changeToMode";
readonly PAUSE: "pause";
readonly RESUME: "resume";
readonly GO_HOME: "goHome";
readonly STOP: "stop";
};
export interface DeviceEndpointCommands extends DeviceCommands {
selectAreas: (newAreas: number[]) => MaybePromise;
changeToMode: (newMode: number) => MaybePromise;
pause: () => MaybePromise;
resume: () => MaybePromise;
goHome: () => MaybePromise;
identify: (identifyTime: number) => MaybePromise;
stop: () => MaybePromise;
}
export type DeviceCommandHandler = (...args: never[]) => MaybePromise;
export type DeviceCommands = Record<string, DeviceCommandHandler>;
export declare class BehaviorDeviceGeneric<Commands extends DeviceCommands> {
readonly log: AnsiLogger;
readonly commands: Partial<Commands>;
constructor(log: AnsiLogger);
setCommandHandler<Command extends keyof Commands>(command: Command, handler: Commands[Command]): void;
executeCommand<Command extends keyof Commands>(command: Command, ...args: Parameters<Commands[Command]>): Promise<void>;
}
export declare class BehaviorRoborock extends Behavior {
static readonly id = "roborock.vacuum.axx";
state: BehaviorRoborockState;
}
export interface BehaviorRoborockState {
device: BehaviorDeviceGeneric<DeviceCommands>;
}
//# sourceMappingURL=BehaviorDeviceGeneric.d.ts.map