homebridge-virtual-accessories
Version:
Virtual HomeKit accessories for Homebridge.
30 lines (29 loc) • 1.29 kB
TypeScript
import type { PlatformAccessory, Service } from 'homebridge';
import { VirtualAccessoriesPlatform } from '../platform.js';
import { AccessoryConfiguration } from '../configuration/configurationAccessory.js';
import { VirtualLogger } from '../utils/virtualLogger.js';
/**
* Abstract Accessory
*/
export declare abstract class Accessory {
service?: Service;
readonly platform: VirtualAccessoriesPlatform;
readonly accessory: PlatformAccessory;
readonly accessoryConfiguration: AccessoryConfiguration;
readonly log: VirtualLogger;
protected accessoryName: string;
protected defaultState: any;
protected storagePath: string;
private accessoryInformationService?;
constructor(platform: VirtualAccessoriesPlatform, accessory: PlatformAccessory, accessoryConfiguration: AccessoryConfiguration);
isExternalAccessory(): boolean;
updateConfiguredName(): void;
private readonly EMPTY_ACCESSORY_STATE;
protected isEmptyAccessoryState(json: any): boolean;
protected loadAccessoryState(storagePath: string): any;
private saveAccessoryState;
protected deleteAccessoryState(storagePath: string): void;
protected storeState(): void;
protected abstract getAccessoryTypeName(): string;
protected abstract getJsonState(): string;
}