-
Notifications
You must be signed in to change notification settings - Fork 0
Data and Security de
mxkissnr edited this page May 25, 2026
·
2 revisions
Sprache: Deutsch | English
Alle persistenten Daten liegen in /data/ im Add-on-Container — auf HA-Persistenz-Speicher gemappt, überlebt Updates und Neustarts.
| Datei | Inhalt |
|---|---|
/data/shots.json |
Maschinendaten aller synchronisierten Shots |
/data/annotations.json |
Notizen und Bewertungen (getrennte Datei, sync-sicher) |
/data/coffee_library.json |
Bohnen- und Mühlenbibliothek |
/data/trash.json |
Gelöschte Shots (automatisch nach 30 Tagen bereinigt) |
/data/blocklist.json |
Shot-IDs die nie erneut synchronisiert werden sollen |
| Endpunkt | Methode | Beschreibung |
|---|---|---|
/shots.json |
GET | Alle Shots mit Annotationen |
/api/status |
GET | Sync-Status, Shot-Anzahl, HA-Verbindung, GLP-Version |
/api/sync |
POST | Manuellen Sync auslösen (Rate-Limit: max. 1×/30 s) |
/api/shots/:id/annotate |
POST | Annotation für Shot speichern |
/api/shots/:id/delete |
POST | Shot in den Papierkorb verschieben |
/api/live/data |
GET | Aktuelle Live-Daten (Fetch-Polling, 1-Sekunden-Intervall) |
/api/debug/machine |
GET | Rohe Antwort des Controllers von /api/system/status
|
Port 8099 ist durch einen automatisch generierten API-Token geschützt:
- Beim ersten Start generiert das Add-on einen zufälligen 64-stelligen Token mit
crypto.randomBytes(32)(Betriebssystem-CSPRNG) und speichert ihn in/data/api_token.txt. -
/api/statusist der einzige öffentliche Endpunkt — er gibt den Token zurück, damit Clients sich selbst konfigurieren können. - Alle anderen
/api/*- und/shots.json-Anfragen müssen den HeaderX-GLP-Token: <token>enthalten. - Anfragen über HA Ingress umgehen die Token-Prüfung — sie werden bereits durch HA authentifiziert.
- Browser-UI und HA-Integration lesen den Token automatisch. Keine manuelle Einrichtung nötig.
- Token erneuern:
/data/api_token.txtlöschen und Add-on neu starten.
- Der HA-API-Zugriff ist ausschließlich lesend via Supervisor-Token (
SUPERVISOR_TOKEN). Die einzige Schreib-Operation ist das Schalten der konfiguriertenswitch_entitybei der Steckdosen-Steuerung. - Alle Benutzereingaben (Annotationen, Bibliothekseinträge) werden serverseitig mit Feldlängenlimits validiert.
- Shot-IDs werden als ganze Zahlen im bekannten Bereich validiert bevor Datei-Operationen ausgeführt werden.
Der Sync ist inkrementell und einseitig: das Add-on merkt sich die höchste lokale Shot-ID und holt nur Shots mit höherer ID von der Maschine. Lokal gelöschte Shots (in der Blockliste) werden nie erneut heruntergeladen.