tsvesync
Version:
A TypeScript library for interacting with VeSync smart home devices
151 lines (150 loc) • 4.18 kB
TypeScript
import { VeSyncFan } from '../vesyncFan';
import { VeSync } from '../vesync';
/**
* VeSync Superior 6000S Humidifier Class
* Implementation based on PyVeSync's VeSyncSuperior6000S class
*/
export declare class VeSyncSuperior6000S extends VeSyncFan {
protected readonly modes: readonly ["auto", "manual", "sleep", "humidity"];
protected readonly mistLevels: number[];
protected readonly humidityRange: {
min: number;
max: number;
};
protected readonly _apiModes: string[];
details: {
mode: string;
speed?: number;
filter_life?: number;
screen_status?: 'on' | 'off';
child_lock?: boolean;
humidity: number;
target_humidity: number;
mist_level: number;
mist_virtual_level: number;
water_lacks: boolean;
water_tank_lifted: boolean;
display: boolean;
filter_life_percentage: number;
temperature: number;
drying_mode: {
autoDryingSwitch?: number;
dryingState?: number;
dryingLevel?: number;
dryingRemain?: number;
};
configuration: Record<string, any>;
connection_status: string | null;
};
constructor(details: Record<string, any>, manager: VeSync);
/**
* Build API dictionary for humidifier
*/
protected buildApiDict(method: string): [Record<string, any>, Record<string, any>];
/**
* Get device details
*/
getDetails(): Promise<Boolean>;
/**
* Turn device on
*/
turnOn(): Promise<boolean>;
/**
* Turn device off
*/
turnOff(): Promise<boolean>;
/**
* Toggle device power
*/
toggleSwitch(enabled: boolean): Promise<boolean>;
/**
* Set mist level
*/
setMistLevel(level: number): Promise<boolean>;
/**
* Change fan speed - Implemented to satisfy interface but redirects to setMistLevel
*/
changeFanSpeed(speed: number): Promise<boolean>;
/**
* Set device mode
*/
setMode(mode: string): Promise<boolean>;
/**
* Set target humidity
*/
setHumidity(humidity: number): Promise<boolean>;
/**
* Set display status
*/
setDisplay(enabled: boolean): Promise<boolean>;
/**
* Set drying mode enabled
*/
setDryingModeEnabled(enabled: boolean): Promise<boolean>;
/**
* Turn on display
*/
turnOnDisplay(): Promise<boolean>;
/**
* Turn off display
*/
turnOffDisplay(): Promise<boolean>;
/**
* Set auto mode
*/
setAutoMode(): Promise<boolean>;
/**
* Set manual mode
*/
setManualMode(): Promise<boolean>;
/**
* Get current humidity
* Provides access to the current humidity reading
*/
get currentHumidity(): number;
/**
* Get target humidity
* Provides access to the target humidity setting
*/
get targetHumidity(): number;
/**
* Get current temperature
* Provides access to the current temperature reading
*/
get temperature(): number;
/**
* Check if water tank is empty
* Returns true if water tank is empty and needs to be refilled
*/
get waterLacks(): boolean;
/**
* Check if water tank is lifted
* Returns true if water tank is lifted/removed from the device
*/
get waterTankLifted(): boolean;
/**
* Get filter life percentage
* Returns the percentage of filter life remaining
*/
get filterLifePercentage(): number;
/**
* Check if drying mode is enabled
* Returns true if drying mode is enabled
*/
get dryingModeEnabled(): boolean;
/**
* Get drying mode state
* Returns 'on' if drying mode is active, 'off' if inactive, null if unknown
*/
get dryingModeState(): string | null;
/**
* Get drying mode level
* Returns 'low' if level is 1, 'high' if level is 2, null if unknown
*/
get dryingModeLevel(): string | null;
/**
* Get drying mode seconds remaining
* Returns the number of seconds remaining in drying mode
*/
get dryingModeSecondsRemaining(): number;
}