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