homebridge-pura
Version:
Homebridge plugin for Pura smart fragrance diffusers
50 lines (49 loc) • 1.3 kB
TypeScript
/**
* Pura API Client
* Based on pypura library: https://github.com/natekspencer/pypura
*/
import { Logging } from 'homebridge';
import { PuraDevice, PuraAuthTokens } from './puraTypes.js';
export declare class PuraApi {
private userPool;
private cognitoUser;
private session;
private readonly log;
constructor(log: Logging);
/**
* Authenticate with Pura API
*/
authenticate(username: string, password: string): Promise<PuraAuthTokens>;
/**
* Refresh authentication tokens
*/
refreshToken(): Promise<PuraAuthTokens>;
/**
* Get authorization header for API requests
*/
private getAuthHeader;
/**
* Make authenticated API request
*/
private makeRequest;
/**
* Get all devices
*/
getDevices(): Promise<PuraDevice[]>;
/**
* Set device intensity
*/
setIntensity(deviceId: string, bay: number, intensity: number): Promise<boolean>;
/**
* Set always on mode
*/
setAlwaysOn(deviceId: string, bay: number): Promise<boolean>;
/**
* Stop all diffusion
*/
stopAll(deviceId: string): Promise<boolean>;
/**
* Set timer
*/
setTimer(deviceId: string, bay: number, intensity: number, durationMinutes: number): Promise<boolean>;
}