USB Energiesensor-Interface – 3 Kanäle, USB-ESI3
Multitalent für die Energie-Erfassung
Die präzise Erfassung von Energieverbrauchsdaten ist ein zentraler Bestandteil moderner Energiemanagementsysteme – sei es im privaten Haushalt, im Gewerbe oder in der Industrie. Während viele Lösungen lediglich Daten zu Strom oder Gas liefern, vereint das hier vorgestellte Gerät gleich mehrere Funktionen in einem kompakten System. Es kann bis zu drei verschiedene Energiezähler gleichzeitig auslesen – darunter Stromzähler mit SML-Protokoll sowie Gaszähler mit Impulsausgang. Damit eröffnet es neue Möglichkeiten für die automatisierte Verbrauchserfassung, die Integration in Smart-Home-Systeme und die transparente Energiekostenkontrolle.
Infos zum Bausatz


Das USB-ESI3 ist eine kompakte Schnittstellenlösung zur komfortablen Auslesung von Energiezählern. Im Gegensatz zu Funklösungen, wie dem ELV-LW-ESI, verzichtet das USB-ESI3 vollständig auf LoRaWAN® und setzt stattdessen auf eine kabelgebundene UART-Kommunikation. Diese Entscheidung macht das Gerät besonders für Anwendungen interessant, bei denen eine schnelle und direkte Verwendung der Zählerdaten eine hohe Relevanz hat. So kann mithilfe der Daten ein Nulleinspeisungssystem realisiert werden, das den von einer PV-Anlage generierten Strom optimal nutzbar macht. Hierfür wird die UART-Schnittstelle an ein Home-Assistant-Mitglied angeschlossen, das die Energiedaten so schnell verarbeiten kann, wie sie vom USB-ESI3 ausgelesen werden.
Die Besonderheit des USB-ESI3 liegt in seinen drei Ports für Zähler-Leseköpfe. Damit können mehrere Verbrauchsstellen gleichzeitig überwacht werden, z. B. zwei Strom- und ein Gaszähler. Jeder Port lässt sich unabhängig konfigurieren und auslesen, was eine flexible Anpassung an unterschiedliche Zählertypen ermöglicht.
Die Stromversorgung erfolgt über eine USB-C-Schnittstelle, sodass ein dauerhafter Betrieb ohne Batteriewechsel gewährleistet ist.
Das Gerät unterstützt bekannte und bewährte Sensoren wie den ES-IEC für Smart Meter mit SML-Protokoll, den ES-LED, einen LED-Impulssensor, Ferraris-IR-Sensoren sowie Gas-Impulssensoren. Die Kommunikation erfolgt über einen virtuellen COM-Port, der auf dem Host-System als serielle Schnittstelle erscheint.
Kombinierbare Strom- und Gaszählersensoren
Das USB Energiesensor-Interface kann mit diesen Sensoreinheiten betrieben werden:
Energiesensor für Smart-Meter ES-IEC
Gaszählersensor ES-Gas/ES-Gas-2
LED-Sensoreinheit ES-LED
Ferraris-Zähler-Sensoreinheit ES-Fer
Zur Verbindung mit dem USB-ESI3 werden die Sensoren mit ihrem Westernstecker einfach in die Buchse des Energiesensor-Interface eingesteckt.
Achtung: Die Verbindung darf ausschließlich bei getrennter Spannungszufuhr erfolgen!
Lieferumfang
Der Bausatz USB-ESI3 (Bild 1) enthält eine Platine, zwei Gehäuseteile mit den zugehörigen Schrauben und einen Streifen Fixierband (ermöglicht die werkzeugfreie Montage im Zählerschrank).

Aufbau und Inbetriebnahme
Der Aufbau des USB-ESI3 erfolgt in wenigen Schritten:
Schritt 1
Stecken Sie die Platine auf die Aufnahmen des Gehäuseunterteils auf, sodass die Aussparungen des Gehäuses mit den Plätzen für die Ports übereinstimmen.

Schritt 2
Legen Sie das Gehäuseoberteil auf.

Schritt 3
Wenden Sie das Gerät und drehen Sie die Schrauben mit einem T6-Schraubendreher ein.

Schritt 4
Ziehen Sie für eine Klebemontage (optional) den Schutzfilm vom Fixierband ab und kleben Sie dieses in die dafür vorgesehene Aussparung.

Schritt 5
WICHTIG: Falls Sie die USB-Versorgung bereits hergestellt haben, ziehen Sie diese ab.
Schließen Sie Ihren Sensor oder Ihre Sensoren an den Port oder die Ports an.

