@homebridge-plugins/homebridge-lutron-caseta-leap
Version:
Homebridge support for Lutron
66 lines • 2.48 kB
TypeScript
import type { API, DynamicPlatformPlugin, Logging, PlatformAccessory, PlatformConfig } from 'homebridge';
import type { DeviceDefinition, Response } from 'lutron-leap';
import type TypedEmitter from 'typed-emitter';
import type { ButtonPressLogLevel, LogLevelOption } from './Logger.js';
import { SmartBridge } from 'lutron-leap';
interface PlatformEvents {
[event: string]: (...args: any[]) => void;
unsolicited: (response: Response) => void;
}
export interface GlobalOptions {
filterPico: boolean;
excludedDeviceTypes: string[];
clickSpeedLong: 'quick' | 'default' | 'relaxed' | 'disabled';
clickSpeedDouble: 'quick' | 'default' | 'relaxed' | 'disabled';
logSSLKeyDangerous: boolean;
logLevel: LogLevelOption;
buttonPressLogging: ButtonPressLogLevel;
}
interface BridgeAuthEntry {
bridgeid: string;
ca: string;
key: string;
cert: string;
}
export declare enum DeviceWireResultType {
Success = 0,
Skipped = 1,
Error = 2
}
export type DeviceWireResult = WireSuccess | DeviceSkipped | WireError;
export interface WireSuccess {
kind: DeviceWireResultType.Success;
name: string;
}
export interface DeviceSkipped {
kind: DeviceWireResultType.Skipped;
reason: string;
}
export interface WireError {
kind: DeviceWireResultType.Error;
reason: string;
}
declare const LutronCasetaLeap_base: new () => TypedEmitter<PlatformEvents>;
export declare class LutronCasetaLeap extends LutronCasetaLeap_base implements DynamicPlatformPlugin {
readonly config: PlatformConfig;
readonly api: API;
protected readonly accessories: Map<string, PlatformAccessory>;
private finder;
private options;
private secrets;
private bridgeMgr;
readonly log: Logging;
constructor(log: Logging, config: PlatformConfig, api: API);
optionsFromConfig(config: PlatformConfig): GlobalOptions;
private isDeviceTypeExcluded;
secretsFromConfig(config: PlatformConfig): Map<string, BridgeAuthEntry>;
configureAccessory(accessory: PlatformAccessory): void;
private handleBridgeDiscovery;
private getDeviceInfoWithRetry;
private processAllDevices;
processDevice(bridge: SmartBridge, d: DeviceDefinition): Promise<string>;
wireAccessory(accessory: PlatformAccessory, bridge: SmartBridge, device: DeviceDefinition): Promise<DeviceWireResult>;
handleUnsolicitedMessage(bridgeID: string, response: Response): void;
}
export {};
//# sourceMappingURL=Platform.HAP.d.ts.map