node-red-contrib-tplink-tapo-connect-api
Version:
This unofficial node-RED node allows connection to TP-Link Tapo devices. This project has been enhanced with AI support to enable new features. Starting with v0.50, we have added support for the KLAP protocol. To prioritize the operation of this node, we
46 lines (45 loc) • 1.32 kB
TypeScript
import { TapoCredentials } from '../types';
import { BaseDevice } from './base-device';
import { ProtocolType } from '../core/protocol-selector';
/**
* Plug device implementation using composition pattern
* Single responsibility: Plug-specific device behavior
*/
export declare class PlugDevice extends BaseDevice {
private auth?;
private klapAuth?;
constructor(ip: string, credentials: TapoCredentials, deviceModel: string);
/**
* Initialize session based on selected protocol
*/
protected initializeSession(protocol: ProtocolType): Promise<void>;
/**
* Initialize KLAP session
*/
private initializeKlapSession;
/**
* Initialize Passthrough session
*/
private initializePassthroughSession;
/**
* Get child devices (for multi-outlet plugs like P300)
*/
getChildDevices(): Promise<any[]>;
/**
* Control child device (for multi-outlet plugs)
*/
controlChildDevice(deviceId: string, turnOn: boolean): Promise<void>;
/**
* Check if device supports child devices
*/
private supportsChildDevices;
/**
* Get plug-specific status
*/
getPlugStatus(): Promise<{
isOn: boolean;
hasEnergyMonitoring: boolean;
currentPower?: number;
childDevices?: any[];
}>;
}