Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry Pi | Raspberry Pi Pico

Menu
  • Smarthome
  • Gartenautomation
  • Mikrocontroller
    • Arduino
    • ESP32 & Co.
    • Calliope Mini
    • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
  • Deutsch
  • English
Menu

Node-RED Tutorial: Wetterdaten per API abrufen

Veröffentlicht am 16. März 202614. März 2026 von Stefan Draeger

Im ersten Beitrag dieser Reihe haben wir Node-RED auf einem Raspberry Pi installiert, eingerichtet und abgesichert. Der Dienst läuft nun als Systemservice im Hintergrund und startet automatisch beim Hochfahren des Systems. Dadurch steht die Oberfläche jederzeit zur Verfügung und kann bequem von jedem Rechner im Netzwerk aufgerufen werden – du benötigst lediglich die URL, deinen Benutzernamen und das Passwort.

Nachdem die Grundlage geschaffen ist, wird es nun praktisch.

In diesem Beitrag zeige ich dir, wie du Wetterdaten über eine externe API abrufen kannst. Viele moderne Schnittstellen stellen ihre Daten im JSON-Format bereit. Dieses Format eignet sich besonders gut für Automatisierungen, da es strukturiert aufgebaut und leicht weiterzuverarbeiten ist.

Node-RED Tutorial: Wetterdaten per API abrufen
Dieses Video auf YouTube ansehen.

Genau hier spielt Node-RED seine Stärken aus: Die Plattform kann JSON-Daten direkt verarbeiten und innerhalb eines Flows weiterverwenden.

Am Ende dieses Tutorials wirst du wissen, wie du:

  • einen HTTP-Request an eine API sendest
  • die JSON-Antwort auswertest
  • und die Daten innerhalb eines Node-RED Flows weiterverarbeitest

Damit hast du die Grundlage geschaffen, um später eigene Automatisierungen mit externen Datenquellen umzusetzen – zum Beispiel für Smart-Home-Projekte, Wetterstationen oder IoT-Anwendungen.

Inhaltsverzeichnis

  • Welche Wetter API verwenden wir?
    • Bedeutung des Weather Codes
  • Wetterdaten in Node-RED per HTTP Request abrufen
  • Einzelne Wetterdaten aus dem JSON auslesen
    • Zugriff auf die Werte
  • Wetterdaten in eine CSV-Datei speichern
  • Fazit und Ausblick

Welche Wetter API verwenden wir?

Für dieses Tutorial verwenden wir die Wetter-API von Open-Meteo. Diese Schnittstelle eignet sich besonders gut für erste Experimente mit Node-RED, da sie ohne Registrierung und ohne API-Key genutzt werden kann. Dadurch kannst du sofort mit dem Testen beginnen, ohne zunächst Zugangsdaten anlegen zu müssen.

Die API stellt Wetterdaten über einfache HTTP-Requests bereit und liefert die Ergebnisse im JSON-Format zurück. Genau dieses Format lässt sich in Node-RED besonders gut verarbeiten, da JSON-Daten direkt als Objekte innerhalb eines Flows weiterverwendet werden können.

Für unser Beispiel rufen wir die aktuellen Wetterdaten für einen bestimmten Standort ab. Dazu benötigt die API lediglich die geografischen Koordinaten des gewünschten Ortes.

Ein Beispiel für einen solchen Request sieht so aus:

https://api.open-meteo.com/v1/forecast?latitude=52.14619&longitude=10.96095&current_weather=true

In diesem Beispiel werden die aktuellen Wetterdaten für einen bestimmten Standort abgefragt. Die API liefert daraufhin eine Antwort im JSON-Format zurück, die unter anderem Informationen wie Temperatur, Windgeschwindigkeit oder Windrichtung enthält.

{
  "latitude": 52.14,
  "longitude": 10.959999,
  "generationtime_ms": 0.0560283660888672,
  "utc_offset_seconds": 0,
  "timezone": "GMT",
  "timezone_abbreviation": "GMT",
  "elevation": 158,
  "current_weather_units": {
    "time": "iso8601",
    "interval": "seconds",
    "temperature": "°C",
    "windspeed": "km/h",
    "winddirection": "°",
    "is_day": "",
    "weathercode": "wmo code"
  },
  "current_weather": {
    "time": "2026-03-13T08:45",
    "interval": 900,
    "temperature": 10.4,
    "windspeed": 15.5,
    "winddirection": 198,
    "is_day": 1,
    "weathercode": 0
  }
}

Diese Daten werden wir im nächsten Schritt mit Node-RED abrufen und im Flow auswerten.

