Energie-Monitoring mit dem USB-ESI3

Hallo liebe Home Assistant Community,

wir möchten euch heute ein Produkt aus unserem Hause vorstellen, das besonders für alle interessant ist, die sich intensiv mit Energie-Monitoring in Home Assistant beschäftigen:

Dem ELV ARR-Bausatz USB-Energiesensor-Interface, 3 Kanäle (ELV-USB-ESI3)
https://de.elv.com/p/elv-arr-bausatz-usb-energiesensor-interface-3-kanle-elv-usb-esi3-P162178/

Das USB-ESI3 ermöglicht das gleichzeitige Auslesen von bis zu drei Energie- oder Gaszählern und eignet sich hervorragend als zentrale Datenschnittstelle für ein lokales, MQTT-basiertes Smart-Home-Setup.

Was ist das USB-ESI3?

Beim USB-ESI3 handelt es sich um einen kompakten Bausatz (steckbar, kein Löten erforderlich), der per USB-C an ein Host-System (z. B. HAOS, NUC, Raspberry Pi) angeschlossen wird. An diesen werden dann die Leseköpfe zur Auswertung angeschlossen.

Technische Eckdaten:

  • 3 unabhängige Sensorkanäle

  • USB-UART-Schnittstelle (virtueller COM-Port)

  • Automatische Sensorkanal-Erkennung (Konfiguration über AddOn)

Wichtiger Hinweis: Es sind Sensoren erforderlich

Das USB-ESI3 ist eine reine Schnittstelle! Zur Nutzung werden daher separate Sensoren benötigt, die nicht im Lieferumfang enthalten sind. Diese sind aber natürlich als Zubehör im Shop zu finden.

