{"id":9654,"date":"2026-02-28T10:00:00","date_gmt":"2026-02-28T09:00:00","guid":{"rendered":"https:\/\/de.elv.com\/elvjournal\/?p=9654"},"modified":"2026-03-03T14:48:40","modified_gmt":"2026-03-03T13:48:40","slug":"usb-iec-node-red-stromzaehler-auslesen-verarbeiten","status":"publish","type":"post","link":"https:\/\/de.elv.com\/elvjournal\/usb-iec-node-red-stromzaehler-auslesen-verarbeiten\/","title":{"rendered":"Smarter Strom \u2013 Daten vom USB-IEC-Interface mit Node-RED auslesen und verarbeiten"},"content":{"rendered":"\n<h3 class=\"wp-block-heading has-gray-light-color has-text-color has-link-color wp-elements-90a95a6f01f2325d35dab9b5f838b5f1\"><strong>Smarter Strom<\/strong><\/h3>\n\n\n\n<h1 class=\"wp-block-heading\">Daten vom USB-IEC-Interface mit Node-RED auslesen und verarbeiten<\/h1>\n\n\n\n<p><strong>Der <span data-tooltip=\"158713\" class=\"dhsv-product-tooltip\">ELV Bausatz USB-IEC-Interface<\/span> dient zum Auslesen von Daten \u00fcber optische Schnittstellen, beispielsweise an Stromz\u00e4hlern. Um die Informationen zu erfassen und weiterzuverarbeiten, gibt es eine Reihe freier und kommerzieller Software. In diesem Beitrag zeigen wir, wie man mithilfe eines Raspberry\u202fPi und des Software-Prototyping-Tools Node-RED die Daten auslesen, in einer Oberfl\u00e4che optisch aufbereiten und anderen Anwendungen zur Verf\u00fcgung stellen kann.<\/strong><\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Grundlagen der Technologien<\/h2>\n\n\n\n<p>Um Daten wie die aktuelle Leistung oder den Z\u00e4hlerstand \u00fcber die optische Schnittstelle der neueren Stromz\u00e4hler abzurufen, sollte man sich zun\u00e4chst mit den Grundlagen dieser Technologie besch\u00e4ftigen. Die in der Norm EN\u202f62056-21 definierte Schnittstelle haben wir bereits in <a href=\"https:\/\/de.elv.com\/p\/energieverbrauch-im-blick-energie-sensor-fuer-smart-meter-P205621\/\">diesem Beitrag<\/a> ausf\u00fchrlich vorgestellt. Zudem haben wir das h\u00e4ufig verwendete SML-Protokoll in <a href=\"https:\/\/de.elv.com\/p\/rente-fuer-ferraris-zaehler-digitale-stromzaehler-mit-sml-protokoll-auslesen-P250925\/\">diesem Artikel<\/a> eingehend erl\u00e4utert.<br>Als Grundlage f\u00fcr das Auslesen, die Verarbeitung und Anzeige sowie die Weiterleitung der Daten nutzen wir das vor allem f\u00fcr das Prototyping geeignete Software-Tool Node-RED. In unserer dreiteiligen Einf\u00fchrung (<a href=\"https:\/\/de.elv.com\/p\/programmieren-fast-ohne-code-teil-1-node-red-als-universelles-prototyping-tool-P251410\/\">Teil&nbsp;1<\/a>, <a href=\"https:\/\/de.elv.com\/p\/programmieren-fast-ohne-code-teil-2-node-red-als-universelles-prototyping-tool-P251516\/\">Teil&nbsp;2<\/a>, <a href=\"https:\/\/de.elv.com\/p\/programmieren-fast-ohne-code-teil-3-node-red-praktische-anwendungen-P251603\/\">Teil&nbsp;3<\/a>) sind wir ausf\u00fchrlich auf die Grundlagen, die Installation und Anwendung dieser praktischen Software eingegangen.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Schritt 1: Hardware-Test<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>Als Grundlage bei der Hardware dient uns der Raspberry\u202f&nbsp;Pi&nbsp;4 Model&nbsp;B mit 2&nbsp;GB\u202fRAM. Es d\u00fcrften allerdings auch Raspberry&nbsp;Pi der zweiten und dritten Generation ausreichen, um Node-RED problemlos zu betreiben.<br>F\u00fcr die ersten Schritte ben\u00f6tigen wir die Software allerdings noch nicht, da wir zun\u00e4chst testen, ob \u00fcberhaupt Daten aus der optischen Schnittstelle ausgegeben werden. Dazu bringen wir als Erstes das USB-IEC-Interface am Stromz\u00e4hler an und schlie\u00dfen dann den USB-Stecker an den betriebsbereiten Raspberry&nbsp;Pi an. Ist die optische Schnittstelle aktiv, sollte die RX-LED des USB-IEC-Interface periodisch aufleuchten und damit den Empfang der Daten signalisieren <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\">(Bild&nbsp;1)<\/mark>.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:40%\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"894\" height=\"1364\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_1_USB_IEC_mit_Node-RED.jpg\" alt=\"\" class=\"wp-image-9666\" style=\"object-fit:cover\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_1_USB_IEC_mit_Node-RED.jpg 894w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_1_USB_IEC_mit_Node-RED-197x300.jpg 197w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_1_USB_IEC_mit_Node-RED-768x1172.jpg 768w\" sizes=\"auto, (max-width: 894px) 100vw, 894px\" \/><figcaption class=\"wp-element-caption\">Bild 1: Der USB-IEC an einem Stromz\u00e4hler ISKRA MT681 mit aktivierter optischer Schnittstelle<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Sind in dem Bausatz die LEDs nicht verbaut, kann man sich alternativ auch mit einer Smartphone-Kamera den Bereich anschauen, in dem sich die \u00dcbertragungs-LEDs des Stromz\u00e4hlers befinden. Obwohl diese LEDs im Infrarotbereich \u00fcbertragen und f\u00fcr das menschliche Auge nicht sichtbar sind, k\u00f6nnen die Handy-Kameras diesen Wellenl\u00e4ngenbereich des Lichts erfassen. Auf diese Weise ist ebenfalls eine Kontrolle m\u00f6glich, ob die optische Schnittstelle aktiviert ist.<\/p>\n\n\n\n<p>Nach dem Hardware-Test teilen sich die Wege zum Auslesen der Daten von der Schnittstelle des Stromz\u00e4hlers und die Verarbeitung per Node-RED. Ist die optische Schnittstelle aktiviert und kommen die Daten per SML-Protokoll, k\u00f6nnen wir mit fortfahren. Ansonsten m\u00fcssen wir uns zun\u00e4chst um die Aktivierung der Datenausgabe in k\u00fcmmern.<\/p>\n\n\n\n<p class=\"has-gray-lightest-100-background-color has-background\"><strong>Hinweis: <\/strong>Es kann auch sein, dass der Z\u00e4hler die Daten im Push-Betrieb ausgibt, es sich aber nicht um das SML-, sondern um das D0-Protokoll handelt (Modus&nbsp;D).<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Schritt 2: Aktivierung der optischen Schnittstelle<\/h2>\n\n\n\n<p>Abh\u00e4ngig vom Typ des Stromz\u00e4hlers, der im Z\u00e4hlerschrank vom Energieversorger installiert ist, l\u00e4sst sich die optische Schnittstelle auf unterschiedliche Arten aktivieren. Eine Suche im Internet hilft in der Regel weiter und auch Webseiten wie beispielsweise volkszaehler.org, die sich mit der Erfassung von Z\u00e4hlerst\u00e4nden befassen, haben hier unter Umst\u00e4nden wertvolle Informationen. Angaben zum verwendeten Protokoll zahlreicher Z\u00e4hler findet man auch in der <a href=\"https:\/\/media.elv.com\/file\/142148_zaehlerliste.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">Konfigurationsliste des ES-IEC<\/a> (unter Downloads).<\/p>\n\n\n\n<p>Wir wollen das \u201eAufwecken\u201c der Schnittstelle, das in der Regel vor jedem Auslesen erneut ausgel\u00f6st werden muss, exemplarisch an einem Stromz\u00e4hler vom Typ ISKRA MT171 zeigen, der seine Daten basierend auf dem D0-Protokoll im Modus&nbsp;C ausgibt. Dazu schlie\u00dfen wir zun\u00e4chst das USB-IEC-Interface sowohl an den Raspberry&nbsp;Pi per USB als auch mit dem Lesekopf an den Stromz\u00e4hler an.<\/p>\n\n\n\n<p>Zur Kommunikation mit dem Z\u00e4hler \u00fcber die serielle Schnittstelle bieten sich unter Raspbian beispielsweise cutecom und unter <a href=\"http:\/\/der-hammer.info\/pages\/terminal.html\">Windows HTerm<\/a> an. Da das USB-IEC-Interface ohnehin schon am Raspberry&nbsp;Pi angeschlossen ist, verwenden wir das Linux-Tool. Unter Windows ist die Vorgehensweise analog \u2013 entscheidend sind hier zum einen die Einstellungen f\u00fcr die Schnittstelle und zum anderen die Befehle, die an den Z\u00e4hler geschickt werden.<br>Zun\u00e4chst installieren wir mit sudo\u202fapt\u202finstall\u202fcutecom die Software auf dem Raspberry&nbsp;Pi. Mit dmesg k\u00f6nnen wir in den Log-Eintr\u00e4gen die verwendete serielle Schnittstelle feststellen. Ist sie nicht als einer der letzten Eintr\u00e4ge aufgef\u00fchrt, stecken wir den USB-IEC kurz ein und wieder aus und wiederholen den Aufruf des Befehls.<br>F\u00fcr unseren beispielhaft verwendeten ISKRA\u202fMT171 m\u00fcssen wir die Schnittstelle wie folgt einstellen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Baudrate: 300<\/li>\n\n\n\n<li>Data Bits: 7<\/li>\n\n\n\n<li>Flow Control: None<\/li>\n\n\n\n<li>Parity: Even<\/li>\n\n\n\n<li>Open Mode: Read\/Write<\/li>\n\n\n\n<li>Stop Bits: 1<\/li>\n\n\n\n<li>Device: \/dev\/ttyUSB0<\/li>\n<\/ul>\n\n\n\n<p>Mit \u201eOpen\u201c \u00f6ffnen wir die Schnittstelle<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\"> (Bild\u202f2)<\/mark>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"892\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_2_USB_IEC_mit_Node-RED-1600x892.jpg\" alt=\"\" class=\"wp-image-9667\" style=\"width:700px\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_2_USB_IEC_mit_Node-RED-1600x892.jpg 1600w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_2_USB_IEC_mit_Node-RED-300x167.jpg 300w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_2_USB_IEC_mit_Node-RED-768x428.jpg 768w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_2_USB_IEC_mit_Node-RED-1536x856.jpg 1536w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_2_USB_IEC_mit_Node-RED.jpg 1608w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-element-caption\">Bild 2: Konfiguration der Schnittstelle f\u00fcr den ISKRA MT171<\/figcaption><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Bei unserem im Beispiel verwendeten Z\u00e4hler m\u00fcssen wir mit der Befehlsfolge 2F\u202f3F\u202f21\u202f0D\u202f0A zun\u00e4chst den Z\u00e4hler ansprechen, der sich dann mit seiner Kennung (u.\u00a0a. Hersteller, Typ und aktuelle maximale Baudrate) zur\u00fcckmeldet <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\">(Bild\u00a03)<\/mark>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\" style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"889\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_3_USB_IEC_mit_Node-RED-1600x889.jpg\" alt=\"\" class=\"wp-image-9668\" style=\"width:700px\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_3_USB_IEC_mit_Node-RED-1600x889.jpg 1600w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_3_USB_IEC_mit_Node-RED-300x167.jpg 300w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_3_USB_IEC_mit_Node-RED-768x427.jpg 768w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_3_USB_IEC_mit_Node-RED-1536x853.jpg 1536w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_3_USB_IEC_mit_Node-RED.jpg 1609w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-element-caption\">Bild 3: R\u00fcckmeldung des Stromz\u00e4hlers<\/figcaption><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-gray-lightest-100-background-color has-background\"><strong>Tipp:<br><\/strong>Wir benutzen f\u00fcr unser Beispiel durchgehend hexadezimale Zahlen als Befehle. Die Folge<br>2F      3F      21      0D     0A<br>\/          ?        !         CR      LF<br>bedeutet \u00fcbertragen in ASCII-Zeichen die unter den hexadezimalen Zahlenwerten aufgef\u00fchrte ASCII-Folge, wobei CR f\u00fcr Carriage Return und LF f\u00fcr Line Feed stehen. Bei der reinen \u00dcbertragung in hexadezimalen Zahlen gibt es vor allem hinsichtlich der abschlie\u00dfenden CR- und LF-Zeichen weniger Verwirrung, aber das mag Geschmackssache vor allem auch hinsichtlich des jeweils verwendeten Terminal-Programms sein.<br>Bei den Quellen im Internet ist nicht immer eindeutig, wie die Befehlsfolge genau im Terminal-Programm einzugeben ist, von daher sind hier unter Umst\u00e4nden mehrere Versuche notwendig.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>K\u00f6nnen wir mit unserem Stromz\u00e4hler auf diese Art und Weise kommunizieren, ist die gr\u00f6\u00dfte H\u00fcrde bereits genommen. Nun m\u00fcssen wir noch den Befehl zur Ausgabe der Daten an den Z\u00e4hler senden. In unserem Fall ist das recht zeitkritisch, da dieser Befehl kurz nach der R\u00fcckmeldung des Z\u00e4hlers erfolgen muss.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<p>In unserem Terminalprogramm geben wir<br>06 30 30 30 0D 0A<br>unmittelbar nach der R\u00fcckmeldung ein und erhalten in der Ausgabe des Terminalprogramms die verf\u00fcgbaren Datens\u00e4tze <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\">(Bild 4)<\/mark>. Unter Umst\u00e4nden muss man dies mehrfach versuchen, bevor man eine R\u00fcckmeldung erh\u00e4lt.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1592\" height=\"861\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_4_USB_IEC_mit_Node-RED.jpg\" alt=\"\" class=\"wp-image-9669\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_4_USB_IEC_mit_Node-RED.jpg 1592w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_4_USB_IEC_mit_Node-RED-300x162.jpg 300w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_4_USB_IEC_mit_Node-RED-768x415.jpg 768w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_4_USB_IEC_mit_Node-RED-1536x831.jpg 1536w\" sizes=\"auto, (max-width: 1592px) 100vw, 1592px\" \/><figcaption class=\"wp-element-caption\">Bild 4: Verf\u00fcgbare Datens\u00e4tze des MT171<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Nutzt man lieber Windows, sind die Einstellungen bei HTerm in den Screenhsots in <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\">Bild&nbsp;5<\/mark> und <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\">Bild&nbsp;6 <\/mark>zu sehen. Diesen Ablauf der Kommunikation mit dem D0-Protokoll des ISKRA&nbsp;MT171 werden wir sp\u00e4ter nutzen, wenn es darum geht, die Daten in Node-RED aus dem Stromz\u00e4hler auszulesen.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:57%\">\n<figure class=\"wp-block-image size-full is-style-bordered\"><img loading=\"lazy\" decoding=\"async\" width=\"1368\" height=\"821\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_5_USB_IEC_mit_Node-RED.jpg\" alt=\"\" class=\"wp-image-9670\" style=\"object-fit:cover\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_5_USB_IEC_mit_Node-RED.jpg 1368w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_5_USB_IEC_mit_Node-RED-300x180.jpg 300w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_5_USB_IEC_mit_Node-RED-768x461.jpg 768w\" sizes=\"auto, (max-width: 1368px) 100vw, 1368px\" \/><figcaption class=\"wp-element-caption\">Bild 5: Initialer Befehl zur Kommunikation bei HTerm \u2026<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-style-bordered\"><img loading=\"lazy\" decoding=\"async\" width=\"880\" height=\"815\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_6_USB_IEC_mit_Node-RED.jpg\" alt=\"\" class=\"wp-image-9671\" style=\"object-fit:cover\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_6_USB_IEC_mit_Node-RED.jpg 880w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_6_USB_IEC_mit_Node-RED-300x278.jpg 300w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_6_USB_IEC_mit_Node-RED-768x711.jpg 768w\" sizes=\"auto, (max-width: 880px) 100vw, 880px\" \/><figcaption class=\"wp-element-caption\">Bild 6: \u2026 und anschlie\u00dfende Ausgabe der Daten.<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Schritt 3: Streng nach Protokoll<\/h2>\n\n\n\n<p>Im obigen Beispiel des Stromz\u00e4hlers MT171 wird bei diesem das D0-Protokoll mit einer Aufwecksequenz verwendet, f\u00fcr das wir jetzt einen sogenannten Flow mit allen Bestandteilen in Node-RED erstellen werden. Im Gegensatz zum Stromz\u00e4hler vom Typ\u202fMT681 (siehe Schritt&nbsp;4) des gleichen Herstellers, bei dem die optische Schnittstelle bereits aktiviert ist und die Daten im SML-Protokoll ausgegeben sind, gibt es hier kein bereits fertiges Node-RED-Modul zum Auslesen.<br>Doch bevor wir Node-RED starten, werfen wir einen Blick auf die zur\u00fcckgegebenen Daten:<br><br>0-0:C.1.0255(46704565)<br>1-0:0.0.0255(784000-2900038)<br>1-0:0.2.0255(V1.0)<br>1-0:1.8.0255(094504 kWh)<br>1-0:2.8.0*255(055653 kWh)<\/p>\n\n\n\n<p>Nach dem <a href=\"https:\/\/de.elv.com\/p\/rente-fuer-ferraris-zaehler-digitale-stromzaehler-mit-sml-protokoll-auslesen-P250925\/\" target=\"_blank\" rel=\"noreferrer noopener\">OBIS-Kennziffernschema<\/a> sehen wir hier in den ersten drei Zeilen Angaben zum Z\u00e4hler (Z\u00e4hlernummern, Version). Erst darunter wird es mit echten Messwerten interessant. Unter 1.8.0 wird der Za\u0308hlerstand \u201eBezug, gesamt\u201c u\u0308ber alle Tarife angezeigt. Da es sich um einen Zweirichtungsz\u00e4hler handelt, folgt darunter unter 2.8.0 die Summe zur Stromeinspeisung in das Netz. Diese beiden Werte sind im Folgenden f\u00fcr uns von besonderem Interesse.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Datenanalyse<\/h3>\n\n\n\n<p>Mit diesem Wissensstand starten wir Node-RED wie gewohnt auf unserem Raspberry&nbsp;Pi und loggen uns unter der IP des Kleinrechners im Node-RED-Editor ein. Eine ausf\u00fchrliche Einf\u00fchrung zur Installation und den ersten Schritten in Node-RED gibt es in <a href=\"https:\/\/de.elv.com\/p\/programmieren-fast-ohne-code-teil-1-node-red-als-universelles-prototyping-tool-P251410\/\" target=\"_blank\" rel=\"noreferrer noopener\">diesem Beitrag<\/a>.<\/p>\n\n\n\n<p>F\u00fcr unsere Anwendung mit dem Zugriff auf die serielle Schnittstelle ben\u00f6tigen wir das Modul node-red-node-serialport, das wir mit der Palettenverwaltung installieren. Im Flow erstellen wir zun\u00e4chst einen Inject-Node, der den Aufweck- und Auslesevorgang ansto\u00dfen wird. Danach m\u00fcssen wir ein bisschen tricksen: Da wir zwei hexadezimale Befehlsfolgen (s.&nbsp;o.) in einem zeitkritischen Abstand senden wollen, bedienen wir uns eines Trigger-Nodes, in den wir die beiden Folgen in Form eines Buffer-Arrays zeitversetzt senden. Hier sind unter Umst\u00e4nden je nach verwendetem Stromz\u00e4hler Anpassungen bzw. Feinschliff notwendig <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\">(Bild&nbsp;7)<\/mark>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-bordered\" style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"782\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_7_USB_IEC_mit_Node-RED-1600x782.jpg\" alt=\"\" class=\"wp-image-9672\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_7_USB_IEC_mit_Node-RED-1600x782.jpg 1600w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_7_USB_IEC_mit_Node-RED-300x147.jpg 300w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_7_USB_IEC_mit_Node-RED-768x376.jpg 768w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_7_USB_IEC_mit_Node-RED-1536x751.jpg 1536w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_7_USB_IEC_mit_Node-RED.jpg 2004w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-element-caption\">Bild 7: Konfiguration des Trigger-Nodes<\/figcaption><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Nat\u00fcrlich lie\u00dfe sich das noch perfektionieren \u2012 eigentlich m\u00fcsste die erste Antwort vom Z\u00e4hler abgewartet und ausgewertet werden. Mit dem Date-Readout-Befehl erfolgt dann auch die Umschaltung der Baudrate. Auf den Trigger-Node folgt die Konfiguration des Serial-Request-Nodes nach den Daten aus dem oben gezeigten Ablauf der seriellen Kommunikation mit dem Stromz\u00e4hler <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\">(Bild\u00a08)<\/mark>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized is-style-bordered\"><img loading=\"lazy\" decoding=\"async\" width=\"1202\" height=\"1056\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_8_USB_IEC_mit_Node-RED.jpg\" alt=\"\" class=\"wp-image-9673\" style=\"width:700px\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_8_USB_IEC_mit_Node-RED.jpg 1202w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_8_USB_IEC_mit_Node-RED-300x264.jpg 300w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_8_USB_IEC_mit_Node-RED-768x675.jpg 768w\" sizes=\"auto, (max-width: 1202px) 100vw, 1202px\" \/><figcaption class=\"wp-element-caption\">Bild 8: Konfiguration des Serial-Request-Nodes<\/figcaption><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>H\u00e4ngt man an diesen Flow einen Debug-Node an, erh\u00e4lt man bereits die Ausgabe wie im Terminal. Wie immer kann man in Node-RED die Daten jetzt auswerten, anzeigen und\/oder weiterleiten. Ein Beispiel-Flow <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\">(Bild&nbsp;9)<\/mark> finden Sie in diesem Beitrag unten unter Downloads.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-bordered\" style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"362\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_9_USB_IEC_mit_Node-RED-1600x362.jpg\" alt=\"\" class=\"wp-image-9674\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_9_USB_IEC_mit_Node-RED-1600x362.jpg 1600w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_9_USB_IEC_mit_Node-RED-300x68.jpg 300w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_9_USB_IEC_mit_Node-RED-768x174.jpg 768w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_9_USB_IEC_mit_Node-RED-1536x348.jpg 1536w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_9_USB_IEC_mit_Node-RED-2048x464.jpg 2048w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-element-caption\">Bild 9: Beispiel-Flow, der den Messwert zum Strombezug aus dem Datensatz extrahiert<\/figcaption><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Schritt 4: SML mit Smartmeter-Node<\/h2>\n\n\n\n<p>Haben wir einen Stromz\u00e4hler mit st\u00e4ndig aktivierter Ausgabe, der mit dem D0- oder SML-Protokoll arbeitet, k\u00f6nnen wir das eigens f\u00fcr diesen Zweck entwickelte Node-RED-Modul node-red-contrib-smartmeter nutzen. Wir installieren dieses und ziehen den Smartmeter-Knoten in den Editor. Diesen m\u00fcssen wir zun\u00e4chst konfigurieren \u2013 auch hier bleibt es uns nicht erspart, die Eigenschaften der seriellen Schnittstelle herauszufinden und das verwendete Protokoll einzustellen <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\">(Bild&nbsp;10)<\/mark>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized is-style-bordered\" style=\"margin-top:var(--wp--preset--spacing--20);margin-bottom:var(--wp--preset--spacing--20)\"><img loading=\"lazy\" decoding=\"async\" width=\"1272\" height=\"832\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_10_USB_IEC_mit_Node-RED.jpg\" alt=\"\" class=\"wp-image-9675\" style=\"width:700px\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_10_USB_IEC_mit_Node-RED.jpg 1272w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_10_USB_IEC_mit_Node-RED-300x196.jpg 300w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_10_USB_IEC_mit_Node-RED-768x502.jpg 768w\" sizes=\"auto, (max-width: 1272px) 100vw, 1272px\" \/><figcaption class=\"wp-element-caption\">Bild 10: Konfiguration des Smartmeter-Nodes<\/figcaption><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p>Hier reicht ein Debug-Node und die Z\u00e4hlerdaten werden nach dem OBIS-Kennziffernschema ausgegeben. Bei dem verwendeten Z\u00e4hler Iskra MT681 wird nicht nur der Z\u00e4hlerstand, sondern auch die momentane Leistung angezeigt. So lassen sich neben der automatisierten Ablesung des Z\u00e4hlers beispielsweise auch Analysen \u00fcber den Verbrauch im (Tages-)Verlauf anstellen.<\/p>\n\n\n\n<p>Im Download-Bereich dieses Beitrags finden Sie einen Beispiel-Flow mit der Extraktion der Messwerte, Weiterleitung per MQTT und einer schicken Anzeige im Dashboard, die sich lokal im Browser oder von au\u00dfen per VPN auch auf dem Smartphone abrufen l\u00e4sst <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\">(Bild&nbsp;11)<\/mark>.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full is-style-bordered\"><img loading=\"lazy\" decoding=\"async\" width=\"540\" height=\"1045\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_11_USB_IEC_mit_Node-RED-e1772181165760.jpg\" alt=\"Bild 11: Anzeige der Z\u00e4hlerdaten per Node-RED-Dashboard auf dem Smartphone\" class=\"wp-image-9676\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_11_USB_IEC_mit_Node-RED-e1772181165760.jpg 540w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Bild_11_USB_IEC_mit_Node-RED-e1772181165760-155x300.jpg 155w\" sizes=\"auto, (max-width: 540px) 100vw, 540px\" \/><figcaption class=\"wp-element-caption\">Bild 11: Anzeige der Z\u00e4hlerdaten per Node-RED-Dashboard auf dem Smartphone<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Fazit<\/h2>\n\n\n\n<p>Mit dem Bausatz USB-IEC-Interface und dem Software-Tool Node-RED lassen sich in wenigen Schritten Stromz\u00e4hler, aber auch andere Ger\u00e4te mit optischer Schnittstelle auslesen. Neben der Auswertung der Messdaten kann man diese auch ansprechend darstellen und zur weiteren Verarbeitung weiterleiten. Der n\u00e4chste Schritt zur automatisierten Analyse von bestimmten Verbrauchern anhand ihres Stromverbrauchs ist da nur noch einen Schritt (mit etwas k\u00fcnstlicher Intelligenz) entfernt.<\/p>\n\n\n<div class=\"alignnone wp-block-dhsv-product-teaser\">\n    <div data-component=\"ProductTeaser\" data-props=\"{&quot;productIds&quot;:&quot;158713,155523&quot;,&quot;view&quot;:&quot;list&quot;,&quot;slider&quot;:true,&quot;sliderMobile&quot;:true,&quot;align&quot;:&quot;none&quot;}\"><\/div>\n<\/div>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit dem USB-IEC-Interface lassen sich Stromz\u00e4hlerdaten \u00fcber die optische IEC-Schnittstelle auslesen \u2013 und mit Node-RED auf dem Raspberry Pi direkt weiterverarbeiten. Der Beitrag zeigt den Weg vom Hardware-Test \u00fcber die Aktivierung der Schnittstelle (z. B. D0\/Modus C) bis zur komfortablen Auswertung per Smartmeter-Node, inklusive Dashboard und MQTT-Anbindung.<\/p>\n","protected":false},"author":6,"featured_media":10609,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[160,163],"tags":[1474,1472,1476,1475,1467,1466,1473,1477,1471,1470,1469,1468,1465],"post-author":[161],"class_list":["post-9654","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projekt-diy","category-smart-home-automation","tag-cutecom-dmesg-ttyusb0","tag-d0-protokoll-iec-62056-21","tag-iskra-mt171-mt681","tag-mqtt-stromzaehlerdaten","tag-node-red-contrib-smartmeter","tag-node-red-node-serialport","tag-obis-kennziffern","tag-optische-schnittstelle-aktivieren","tag-raspberry-pi-stromzaehler-auslesen","tag-smart-meter-dashboard","tag-sml-node-red","tag-stromzaehler-node-red","tag-usb-iec-node-red","post-author-tammo"],"acf":[],"info":{"thumbnail":{"url":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/header_usb-iec_node-red.jpg","alt":""},"teaserImage":{"ID":10611,"id":10611,"title":"liste-beitrag_usb-iec_node-red","filename":"Liste-Beitrag_usb-iec_node-red.jpg","filesize":77662,"url":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_usb-iec_node-red.jpg","link":"https:\/\/de.elv.com\/elvjournal\/usb-iec-node-red-stromzaehler-auslesen-verarbeiten\/liste-beitrag_usb-iec_node-red\/","alt":"","author":"5","description":"","caption":"","name":"liste-beitrag_usb-iec_node-red","status":"inherit","uploaded_to":9654,"date":"2026-02-11 09:06:13","modified":"2026-02-11 09:06:13","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/elvjournal.elv.com\/wp-includes\/images\/media\/default.png","width":433,"height":274,"sizes":{"thumbnail":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_usb-iec_node-red-250x250.jpg","thumbnail-width":250,"thumbnail-height":250,"medium":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_usb-iec_node-red-300x190.jpg","medium-width":300,"medium-height":190,"medium_large":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_usb-iec_node-red.jpg","medium_large-width":433,"medium_large-height":274,"large":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_usb-iec_node-red.jpg","large-width":433,"large-height":274,"1536x1536":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_usb-iec_node-red.jpg","1536x1536-width":433,"1536x1536-height":274,"2048x2048":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_usb-iec_node-red.jpg","2048x2048-width":433,"2048x2048-height":274,"gform-image-choice-sm":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_usb-iec_node-red.jpg","gform-image-choice-sm-width":300,"gform-image-choice-sm-height":190,"gform-image-choice-md":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_usb-iec_node-red.jpg","gform-image-choice-md-width":400,"gform-image-choice-md-height":253,"gform-image-choice-lg":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_usb-iec_node-red.jpg","gform-image-choice-lg-width":433,"gform-image-choice-lg-height":274}},"categories":[{"id":160,"name":"Projekte &amp; DIY","slug":"projekt-diy"},{"id":163,"name":"Smart Home &amp; Automation","slug":"smart-home-automation"}],"authors":[{"id":161,"name":"Tammo","slug":"tammo"}],"document":false,"epaper":"","date":"28. Februar 2026","excerpt":"Mit dem USB-IEC-Interface lassen sich Stromz\u00e4hlerdaten \u00fcber die optische IEC-Schnittstelle auslesen \u2013 und mit Node-RED auf dem Raspberry Pi direkt weiterverarbeiten. Der Beitrag zeigt den Weg vom Hardware-Test \u00fcber die Aktivierung der Schnittstelle (z. B. D0\/Modus C) bis zur komfortablen Auswertung per Smartmeter-Node, inklusive Dashboard und MQTT-Anbindung."},"_links":{"self":[{"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/posts\/9654","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/comments?post=9654"}],"version-history":[{"count":10,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/posts\/9654\/revisions"}],"predecessor-version":[{"id":11393,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/posts\/9654\/revisions\/11393"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/media\/10609"}],"wp:attachment":[{"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/media?parent=9654"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/categories?post=9654"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/tags?post=9654"},{"taxonomy":"post-author","embeddable":true,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/post-author?post=9654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}