Files
AquaMasterMQTT/API.md
2025-06-03 15:32:01 +02:00

4.3 KiB
Raw Blame History

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:

{
  "time1": 12.34,
  "status1": "running",
  "time2": 0,
  "status2": "ready",
  "best1": 10.12,
  "best2": 9.87,
  "learningMode": false,
  "learningButton": "Start Bahn 1"
}

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:

{
  "lane1Start": true,
  "lane1Stop": false,
  "lane2Start": true,
  "lane2Stop": false
}

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:

{
  "ip": "192.168.4.1",
  "channel": 1,
  "mac": "AA:BB:CC:DD:EE:FF",
  "freeMemory": 123456,
  "connectedButtons": 3,
  "valid": "Ja",
  "tier": 1
}

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.