UNPKG

starlink-node

Version:

Node.js package for communication and control of Starlink terminals locally

78 lines (71 loc) 1.74 kB
export interface TerminalStatus { uptime: number; hardware: { version: string; dishId: string; utcOffsetS: number; }; state: 'OFFLINE' | 'BOOTING' | 'SEARCHING' | 'CONNECTED' | 'STOWED' | 'THERMAL_SHUTDOWN'; alertsEnabled: boolean; fractionObstructed: number; secondsUntilSwUpdate: number; popPingDropRate: number; downlinkThroughputBps: number; uplinkThroughputBps: number; popPingLatencyMs: number; } export interface ConnectionStats { pingStats: { latencyMs: number; dropRate: number; jitterMs: number; }; throughputStats: { downloadBps: number; uploadBps: number; }; obstructionStats: { fractionObstructed: number; validS: number; wedgeFractionObstructed: number[]; wedgeAbsFractionObstructed: number[]; }; } export interface LocationInfo { latitude?: number; longitude?: number; altitude?: number; obstructionData: { fractionObstructed: number; timeObstructed: number; validS: number; }; } export interface HistoryData { currentHourlyStats: { downloadThroughputBps: number[]; uploadThroughputBps: number[]; pingLatencyMs: number[]; pingDropRate: number[]; obstructedS: number[]; }; popPingStats: { latencyMs: number[]; dropRate: number[]; }; } export interface StarlinkError extends Error { code: string; details?: string; } export declare class StarlinkClient { constructor(host?: string, port?: number); getStatus(): Promise<TerminalStatus>; getStats(): Promise<ConnectionStats>; getLocation(): Promise<LocationInfo>; getHistory(): Promise<HistoryData>; reboot(): Promise<void>; stow(): Promise<void>; unstow(): Promise<void>; disconnect(): Promise<void>; }