UNPKG

homebridge-rinnai-touch-platform

Version:

Homebridge Plugin to control heating/cooling via a Rinnai Touch WiFi Module

45 lines 2.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ThermostatBase = void 0; const AccessoryBase_1 = require("./AccessoryBase"); class ThermostatBase extends AccessoryBase_1.AccessoryBase { constructor(platform, platformAccessory) { super(platform, platformAccessory); } setEventHandlers() { this.platform.log.debug('ThermostatBase', 'setEventHandlers'); super.setEventHandlers(); this.platform.temperatureService.on('temperature_change', () => { this.updateValues(); }); this.service .getCharacteristic(this.platform.Characteristic.CurrentTemperature) .onGet(this.getCharacteristicValue.bind(this, this.getCurrentTemperature.bind(this), 'CurrentTemperature')); this.service .getCharacteristic(this.platform.Characteristic.TemperatureDisplayUnits) .onGet(this.getCharacteristicValue.bind(this, this.getTemperatureUnits.bind(this), 'TemperatureDisplayUnits')); } getCurrentTemperature() { var _a; this.platform.log.debug('ThermostatBase', 'getCurrentTemperature'); return (_a = this.platform.temperatureService.getTemperature(this.platformAccessory.context.zone)) !== null && _a !== void 0 ? _a : 0; } getTemperatureUnits() { this.platform.log.debug('ThermostatBase', 'getTemperatureUnits'); const state = this.platform.service.getTemperatureUnits(); return state === 'F' ? this.platform.Characteristic.TemperatureDisplayUnits.FAHRENHEIT : this.platform.Characteristic.TemperatureDisplayUnits.CELSIUS; } updateValues() { this.platform.log.debug('ThermostatBase', 'updateValues', 'service'); this.service .getCharacteristic(this.platform.Characteristic.CurrentTemperature) .updateValue(this.getCurrentTemperature()); this.service .getCharacteristic(this.platform.Characteristic.TemperatureDisplayUnits) .updateValue(this.getTemperatureUnits()); } } exports.ThermostatBase = ThermostatBase; //# sourceMappingURL=ThermostatBase.js.map