homebridge-nibe
Version:
Homebridge plugin for Nibe services
41 lines (40 loc) • 1.81 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TemperatureSensorAccessory = void 0;
const AccessoryDomain_1 = require("../AccessoryDomain");
class TemperatureSensorAccessory extends AccessoryDomain_1.AccessoryDefinition {
constructor(parameterId, name, version, locale, serviceResolver, log) {
super(name, version, locale, serviceResolver, log);
this.parameterId = parameterId;
this.name = name;
this.version = version;
this.locale = locale;
this.serviceResolver = serviceResolver;
this.log = log;
}
isApplicable(data) {
const result = this.findParameter(this.parameterId, data);
if (result) {
return true;
}
this.log.debug(`Conditions not meet for accessory: [${this.buildIdentifier(data)}]`);
return false;
}
update(platformAccessory, data) {
const service = this.getOrCreateService('TemperatureSensor', platformAccessory);
const parameter = this.findParameter(this.parameterId, data);
if (service && parameter) {
this.updateCharacteristic(service, 'CurrentTemperature', parameter.value);
super.update(platformAccessory, data);
this.log.debug(`Accessory ${platformAccessory.context.accessoryId} updated to ${parameter.value}`);
}
}
create(platformAccessory, data) {
super.create(platformAccessory, data);
const service = this.getOrCreateService('TemperatureSensor', platformAccessory);
this.updateCharacteristic(service, 'Name', this.getText(this.name));
this.updateCharacteristic(service, 'CurrentTemperature', 0);
this.update(platformAccessory, data);
}
}
exports.TemperatureSensorAccessory = TemperatureSensorAccessory;