UNPKG

homebridge-plugin-asus-vpn

Version:
29 lines 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AsusVPNPlatformAccessory = void 0; const constant_1 = require("./domain/constant"); class AsusVPNPlatformAccessory { constructor(platform, accessory, asusRouterService, asusRouterUsecase) { this.platform = platform; this.accessory = accessory; this.asusRouterService = asusRouterService; this.asusRouterUsecase = asusRouterUsecase; this.accessory.getService(this.platform.Service.AccessoryInformation) .setCharacteristic(this.platform.Characteristic.Manufacturer, 'Asus') .setCharacteristic(this.platform.Characteristic.Model, 'VPN') .setCharacteristic(this.platform.Characteristic.SerialNumber, 'Serial'); this.service = this.accessory.getService(this.platform.Service.Switch) || this.accessory.addService(this.platform.Service.Switch); this.service.setCharacteristic(this.platform.Characteristic.Name, accessory.context.name); this.service.getCharacteristic(this.platform.Characteristic.On) .onSet(this.setOn.bind(this)) .onGet(this.getOn.bind(this)); } async setOn(value) { await this.asusRouterUsecase.toggleVpn(this.asusRouterService, value); } async getOn() { return await this.asusRouterUsecase.getVpnConnectionStatus(this.asusRouterService) === constant_1.VpnConnectionStatus.CONNECTED; } } exports.AsusVPNPlatformAccessory = AsusVPNPlatformAccessory; //# sourceMappingURL=platformAccessory.js.map