Projekt:SpaceAPI 3.0: Unterschied zwischen den Versionen

Aus k4cg.org
(SpaceAPI 3.0)
 
Keine Bearbeitungszusammenfassung
 
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Infobox
| maintainer = [[User:Karl|karl]], [[User:poschi|poschi]]
| machine = [[Host:rumpl.k4cg.org|rumpl.k4cg.org]]
| jahr = 2024
| url = https://github.com/k4cg/k4status
| status = realisiert
}}
Der aktuelle Status unseres Raums kann unter [https://spaceapi.k4cg.org 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.
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 [[Projekt:SpaceAPI_2.0|hier]] und [[Projekt:SpaceAPI_Script|hier]].
Die beiden bisherigen Lösungen findest du [[Projekt:SpaceAPI_2.0|hier]] und [[Projekt:SpaceAPI_Script|hier]].


== Ziel ==
== Ziel ==
Bereitstellung der [https://spaceapi.io SpaceAPI] mit folgenden Daten:
Bereitstellung der [https://spaceapi.io SpaceAPI] mit folgenden Daten:
* Wo sind wir zu finden?
* Wo sind wir zu finden?
Zeile 12: Zeile 20:
* Sensorwerte
* Sensorwerte


== Sensordaten ==
Das aktuelle Template findest du hier: [https://github.com/k4cg/k4status/blob/main/template.json template.json].


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


== Implementierung ==
== Implementierung ==
Zu Beginn der Kette liefern die Sensoren ihre Messwerte an unseren [[Host:homeassi.intern.k4cg.org|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 [[Host:rumpl.k4cg.org|Rumpl]] geschrieben. Mit jedem Request liest [https://github.com/k4cg/k4status k4status] (blazingly fast ™) die aktuellen Werte aus der Datenbank und führt diese mit dem Template (statische Daten) zusammen und liefert das Gesamtkonstrukt als Response zurück. Zwischen einem Request auf [https://spaceapi.k4cg.org spaceapi.k4cg.org] und k4status befindet sich noch ein Apache als Proxy.


Zur Bereitstellung der SpaceAPI wurde [https://github.com/k4cg/k4status|k4status] geschrieben, welches das JSON-Dokument per HTTP bereitstellt. Bei jeder Anfrage werden die statischen Daten um die aktuellen Sensordaten erweitert. Die Daten werden dabei aus der Influx-Datenbank abgefragt.
== Verwendet von ==
* Status auf Wiki/Webseite ([[Projekt:Lackiererin|Lackiererin]])
* Telegram Bot ([[Projekt:Telegram_Bot|Telegram Bot]])
* SpaceAPI Directory ([https://spaceapi.io/directory/ Directory])

Aktuelle Version vom 13. November 2024, 21:06 Uhr

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 unseren 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 (statische 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.

Verwendet von