homebridge-levoit-humidifiers
Version:
Homebridge plugin for Levoit Humidifiers
38 lines • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const VeSyncFan_1 = require("../api/VeSyncFan");
const deviceTypes_1 = require("../api/deviceTypes");
const characteristic = {
get: async function () {
await this.device.updateInfo();
if (this.device.isOn) {
return this.device.targetHumidity;
}
else {
return 0;
}
},
set: async function (humidity) {
if (!this.device.isOn) {
await this.device.setPower(true);
}
if (deviceTypes_1.NewDevices.includes(this.device.name)) {
await this.device.changeMode(VeSyncFan_1.Mode.Humidity);
}
else if (this.device.mode == VeSyncFan_1.Mode.Manual ||
(this.device.deviceType.hasWarmMode && this.device.mode == VeSyncFan_1.Mode.Sleep)) {
await this.device.changeMode(VeSyncFan_1.Mode.Auto);
}
switch (true) {
case Number(humidity) < this.device.deviceType.minHumidityLevel:
humidity = this.device.deviceType.minHumidityLevel;
break;
case Number(humidity) > this.device.deviceType.maxHumidityLevel:
humidity = this.device.deviceType.maxHumidityLevel;
break;
}
await this.device.setTargetHumidity(Number(humidity));
},
};
exports.default = characteristic;
//# sourceMappingURL=TargetHumidity.js.map