top of page

ModbusTCP-Smart und Node-RED / MQTT: Steuerung & Auswertung für DaheimLader Wallboxen

Node-RED ist eine Low-Code-Plattform zur Entwicklung ereignisgesteuerter Anwendungen.

Sie eignet sich besonders gut, um Echtzeitdaten zu erfassen, zu verarbeiten und zu visualisieren.

In vielen Smart-Home-Systemen ist Node-RED bereits integriert oder lässt sich mit wenigen Klicks nachinstallieren. Als standardisierte Schnittstelle zwischen Node-RED und anderen Systemen hat sich ein MQTT-Broker bewährt.

Zur Visualisierung und Analyse der MQTT-Daten empfehlen wir den MQTT Explorer von Thomas Nordsquist (https://mqit-explorer.com/).

Beide Komponenten - Node-RED und MQTT-Broker - sind nach der Installation über eine Web-Oberfläche erreichbar.



Installation der Modbus-Nodes

Als erstes Installiert man die sog. (Programm) Palette für die Nodes vom ModBus (Klick siehe roter Pfeil) oder <Alt>+<Shift>+<p> geht auf Installation und gibt im „Suchen“ Feld „modbus" ein.

Bitte genau dieses Installationspaket auswählen, die Versionsnummer kann hierbei variieren:

installationspaket

Jetzt den Import der Flow Daten mit Button (roter Pfeil) oder <Strg>+<i> auswählen und den Programmcode vollständig in das rosa Feld einfügen. Hierzu die heruntergeladene Datei WallboxModbflow.json mit dem Windows Editor oder mit Notepad++ öffnen und per

<Strg>+<a> den gesamten Text markieren und mit <Strg>+<c> kopieren. Jetzt in das

Programmfenster von NodeRed wechseln und per <Strg>+<v> den Text in das rosa Feld hinein kopieren. Mit „Import“ wird der Programmcode übernommen und als Flow mit Allen Nodes angezeigt.

flow json für wallbox steuerung per modbus

Sollte während des Importvorgangs folgendes Fenster angezeigt werden, dann bitte den Button „importiere Kopie“ anwählen.

nodes importieren

Der neue Flow erscheint nun im Editor und ist durch einen blauen Punkt als „geändert“ markiert.

flow mit blauem punkt
wallbox flow


Konfiguration der IP-Adressen

Als erstes müssen jetzt die notwendigen IP-Adressen eingegeben werden.


Modbus-Server konfigurieren


Wähle den ModBus Getter per Doppelklick aus und wähle die Server Konfiguration an.


Modbus für Wallbox konfigurieren
Modbus für Wallbox konfigurieren

Die Angaben für Port, Type und ID sollten bereits vom Import eingestellt sein.

Wichtig ist hier die IP-Adresse der Wallbox.

Achtung: Die IP-Adresse darf sich nicht ändern. Empfehlenswert ist eine feste IP oder eine DHCP-Reservierung im Router. Sonst kann sich die IP Adresse der Wallbox nach einem Neustart oder eines anderen Ereignisses am Router ändern.


MQTT Broker Einstellungen

Jetzt stellen wir noch die IP-Adresse des MQTT-Servers ein. Hierzu eines der lila Ausgabe-Notes doppelklicken und die Konfiguration des Server anwählen.

wallbox mqtt broker konfigurieren

Hier trägst du die IP-Adresse für den MQTT-Broker ein.


wallbox ip adresse in mqtt broker eintragen

Wer einen Benutzer und ein Passwort für den MQTT-Broker bei der Installation eingeben hat, bitte dieses noch unter dem Reiter „Sicherheit“ eintragen und Fenster schließen.


Flow aktivieren

Nachdem diese Aufgaben erfüllt sind nur noch die <Übernahme (deploy)> Taste betätigen und die Verbindungen werden aufgebaut. Nach 20 Sekunden sollte im Debug-Fenster eine Meldung erscheinen mit folgendem Inhalt:

debog: Wallbox Modbus register

array[115] gibt an, dass alle 115 (von Register 0 bis Register 114) der Wallbox gelesen wurden.

Die Werte werden nun über MQTT zur Verfügung gestellt und können in jedem Smart-Home-System weiterverarbeitet werden.


mqtt wallbox daten

Welche Modbus Register werden verwendet?

Bei dem Import der Daten habe ich auf einige Register bewusst verzichtet. Es fehlen die Register mit div. Zeitstempeln, da die Erfassung im SmartHome bei jeder Änderung des Anzeigewertes erfolgt und entsprechend in einer Datenbank eingetragen werden.

Die Auswertung umfasst folgende Inhalte von Oben nach Unten:

  1. [1] - [8] sind alles Werte, welche in der Daheimladen APP enthalten sind. Hier kann man sogar auf die beiden Register Ladestrom Min und Max verzichten da beide fix angelegt sind.

  2. [9] - [18] sind Register, deren Werte nur durch ModBus Kommunikation erhältlich sind und für diverse Auswertungen genutzt werden können. Sehr interessant hierbei der Wert für die Leistung des aktuellen Ladevorganges, das sieht man in der App ja nur nach Abschluss des aktuellen Vorgangs.

  3. [19] - [23] sind die Register, in welche auch Werte geschrieben werden.


Es ist zu beachten, dass die Vorgabe des aktiven Ladestromes [8] und [21] nicht identisch sind. Man kann also eine Vorgabe in der App einstellen und einen anderen Wert per ModBus übermitteln.

Diese sind immer nur dann gültig, wenn in dem jeweiligen Modus geladen wird.


In dem vorliegenden Flow kann man Vorgabewerte und den Start/Stop der Wallbox nur manuell ausführen. Das ist bewusst so gehalten, da alle anderen Aktionen von der verwendeten SmartHome Applikation abhängig sind und für den Ersteinsatz, durch Fehlermeldungen, eher verwirrend sein könnten.


Bei der Prüfung, ob die Wallbox On- oder Offline ist, wurde der Rückgabewert ausgewertet. Es wird eine HTTP-Anfrage gesendet und es wird eigentlich kein Wert von der Wallbox

zurückgesendet. Wenn sie aber Online ist bekommt man ein ECONNREFUSED zurück und bei TimeOut, weil nicht erreichbar ein EHOSTUNREACH zurück. Diese Meldung, als auch die Meldungen aus [3] kann man z.B. durch eine Anbindung an einen TelegramBot ausgeben lassen.


wallbox online message flow

Ausblick

Hier noch ein Ausblick für die Integration in OpenHAB

wallbox integration openhab

und ein Screenshot für eine Auswertung der Daten per Grafana:

grafana wallbox dashboard

DaheimLaden Onlineshop

bottom of page