homebridge-aeg-robot
Version:
AEG RX9 / Electrolux Pure i9 robot vacuum plugin for Homebridge
87 lines • 2.72 kB
TypeScript
export type ApplianceId = string;
export type ApplianceStatus = 'enabled' | 'disabled';
export type ConnectionState = 'Connected' | 'Disconnected';
export interface Appliance {
applianceId: ApplianceId;
applianceName: string;
applianceType: string;
created: string;
}
export type Appliances = Appliance[];
export interface ApplianceInfoDTO {
serialNumber: string;
pnc: string;
brand: string;
deviceType: string;
model: string;
variant: string;
colour: string;
}
export type CapabilityAccess = 'read' | 'readwrite' | 'write' | 'constant';
export type CapabilityType = 'string' | 'number' | 'int' | 'boolean' | 'complex' | 'temperature' | 'alert';
export type CapabilityValue = string | number | boolean;
export interface CapabilityValues {
[index: string]: object;
}
export type ConditionOperand = string | CapabilityValue | object;
export type ConditionOperator = 'eq' | 'gt' | 'ne' | 'lt' | 'ge' | 'le' | 'and' | 'or';
export interface TriggerCondition {
operand_1: ConditionOperand;
operand_2: ConditionOperand;
operator: ConditionOperator;
}
export interface TriggerAction {
[index: string]: object;
}
export interface CapabilityTrigger {
condition: TriggerCondition;
action: TriggerAction;
}
export interface ApplianceCapabilityPropertiesBase {
access: CapabilityAccess;
type: CapabilityType;
default?: CapabilityValue;
disabled?: boolean;
schedulable?: boolean;
triggers?: CapabilityTrigger[];
}
export interface ApplianceCapabilityPropertiesNumber {
access: CapabilityAccess;
type: 'number' | 'int' | 'temperature';
default?: number;
disabled?: boolean;
min?: number;
max?: number;
step?: number;
}
export interface ApplianceCapabilityPropertiesString {
access: CapabilityAccess;
type: 'string' | 'alert';
default?: string;
disabled?: boolean;
values?: CapabilityValues;
}
export type ApplianceCapabilityProperties = ApplianceCapabilityPropertiesBase | ApplianceCapabilityPropertiesNumber | ApplianceCapabilityPropertiesString;
export interface ApplianceCapabilities {
[index: string]: ApplianceCapabilities | ApplianceCapabilityProperties;
}
export interface ApplianceInfo {
applianceInfo: ApplianceInfoDTO;
capabilities: ApplianceCapabilities;
}
export interface ApplianceStateProperties {
reported: object;
}
export interface ApplianceState {
applianceId: ApplianceId;
connectionState: ConnectionState;
status: ApplianceStatus;
properties: ApplianceStateProperties;
}
export type Command = object;
export interface ErrorResponse {
message: string;
error?: string;
detail?: string;
}
//# sourceMappingURL=aegapi-types.d.ts.map