Skip to content

jmesserli/ewb-smartmeter-homeassistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

ewb Smartmeter Home Assistant

Dieses Repository beschreibt, wie ich einen ewb (Energie Wasser Bern) Smartmeter (Landis + Gyr E450) in Home Assistant integriert habe.

Schnittstelle

Die Kundeninformationsschnittstelle des Smartmeters muss vorgängig über den Kundendienst von ewb freigeschaltet werden. Dabei sollte auch die Dokumentation der Schnittstelle mit den verwendeten OBIS-Codes mitgeliefert werden. Bei anderen Energieversorgern, die ebenfalls diesen Zähler verwenden, steht diese Dokumentation öffentlich zur Verfügung und deckt ähnliche Informationen ab, bspw. BKW (Archiv). Bei der Schnittstelle handelt es sich um einen RJ12-Port, bei dem die Drähte 3 und 4 für DLMS/COSEM über M-Bus verwendet werden.

Die OBIS-Codes sind weiter unten zusätzlich in einer Tabelle beschrieben.

In meinem Fall wurde die Schnittstelle ohne Verschlüsselung aktiviert. Wahrscheinlich ist dies das Standardvorgehen, ansonsten kann dies ggf. gewünscht werden.

Hardware

  • Raspberry Pi 5
  • USB to MBUS Slave Modul AliExpress
  • RJ12 Kabel, optimalerweise Breakout AliExpress
  • (optional) 3D-gedrucktes Gehäuse für das USB-MBUS Board, siehe Ordner case + USB-A-Verlängerungskabel

Dies ist nicht der einzige Weg, wie ein solcher Smartmeter ausgelesen werden kann. Insbesondere ist die Auslesung auch mit einfacheren Geräten (bspw. ESP32) und ohne den USB-to-MBUS-Adapter möglich. In diesem Fall wurde primär Wert auf die Verwaltbarkeit (Zugriff per SSH) und eine einfache Softwarelösung gelegt – ein kompaktes System war zweitrangig.

Verkabelung des M-Bus-zu-USB Adapters:

Mittlere Drähte 3 und 4 verbunden mit je einem Terminal des Adapter-Boards

Die Polarität sollte nicht relevant sein.

Übersichtsbild:

Übersichtsbild mit Zähler, Raspberry Pi und USB-zu-M-Bus Board im 3D-gedruckten Gehäuse

Software

Der M-Bus-zu-USB Adapter präsentiert sich als USB-Serial Gerät unter Linux (/dev/ttyUSBx). Diese serielle Konsole wird mithilfe eines Python-Programms und der gurux_dlms Bibliothek eingelesen und schliesslich über MQTT an Home Assistant übermittelt. Der Code dafür befindet sich hier.

Home Assistant Integration

Die per MQTT übermittelten Werte werden anschliessend über die folgenden Sensoren in Home Assistant integriert (configuration.yaml):

mqtt:
  sensor:
    - name: "Energie Bezug T1"
      state_topic: "meter/energy_meter/1_8_1_bezug_t1"
      device_class: "energy"
      unit_of_measurement: "Wh"
      state_class: "total"
    - name: "Energie Bezug T2"
      state_topic: "meter/energy_meter/1_8_2_bezug_t2"
      device_class: "energy"
      unit_of_measurement: "Wh"
      state_class: "total"
    - name: "Energie Lieferung T1"
      state_topic: "meter/energy_meter/2_8_1_lieferung_t1"
      device_class: "energy"
      unit_of_measurement: "Wh"
      state_class: "total"
    - name: "Energie Lieferung T2"
      state_topic: "meter/energy_meter/2_8_2_lieferung_t2"
      device_class: "energy"
      unit_of_measurement: "Wh"
      state_class: "total"
    # Optional, falls die Leistung ebenfalls publiziert wird
    - name: "Wirkleistung Bezug"
      state_topic: "meter/energy_meter/1_7_0_wirkleistung_bezug"
      device_class: "power"
      unit_of_measurement: "W"
      state_class: "measurement"
    - name: "Wirkleistung Lieferung"
      state_topic: "meter/energy_meter/2_7_0_wirkleistung_lieferung"
      device_class: "power"
      unit_of_measurement: "W"
      state_class: "measurement"

Um die beiden Tarife zu kombinieren, habe ich anschliessend noch zwei Template-Sensoren definiert, welche beide Tarife aufsummieren. Diese können unter Geräte & Dienste > Tab Helfer > + Helfer erstellen definiert werden.

Template:

{{ (states('sensor.energie_bezug_t1') | int + states('sensor.energie_bezug_t2') | int) / 1000 }}

