UNPKG

node-red-contrib-ewelink-cube

Version:

Node-RED integration with eWeLink Cube

142 lines (141 loc) 3.9 kB
/// <reference types="node" /> import EventSource from 'eventsource'; import IDebugLog from "../ts/interface/IDebugLog"; import { IThirdpartyDevice } from "../ts/interface/IThirdpartyDevice"; import IHttpConfig from "../ts/interface/IHttpConfig"; import IResponse from "../ts/interface/IResponse"; import ISseEvent from '../ts/interface/ISseEvent'; export default abstract class baseClass { private ip; private at; private debug; interval: NodeJS.Timer | null; timeout: NodeJS.Timeout | null; time: number; event: EventSource | null; constructor({ ip, at, debug }: { ip: string; at?: string; debug?: boolean; }); setIp(ip: string): void; getIp(): string; setAT(at: string): void; getAt(): string; /** * 获取网关访问凭证 */ getBridgeAT({ timeout, interval }: { timeout?: number; interval?: number; }): Promise<unknown>; private getBridgeATHandler; /** * 修改网关设置 */ updateBridgeConfig(volume: number): Promise<IResponse>; /** * 获取网关信息 */ getBridgeInfo(): Promise<IResponse>; /** * 重启网关 */ rebootBridge(): Promise<IResponse>; /** * 扬声器控制 */ controlSpeaker(params: { type: 'play_sound' | 'play_beep'; sound?: { name: string; volume: number; countdown: number; }; beep?: { name: string; volume: number; }; }): Promise<IResponse>; /** * 搜索子设备 */ discoverySubDevices(params: { enable: boolean; type: string; }): Promise<IResponse>; /** * 手动添加子设备 (目前仅支持添加RTSP摄像头和ESP32摄像头) */ manualAddSubDevice(params: { name: string; display_category: 'camera'; capabilities: []; protocol: 'RTSP' | 'ESP32-CAM'; manufacturer: string; model: string; firmware_version: string; }): Promise<IResponse>; /** * 获取设备列表 */ getDeviceList(): Promise<IResponse>; /** * 更新指定设备信息或状态 */ updateDeviceState(serial_number: string, updateParams?: { name?: string; tags?: any; state?: any; capabilities?:any[]; configuration?: any; }): Promise<IResponse>; /** * 删除子设备 */ deleteDevice(serial_number: string): Promise<IResponse>; /** * 同步新设备列表 */ syncDevices({ devices, version }: { devices: IThirdpartyDevice[]; version?: string; }): Promise<IResponse>; /** * 设备状态更新上报 */ uploadDeviceState({ serial_number, third_serial_number, params, version }: { serial_number: string; third_serial_number: string; params: any; version?: string; }): Promise<IResponse>; /** * 设备上下线状态上报 */ updateDeviceOnline({ serial_number, third_serial_number, params, version }: { serial_number: string; third_serial_number: string; params: any; version?: string; }): Promise<IResponse>; /** * 获取调试日志接口 */ getDebugLog({ serial_number, ...params }: IDebugLog): Promise<IResponse>; protected httpRequest(httpConfig: IHttpConfig): Promise<IResponse>; /** * 初始化 sse 连接 */ initSSE(): Promise<{ error: number; msg: string; data: {}; } | undefined>; mountSseFunc(handler: ISseEvent): { error: number; msg: string; data: {}; } | undefined; unmountSseFunc(): void; }