tsvesync
Version:
A TypeScript library for interacting with VeSync smart home devices
71 lines (70 loc) • 1.6 kB
TypeScript
/**
* VeSync Outlets
*/
import { VeSyncBaseDevice } from './vesyncBaseDevice';
import { VeSync } from './vesync';
interface OutletConfig {
[key: string]: {
module: string;
features: string[];
};
}
export declare const outletConfig: OutletConfig;
/**
* VeSync Outlet Base Class
*/
export declare abstract class VeSyncOutlet extends VeSyncBaseDevice {
protected energy: Record<string, any>;
protected details: Record<string, any>;
protected features: string[];
constructor(details: Record<string, any>, manager: VeSync);
/**
* Get outlet details
*/
getDetails(): Promise<Boolean>;
/**
* Update outlet energy data
*/
updateEnergy(): Promise<void>;
/**
* Get outlet energy usage
*/
getEnergyUsage(): Promise<Record<string, any>>;
/**
* Get outlet status
*/
getStatus(): Promise<string>;
/**
* Get API prefix based on device type
*/
private getApiPrefix;
/**
* Get weekly energy data
*/
getWeeklyEnergy(): Promise<void>;
/**
* Get monthly energy data
*/
getMonthlyEnergy(): Promise<void>;
/**
* Get yearly energy data
*/
getYearlyEnergy(): Promise<void>;
/**
* Update outlet details and energy info
*/
update(): Promise<Boolean>;
/**
* Check if outlet has nightlight feature
*/
hasNightlight(): boolean;
/**
* Turn outlet on
*/
abstract turnOn(): Promise<boolean>;
/**
* Turn outlet off
*/
abstract turnOff(): Promise<boolean>;
}
export {};