homebridge-flume
Version:
Homebridge plugin to integrate Flume devices into HomeKit.
41 lines (40 loc) • 1.35 kB
TypeScript
import { Logger } from 'homebridge';
import { Device } from './device.js';
import * as Types from './types.js';
export declare class FlumeAPI {
private readonly username;
private readonly password;
private readonly clientId;
private readonly clientSecret;
private readonly refreshInterval;
private readonly units;
private storagePath;
private readonly log;
private readonly verbose;
private _auth?;
readonly locationNames: Map<string, string>;
private readonly _devices;
private retryIndex;
private syncTimer;
private lastFullRefresh;
private constructor();
static connect(username: string, password: string, clientId: string, clientSecret: string, refreshInterval: number, units: Types.VolumeUnits, storagePath: string, log: Logger, verbose: boolean): Promise<FlumeAPI>;
get devices(): Device[];
teardown(): void;
private do;
private retryIfPossible;
private get auth();
private set auth(value);
private authenticate;
private authRefresh;
private refreshAuthIfNecessary;
private startSyncTimer;
private getLocations;
private getDevices;
private getDeviceData;
getLeakData(deviceId: string): Promise<Types.LeakData | null>;
private getUsageData;
private synchronizeData;
private logHTTP;
private logIfVerbose;
}