spider-farmer-api-client
v0.0.1
Published
Typed HTTP client for the Spider Farmer API
Maintainers
Readme
spider-farmer-api-client
Typisierter HTTP-Client für kompatible Spider-Farmer-HTTP-Endpunkte. Das Paket ist unabhängig installierbar und öffnet selbst keine BLE- oder MQTT-Verbindung zum Controller.
Vorausgesetzt werden Node.js 20 oder neuer und ein kompatibler HTTP-Dienst mit
der /v1-Schnittstelle.
Installation
npm install spider-farmer-api-clientVerwendung
import { SpiderFarmerApiClient } from "spider-farmer-api-client";
const ggs = new SpiderFarmerApiClient({
baseUrl: "http://127.0.0.1:8787",
token: process.env.SPIDER_FARMER_API_TOKEN,
});
const state = await ggs.getState();
console.log(state.sensors.airTemperature);
await ggs.setLight("light", { on: true, level: 70 });
await ggs.setCirculationFan({ on: true, level: 4 });baseUrl enthält Schema, Host und optional den Port (ein vorhandener Pfad bleibt erhalten); der Client ergänzt /v1 automatisch.
Mehrere Anwendungen können denselben HTTP-Dienst verwenden. watch() fragt
nur dessen Zustand ab und erzeugt keine zusätzliche Verbindung zum Gerät:
const stop = ggs.watch(
(nextState) => console.log(nextState.sensors),
{ intervalMs: 2_000, onError: console.error },
);
// stop();