Du hast Fragen zum Thema Gebäudeautomation, KNX, Home-Assitant, Node-Red und co. oder möchtest dich einfach nur zu dem Thema mit anderen austauschen? Dann schaue doch gerne mal auf unserem Discord-Community-Server vorbei: discord.gg/E22QbYzQkD Mein neuer Vdieokurs, die Modbus-Fibel zu einem vergünstigten Preis, für die nächsten 30 Tage: www.udemy.com/course/modbus-fibel/?couponCode=UA-cam.NEU23
Hallo Torben, danke für deine sehr informativen Videos. Ich bin neu in Node-Red und habe angefangen meine neue Solaranlage über Modbus-TCP zu visualisieren und den Eigenverbrauch zu optimieren. Vieles ist mir gelungen aber beim Auslesen des SMA-Wechselrichters habe ich ein Problem. Ich lese die aktuelle Leistung welche als vorzeichenbehafteter int32 Wert zur Verfügung steht ohne Nachkommastellen. Ich lese über Modbus-Flex-Getter aus und gehe dann auf einen Buffer-Parser. dort habe ich int32 (be) definiert und ich erhalte auch die korrekten Zahlen wenn der Wert > 0 ist. Geht der Wert auf 0 dann wird der Hexwert 0x80 0x0 0x0 0x0 geliefert was dann einen grossen Minus Wert ergibt. Aendere ich den Typ auf Float (be) dann wird mir bei 0 der richtige Wert angezeigt jedoch nicht wenn der Wert grösser als 0 ist. Was mache ich falsch? Wäre super wenn du helfen könntest Gruss Peter
Hallo Peter, hast du evtl. mal einen Link zu einer Registerbeschreibung für den SMA Wechselrichter. Zu Not würde ich den Fehlerhaften Wert über ein Switch Node einfach rausfiltern, wenn es sowieso nur den Wert 0 betrifft.
Sehr gut erklärt ,mit Modbus Read funktioniert das auslesen ,das inject mit Modbus Flex Getter gibt egal bei was den Fehler aus "Error: Invalid property expression: unexpected ' ' at position 7" komme da leider nicht weiter .Hoffe auf einen Tip
Klasse Video, wie gewohnt. In wie fern verhält es sich wenn man verschiedene Dinge über modbus / Node Red ins KNX bringen möchte. Heizungen haben (je nach Hersteller ein eigenes Modbusprotokoll), genauso wie Lüftungsanlagen und erst recht alles was mit PV/BMS zu tun hat. Bekomme ich da alle Informationen über eine Modbusschnittstelle oder muss ich für jedes System eine eigene Modbusschnittstelle einbauen?
Freut mich, dass dir das Video gefällt. Da kann man leider keine allgemeine Aussage treffen. I.d.R. benötigt jedoch jedes Systen dass ich abfragen möchte eine eigene Modbusschnittstelle. Bei Klimageräten ist es aber bspw. häufig so, dass die Modbusschnittstelle am interen Klimaanlagen-Bus hängt und darüber dann alle Geräte abgefragt werden können. Die Modbusschnittstelle auf Geräte Seite ist aber oftmals gar kein Problem, da dies bereits als Standardprotokoll implementiert ist. Auf KNX-Seite bin ich mir gerade nicht ganz sicher ob die gängigen Gateways bspw. von Weinzierl mehrere Slaves abfragen können. Das müsste man im Datenblatt mal nachschauen. Mit der Node-Red Bibliothek ist das aber definitiv möglich.
Dann brauchst du eine entsprechende USB-Schnittstelle die du an deinen Node-Red-Server anschließt. Du kannst die gleiche Bibliothek benutzten in Node-Red musst beim Modbus-Server in der Config-Node nur einstellen das die Verbindung über Seriell geschehen soll
Super, gibt es auch eine Video von Node Red wo Modbus als Server benutz werden kann. Ich möchte ein verbindug zu einer SPS die als Client (Master) konfiguriert ist aufbauen.
Super erklärt Torben, vielen Dank. Hab jetzt auch einen Flow mit mehreren Injects und Intervallen gebaut, allerdings wird mir nach 10 Sekunden immer nur das Ergebnis aus dem 1. Inject im Debugfenster angezeigt. Wenn ich das Intervall in jedem Inject um 1 Sekunde höher als das vorhergehende einstelle, dann klappt es auch. Aber das muss doch auch gleichzeitig funktionieren oder? Wenn ich die injects einzeln vorne anklicke, dann bekomme ich die einzelnen Ergebnisse auch angezeigt. Gibt es da eine Einstellung die ich noch machen muss, damit mir alle Ergebnisse im Debugfenster gleichzeitig angezeigt werden? Viele Grüße, Andi
Kannst du den nachvollziehen ob das Nachrichtenobjekt noch bis zun Modbus Node kommt? Also am besten mal ein Debug Node parallel zum Modbus Noder erstellen
Hallo ein sehr guter Beitrag. Ich habe selbst ein Wago SPS 750-881 in Gebäudeautomation eingesetzt. Die wird mit der Codesys 2.3 programmiert. Mit Hilfe von Node-Red lese ich von meinem PV-Wechselrichter (Huawei) die Daten aus und stelle in IoBroker zur Verfügung um die zu später zu visualisieren. Ich kann aus IoBroker mit einer Modbus-Instanz die Register von Wago-SPS auslesen und schreiben. Direkt im Node-Red habe ich die Vorgehensweise noch nicht gekannt. Das Thema ist nicht so schwer, wenn man erst verstanden hat, was für Regel zu beachten sind. Auf UA-cam habe so ein gut erklärtes Modbus - Node-Red Aufgabe nicht gefunden. Ich würde gerne ein Video von Ihnen sehen wie man Werte (Digitale, Integer, Gleitkomma) in die Wago SPS schreibt. Schöne Grüße
hast du auch was mit auf Modbus schreiben. auslesen hat funktioniert jetzt möchte ich die Werte aber ändern. (Fronius Batterie Steuerung) komisch nur bei mir sind die register immer -1 ; also eine Registeradresse davor, aber nur im RedNode. über den Modbus-tester nicht
Würde gerne einen Wert aus einem SMA Wechselrichter auslesen. In der Modbusbeschreibung wird folgendes angegeben: CNT (WORD) = 4 / Typ = U64 / Format = FIX0 / Zugriff RO Was muss ich hier im buffer-parser hinterlegen um den Wert richtig auszulesen? Danke!
Hallo Torben, danke schonmal für den Super Content. Wenn ich jetzt aber mehrere Modbus Geräte abfragen möchte im selben Flow, so übernehmen sie alle immer die Servereinstellungen von der geänderten Node. Ist es möglich im selben Flow Read-Nodes mit unterschiedlichen Servereinstellungen zu konfigurieren? Lg Gavin
Das geht problemlos. Dafür legst du einfach einen neuen Server in der Konfiguration des Nodes an. Also dort wo der "geerbte" Server drin steht klickst du drauf und legst einen neuen an
Hallo Torben, danke für das super Video. Ich habe jetzt schon erfolgreich Werte mit 1-2 Register (1-4 Byte) gelesen und mit dem buffer-parser interpretiert. Wenn ich aber einen Wert mit 4 Register (8 Byte) lesen und dann mit dem buffer-parser als biguint64 interpretieren will bekomme ich die folgende Fehlermeldung: msg : error "TypeError: Cannot mix BigInt and other types, use explicit conversions". Hast du vielleicht eine Ahnung woran das liegen könnte? MfG Manfred
Hallo Torben, vielen Dank für deine Informationen. Gibt es eine Möglichkeit aus dem Modbus gelesene Daten in Home Assistant zu übergeben? z.B. Betriebsstatus, Leistung und Energie. Ich würde gerne meine Wallbox über node red addon an home assistant übergeben.
Servus Torben Ledermann, habe Modbus ausprobiert. Wollte ausgelesene Daten "Gleidkommazahl" an CCu auf eine SysVar schreiben. Jedoch gelingt mir nicht Temp1 aus dem Parser an die CCU zu übergeben. Wäre schön hierzu ein Video zu haben.
mehrere Adressen auf einmal auslesen ist ja recht einfach wenn diese aufeinander folgen (wie im video 24,25,26,27) - aber gibt es eine Möglichkeit mehrere Adressen auf einmal auszulesen wenn diese nicht so aufeinander folgen? z.b.0,1,5,6,70,71,105,106)? ist es eine blöde Idee mehrere flex getter nodes zu verwenden? ich lese 2 stromzähler aus, der übersicht halber wollte ich 2 separate flows aufbauen, aber vom video have ich den eindruckk bekommen dass dies keine gute idee ist da ich dann auch 2 flex getter nodes aktiv verwenden würde. besser einen und alle abfragen über den mit queue? Danke! :)
Frage : Ich will die Analogwerte meines Wechselrichter auslesen und es klappt auch genau alles wie in dem Video - nur ich bekomme keine Werte - da steht auch active aber beim Debug zeigt der mir nichts
Hallo, versuche gerade ebenfalls mit Node-Red und modbus auf das KSEM (Kostal Smart Energy Meter) zuzugreifen. Aber ich scheiter bereits beim "Active" !! Die Verbindung geht auf connected, dann wieder auf reconnecting in 2.000 ms, aber nicht auf activ. Woran kann es liegen ?
Hallo Torben, tolle Erklärung, danke Das Auslesen klappt bei mir mit dem Modbus-Read Node genau wie von Dir beschrieben. Bei Übernahme der Daten auf den Flex Getter mit dem inject node bekomme ich aber immer die Fehlermeldung ""Error: Modbus exception 2: Illegal data address (register not supported by device)" - Die Eingabedaten sind aber sicher identisch und das Modbus Gerät blieb unverändert. Hast Du eine Idee was das sein könnte? Danke
Das ist eine Fehlermeldung vom Modbus Gerät welches du ausliest. Du liest scheinbar ein Register aus, welches auf dem Gerät nicht existiert. Überprüfe bitte mal die Registeradresse mit der im Handbuch des Geräts
Hallo, kannst du bitte ein Video mit Modbus mit Intesis Modbus IR universal AC zuschicken, ich will wiesen wie man Klimaanlage und ihren werte mit NodeRed und Intesis Modbus Gerät und unser klimaanlage programmieren kann. Vielen dank für dein Tolle Videos!
Wahnsinn... ich blicke leider selbst nach dem Video noch nichts. Versuche meinen Logarex LK13BE Zähler über die RS485 auszulesen, direkt ins HomeAssistant über die Modbus Schnittstelle direkt im HomeAssistant und kriege es leider einfach nicht hin. Finde aber leider auch nichts zu dem Logarex LK13BE auf welchem Register das liegt oder wie ich da heran gehen soll...
Hi bist du sicher dass der Zähler Modbus kann? Ich habe mir mal das Datenblatt angeschaut. Der hat zwar eine RS485 Schnittstelle worüber Daten ausgelesen werden können, aber wenn ich das richtig sehe nur per SML. Vlt. kannst du mit der Bibliothek was anfangen: node-red-contrib-smartmeter
Du hast Fragen zum Thema Gebäudeautomation, KNX, Home-Assitant, Node-Red und co. oder möchtest dich einfach nur zu dem Thema mit anderen austauschen? Dann schaue doch gerne mal auf unserem Discord-Community-Server vorbei: discord.gg/E22QbYzQkD
Mein neuer Vdieokurs, die Modbus-Fibel zu einem vergünstigten Preis, für die nächsten 30 Tage:
www.udemy.com/course/modbus-fibel/?couponCode=UA-cam.NEU23
Exellentes Video, gut nachvollziehbar, wenn man die Werte kennt
Sehr gut erklärt, ruhig und professionell.
Dieses Video ist der Wahnsinn! Danke dir! Hast mir wirklich geholfen meinen MODBUS Stromzähler mit node red auslesen zu können! :)
Danke für dein Feedback✌️
Danke! Sehr gute Erklärung und ich konnte es in meiner Umgebung SMA - WR, Nodered nachvollziehen.
Hi,
German isnt my first language or my third. but i was able to understand so much just by watching this .
Cheers
Vielen Dank sehr gut erklärt
Vielen Dank für das sehr hilfreiche Video! Gerne den button hier einbinden, dass man sich auch finanziell Bedanken kann!
Hallo tolles Video, mein Problem hat sich gelöst gelöst .Dankeschön
Super, das freut mich 👍
Klasse Video, danke dafür!
Sehr gut erklärt. Danke!
Danke fürs Feedback!
Ja bitte die andere Richtung von Modbus zu Node Red ist ebenfalls sehr interessant
Das Video dazu ist heute online gegangen 😉
exzellentes video !!!
Hallo Torben, danke für deine sehr informativen Videos. Ich bin neu in Node-Red und habe angefangen meine neue Solaranlage über Modbus-TCP zu visualisieren und den Eigenverbrauch zu optimieren.
Vieles ist mir gelungen aber beim Auslesen des SMA-Wechselrichters habe ich ein Problem. Ich lese die aktuelle Leistung welche als vorzeichenbehafteter int32 Wert zur Verfügung steht ohne Nachkommastellen. Ich lese über Modbus-Flex-Getter aus und gehe dann auf einen Buffer-Parser. dort habe ich int32 (be) definiert und ich erhalte auch die korrekten Zahlen wenn der Wert > 0 ist. Geht der Wert auf 0 dann wird der Hexwert 0x80 0x0 0x0 0x0 geliefert was dann einen grossen Minus Wert ergibt. Aendere ich den Typ auf Float (be) dann wird mir bei 0 der richtige Wert angezeigt jedoch nicht wenn der Wert grösser als 0 ist. Was mache ich falsch?
Wäre super wenn du helfen könntest
Gruss Peter
Hallo Peter,
hast du evtl. mal einen Link zu einer Registerbeschreibung für den SMA Wechselrichter. Zu Not würde ich den Fehlerhaften Wert über ein Switch Node einfach rausfiltern, wenn es sowieso nur den Wert 0 betrifft.
Sehr gut erklärt ,mit Modbus Read funktioniert das auslesen ,das inject mit Modbus Flex Getter gibt egal bei was den Fehler aus "Error: Invalid property expression: unexpected ' ' at position 7" komme da leider nicht weiter .Hoffe auf einen Tip
Hm schwer zu beantworten ohne den gesamten Flow zu sehen. Komm doch am Besten mal auf unseren Discord Server
Klasse Video, wie gewohnt.
In wie fern verhält es sich wenn man verschiedene Dinge über modbus / Node Red ins KNX bringen möchte.
Heizungen haben (je nach Hersteller ein eigenes Modbusprotokoll), genauso wie Lüftungsanlagen und erst recht alles was mit PV/BMS zu tun hat.
Bekomme ich da alle Informationen über eine Modbusschnittstelle oder muss ich für jedes System eine eigene Modbusschnittstelle einbauen?
Freut mich, dass dir das Video gefällt. Da kann man leider keine allgemeine Aussage treffen. I.d.R. benötigt jedoch jedes Systen dass ich abfragen möchte eine eigene Modbusschnittstelle. Bei Klimageräten ist es aber bspw. häufig so, dass die Modbusschnittstelle am interen Klimaanlagen-Bus hängt und darüber dann alle Geräte abgefragt werden können.
Die Modbusschnittstelle auf Geräte Seite ist aber oftmals gar kein Problem, da dies bereits als Standardprotokoll implementiert ist.
Auf KNX-Seite bin ich mir gerade nicht ganz sicher ob die gängigen Gateways bspw. von Weinzierl mehrere Slaves abfragen können. Das müsste man im Datenblatt mal nachschauen. Mit der Node-Red Bibliothek ist das aber definitiv möglich.
Danke für das Video!
Wie werden über Node Red z.B. 2 oder 3 Modbus RTU Geräte ausgelesen? Viele Geräte haben nur eine Modbus RTU Schnittstelle.
Dann brauchst du eine entsprechende USB-Schnittstelle die du an deinen Node-Red-Server anschließt. Du kannst die gleiche Bibliothek benutzten in Node-Red musst beim Modbus-Server in der Config-Node nur einstellen das die Verbindung über Seriell geschehen soll
Super, gibt es auch eine Video von Node Red wo Modbus als Server benutz werden kann. Ich möchte ein verbindug zu einer SPS die als Client (Master) konfiguriert ist aufbauen.
Super erklärt Torben, vielen Dank. Hab jetzt auch einen Flow mit mehreren Injects und Intervallen gebaut, allerdings wird mir nach 10 Sekunden immer nur das Ergebnis aus dem 1. Inject im Debugfenster angezeigt. Wenn ich das Intervall in jedem Inject um 1 Sekunde höher als das vorhergehende einstelle, dann klappt es auch. Aber das muss doch auch gleichzeitig funktionieren oder?
Wenn ich die injects einzeln vorne anklicke, dann bekomme ich die einzelnen Ergebnisse auch angezeigt. Gibt es da eine Einstellung die ich noch machen muss, damit mir alle Ergebnisse im Debugfenster gleichzeitig angezeigt werden? Viele Grüße, Andi
Kannst du den nachvollziehen ob das Nachrichtenobjekt noch bis zun Modbus Node kommt? Also am besten mal ein Debug Node parallel zum Modbus Noder erstellen
Hallo ein sehr guter Beitrag.
Ich habe selbst ein Wago SPS 750-881 in Gebäudeautomation eingesetzt. Die wird mit der Codesys 2.3 programmiert. Mit Hilfe von Node-Red lese ich von meinem PV-Wechselrichter (Huawei) die Daten aus und stelle in IoBroker zur Verfügung um die zu später zu visualisieren. Ich kann aus IoBroker mit einer Modbus-Instanz die Register von Wago-SPS auslesen und schreiben. Direkt im Node-Red habe ich die Vorgehensweise noch nicht gekannt.
Das Thema ist nicht so schwer, wenn man erst verstanden hat, was für Regel zu beachten sind.
Auf UA-cam habe so ein gut erklärtes Modbus - Node-Red Aufgabe nicht gefunden.
Ich würde gerne ein Video von Ihnen sehen wie man Werte (Digitale, Integer, Gleitkomma) in die Wago SPS schreibt.
Schöne Grüße
Hallo Max,freut mich, dass dir das Video gefallen hat. Deinen Vorschlag habe ich mir mal notiert 👍
hast du auch was mit auf Modbus schreiben. auslesen hat funktioniert jetzt möchte ich die Werte aber ändern. (Fronius Batterie Steuerung) komisch nur bei mir sind die register immer -1 ; also eine Registeradresse davor, aber nur im RedNode. über den Modbus-tester nicht
Würde gerne einen Wert aus einem SMA Wechselrichter auslesen. In der Modbusbeschreibung wird folgendes angegeben:
CNT (WORD) = 4 / Typ = U64 / Format = FIX0 / Zugriff RO
Was muss ich hier im buffer-parser hinterlegen um den Wert richtig auszulesen?
Danke!
Probiere es mal mit "biguint64 (be)"
Hallo Torben, danke schonmal für den Super Content. Wenn ich jetzt aber mehrere Modbus Geräte abfragen möchte im selben Flow, so übernehmen sie alle immer die Servereinstellungen von der geänderten Node. Ist es möglich im selben Flow Read-Nodes mit unterschiedlichen Servereinstellungen zu konfigurieren? Lg Gavin
Das geht problemlos. Dafür legst du einfach einen neuen Server in der Konfiguration des Nodes an. Also dort wo der "geerbte" Server drin steht klickst du drauf und legst einen neuen an
ist deine sps besser als die siemens logo 8.4?
Hallo Torben, danke für das super Video. Ich habe jetzt schon erfolgreich Werte mit 1-2 Register (1-4 Byte) gelesen und mit dem buffer-parser interpretiert. Wenn ich aber einen Wert mit 4 Register (8 Byte) lesen und dann mit dem buffer-parser als biguint64 interpretieren will bekomme ich die folgende Fehlermeldung: msg : error
"TypeError: Cannot mix BigInt and other types, use explicit conversions". Hast du vielleicht eine Ahnung woran das liegen könnte? MfG Manfred
Hallo Torben, vielen Dank für deine Informationen. Gibt es eine Möglichkeit aus dem Modbus gelesene Daten in Home Assistant zu übergeben? z.B. Betriebsstatus, Leistung und Energie. Ich würde gerne meine Wallbox über node red addon an home assistant übergeben.
HA hat eine direkte Modus Integration. Da musst du aber die Entitäten leider über eine yaml Datei anlegen
Servus Torben Ledermann, habe Modbus ausprobiert. Wollte ausgelesene Daten "Gleidkommazahl" an CCu auf eine SysVar schreiben. Jedoch gelingt mir nicht Temp1 aus dem Parser an die CCU zu übergeben. Wäre schön hierzu ein Video zu haben.
Puh Homematic-IP ist leider nicht mein Schwerpunkt. Kannst du denn überhaupt einen Wert an die CCU schreiben?
mehrere Adressen auf einmal auslesen ist ja recht einfach wenn diese aufeinander folgen (wie im video 24,25,26,27) - aber gibt es eine Möglichkeit mehrere Adressen auf einmal auszulesen wenn diese nicht so aufeinander folgen? z.b.0,1,5,6,70,71,105,106)?
ist es eine blöde Idee mehrere flex getter nodes zu verwenden?
ich lese 2 stromzähler aus, der übersicht halber wollte ich 2 separate flows aufbauen, aber vom video have ich den eindruckk bekommen dass dies keine gute idee ist da ich dann auch 2 flex getter nodes aktiv verwenden würde.
besser einen und alle abfragen über den mit queue?
Danke! :)
Nein das geht leider nicht, die Register müssen nebeneinander liegen. Wie häufig willst du die Geräte den zyklisch abfragen?
Frage : Ich will die Analogwerte meines Wechselrichter auslesen und es klappt auch genau alles wie in dem Video - nur ich bekomme keine Werte - da steht auch active aber beim Debug zeigt der mir nichts
Hast du die Register mal mit dem Handbuch des Wechselrichters verglichen? Eine Fehlermeldung gibt es auch nicht?
konnte es genauso gut bei meinem Stromzähler umsetzen, nur leider zeigt er mir bei negativen Werten einen Zahl von größer 64000 an,
Welchen Zähler fragst du denn ab?
Victron Cerbo GX, bzw EM24 (INT16)
Bin Anfänger .
Läuft unter CCU3 Redmatic
Hallo, versuche gerade ebenfalls mit Node-Red und modbus auf das KSEM (Kostal Smart Energy Meter) zuzugreifen.
Aber ich scheiter bereits beim "Active" !! Die Verbindung geht auf connected, dann wieder auf reconnecting in 2.000 ms, aber nicht auf activ.
Woran kann es liegen ?
Lösung gefunden: Im KSEM fehlte die Freigabe für "Slave - Aktiviere TCP-Slave"
Danke für das posten der Lösung ✌️
Hallo Torben, tolle Erklärung, danke
Das Auslesen klappt bei mir mit dem Modbus-Read Node genau wie von Dir beschrieben. Bei Übernahme der Daten auf den Flex Getter mit dem inject node bekomme ich aber immer die Fehlermeldung ""Error: Modbus exception 2: Illegal data address (register not supported by device)" - Die Eingabedaten sind aber sicher identisch und das Modbus Gerät blieb unverändert.
Hast Du eine Idee was das sein könnte?
Danke
Das ist eine Fehlermeldung vom Modbus Gerät welches du ausliest. Du liest scheinbar ein Register aus, welches auf dem Gerät nicht existiert. Überprüfe bitte mal die Registeradresse mit der im Handbuch des Geräts
Hallo, kannst du bitte ein Video mit Modbus mit Intesis Modbus IR universal AC zuschicken, ich will wiesen wie man Klimaanlage und ihren werte mit NodeRed und Intesis Modbus Gerät und unser klimaanlage programmieren kann. Vielen dank für dein Tolle Videos!
Hallo, wie kann ich Sensoren von esphome auslesen, gibt es da schon ein Video
Ein Video gibt es dazu von mir noch nicht. Ich habe mir das Thema aber mal notiert
Wahnsinn... ich blicke leider selbst nach dem Video noch nichts.
Versuche meinen Logarex LK13BE Zähler über die RS485 auszulesen, direkt ins HomeAssistant über die Modbus Schnittstelle direkt im HomeAssistant und kriege es leider einfach nicht hin.
Finde aber leider auch nichts zu dem Logarex LK13BE auf welchem Register das liegt oder wie ich da heran gehen soll...
Hi bist du sicher dass der Zähler Modbus kann? Ich habe mir mal das Datenblatt angeschaut. Der hat zwar eine RS485 Schnittstelle worüber Daten ausgelesen werden können, aber wenn ich das richtig sehe nur per SML. Vlt. kannst du mit der Bibliothek was anfangen: node-red-contrib-smartmeter