Smart Meter auslesen mit Tasmota & ESPHome

Wie mache ich meinen digitalen Stromzähler smart?

Heute zeige ich euch, wie ihr euren digitalen Stromzähler mit Home Assistant smart machen könnt. Warum ist das wichtig? Indem ihr euren Stromverbrauch versteht und optimiert, könnt ihr nicht nur Geld sparen, sondern auch euren ökologischen Fußabdruck reduzieren. In diesem Artikel stelle ich euch drei verschiedene Methoden vor, mit denen ihr euren digitalen Stromzähler in ein smartes Gerät verwandeln könnt.

1. Lösung: Infrarot-Lesekopf selbst bauen

Einführung in die Methode

Eine der kostengünstigsten und flexibelsten Methoden ist der Bau eines eigenen Infrarot-Lesekopfs. Diese Methode erfordert ein wenig technisches Geschick und einige Werkzeuge, aber die Ergebnisse sind beeindruckend.

Materialliste und Werkzeug

IR Modul Link : https://amzn.to/4bQYqJi *

ESP8266 https://amzn.to/4btlfmx *

Netzteil: https://amzn.to/3USrYz5 *

Jumper Wire https://amzn.to/4buv7wh *

Kabel Set https://amzn.to/4bsHb16 *

*Sämtliche mit „*“ markierten Links hängen mit Amazon Partnerprogrammen zusammen. Sie dienen dir als potentiellen Käufer als Orientierung und verweisen explizit auf bestimmte Produkte. Sofern diese Links genutzt werden, kann im Falle einer Kaufentscheidung eine Provision an mich ausgeschüttet werden. Bei einem Kauf über diese Links fallen natürlich keine Mehrkosten an. Danke!!

Schritt-für-Schritt-Anleitung zum Bau und zur Installation
Infrarot-LED und Fototransistor Erklärung

Die Infrarot-LED sendet ein Signal, das vom Fototransistor empfangen wird. Wenn der Zähler eine Impuls-LED hat, sendet diese einen Lichtimpuls, den der Fototransistor detektiert.

Verkabelung und Löten
  1. Lötet die Infrarot-LED an den Fototransistor und verbindet diese mit einem Widerstand. Der Fototransistor oder LED (bin mir bis heute nicht ganz sicher) wird entgegen der normalen Richtung betrieben. Durch den Widerstand wird die LED aufgeladen und kann Lichtimpulse empfangen und messen. Bitte beachte also die Polung der LED.
  2. Verbinde die LED-Widerstands-Kombination mit dem ESP8266, wobei der Fototransistor als Eingang fungiert.
Einbau des Lesekopfs

Montiert den Lesekopf an euren Stromzähler. Hier empfiehlt sich die Nutzung eines doppelseitigen Klebebands oder eines 3D-gedruckten Gehäuses.

Einrichtung in Home Assistant
Einbinden des ESP8266
  1. Flash ESPHome auf den ESP8266. –> Code IR Puls Counter https://github.com/thealkly/SmartMeter-PulsCounter/tree/main 
  2. Konfiguriert die YAML-Datei für ESPHome, um die Daten des Fototransistors zu lesen und in Home Assistant zu integrieren.
Test und Fehlerbehebung

Nach dem Flashen und der Konfiguration könnt ihr den ESP8266 starten und die Daten in Home Assistant anzeigen lassen. Sollte etwas nicht funktionieren, überprüft die Verbindungen und die Konfiguration.

Vorteile und Nachteile dieser Methode

Vorteile:

  • Kostengünstig
  • Flexibel und anpassbar

Nachteile:

  • Erfordert technisches Geschick
  • Fehleranfällig wenn z.b. der IR Lesekopf mal ein paar Impulse nicht erkennt.
  • Manuelle Arbeit nötig für die Kalibrierung.

Nutzung der Smart Meter Language (SML)

Einführung in die Methode

Viele moderne Stromzähler unterstützen die Smart Meter Language (SML), die detaillierte Daten über den Stromverbrauch liefert.

Beschreibung der SML und wie sie funktioniert

SML ist ein Kommunikationsprotokoll, das Daten über eine Infrarotschnittstelle oder andere Kanäle sendet.

Schritte zur Freischaltung und Nutzung der SML-Daten
Kontaktaufnahme mit dem Netzbetreiber

Erkundigt euch bei eurem Netzbetreiber, ob euer Zähler SML unterstützt und wie ihr die Schnittstelle freischalten könnt. Bei mir musste ich kurz anrufen.

Eingabe des Freischaltcodes

Nach Erhalt des Codes könnt ihr die SML-Daten freischalten und auslesen.

2. Lösung: Fertiger Lesekopf mit Tasmota

Einführung in die Methode

Diese Methode richtet sich an diejenigen, die eine Plug-and-Play-Lösung bevorzugen und nicht löten oder basteln möchten.