Unterstützt werden u. a.:

  • ES-IEC – für digitale Stromzähler (SML-Lesekopf)

  • ES-LED – für LED-Impuls-Zähler (z.B. Zwischenzähler=

  • ES-Fer – für Ferraris-Zähler

  • ES-Gas / ES-Gas-2 – Impulssensoren für Gaszähler

Integration in Home Assistant (Fokus MQTT)

Die Einbindung in Home Assistant erfolgt über MQTT (z. B. mit dem Mosquitto MQTT Broker).

Typischer Aufbau:

  1. Sensoren an den USB-ESI3 anschließen (natürlich auch an den auszulesenden Zählern :slight_smile: )
  2. USB-ESI3 per USB anschließen
  3. Add-On konfigurieren
  4. Virtuellen Port erkennen (/dev/ttyUSBx)
  5. Auslesen der Sensordaten
  6. Veröffentlichung der Werte via MQTT
  7. Einbindung als Sensoren in Home Assistant

Home Assistant Addon (Community-Projekt)

Für die Anbindung an Home Assistant existiert ein Community-Addon, das die Konfiguration und die Auslesung übernimmt und die Daten dann direkt per MQTT bereitstellt:

GitHub-Repository:
https://github.com/Fuchsbau52/hassio-usb-esi3

Wichtiger Hinweis:
Dieses Addon stammt nicht von ELV und wird nicht offiziell von uns entwickelt oder supported.

Falls es hier also Schwierigkeiten geben sollte, meldet es am besten direkt als Issue bei Github.

Fazit

Das USB-ESI3 bietet eine flexible Möglichkeit, bis zu drei Energie- oder Gaszähler sauber in Home Assistant einzubinden. Natürlich lassen sich die erzeugten Entitäten dann auch im Dashboard oder dem Energie-Dashboard nutzen.

Wir würden uns riesig über Feedback von euch freuen!

Viele Grüße
Euer ELV Team

Hallo,

ich habe leider ein Problem: Ich nutze einen Stromzwischenzähler, der nur eine Implus-LED hat und habe daher den Zählersensor ES-LED angeschlossen. Leider wird mir ein Wert von 2,6 Watt angezeigt, obwohl eher 2,6 Kilowatt zutreffen müssten.

Auf dem Zähler steht S0: 1000imp/kWh.

Kann man in der App irgendwo einstellen, wieviel Watt pro Impuls gemessen werden sollen?

Ich kann zwar in den Einstellungen der Entität die Maßeinheit verändert. Wenn ich sie auf kW einstelle, bekomme ich als Wert 0,00 kW; der Roh-Wert ist dann 0,0026. Stelle ich die Maßeinheit wieder auf W um, ist der Rohwert 2,6.

Ich bin für jede Hilfe dankbar… :slight_smile:

Liebe Grüße

Indy-Fan

Ich habe das Problem mittlerweile eingrenzen können: der ESI3 hat einen Standardwert von 10.000 für Strom-Zählerkonstante in Impulsen pro kWh beim LED-Sensor. Mein Zähler liefert jedoch 1000 Impulse. Meine Versuche, den Wert im ESI3 zu ändern, waren aber bislang vergeblich: Ich habe unter Windows den Treiber installiert, der die virtuelle COM-Schnittstelle bereitstellt, und versucht mit Putty Kontakt zum ESI3 aufzunehmen. Das klappt aber nur, wenn ich den ESI3 im Bootloader-Modus habe, dann kann ich aber meine Steuerbefehle an ihn senden. Ansonsten erscheint nur ein Rechteck im Terminal-Fenster, ohne dass ich etwas eingeben kann.

Hallo Indy-Fan,

entschuldige bitte die späte Antwort, ich war über Ostern im Urlaub. Ich gebe diese Info an den Entwickler weiter; gegebenenfalls kann dieser dir die Frage beantworten oder muss die Anpassung eventuell über ein Firmware-Update ermöglichen.

Generell sollte es in Home Assistant ja möglich sein, über einen Helfer einen angepassten Messwert zu erzeugen und diesen dann zu nutzen. Ich schaue mir das später einmal an und zeige dir den Weg auf.

Gruß, Andreas

Bis es durch den Entwickler geklärt ist, kannst du dich am besten mit einem Helfer in Home Assistant behelfen :slight_smile:

Hierzu gehst du auf Einstellungen → Geräte & Dienste → Helfer. Unten dann auf “+ Helfer erstellen”.

In der Auswahl nimmst du dann “Template” und anschließend “Sensor”.

Hier vergibst du einen aussagekräftigen Namen und legst die Maßeinheit fest z.B. Watt. Als Geräteklasse wählst du “Leistung” und als Zustandsklasse “Messwert”. Unter Gerät auswählen kannst du den ESI nehmen (das MQTT Gerät), dann wird der Helfer direkt dem Gerät zugeweisen und taucht auch in der Gerätekarte auf.

Für den Zustand ist eine kurze Codezeile einzutragen:

{{ states(‘NAMESENSOR’)|float * X }}

NAMESENSOR ist dabei die Entitäts-ID des entsprechenden Wertes des ESI3, bei mir z.B. sensor.usb_esi3_electricity_channel_1_power.

X kann dabei jede Zahl annehmen, hier musst du den für dich passenden Faktor wählen z.B. 10.

Gruß, Andreas

Hallo Andreas,

ganz vielen Dank für Deine Antwort. Ich habe das Problem tatsächlich mittlerweile lösen können und bin nur noch nicht dazu gekommen, die Lösung hierhin zu schreiben. Lustigerweise hat mit Sascha heute auch eine E-Mail auf meine Support-Anfrage geschickt… Also ganz großes Lob für Euren Kundenservice! :slight_smile:

Man kann direkt dem ESI3 per ASCI-Steuerbefehl mitteilen, wieviele Impulse für welchen Wert erforderlich sind. Dazu muss man den ESI3 an den (Windows-)Computer anschließen, natürlich nachdem der entsprechende Treiber installiert ist. Das muss man ja eh machen, um die neueste Firmware zu flashen. Als Terminal-Programm bietet sich HTerm an. Dabei hatte ich zunächst Probleme mit der Eingabe: wenn ich den Code normal über die Tastatur eingegeben habe, hat der ESI3 das nicht akzeptiert. Wenn ich den Code kopiert und dann eingefügt habe, ging es. Merkwürdig, aber egal.

Jedenfalls läuft es jetzt sehr gut.

Noch eine kleine Anmerkung: Die App in HA stellt zwei Werte zur Verfügung: Einmal die laufenden Watt und dann auch die aufgelaufenen Wh. Der letzte Wert erhöht sich aber im Laufe der Zeit nicht, was auch verständlich ist, weil der Sensor ja nur die laufende Leistung überträgt. Wenn man auch die bezogene Energie erfassen möchte, muss man sich einen entsprechenden Helfer zusammenstellen.