This package is not affiliated with or acting on behalf of Starlink™️
npm install @gibme/starlink
or
yarn add @gibme/starlink
Communicate directly with Starlink hardware on your local network via gRPC.
fetch_diagnostics() - Detailed diagnostics including alerts, tests, and locationfetch_status() - Current device statusfetch_history() - Connection history datafetch_location() - GPS location (requires location enabled in dish settings)fetch_obstruction_map() - Obstruction map datareboot() - Issue a reboot commandstow() / unstow() - Stow or deploy the dishfetch_diagnostics() - Router diagnostics and network informationFull enterprise account management via the Starlink REST API.
The package provides focused entry points for tree-shaking or targeted imports:
| Import Path | Description |
|---|---|
@gibme/starlink |
Full API (enterprise + local devices + utilities) |
@gibme/starlink/enterprise |
Enterprise API only |
@gibme/starlink/dishy |
Local Dishy device API only |
@gibme/starlink/wifirouter |
Local WiFi Router device API only |
gpsTimeToUTC(gpsTimeS) - Convert GPS time (seconds since 1980-01-06 UTC) to a UTC timestampgpsTimeToUTCDate(gpsTimeS) - Convert GPS time to a Date object in UTCThe package build process generates TypeScript code from *.proto definitions into ./src/protobuf/spacex
protoc binary is required to build the TypeScript files
apt install protobuf-compilerbrew install protobufchoco install protocyarn build:protobuf to generate the protobuf codeThe Device API calls listed above were tested as working against the following software versions; for all other versions, your mileage may vary:
186897dc-8910-40f9-bb84-c53a5e8404c9.uterm_manifest.releasehttps://gibme-npm.github.io/starlink/
import { Dishy } from '@gibme/starlink/dishy';
const dishy = new Dishy();
const diagnostics = await dishy.fetch_diagnostics();
console.log(diagnostics);
import { WiFiRouter } from '@gibme/starlink/wifirouter';
const router = new WiFiRouter();
const diagnostics = await router.fetch_diagnostics();
console.log(diagnostics);
import { StarlinkAPI } from '@gibme/starlink/enterprise';
const api = new StarlinkAPI('<client_id>', '<client_secret>');
const accounts = await api.fetch_accounts();
const data = await accounts[0].fetch_realtime_data_tracking();
console.log(data);
import { StarlinkAPI } from '@gibme/starlink/enterprise';
const api = new StarlinkAPI('<client_id>', '<client_secret>');
const accounts = await api.fetch_accounts();
const telemetry = await accounts[0].telemetry();
console.log(telemetry);
Many thanks go to starlink-rs for the older version of the base Protocol Buffers definitions for the gRPC server.