UNPKG

@elshaer/homebridge-lg-thinq

Version:

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

37 lines 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.baseDevice = void 0; const events_1 = require("events"); const helper_1 = require("./helper"); class baseDevice extends events_1.EventEmitter { constructor(platform, accessory) { super(); this.platform = platform; this.accessory = accessory; 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) { const device = this.accessory.context.device; this.platform.log.debug('[' + device.name + '] Received snapshot: ', JSON.stringify(snapshot)); device.data.snapshot = (0, helper_1.mergeDeep)({}, device.snapshot, snapshot); this.updateAccessoryCharacteristic(device); } get config() { return this.platform.config.devices.find(enabled => enabled.id === this.accessory.context.device.id) || {}; } static model() { return ''; } } exports.baseDevice = baseDevice; //# sourceMappingURL=baseDevice.js.map