Schritt 6
Kleben Sie das Gerät am Montageort mit dem Fixierband fest oder verschrauben Sie es.
Achten Sie beim Bohren auf ggf. vorhandene Leitungen.
Schritt 7
Verbinden Sie das Gerät über ein USB-C-Kabel mit dem Host. Nach dem Start meldet sich das Gerät als virtueller COM-Port, der mit einem Terminalprogramm oder einer eigenen Anwendung geöffnet werden kann.
Schritt 8
Aktualisieren Sie abschließend die Firmware, wie im Folgenden beschrieben.
Firmware aktualisieren
Um die aktuellsten Zähler und Sensoren ansprechen zu können, müssen Sie die Firmware des USB-ESI3 aktualisieren.
- Zur Vorbereitung laden Sie das ELV-Flasher-Tool (Minimalversion 1.5.2) von der ELV Website herunter und installieren Sie dieses.
- Halten Sie den Button S1 am USB-ESI3 gedrückt und schließen Sie das Gerät jetzt an einen Windows-PC an.
- Wählen Sie im ELV-Flasher-Tool über den Reiter „SH-Base und USB-ESI3“ in der Dropdownliste das Gerät mit dem Namen „Silicon Labs CP210x USB to UART Bridge“ aus. Klicken Sie auf die Schaltfläche „Connect“.
- Eine Meldung erscheint, dass das Gerät nicht als eines der Basismodule für das ELV-Modulsystem identifiziert werden konnte, was auch korrekt ist. Quittieren Sie die Fehlermeldung mit einem Klick auf „OK“.
- Im Textfeld „Bootloader-Version“ erscheint eine Versionsnummer. Wählen Sie eine Firmware-Datei aus und klicken Sie auf „flash“, um die Aktualisierung zu starten.
Die Möglichkeit, eine falsche Firmware-Datei zu wählen und damit das Gerät zu beschädigen, ist ausgeschlossen, da die Firmware und das Gerät über kryptografische Schlüsselaustauschverfahren miteinander kommunizieren und der Vorgang abbricht.
LED-Anzeige und Diagnose
Die Duo-System-LED zeigt den allgemeinen Gerätezustand an. Während des Bootvorgangs pulsiert diese gelb, im Normalbetrieb ist die LED erloschen. Fehlerzustände werden durch Blinkmuster signalisiert, wobei die Farbe mit dem Port korrespondiert, der durch den Fehler betroffen ist und die Frequenz der Blinkimpulse Aufschluss über die Art des Fehlers gibt. Beim Blinken der roten LED ist der Sensor an J1 betroffen, beim Blinken einer grünen J2 und bei orangenem Blinken J3. Die Bedeutung der Codes ist in der Tabelle 1 erklärt.
Tabelle 1: Bedeutung der Fehlercodes
| Blink-Code | Bedeutung |
| LED leuchtet durchgehend | Fehler bei der Erkennung des Sensors |
| LED blinkt langsam (1 Hz) | IEC-Protokoll konnte nicht erkannt werden |
| LED blinkt schnell (5 Hz) | Fehler bei der Kommunikation zum Sensor |
| LED blinkt sehr schnell (10 Hz) | Fehler bei der USB-Kommunikation |
Einstellungen über eine USB-UART-Schnittstelle anpassen
Die Kommunikation der Zählerdaten ist über ein ASCII-Protokoll realisiert. Steuerzeichen sind hier „<“ und „>“. Nachrichten, die nicht mit diesen Zeichen beginnen und enden, werden vom Mikrocontroller direkt verworfen.
Als Nächstes folgt ein Key-Value-Tupel, das dem Mikrocontroller mitteilt, welchen der bis zu drei angeschlossenen Sensoren diese Einstellungen betreffen. Der Key ist hier „P“ für Port und der Value-Teil des Tupels ist die Nummer des Anschlusses.
Darauf folgt ein zweites Key-Value-Paar, das vermittelt, welche Sensorart konfiguriert werden soll. Der Key ist in diesem Fall „S“ und Value ein Wert entsprechend der Tabelle 2a.
Tabelle 2a: Sensor-Arten
| Nr. | Sensor |
| 1 | ES-IEC Allgemein |
| 2 | ES-IEC Bezug |
| 3 | ES-IEC Einspeisung |
| 4 | ES-GAS-2 |
| 5 | ES-LED |
| 6 | ES-Fer |
Das Nächste ist ein Key-Value-Paar mit dem Key „P“ und einer entsprechenden Nummer, diese finden Sie in den Tabellen 2b bis 2g.
Tabelle 2b: Parameter ES-IEC Allgemein
| Nr. | Parameter ES-IEC Allgemein | Wertebereich | Standardwert |
| 0 | Baudrate | siehe Tabelle 3a | 5 |
| 1 | Protokollmodus | siehe Tabelle 3b | 4 |
| 2 | Kompatibilitätsmodus für DZG und Elster | siehe Tabelle 3c | 0 |
Tabelle 3a: Optionen für Parameter Baudrate für ES-IEC
| Nr. | Einstellung | Standardwert |
| 0 | 300 Bd | |
| 1 | 600 Bd | |
| 2 | 1200 Bd | |
| 3 | 2400 Bd | |
| 4 | 4800 Bd | |
| 5 | 9600 Bd | * |
| 6 | 19200 B d |
Tabelle 3b: Optionen für Parameter Protokollmodus von ES-IEC
| Nr. | Einstellung | Standardwert |
| 0 | Modus 1 | |
| 1 | Modus 2 | |
| 2 | Modus 3 | |
| 3 | Modus 4 | |
| 4 | SML | * |
Tabelle 3c: Optionen für Parameter Kompatibilitätsmodus von ES-IEC
| Nr. | Einstellung | Standardwert |
| 0 | kein Modus aktiv | * |
| 1 | DZG-Kompatibilitätsmodus aktiv | |
| 2 | Elster-Kompatibilitätsmodus aktiv | |
| 3 | beide Modi aktiv |
Tabelle 2c: Parameter ES-IEC-Bezug
| Nr. | Parameter | Anmerkung | Wertebereich | Standardwert |
| 1 | Identifikations-Kennzeichnung der Leistung | siehe Kasten Identifikations-Kennzeichnungen | eine 16-Byte lange Zeichen- kette, die die ASCII-Werte der zählerspezifischen Kennung enthält und mit 0 aufgefüllt wird | 1.7.0 |
| 2 | Identifikations-Kennzeichnung des Zählerstands | siehe Kasten Identifikations-Kennzeichnungen | eine 16-Byte lange Zeichen- kette, die die ASCII-Werte der zählerspezifischen Kennung enthält und mit 0 aufgefüllt wird | 1.8.0 |
Tabelle 2d: Parameter ES-IEC-Einspeisung
| Nr. | Parameter | Anmerkung | Wertebereich | Standardwert |
| 1 | Identifikations-Kennzeichnung der Leistung | siehe Kasten Identifikations-Kennzeichnungen | eine 16-Byte lange Zeichen- kette, die die ASCII-Werte der zählerspezifischen Kennung enthält und mit 0 aufgefüllt wird | 2.7.0 |
| 2 | Identifikations-Kennzeichnung des Zählerstands | siehe Kasten Identifikations-Kennzeichnungen | eine 16-Byte lange Zeichen- kette, die die ASCII-Werte der zählerspezifischen Kennung enthält und mit 0 aufgefüllt wird | 2.8.0 |
Tabelle 2e: Parameter ES-GAS-2
| Nr. | Parameter | Wertebereich | Standardwert |
| 1 | Gas-Zählerkonstante in 0,001 m³ | 1-65535 | 10 |
Tabelle 2f: Parameter ES-LED
| Nr. | Parameter | Wertebereich | Standardwert |
| 1 | Strom-Zählerkonstante in Impulsen pro kWh | 1-65535 | 10000 |
Tabelle 2g: Parameter ES-Fer
| Nr. | Parameter | Anmerkung | Wertebereich | Standardwert |
| 1 | Schwellwert des IR-Sensors | Die Daten haben einen Offset von 100, da keine negativen Daten übertragen werden können. Auf den gewünschten Einstellungswert müssen hier 100 addiert werden. | 1-200 | 100 |
| 2 | Zählerkonstante in Umdrehungen pro kWh | – | 1-65535 | – |
Identifikations-Kennzeichnungen
Die Identifikationskennzeichnungen sind in einem Format vorgegeben, das OBIS (Object Identification System) genannt wird. Diese bestehen aus insgesamt sechs Kennziffern, von denen allerdings in der Regel nur drei verwendet werden.
Das Format ist A-B:C.D.E*F
| Stelle | Bedeutung |
| A | Medium (1 – Elektrizität, 7 – Gas) |
| B | Kanal (0 bei keinem Kanal, ansonsten durchnummeriert) |
| C | Messgröße (1 – Wirkleistung Bezug, 2 – Wirkleistung Lieferung, 3 – Blindleistung Bezug, 4 – Blindleistung Lieferung) |
| D | Messart (7 – aktueller Wert, 8 – Zählerstand, 29 – Lastgang, also Summe über einen bestimmten Zeitraum) |
| E | Tarif (0 bei einem Tarif, 1 bei Hochtarif, 2 bei Niedertarif) |
| F | Vorwertzählerstand (wird in Deutschland nicht verwendet) |
Digitale Stromzähler zeigen den Zählerstand oft nur in Form von drei Kennziffern an, diese sind nach dem oben beschriebenen Schema C.D.E aufgebaut. In Bild 2 ist zu erkennen, dass die aktuelle Anzeige des Zählers die Kennziffer 1.8.0 hat. Also ist dies ein Eintarif-Zähler (Symbol E = 0), und der Zählerstand (Symbol D = 8) des Bezugs (Symbol C = 1) hat 4346 kWh. Wenn die Kennzeichnung korrekt im USB-ESI3 konfiguriert ist, kann dieser über die Schnittstelle die entsprechenden Zählerdaten abfragen.
Technik-Wissen: IEC-Zählerprotokolle
Moderne elektronische Stromzähler verfügen über eine optische Schnittstelle (D0-Port), über die sie Messdaten an externe Geräte wie Ausleseköpfe oder Smart Meter Gateways übertragen.
In Deutschland ist das SML-Protokoll (Smart Message Language) weitverbreitet, ein binäres Protokoll zur strukturierten Übertragung von Zählerdaten.
Die Kommunikation über die D0-Schnittstelle erfolgt gemäß der Norm DIN EN 62056-21, die vier verschiedene Modi definiert. Diese Modi regeln, wie ein Zähler angesprochen wird und welche Daten dieser überträgt. Die Wahl des Modus hängt vom gewünschten Zugriffstyp und der eingesetzten Hardware ab.
Modus 1 – unidirektionale Kommunikation
Im Modus 1 sendet der Stromzähler kontinuierlich SML-Datensätze über die optische Schnittstelle, ohne dass ein Kommunikationsaufbau erforderlich ist. Diese Daten enthalten grundlegende Informationen wie Zählerstand, aktuelle Leistung und Zeitstempel. Der Vorteil liegt in der einfachen Auslesbarkeit – ein Lesekopf genügt, um die Daten zu empfangen und auszuwerten. Dieser Modus eignet sich besonders für einfache Anwendungen wie die manuelle
Verbrauchserfassung oder DIY-Projekte mit Mikrocontrollern.
Modus 2 – Halbduplex mit Initialisierung
Modus 2 erlaubt eine gezielte Kommunikation mit dem Zähler. Die Verbindung wird durch ein Initialisierungssignal (meist „/?!“) gestartet. Der Zähler antwortet mit seiner Identifikation und beginnt anschließend die Datenübertragung. Dieser Modus bietet mehr Kontrolle über den Kommunikationszeitpunkt und wird häufig in professionellen Auslesegeräten verwendet.
Modus 3 – bidirektionale Kommunikation mit Authentifizierung
In Modus 3 ist eine vollständige bidirektionale Kommunikation möglich. Neben dem Empfang von Messdaten können auch Befehle an den Zähler gesendet werden – etwa zur Konfiguration, für Firmware-Updates oder zur Aktivierung zusätzlicher Messkanäle. Dieser Modus erfordert eine Authentifizierung, z. B. über PIN oder kryptografische Schlüssel, und ist sicherheitsrelevant. Er wird vor allem von Netzbetreibern und Servicetechnikern genutzt.
Modus 4 – Transparentmodus
Der Transparentmodus erlaubt es, den Zähler als reinen Datenkanal zu verwenden. Die übertragenen Daten werden nicht interpretiert, sondern direkt weitergeleitet – etwa an ein Smart Meter Gateway oder ein anderes Gerät im Kommunikationsnetz. Dieser Modus ist besonders in komplexen Smart-Grid-Umgebungen relevant, in denen mehrere Geräte miteinander kommunizieren.
Überblick über die Kommunikationsmodi
| Modus | Bezeichnung | Kommunikation | Merkmale | typische Anwendung |
| 1 | unidirektional (Read only) | nur Empfang | Zähler sendet zyklisch SML-Daten ohne Aufforderung | passive Auslesung mit Lesekopf |
| 2 | Halbduplex mit Initialisierung | Empfang nach Startsignal | Kommunikation beginnt nach „/?!“-Sequenz, dann Daten-Übertragung | kontrollierte Auslesung |
| 3 | bidirektional mit Authentifizierung | senden und empfangen | Zugriff auf erweiterte Funktionen, Authentifizierung erforderlich | Wartung, Konfiguration |
| 4 | Transparent-Modus | Durchleitung | Zähler dient als Datenkanal, keine Interpretation der übertragenen Daten | Smart Meter Gateway, komplexe Netzwerke |
Schaltungsbeschreibung
Das Schaltbild des USB Energiesensor-Interface – 3 Kanäle – USB-ESI3 ist in Bild 3a und 3b zu sehen.
Kern der gesamten Schaltung ist der Mikrocontroller ESP32PG22 (U1). Dieser ist per UART mit dem USB-UART-Wandler CP2102 (U2) verbunden und ermöglicht die Kommunikation mit dem Gerät.


