UNPKG

homebridge-bold

Version:
33 lines (32 loc) 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LockAccessory = void 0; const base_accessory_1 = require("./base-accessory"); var LockState; (function (LockState) { LockState[LockState["Unlocked"] = 0] = "Unlocked"; LockState[LockState["Locked"] = 1] = "Locked"; })(LockState || (LockState = {})); class LockAccessory extends base_accessory_1.BaseAccessory { constructor(platform, accessory, deviceConfig) { super(platform, accessory, deviceConfig); this.platform = platform; this.accessory = accessory; this.deviceConfig = deviceConfig; let lockService = accessory.getService(this.platform.hap.Service.LockMechanism); if (!lockService) { lockService = accessory.addService(this.platform.hap.Service.LockMechanism); } let currentState = lockService.getCharacteristic(this.platform.hap.Characteristic.LockCurrentState); let targetState = lockService.getCharacteristic(this.platform.hap.Characteristic.LockTargetState); currentState.onGet(() => this.isActivated ? LockState.Unlocked : LockState.Locked); targetState.onGet(() => this.isActivated ? LockState.Unlocked : LockState.Locked) .onSet((newState) => this.setState(newState == LockState.Unlocked)); } onStateChange(activated) { let service = this.accessory.getService(this.platform.hap.Service.LockMechanism); service === null || service === void 0 ? void 0 : service.getCharacteristic(this.platform.hap.Characteristic.LockCurrentState).updateValue(activated ? LockState.Unlocked : LockState.Locked); service === null || service === void 0 ? void 0 : service.getCharacteristic(this.platform.hap.Characteristic.LockTargetState).updateValue(activated ? LockState.Unlocked : LockState.Locked); } } exports.LockAccessory = LockAccessory;