homebridge-rinnai-touch-platform
Version:
Homebridge Plugin to control heating/cooling via a Rinnai Touch WiFi Module
45 lines • 2.16 kB
JavaScript
"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