UNPKG

tsvesync

Version:

A TypeScript library for interacting with VeSync smart home devices

151 lines (150 loc) 4.18 kB
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; }