homebridge-virtual-accessories
Version:
Virtual HomeKit accessories for Homebridge.
37 lines (36 loc) • 1.53 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 { TriggerableCompanionSensor } from '../sensors/companions/companionSensors.js';
import { Timer } from '../utils/timer.js';
/**
* Switch - Accessory implementation
*/
export declare class Switch extends Accessory {
static readonly ACCESSORY_TYPE_NAME: string;
static readonly ON: boolean;
static readonly OFF: boolean;
private readonly stateStorageKey;
private readonly timerStartTimeStorageKey;
private readonly timerDurationStorageKey;
private readonly timerIsRunningStorageKey;
protected resetTimer?: Timer;
protected companionSensor?: TriggerableCompanionSensor;
protected muteLogging: boolean;
protected states: {
SwitchState: boolean;
SensorState: number;
};
constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration);
setOn(value: CharacteristicValue): Promise<void>;
getOn(): Promise<CharacteristicValue>;
protected getJsonState(): string;
protected getAccessoryTypeName(): string;
static getStateName(state: boolean): string;
private determineSensorState;
private setupResetTimer;
private createCompanionSensor;
private restoreRunningTimer;
private onTimerExpired;
}