Überblick

Die auf dieser Website zur Verfügung gestellten API gibt die Daten von einer auf dem B-Bau stehenden Wetterstation weiter. Gesammelt werden die Temperatur, der Luftdruck, die Windgeschwindigkeit und der Niederschlag

Wie die Daten angefordert werden können folgt:

API

Die API ist über den Endpunkt "/api" erreichbar

Daten

Die "reinen" Werte im JSON Format stehen unter /api/raw zur verfügung

Die Temperatur unter: /api/raw/temp

Der Luftdruck unter: /api/raw/pressure

Die Windgeschwindigkeit unter: /api/raw/wind_speed

Der Niederschlag unter: /api/raw/precipitation

Grafik

Die Werte als Grafik in einer PNG Bilddatei stehen unter /api/graph zur verfügung

Die Temperatur unter: /api/graph/temp

Der Luftdruck unter: /api/graph/pressure

Die Windgeschwindigkeit unter: /api/graph/wind_speed

Der Niederschlag unter: /api/graph/precipitation

Verfeinerung der Anfrage

Allgemein

Bei Anfragen können Argumente eingebaut werden sie zu verfeinern. Dem ersten Argument wird ein "?" vorrangestellt, allen weiteren ein "&"

Um die Anfrage auf einen bestimmten Zeitraum zu begrenzen gibt es 3 verschiedene Möglichkeiten

Die Anfrage ohne weitere spezifizierung der Zeit, dann werden grundsätzlich die Daten des letzten Tages ausgegeben

Die Anfrage der letzen x Tage mit dem Argument "days=xd", z.B. um die Temperaturwerte der letzten 7 Tage anzufordern dann: /api/raw/temp?days=7d bzw. /api/raw/graph?days=7d

Die Anfrage, die auf einen bestimmten Zeitraum limitiert ist mit dem Argument "start=STARTDATUM&ende=ENDDATUM" mit STARTDATUM und ENDDATUM im ISO Format, z.B.: /api/raw/temp?start=2024-07-01T17:00:00&end=2024-08-01T18:00:00 bzw. /api/graph/temp?start=2024-07-01T17:00:00&end=2024-08-01T18:00:00

Bei Grafiken

Bei Grafiken gibt es zusätzlich zu den unter Allgemein genannten Argumenten noch folgende weitere:

Das Argument "grid", dass die Werte "True" oder "False" (Standardwert: False) annnehmen kann um ein Koordinatengitter anzeigen zu lassen, z.B.: /api/graph/temp?grid=True

Die Argumente "ymin" und "ymax" um die Werte auf der y-Achse zu begrenzen, z.B.: /api/graph/temp?ymin=0

Das Argument "legend", dass die Werte "True" oder "False" (Standardwert: False) annehmen kann um die Legende einzublenden, z.B. /api/graph/temp?legend=True

Das Argument "resolution" (Standardwert: 100, in DPI) um die Auflösung anzugeben, z.B.: /api/graph/temp?resolution=250

Das Argument "width" (Standardwert: 10, in Inch) um die Breite anzugeben, z.B.: /api/graph/temp?width=12

Das Argument "hight" (Standardwert: 6, in Inch) um die Höhe anzugeben, z.B.: /api/graph/temp?hight=10

Das Argument "marker" (Standardwert: True) um anzugeben, ob die einzelnen Messwerte mit einem "x" markiert werden sollen, z.B. /api/graph/temp?marker=False

Weiteres

Natürlich können die Argumente auch miteinander verbunden werden, um z.B. die Temperatur aus dem Zeitraum vom 26.06.2024 um 20:00 Uhr und dem 29.06.2024 um 16:23 Uhr anzufragen, als Grafik ausgegeben haben will aber nur die Werte zwischen 10 und 15°C haben und das noch bei einem eingeschaltenem Gitter und Legende mit einer Auflösung von 250dpi und einer Höhe von 8 und einer Breite von 15 Inch und keinen Markern sieht die Anfrage folgendermaßen aus: /api/graph/temp?start=2024-06-26T20:00&end=2024-06-29T16:23&ymin=10&ymax=15&grid=True&legend=True&resolution=250&hight=8&width=15&marker=False