(Dabei wird zudem von Wh zu kWh umgewandelt, da dies etwas üblicher ist).

Masseinheit: kWh

Zustandsklasse: Gesamt

Für die Lieferung analog, es sind einfach die Sensornamen anzupassen.

OBIS-Codes

Die folgenden OBIS-Codes stammen aus der Dokumentation. Ich habe teilweise abweichende OBIS-Codes gesehen, aber zur Orientierung reicht es. Weiter waren die Werte, welche ich ausgelesen habe, nicht in den angegebenen Einheiten – möglicherweise würde dies über irgendeine Konfiguration, welche gepusht wird, übermittelt. Generell waren es anstelle von Kilowatt einfach Watt und anstelle von Kilowattstunden Wattstunden.

Anzahl Zeitintervall Beschreibung OBIS-Code Einheit
1 Std. Geräteidentifikation 1 (Herstellerseriennummer) 0-0:96.1.0;2
1 Std. Uhr 0-0:1.0.0;2
1 Std. Konsumenteninformationstext 0-0:96.13.0;2
1 Std. Konsumenteninformationscode 0-0:96.13.1;2
5 sek Objektliste Push Einstellungen Verbraucherinformation 1 0-8:25.9.0;2
5 sek OBIS Kennziffer Push Einstellungen Verbraucherinformation 1 0-8:25.9.0;1
5 sek Geräteidentifikation 1 (Herstellerseriennummer) 0-0:96.1.0;2
5 sek Wirkleistung Bezug +P 1-0:1.7.0;2 kW
5 sek Wirkleistung Bezug -P 1-0:2.7.0;2 kW
5 sek Wirkenergie Bezug +A (QI+QIV) 1-1:1.8.0;2 kWh
5 sek Wirkenergie Bezug -A (QI+QIV) 1-1:2.8.0;2 kWh
5 sek Blindenergie Ri+ Q1 1-1:5.8.0;2 kvarh
5 sek Blindenergie Rc+ Q2 1-1:6.8.0;2 kvarh
5 sek Blindenergie Ri- Q3 1-1:7.8.0;2 kvarh
5 sek Blindenergie Rc- Q4 1-1:8.8.0;2 kvarh
5 sek Blindleistung Q 1-0:130.7.0 kvar
5 sek Strom L1 1-0:31.7.0;2 Amperé
5 sek Strom L2 1-0:51.7.0;2 Amperé
5 sek Strom L3 1-0:71.7.0;2 Amperé
1 Min Objektliste Push Einstellungen Verbraucherinformation 2 0-9:25.9.0;2
1 Min OBIS Kennziffer Push Einstellungen Verbraucherinformation 2 0-9:25.9.0;1
1 Min Wirkenergie Bezug +A (QI+QIV) Tarif1 1-1:1.8.1;2 kWh
1 Min Wirkenergie Bezug +A (QI+QIV) Tarif2 1-1:1.8.2;2 kWh
1 Min Wirkenergie Lieferung -A (QI+QIV) Tarif1 1-1:2.8.1;2 kWh
1 Min Wirkenergie Lieferung -A (QI+QIV) Tarif2 1-1:2.8.2;2 kWh
15 Min Objektliste Push Einstellungen Verbraucherinformation 4 0-11:25.9.0;2
15 Min OBIS Kennziffer Push Einstellungen Verbraucherinformation 4 0-11:25.9.0;1
15 Min M-Bus Geräte ID 1 Kanal 1 0-1:96.1.0;2
15 Min M-Bus Geräte ID 1 Kanal 2 0-2:96.1.0;2
15 Min M-Bus Geräte ID 1 Kanal 3 0-3:96.1.0;2
15 Min M-Bus Wert 1 Kanal 1 0-1:24.2.1;2 m3
15 Min M-Bus Wert 1 Kanal 2 0-2:24.2.1;2 m3/h
15 Min M-Bus Wert 1 Kanal 3 0-3:24.2.1;2 °C
15 Min M-Bus Gerätetyp Kanal 1 0-1:24.1.0;9
15 Min M-Bus Gerätetyp Kanal 2 0-2:24.1.0;9
15 Min M-Bus Gerätetyp Kanal 3 0-3:24.1.0;9
15 Min Einheit/Skalierung M-Bus Wert 1 Kanal 1 0-1:24.2.1;3
15 Min Einheit/Skalierung M-Bus Wert 1 Kanal 2 0-2:24.2.1;3
15 Min Einheit/Skalierung M-Bus Wert 1 Kanal 3 0-3:24.2.1;3

About

Integration eines Energie Wasser Bern (ewb) Smartmeters (Landis+Gyr E450) in Home Assistant

Topics

Resources

Stars

Watchers

Forks