Portal 300 / shack open close monitor | P300

p1090326-annotated.jpg

Legende (Auszug aus Portal300 / Aufbau )

Das Open/Close-Monitoring basiert auf der Annahme, dass die shack-Türe nur unverschlossen ist, wenn der shack geöffnet ist.

Abstract

An dem unteren USB-Port der APU ist ein ESP32-µC angeschlossen. Er verbindet sich mit dem WLAN „shack“. Erhält er das Byte 0x12 von der APU, beginnt er alle 60 Sekunden einen HTTPS-Request, „Ping“ genannt, an den API-Endpoint unter https://api.shackspace.de/v1/space/notify-open?auth_token=**** zu senden. (**** repäsentiert hier ein Shared Secret, es ist im Passwort-Tresor unter dem Stichwort „API“ zu finden).

Serverseitig liegt api2.shackspace.de unter /srv/api.shackspace.de die Softwareinstallation. Der Prozess ./api lauscht auf Port 8081 nach den „Pings“ und schreibt den Epoch-Zeitstempel in die Datei /srv/api.shackspace.de/www/last-seen.txt . Der HTTPS-Request wird dabei nicht direkt von api2 behandelt, sondern wird von dem HTTP-Proxy auf proxy2.shackspace.de vermittelt.

Anhand des Alters dieses Zeitstempels entscheiden weitere API-Funktionen, wie https://api.shackspace.de/v1/space und https://api.shackspace.de/v1/spaceapi ob der shack als „open“ oder „closed“ reportet wird.

Die Anzeige im Kopf der Landingpage greift auf <nowiki>https://api.shackspace.de/v1/space<nowiki> zurück.