UNPKG

homebridge-lg-airco

Version:

Homebridge plugin to control a Smart Thinq enabled LG airco unit. Makes use of WideQ => https://github.com/sampsyo/wideq

117 lines 4.92 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DummyController = void 0; const wideq_adapter_1 = require("./wideq-adapter"); const controller_1 = require("./controller"); class DummyController extends controller_1.Controller { constructor(airCooler, updateInterval, debugLogger) { super(); this.airCooler = airCooler; this.isOn = true; this.mode = wideq_adapter_1.Mode.COOL; this.currentTemperatureInCelsius = 24; this.fanSpeed = wideq_adapter_1.FanSpeed.HIGH; this.powerDraw = 50; this.swingModeH = wideq_adapter_1.HSwingMode.ALL; this.swingModeV = wideq_adapter_1.VSwingMode.ALL; this.targetCoolingTemperatureInCelsius = 18; this.targetHeatingTemperatureInCelsius = 21; this.logDebug = debugLogger; } isPoweredOn() { return this.isOn; } async setPowerState(powerOn) { if (this.isOn !== powerOn) { this.isOn = powerOn; this.logDebug('Setting power value: ' + (powerOn ? 'ON' : 'OFF')); } } getMode() { this.logDebug('Getting mode value: ' + this.mode); return this.mode; } async setMode(newTargetMode) { if (this.mode !== newTargetMode) { this.isOn = true; this.mode = newTargetMode; this.logDebug('Setting mode value: ' + newTargetMode); await this.setTargetTemperatureInCelsius(this.mode === wideq_adapter_1.Mode.COOL ? this.targetCoolingTemperatureInCelsius : this.targetHeatingTemperatureInCelsius); } else { this.setPowerState(true); } } getCurrentTemperatureInCelsius() { this.logDebug('Getting current temperature value: ' + this.currentTemperatureInCelsius); return this.currentTemperatureInCelsius; } getTargetCoolingTemperatureInCelsius() { this.logDebug('Getting target temperature value: ' + this.targetCoolingTemperatureInCelsius); return this.targetCoolingTemperatureInCelsius; } setTargetCoolingTemperatureInCelsius(newTargetCoolingTemperatureInCelsius) { if (this.targetCoolingTemperatureInCelsius !== newTargetCoolingTemperatureInCelsius) { this.isOn = true; this.targetCoolingTemperatureInCelsius = newTargetCoolingTemperatureInCelsius; if (this.mode === wideq_adapter_1.Mode.COOL) { this.setTargetTemperatureInCelsius(this.targetCoolingTemperatureInCelsius); } } } getTargetHeatingTemperatureInCelsius() { this.logDebug('Getting target heating temperature value: ' + this.targetHeatingTemperatureInCelsius); return this.targetHeatingTemperatureInCelsius; } setTargetHeatingTemperatureInCelsius(newTargetHeatingTemperatureInCelsius) { if (this.targetHeatingTemperatureInCelsius !== newTargetHeatingTemperatureInCelsius) { this.isOn = true; this.targetHeatingTemperatureInCelsius = newTargetHeatingTemperatureInCelsius; if (this.mode === wideq_adapter_1.Mode.HEAT) { this.setTargetTemperatureInCelsius(this.targetHeatingTemperatureInCelsius); } } } async setTargetTemperatureInCelsius(newTargetTemperatureInCelsius) { if (this.targetTemperatureInCelsius !== newTargetTemperatureInCelsius) { this.isOn = true; this.targetTemperatureInCelsius = newTargetTemperatureInCelsius; this.logDebug('Setting temperature value: ' + newTargetTemperatureInCelsius); } } getVerticalSwingMode() { this.logDebug('Getting v-swing value: ' + this.swingModeV); return this.swingModeV; } async setVerticalSwingMode(newVerticalSwingMode) { if (this.swingModeV !== newVerticalSwingMode) { this.isOn = true; this.swingModeV = newVerticalSwingMode; this.logDebug('Setting swing V value: ' + newVerticalSwingMode); } } getHorizontalSwingMode() { this.logDebug('Getting h-swing value: ' + this.swingModeH); return this.swingModeH; } async setHorizontalSwingMode(newHorizontalSwingMode) { if (this.swingModeH !== newHorizontalSwingMode) { this.isOn = true; this.swingModeH = newHorizontalSwingMode; this.logDebug('Setting swing H value: ' + newHorizontalSwingMode); } } getFanSpeed() { this.logDebug('Getting fan speed value: ' + this.fanSpeed); return this.fanSpeed; } async setFanSpeed(newFanSpeed) { if (this.fanSpeed !== newFanSpeed) { this.isOn = true; this.fanSpeed = newFanSpeed; this.logDebug('Setting fan speed value: ' + newFanSpeed); } } } exports.DummyController = DummyController; //# sourceMappingURL=dummy-controller.js.map