Ein fertiger Lesekopf kann einfach online gekauft werden. Dieser wird dann mit Tasmota geflasht, um die Daten per MQTT an Home Assistant zu senden.

Hardware Empfehlung:

Tasmota Lesekopf: https://amzn.to/3WOuCsp *

Netzteil: https://amzn.to/3KcyMTc *

Konfiguration in Tasmota und Home Assistant
Einbinden des Lesekopfs in das Wi-Fi-Netzwerk
  1. Verbindet den Lesekopf mit eurem Wi-Fi.
  2. Öffnet die Tasmota-Oberfläche im Browser.
Konfiguration über die Tasmota-Oberfläche
  1. Konfiguriert MQTT in Tasmota, um die Daten an Home Assistant zu senden. Das zeige ich dir hier genau Tasmota einrichten
  2. Stellt die relevanten Parameter ein, wie die Anzahl der Impulse pro kWh. Richte dich hier an Doku https://tasmota.github.io/docs/Smart-Meter-Interface/
  3. bei meinem Smart meter war es folgende Einstellung, die geklappt hat
>D
>B
->sensor53 r
>M 1
+1,3,s,0,9600,Main
1,77070100100700ff@1,Power,W,Power,0
1,77070100010800FF@1000,Counter,kWh,Energy,3
#


Für alle die mehr wissen wollen, Erklärung der einzelnen Teile:

  • >D steht für “define”. Hier wird definiert, dass das folgende Skript ein neues Gerät beschreibt. Es signalisiert Tasmota, dass ein neues Skript gestartet wird.
  • >B steht für “begin”. Dies ist der Beginn des Skripts.
  • ->sensor53 r gibt an, dass Sensor53 verwendet wird und dass die Daten gelesen (“r” für read) werden sollen.
  • M 1 wieviele Smart Meter ausgelesen werden.
  • +1,3,s,0,9600,Main ist eine Konfigurationszeile, die die Verbindungseinstellungen beschreibt.
    • 1: Smart Meter
    • 3: Angabe über den Port
    • s: welche Art von Schnittstelle – SML binary smart message coding
    • 0: Anzahl der Stoppbits.
    • 9600: Baudrate, mit der die Daten übertragen werden.
    • Main: Name des Geräts oder der Konfiguration.
1,77070100100700ff@1,Power,W,Power,0
  • 1,77070100100700ff@1,Power,W,Power,0 ist eine spezifische Datenzeile, die beschreibt, welche Daten ausgelesen und wie sie interpretiert werden sollen.
    • 1: Kanalnummer.
    • 77070100100700ff: Obis-Code, der die spezifische Datenart bezeichnet (hier: momentane Leistung).
    • @1: Gibt an, wie die Daten skaliert werden sollen (1-fach hier, also keine Skalierung).
    • Power: Name des Sensors in Tasmota. So heißt er auch in Home Assistant
    • W: Einheit der Messgröße (Watt).
    • Power: Name des Wertes, der in Tasmota gespeichert wird.
    • 0: Gibt an, dass keine weiteren Berechnungen oder Anpassungen notwendig sind.

Optimierung mehr Sensorwerte pro Zeit:

Dazu gehe in Console und Tippe ” TelePeriod 5 ” ein. Hinweis, manche haben berichtet, dass trotzdem nur alle 10 Sekunden ein Update kommt.

Optimierung mehr Sensorwerte pro Zeit:
  • Wenn du das Skript aus der Dokumentation von Tasmota übernimmst, achte darauf die Werte “Power” und “Energy” zu benennen. Somit erkennt Home Assistant direkt das und ordnet die richtige Einheit dazu

Vorteile und Nachteile dieser Methode

Vorteile:

  • Einfach zu installieren
  • Keine technischen Kenntnisse erforderlich

Nachteile:

  • Höhere Kosten als Eigenbau
  • Weniger flexibel

Lösung 3 Bau eines eigenen SML-Lesekopfs

Materialliste und Werkzeug

IR Modul Link : https://amzn.to/4bQYqJi *

ESP8266 https://amzn.to/4btlfmx *

Netzteil: https://amzn.to/3USrYz5 *

Jumper Wire https://amzn.to/4buv7wh *

3D Druck Gehäuse: https://www.thingiverse.com/thing:6616141

Schritt-für-Schritt-Anleitung zum Bau und zur Installation

Einrichtung in Home Assistant

Bitte nutze analog den IR Sensor, den ich am Anfang des Artikels beschrieben habe. Wichtig checke, dass du ihn am richtigen Pin im ESP anschließt und der richtige ESP in ESPHome Auswählst.

