Guten Tag,
Einleitung
Wir haben nun alles mögliche auf diese Funktionalität geworfen und die HTTP API ist mittlerweile hoffentlich einigermaßen so weit, dass angefangen werden könnte, mit dem Frontend dagegen zu entwickeln. Da das meiste beim GitHub - Hiverize/Webinterface schon steht, geht es vermutlich / hoffentlich nur um geringfügige Anpassungen.
Der Teufel steckt allerdings im Detail, daher bitten wir alle Interessierten, die damit während der nächsten Tage arbeiten werden, um entsprechende Rückmeldungen zur Verbesserung dieser Schnittstelle. Vielen Dank!
Dokumentation
Folgende Dokuschnipsel entstehen gerade.
Konzept
Die Implementierung entspricht in der Funktionalität hoffentlich ausreichend dem per Add webserver by DieDiren · Pull Request #12 · hiveeyes/terkin-datalogger · GitHub vorgemachten, wie sie aus dem FiPy/webserver.py at master · Hiverize/FiPy · GitHub kam – vielen Dank @Diren und @vinz!.
Kleine Unterschiede dazu finden sich jedoch im Integrationskonzept. Das sieht so aus, dass der Datenlogger nun “immer wie immer” läuft, also ganz herkömmlich. Auf dieser Basis kann optional der Webserver inkl. Terkin HTTP API gestartet werden.
Der Zugriff darauf klappt in jeder Lebenslage (WiFi station vs. WiFi access point), da der Datenlogger bis auf weiteres mit wifi_mode.STA_AP
angefahren wird – daher steht die HTTP API in beiden Netzwerkumgebungen zur Verfügung.
Über GET /api/v1/reading/last
kann sich das Frontend jederzeit die aktuellsten erfassten Meßwerte abholen. Wenn häufiger aktualisierte Werte gebraucht werden, kann dies kurzerhand über Anfragen wie
echo 4.42 | http PUT "http://$(cat .terkin/floatip)/api/v1/setting?name=main.interval.field"
nachjustiert werden.
Nächste Schritte
Für uns gibt es noch einige Lücken zu füllen (s.u.). Vielleicht wollen sich daher @Diren, @pinguin oder @MKO der Angelegenheit annehmen? In @clemens findet Ihr auf jeden Fall einen akribischen Tester, der sich ebensosehr auf das Benutzerinterface freut.
Wenn wir Euch seitens der API weiterhelfen können, gebt gerne Bescheid. Wir kümmern uns hoffentlich auch bald um die entsprechende Integration des Interface Bundles in die Firmware selbst.
Herzliche Grüße,
Andreas.
P.S.: Leider haben die Schnittstellen zur Ansteuerung von Konfigurationseinstellungen noch keine Persistenz. So schön die Welt also auch auf den ersten Blick aussehen mag, es fehlen noch entscheidende Details unter der Haube.