homebridge-virtual-accessories
Version:
Virtual HomeKit accessories for Homebridge.
37 lines (36 loc) • 1.72 kB
TypeScript
import { CharacteristicValue, PlatformAccessory, Service, WithUUID } from 'homebridge';
import { VirtualAccessoriesPlatform } from '../platform.js';
import { AccessoryConfiguration } from '../configuration/configurationAccessory.js';
import { Accessory } from './accessory.js';
import { OpenableAccessoryConfiguration } from '../configuration/configurationOpenableAccesory.js';
/**
* OpeningAccessory - Abstract accessory
*/
export declare abstract class OpeningAccessory extends Accessory {
static readonly CLOSED: number;
static readonly OPEN: number;
static readonly DECREASING: number;
static readonly INCREASING: number;
static readonly STOPPED: number;
private static readonly MIN_TIMEOUT_SECS;
private static readonly DEFAULT_TIMEOUT_SECS;
private readonly stateStorageKey;
private transitionTimer;
private transitionSteps;
private openingAccessoryConfiguration;
protected states: {
CurrentPosition: number;
TargetPosition: number;
PositionState: number;
};
constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration);
getCurrentPosition(): Promise<CharacteristicValue>;
setTargetPosition(value: CharacteristicValue): Promise<void>;
getTargetPosition(): Promise<CharacteristicValue>;
getPositionState(): Promise<CharacteristicValue>;
protected abstract getOpeningAccessoryConfiguration(): OpenableAccessoryConfiguration;
protected abstract getOpeningAccessoryService(): WithUUID<typeof Service>;
protected getJsonState(): string;
static getStateName(position: number): string;
static getPositionName(state: number): string;
}