UNPKG

homebridge-unifi-occupancy-lite

Version:

Lightweight UniFi occupancy sensor plugin for Homebridge using API tokens only. Works with UDM Pro/SE, UDM, UDR and other UniFi OS devices.

82 lines (81 loc) 1.93 kB
export interface UniFiConfig { controller: string; apiKey: string; site: string; secure: boolean; useSiteManagerApi?: boolean; hostId?: string; endpoints?: { sites?: string; clients?: string; devices?: string; }; } export declare class UniFiLiteClient { private config; private baseUrl; private controllerType; constructor(config: UniFiConfig); private detectControllerType; /** * Make HTTP request to UniFi API using Node.js built-in modules */ private request; /** * GET request */ get(endpoint: string): Promise<any>; /** * POST request */ post(endpoint: string, data?: any): Promise<any>; /** * Get all sites */ getSites(): Promise<any[]>; /** * Get active clients for a site */ getClients(site?: string): Promise<any[]>; /** * Get devices using Site Manager API or local controller */ getDevices(): Promise<any[]>; /** * Get network devices (access points, switches) */ getNetworkDevices(site?: string): Promise<any[]>; /** * Get device fingerprints database */ getDeviceFingerprints(): Promise<any>; /** * Get client statistics including traffic data */ getClientStats(mac: string, site?: string): Promise<any>; /** * Get site statistics */ getSiteStats(site?: string): Promise<any>; /** * Get ISP metrics (Site Manager API only) */ getIspMetrics(): Promise<any>; /** * Get client traffic data for the last 15 minutes */ getClientTrafficLast15Min(mac: string): Promise<{ rx_bytes: number; tx_bytes: number; } | null>; /** * For compatibility with original code */ get opts(): { site: string; }; /** * Test API connection */ testConnection(): Promise<boolean>; }