homebridge-aeg-robot
Version:
AEG RX9 / Electrolux Pure i9 robot vacuum plugin for Homebridge
192 lines • 5.85 kB
JavaScript
/**
* This module was automatically generated by `ts-interface-builder`
*/
import * as t from "ts-interface-checker";
// tslint:disable:object-literal-key-quotes
export const WeekdayLC = t.union(t.lit('monday'), t.lit('tuesday'), t.lit('wednesday'), t.lit('thursday'), t.lit('friday'), t.lit('saturday'), t.lit('sunday'));
export const RX92PowerMode = t.enumtype({
"Quiet": 1,
"Smart": 2,
"Power": 3,
});
export const RX9BatteryStatus = t.enumtype({
"Dead": 1,
"CriticalLow": 2,
"Low": 3,
"Medium": 4,
"High": 5,
"FullyCharged": 6,
});
export const RX9RobotStatus = t.enumtype({
"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 const RX9Dustbin = t.enumtype({
"Unknown": "notConnected",
"Present": "connected",
"Missing": "empty",
"Full": "full",
});
export const RX9Capabilities = t.union(t.lit('EcoMode'), t.lit('PowerLevels'), t.lit('CustomPlay'), t.lit('FreezeMapOnDemand'), t.lit('InteractiveMap'), t.lit('MultipleScheduledCleaningsPerDay'), t.lit('PowerZones'));
export const RX9CleaningCommand = t.union(t.lit('play'), t.lit('stop'), t.lit('pause'), t.lit('home'));
export const RX92Zone = t.iface([], {
"powerMode": "RX92PowerMode",
});
export const RX92Task = t.iface([], {
"enabled": "boolean",
"start": t.iface([], {
"weekDays": t.array("WeekdayLC"),
"time": "string",
"properties": t.iface([], {
"zones": t.array("RX92Zone"),
}),
}),
});
export const RX92Tasks = t.iface([], {
[t.indexKey]: "RX92Task",
});
export const RX9NoTriggers = t.iface([], {
[t.indexKey]: "never",
});
export const RX9ApplianceCapabilities = t.iface([], {
"CleaningCommand": t.iface([], {
"access": t.lit('readwrite'),
"type": t.lit('string'),
"values": t.iface([], {
"play": "RX9NoTriggers",
"stop": "RX9NoTriggers",
"pause": "RX9NoTriggers",
"home": "RX9NoTriggers",
}),
}),
"robotStatus": t.iface([], {
"access": t.lit('read'),
"type": "string",
"values": t.iface([], {
"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": t.opt(t.iface([], {
"access": t.lit('read'),
"type": t.lit('string'),
"values": t.iface([], {
"NOTCONNECTED": "RX9NoTriggers",
"CONNECTED": "RX9NoTriggers",
"EMPTY": "RX9NoTriggers",
"FULL": "RX9NoTriggers",
}),
})),
"batteryStatus": t.opt(t.iface([], {
"access": t.lit('read'),
"type": t.lit('int'),
"max": t.lit(6),
"min": t.lit(1),
})),
"powerMode": t.opt(t.iface([], {
"access": t.lit('read'),
"type": t.lit('int'),
"min": t.lit(1),
"max": t.lit(3),
})),
});
export const RX9ApplianceInfo = t.iface([], {
"applianceInfo": "ApplianceInfoDTO",
"capabilities": "RX9ApplianceCapabilities",
});
export const RX9Message = t.iface([], {
"id": "number",
"timestamp": "number",
"type": "number",
"userErrorID": t.opt("number"),
"internalErrorID": t.opt("number"),
"text": "string",
});
export const RX9CapabilitiesObject = t.iface([], {
[t.indexKey]: "object",
});
export const RX9ApplianceStateReportedBase = t.iface([], {
"availableLanguages": t.array("string"),
"capabilities": "RX9CapabilitiesObject",
"batteryStatus": "RX9BatteryStatus",
"robotStatus": "RX9RobotStatus",
"messageList": t.iface([], {
"messages": t.array("RX9Message"),
}),
"dustbinStatus": "RX9Dustbin",
"platform": "string",
"applianceName": "string",
"firmwareVersion": "string",
"language": "string",
"mute": "boolean",
});
export const RX91ApplianceStateReported = t.iface(["RX9ApplianceStateReportedBase"], {
"ecoMode": "boolean",
});
export const RX92ApplianceStateReported = t.iface(["RX9ApplianceStateReportedBase"], {
"powerMode": "RX92PowerMode",
"tasks": t.opt("RX92Tasks"),
});
export const RX9ApplianceStateReported = t.union("RX91ApplianceStateReported", "RX92ApplianceStateReported");
export const RX9ApplianceStateProperties = t.iface([], {
"reported": "RX9ApplianceStateReported",
});
export const RX9ApplianceState = t.iface([], {
"applianceId": "ApplianceId",
"connectionState": "ConnectionState",
"status": "ApplianceStatus",
"properties": "RX9ApplianceStateProperties",
});
export const RX9Command = t.iface([], {
"CleaningCommand": "RX9CleaningCommand",
});
const exportedTypeSuite = {
WeekdayLC,
RX92PowerMode,
RX9BatteryStatus,
RX9RobotStatus,
RX9Dustbin,
RX9Capabilities,
RX9CleaningCommand,
RX92Zone,
RX92Task,
RX92Tasks,
RX9NoTriggers,
RX9ApplianceCapabilities,
RX9ApplianceInfo,
RX9Message,
RX9CapabilitiesObject,
RX9ApplianceStateReportedBase,
RX91ApplianceStateReported,
RX92ApplianceStateReported,
RX9ApplianceStateReported,
RX9ApplianceStateProperties,
RX9ApplianceState,
RX9Command,
};
export default exportedTypeSuite;
//# sourceMappingURL=aegapi-rx9-types-ti.js.map