@webarray/esphome-native-api
Version:
TypeScript/Node.js client for ESPHome native API with encryption and deep sleep support
42 lines • 1.31 kB
TypeScript
/**
* Helper utilities for ESPHome Native API
*/
import { ESPHomeClient } from '../client/client';
import { ConnectionOptions, DiscoveredDevice } from '../types';
/**
* Create a new ESPHome client with default options
*/
export declare function createClient(options: ConnectionOptions): ESPHomeClient;
/**
* Discover ESPHome devices on the network
*/
export declare function discover(duration?: number): Promise<DiscoveredDevice[]>;
/**
* Connect to the first discovered device
*/
export declare function connectToFirstDevice(password?: string, discoveryDuration?: number): Promise<ESPHomeClient | null>;
/**
* Format MAC address
*/
export declare function formatMacAddress(mac: string): string;
/**
* Parse version string
*/
export declare function parseVersion(version: string): {
major: number;
minor: number;
patch: number;
} | null;
/**
* Retry a function with exponential backoff
*/
export declare function retryWithBackoff<T>(fn: () => Promise<T>, maxRetries?: number, initialDelay?: number): Promise<T>;
/**
* Sleep for a specified duration
*/
export declare function sleep(ms: number): Promise<void>;
/**
* Create a timeout promise
*/
export declare function timeout<T>(promise: Promise<T>, ms: number, message?: string): Promise<T>;
//# sourceMappingURL=helpers.d.ts.map