UNPKG

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
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