--- title: "Modbus-Daten mit Node-RED auslesen und in Thingsboard visualisieren - icom OS Router" slug: "reading-and-visualising-modbus-data-using-node-red-and-thingsboard-de" updated: 2025-10-09T08:11:20Z published: 2025-10-09T08:11:20Z canonical: "docs.insys-icom.com/reading-and-visualising-modbus-data-using-node-red-and-thingsboard-de" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.insys-icom.com/llms.txt > Use this file to discover all available pages before exploring further. # Modbus-Daten mit Node-RED auslesen und in Thingsboard visualisieren - icom OS Router INSYS Router mit icom OS verfügen über eine integrierte Linux-Umgebung, in der eigene, unabhängige Systeme mit Hilfe von Linux-Containern (LXC) virtualisiert werden können. Damit ist es zum Beispiel auch möglich, das grafische Entwicklungswerkzeug **Node-RED** auf dem Router ausführen zu können, um damit eigene IoT-Anwendungen zu realisieren. ## Situation Sie haben einen Feuchte-/Temperatursensor mit Modbus RTU (RS485). Sie möchten Luftfeuchtigkeit und Temperatur mit Hilfe von **Node-RED** auslesen und die ausgelesenen Werte in einem Dashboard visualisieren. Dafür verwenden wir mit [Thingsboard](https://demo.thingsboard.io/login) eine Open-Source IoT-Plattform. ## Lösung Verbinden Sie den Sensor mit der RS485-Schnittstelle ihres INSYS icom Routers (z. B. aus der [ECR-Familie](https://www.insys-icom.com/produkte/router-gateways/router/ecr-router/) oder [MRX-Familie](https://www.insys-icom.com/produkte/router-gateways/router/mrx-router/) mit MRcard SI). Verwenden Sie den von uns zur Verfügung gestellten [Node-Red-Container](https://m3-container.net/#nodered) und installieren Sie ihn auf dem Router. Erstellen Sie damit ihre Anwendung, welche die Werte des Sensors ausliest, und stellen Sie diese Werte dann einem Thingsboard-Dashboard zur Verfügung. ### Sensor am Router anschließen Für das vorliegende Beispiel wird ein handelsüblicher Feuchte-/Temperatursensor mit RS485-Schnittstelle verwendet. Verbinden Sie den Sensor mit der Stromversorgung und der RS485-Schnittstelle des Routers. Achten sie dabei auf die richtige Polung des Anschlusses der RS485-Datenleitungen (siehe [Installationshandbuch](/kb/docs/de/ecr-info-de) des Routers sowie die Technische Dokumentation Ihres Sensors). > [!NOTE] > Bitte beachten Sie! > > Die RS485-Datenleitungen auf unseren Routern sind mit D+ und D- benannt. Geläufig sind auch die Bezeichnungen TX+/RX+ (für D+) und TX-/RX- (für D-). Werden die Bezeichnungen A und B genutzt, so sind diese nicht immer eindeutig, wenn kein /- angehängt ist. Häufig wird A für D und B für D- verwendet, dies jedoch nicht einheitlich. Im Zweifelsfall müssten die beiden Drähte dann einmal vertauscht werden. ### Internet-Verbindung des Routers konfigurieren Um die ausgelesenen Daten an Thingsboard zu übermitteln, muss der Router über eine Internet-Verbindung verfügen. Ein [Schnellstart-Assistent](/kb/docs/de/quickstart-wizard-de) ermöglicht eine einfache Konfiguration der Internet-Verbindung. 1. Öffnen Sie die Bedienoberfläche des Routers in einem Browser: https://insys.icom 2. Klicken Sie im Menü *Assistenten* → *Schnellstart-Assistent* auf STARTEN . 3. Ändern sie optional die Zeit- und Synchronisierungseinstellungen und klicken Sie auf WEITER . 4. Geben Sie die für die Authentifizierung gewünschten Zugangsdaten ein und klicken Sie auf WEITER . 5. Konfigurieren Sie die jeweilige Internet-Verbindung ein und klicken Sie auf WEITER . 6. Konfigurieren Sie optional Ihre VPN-Verbindung (für dieses Beispiel nicht notwendig) und klicken Sie auf WEITER . 7. Ändern Sie optional die Einstellungen der LAN-Verbindung (für dieses Beispiel nicht notwendig) und klicken Sie auf WEITER . 8. Laden Sie optional eine Konfiguration für das icom Router Management auf den Router (für dieses Beispiel nicht notwendig). 9. Klicken Sie auf WIZARD AUSFÜHREN. 10. Verfolgen Sie die Ausführung ded Assistenten und klicken Sie auf WIZARD AUSFÜHREN. Der Schnellstart-Assistent hat den Router für die Internet-Verbindung konfiguriert. Im Menü *Status* → *Dashboard* können Sie im Abschnitt *WAN-Kette* verfolgen, wie die WAN-Kette für die Internet-Verbindung aufgebaut wird. ![cg de nr startup 01](https://docs.insys-icom.de/assets/cg_de_nr_startup_01.png) ### Node-RED-Container auf dem Router installieren **Node-RED** ist ein grafisches Entwicklungswerkzeug, das in einem Container auf dem Router ausgeführt werden kann. > [!NOTE] > Bitte beachten Sie! > > Falls auf Ihrem Router eine **icom Data Suite** installiert ist, deaktivieren Sie deren Container im Menü ![package variant closed](https://docs.insys-icom.de/assets/icons/package-variant-closed.png) *Container* → *Container* durch Deaktivieren der Checkbox *Aktiv* und klicken Sie auf SPEICHERN. 1. Öffnen Sie die [INSYS Container-Seite](https://m3-container.net/#nodered) und laden sie den Node-RED-Container herunter. 2. Öffnen Sie die Bedienoberfläche des Routers in einem Browser: https://insys.icom 3. Klicken Sie im Menü ![package variant closed](https://docs.insys-icom.de/assets/icons/package-variant-closed.png) *Container* → *Container* auf und laden Sie den Container auf den Router. ![cg de nr install 01](https://docs.insys-icom.de/assets/cg_de_nr_install_01.png) 4. Klicken Sie auf SPEICHERN. 5. Klicken Sie auf ![package variant closed plus](https://docs.insys-icom.de/assets/icons/package-variant-closed-plus.png) für den gerade hochgeladenen Container und bearbeiten Sie die Konfiguration des Containers: - *Benutzergruppe für CLI ohne Authentifizierung*: Lesen/Schreiben - *Bridge zu IP-Netz*: net1 - *IPv4-Adresse*: 192.168.1.10 / 24 - *IPv4-Gateway*: 192.168.1.1 6. Klicken Sie auf SPEICHERN. ![cg de nr install 02](https://docs.insys-icom.de/assets/cg_de_nr_install_02.png) 7. Klicken sie auf PROFIL AKTIVIEREN . ### SSH-Verbindung zum Container herstellen und diesen vorbereiten Der Node-RED-Container verfügt über Alpine Linux, auf welches man über eine SSH-Verbindung zugreifen kann. 1. Verbinden Sie sich mit einem Terminalprogramm (wie PuTTY) über eine SSH-Verbindung mit dem Container. - Adresse: 192.168.1.10 (oder wie oben angegeben) - Benutzername: root - Passwort: root ![cg de nr ssh 01](https://docs.insys-icom.de/assets/cg_de_nr_ssh_01.png) 2. Installieren Sie den Python-Compiler und weitere Tools, um in einem der nächsten Schritte das Modbus-Pakets in Node-RED zu installieren. Geben Sie dazu folgende Befehle in der Kommandozeile (oder Shell) ein: ```shell container1:~# apk add python3 container1:~# apk add make container1:~# apk add g++ container1:~# apk add gcc container1:~# apk add linux-headers ``` Damit haben Sie den Container für die Installation des Modbus-Moduls in **Node-RED** vorbereitet. ### Modbus-Paket in Node-RED installieren 1. Öffnen Sie die Benutzeroberfläche von Node-RED unter der Adresse [http://192.168.1.10:1880](http://192.168.1.10:1880) (https wird nicht unterstützt!). ![cg de nr config 01](https://docs.insys-icom.de/assets/cg_de_nr_config_01.png) 2. Klicken Sie auf und wählen sie *Palette verwalten*. 3. Suchen Sie auf der Registerkarte *Installation* nach dem Modul **node-red-contrib-modbus** und installieren sie dieses mit einem Klick auf *Installieren*. ![cg de nr config 02](https://docs.insys-icom.de/assets/cg_de_nr_config_02.png) 4. Wechseln Sie auf die Registerkarte *Installierte Knoten* und klicken sie auf Schließen. ![cg de nr config 03](https://docs.insys-icom.de/assets/cg_de_nr_config_03.png) Damit haben Sie das Modbus-Modul in Node-RED installiert und können mit der Entwicklung Ihrer Anwendung fortfahren. > [!NOTE] > Bitte beachten Sie! > > Nach der Installation des Modbus-Moduls können Sie die gerade installieren Pakete wieder entfernen, um die Größe des Containers zu reduzieren. Verwenden Sie dazu die folgenden Befehle über die SSH-Verbindung (siehe [SSH-Verbindung zum Container herstellen und diesen vorbereiten](/kb/docs/de/reading-and-visualising-modbus-data-using-node-red-and-thingsboard-de#sshverbindung-zum-container-herstellen-und-diesen-vorbereiten)): `container1:~# apk del python3` `container1:~# apk del make` `container1:~# apk del g++` `container1:~# apk del gcc` `container1:~# apk del linux-headers` ### Flow in Node-RED erstellen Es wird nun ein Flow erstellt, der Daten aus dem Modbus-Sensor ausliest und diese Daten an Thingsboard übermittelt. Mit Flow wird in Node-RED die Anwendung bezeichnet, die durch miteinander verbundene Eingabe- Ausgabe- und Verarbeitungs-Knoten definiert wird. #### Modbus-Read-Knoten für den Temperatursensor erstellen 1. Wählen Sie links ganz unten einen Modbus-Read-Knoten und ziehen Sie ihn in den Arbeitsbereich. 2. Doppelklicken sie den Knoten, um seine Eigenschaften auf der Registerkarte *Settings* bearbeiten zu können (folgende Einstellungen gelten für den von uns verwendeten Sensor; entnehmen Sie die entsprechenden Werte der Dokumentation Ihres Sensors): - *Name*: TempSensor - *FC*: FC3: Read Holding Registers - *Address*: 00 - *Quantity*: 1 - *Poll Rate*: 10 second(s) ![cg de nr app 01](https://docs.insys-icom.de/assets/cg_de_nr_app_01.png) 3. Klicken Sie bei *Server* auf , um einen neuen Modbus-Server hinzuzufügen und konfigurieren Sie diesen: - *Name*: Sensor - *Type*: Serial - *Serial port*: /devices/1_serial1 > [!NOTE] > Router-spezifischer Pfad! > > Dieser Pfad gilt für einen ECR-Router; bei einem MRX mit MRcard SI in Slot 3 ist der Pfad beispielsweise **/devices/3_serial2**. - *Serial type*: RTU-BUFFERED - *Baud rate*: 9600 - *Queue logging*: > [!NOTE] > Bitte beachten Sie! > > Durch Aktivieren von *Queue logging* werden Kollisionen beim Lesen vermieden, wenn mehrere Modbus-Read-Knoten Daten vom Sensor anfordern. ![cg de nr app 02](https://docs.insys-icom.de/assets/cg_de_nr_app_02.png) 4. Klicken sie auf Hinzufügen. 5. Wechseln Sie zur Registerkarte *Optionals* und markieren sie die Optionen *Show Activities* und *Show Errors*. ![cg de nr app 03](https://docs.insys-icom.de/assets/cg_de_nr_app_03.png) 6. Klicken sie auf Fertig. #### Funktions-Knoten für Temperaturkonvertierung erstellen 1. Wählen Sie einen Funktions-Knoten **function** und ziehen Sie ihn in den Arbeitsbereich. 2. Doppelklicken sie den Knoten, um seine Eigenschaften auf der Registerkarte *Funktion* bearbeiten zu können. 3. Kopieren sie folgenden Code in das Nachrichtenfenster: ```shell var tempValue = msg.payload[0]/10; msg.payload = {"Temperature": tempValue}; return msg; ``` 1. Klicken sie auf Fertig. ![cg de nr app 04](https://docs.insys-icom.de/assets/cg_de_nr_app_04.png) #### Knoten zu einem Flow verbinden 1. Verbinden Sie die beiden Knoten, indem Sie auf einen Verbindungspunkt des einen Knotens klicken und eine Linie zum anderen Knoten ziehen. ![cg de nr app 05](https://docs.insys-icom.de/assets/cg_de_nr_app_05.png) #### Modbus-Read-Knoten für den Feuchtesensor erstellen 1. Fügen Sie einen weiteren Modbus-Read-Knoten hinzu und konfigurieren Sie ihn: - *Name*: HuniditySensor - *FC*: FC3: Read Holding Registers - *Address*: 01 - *Quantity*: 1 - *Poll Rate*: 10 second(s) - *Server*: wählen Sie den bereits angelegten Server **Sensor** ![cg de nr app 06](https://docs.insys-icom.de/assets/cg_de_nr_app_06.png) 2. Wechseln Sie zur Registerkarte *Optionals* und markieren sie die Optionen *Show Activities* und *Show Errors*. 3. Klicken sie auf Fertig. #### Funktions-Knoten für Temperaturkonvertierung erstellen 1. Fügen Sie einen weiteren Funktions-Knoten **function** hinzu und konfigurieren Sie ihn: ```shell var humidityValue = msg.payload[0]/10; msg.payload = {"Humidity": humidityValue}; return msg; ``` 1. Klicken sie auf Fertig. 2. Verbinden Sie die beiden Knoten, indem Sie auf einen Verbindungspunkt des einen Knotens klicken und eine Linie zum anderen Knoten ziehen. #### Debug-Knoten zur Überprüfung der Werte erstellen 1. Wählen Sie einen allgemeinen Knoten **debug** und ziehen Sie ihn in den Arbeitsbereich. 2. Doppelklicken sie den Knoten, um seine Eigenschaften bearbeiten zu können. 3. Wählen Sie als *Ausgabe* **msg.payload**, um die von den Funktions-Knoten erzeugte Nachricht in einem Debug-Fenster von **Node-RED** auszugeben. 4. Klicken sie auf Fertig. ![cg de nr app 07](https://docs.insys-icom.de/assets/cg_de_nr_app_07.png) 5. Verbinden sie die Ausgaben der beiden Funktions-Knoten mit dem Eingang des Debug-Knotens. ![cg de nr app 08](https://docs.insys-icom.de/assets/cg_de_nr_app_08.png) #### Flow in Anwendung übernehmen und Funktion der Anwendung kontrollieren 1. Klicken sie auf **Übernahme (deploy)** rechts oben in der Titelleiste, um den Flow zu übernehmen. 2. Klicken sie in der rechten Seitenleiste auf , um die Registerkarte *Debug* zu öffnen. ![cg de nr app 09](https://docs.insys-icom.de/assets/cg_de_nr_app_09.png) Ein grüner Punkt unter den Modbus-Read-Knoten zeigt den Modbus-Verbindungsstatus an. Im Debug-Fenster können Sie die eingehenden Werte des Sensors für Temperatur und Luftfeuchtigkeit beobachten. ### Thingsboard-Account erstellen und konfigurieren Um ausgelesene Daten mit Hilfe von Thingsboard visualisieren zu können, ist ein Thingsboard-Account erforderlich. Wenn noch kein Thingsboard-Account vorhanden ist, muss dieser zuvor angelegt werden. Außerdem muss das Gerät noch in Thingsboard angelegt und ein Zugangs-Token erzeugt werden. 1. Öffnen Sie [Thingsboard](https://demo.thingsboard.io/login), legen Sie wenn noch nicht geschehen einen Account an und melden Sie sich an. 2. Wechseln Sie in das Menü ![devices](https://docs.insys-icom.de/assets/icons/devices.png) *Geräte* und klicken Sie auf *Gerät hinzufügen* → *Neues Gerät hinzufügen*. ![cg de nr tb 01](https://docs.insys-icom.de/assets/cg_de_nr_tb_01.png) 3. Geben Sie einen geeigneten *Name* für das Gerät ein und klicken Sie auf *Nächste: Zugangsdaten*. ![cg de nr tb 02](https://docs.insys-icom.de/assets/cg_de_nr_tb_02.png) 4. Aktivieren Sie *Add credentials*, wählen Sie **Access token** unter *Art der Zugangsdaten* und geben Sie unter *Zugangs-Token* eine Zeichenfolge ein. ![cg de nr tb 03](https://docs.insys-icom.de/assets/cg_de_nr_tb_03.png) 5. Klicken sie auf Hinzufügen (der dritte Punkt, Kunde, muss nicht konfiguriert werden). Damit haben Sie den Router in Thingsboard angelegt und ein Token für den Zugang erstellt. ### Verbindung von Node-RED zu Thingsboard erstellen Um die in **Node-RED** ausgelesenen Werte an **Thingsboard** zu übermitteln, muss der Node-RED-Flow noch um eine MQTT-Ausgabe ergänzt werden. 1. Fügen Sie einen Netzwerk-Knoten **mqtt out** im Arbeitsbereich hinzu und doppelklicken Sie ihn, um seine Eigenschaften zu bearbeiten. 2. Klicken Sie bei *Server* auf , um die Server-Verbindung auf der Registerkarte *Verbindung* zu konfigurieren: - *Name*: ThingsboardConnection - *Server*: demo.thingsboard.io - *Port*: 1883 - *Connect automatically*: - *Protokoll*: MQTT V3.1.1 - *Keep-Alive*: 60 - *Bereinigte Sitzung (clean session) verwenden*: ![cg de nr app 10](https://docs.insys-icom.de/assets/cg_de_nr_app_10.png) 3. Wechseln Sie zur Registerkarte *Sicherheit*, geben Sie den in Thingsboard festgelegten Zugangs-Token unter *Benutzername* ein und lassen Sie das *Passwort* leer. ![cg de nr app 11](https://docs.insys-icom.de/assets/cg_de_nr_app_11.png) 4. Klicken sie auf Hinzufügen. 5. Geben Sie als *Topic* **v1/devices/me/telemetry** und einen beschreibenden *Name* ein. ![cg de nr app 12](https://docs.insys-icom.de/assets/cg_de_nr_app_12.png) 6. Klicken sie auf Fertig. Verbinden sie die Ausgaben der beiden Funktions-Knoten mit dem Eingang des MQTT-Ausgabe-Knotens. 1. Klicken sie auf **Übernahme (deploy)** rechts oben in der Titelleiste, um den Flow zu übernehmen. ![cg de nr app 13](https://docs.insys-icom.de/assets/cg_de_nr_app_13.png) Ein grüner Punkt unter dem MQTT-Ausgabe-Knoten zeigt den MQTT-Verbindungsstatus an. ## Erfolgskontrolle 1. Klicken Sie in Thingsboard in die Zeile Ihres Geräts und wechseln Sie in den Gerätedetails auf die Registerkarte *Neueste Telemetrie*. ![cg de nr tb 04](https://docs.insys-icom.de/assets/cg_de_nr_tb_04.png) Sie sehen hier nun die zuletzt von **Node-RED** an **Thingsboard** übermittelten Werte. Diese können Sie jetzt in Thingsboard mit der Hilfe von Widgets visualisieren. ## FAQ - Warum verliert der MQTT-Ausgabe-Knoten regelmäßig seine Verbindung? Wenn der MQTT-Ausgabe-Knoten übernommen wird, verbindet er sich für eine kurze Zeit, trennt die Verbindung und verbindet sich erneut. Versuchen Sie stattdessen Modbus - Flex - Getter oder Modbus - Flex - Write. - In welchem Verzeichnis befinden sich die installierten Node-RED-Module? Die Knoten werden unter dem Benutzerverzeichnis von Node-RED installiert. Standardmäßig ist das ~/.node-red/. Dieses Verzeichnis enthält Ihre Node-RED-Einstellungsdatei, Flow-Dateien und die Datei package.json, die alle installierten Module auflistet. - Wie kann ich meinen Flow mit allen entsprechenden Knoten speichern? Klicken Sie auf und wählen sie *Export*. Dann können Sie den gewünschten Flow im json-Format herunterladen. - Warum erhalte ich regelmäßige Timeout- oder CRC-Fehler beim Auslesen der Modbus-Werte? Wenn diese Fehler vermehrt auftreten, kann dies daran liegen, dass von einer anderen Quelle aus auch auf die serielle Schnittstelle zugegriffen wird. Sorgen Sie dafür, dass nur der Node-RED-Container auf die serielle Schnittstelle zugreift. Standard-IP-Adresse: https://192.168.1.1; Anmeldung je nach Konfiguration; Voreinstellung bei älteren Firmware-Versionen: *Benutzername*: **insys**, *Kennwort*: **icom**