matterbridge-dyson-robot
Version:
A Matterbridge plugin that connects Dyson robot vacuums and air treatment devices to the Matter smart home ecosystem via their local or cloud MQTT APIs.
55 lines • 2.6 kB
TypeScript
import { Behavior, MaybePromise } from 'matterbridge/matter';
import { ModeBase, RvcOperationalState } from 'matterbridge/matter/clusters';
import { RvcCleanModeBehavior, RvcOperationalStateBehavior, RvcRunModeBehavior } from 'matterbridge/matter/behaviors';
import { AnsiLogger } from 'matterbridge/logger';
export declare enum RvcRunMode360 {
Idle = 0,
Cleaning = 1,
Mapping = 2
}
export declare enum RvcCleanMode360 {
Quiet = 0,// Eye: Quiet Heurist: Quiet Vis Nav: Quiet
Quick = 1,// Vis Nav: Quick
High = 2,// Heurist: High
MaxBoost = 3,// Eye: Max Heurist: Max Vis Nav: Boost
Auto = 4
}
export declare const VENDOR_ERROR_360 = 128;
export interface EndpointCommands360 {
ChangeRunMode: (newMode: RvcRunMode360) => MaybePromise;
ChangeCleanMode: (newMode: RvcCleanMode360) => MaybePromise;
Pause: () => MaybePromise;
Resume: () => MaybePromise;
GoHome: () => MaybePromise;
}
type EndpointCommand360Args<T extends keyof EndpointCommands360> = Parameters<EndpointCommands360[T]>;
export declare class BehaviorDevice360 {
readonly log: AnsiLogger;
readonly commands: Partial<EndpointCommands360>;
constructor(log: AnsiLogger);
setCommandHandler<Command extends keyof EndpointCommands360>(command: Command, handler: EndpointCommands360[Command]): void;
executeCommand<Command extends keyof EndpointCommands360>(command: Command, ...args: EndpointCommand360Args<Command>): Promise<void>;
}
export declare class Behavior360 extends Behavior {
static readonly id = "dyson-rvc";
state: Behavior360.State;
}
export declare namespace Behavior360 {
class State {
device: BehaviorDevice360;
}
}
export declare class RvcRunModeServer360 extends RvcRunModeBehavior {
changeToMode({ newMode }: ModeBase.ChangeToModeRequest): Promise<ModeBase.ChangeToModeResponse>;
}
export declare class RvcCleanModeServer360 extends RvcCleanModeBehavior {
changeToMode({ newMode }: ModeBase.ChangeToModeRequest): Promise<ModeBase.ChangeToModeResponse>;
}
export declare class RvcOperationalStateServer360 extends RvcOperationalStateBehavior {
command(command: 'Pause' | 'Resume' | 'GoHome', defaultErrorId: RvcOperationalState.ErrorState): Promise<RvcOperationalState.OperationalCommandResponse>;
pause(): Promise<RvcOperationalState.OperationalCommandResponse>;
resume(): Promise<RvcOperationalState.OperationalCommandResponse>;
goHome(): Promise<RvcOperationalState.OperationalCommandResponse>;
}
export {};
//# sourceMappingURL=endpoint-360-behavior.d.ts.map