Weitere Nutzerinteraktion sind mithilfe der Konfigurations-Taste S1 und der Duo-Farb-LED DS1 möglich. Das gesamte Gerät wird über die USB-Busspannung versorgt. Der CP2102 funktioniert dabei als Spannungswandler, um die 5-V-USB-Spannung auf 3,3 V (+VDD) zu regulieren.
Um zu verhindern, dass eine fehlerhafte Spannung den UART-Wandler beschädigt, ist zwischen diesem und dem Mikrocontroller eine ideale Diode verbaut (U3). Dieses Bauteil sperrt, wenn an Pin 6 (VOUT) eine höhere Spannung anliegt als an Pin 1 (VIN). Vorteil gegenüber einer „echten“ Diode ist, dass über dieses Bauteil nur eine Spannung von etwa 0,02 V abfällt und nicht wie bei einer Silizium-Diode von 0,7 V.

Technische Daten
| Geräte-Kurzbezeichnung: | USB-ESI3 |
| Spannungsversorgung: | 5 VDC (USB-powered) |
| Stromaufnahme: | 125 mA max. |
| Datenerhalt bei Stromausfall: | ja |
| Messung des Verbrauchs: | ja |
| Messung der aktuellen Leistung: | ja |
| Schutzart: | IP20 |
Farbe: | anthrazit |
Abmessungen (B x H x T): | 105 x 20 x 32 mm |
Gewicht: | 31 g |
Stückliste
| Widerstände: | |
| 0 Ω/SMD/0402 | R11, R17, R23 |
| 56 Ω/SMD/0402 | R2 |
| 180 Ω/SMD/0402 | R1 |
| 1 kΩ/SMD/0402 | R10, R12-R14, R18-R20, R24-R26 |
| 1,2 kΩ/SMD/0402 | R4, R6 |
| 3,9 kΩ/SMD/0402 | R3, R5 |
| 10 kΩ/SMD/0402 | R15, R21, R27 |
| 18 kΩ/SMD/0402 | R8 |
| 47 kΩ/SMD/0402 | R9 |
| 1 MΩ/SMD/0402 | R16, R22, R28 |
| Kondensatoren: | |
| 10 pF/50 V/SMD/0402 | C10, C11 |
| 100 pF/50 V/SMD/0402 | C12, C18, C20, C21, C23, C25, C27, C28, C30, C32, C34, C35, C37 |
| 1 nF/50 V/SMD/0402 | C17, C19, C22, C24, C26, C29, C31, C33, C36 |
| 100 nF/16 V/SMD/0402 | C2-C5, C7, C8,C13, C14, C16 |
| 1 µF/16 V/SMD/0402 | C1, C6 |
| 10 µF/16 V/SMD/0805 | C9, C15 |
| Halbleiter: | |
| EFM32PG22C200F256IM40-C | U1 |
| CP2102N/SMD | U2 |
| LM66100/SMD | U3 |
| SP0503BAHTG/SMD | D1 |
| BAT43W/SMD | D2-D4 |
| Duo-LED/rot-grün/SMD | DS1 |
| Sonstiges: | |
| Quarz, 32,768 kHz, SMD | Y1 |
| modulare Einbaubuchse, 6-polig, ungeschirmt, SMD | J1-J3 |
| USB-Buchse, Typ C, SMD | J4 |
| Taster mit 1,2-mm-Tastknopf, 1 x ein, SMD, 1,8 mm | S1 |
| Gehäuse, komplett, bedruckt | |
| Klebeband, doppelseitig, 58 x 14 x 0,8 mm |