homebridge-virtual-accessories
Version:
Virtual HomeKit accessories for Homebridge.
56 lines (55 loc) • 2.72 kB
TypeScript
import { CharacteristicValue, PlatformAccessory } from 'homebridge';
import { VirtualAccessoriesPlatform } from '../platform.js';
import { AccessoryConfiguration } from '../configuration/configurationAccessory.js';
import { Accessory } from './accessory.js';
/**
* Lock - Accessory implementation
*/
export declare class Lock extends Accessory {
static readonly ACCESSORY_TYPE_NAME: string;
static readonly UNSECURED: number;
static readonly SECURED: number;
static readonly JAMMED: number;
static readonly UNKNOWN: number;
static readonly SECURED_REMOTELY: number;
static readonly UNSECURED_REMOTELY: number;
static readonly SECURED_BY_AUTO_SECURE_TIMEOUT: number;
private readonly stateStorageKey;
private readonly securityTimeoutStorageKey;
private readonly lastKnownActionStorageKey;
private readonly deviceCredentialPublicKeysStorageKey;
private readonly readerPrivateKeysStorageKey;
private readonly deviceCredentialPublicKeysCount;
private readonly readerPrivateKeysCount;
private readonly nfcAccessSupportedConfiguration;
private deviceCredentialPublicKeys;
private readerPrivateKeys;
private setupHomeKey;
private readonly lockHardwareFinish;
private securityTimerId;
private states;
constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration);
getLockCurrentState(): Promise<CharacteristicValue>;
setLockTargetState(value: CharacteristicValue): Promise<void>;
getLockTargetState(): Promise<CharacteristicValue>;
setLockControlPoint(value: CharacteristicValue): Promise<void>;
getVersion(): Promise<CharacteristicValue>;
setLockManagementAutoSecurityTimeout(value: CharacteristicValue): Promise<void>;
getLockManagementAutoSecurityTimeout(): Promise<CharacteristicValue>;
getLockLastKnownAction(): Promise<CharacteristicValue>;
getConfigurationState(): Promise<CharacteristicValue>;
setNFCAccessControlPoint(value: CharacteristicValue): Promise<string>;
getNFCAccessControlPoint(): Promise<CharacteristicValue>;
getNFCAccessSupportedConfiguration(): Promise<CharacteristicValue>;
protected getJsonState(): string;
protected getAccessoryTypeName(): string;
static getStateName(state: number): string;
private startAutoSecurityTimeout;
private readonly GET_DEVICE_CREDENTIAL_REQUEST;
private readonly GET_READER_KEY_REQUEST;
private readonly ADD_DEVICE_CREDENTIAL_REQUEST;
private readonly ADD_GET_READER_KEY_REQUEST;
private readonly RFEMOVE_DEVICE_CREDENTIAL_REQUEST;
private readonly REMOVE_GET_READER_KEY_REQUEST;
private processAccessControlPointRequest;
}