homebridge-aeg-robot
Version:
AEG RX9 / Electrolux Pure i9 robot vacuum plugin for Homebridge
163 lines • 4.39 kB
TypeScript
import { ApplianceId, ApplianceInfoDTO, ApplianceStatus, ConnectionState } from './aegapi-types.js';
export type WeekdayLC = 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday' | 'sunday';
export declare enum RX92PowerMode {
Quiet = 1,// Lower energy consumption and quieter
Smart = 2,// Cleans quietly on hard surfaces, uses full power on carpets
Power = 3
}
export declare enum RX9BatteryStatus {
Dead = 1,
CriticalLow = 2,
Low = 3,
Medium = 4,
High = 5,
FullyCharged = 6
}
export declare enum RX9RobotStatus {
Cleaning = 1,
PausedCleaning = 2,
SpotCleaning = 3,
PausedSpotCleaning = 4,
Return = 5,
PausedReturn = 6,
ReturnForPitstop = 7,
PausedReturnForPitstop = 8,
Charging = 9,
Sleeping = 10,
Error = 11,
Pitstop = 12,
ManualSteering = 13,
FirmwareUpgrade = 14
}
export declare enum RX9Dustbin {
Unknown = "notConnected",
Present = "connected",
Missing = "empty",
Full = "full"
}
export type RX9Capabilities = 'EcoMode' | 'PowerLevels' | 'CustomPlay' | 'FreezeMapOnDemand' | 'InteractiveMap' | 'MultipleScheduledCleaningsPerDay' | 'PowerZones';
export type RX9CleaningCommand = 'play' | 'stop' | 'pause' | 'home';
export interface RX92Zone {
powerMode: RX92PowerMode;
}
export interface RX92Task {
enabled: boolean;
start: {
weekDays: WeekdayLC[];
time: string;
properties: {
zones: RX92Zone[];
};
};
}
export interface RX92Tasks {
[index: string]: RX92Task;
}
export interface RX9NoTriggers {
[index: string]: never;
}
export interface RX9ApplianceCapabilities {
CleaningCommand: {
access: 'readwrite';
type: 'string';
values: {
play: RX9NoTriggers;
stop: RX9NoTriggers;
pause: RX9NoTriggers;
home: RX9NoTriggers;
};
};
robotStatus: {
access: 'read';
type: string;
values: {
1: RX9NoTriggers;
2: RX9NoTriggers;
3: RX9NoTriggers;
4: RX9NoTriggers;
5: RX9NoTriggers;
6: RX9NoTriggers;
7: RX9NoTriggers;
8: RX9NoTriggers;
9: RX9NoTriggers;
10: RX9NoTriggers;
11: RX9NoTriggers;
12: RX9NoTriggers;
13: RX9NoTriggers;
14: RX9NoTriggers;
};
};
dustbinStatus?: {
access: 'read';
type: 'string';
values: {
NOTCONNECTED: RX9NoTriggers;
CONNECTED: RX9NoTriggers;
EMPTY: RX9NoTriggers;
FULL: RX9NoTriggers;
};
};
batteryStatus?: {
access: 'read';
type: 'int';
max: 6;
min: 1;
};
powerMode?: {
access: 'read';
type: 'int';
min: 1;
max: 3;
};
}
export interface RX9ApplianceInfo {
applianceInfo: ApplianceInfoDTO;
capabilities: RX9ApplianceCapabilities;
}
export interface RX9Message {
id: number;
timestamp: number;
type: number;
userErrorID?: number;
internalErrorID?: number;
text: string;
}
export interface RX9CapabilitiesObject {
[index: string]: object;
}
export interface RX9ApplianceStateReportedBase {
availableLanguages: string[];
capabilities: RX9CapabilitiesObject;
batteryStatus: RX9BatteryStatus;
robotStatus: RX9RobotStatus;
messageList: {
messages: RX9Message[];
};
dustbinStatus: RX9Dustbin;
platform: string;
applianceName: string;
firmwareVersion: string;
language: string;
mute: boolean;
}
export interface RX91ApplianceStateReported extends RX9ApplianceStateReportedBase {
ecoMode: boolean;
}
export interface RX92ApplianceStateReported extends RX9ApplianceStateReportedBase {
powerMode: RX92PowerMode;
tasks?: RX92Tasks;
}
export type RX9ApplianceStateReported = RX91ApplianceStateReported | RX92ApplianceStateReported;
export interface RX9ApplianceStateProperties {
reported: RX9ApplianceStateReported;
}
export interface RX9ApplianceState {
applianceId: ApplianceId;
connectionState: ConnectionState;
status: ApplianceStatus;
properties: RX9ApplianceStateProperties;
}
export interface RX9Command {
CleaningCommand: RX9CleaningCommand;
}
//# sourceMappingURL=aegapi-rx9-types.d.ts.map