Lokale API
Lokale HTTP-API
Die Uhr stellt über WLAN im lokalen Netzwerk eine REST-API bereit. Damit können Sie alle Einstellungen der Uhr lesen und schreiben, ohne den Umweg über die Cloud.
Die lokale API verwendet dieselben Parameternamen, Wertebereiche und Konventionen wie die Cloud-API – dieses Dokument behandelt nur das, was bei der lokalen Schnittstelle anders oder spezifisch ist. Die vollständige Parameterreferenz (Namen, zulässige Werte, Beschreibungen) finden Sie in der Dokumentation der Cloud-API.
Verbindung
Die Uhr startet einen HTTP-Server auf Port 88, sobald sie eine WLAN-Verbindung hat. Eine Authentifizierung ist nicht erforderlich.
http://CLOCK_IP:88/
Die IP-Adresse der Uhr finden Sie in der DHCP-Client-Liste Ihres Routers oder in der mobilen App.
REST-Endpunkte
Alle Einstellungen sind über ein einheitliches URL-Muster erreichbar:
http://CLOCK_IP:88/v1/parameter
| Methode | Aktion |
|---|---|
GET |
Aktuellen Wert lesen |
POST |
Neuen Wert schreiben |
Einstellung lesen
GET http://CLOCK_IP:88/v1/parameter
Beispiel:
curl http://192.168.1.100:88/v1/transition
Antwort:
{"ok": true, "status": 200, "value": 2}
Einstellung schreiben
Senden Sie den neuen Wert als Request-Body. Sowohl einfache Ganzzahlen als auch JSON werden akzeptiert.
Einfacher Wert:
curl -X POST http://192.168.1.100:88/v1/transition -d '3'
JSON:
curl -X POST http://192.168.1.100:88/v1/transition \
-H "Content-Type: application/json" \
-d '{"value": 3}'
Antwort:
{"ok": true, "status": 200, "value": 3}
Antwortformat
Alle Antworten sind im JSON-Format.
| Feld | Typ | Beschreibung |
|---|---|---|
ok |
boolean | true bei Erfolg, false bei einem Fehler |
status |
integer | HTTP-Statuscode |
value |
integer oder string | Aktueller Wert (bei Erfolg) |
message |
string | Fehlerbeschreibung (bei einem Fehler) |
Fehlerantworten
| Status | Bedeutung |
|---|---|
404 |
Parameter nicht gefunden |
405 |
Falsche Methode (Lesen eines nur schreibbaren oder Schreiben eines nur lesbaren Parameters) |
400 |
Wert konnte nicht gesetzt werden |
Parameter
Die vollständige Parameterliste ist in der Cloud-API-Referenz dokumentiert. Die lokale API unterstützt dieselben Parameter mit denselben Zugriffsebenen (nur lesen, nur schreiben, lesen und schreiben).
Helligkeitswerte
Die Helligkeitsparameter verwenden eine nichtlineare Skala. Die API akzeptiert und liefert die folgenden diskreten Werte:
| API-Wert | Bezeichnung |
|---|---|
1 |
Off |
6 |
Very Low |
71 |
Low |
126 |
Medium |
201 |
High |
256 |
Full |
Dies gilt sowohl für brightnessday als auch für brightnessnight.