homebridge-millheat
Version:
Homebridge plugin for Mill heaters
43 lines (36 loc) • 962 B
JavaScript
;
class AccessoryBase {
constructor(platform, type, name, deviceId) {
this.deviceId = deviceId;
this.platform = platform;
this.name = name;
this.uuid = platform.homebridge.hap.uuid.generate(deviceId.toString());
this.log = platform.log;
this.logger = this.getLogger(type);
this.services = {};
}
getLogger(type) {
const prefix = `${type}[${this.uuid}] `;
const log = this.log;
return {
info: message => log.info(`${prefix}${message}`),
error: message => log.error(`${prefix}${message}`),
debug: message => log.debug(`${prefix}${message}`),
};
}
identify(callback) {
this.logger.info('identify');
callback();
}
addService(name, service) {
this.services[name] = service;
}
getServices() {
const services = [];
for (let id in this.services) {
services.push(this.services[id]);
}
return services;
}
}
module.exports = AccessoryBase;