homebridge-homeconnect
Version:
A Homebridge plugin that connects Home Connect appliances to Apple HomeKit
305 lines • 9.27 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 Value = t.union("string", "number", "boolean");
export const Constraints = t.union("ConstraintsString", "ConstraintsNumber", "ConstraintsBoolean");
export const ConstraintsString = t.iface(["ConstraintsCommon"], {
"default": t.opt("string"),
"allowedvalues": t.opt(t.array("string")),
"displayvalues": t.opt(t.array("string")),
});
export const ConstraintsNumber = t.iface(["ConstraintsCommon"], {
"default": t.opt("number"),
"min": t.opt("number"),
"max": t.opt("number"),
"stepsize": t.opt("number"),
});
export const ConstraintsBoolean = t.iface(["ConstraintsCommon"], {
"default": t.opt("boolean"),
});
export const ConstraintsCommon = t.iface([], {
"access": t.opt("Access"),
});
export const Access = t.union(t.lit('read'), t.lit('readWrite'));
export const ExecuteCommandWrapper = t.iface([], {
"data": "ExecuteCommand",
});
export const ExecuteCommand = t.iface([], {
"key": "string",
"value": t.lit(true),
});
export const CommandsWrapper = t.iface([], {
"data": t.iface([], {
"commands": t.array("Command"),
}),
});
export const Command = t.iface([], {
"key": "string",
"name": t.opt("string"),
"description": t.opt("string"),
});
export const Event = t.union("EventKeepAlive", "EventApplianceConnection", "EventApplianceData");
export const EventKeepAlive = t.iface([], {
"event": t.lit('KEEP-ALIVE'),
"data": t.opt(t.lit('')),
});
export const EventApplianceConnection = t.iface([], {
"event": t.union(t.lit('CONNECTED'), t.lit('DISCONNECTED'), t.lit('PAIRED'), t.lit('DEPAIRED')),
"id": "string",
"data": t.opt(t.union(t.lit(''), "EventData")),
});
export const EventApplianceData = t.iface([], {
"event": t.union(t.lit('STATUS'), t.lit('EVENT'), t.lit('NOTIFY')),
"id": "string",
"data": t.iface([], {
"items": t.array("EventData"),
"haId": t.opt("string"),
}),
});
export const EventData = t.iface([], {
"key": "string",
"name": t.opt("string"),
"uri": t.opt("string"),
"timestamp": t.union("number", "null"),
"level": "EventLevel",
"handling": "EventHandling",
"value": t.union("Value", "null"),
"displayvalue": t.opt("string"),
"unit": t.opt("string"),
"haId": t.opt("string"),
});
export const EventLevel = t.union(t.lit('critical'), t.lit('alert'), t.lit('warning'), t.lit('hint'), t.lit('info'));
export const EventHandling = t.union(t.lit('none'), t.lit('acknowledge'), t.lit('decision'));
export const HomeAppliancesWrapper = t.iface([], {
"data": t.iface([], {
"homeappliances": t.array("HomeAppliance"),
}),
});
export const HomeApplianceWrapper = t.iface([], {
"data": "HomeAppliance",
});
export const HomeAppliance = t.iface([], {
"haId": "string",
"name": "string",
"type": "string",
"brand": "string",
"vib": "string",
"enumber": "string",
"connected": "boolean",
});
export const ImagesWrapper = t.iface([], {
"data": t.iface([], {
"images": t.array("Image"),
}),
});
export const Image = t.iface([], {
"key": "string",
"name": t.opt("string"),
"imagekey": "string",
"previewimagekey": "string",
"timestamp": "number",
"quality": "ImageQuality",
});
export const ImageQuality = t.union(t.lit('good'), t.lit('bad'));
export const ProgramsWrapper = t.iface([], {
"data": "Programs",
});
export const Programs = t.iface([], {
"programs": t.array("ProgramList"),
"selected": t.opt("ProgramPartial"),
"active": t.opt("ProgramPartial"),
});
export const ProgramList = t.iface([], {
"key": "string",
"name": t.opt("string"),
"constraints": t.opt("ProgramConstraints"),
});
export const ProgramConstraints = t.iface([], {
"available": t.opt("boolean"),
"execution": t.opt("ProgramExecution"),
"access": t.opt("Access"),
});
export const ProgramExecution = t.union(t.lit('none'), t.lit('selectonly'), t.lit('startonly'), t.lit('selectandstart'));
export const ProgramWrapper = t.iface([], {
"data": "Program",
});
export const Program = t.iface(["ProgramPartial"], {
"key": "string",
});
export const ProgramPartial = t.iface([], {
"key": t.opt("string"),
"name": t.opt("string"),
"options": t.opt(t.array("Option")),
"constraints": t.opt("ProgramConstraints"),
});
export const ProgramDefinitionWrapper = t.iface([], {
"data": "ProgramDefinition",
});
export const ProgramDefinition = t.iface([], {
"key": "string",
"name": t.opt("string"),
"options": t.opt(t.array("OptionDefinition")),
});
export const OptionDefinition = t.union("OptionDefinitionString", "OptionDefinitionNumber", "OptionDefinitionBoolean");
export const OptionDefinitionString = t.iface(["OptionDefinitionCommon"], {
"type": t.union(t.lit('String'), "string"),
"constraints": t.opt(t.intersection("OptionConstraintsCommon", "ConstraintsString")),
});
export const OptionDefinitionNumber = t.iface(["OptionDefinitionCommon"], {
"type": t.union(t.lit('Double'), t.lit('Int')),
"constraints": t.opt(t.intersection("OptionConstraintsCommon", "ConstraintsNumber")),
});
export const OptionDefinitionBoolean = t.iface(["OptionDefinitionCommon"], {
"type": t.lit('Boolean'),
"constraints": t.opt(t.intersection("OptionConstraintsCommon", "ConstraintsBoolean")),
});
export const OptionDefinitionCommon = t.iface([], {
"key": "string",
"name": t.opt("string"),
"unit": t.opt("string"),
});
export const OptionConstraintsCommon = t.iface([], {
"liveupdate": t.opt("boolean"),
});
export const OptionsWrapper = t.iface([], {
"data": t.iface([], {
"options": t.array("Option"),
}),
});
export const OptionWrapper = t.iface([], {
"data": "Option",
});
export const Option = t.iface([], {
"key": "string",
"name": t.opt("string"),
"value": "Value",
"displayvalue": t.opt("string"),
"unit": t.opt("string"),
});
export const SettingsWrapper = t.iface([], {
"data": t.iface([], {
"settings": t.array("Setting"),
}),
});
export const SettingWrapper = t.iface([], {
"data": "Setting",
});
export const Setting = t.union("SettingString", "SettingNumber", "SettingBoolean");
export const SettingString = t.iface(["SettingCommon"], {
"value": "string",
"constraints": t.opt("ConstraintsString"),
});
export const SettingNumber = t.iface(["SettingCommon"], {
"value": "number",
"constraints": t.opt("ConstraintsNumber"),
});
export const SettingBoolean = t.iface(["SettingCommon"], {
"value": "boolean",
"constraints": t.opt("ConstraintsBoolean"),
});
export const SettingCommon = t.iface([], {
"key": "string",
"name": t.opt("string"),
"type": t.opt("string"),
"displayvalue": t.opt("string"),
"unit": t.opt("string"),
});
export const StatusesWrapper = t.iface([], {
"data": t.iface([], {
"status": t.array("Status"),
}),
});
export const StatusWrapper = t.iface([], {
"data": "Status",
});
export const Status = t.union("StatusString", "StatusNumber", "StatusBoolean");
export const StatusString = t.iface(["StatusCommon"], {
"value": "string",
"constraints": t.opt("ConstraintsString"),
});
export const StatusNumber = t.iface(["StatusCommon"], {
"value": "number",
"constraints": t.opt("ConstraintsNumber"),
});
export const StatusBoolean = t.iface(["StatusCommon"], {
"value": "boolean",
"constraints": t.opt("ConstraintsBoolean"),
});
export const StatusCommon = t.iface([], {
"key": "string",
"name": t.opt("string"),
"displayvalue": t.opt("string"),
"unit": t.opt("string"),
});
export const ErrorResponse = t.iface([], {
"error": t.iface([], {
"key": "string",
"description": t.opt("string"),
"developerMessage": t.opt("string"),
"value": t.opt("string"),
}),
});
const exportedTypeSuite = {
Value,
Constraints,
ConstraintsString,
ConstraintsNumber,
ConstraintsBoolean,
ConstraintsCommon,
Access,
ExecuteCommandWrapper,
ExecuteCommand,
CommandsWrapper,
Command,
Event,
EventKeepAlive,
EventApplianceConnection,
EventApplianceData,
EventData,
EventLevel,
EventHandling,
HomeAppliancesWrapper,
HomeApplianceWrapper,
HomeAppliance,
ImagesWrapper,
Image,
ImageQuality,
ProgramsWrapper,
Programs,
ProgramList,
ProgramConstraints,
ProgramExecution,
ProgramWrapper,
Program,
ProgramPartial,
ProgramDefinitionWrapper,
ProgramDefinition,
OptionDefinition,
OptionDefinitionString,
OptionDefinitionNumber,
OptionDefinitionBoolean,
OptionDefinitionCommon,
OptionConstraintsCommon,
OptionsWrapper,
OptionWrapper,
Option,
SettingsWrapper,
SettingWrapper,
Setting,
SettingString,
SettingNumber,
SettingBoolean,
SettingCommon,
StatusesWrapper,
StatusWrapper,
Status,
StatusString,
StatusNumber,
StatusBoolean,
StatusCommon,
ErrorResponse,
};
export default exportedTypeSuite;
//# sourceMappingURL=api-types-ti.js.map