Hinweis:
Laut Anbieter ist die Nutzung der API für nicht-kommerzielle Anwendungen kostenlos. Für produktive oder kommerzielle Projekte solltest du daher unbedingt die aktuellen Nutzungsbedingungen auf der Website des Anbieters prüfen.

Bedeutung des Weather Codes

Neben klassischen Wetterwerten wie Temperatur, Windgeschwindigkeit oder Windrichtung liefert die API auch einen sogenannten Weather Code. Dabei handelt es sich um einen numerischen Wert, der den aktuellen Wetterzustand beschreibt.

Die Codes basieren auf dem Standard der World Meteorological Organization und werden international verwendet, um Wetterbedingungen eindeutig zu klassifizieren.

Eine vollständige Übersicht dieser Codes findet sich beispielsweise beim National Centers for Environmental Information. Dort ist die offizielle Tabelle der WMO Weather Interpretation Codes (WMO 4677) dokumentiert.

Typische Beispiele sind:

CodeBedeutung
0Klarer Himmel
1Überwiegend klar
2Teilweise bewölkt
3Bewölkt
45Nebel
61Leichter Regen
63Regen
71Schneefall

Der Vorteil dieser Codes ist, dass sie sich sehr einfach in Automationen verwenden lassen. In Node-RED können wir beispielsweise prüfen, ob ein bestimmter Wettercode vorliegt und darauf reagieren – etwa eine Bewässerung pausieren, wenn Regen erkannt wird, oder eine Benachrichtigung bei schlechtem Wetter senden.

Im nächsten Schritt schauen wir uns an, wie wir die Daten über einen HTTP-Request in Node-RED abrufen und im Flow sichtbar machen.

Wetterdaten in Node-RED per HTTP Request abrufen

Nachdem wir uns angeschaut haben, welche Wetter-API wir verwenden, geht es nun an den eigentlichen Abruf der Daten in Node-RED. Dafür nutzen wir den HTTP Request-Node. Mit diesem Node lässt sich eine externe URL aufrufen, um Daten aus einer API zu laden.

Für unser erstes Beispiel reicht bereits ein sehr einfacher Flow aus:

Flow zum abrufen von Wetterdaten in Node-RED
Flow zum abrufen von Wetterdaten in Node-RED

Der Inject-Node dient dabei als Auslöser. Mit einem Klick auf den Button wird der Flow gestartet.
Der HTTP Request-Node sendet anschließend eine Anfrage an die Wetter-API und lädt die Antwort.
Da viele APIs ihre Daten als JSON-Text zurückgeben, übernimmt die JSON-Node im nächsten Schritt das Umwandeln der Antwort in ein strukturiertes Objekt.
Über den Debug-Node können wir uns die aufbereiteten Daten anschließend direkt in der Debug-Ansicht von Node-RED anzeigen lassen.

abrufen der Wetterdaten – einfachHerunterladen

Einzelne Wetterdaten aus dem JSON auslesen

Nachdem die Antwort der Wetter-API mit der JSON-Node verarbeitet wurde, liegen die Daten als strukturiertes Objekt vor. Dadurch können wir nun gezielt auf einzelne Elemente zugreifen.

Node-RED - JSON Daten parsen und ausgeben
Node-RED – JSON Daten parsen und ausgeben

Für unser Beispiel interessieren uns drei Werte aus dem Bereich current_weather:

  • current_weather.time
  • current_weather.temperature
  • current_weather.weathercode

Diese Felder enthalten den Zeitstempel der Messung, die aktuelle Temperatur sowie den Wettercode.

"current_weather": {
    "time": "2026-03-13T08:45",
    "interval": 900,
    "temperature": 10.4,
    "windspeed": 15.5,
    "winddirection": 198,
    "is_day": 1,
    "weathercode": 0
  }

Zugriff auf die Werte

Da sich die Daten im payload der Nachricht befinden, lauten die vollständigen Pfade in Node-RED:

  • payload.current_weather.time
  • payload.current_weather.temperature
  • payload.current_weather.weathercode
extrahieren von Daten aus einem JSON Objekt in Node-RED
extrahieren von Daten aus einem JSON Objekt in Node-RED
abrufen und parsen der Wetterdaten – Ausgeben von Zeitstempel-Temperatur-WetterCodeHerunterladen

Wetterdaten in eine CSV-Datei speichern

Nachdem wir die gewünschten Werte aus der API-Antwort extrahiert haben, möchten wir diese nun dauerhaft speichern. Eine einfache und weit verbreitete Möglichkeit dafür ist das Schreiben der Daten in eine CSV-Datei. Dieses Format eignet sich besonders gut, da es sich später problemlos mit Programmen wie Excel, LibreOffice Calc oder Python weiterverarbeiten lässt.

