API- und Routenbeschreibung für das AquaMaster-Projekt
Diese Datei beschreibt alle HTTP-Routen (API und statische Seiten) für das AquaMaster-Projekt. Sie dient als Referenz für Frontend-Entwickler.
Statische Seiten
| Route |
Methode |
Beschreibung |
Antwort (Content-Type) |
/ |
GET |
Hauptseite (Timer) |
HTML |
/settings |
GET |
Einstellungen-Seite |
HTML |
/about |
GET |
Info-/About-Seite |
HTML |
/ (static) |
GET |
Statische Dateien (CSS, Bilder, JS) |
entspr. MIME-Type |
API-Routen
Timer & Daten
| Route |
Methode |
Beschreibung |
Body/Parameter |
Antwort (Content-Type) |
/api/data |
GET |
Aktuelle Timerdaten und Status |
– |
JSON |
Beispiel-Response:
Bestzeiten
| Route |
Methode |
Beschreibung |
Body/Parameter |
Antwort (Content-Type) |
/api/reset-best |
POST |
Setzt Bestzeiten zurück |
– |
{ "success": true } |
Button-Lernmodus
| Route |
Methode |
Beschreibung |
Body/Parameter |
Antwort (Content-Type) |
/api/start-learning |
POST |
Startet Lernmodus |
– |
{ "success": true } |
/api/stop-learning |
POST |
Beendet Lernmodus |
– |
{ "success": true } |
/api/learn/status |
GET |
Status des Lernmodus |
– |
{ "active": true, "step": 1 } |
/api/unlearn-button |
POST |
Löscht alle Button-Zuordnungen |
– |
{ "success": true } |
/api/buttons/status |
GET |
Status der Button-Zuordnung |
– |
JSON (siehe unten) |
Beispiel-Response für /api/buttons/status:
Einstellungen
| Route |
Methode |
Beschreibung |
Body/Parameter |
Antwort (Content-Type) |
/api/set-max-time |
POST |
Setzt max. Laufzeit & max. Anzeigezeit |
maxTime (Sekunden, optional), maxTimeDisplay (Sekunden, optional) als Form-Parameter |
{ "success": true } oder { "success": false } |
/api/get-settings |
GET |
Liefert aktuelle Einstellungen |
– |
{ "maxTime": 300, "maxTimeDisplay": 20 } |
Systeminfo
| Route |
Methode |
Beschreibung |
Antwort (Content-Type) |
/api/info |
GET |
Systeminfos (IP, MAC, Speicher, Lizenz, verbundene Buttons) |
JSON (siehe unten) |
Beispiel-Response:
Hinweise
- Alle API-Routen liefern JSON zurück.
- POST-Requests erwarten ggf. Form-Parameter (kein JSON-Body).
- Statische Seiten und Assets werden direkt ausgeliefert.
- Kein Authentifizierungsverfahren implementiert.