homebridge-unifi-access
Version:
Homebridge UniFi Access plugin providing complete HomeKit integration for the UniFi Access ecosystem with full support for most features including autoconfiguration, motion detection, multiple controllers, and realtime updates.
44 lines (43 loc) • 1.86 kB
TypeScript
import type { PlatformAccessory } from "homebridge";
import { AccessApi, type AccessControllerConfig, type AccessDeviceConfig } from "unifi-access";
import { type HomebridgePluginLogging, MqttClient, type Nullable } from "homebridge-plugin-utils";
import type { AccessControllerOptions } from "./access-options.js";
import type { AccessDevice } from "./access-device.js";
import { AccessEvents } from "./access-events.js";
import type { AccessPlatform } from "./access-platform.js";
export declare class AccessController {
private api;
config: AccessControllerOptions;
private deviceRemovalQueue;
readonly configuredDevices: {
[index: string]: AccessDevice | undefined;
};
events: AccessEvents;
private hap;
logApiErrors: boolean;
readonly log: HomebridgePluginLogging;
mqtt: MqttClient | null;
private name;
platform: AccessPlatform;
uda: AccessControllerConfig;
udaApi: AccessApi;
private unsupportedDevices;
constructor(platform: AccessPlatform, accessOptions: AccessControllerOptions);
private bootstrapController;
login(): Promise<void>;
private configureController;
private addAccessDevice;
private discoverDevices;
addHomeKitDevice(device: AccessDeviceConfig): boolean;
private discoverAndSyncAccessories;
private cleanupDevices;
private resolveDeviceName;
private resolveDeviceModel;
removeHomeKitDevice(accessory: PlatformAccessory, noRemovalDelay?: boolean): void;
resetControllerConnection(): Promise<void>;
deviceLookup(deviceId: string): AccessDevice | null;
getFeatureFloat(option: string): Nullable<number | undefined>;
getFeatureNumber(option: string): Nullable<number | undefined>;
hasFeature(option: string, device?: AccessControllerConfig | AccessDeviceConfig): boolean;
get id(): string | undefined;
}