UNPKG

@shadman-a/homebridge-my-ac

Version:

A Homebridge plugin for controlling/monitoring LG ThinQ devices via LG ThinQ platform.

35 lines 1.62 kB
import { EventEmitter } from 'events'; export class BaseDevice extends EventEmitter { platform; accessory; logger; constructor(platform, accessory, logger) { super(); this.platform = platform; this.accessory = accessory; this.logger = logger; const device = accessory.context.device; const { AccessoryInformation } = this.platform.Service; const serviceAccessoryInformation = accessory.getService(AccessoryInformation) || accessory.addService(AccessoryInformation); // set accessory information serviceAccessoryInformation .setCharacteristic(this.platform.Characteristic.Manufacturer, 'LG') .setCharacteristic(this.platform.Characteristic.Model, device.salesModel || device.model || 'Unknown') .setCharacteristic(this.platform.Characteristic.SerialNumber, this.config.serial_number || device.serialNumber || 'Unknown'); } updateAccessoryCharacteristic(device) { this.accessory.context.device = device; } update(snapshot) { this.platform.log.debug('[' + this.accessory.context.device.name + '] Received snapshot: ', JSON.stringify(snapshot)); this.accessory.context.device.data.snapshot = { ...this.accessory.context.device.snapshot, ...snapshot }; this.updateAccessoryCharacteristic(this.accessory.context.device); } get config() { return this.platform.config.devices.find((enabled) => enabled.id === this.accessory.context.device.id) || {}; } static model() { return ''; } } //# sourceMappingURL=baseDevice.js.map