UNPKG

@homebridge-plugins/homebridge-lutron-caseta-leap

Version:
66 lines 2.48 kB
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