API Quick Start

Die API ist öffentlich und via HTTPS erreichbar. Alle Beispiele nutzen den Public Endpoint.

API Root

# API-Wurzel (Server-Info + Entities)
curl https://api.udp.zuber.space/context/sensorthings/public/v1.1

Things abfragen

# Alle Sensoren/Stationen ($top begrenzt Ergebnis)
curl "https://api.udp.zuber.space/context/sensorthings/public/v1.1/Things?$top=5"

Datastreams mit Details

# Datastreams + Thing + ObservedProperty via $expand
curl "https://api.udp.zuber.space/context/sensorthings/public/v1.1/Datastreams?$expand=Thing,ObservedProperty&$top=3"

Neueste Observation

# Aktuellste Messung eines Datastreams
curl "https://api.udp.zuber.space/context/sensorthings/public/v1.1/Datastreams(14730)/Observations?$top=3&$orderby=phenomenonTime desc"

Walkthrough: Rudolf Geiger Klimastation

Komplettes Beispiel von der Station bis zur Live-Messung – Schritt für Schritt mit echten Daten.

1. Station abfragen

Die Klimastation auf dem Campus der Ruhr-Universität Bochum erfasst 58 Wetterparameter in stündlicher Auflösung.

# GET /Things(2235)
curl https://api.udp.zuber.space/context/sensorthings/public/v1.1/Things(2235)
JSON-Antwort ansehen
{
  "@iot.id": 2235,
  "name": "Rudolf Geiger Klimastation RUB",
  "description": "Rudolf Geiger Klimastation auf dem Campus der Ruhr-Universität Bochum (RUB). 58 Wetterparameter in stündlicher Auflösung.",
  "properties": {
    "operator": "Geographisches Institut, Ruhr-Universität Bochum",
    "elevation_m": 127,
    "latitude": 51.433333,
    "longitude": 7.266667,
    "location_description": "Campus RUB, Gebäude NA, Dach",
    "data_repository": "https://gitlab.opencode.de/StadtBochum/open-data/wetter-rudolf-geiger-klimastation",
    "station_id": "RUB_BRGS"
  }
}

2. Datastreams auflisten

Jeder Datastream repräsentiert einen Messkanal mit Einheit und Metadaten.

# GET /Things(2235)/Datastreams – erste 5
curl "https://api.udp.zuber.space/context/sensorthings/public/v1.1/Things(2235)/Datastreams?$select=name,unitOfMeasurement&$top=5"
JSON-Antwort ansehen
{
  "value": [
    {"name": "Absolute Luftfeuchtigkeit (Maximum) (abshum_max)", "unitOfMeasurement": {"symbol": "g/m³"}},
    {"name": "Absolute Luftfeuchtigkeit (Mittel) (abshum_mean)",  "unitOfMeasurement": {"symbol": "g/m³"}},
    {"name": "Absolute Luftfeuchtigkeit (Minimum) (abshum_min)",  "unitOfMeasurement": {"symbol": "g/m³"}},
    {"name": "Albedo (Mittel) (albedo_mean)",                     "unitOfMeasurement": {"symbol": "-"}},
    {"name": "Taupunkttemperatur (Maximum) (dew_point_temp_max)", "unitOfMeasurement": {"symbol": "°C"}}
  ]
}

Die Station hat insgesamt 58 Datastreams: Lufttemperatur (2m), relative Feuchte, Windgeschwindigkeit, Windrichtung, Globalstrahlung, Niederschlag, Luftdruck, Bodentemperaturen (10/20/50cm), Oberflächentemperatur u.v.m.

3. Live-Messwerte abrufen

Die neuesten stündlichen Messwerte vom 19. Juni 2026, 11:00 Uhr (MESZ):

Taupunkt 18,1 °C Mittelwert (dew_point_temp_mean)
Relative Feuchte 46,5 % Mittelwert (relhum_mean)
Windgeschwindigkeit 1,2 m/s Mittelwert (windspeed_mean)
Windrichtung 141° Mittelwert (winddirection_mean)
Luftdruck 1001 hPa Mittelwert (pressure_mean)
Globalstrahlung 831 W/m² Mittelwert (global_radiation_short_wave_mean)
# Live-Messwert abfragen – Globalstrahlung (DS 14733)
curl "https://api.udp.zuber.space/context/sensorthings/public/v1.1/Datastreams(14733)/Observations?$top=1&$orderby=phenomenonTime desc"

Snapshot vom: 2026-06-19 11:00 UTC

4. Nächste Schritte

  • Projekte erkunden: /Projects?$expand=Things
  • Datastreams filtern: /Datastreams?$filter=unitOfMeasurement/symbol eq '°C'
  • Geo-Abfrage: /Things?$filter=st_intersects(location, geography'POLYGON((...))')

Hinweise