UNPKG

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.

99 lines 3.63 kB
/** * This module was automatically generated by `ts-interface-builder` */ import * as t from "ts-interface-checker"; // tslint:disable:object-literal-key-quotes export const ProvisioningMethod = t.union(t.lit('Remote Account'), t.lit('Local Account'), t.lit('Local Wi-Fi'), t.lit('Local MQTT')); export const DysonAccountBase = t.iface([], { "china": "boolean", "finishAuth": t.opt("boolean"), "startAuth": t.opt("boolean"), }); export const DysonAccountLogin = t.iface(["DysonAccountBase"], { "email": "string", "password": "string", }); export const DysonAccountToken = t.iface(["DysonAccountBase"], { "token": "string", "email": t.opt("string"), "password": t.opt("string"), }); export const DysonAccount = t.union("DysonAccountLogin", "DysonAccountToken"); export const DeviceConfigNetwork = t.iface([], { "host": "string", "port": "number", }); export const DeviceConfigLocalAccount = t.iface(["DeviceConfigNetwork"], { "serialNumber": "string", }); export const DeviceConfigLocalWiFi = t.iface(["DeviceConfigNetwork"], { "name": "string", "ssid": "string", "password": "string", }); export const DeviceConfigLocalMqtt = t.iface(["DeviceConfigNetwork"], { "name": "string", "serialNumber": "string", "password": "string", "rootTopic": "string", }); export const EntityName = t.union(t.lit('Air Purifier'), t.lit('Air Quality Sensor'), t.lit('Composed Air Purifier'), t.lit('Humidity Sensor'), t.lit('Temperature Sensor'), t.lit('Thermostat')); export const DebugFeatures = t.union(t.lit('Log Endpoint Debug'), t.lit('Log API Headers'), t.lit('Log API Bodies'), t.lit('Log MQTT Client'), t.lit('Log MQTT Payloads'), t.lit('Log Serial Numbers'), t.lit('Log Debug as Info')); export const ConfigBase = t.iface([], { "name": "string", "type": "string", "version": "string", "whiteList": t.array("string"), "blackList": t.array("string"), "entityWhiteList": t.array("EntityName"), "entityBlackList": t.array("EntityName"), "deviceEntityBlackList": t.iface([], { [t.indexKey]: t.array("EntityName"), }), "provisioningMethod": "ProvisioningMethod", "wildcardTopic": "boolean", "debug": "boolean", "debugFeatures": t.array("DebugFeatures"), "unregisterOnShutdown": "boolean", }); export const ConfigAccount = t.iface(["ConfigBase"], { "dysonAccount": "DysonAccount", }); export const ConfigRemoteAccount = t.iface(["ConfigAccount"], { "provisioningMethod": t.lit('Remote Account'), }); export const ConfigLocalAccount = t.iface(["ConfigAccount"], { "provisioningMethod": t.lit('Local Account'), "devices": t.array("DeviceConfigLocalAccount"), }); export const ConfigLocalWiFi = t.iface(["ConfigBase"], { "provisioningMethod": t.lit('Local Wi-Fi'), "devices": t.array("DeviceConfigLocalWiFi"), }); export const ConfigLocalMqtt = t.iface(["ConfigBase"], { "provisioningMethod": t.lit('Local MQTT'), "devices": t.array("DeviceConfigLocalMqtt"), }); export const Config = t.union("ConfigRemoteAccount", "ConfigLocalAccount", "ConfigLocalWiFi", "ConfigLocalMqtt"); const exportedTypeSuite = { ProvisioningMethod, DysonAccountBase, DysonAccountLogin, DysonAccountToken, DysonAccount, DeviceConfigNetwork, DeviceConfigLocalAccount, DeviceConfigLocalWiFi, DeviceConfigLocalMqtt, EntityName, DebugFeatures, ConfigBase, ConfigAccount, ConfigRemoteAccount, ConfigLocalAccount, ConfigLocalWiFi, ConfigLocalMqtt, Config, }; export default exportedTypeSuite; //# sourceMappingURL=config-types-ti.js.map