Dazu erweitern wir unseren bisherigen Flow um einige zusätzliche Nodes. Zunächst verwenden wir eine Change-Node, um die relevanten Werte aus der API-Antwort zu übernehmen und in ein eigenes Datenobjekt zu überführen. Anschließend sorgt eine CSV-Node dafür, dass diese Daten in das CSV-Format umgewandelt werden.

Zum Abschluss übernimmt eine File-Node das Schreiben der erzeugten Daten in eine Datei auf dem Raspberry Pi. Bei jedem Durchlauf unseres Flows wird somit eine neue Zeile mit den aktuellen Wetterdaten in der Datei gespeichert.

Der erweiterte Flow sieht damit beispielsweise so aus:

Node-RED - Flow zum abrufen von Wetterdaten und speichern in einer CSV-Datei
Node-RED – Flow zum abrufen von Wetterdaten und speichern in einer CSV-Datei

In der erzeugten CSV-Datei werden anschließend Zeilen wie diese gespeichert:

2026-03-13T14:00,18.7,3
abrufen und speichern von Wetterdaten in einer CSV-DateiHerunterladen

Damit haben wir eine einfache Möglichkeit geschaffen, Wetterdaten über einen längeren Zeitraum zu sammeln. Diese Daten können später analysiert oder grafisch dargestellt werden, beispielsweise in einem separaten Dashboard oder in einer Tabellenkalkulation.

Hinweis:
Beim Schreiben der Daten kann es vorkommen, dass in der CSV-Datei zusätzliche Leerzeilen erscheinen. Dieses Verhalten ist in Node-RED normal, da die CSV-Node automatisch einen Zeilenumbruch an jede erzeugte Datensatzzeile anhängt.

Optisch wirkt das in der Datei zunächst etwas ungewohnt, stellt jedoch kein Problem dar. Beim Import der CSV-Datei in Programme wie Microsoft Excel oder LibreOffice Calc lassen sich solche Leerzeilen problemlos herausfiltern oder ignorieren.

Fazit und Ausblick

Das Abrufen von Daten über eine offene API mit Node-RED ist erstaunlich einfach umzusetzen. Mit nur wenigen Nodes lässt sich ein HTTP-Request an eine externe Schnittstelle senden, die Antwort im JSON-Format verarbeiten und anschließend gezielt einzelne Werte extrahieren.

Auch das Speichern der Daten in einer Datei ist schnell realisiert, sobald man den grundlegenden Aufbau eines Flows verstanden hat. Mit der Kombination aus Change-, CSV- und File-Node können die Wetterdaten strukturiert abgelegt und später problemlos weiterverarbeitet werden.

Damit haben wir nun eine Grundlage geschaffen, um über einen längeren Zeitraum Wetterdaten zu sammeln und auszuwerten.

Im nächsten Beitrag dieser Reihe gehen wir einen Schritt weiter:
Dort lesen wir die gespeicherten Daten aus der CSV-Datei wieder ein und bereiten sie für eine grafische Darstellung auf. Dazu werden wir die Datei zeilenweise einlesen und die enthaltenen Werte weiterverarbeiten, um die Entwicklung von Temperatur und Wetterzustand übersichtlich visualisieren zu können.

Letzte Aktualisierung am: 14. März 2026

Foto von Stefan Draeger
Über den Autor

Stefan Draeger — Entwickler & Tech-Blogger

Ich zeige praxisnah, wie du Projekte mit Arduino, ESP32 und Smarthome-Komponenten umsetzt – Schritt für Schritt, mit Code und Schaltplänen.

Mehr Artikel von Stefan →

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden?
Support-Ticket erstellen

Newsletter abonnieren

Bleib auf dem Laufenden: Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32 und mehr – direkt in dein Postfach.

Jetzt Newsletter abonnieren

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee.
So hilfst du mit, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

draeger-it.blog auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kategorien

Tools

  • QR-Code Generator
  • Unix-Zeitstempel-Rechner
  • ASCII Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner
  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator

Links

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com

Stefan Draeger
Königsberger Str. 13
38364 Schöningen
Tel.: 015565432686
E-Mail: info@draeger-it.blog

Folge mir auf

link zu Fabook
link zu LinkedIn
link zu YouTube
link zu TikTok
link zu Pinterest
link zu Instagram
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2026 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
  • Optionen verwalten
  • Dienste verwalten
  • Verwalten von {vendor_count}-Lieferanten
  • Lese mehr über diese Zwecke
Einstellungen anzeigen
  • {title}
  • {title}
  • {title}