Projekt:SpaceAPI 3.0

Aus k4cg.org
Projekt:SpaceAPI 3.0
Betreuer*In karl, poschi
Jahr 2024
Läuft auf rumpl.k4cg.org
URL https://github.com/k4cg/k4status
Status realisiert

Der aktuelle Status unseres Raums kann unter spaceapi.k4cg.org abgefragt werden.

Geschichte

Unsere bisherige Lösung zur Bereitstellung der SpaceAPI ist nach dem Umzug in den neuen Raum mit einhergehender Umstrukturierung des Netzwerks obsolet. Die beiden bisherigen Lösungen findest du hier und hier.

Ziel

Bereitstellung der SpaceAPI mit folgenden Daten:

  • Wo sind wir zu finden?
  • Wie sind wir zu erreichen?
  • Türstatus
  • Sensorwerte

Das aktuelle Template findest du hier: template.json.

Inhalt

+-- Raum ----------------------------+             +-- Rumpl ----------------------------------------+
|                                    |             |                                                 |
|  +--------+     +---------------+  |             |   +----------+     +----------+     +--------+  |    O
|  | Sensor | --> | HomeAssistant | --- WireGuard ---> | InfluxDb | --> | k4status | --> | Apache | ---> \|/
|  +--------+     +---------------+  |             |   +----------+     +----------+     +--------+  |   / \
+------------------------------------+             |                          ^                      |
                                                   |                          |                      |
                                                   |                  +---------------+              |
                                                   |                  | template.json |              | 
                                                   |                  +---------------+              |
                                                   +-------------------------------------------------+

Implementierung

Zu Beginn der Kette liefern die Sensoren ihre Messwerte an unsern HomeAssistant. Dazu gehört bspw. die Temperatur des Raums wie auch der Status der Tür. Diese Daten werden über einen WireGuard-Tunnel in die InfluxDb auf der Rumpl geschrieben. Mit jedem Request liest k4status (blazingly fast ™) die aktuellen Werte aus der Datenbank und führt diese mit dem Template (statisch Daten) zusammen und liefert das Gesamtkonstrukt als Response zurück. Zwischen einem Request auf spaceapi.k4cg.org und k4status befindet sich noch ein Apache als Proxy.