Einbinden des ESP8266 oder ESP32
  1. Flash ESPHome auf den Mikrocontroller.
  2. Konfiguriert die YAML-Datei für ESPHome. In meinem Beispiel ein ESP8266, Wemos D1 Mini https://amzn.to/4btlfmx *
  3. Falls du ein anderes Board nimmst, musst du “d1_mini” enstprechend ändern, damit du weiter unten im Code z.B. D7 als Input Pin verwenden kannst.
Code für Home Assistant und ESPHome

Code: https://github.com/thealkly/ESPHome-SML-IR-LED/tree/main 

Inspiriert von Inspiriert von https://wiki.volkszaehler.org/hardware/controllers/esp8266-ir-lesekopf

Bitte passe zum einen die Server ID an, das ist der erste Teil nach SML:084 in meinem Beispiel Screenshot ist es verpixelt.

Überprüfe dann, welche OBIS Codes dein Smart Meter sendet. In meinem Fall nur 1-0:1.8.0 , 1-0:1.8.1, 1-0:1.8.2 1-0:16.7.0

[10:21:54][D][sml:084]:   (050SERVERID1111) 1-0:0.0.9 [ZÄHLERID o.ä.]
[10:21:54][D][sml:084]:   (050SERVERID1111) 1-0:1.8.0 [0x0008b3767b]
[10:21:54][D][sml:084]:   (050SERVERID1111) 1-0:1.8.1 [0x0000000000]
[10:21:54][D][sml:084]:   (050SERVERID1111) 1-0:1.8.2 [0x0008b3767b]
[10:21:54][D][sml:084]:   (050SERVERID1111) 1-0:16.7.0 [0x00006cea]

Das ergibt dan in ESPHome folgende konfiguration. Bitte nutze den Github link, dort passe ich bei Änderungungen oder Fehler den Code an.  https://github.com/thealkly/ESPHome-SML-IR-LED/tree/main 

text_sensor:
  - platform: sml
    name: "ED100l"
    sml_id: mysml
    server_id: "SERVERID"
    obis_code: "129-129:199.130.3"
    format: text
sensor:
  - platform: sml
    name: "SM_Total energy bought"
    sml_id: mysml
    obis_code: "1-0:1.8.0"
    unit_of_measurement: kWh
    accuracy_decimals: 4
    device_class: energy
    state_class: total_increasing
    filters:
      - multiply: 0.0001
  - platform: sml
    name: "SM_Total energy bought-1.8.2"
    sml_id: mysml
    obis_code: "1-0:1.8.2"
    unit_of_measurement: kWh
    accuracy_decimals: 4
    device_class: energy
    state_class: total_increasing
    filters:
      - multiply: 0.0001

  - platform: sml
    name: "Current load"
    sml_id: mysml
    obis_code: "1-0:16.7.0"
    unit_of_measurement: W
    accuracy_decimals: 0
    device_class: energy
    filters:
      - multiply: 0.1

Vorteile und Nachteile dieser Methode

Vorteile:

  • Sehr genau und detailliert
  • Vollautomatisch
  • viele Updates, alle 2-4 Sekunden kommen neue Werte in Home Assistant an

Nachteile:

  • Erfordert Freischaltung durch den Netzbetreiber
  • Etwas komplizierter in der Einrichtung, da man selbst den OBIS Code einrichten muss

Integration in Home Assistant und Nutzung des Energy Dashboards

Detaillierte Anleitung zur Einrichtung des Energy Dashboards in Home Assistant
  1. Öffnet Home Assistant und geht zu den Einstellungen.
  2. Fügt die Sensoren zum Energy Dashboard hinzu.

*Sämtliche mit „*“ markierten Links hängen mit Amazon Partnerprogrammen zusammen. Sie dienen dir als potentiellen Käufer als Orientierung und verweisen explizit auf bestimmte Produkte. Sofern diese Links genutzt werden, kann im Falle einer Kaufentscheidung eine Provision an mich ausgeschüttet werden. Bei einem Kauf über diese Links fallen natürlich keine Mehrkosten an. Danke!!

Fazit

Zusammenfassend lässt sich sagen, dass es mehrere Methoden gibt, um euren digitalen Stromzähler smart zu machen. Ob ihr nun eine kostengünstige Eigenbaulösung bevorzugt, eine fertige Plug-and-Play-Lösung sucht oder die detaillierten Daten der Smart Meter Language nutzen möchtet – für jeden ist etwas dabei. Ich hoffe, dieser Artikel hat euch geholfen und inspiriert, euren Stromverbrauch besser zu verstehen und zu optimieren.

Wenn ihr Fragen oder Anmerkungen habt, schreibt sie gerne in die Kommentare.

Viel Erfolg beim Basteln und Optimieren!

Alkly Dumme Dinge Smart machen

Alkly

Ich zeigt dir, wie du selber ohne Programmierkenntnisse und Herstellerunabhängig dein Zuhause mit selbst gebauter Smart Home-Technologie smart machen kannst.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert