matterbridge-dyson-robot
Version:
A Matterbridge plugin that connects Dyson robot vacuums and air treatment devices to the Matter smart home ecosystem via their local or cloud MQTT APIs.
133 lines • 4.22 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 DysonSupportedMarketResponse = t.array("string");
export const DysonAppPlatform = t.enumtype({
"iOS": "ios",
"Android": "Android",
});
export const DysonVersionResponse = t.name("string");
export const DysonEmailUserStatusRequest = t.iface([], {
"email": "string",
});
export const DysonAccountStatus = t.enumtype({
"Unregistered": "UNREGISTERED",
"Active": "ACTIVE",
});
export const DysonEmailUserStatusResponse = t.iface([], {
"accountStatus": "DysonAccountStatus",
"authenticationMethod": t.lit('EMAIL_PWD_2FA'),
});
export const DysonEmailAuthRequest = t.iface([], {
"email": "string",
});
export const DysonEmailAuthResponse = t.iface([], {
"challengeId": "string",
});
export const DysonEmailVerifyRequest = t.iface([], {
"challengeId": "string",
"email": "string",
"otpCode": "string",
"password": "string",
});
export const DysonEmailVerifyResponse = t.iface([], {
"account": "string",
"token": "string",
"tokenType": t.lit('Bearer'),
});
export const DysonManifestCategory = t.enumtype({
"AirTreatment": "ec",
"FloorCare": "flrc",
"HairCare": "hc",
"Light": "light",
"RobotVacuum": "robot",
"Wearable": "wearable",
});
export const DysonManifestCapability = t.enumtype({
"AdvanceOscillation": "AdvanceOscillationDay1",
"ChangeWiFi": "ChangeWifi",
"EnvironmentalData": "EnvironmentalData",
"ExtendedAQ": "ExtendedAQ",
"Scheduling": "Scheduling",
"MidCleanConfiguration": "MidCleanConfiguration",
});
export const DysonManifestFirmware = t.iface([], {
"autoUpdateEnabled": "boolean",
"newVersionAvailable": "boolean",
"minimumAppVersion": t.union("string", "null"),
"capabilities": t.union(t.array("DysonManifestCapability"), "null"),
"version": "string",
});
export const DysonManifestMQTT = t.iface([], {
"localBrokerCredentials": "string",
"mqttRootTopicLevel": "string",
"remoteBrokerType": t.lit('wss'),
});
export const DysonManifestConnectedConfiguration = t.iface([], {
"firmware": "DysonManifestFirmware",
"mqtt": "DysonManifestMQTT",
});
export const DysonManifestConnectionCategory = t.enumtype({
"BTWiFi": "lecAndWifi",
"BT": "lecOnly",
"NotConnected": "nonConnected",
"WiFi": "wifiOnly",
});
export const DysonManifestDevice = t.iface([], {
"category": "DysonManifestCategory",
"connectedConfiguration": "DysonManifestConnectedConfiguration",
"connectionCategory": "DysonManifestConnectionCategory",
"model": "string",
"name": "string",
"productName": "string",
"serialNumber": "string",
"type": "string",
"variant": t.union("string", "null"),
});
export const DysonManifestResponse = t.array("DysonManifestDevice");
export const DysonLocalBrokerCredentials = t.iface([], {
"serial": "string",
"apPasswordHash": "string",
});
export const DysonIoTCredentialsRequest = t.iface([], {
"Serial": "string",
});
export const DysonIoTCredentials = t.iface([], {
"ClientId": "string",
"CustomAuthorizerName": "string",
"TokenKey": t.lit('token'),
"TokenSignature": "string",
"TokenValue": "string",
});
export const DysonIoTCredentialsResponse = t.iface([], {
"Endpoint": "string",
"IoTCredentials": "DysonIoTCredentials",
});
const exportedTypeSuite = {
DysonSupportedMarketResponse,
DysonAppPlatform,
DysonVersionResponse,
DysonEmailUserStatusRequest,
DysonAccountStatus,
DysonEmailUserStatusResponse,
DysonEmailAuthRequest,
DysonEmailAuthResponse,
DysonEmailVerifyRequest,
DysonEmailVerifyResponse,
DysonManifestCategory,
DysonManifestCapability,
DysonManifestFirmware,
DysonManifestMQTT,
DysonManifestConnectedConfiguration,
DysonManifestConnectionCategory,
DysonManifestDevice,
DysonManifestResponse,
DysonLocalBrokerCredentials,
DysonIoTCredentialsRequest,
DysonIoTCredentials,
DysonIoTCredentialsResponse,
};
export default exportedTypeSuite;
//# sourceMappingURL=dyson-cloud-types-ti.js.map