homebridge-daikin-oneplus
Version:
Control a Daikin One+ thermostat.
37 lines • 1.86 kB
JavaScript
export class DaikinOnePlusOutdoorTemperature {
platform;
accessory;
deviceId;
daikinApi;
service;
constructor(platform, accessory, deviceId, daikinApi) {
this.platform = platform;
this.accessory = accessory;
this.deviceId = deviceId;
this.daikinApi = daikinApi;
this.accessory
.getService(this.platform.Service.AccessoryInformation)
.setCharacteristic(this.platform.Characteristic.Manufacturer, 'Daikin')
.setCharacteristic(this.platform.Characteristic.Model, accessory.context.device.model)
.setCharacteristic(this.platform.Characteristic.SerialNumber, accessory.context.device.id)
.setCharacteristic(this.platform.Characteristic.FirmwareRevision, accessory.context.device.firmwareVersion);
this.service =
this.accessory.getService(this.platform.Service.TemperatureSensor) ||
this.accessory.addService(this.platform.Service.TemperatureSensor);
this.service.setCharacteristic(this.platform.Characteristic.Name, accessory.displayName);
this.service.getCharacteristic(this.platform.Characteristic.CurrentTemperature).onGet(() => {
this.daikinApi.updateNow();
return this.handleTemperatureGet();
});
this.daikinApi.addListener(this.deviceId, this.updateValues.bind(this));
}
updateValues() {
this.service.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, this.handleTemperatureGet());
}
handleTemperatureGet() {
const currentOutdoorTemp = this.daikinApi.getOutdoorTemp(this.deviceId);
this.platform.log.debug('%s - Get Outdoor Temperature: %d', this.accessory.displayName, currentOutdoorTemp);
return currentOutdoorTemp;
}
}
//# sourceMappingURL=platformOutdoorTemperature.js.map