UNPKG

matterbridge-aeg-robot

Version:

A Matterbridge plugin that connects AEG RX 9 / Electrolux Pure i9 robot vacuums to the Matter smart home ecosystem.

66 lines 2.69 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 RvcRunModeRX9 { Idle = 0, Cleaning = 1 } export declare enum RvcCleanModeRX9 { Quiet = 0, Smart = 1,// (not RX9.1) Power = 2, QuietSpot = 3, SmartSpot = 4,// (not RX9.1) PowerSpot = 5 } export declare enum RvcOperationalStateRX9 { Stopped = 0, Running = 1, Paused = 2, Error = 3, SeekingCharger = 64, Charging = 65, Docked = 66, ManualSteering = 128, FirmwareUpgrade = 129 } export declare const VENDOR_ERROR_RX9 = 128; export interface EndpointCommandsRX9 { ChangeRunMode: (newMode: RvcRunModeRX9) => MaybePromise; ChangeCleanMode: (newMode: RvcCleanModeRX9) => MaybePromise; Pause: () => MaybePromise; Resume: () => MaybePromise; GoHome: () => MaybePromise; } type EndpointCommandRX9Args<T extends keyof EndpointCommandsRX9> = Parameters<EndpointCommandsRX9[T]>; export declare class BehaviorDeviceRX9 { readonly log: AnsiLogger; readonly commands: Partial<EndpointCommandsRX9>; constructor(log: AnsiLogger); setCommandHandler<Command extends keyof EndpointCommandsRX9>(command: Command, handler: EndpointCommandsRX9[Command]): void; executeCommand<Command extends keyof EndpointCommandsRX9>(command: Command, ...args: EndpointCommandRX9Args<Command>): Promise<void>; } export declare class BehaviorRX9 extends Behavior { static readonly id = "rx9"; state: BehaviorRX9.State; } export declare namespace BehaviorRX9 { class State { device: BehaviorDeviceRX9; } } export declare class RvcRunModeServerRX9 extends RvcRunModeBehavior { changeToMode({ newMode }: ModeBase.ChangeToModeRequest): Promise<ModeBase.ChangeToModeResponse>; } export declare class RvcCleanModeServerRX9 extends RvcCleanModeBehavior { changeToMode({ newMode }: ModeBase.ChangeToModeRequest): Promise<ModeBase.ChangeToModeResponse>; } export declare class RvcOperationalStateServerRX9 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=behavior-rx9.d.ts.map