homebridge-eufy-security-mikebcbc
Version:
Control Eufy Security from homebridge.
65 lines • 2.45 kB
TypeScript
/// <reference types="node" />
import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, PlatformConfig, Service, Characteristic } from 'homebridge';
import { EufySecurityPlatformConfig } from './config';
import { EufySecurity, Station } from 'eufy-security-client';
import { Logger as TsLogger, ILogObj } from 'tslog';
import { FfmpegCodecs } from './utils/ffmpeg-codecs';
export declare class EufySecurityPlatform implements DynamicPlatformPlugin {
readonly hblog: Logger;
readonly api: API;
readonly Service: typeof Service;
readonly Characteristic: typeof Characteristic;
eufyClient: EufySecurity;
readonly accessories: PlatformAccessory[];
config: EufySecurityPlatformConfig;
private eufyConfig;
log: TsLogger<ILogObj>;
private tsLogger;
ffmpegLogger: TsLogger<ILogObj>;
private already_shutdown;
codecSupport: FfmpegCodecs;
videoProcessor: string;
readonly eufyPath: string;
private activeAccessoryIds;
private cleanCachedAccessoriesTimeout?;
private pluginConfigInteractor?;
private readonly STATION_INIT_DELAY;
private readonly DEVICE_INIT_DELAY;
private _hostSystem;
verboseFfmpeg: boolean;
blackSnapshot: Buffer;
SnapshotUnavailable: Buffer;
constructor(hblog: Logger, config: PlatformConfig, api: API);
private configureLogger;
private probeHwOs;
get hostSystem(): string;
private initSetup;
private pluginSetup;
private generateUUID;
private delay;
private addOrUpdateAccessory;
private stationAdded;
private deviceAdded;
private deviceRemoved;
private pluginShutdown;
/**
* This function is invoked when homebridge restores cached accessories from disk at startup.
* It should be used to setup event handlers for characteristics and update respective values.
*/
configureAccessory(accessory: PlatformAccessory): void;
private cleanCachedAccessories;
private register_station;
private register_device;
getStationById(id: string): Promise<Station>;
private clean_config;
private clean_config_after_init;
/**
* Reads a file synchronously and returns its buffer.
* Also lists the contents of the current directory.
* @param filepath - The path to the file to read.
* @returns The file buffer.
* @throws An error if the file cannot be read.
*/
private readFileSync;
}
//# sourceMappingURL=platform.d.ts.map