homebridge-lutron-caseta-leap-fast
Version:
Support for the Lutron Caseta Smart Bridge 2
59 lines • 2.13 kB
TypeScript
import { DeviceDefinition, Response, SmartBridge } from 'lutron-leap';
import { API, DynamicPlatformPlugin, Logging, PlatformAccessory, PlatformConfig } from 'homebridge';
import TypedEmitter from 'typed-emitter';
type PlatformEvents = {
unsolicited: (response: Response) => void;
};
export interface GlobalOptions {
filterPico: boolean;
filterBlinds: boolean;
clickSpeedLong: 'quick' | 'default' | 'relaxed' | 'disabled';
clickSpeedDouble: 'quick' | 'default' | 'relaxed' | 'disabled';
logSSLKeyDangerous: boolean;
}
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 log: Logging;
readonly config: PlatformConfig;
readonly api: API;
private readonly accessories;
private finder;
private options;
private secrets;
private bridgeMgr;
constructor(log: Logging, config: PlatformConfig, api: API);
optionsFromConfig(config: PlatformConfig): GlobalOptions;
secretsFromConfig(config: PlatformConfig): Map<string, BridgeAuthEntry>;
configureAccessory(accessory: PlatformAccessory): void;
private handleBridgeDiscovery;
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.d.ts.map