homebridge-connect-my-pool
Version:
Partially complete HomeKit integration for Astral Viron Gateway
44 lines • 2.13 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.SolarAccessory = void 0;
const heaterAccessory_1 = require("./heaterAccessory");
class SolarAccessory extends heaterAccessory_1.HeaterAccessory {
constructor(platform, controller, zone) {
super(platform, controller, zone);
}
setStatus(newStatus) {
super.setStatus(newStatus);
this.temperatureSensorService.getCharacteristic(this.Characteristic.CurrentTemperature)
.updateValue(this.getTemperatureSensor(newStatus));
}
/**
* Handle requests to get the current value of the "Target Temperature" characteristic
*/
getTemperatureSensor(newStatus) {
var _a;
var status = newStatus !== null && newStatus !== void 0 ? newStatus : this.previousStatus;
// set this to a valid value for TargetTemperature
var value = (_a = status === null || status === void 0 ? void 0 : status.roofTemp) !== null && _a !== void 0 ? _a : 0;
this.debug('Get TemperatureSensor:', value);
return value;
}
////////////////////////
// ZONE SERVICE FUNCTIONS
////////////////////////
setupServices() {
super.setupServices();
this.debug('setupServices', 'solarAccessory');
this.temperatureSensorService = this.createTemperatureSensor();
}
// Configure the temperature sensor on the Solar Heater.
createTemperatureSensor() {
const temperatureSensorService = this.accessory.getServiceById(this.Service.TemperatureSensor, 'temperaturesensor') || this.accessory.addService(this.Service.TemperatureSensor, this.zone.name + " Roof Temperature", 'temperaturesensor');
temperatureSensorService.getCharacteristic(this.Characteristic.CurrentTemperature)
.setValue(this.getTemperatureSensor())
.onGet(this.getTemperatureSensor.bind(this));
this.enabledServices.push(temperatureSensorService);
return temperatureSensorService;
}
}
exports.SolarAccessory = SolarAccessory;
//# sourceMappingURL=solarAccessory.js.map