Mit der Integration von Node-RED und Playwright kannst du Daten von der ISS abrufen und sie für Monitoring-Tools wie PRTG aufbereiten. In diesem Beitrag erkläre ich, wie du den Füllstand des Urin-Tanks der ISS mithilfe des bereitgestellten Flows abfragst, aufbereitest und als HTTP-Request an PRTG übermittelst.
Voraussetzungen
Bevor du loslegst, solltest du folgende Komponenten installiert haben:
-
Node-RED – Installiert und betriebsbereit.
-
Playwright – Zum automatisierten Abrufen der Daten aus dem Browser.
-
PRTG Network Monitor – Mit einem HTTP Push Data Advanced Sensor oder einem HTTP Push Sensor.
-
Node.js – Aktuelle LTS-Version empfohlen.
Wie funktioniert der Flow?
Der Node-RED-Flow besteht aus mehreren Schritten:
-
Ein Inject-Node startet den Flow in einem festgelegten Intervall.
-
Playwright öffnet die Webseite mit den ISS-Daten und liest den aktuellen Füllstand des Urin-Tanks aus.
-
Der gelesene Wert wird mit einer Function-Node bereinigt und in ein numerisches Format gebracht.
-
Anschließend wird eine JSON-Antwort erzeugt, die dem Format eines PRTG HTTP Push Sensors entspricht.
-
Über einen HTTP Response oder HTTP Request wird der Wert an PRTG übergeben.
Dadurch erhältst du den aktuellen Tankfüllstand nahezu in Echtzeit direkt in deinem Monitoring.
Aufbau des PRTG-Sensors
PRTG erwartet die Daten in einem definierten JSON-Format. Ein Beispiel sieht wie folgt aus:
{
"prtg": {
"result": [
{
"channel": "ISS Urin Tank",
"value": 72,
"unit": "Percent"
}
]
}
}
Der Wert kann anschließend in PRTG wie jeder andere Sensor überwacht werden. So lassen sich beispielsweise Schwellwerte definieren:
-
Grün: unter 70 %
-
Gelb: ab 80 %
-
Rot: ab 90 %
Natürlich sind diese Werte eher humorvoll gemeint – technisch funktioniert das Prinzip jedoch genauso wie bei produktiven Überwachungen.
Node-RED importieren
Den vollständigen Flow kannst du direkt in Node-RED importieren:
-
Menü Import
-
JSON-Datei oder den Flow einfügen
-
Deploy klicken
-
URL und gegebenenfalls Selektoren anpassen
Nach wenigen Minuten sollte bereits der erste Messwert in PRTG erscheinen.
Erweiterungsmöglichkeiten
Der Flow eignet sich hervorragend als Grundlage für weitere Projekte. Beispielsweise könntest du zusätzlich überwachen:
-
Sauerstoffversorgung der ISS
-
Batteriestatus
-
Position der ISS auf der Weltkarte
-
Anzahl der Astronauten an Bord
-
Temperatur verschiedener Module
-
Weitere öffentliche NASA- oder ESA-Daten
Durch die Kombination aus Node-RED, Playwright und PRTG lassen sich nahezu beliebige Informationen in ein bestehendes Monitoring integrieren.
Fazit
Dieses Projekt zeigt auf unterhaltsame Weise, wie flexibel sich Node-RED und Playwright einsetzen lassen. Obwohl der Füllstand des ISS-Urin-Tanks wahrscheinlich kein geschäftskritischer Messwert ist, demonstriert das Beispiel sehr gut, wie sich Daten aus Webseiten automatisiert erfassen, aufbereiten und in PRTG visualisieren lassen.
Das Prinzip lässt sich anschließend problemlos auf produktive Anwendungen übertragen – beispielsweise für IoT-Geräte, Smart-Home-Systeme, interne Webanwendungen oder andere Datenquellen ohne eigene API.