API Quick Start

API Root

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

Projekte abfragen

# Alle öffentlichen Projekte mit zugehörigen Stationen
curl 'https://api.udp.zuber.space/context/sensorthings/public/v1.1/Projects?$expand=Things'

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 (DS 14730)
curl 'https://api.udp.zuber.space/context/sensorthings/public/v1.1/Datastreams(14730)/Observations?$top=3&$orderby=phenomenonTime desc'

Walkthrough: Rudolf Geiger Klimastation

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, 13:00 Uhr (MESZ):

Lufttemperatur 2m 32,6 °C Mittelwert (temp_mean)
Relative Feuchte 36,4 % Mittelwert (relhum_mean)
Windgeschwindigkeit 1,4 m/s Mittelwert (windspeed_mean)
Windrichtung 230° Mittelwert (winddirection_mean)
Luftdruck 1000 hPa Mittelwert (pressure_mean)
Globalstrahlung 840 W/m² Mittelwert (global_radiation_short_wave_mean)
Bodentemperatur 10cm 23,0 °C Mittelwert (soil_temp_10_mean)
Taupunkt 15,9 °C Mittelwert (dew_point_temp_mean)
# Live-Messwert abfragen – Lufttemperatur (DS 14767)
curl 'https://api.udp.zuber.space/context/sensorthings/public/v1.1/Datastreams(14767)/Observations?$top=1&$orderby=phenomenonTime desc'

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

4. Nächste Schritte

Weitere nützliche Abfragen zum Ausprobieren:

# Projekte mit zugehörigen Stationen auflisten
curl 'https://api.udp.zuber.space/context/sensorthings/public/v1.1/Projects?$expand=Things'
# Alle Datastreams sortiert nach Name ($orderby)
curl 'https://api.udp.zuber.space/context/sensorthings/public/v1.1/Datastreams?$orderby=name&$top=5'
# Bestimmte Station abfragen (über @iot.id)
curl 'https://api.udp.zuber.space/context/sensorthings/public/v1.1/Things(2235)'

Hinweise