homebridge-virtual-accessories
Version:
Virtual HomeKit accessories for Homebridge.
40 lines (39 loc) • 1.73 kB
TypeScript
import type { CharacteristicValue, PlatformAccessory } from 'homebridge';
import { VirtualAccessoriesPlatform } from '../platform.js';
import { AccessoryConfiguration } from '../configuration/configurationAccessory.js';
import { Accessory } from './accessory.js';
import { TriggerableAlarm } from './triggerableAlarm.js';
/**
* SecuritySystem - Accessory implementation
*/
export declare class SecuritySystem extends Accessory implements TriggerableAlarm {
static readonly ACCESSORY_TYPE_NAME: string;
static readonly STAY_ARM: number;
static readonly AWAY_ARM: number;
static readonly NIGHT_ARM: number;
static readonly DISARMED: number;
static readonly ALARM_TRIGGERED: number;
private readonly stateStorageKey;
private awayArmingDelayTimer;
private states;
constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration);
getSecuritySystemCurrentState(): Promise<CharacteristicValue>;
setSecuritySystemTargetState(value: CharacteristicValue): Promise<void>;
getSecuritySystemTargetState(): Promise<CharacteristicValue>;
protected getJsonState(): string;
protected getAccessoryTypeName(): string;
static getStateName(state: number): string;
/**
* Ensure all the property values are set, then remove as required
*/
private setSecurityServiceProperties;
private generatePropertyValueList;
triggerAlarm(value: number, accessoryId: string): void;
}
export declare class SecurityServiceTriggerType {
static None: number;
static TriggerAlarm: number;
static TriggerPanic: number;
static isValid(value: number): boolean;
static getName(state: number): string;
}