# SensorPulse Localhost-API

Standard: nur `127.0.0.1` (Port 8765). Aktivieren in SensorPulse: Einstellungen → Automatisierung → Localhost-API.

Optional: Remote-Zugriff (Companion-App) bindet zusätzlich an LAN-IPs im Heimnetz (nur Lesezugriff, API-Token Pflicht). Unterwegs: VPN ins Heimnetz (z. B. Tailscale), kein Port-Forwarding ins Internet.

## Endpunkte

Pfad | Beschreibung
--- | ---
`GET /api/health` | `{"status":"ok"}`
`GET /api/sensors` | JSON-Array aller aktiven Sensoren
`GET /api/quicklook` | CPU/GPU/RAM-Kompaktwerte + Alerts
`GET /api/companion` | Kompakt für Mobile: Quicklook, Warnungen/Kritisch, Highlights
`GET /api/alerts` | Aktive Warnungen
`GET /api/history/{sensorId}?minutes=60` | Verlauf eines Sensors

## Authentifizierung

Wenn ein API-Token gesetzt ist, Header mitsenden:

    Authorization: Bearer IHR_TOKEN

Für Rainmeter auf dem gleichen PC kann das Token leer bleiben (nur localhost).

## Beispiel: Quicklook

    curl http://127.0.0.1:8765/api/quicklook

    {
      "cpuLoad": 42.5,
      "gpuLoad": 68.0,
      "memoryLoad": 55.2,
      "cpuTemp": 58.0,
      "gpuTemp": 72.0,
      "activeAlerts": 0
    }

## Rainmeter

Beispiel-Skin: `Website/downloads/rainmeter/SensorPulse/` im Repository. Skin-Ordner nach `%USERPROFILE%\Documents\Rainmeter\Skins\` kopieren und in Rainmeter laden.

Port in `SensorPulseQuicklook.ini` anpassen, falls abweichend.

## Companion-App (Remote)

Für Smartphone-Monitoring aktivieren Sie zusätzlich Remote-Zugriff in den Einstellungen. Endpunkt für die App: `GET /api/companion`. Ausführliche Anleitung: `companion-setup.html` im Help-Ordner oder Schaltfläche Ausführliche Einrichtungsanleitung in den Einstellungen.

## Fehlerbehebung

- API startet nicht – Port bereits belegt? Anderen Port wählen (1024–65535).
- 401 unauthorized – Token im Header mitsenden oder in Rainmeter-URL als `?token=…`.
- Companion erreicht PC nicht – Remote-Zugriff an? Firewall (privat)? Gleiches WLAN/VPN?
- Leere Werte – Monitoring pausiert oder SensorPulse gerade gestartet – kurz warten.