Falls ihr, so wie ich, einen neuen digitalen Stromzähler (z.B. von Iskra) eingebaut bekommen habt und auch gerne den aktuellen Zählerwert [kWh] + Leistung [P] als schöne Kurve in eure Smart Home System (z.B. Home Assistant "kurz HA") angezeigt bekommen möchtet, dann seid ihr hier genau richtig! Hier beschreibe ich allerdings nur Home Assistant, da ich dieses System selbst im Einsatz habe. Wenn ihr ein anderes System habt, dann könnt ihr die Werte einfach via MQTT übertragen lassen.
Falls man nicht vor hat, ein Smart Home System einzurichten, sondern einfach nur gerne die Werte schön aufbereitet als Grafik (Liniendiagramm, Tagesverbrauch, Monatsverbräuche, Jahresansicht) anzeigen zu lassen, dann könnt ihr auch einfach nur den ESP mit dem Google Chart Skript nehmen. Tasmota unterstützt Google Chart und somit könnt ihr die Daten direkt auf der Tasmota Seite darstellen lassen! Tasmota mit Google Chart und ohne HA gibt es nun bei den Downloads!
Getestete Zähler (es funktionierten sicherlich auch andere):




Inhaltsverzeichnis:
(1) Was benötigt ihr (Komponentenauswahl)
(1a) WiFi / WLAN - Lesekopf mit integriertem ESP
(1b) LAN - Lesekopf (TTL, am Zähler) und separates ESP32 Modul mit LAN
(2) ESP8266 mit IR-Lesekopf verbinden (Schaltplan)
(3) Stromzähler direkt über den Raspberry Pi auslesen (EDL21)
(4) Stromzähler vorbereiten, ESP flashen, Tasmota und HA einrichten
(4a) Stromzähler vorbereiten und ESP8266 flashen
*** Download Tasmota Images ***
*** Download Chart Script ***
- Download weitere Custom Chart Scripte/Images
(4b) Tasmota Einstellungen für euer Smart Home System (z.B. Home Assistant)
(4c) Tasmota SML Script Beispiele für gängige Stromzähler
(4d) SML Scripterklärung (Descriptor)
(4e) Wichtig! TESTEN OB DATEN ANKOMMEN
(4f) Tasmota Google Chart Script (Liniendiagramm/Graph)
(4g) Tasmota Einstellungen - Sende- und Abrufintervall, Zeitzone und Home Assistant
(4h) Home Assistant Einstellungen (+ Energy Dashboard) für Tasmota
(5) Tasmota von extern erreichen (VPN Wireguard)
(6) Tasmota Firmware selbst erstellen (TasmoCompiler/Visual Studio)
(7) Tasmota Firmware Flashen/Updaten
(8) Stromzähler Daten an eine ext. Datenbank/Seite senden (clever-pv, thingspeak)
(9) Bei PV-Stromüberschuss Verbraucher einschalten (via WLAN Tasmota Steckdose)
(10) Tasmota Script Variable (z.B. Tageseinspeisung) an Home Assistant senden
(11) Nützliche Sachen für Home Assistant
(12) Tasmota via LAN/Ethernet (ESP32 WT32-ETH01)
(13) Marstek Jupiter/Venus/B2500 Shelly Emu
(14) Upgradeanleitung für die neuen Tasmota Scripte Version 01.12.2025 (nur ESP32)
-- Wenn ihr einen All-in-One Lesekopf (z.B. den von Hichi oder bitshake) verwenden wollt, dann scrollt weiter zu A) bzw. B) --
Hier biete ich euch ein paar Möglichkeiten an, wie ihr die Hardware umsetzen könnt. Am einfachsten und besten ist Variante A). Wenn euer Zähler aber in einem Sicherungskasten aus Metall eingebaut ist, dann könnte das WLAN des ESPs stark abgeschirmt werden. In dem Fall müsst ihr mal schauen wie gut der Empfang im Kasten ist, z.B. einfach mal euer Handy reinlegen, Tür schließen, warten und wieder öffnen und schauen wieviel WLAN Balken noch zu sehen sind. Wenn der Empfang sehr schlecht ist rate ich dazu ein WLAN Repeater zu setzen oder einen TTL Auslesekopf zu kaufen und dann den ESP irgendwo außerhalb des Sicherungskasten in ein extra Gehäuse zu setzen, dafür gibt es bereits etwas Fertiges siehe B). Es gibt aber auch die Möglichkeit das ganze über LAN zu machen, siehe C). Oder ihr sucht euch einen ESP Board mit extern anschließbarer Antenne. Die könnt ihr dann rausführen.
A) WiFi / WLAN - Lesekopf mit integriertem ESP
Welchen ESP soll ich nehmen?
Da die Preise für ESP32 Module stark gesunken sind und deshalb die Leseköpfe mit ESP32 fast genau soviel kosten wie die mit ESP8266, würde ich definitiv die ESP32-Leseköpfe empfehlen. Ich habe die ESP8266 Leseköpfe aber trotzdem noch auf meiner Seite gelassen. Bei der Stromaufnahme ist der ESP8266 allerdings deutlich genügsamer als der ESP32., das könnte für einige auch ein Entscheidungskriterium sein. Ab 01.12.2025 entwickle ich die Tasmota Scripte nur noch für den ESP32! Die älteren Scripte funktionieren noch auf dem ESP8266.
Ich habe mal die Leistungsaufnahme gemessen:
Hichi Lesekopf v1 mit ESP8266 (ESP01s) = 0,05W (Idle), 0,25-0,35W (Stromzähler sendet Daten)
Hichi Lesekopf v2 mit ESP32 C3 mini = 0,4W (Idle), 0,4W (Stromzähler sendet Daten)
Wifi v2 Lesekopf EHZ Volkszähler Hichi Smartmeter (ESP32-C3-Mini-1) [eBay Werbung]
Auf dem ESP ist bereits Tasmota mit SML "vorinstalliert". Wenn ihr aber mein Google Chart Script verwenden wollt, dann müsst ihr mein angepasstes ESP32 Image (ESP32-C3) via WLAN übertragen. Mit dem Hichi Lesekopf könnt ihr sogar noch weitere IR-Leseköpfe anschließen, wenn ihr mehrere Stromzähler auslesen möchtet. Mehr dazu findet ihr auf der Seite. Wollt ihr das Factory Image von mir flashen muss GPIO9 mit GND gebrückt werden, bevor es mit dem USB des PCs verbunden wird.
Pinbelegung 1: Rx = 3, Tx = 1. Meter Definition Beispiel +1,3,s,0,9600,MT681,1
Pinbelegung 2: Rx = 5, Tx = 4. Beispiel +2,5,s,0,9600,MT175,4
Achtung: Ab mehr als 2 verwendeten Leseköpfen muss Software Serial verwendet werden (nur RX möglich)
Pinbelegung 3: Rx = 21, Tx = nicht möglich. Beispiel +3,-21,s,0,9600,MT671
All-in-One WiFi Lesekopf von bitshake (ESP32-C3-Mini-1) [eBay Werbung]
Der Lesekopf von bitshake ist eine gute Alternative und bietet den gleichen Umfang wie der hichi. Auf dem ESP ist ebenfalls bereits Tasmota mit SML "vorinstalliert". Vorteil: Mit der Firmware könnt ihr auch direkt mein Google Chart Script verwenden ohne irgendwas zu flashen. Wollt ihr trotzdem mein Image flashen, geht das nur über USB via Online Flasher (siehe Anleitung unten). Dazu muss der Deckel abgenommen werden. Vor dem Stecken des USB-Kabels in den PC die Taste gedrückt halten = FlashModus. Nachdem Kauf bekommt ihr einen Link zu einer sehr ausführlichen Beschreibungsseite.
Pinbelegung: Rx = 5, Tx = 4. Meter Definition Beispiel +1,5,s,0,9600,MT681,4
stromleser tasmota smart meter IR Lesekopf (ESP-C3-Mini-1) [eBay Werbung]
Dieser Lesekopf sieht sehr professionell aus und hat ein echtes Kunststoffgehäuse (nicht aus dem 3D-Drucker). Er wird mit einer richtig hübschen Verpackung, kleinem Handbuch/Anleitung und USB-C Kabel geliefert und hat sogar eine App (diese ruft die Daten von Tasmota ab). An der Seite gibt es eine Anschlussmöglichkeit für vier weitere Leseköpfe, also insgesamt 5! Integriert ist noch ein Schmitt-Trigger (74HC14), der die Signalübertragung verbessert. Auf dem ESP ist ebenfalls bereits Tasmota mit SML "vorinstalliert", allerdings müsst ihr für meine Scripte mein Image flashen, was aber kein Problem ist. Der Hersteller hat auch eine eigene Seite mit vielen Beispielscripten für verschiedene Zähler.
Pinbelegung 1: Rx = 3, Tx = 1. Meter Definition Beispiel +1,3,s,0,9600,MT681,1
Pinbelegung 2: Rx = 5, Tx = 4. Beispiel +2,5,s,0,9600,MT175,4
Achtung: Ab mehr als 2 verwendeten Leseköpfen muss Software Serial verwendet werden (nur RX möglich)
Pinbelegung 3: Rx = 21, Tx = nicht möglich. Beispiel +3,-21,s,0,9600,MT671
Pinbelegung 4: Rx = 7. Beispiel +4,-7,s,0,9600,MT671
Pinbelegung 5: Rx = 10. Beispiel +5,-10,s,0,9600,MT671
WiFi IR SMI SMA V32 Christians Technikshop (ESP-C3-Mini-1) [eBay Werbung]
Der Lesekopf von Christians Technikshop GmbH ist im Prinzip wie die anderen Leseköpfe, allerdings kann man hier auch eine externe Antenne (2/9 dBi) anschließen, was gerade bei abgelegenen Stromzählern von Vorteil sein könnte. An der Seite gibt es hier auch eine Anschlussmöglichkeit für einen weiteren Lesekopf (TTL) zum Auslesen eines 2. Stromzählers. Integriert ist noch ein Schmitt-Trigger (??), der die Signalübertragung verbessert. Auf dem ESP ist ebenfalls bereits Tasmota (eigene Version) mit SML "vorinstalliert", allerdings müsst ihr für meine Scripte mein Image flashen, was aber kein Problem ist. Der Hersteller hat eine richtig gute Beschreibungsseite für den Lesekopf (Handbuch).
Pinbelegung: Rx = 3, Tx = 1 (2. Lesekopf Rx = 20, Tx = 21). Meter Definition Beispiel +1,3,s,0,9600,MT681,1
Andere ESP32 Leseköpfe:
Es gibt natürlich noch andere fertige Leseköpfe mit integriertem ESP32. I.d.R. bekommt ihr dann vom Händler Infos, welche Pins ihr verwenden müsst. D.h. an welchen GPIOs der Hersteller die Sende und Empfangsdiode angeschlossen hat. Der ESP32-C3 hat 2 UARTs (UART0 und UART1 = RX/TX), die via Multiplex auf fast jeden GPIO-Pin gelegt werden können (das macht die Firmware im Hintergrund).
Empfehlung:
ESP32-C6 (Datasheet ESP32-C6, ESP32-C6-Zero Pinout)
Pinbelegung: Rx = 3, Tx = 1. Meter Definition Beispiel +1,3,s,0,9600,MT681,1
ESP32-C3 (Datasheet ESP32-C3 Chip, ESP32-C3 Super Mini Pinout)
Pinbelegung: Rx = 3, Tx = 1. Meter Definition Beispiel +1,3,s,0,9600,MT681,1
ESP8266: All-in-One WiFi Lesekopf von Hichi (ESP01s) [eBay Werbung]
Hichi bietet bei eBay komplett fertige WiFi Leseköpfe an. Diese beinhalten bereits den ESP8266 (ESP01s Modul) und muss nur über die Mikro USB Buchse mit 5V versorgt werden. Mit einem USB-Netzteil/Ladegerät[eBay Werbung] oder ihr baut euch ein 5V Hutschienen Netzteil[eBay Werbung] ein. Allerdings müsst ihr dafür guten WLAN Empfang in eurem Sicherungskasten haben, der aus Metall ist. Aber dies ist wirklich eine sehr einfache Lösung und kostet weniger als 40€. Auf dem ESP ist bereits Tasmota "vorinstalliert". Deshalb könnt ihr direkt mein fertiges Image via WLAN übertragen ohne TTL Adapter.
Pinbelegung: Rx = 3, Tx = 1. Meter Definition Beispiel: +1,3,s,0,9600,MT681,1
B) Ethernet / LAN - Lesekopf (TTL, am Zähler) und separates ESP32 Modul mit LAN
Spätere Firmware Upgrades müssen immer über das WLAN und nicht über LAN gemacht werden!
Optionen:
oder mit PoE (Power over Ethernet) ~18€
ESP Hutschienengehäuse
(2) ESP8266 mit IR-Lesekopf verbinden (altes Beispiel)
Unbenutzer TX-Pin (Sendediode)
Wichtig: Wird die Sendediode (TX) vom IR-Lesekopf nicht benötigt, dann müsst ihr den GPIO Pin in eurer Meter Definition im Script am Ende trotzdem angeben, ansonsten kann die Diode ungewollt flackern und euer Smart Meter verwirren. Das könnte z.B. so aussehen +1,3,s,0,9600,MT681,1
Eine andere Methode: Es ratsam diese fest auf 3,3V zu legen (mit 3,3V verbinden). Bei fertigen Leseköpfen inkl. ESP ist das natürlich schwierig. Den TX-Pin kann man da dann einfach in Tasmota (via Software) auf High-Pegel 3,3V legen. Configuration -> Template und da den entsprechenden GPIO TX-Pin von User auf Output Hi setzen. Beim Ready2Use WiFi Lesekopf von Hichi ist es GPIO 1. (Rx ist GPIO 3).
Hintergrund: Wird die Sendediode (TX) nicht angeschlossen, dann hat sie keinen Spannungsbezug (nennt man floating pin). Vor der Diode ist noch ein Schmitt-Trigger vorgeschaltet. Wenn nun die
TX-Ader nicht beschaltet ist, dann kann in die nicht angeschlossene Leitung Spannung induziert werden. Da diese nicht abgebaut werden kann wird irgendwann die
Schwelle des Schmitt-Triggers erreicht und er schaltet kurz durch. Das kann nun öfters hintereinander passieren und euren Stromzähler zufällig Befehle zusenden. Den Fall hatte ich persönlich und
mehrere Leser meines Blogs (siehe Kommentar #1021). Deshalb vorsichtshalber den Pin per Hand oder via Software auf HIGH-Pegel setzen (3,3V).
(3) Stromzähler direkt über einen Raspberry Pi auslesen (EDL21)
Falls ihr den Stromzähler direkt über einen Raspberry Pi, auf dem z.B. euer Home Assistant läuft, auslesen wollt, dann müsst ihr nur folgende Integration installieren. Dafür ist dann ein USB Auslesekabel notwendig. Ihr könnt aber auch direkt an die TX/RX Pins des Rpi gehen. Dann müsst ihr nur die config der Integration ändern (/dev/serial0). Weitere Infos.
https://www.home-assistant.io/integrations/edl21/
(4) Stromzähler vorbereiten, ESP flashen, Tasmota und HA einrichten
(4a) Stromzähler vorbereiten und ESP8266 flashen
1. Den Pin / Code, den ihr von euren Stadtwerken erhalten habt, an eurem Stromzähler eingeben und somit freischalten. Ansonsten könnt ihr nur den Gesamtverbrauch auslesen. Den Code könnt ihr meistens über eine Taste / Schalter oder in jedem Fall über eine Taschenlampe eingeben. Schaut einfach in die Anleitung eures Stromzählers. Wenn ihr den MT175 habt, die blaue Taste 2x drücken (es folgt ein Displaytest). Nun schnell die Pin mit der blauen Taste eingeben. Wenn ihr 3s wartet wird zur nächsten Stelle des Pins gesprungen. Anschließend sollte eure aktuelle Leistung unter dem Zählerstand angezeigt werden. Info: Beim DZG DWS74 muss nach der Eingabe Inf auf On und Pin auf Off gestellt werden.
2. Nun die ESP8266 Tasmota Firmware herunterladen (scrolle runter). Ihr könnt euch auch selbst ein Images erstellen. Siehe dazu Kapitel 6. Nachdem ihr euer Image heruntergeladen habt folgt das Flashen. Die Anleitung geht hinter den Downloads mit Schritt 3 weiter.
-Tasmota Images & Scripte-
Angepasste Tasmota Images:
Generell immer in Englisch mit SML (Script), Home Assistant, Google Chart Support. Externer Link zu Google Drive.
ESP32 (S2, S3, C3, C6, SOLO-1 ):
+ Ethernet (LAN), Modbus TCP, TCP-Server Support und Shelly Simulation. Welche Features ich genau aktiviert habe findet ihr in der Beschreibung des entsprechenden Release auf github.
----------------------------------------------
ESP8266/8285 1M (z.B. ESP01s Hichi) / 4M+ Flash (z.B. D1 mini) / SonOff POW(R2) / Gosund EP-2 / Nous A1T:
Ich habe alle unnötigen Tasmota Features/Treiber aus dem Image entfernt, damit das Google Chart Skript richtig läuft und auch Firmwareupdates ohne den Umweg über die minimal möglich ist. Die deaktivierten Features findet ihr Punkt 6.4 bzw. hier oder im github Release. Wenn euch etwas fehlen sollte, dann könnt ihr euch eine eigene Version bauen (siehe Punkt 6). Oder fragt in den Kommentaren.
Tasmota 14.2.0 (17.09.2024) GDrive
+extra Images mit serial/rs232, global-var, domoticz Support
Hinweise:
----------------------------------------------
Tasmota Google Chart Script:
Visuelle Anzeige eures Verbrauchs (Tages, Monats, Jahresansicht) via Google Charts und optional (+PV Script) mit Anzeige der Netzeinspeisung (Monatsansicht). Dabei handelt es sich um ein großes Tasmota Script, das ihr auf euren ESP übertragen müsst! Anleitung und Beschreibung weiter unten (4f).
Features:
- Visuelle Anzeige des Verbrauchs (Tages, Monats, Jahresansicht)
- Visuelle Anzeige der Einspeisung (Tages, Monats, Jahresansicht) "+PV"
- Gefilterter Leistungswert z.B. für Regelung Nulleinspeisung (openDTU-onbattery). Vergleich Leistung gefiltert und ungefiltert siehe Bild unten und FAQ Nr 9.
Abrufbar via http://eure-ip/cm?user=admin&password=joke&cmnd=script?power2
- Alle Daten können auch via MQTT übertragen werden! Siehe Kapitel 10.
- Im Skript sind optionale Inhalte deaktiviert (auskommentiert mit ";" am Anfang der Zeile). Zum Aktivieren das Semikolon entfernen. Es gibt folgende Optionen:
> Werte (Leistung) im 4h/24h-Diagramm begrenzen. Optional auch über ein Schieberegler. Sucht im Skript nach "vn" um die Stellen zu finden, die aktiviert werden müssen.
> Seite automatisch aktualisieren. Sucht nach "Auto reload" im Skript.
> Schalte einen 2. ESP (Verbraucher) bei Netzeinspeisung. Suche nach "swesp" im Skript.
> Tages, Monats, Jahreswerte via MQTT übertragen. Suche nach "publish" im Skript.
> Einfacher Säulenchart darstellen. Suche nach "Säulenchart" im Skript.
----------------------------------------------
Weitere nützliche Scripte:
Hier findet ihr weitere nützliche Google Chart
Scripte die von meinen fleißigen Lesern des Blogs erstellt wurden. Falls ihr dafür ein angepasstes Tasmota Image benötigt steht das mit im Text.
hier gehts mit der Anleitung weiter ;)
Firmware flashen
3. Nun müsst ihr Tasmota auf euren ESP flashen. Hier gibt es zwei Wege:
Jetzt braucht ihr noch das richtige Programm. Hier gibt es wieder zwei Wege:
Empfohlen: Tasmota Web Installer (ihr müsst keine Software installieren) => [Update vom 13.5.26] Geht bei mir aktuell nicht, es kommt ständig "Device has been reset to firmware mode. The USB port has changed. Please click the button below to select the new port." Über das Flash Download Tool klappt es aber noch einwandfrei.
Dort die zuvor von meiner Seite heruntergeladene tasmota.factory Firmware hochladen und dann via Connect mit dem ESP verbinden und flashen (Haken bei Erase setzen). Nachdem das Image erfolgreich übertragen wurde könnt ihr anschließend über den Button "CONNECT TO WI-FI" den ESP mit eurem WLAN verbinden (im Menü auswählbar). Wenn ihr diese Option nicht auswählen könnt (z.B. beim ESP32-C3, C6), dann könnt ihr euch auch über die Console verbinden (LOGS & CONSOLE). Gibt in die Console zuerst wifiscan 1 ein, anschließend (nachdem APs gefunden wurden) wifitest SSID+Passwort (das + dazwischen ist wichtig). Hat's geklappt, steht in der Console "Connected - IP Address xxx". Die IP merken. Weiter geht's bei 4 bzw. 7.
Andere Software:
Tasmota ist nun auf eurem ESP. USB-Kabel vom PC und ESP trennen und weiter zum nächsten Schritt.
4. USB-Ladegerät/Netzteil mit dem ESP verbinden ... ESP8266/32 müsste nun starten und evtl. blinken
5. via Handy auf den vom ESP erstellten Tasmota Hotspot verbinden und dort das WLAN einrichten
6. Nun über einen Webbrowser auf den ESP zugreifen, der sich ja jetzt in eurem WLAN Netz befinden sollte. Die neue IP sollte auf der Tasmota Seite auf eurem Handy erscheinen. Adresse könnte lauten http://192.168.178.31.
7. Habt ihr das geschafft, klickt ihr als nächstes auf Configuration -> Module und wählt ein Modul aus. Beim ESP8266 "Generic (0)". Bei den verschiedenen ESP32 Boards je nachdem welches ihr habt euer Modul z.B. ESP32C3. Findet ihr nicht euren ESP in der Liste, dann einfach Generic (0).
8. Jetzt wechselt ihr zur Hauptseite und dann Consoles -> Edit Script und setzt den Haken bei "Script enable".
9. Stromversorgung des ESPs trennen und den IR-Lesekopf mit dem ESP verdrahten, falls ihr keinen All-In Lesekopf gekauft habt (welchen GPIO? Siehe ESP8266, ESP32. Hier gibt es noch eine Infoseite). Den Schritt könnt ihr aber auch später machen, nachdem ihr das Script übertragen habt. Ich würde aber nun alles verbinden und den Lesekopf an den Zähler anbringen. Habt ihr den fertigen Hichi Lesekopf, dann braucht ihr diesen ja nur an den Zähler heften, mit Strom versorgen und das Script (das sind die nächsten Schritte) übertragen/eingeben. Später im Script müsst ihr die verwendeten GPIOs eingeben. Siehe Kapitel 4d zur Erklärung welche GPIO Pins ihr nehmen könnt/dürft.
Falls ihr kein komplexes Smart Home System wie z.B. Home Assistant habt/braucht bzw. ihr einfach nur die Stromzähler Werte (+Liniendiagramme/Graphen) lokal auf eurem ESP abrufen wollt, dann springt weiter zum Tasmota Script!
(4b) Tasmota Einstellungen für euer Smart Home System (z.B. Home Assistant)
Configuration -> MQTT (die Tasmota HA Integration nutzt auch MQTT!):
Main Menu -> Console:
(4c) Tasmota SML Script Beispiele für ein paar gängige Stromzähler (ohne Google Charts)
Hinweis: Ab Tasmota Image V15.1.0 11.12.2025 (meine erstellten Images) könnt ihr die Scripte direkt aus Tasmota heraus auswählen. Wählt 0_SML_Simple aus, danach könnt ihr auf der Hauptseite euren Stromzähler auswählen und müsst diesen nicht per Hand im Script einstellen. Allerdings funktioniert das nur auf einem ESP32 (z.B. HichiV2 oder Bitshake, usw). Der ESP8266 ist einfach zu schwach und deshalb entwickle ich meine Scripte ab dem 01.12.2025 auch nicht mehr für den ESP8266 weiter (die alten findet ihr aber immernoch auf github).
Alte Anleitung für Images vor 15.1.0 oder ESP8266:
Hinweis: Wenn ihr mehr wollt, also richtige Verbrauchsdiagramme (Google Charts), dann müsst ihr zum Punkt (4f) springen. Das Skript müsst ihr aber dann trotzdem anpassen (4d).
Jetzt müsst ihr das SML Skript zum Auslesen eures Zählers auf den ESP übertragen. Dazu geht ihr auf Consoles -> Edit Script. Ich habe auf meiner github
Seite eine große Auswahl von Scripten gängiger Stromzähler. Sucht nach euren Zähler und kopiert den Inhalt der .tas Datei (Copy raw file ) und fügt es einfach ins Tasmota Edit Script Fenster ein. Zuvor alles aus dem Fenster löschen! Klickt nun erstmal auf Save. Weiter unten geht's weiter!
Findet ihr euren Zähler nicht auf meiner github Seite, dann gibt's auf dieser Seite noch mehrere Zähler Scripte. Wenn ihr euren Zähler dort auch nicht, dann gibt es noch eine andere Methode mit SML Parser und der Debugfunktion "sensor53 d1" (springt zum Kapitel 4e) die Meter Definition/Script für euren Zähler selbst zu erstellen. Wenn ihr mein Google Chart Skript verwenden solltet, dann achtet bitte auf die Reihenfolge der Zeilen mit 1,77.. beginnend. Jede Zeile mit 1,77... erzeugt eine neue Variable im Skript "sml[x]", x = 1-n. z.B. sml[1] ist in meinem Skript die Leistung in W. sml[2] der Verbrauch in kWh. Wenn ihr die Reihenfolge anders habt, dann kommen die Diagramme durcheinander (nur wenn ihr mein Google Chart Script verwendet).
Um das Skript an euren Zähler und an eure ESP Hardware anzupassen müsst ihr i.d.R. nur die Zeile +1,14,s,16,9600,MT175 anpassen. Dazu scrollt weiter runter zu (4d).
Hier in den Beispielen bekommt ihr anschließend 3 Werte aus dem Stromzähler (falls das euer Zähler unterstützt):
Wenn ihr noch mehr Werte haben möchtet, dann schaut hier nach. Dort steht z.B. bei MT175 - Leistung (Momentan) = 1-0:16.7.0*255. Jede Zahl müsst ihr nun in Hex Code umwandeln (am besten mit dem Windows Taschenrechner im Programmierermodus). Aus der Zahl von eben wird dann 01 00 10 07 00 FF (Striche, Punkte und * weglassen). Davor kommt nun die 77 07. Hinter dem FF ein @1 (Skalierung) usw. Für eine genaue Beschreibung des Scriptes siehe Hilfeseite Tasmota SML.
Wenn ihr nur erstmal testen möchtet ob der Lesekopf korrekt arbeitet und Daten ankommen, dann fügt das Skript wie bereits beschrieben ein, speichert und aktiviert ist. Aber die Zeile(n) mit 1,SML-Code@xxx weglassen. Nun scrollt ihr etwas runter zu (4e). Denkt daran den korrekten GPIO Pin anzugeben!
(4d) SML Scripterklärung (Descriptor)
>D = a valid script must start with >D in the first line
>B = Declare >B (boot) section to inform the interface to read the meter descriptor sensor53
=>sensor53 r Reset SML Treiber
->sensor53 l2 Optional: LED an GPIO2 blinken lassen, wenn Stromzähler sendet. Hichi z.B. hat eine blaue LED im Lesekopf an GPIO2.
>M 1 = Declare >M section with the number of connected meters, in this case only 1
+1,3,s,16,9600,MT175,1
1 = 1. Zähler (Smartmeter) Meter Definition
3 = GPIO 3 . Hier könnt ihr den Pin (GPIO) ändern, an dem ihr das RX Signal des Lesekopfes (Empfangsdiode) angeschlossen habt. Je nachdem ob ihr einen fertigen Lesekopf inkl. ESP verwendet oder euch selbst etwas baut müsst ihr darauf achten, den korrekten Pin zu verwenden. Die Hersteller der fertigen Leseköpfe geben immer mit an, welche Pins ihr verwenden müsst. Wenn ihr euch das ganze aber selbst zusammen baut, dann könnt frei entscheiden. Je nach verwendeten ESP gibt es 1-3 UARTs, die verwendet und auf fast jeden beliebigen GPIO gelegt (via multiplex) werden können. Beim ESP8266 solltet ihr es vermeiden 0, 2 oder 15 zu verwenden. Beim ESP32 müsst ihr unbedingt nach eurem verwendeten Board (z.B. ESP32-C3 Super Mini Pinout) suchen. Unter Tasmota -> Configuration -> Module gewählten GPIO auf None stellen (ist Standard). Configuration -> Logging -> Serial log level (Info) = 0 None. Wenn ihr die Pins ändert, müsst ihr ggf. neustarten. Je ESP gibt es folgende Anzahl an UARTs:
- ESP8266 hat 1 verwendbaren UART
- ESP32 hat 3 verwendbare UARTs
- ESP32-C3, C6 hat 2 verwendbare UARTs
Sind diese aber belegt oder ihr wollt noch mehr Leseköpfe anschließen, könnt ihr auch Software Serial verwenden (nicht unbedingt empfehlenswert, es geht nur RX, siehe auch Link). Dafür muss das Tasmota Image mitUSE_ESP32_SW_SERIAL kompiliert werden (bei mir ab 14.4.1) und vor dem Pin muss ein "-" Zeichen hinzugefügt werden (siehe auch tasmota SML Seite).
s = SML binary coding
16 = 16 = Werte werden Median gefiltert = geglättet. Könnt ihr auch auf 0 ändern
9600 = Baudrate eures Stromzählers. Beim MT175 ist dieser auf 9600baud eingestellt
MT175 = Name des Stromzählers. Wird später in HA angezeigt (nur 6 Zeichen!)
1 = GPIO 1 - Sendediode, wenn ihr eine habt. Wenn nicht kann ",1" entfallen. ! Wenn euer Lesekopf eine hat und diese an ein Pin geht, solltet ihr den GPIO angeben (siehe Kapitel 2). Verwendet hier auch generell nur Hardware TX-Pins. Siehe Hinweis (1).
# = Put at the end to terminate M section of the script
; = Use to comment lines in the script
+<M>,<rxGPIO>,<type>,<flag>,<parameter>,<jsonPrefix>{,<txGPIO>,<txPeriod>,<cmdTelegram>}
<M>,<decoder>@<scale><offs>,<label>,<UoM>,<var>,<precision>
<precision> = number of decimal places. Add 16 to transmit the data immediately. Otherwise it is transmitted on TelePeriod only.
Mit Hilfe dieser sehr nützlichen Seite könnt ihr das SML Skript (Desriptor) an euren Zähler anpassen! Siehe auch nächstes Kapitel.
(4e) Wichtig! TESTEN OB DATEN ANKOMMEN
Funktioniert der Lesekopf (RX/TX-Pins korrekt konfiguriert?)
Ich habe einen Lesekopf-Spiegeltest als auswählbaren "Zähler" zur DropDown Liste hinzugefügt. Wählt man diesen "Stromzähler" aus, dann kann man sein Lesekopf am Spiegel testen.
1. "0_SML_Simple" unter EditScript wählen
2. "Lesekopftest mit Spiegel" auf der Hauptseite auswählen (Stromzählerauswahl)
3. RX und TX Pin wählen
4. Lesekopf vor einem Spiegel halten
5. Es sollten nun Werte angezeigt werden, die Leistung wird zufällig geändert
Mein Tasmota Image 15.1.0 oder höher erforderlich!
Nun Prüfen ob der Stromzähler Daten sendet
In der console "sensor53 d1" eingeben. Wenn alles richtig einstellt und verdrahtet wurde erscheint jetzt viel Hex Code und ihr könnt weitermachen. Wenn nicht müsst ihr evtl. eure Verdrahtung (nur beim Eigenbau) prüfen, den Auslesekopf drehen usw. An welchen GPIO Pin des ESP habt ihr euren Lesekopf angeschlossen (z.B. TX Lesekopf -> RX Pin ESP. Gilt nicht beim Lesekopf von Hichi. Dort muss TX an TX Pin). Nach dem Testen "sensor53 d0" eingeben.
Die Daten die ihr in der Console seht, sind Rohdaten vom SML Treiber bzw. von eurem Stromzähler. Die Zeilen könnt ihr kopieren und auf dieser schönen SML Parser Seite online in fertiges Script umwandeln. Eine schöne Anleitung und eine verbesserte Version des SML Parsers findet ihr auf Christians Technikshop (bietet auch Leseköpfe an).
(4f) Tasmota Google Chart Script (Liniendiagramm/Graph)
Hinweis: Ab Tasmota Image V15.1.0 11.12.2025 (meine erstellten Images) könnt ihr die Scripte direkt aus Tasmota heraus auswählen! Und ihr könnt danach auch euren Stromzähler auswählen und müsst diesen nicht per Hand im Script einstellen. Allerdings funktioniert das nur auf einem ESP32 (z.B. HichiV2 oder Bitshake, usw). Der ESP8266 ist einfach zu schwach und deshalb entwickle ich meine Scripte ab dem 01.12.2025 auch nicht mehr für den ESP8266 weiter (die alten findet ihr aber immernoch auf github).
Hinweis: Bitte beachtet unbedingt die Upgradeanleitung für die neuen Tasmota Scripte Version 01.12.2025 (nur ESP32)
Eine kurze Anleitung zu diesem neuen Feature (und mehr) findet ihr hier.
Habt ihr noch einen alten Lesekopf mit ESP8266 oder wollt die Scripte selbst übertragen und bearbeiten, dann folgt dieser alten vorherigen Anleitung:
Alte Anleitung für die "alten" ESP8266 Scripte:
Falls es Probleme gibt beim Speichern des Scriptes oder Script wird abgeschnitten beim Einfügen, dann verwendet den externen Script Editor. Dieser sendet das Script direkt an den ESP.
Im Script müsst ihr an der Stelle mit ;-- SML -- den SML Descriptor für euren Zähler anpassen. Folgt dazu der Anleitung weiter oben. Beim Google Chart Script es es aber wichtig, dass ihr die Reihenfolge nicht ändert. In der ersten Zeile muss die Leistung, in der zweiten der Netzbezug und in der dritten die Netzeinspeisung (nur beim +PV Script) eingegeben werden. Also so z.B.:
>M 1
+1,14,s,16,9600,SML
1,77070100100700ff@1,Leistung,W,Power,0
1,77070100010800ff@1000,Verbrauch,KWh,ImportActive,2
1,77070100020800ff@1000,Netzeinspeisung,KWh,ExportActive,2 (nur beim +PV Script)
Auch wichtig: Damit der Tagesverbrauch und die Diagramme auch die korrekten Werte anzeigen muss nach dem Start (Auf eurer Tasmota Seite oben muss der korrekte Zählerstand dargestellt werden) folgendes hintereinander in der Console eingegeben werden: script>=#init
1. Other Configuration -> Other:
2. Sende/Abruf Intervall einstellen Configuration -> Logging
4. Main Menu -> Console:
(4h) Home Assistant Einstellungen (und Energy Dashboard) für Tasmota
-- Ihr braucht für die Tasmota Integration auch immer den MQTT broker! --
1. Für MQTT einen neuen User hinzufügen: Configuration -> People -> Users -> Add User: user = mqtt, password = mqtt (oder wählt einen anderen)
2. Mosquitto broker Addon hinzufügen. Danach die Mosquitto broker Integration hinzufügen.
3. Tasmota Integration hinzufügen
4. Nun müsste automatisch ein neues Device unter der Integration auftauchen, unter dem Namen, den ihr in Tasmota vergeben habt. Bei mir MT175. (siehe Bilder unten)
Wenn ihr da Probleme habt könnt ihr das Addon MQTT Explorer installieren und schauen, ob Daten von Tasmota kommen. Bei mir siehts so aus:
Unter tasmota > discovery > MAC > sensors sollten eure Werte vom Zähler ankommen. Diese werden im Intervall "Telemetry period" (Tasmota Einstellungen > Logging default 300s)
aktualisiert. Schaut eine Zeile eueres Stromzählerscripts am Ende so aus, dann wird der Wert sofort übertragen und landet woanders (2. Bild):
1,77070100100700ff@1,Leistung,W,Power_curr,16
5. Jetzt habt ihr ein neues Device und die Entities! Unter der Integration Tasmota.
6. Wenn die Werte Einheitenlos sind, dann liegt es daran, dass die Werte wie Leistung, Verbrauch, Einspeisung in Tasmota nicht nach dieser Tabelle benannt wurden. Die Momentanleistung muss z.B. als Power oder ActivePower benannt werden. 1,77070100100700ff@1,Leistung,W,Power,0
Optional: Wenn ihr eine extra Tages, Wochen, Monats, Jahresverbrauchsanzeige benötigt (und das nicht über das Energy Panel ablesen wollt):
utility_meter:
mt175_daily_energy:
source: sensor.mt175_mt175_total_in
cycle: daily
mt175_weekly_energy:
source: sensor.mt175_mt175_total_in
cycle: weekly
mt175_monthly_energy:
source: sensor.mt175_mt175_total_in
cycle: monthly
mt175_yearly_energy:
source: sensor.mt175_mt175_total_in
cycle: yearly
(5) Zugriff auf Tasmota von Außen / Extern via Handy - VPN/WireGuard
Externe Anleitung von AVM (FRITZ!Box). Habt ihr den VPN Zugang auf dem Router und auf eurem Handy eingerichtet, müsst ihr nur noch die lokale IP-Adresse von Tasmota (eurem Lesekopf bzw. dem ESP) eingeben.
(6) Tasmota Firmware selbst erstellen (TasmoCompiler/VisualStudio)
1. Geht auf https://gitpod.io/#https://github.com/benzino77/tasmocompiler (Github Account notwendig).
Für etwas erfahrene User empfehle ich Visual Studio Code (Linux erforderlich wegen Pathname length Problem, z.B. Ubuntu oder in einer VM auf Windows). Ihr müsst euch dann einfach nur noch für eine Version entscheiden und auf den Link klicken und dann zu Punkt 4. springen. In der Datei user_config_override.h im Ordner tasmota ein dann die Zeilen aus den Kästen unter Punkt 4 eingeben.
Development Branch: https://gitpod.io#https://github.com/arendst/Tasmota/tree/development
Master Release: https://gitpod.io#https://github.com/arendst/Tasmota/tree/master
2. Es sollte sich nach dem Login und Zugriff erlauben zwei neue Tabs öffnen. Öffnet den TasmotaCompiler Tab und geht die Punkte 1-2 durch. Wer will kann bei Punkt 2. bereits seine WLAN SSID vorgeben. Ansonsten erstellt Tasmota ein Hotspot auf den ihr euch verbinden und dann die SSID einstellen könnt.
3a. Bei Punkt 3. "Features" wählt folgende Optionen aus (andere deaktivieren)
Oben wählt ihr euren ESP aus. ESP8266 Generic habe ich gewählt (Standard China Teile).
3b. Wenn ihr einen ESP32 habt dann müsst zusätzlich das folgendes aktivieren (Standardmäßig bereits aktiviert):
Oben wählt ihr euren ESP aus, z.B. ESP32 Generic beim D1 mini
4. Folgende Zeilen bei "Custom Parameters" einfügen (für Visual Studio Benutzer die Zeilen in der user_config_override.h eingeben):
#ifndef USE_SML_M
#define USE_SML_M
#endif
Mit diesen #defines (Treiber/Features) kompiliere ich via Visual Studio Code:
user_config_override.h (github)
Wenn ihr nicht den TasmoCompiler verwendet, sondern Visual Studio (oben bei 1. erwähnt), dann müssen die #defines in die user_config_override.h sein. Dann könnt ihr im Terminal Fenster z.B. den Befehl platformio run -e tasmota32 (ESP32) eingeben, um das Image erstellen zu lassen. Ihr könnt auch meine Dateien verwenden, um "ottelo" Tasmota Images zu erzeugen: user_config_override.h und platformio_tasmota_cenv.ini. Im Ordner build_output\firmware\ findet ihr dann die Images.
TasmoCompiler:
5. Wählt die Sprache und die Version (nicht Development) aus
6. Compile!
(7) Tasmota Firmware Flashen/Updaten (Firmware Upgrade)
Vor einem Update (Upgrade) solltet ihr unbedingt die Daten aus den Diagrammen sichern (falls ihr das Google Chart Script verwendet). Folgt dazu der Anleitung im FAQ. Falls die Daten dann nach einem Update weg sein sollten könnt ihr sie wieder herstellen. Ist dies geschehen lädt ihr euch einfach das neuste Image herunter (nicht entpacken). Dann geht ihr auf "Firmware Upgrade" -> "Upgrade by file upload" und wählt die eben heruntergeladene Datei aus. Nachdem Übertragen startet Tasmota neu. Es kann nun passieren, dass euer Script nun weg ist (aber eigentlich nicht). Das müsst ihr dann einfach wieder mit dem ScriptEditor übertragen.
(8) Stromzähler Daten an eine ext. Datenbank/Seite senden
Falls ihr euren aktuellen Verbrauch (Momentanleistung) auch von unterwegs aus anschauen möchtet oder die Daten auch zusätzlich extern sichern wollt, zeige ich euch hier eine sehr einfache und kostenlose Lösung. Es gibt mehrere Anbieter (Auswahl): clever-pv.com, zaehlerfreunde.de, thingspeak.com
Hinweis: Der Befehl WebQuery benötigt bis zu 1s und blockt solange die Ausführung des Scriptes. Wenn ihr diese Lösung in mein Google Chart Script einfügt, dann werden die Tages-, Monats- und Jahreswerte nicht korrekt berechnet, da in der >S Sektion der "alle-60s-Block" (upsecs%60==0) nicht immer ausgeführt wird. Ich arbeite an einer Lösung. Wenn ihr nur die >M Sektion habt (also mein Script nicht verwendet), dann spielt das alles natürlich keine Rolle!
clever-pv:
Funktioniert es nicht? Evtl. hilf dieser Forumsbeitrag.
Wenn man ein Balkonkraftwerk (BKW) oder eine PV-Anlage hat und so wenig wie möglich ins Netz einspeisen möchte (weil es dafür z.B. kein Geld gibt), dann gibt es mit Tasmota Script die Möglichkeit, eine (oder mehr) WLAN-Steckdose (ebenfalls mit Tasmota) zu steuern und somit eine Last zuzuschalten (z.B. Poolpumpe).
Was wird dafür alles benötigt?
Wenn ihr mein Google Chart Script für den ESP mit IR-Auslesekopf verwendet, dann ist die Funktion bereits inkludiert, muss aber noch von euch angepasst werden! Wenn ihr den kleinen ESP8266 (ESP01s) verwendet, müsst ihr dazu leider das Script auf dem PC bearbeiten und wieder neu auf den ESP übertragen (siehe Anleitung Kapitel 4f).
Ob ihr nun mein Script bereits verwendet oder nicht, die Funktion sollte dann so bei euch aussehen bzw. müsst ihr so einfügen:
Tasmota Script (ESP im IR-Lesekopf am Stromzähler) - Beispiel - Ich arbeite noch dran
Anpassungen im Script:
Funktion testen:
Die ext. Steckdose kann man über die Tasmota Console (ESP im Lesekopf) über folgenden Befehl schalten:
Mein Google Chart Script zeigt nicht nur hübsche Graphen an, sondern errechnet ja auch den Tages- und Monatsverbrauch sowie die Tages- und Monatseinspeisung. Standardmäßig sendet Tasmota aber nur die direkt via SML empfangenen Stromzählerwerte. In meinem Fall (MT175) also nur Leistung, Verbrauch und Einspeisung. Wenn man nun noch mehr in Home Assistant anzeigen lassen möchte, muss man folgendes tun. Wenn ihr mein Google Chart Script verwendet, dann müsst ihr nur nach publish suchen und das Kommentar Zeichen ";" entfernen. Das Script dann neu hochladen und dann werden die Werte an HA gesendet. Danach muss man die Werte noch in HA einbinden. Das kann man entweder in der configuration.yaml machen oder einfach ein "MQTT config topic" an euren MQTT Broker senden. Dafür nimmt man das Addon MQTT Explorer in HA. Ich beschreibe jetzt erstmal kurz wie man ein Wert in Tasmota an HA sendet und am Ende folgt die Anleitung zum Einfügen des Sensors in HA:
{
"name": "Stromzähler Tagesverbrauch",
"uniq_id": "mt175_dayconsumption",
"dev_cla": "energy",
"stat_t": "stat/tasmota_1AFAD3/script/consday",
"unit_of_meas": "kWh",
"sug_dsp_prc": "2",
"dev": {
"connections": [
[
"mac",
"A02xxxxAFAD3"
]
]
}
}
Beispiel2:
Variable "power2" (gefilterte aktuelle Leistung vom Stromzähler) aus meinem Script via MQTT an Home Assistant übertragen. Hier im Beispiel für den Stromzähler MT175. Orange Textstellen sind frei wählbar, blaue Textstellen müsst ihr an euer Gerät anpassen, siehe Beschreibung oben.
{
"name": "Stromzähler Leistung gemittelt",
"uniq_id": "mt175_power2",
"dev_cla": "power",
"stat_t": "stat/tasmota_31F8D4/script/power2",
"unit_of_meas": "W",
"sug_dsp_prc": "0",
"dev": {
"connections": [
[
"mac",
"84FCE631F8D4"
]
]
}
}
Hier findet ihr nochmal alles etwas detaillierter und in Englisch.
(11a) Zweirichtung Leistungssensor [W] (positiv/negativ) in zwei Sensoren aufteilen (from_grid, to_grid):
Hier wird eine Methode beschrieben um aus einem einfachen Leistungssensor zwei Sensoren für Home Assistant zu erstellen. Ein Sensor (Entity) nur für negative (ins Netz eingespeist) Leistung und der andere für positive (aus dem Netz bezogen). Habt ihr einen von folgenden Fällen, dann könnt ihr die Methode einfach umsetzen:
Wenn euer Zähler die Energie vom Netz und ins Netz an euch senden kann, dann braucht ihr das natürlich auch nicht! Die Sensoren könnt ihr dann direkt ins HA Energiesystem einbinden.
1. Erstellt in eurer configuration.yaml (oder in eurer sensor.yaml falls vorhanden) via dem HA Addon FileEditor folgende Zeilen. Den Namen "sensor.powersensor" müsst ihr gegen euren Leistungssensor tauschen, der in beide Richtungen (positiv/negativ) messen kann. Den Namen "mynewsensor_xx" könnt ihr natürlich frei wählen.
2. HA neustarten! Nun hat man zwei neue Sensoren/Entities "mynewsensor_positive" und "mynewsensor_negative". Der eine zeigt nur etwas an, wenn die Leistung vom Sensor "sensor.powersensor" positiv ist. Der andere wenn die Leistung negativ ist. Aus den beiden Sensoren kann man nun via "Rieman Sum Integration" zwei Energiezähler Sensoren/Entities machen (wieder configuration.yaml, direkt darunter):
3. Nun hat man man wieder zwei neue Sensoren/Entites. Sie zählen die verbrauchte bzw. erzeugte Energie/Arbeit [kWh]. Bevor man sie aber in das HA Energiesystem einbinden kann muss noch etwas in der customize.yaml eingefügt werden. Siehe dazu Punkt 4h) Punkt 17 ! Nach einem Neustart könnt ihr die Sensoren in das Energiesystem einbinden.
(11b) Leistungssensor Werte glätten (Peaks unterdrücken)
Falls man einen Leistungssensor hat, der leider ab und zu kleine Peaks erzeugt (z.B. Sonoff mit Tasmota) dann kann man diese filtern/glätten. Es wird ein neuer Sensor/Entity erstellt.
Was kann man eigentlich machen, wenn kein oder nur sehr schlechtes WLAN in der Nähe des Stromzählers verfügbar ist? Alle ESP8266 benötigen ja zwingend ein funktionierendes WLAN, sonst könnt ihr eure Daten ja nicht abrufen. Auch dafür gibt es eine Lösung und zwar ein ESP32 mit einer LAN-Buchse und die passende Tasmota Firmware + korrekte Einstellungen. Eins vorweg, ich habe es selbst noch nicht getestet!
Was benötigen wir? Zuerst natürlich die passende Hardware. Es gibt eine kleine Auswahl an ESP32 Boards mit einer LAN Buchse. Es gibt erstmal generell eine Liste von unterstützten Boards direkt auf der Tasmota Seite. Dort einfach nach einem Board mit LAN Buchse suchen. Ich habe mal zwei passende herausgesucht.
12a) Hardware
12b) ESP32 Firmware
Habt ihr eure Hardware ausgesucht, müsst ihr die passende ESP32 Tasmota Firmware (natürlich wieder mit SML Support) flashen. Das Image findet ihr im ESP32 Downloadbereich. Eine Anleitung wie ihr das WT32-ETH01 Modul korrekt mit eurem Programmer verbindet findet ihr z.B. hier. Habt ihr alles verbunden könnt ihr der Anleitung im Kapitel 4a) 3. folgen um das Factory Image zu flashen. Danach den Jumper entfernen und die Stromversorgung des ESPs neu verbinden. Dann normal über den Tasmota Hotspot verbinden und dann mit eurem WLAN verbinden lassen.
Achtung: Auf den neueren Modulen (ESP32-D0WD v1.1/v1.4 laut Tasmota Info) ist ein ESP32-S1 Single Core verbaut! Da benötigt ihr das Image tasmota32solo1.bin / tasmota32solo1.factory.bin, das ihr ebenfalls im ESP32 Download Ordner findet (erst ab 14.3.0). Habt ihr den ESP32-WROOM könnt ihr das normale ESP32 Image verwenden.
WICHTIG: Spätere Firmware Upgrades müssen immer über das WLAN und nicht über LAN gemacht werden!
12c) Template
Falls ihr mein fertiges ESP32 Image nehmt und den WT32-ETH01 verwendet, dann braucht ihr nur noch das korrekte Modul auswählen unter Configuration-> Module. Nach einem Reboot ist der ESP32 automatisch mit eurem LAN und WLAN verbunden. Beachtet auch diese Tasmota Seite.
Habt ihr andere Hardware, dann müsst ihr diese erstmal korrekt via Template einstellen. Configuration-> Other ganz oben im Feld dann die Konfiguration für eure Hardware, die ihr auf der Tasmota Seite von eurem ESP32 Board findet, eingeben. Es ist ein langer String mit Zahlen usw. Nach dem Einfügen, Activate anhaken und dann auf Save klicken. Folgt einfach der Anleitung. Ihr könnt dann das eben importierte Template für eure Hardware unter Modules auswählen.
12d) LAN Verbindung prüfen
Im Hauptmenü unter Information könnt ihr nun sehen, ob ihr korrekt verbunden seid. Wenn ihr das WLAN nicht mehr benötigt könnt ihr es abschalten via Wifi 0 über die Console.
12e) Optional: LAN Settings (für Olimex oder wESP32-PoE)
Wenn ihr den ET32-ETH01 verwendet, müsst ihr nichts mehr tun und einfach mit meiner normalen Anleitung oben weitermachen (Kapitel 4).
Falls das LAN nicht funktioniert oder ihr ein anderes Modul habt dann müsst ihr evtl. noch das LAN Modul aktivieren. Tippt dazu folgenden Befehl in die Tasmota Console ein:
Ethernet 1
Je nach verbauten Ethernet Chip (Olimex oder wESP32 Modul) müssen noch andere Sachen evtl. angepasst werden. Siehe dazu die Tasmota Wiki.
Es kann sein, dass ihr noch Wifi 0 eintippen müsst, damit LAN funktioniert. Dadurch schaltet sich WLAN ab und der ESP32 sollte über LAN erreichbar sein! Jetzt könnt ihr hier wieder nach oben scrollen und mit meiner normalen Anleitung weitermachen. Sucht euch einen freien GPIO Pin für den IR-Sensor, verdrahtet alles usw!
Achtung! Bei Verwendung eines LAN-ESPs ist die Performance der Tasmota GUI sehr langsam, wenn man nur über LAN verbunden ist (wifi 0). Hier gibt es aber ein Workaround:
Befehl "EthClockMode 0" in die Console eingeben. Quelle https://github.com/arendst/Tasmota/discussions/19803
(13) Smarte PV-Akkus: Nulleinspeisung via Shelly oder EcoTracker Emulator auf Tasmota-Lesekopf
Getestete Akkus: Marstek (Jupiter, Venus, B2500), Hoymiles (MS-A2), Growatt NOAH 2000 und mehr
Habt ihr ein Marstek / Hoymiles / Growatt Akku, ein IR-Lesekopf mit ESP/Tasmota (z.B. Hichi/bitShake) und wollt die Nulleinspeisung Funktion nutzen? Dann ist das jetzt möglich! Dazu müsst ihr das Tasmota Image von meiner Seite laden und ein extra Tasmota Script von mir verwenden. Habt ihr ein ESP32 Lesekopf, dann könnt ihr mein großes Script (2_SML_Script_Chart_PV_XXXEmu.tas) inkl. den Diagrammen verwenden, wenn ihr Verläufe von euren Verbräuchen auf dem ESP direkt haben wollt. Habt ihr nur ein ESP8266 Lesekopf (ESP01s, HichiV1) oder braucht keine Diagramme auf eurem ESP32, dann könnt ihr das kleine Script (1_SML_XXXEmu_Simple.tas) verwenden (ESP8266 Scripte hier). Die Anbindung an Home Assistant (Smart Home Systeme) via MQTT ist in beiden Fällen möglich! Wie ihr das Script mit dem externen Scripteditor überträgt, finden ihr oben in der Beschreibung. Das kleine Script (_Simple) könnt ihr aber einfach via Copy&Paste in den internen Editor einfügen.
Update 01.12.2025: Mit meinen neuen Tasmota Images V15.1.0 könnt ihr das Script und euren Stromzähler ganz einfach direkt in Tasmota auswählen. Siehe Kapitel 4f.
Shelly oder EcoTracker Emulation?
Gemu2015 (+Kalle) hatten zuerst die Shelly Emulation für den Venus E entwickelt. Das klappte dann ganz gut. Die Regelung vom Marstek Akku reagiert allerdings sehr empfindlich und benötigt die Daten vom Stromzähler nahezu in Echtzeit. Versuche die Leistung zu dämpfen/filtern führten zum Schwingen/Oszillieren des Reglers. Nun funktioniert es aber wunderbar, Schwankungen im Hausnetz werden sofort ausgeregelt. Mir hat das alles aber nicht so gefallen, vor allem ist für die Emulation ein großes Script notwendig. Zusammen mit meinem PV Script inkl. den Diagrammen ist das System gut gefordert. Ich hab auch parallel noch eine openDTU-onBattery Akku-Steuerung/Regelung, dort wird aber sehr träge geregelt, mir reichte es aber immer. Deswegen habe ich dann noch die EcoTracker Emulation entworfen, da der EcoTracker von everHome im Prinzip auch nur via Lesekopf die Daten ließt und an den Akku weiterleitet. Das passiert bei meinem Marstek Jupiter C Plus tatsächlich nur alle ~13 Sekunden. Der Marstek Regler reagiert nun völlig anders und ist träge, was mir eigentlich gut gefällt. Das Ganze schwingt bei mir auch nicht und das Script ist sehr klein.
Von daher würde ich jedem zu dem EcoTracker Script raten. Aber das kann natürlich jeder selbst entscheiden.
a) Anleitung (a-d)
Habt ihr den Lesekopf erst neu gekauft, dann solltet ihr erstmal mit der Anleitung ganz oben (Tasmota Image flashen) anfangen und versuchen die Werte von eurem Stromzähler in Tasmota anzeigen zu lassen. Dafür braucht es nur die >D und >M Sektion im Script. Beispielscripte für einige Zähler findet ihr hier. Ansonsten einfach nach eurem Zähler + SML Tasmota googlen. Wenn ihr Leistung und Verbrauch angezeigt bekommt, dann könnt ihr weitermachen.
Update 01.12.2025: siehe Update Hinweis oben!
b) Script Optionen (anpassen beim ESP8266)
Im Script gibt es Akku Einstellungen. So sehen die Optionen z.B. beim ShellyEmu Script aus:
Offset für Nulleinspeisung [W]:
Sendet die Momentanleistung mit einem Offset an den Akku. Bei 100 W würde die Regelung des Akkus dann versuchen die Nulleinspeisung auf 100 W Netzbezug zu regeln.
Update der Werte verzögern [s]:
Aktualisiert die Momentanleistung, die an den Akku gesendet wird, nur alle x Sekunden. 1 s = Normaleinstellung, also jede Sekunde die Leistung aktualisieren. Diese Einstellung verändert/beeinflusst NICHT das Abruf/Sendeintervall vom/zum Akku!
UDP-Port (Neustart notwendig):
Je nach Akkutyp unterschiedlich. Eignetlich nur bei Marstek B2500 notwendig (je nach Firmwarestand). Standard 1010.
Datenübertragung erzwingen:
EIN = Kann das Regelverhalten bei Akkus verbessern (getestet mit Marstek):
Empfohlene Einstellung: AUS und Verwendung der neuen Regleroptimierung
SML Median Filter aktivieren:
EIN = Interne Filterung aller Werte die vom Zähler kommen.
Empfohlene Einstellung: AUS und Verwendung der neuen Regleroptimierung (siehe unten)
Regleroptimierung: (neu ab 02.04.2026):
EIN = Verbessert z.B. bei Marstek Akkus das Regelverhalten. Dem Akku wird ein falscher/kleinerer Verbrauch vorgekaukelt. Der interne Regler im Akku sieht eine kleinere Regelabweichung und versucht diese dann langsam auszuregeln. Getestet mit diversen Marstek Akkus (Jupiter, Venus). Siehe auch die Diskussion.
Update 01.12.2025: siehe Update Hinweis oben!
c) Tasmota Einstellungen
d) Emulator testen
Ich habe mir ein Powershell Script erstellen lassen (Claude AI) um das Shelly und EcoTracker Emulator Script testen zu können. Der Shelly Emu antwortet auf HTTP GET und
UDP Anfragen (Shelly.GetStatus, EM.GetStatus). Der EcoTracker nur auf HTTP GET Anfragen (v1/json). Das Tool könnt ihr hier herunterladen. Nachdem ihr es heruntergeladen habt müsst ihr
einmal mit Rechtsklick die Box anhaken, sonst startet es nicht.
Das Tool startet ihr dann mit Rechtsklick Mit Powershell ausführen. So sieht das Tool dann aus:
e) Akku App (Beispiel Marstek App)
In der App geht man auf Work Mode und wählt Auto Mode aus. Dann den Shelly Pro 3EM oder EcoTracker auswählen. Die App bzw. der Akku sucht nun nach dem Emulator und sollte ihn automatisch finden, wenn das Tasmota Script korrekt läuft und beide Geräte im gleichen WLAN Netz sind. Bei Output Power Reference wählt man Three-phase sum(PhaseA+B+C) aus. Nach einer kurzen Analyse sollte der Text dann auch neben Output Power Reference stehen. Bekommt ihr da die Meldung Diagnosis failed, please try again, dann habt ihr ein Fehler im Script gemacht. Der Akku speist nämlich Energie in euer Haus-Netz ein und schaut dann, auf welcher der drei Phasen ein Peak entsteht. Dann weiß er, auf welcher Phase er angeschlossen ist. Shelly Emu Script: Mein Script ist standardmäßig so eingestellt, dass es nur eine Gesamtleistung (Variable cpwr) gibt und diese (geteilt durch 3) einfach auf Phase 1 (Variable c1p) ausgegeben wird. Phase 2 und 3 sind 0 W (c2p, c3p). Wie oben beschrieben, könnt ihr das ändern wenn euer Zähler 3 Phasen ausgeben kann.
Daten vom Akku via MQTT abrufen (Beispiel Marstek)
Da nutze ich hame-relay + hm2mqtt. Die Daten kommen dann in mein Home Assistant Smarthome System.
Info: Ich habe eine Marstek Thread im PV-Forum erstellt. Dort gibt es einen regen Erfahrungsaustausch zwischen den Nutzern. Dort findet ihr auch immer die neusten Infos. Hoymiles Thread hier. Growatt Thread hier.
Ich habe mich nun dazu entschieden, die Scripte nur noch für den ESP32 weiterzuentwickeln, da ich ansonsten keine neuen Verbesserungen und Features inkludieren kann. Bisher funktionierten die Scripte ja immer für beide ESPs, diesen Stand habe ich in den Ordner ESP8266 auf github verschoben. Ich werde die Scripte dann so lassen. D.h. wenn ihr einen ESP8266 habt auf dem bereits mein Script läuft, dann könnt ihr gerne die neuste Tasmota Version upgraden aber das Script vom 01.12.2025 könnt ihr nicht verwenden. Für alle die einen ESP32 haben, bitte weiterlesen:
Diese Anleitung gilt in erster Linie für alle, die bereits eines meiner Scripte (bis einschließlich 29.09.2025) mit den Diagrammen (Google Charts) auf einem ESP32 verwenden und nun ein Upgrade auf die neuste Version vom 01.12.2025 durchführen möchten. Neueinsteiger können direkt zum Punkt 4. springen, dort wird erklärt wie der Zähler und die RX/TX-Pins des Lesekopfes ausgewählt werden und wie man notfalls alles manuell selbst einstellen kann, falls der Zähler nicht in der Liste auftaucht.
Mit den neuen Scripten vom 01.12.2025, die ich auf github veröffentlicht habe, ändert sich die Art, wie die Daten auf dem ESP32 gesichert werden. Vorher wurden sie als Array im Scriptspeicher abgelegt, jetzt werden sie aber als data.csv Datei im Dateisystem von Tasmota gesichert. Mit den neuen Scripten könnt ihr nun auch einfach in einem Untermenü euern Stromzähler und die Pins vom Lesekopf wählen. Es muss nicht mehr kompliziert im Script rumgefummelt werden! Und ihr könnt nun bequem im internen Scripteditor Menü eines meiner Scripte wählen. Es wird dann direkt von Tasmota aus heruntergeladen ihr müsst es also nicht mehr selbst machen!
Bevor das Upgrade durchgeführt wird, müssen erstmal die bisherigen Daten (Verbrauch/Einspeisung als Balkendiagramme) auf einem PC gesichert werden. Dazu geht folgendermaßen vor:
Das ganze sollte dann so bei euch aussehen:
FAQ und Problemlösungen
script>VariableXYZ=200 (korrekten Zählerstand in
kWh, bei dcon wäre das der Zählerstand Netzbezug um Mitternacht)
script>VariableXYZ=400
...
>D
M:array=0 102
M:wolmac=0 6
i=0
j=0
res=0
wol=0
>B
; hier die IP des Hosts eintragen, den ihr starten wollt
wolmac={0x9C 0x6B 0x00 0x34 0x5F 0x36}
for i 1 6 1
array=0xFF
next
for i 1 16 1
for j 1 6 1
array=wolmac[j]
print %0j%
next
next
; Semikolon entfernen, wenn ein WOL Paket beim Booten/Neustart gesendet werden soll
;res=udp(7 "192.168.178.255" 7 array)
>S
if wol==1 {
wol=0
res=udp(7 "192.168.178.255" 7 array)
}
>W
bu(wol "WOL Paket gesendet!" "PC aufwecken")
;Anzahl der Meter. Muss genau gesetzt werden
>M 2
;1.Zähler via DropDown Menü automatisch eingefügt, kann beliebig erweitert werden!
+1,%0rxpin%,s,%0smlf%,9600,SGM,%0txpin%
1,77070100100700ff@1,Leistung,W,Power,16
1,77070100010800ff@1000,Verbrauch,kWh,ImportActive,3
1,77070100020800ff@1000,Einspeisung,kWh,ExportActive,3
;SGM2 als neuer Alias und GPIOs (RX=32, TX=33)
+2,32,s,16,9600,SGM2,33
2,77070100100700ff@1,Leistung,W,Power,16
2,77070100010801ff@1000,VerbrauchHT,kWh,E_inHT,3
#
Quellen/Nützliche Links (externe Links)
Lesekopf und SML Protokoll
https://meinzaehler.com/whitelist.html Infos über einige Stromzähler
https://www.photovoltaikforum.com/thread/141332-neue-lesekopf-baus%C3%A4tze-ohne-smd-l%C3%B6ten/
https://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/iskraemeco_mt175
http://www.stefan-weigert.de/php_loader/sml.php
http://www.schatenseite.de/2016/05/30/smart-message-language-stromzahler-auslesen/
https://tasmota-sml-parser.dicp.net/ oder https://tasmota-sml-parser-dev.azurewebsites.net SML Decoder Parser
https://www.youtube.com/watch?v=dyZANt2bvi4 CC2 Video über Tasmota mit SML
ESP8266 Firmware Tasmota - Anleitung
https://tasmota.github.io/docs/Smart-Meter-Interface/
Tasmota "status" (z.B. status 4) Output dekodieren -> welche Tasmota Features sind im Image enthalten?
https://github.com/tasmota/decode-status
Tasmota Skriptbeispiel für MT175
Home Assistant - MQTT
https://www.home-assistant.io/integrations/mqtt/

SaschaMike (Dienstag, 16 Juni 2026 21:54)
@Marcus
Ja, ich werde auf nem anderen WT32-ETH01 mal die 15.0.3 ausprobieren
Marcus (Dienstag, 16 Juni 2026 21:51)
@ Ottelo,
Danke für die schnelle Rückmeldung, werde es die Tage umstellen und berichten.
Wenn der Ecotracker neu eingebunden war, lief die Nullregelung super bis der Ecotracker wieder aus der app verschwunden war.
@ SaschaMike
Peobier doch mal die 15.03.
Gruß
Marcus
SaschaMike (Dienstag, 16 Juni 2026 20:05)
@ottelo
Merci. Ich habe den Eindruck, dass über einen längeren Zeitraum hohe Verbräuche (Backofen o.ä.) vorliegen müssen, damit der Marstek B2500-D entlädt.
ottelo (Dienstag, 16 Juni 2026 19:56)
@Sascha
Ich habe dazu mal ein github issue eröffnet:
https://github.com/ottelo9/tasmota-sml-images/issues/47
ottelo (Dienstag, 16 Juni 2026 19:46)
@Marcus
Versuch mal das Shelly Script. Der EcoTracker hat genau das Problem mit dem Akku. Habe ich dummerweise auf meiner GitHub Seite falsch geschrieben. Werde ich gleich mal korrigieren. Den Noah habe ich nicht mehr.
https://github.com/ottelo9/tasmota-sml-script#pvakku-powermeter-emulator-esp32
@Sascha
Ok das ist Schade. Danke für die Info.
SaschaMike (Dienstag, 16 Juni 2026 19:11)
Den WT32-ETH01 mit Tasmota 15.4.0 kann man vergessen. Egal was man einstellt, der Speicher wird vollständig aufgeladen, man verschenkt Strom durch Einspeisung obwohl im Hausnetz Bedarf besteht. Der ESP32-WROOM lief deutlich stabiler. Habe beim WT32-ETH01 Ethernet und WiFi aktiviert.
SaschaMike (Dienstag, 16 Juni 2026 17:49)
@hadi20
"... Die Wertereihen in den eckigen Klammern (Komma getrennt) kopiert und dann die Werte in der data.csv (Tab getrennt) überschrieben, Zeile für Zeile. Als erstes also die dcon Werte "dcon":[ a,b,c,d,.... ]... "
Marcus (Dienstag, 16 Juni 2026 13:51)
@ottelo
Hallo Ottelo, wenn ich das richtig gelesen habe, hast Du auch den Noah 2000 Akku mit deinem Ecotrackerscript in Betrieb. Wir haben hier das Problem, das die Shinephoneapp ständig (ein mal pro Tag) den Ecotracker vergisst und es dann zu komischen Verhalten kommt. Wenn der "Ecotracker" dann wieder manuell in der Shinephoneapp neu verbunden wird, regelt das ganze wirklich hervorragend.
Hast/hattest Du das Problem auch? Verwendest Du die Shinephoneapp oder machst Du die Einstellungen über den Browser?
An Deinem Script scheint es nicht zu liegen, Version 15.03 auf einem WT32 per Ethernet angeschlossen. Das Script wurde von mir ergänzt, das es alle 30 sec die Leistung an thingspeak schickt, was es durchgängig macht. Auch in der Console sieht man plausible Werte die regelmäßig an den Akku gehen.
Wlan zum Noah nach Ergänzung um einem Repeater jetzt auch sehr stabil und mit ordentlicher Feldstärke.
Akku wurde auch kalibriert.
SOC 10-100 eingestellt.
In der Shinephoneapp ist Standardsystemausgangsleistung von 100W eingestellt und das Zeitprogram von 8-19Uhr Smarter Eigenverbrauch.
Im WT32 Stromzähler ein offset von 10W und sonst nix angehakt.
Hast Du noch eine Idee?
Ps: Wechselrichter ist ein HERF-800 (Baugleich mit dem HM-800).
Gruß
Marcus
Hadi20 (Dienstag, 16 Juni 2026 11:04)
Hadi20@SaschaMike vielen Dank für die Rückmeldung, ich habe gelesen, dass die Jahres und Monatswerte nur im Flash und nicht in der csv gespeichert werden, sind die Jahreswerte jetzt doch in der data.csv und muss ich sie dort editieren?
SaschaMike (Montag, 15 Juni 2026 13:33)
@hadi20
Hast Du die an Anleitung von Ottelo oben befolgt? Mit notepad++ hat es bei mir dann funktioniert. Habe die Werte vom ESP32-WROOM auf den WT32-ETH01 umgezogen und die Werte gingen über Nacht verloren.
hadi20 (Montag, 15 Juni 2026 10:49)
Bei mir sind seit einigen Tagen immer Morgens die Jahreswerte auf 0. Ich habe einen WT32-ETH01 mit der Solo1 15.4 Firmware. Ich gebe dann ein,
script>yval=14037.86
script>yval2=22717.62
script>svars
dann sind die Werte OK und nächstem Morgen dann wieder auf 0
Hat jemand einen Tip woran das liegen kann?
SaschaMike (Sonntag, 14 Juni 2026 17:42)
Wenn man "Offset für Nulleinspeisung [W]:" auf 0 eingestellt hat und das Häkchen bei"Regleroptimierung: "aktiv ist, ist der Wert für Leistung (PV an Akku) sehr niedrig
SaschaMike (Sonntag, 14 Juni 2026 13:28)
Dabei werden nachts durchaus 219 Watt angefordert:
https://www.directupload.eu/file/d/9315/5qvj9bnt_jpg.htm
SaschaMike (Sonntag, 14 Juni 2026 13:26)
Insbesondere nachts speist der Speicher gar nichts mehr ins Hausnetz
SaschaMike (Samstag, 13 Juni 2026 20:34)
Spricht das für Verbindungsprobleme? Ich hatte gehofft, Ethernet sei stabiler als WLAN. Aber ggf. ist der WT32-ETH01 nicht so gut wie der ESP32-WROOM.
SaschaMike (Samstag, 13 Juni 2026 17:47)
https://www.directupload.eu/file/d/9314/cm6w6aco_jpg.htm
Akku speist nichts ein weil der Ecotracker nur 30 W/hat anfordert?
SaschaMike (Samstag, 13 Juni 2026 16:53)
https://www.directupload.eu/file/d/9314/3erf3omg_jpg.htm
Welche Einstellungen sind denn empfehlenswert?
SaschaMike (Samstag, 13 Juni 2026 09:44)
Der WT32-ETH01 läuft jetzt mit dem Hichi Lesekopf am Stromstecker Landis € Gyr. Allerdings muss ich den Marstek B2500-D einmal pro Tag neu starten, damit die Batterie entladen wird. Hat jemand ne Idee?
ottelo (Donnerstag, 11 Juni 2026 09:51)
TinyC ist noch alles in der Testphase und ich habe mich selbst damit noch nicht 100% beschäftigt. Ich muss meine Scripte alle noch anpassen und Anleitungen schreiben. Gemu hatte für mich schonmal mit KI meine Scripte portiert.
Bzgl deiner Frage gibt es schon was passendes. Siehe hier
https://github.com/gemu2015/Sonoff-Tasmota/discussions/83
HaraldSchrambang (Donnerstag, 11 Juni 2026 08:39)
Bin vor einiger Zeit eher zufällig auf deine Seite gestoßen und bin begeistert von deiner Arbeit!
Am Wochenende bin ich nun von meinem ESP32-D1 Mini umgezogen auf einen deutlich kleineren ESP32-Tiny Mini. Bei dieser Gelegenheit wechselte ich auch auf die TinyC Variante.
Ich finde zwar die Information in deiner Beschreibung, wie ich die Daten in der Script-Variante retten und wieder restaurieren kann (Kapitel 14), aber wie bringe ich die noch vorhandenen Daten von meinem ESP32-DW0WD in meinen ESP32-C6FH4? Ein Upload der Datei "data.csv" von dem einen ESP auf den anderen hat nicht funktioniert. Oder habe ich mich nur blöd angestellt? Ich nutze "sml_chart_pv.tc"
SaschaMike (Sonntag, 07 Juni 2026 16:02)
Hmmm.. Der Marstek B2500-D ist zu 100% gefüllt und 280 Watt werden aus dem Netz bezogen. Habe den Ecotracker im Skript ausgewählt.
SaschaMike (Sonntag, 07 Juni 2026 15:08)
Ok, Version 15.4.0 läuft auf dem WT32-ETH01.
Allerdings hatte die Kommunikation zwischen ESP32 und Marstek B2500-D über WLAN geringere Latenz
SaschaMike (Sonntag, 07 Juni 2026 12:26)
@otello, jetzt wo Du es sagst, fällt es mir wieder ein. Mist.... Factory.bin...
ottelo (Sonntag, 07 Juni 2026 12:21)
@Sascha
Beim LAN Modus ist folgendes zu beachten (steht hier auf der Seite, etwas versteckt leider):
Spätere Firmware Upgrades müssen immer über das WLAN und nicht über LAN gemacht werden!
Saschamike (Sonntag, 07 Juni 2026 12:10)
tasmota32solo1_ottelo_tas.bin
via file upload und dann kam nach switching to safe boot partition nichts mehr.
Reicht der Speicher auf dem WT32-ETH01 Solo1 nicht aus?
SaschaMike (Sonntag, 07 Juni 2026 12:08)
Mist, 15.4.0 hat den WT32-ETH01 gekillt.
ottelo (Sonntag, 07 Juni 2026 11:34)
@Sascha
das .,zip musst du entpacken. Ich habe die Beschreibung mal aktualisiert:
https://github.com/ottelo9/tasmota-sml-images/releases/tag/V15.4.0_260531
SaschaMike (Sonntag, 07 Juni 2026 11:30)
Ich würde von 15.3.0 auf Version 15.4.0 upgraden. Muss man das neue Image für "use file upload" nun vorher entpacken oder nicht?
(TAS-Variante des Skripts will ich nutzen, kein TinyC)
SaschaMike (Samstag, 06 Juni 2026 15:55)
Hmm... schade. Beim ESP32 konnte ich die rote LED via Console-Befehlt deaktivieren. Der WT32-ETH01 Solo1 unterstützt das nicht.
Auch der USB TTL-Adapter CP2102 leuchtet dauerhaft.
SaschaMike (Samstag, 06 Juni 2026 15:51)
Juhu, Übertragung der Diagramme hat nun auch geklappt :-)
SaschaMike (Samstag, 06 Juni 2026 09:50)
@ottelo @Marcus Vielen Dank.
Nutze die RX0/TX0 Anschlüsse des WT32-ETH01 mit 3/1 und bekomme Werte.
Marcus (Freitag, 05 Juni 2026 20:28)
@SaschaMike, ottelo
So, habe mir jetzt die mühe gemacht meinen Reserve WT32-ETH01 zu suchen und an meinem Testzähler mit einem Hichi TTL Lesekopf und einem simplen Script in Betrieb zu nehmen. Version 15.4.0 Solo.
Hichi Lesekopf RX (Plantinenbeschriftung) an WT32-ETH01 GPIO3 (Platinenbeschriftung RX0).
Folgendes Script rein kopiert:
>D
>B
=>sensor53 r
->sensor53 l5
>M 1
+1,3,o,16,9600,Q3D,-
1,1-0:1.7.255*255(@1,Leistung,W,Power,16
1,1-0:1.8.0*255(@1,Verbrauch,kWh,ImportActive,3
1,1-0:2.8.0*255(@1,Einspeisung,kWh,ExportActive,3
#
In Template:
Name: ESP32-DevKit
Based on: WT32-Eth01
GPIO3: User
Und es funktioniert.
Durch die Zeile ->sensor53 l5
Blinkt eine LED auf dem WT32 wenn etwas empfangen wird.
Der Hichi zieht den GPIO3 auch schön auf 0V runter (mit dem Oszi geprüft)
@ SashaMike propier das doch bitte mal aus genauso nachzustellen.
Du musst das obige script nur auf deinen Zähler anpassen.
Auch die Zeile mit dem Q3D drin anpassen ob du einen SML s oder Obis o Zähler hast.
Viel Erfolg
Gruß
Marcus
ottelo (Freitag, 05 Juni 2026 08:10)
@SaschaMike
Komisches Problem was du da hast. Setz mal die GPIOs die du ausgewählt hast auf None (statt User). Evtl. bringt das was.
Die Definition ist neuer. Da habe ich den SML Filter einstellbar gemacht (Optionen), deshalb steht da nun %0smlf%. Den CRC Check habe ich rausgenommen, da es oft bei Usern Probleme gemacht hat.
Hast du mal ein Blick in die Console geworfen nach einem frischen Reboot? Stehen da irgendwelche SML Fehler?
Ansonsten könntest du noch den Spiegeltest ausprobieren. Mehr fällt mir nicht ein.
Marcus (Donnerstag, 04 Juni 2026 20:41)
@SaschaMike
Bei mir habe ich nur ein Empfangstransistor am WT32-ETH01 angeschlossen. Der ist am RX0 ( nicht RXD !) angeschlossen. Wenn die Ethernetbuchse zu einem zeigt, der zweite Pin rechts oben dann. Das ist bei mir im Script GPIO 3.
So eingegeben: +1,3,s,16,9600,-
Eigenes altes Script mit ottelos 14.3.0 single-core Version.
Vielleicht erst mal ein einfaches Script verwenden um zu sehen ob Daten ankommen. Und erst mal keine crc Prüfung verwenden bis klar ist, das Daten kommen.
Viel Erfolg
SaschaMike (Donnerstag, 04 Juni 2026 19:57)
Hab auch mal die Anleitung durchgeschaut: da ist der Hichi auch am WT32-ETH01 angeschlossen. Finde den Fehler nicht. Ggf. doch wieder an RXD anschließen und auf 3 setzen...
SaschaMike (Donnerstag, 04 Juni 2026 19:08)
https://www.directupload.eu/file/d/9305/ehlbfy3x_jpg.htm
https://www.directupload.eu/file/d/9305/96v36apk_jpg.htm
https://www.directupload.eu/file/d/9305/ubvs99s6_jpg.htm
https://www.directupload.eu/file/d/9305/hx3few2a_jpg.htm
Bei meinem ESP32-WROOM ist die SML Definition anders:
>M 1
+1,%0rxpin%,s,0,9600,E320,%0txpin%
1,=soC,1024,0
1,77070100100700ff@1,Leistung,W,Power,0
1,77070100010800ff@1000,Verbrauch,kWh,E_in,3
1,77070100020800ff@1000,Einspeisung,kWh,E_out,3
#
SaschaMike (Donnerstag, 04 Juni 2026 19:00)
https://www.directupload.eu/file/d/9305/vmcf7tdb_jpg.htm
Screenshot
SaschaMike (Donnerstag, 04 Juni 2026)
Skript:
>M 1
+1,%0rxpin%,s,%0smlf%,9600,E320,%0txpin%
1,77070100100700ff@1,Leistung,W,Power,16
1,77070100010800ff@1000,Verbrauch,kWh,ImportActive,3
1,77070100020800ff@1000,Einspeisung,kWh,ExportActive,3
#
SaschaMike (Donnerstag, 04 Juni 2026 16:24)
Ich nehm immer das Skript Chart Ecotracker Emu
SaschaMike (Donnerstag, 04 Juni 2026 16:20)
Der Hichi Lesekopf hat keinen ESP eingebaut. Der hat nur 4 TTL Kabel und braucht Strom.
Am ESP32 funktioniert das so. ESP32 hat nen Mini USB Anschluß und versorgt auch den Hichi mit. RX und TX hab ich schon gedreht. Da bei "Skript " IO17 ausgegraut ist und nur IO5 zur Verfügung steht, gäbe ich schon alle IO Kombinationen durch.
ottelo (Donnerstag, 04 Juni 2026 16:10)
Das Bild verstehe ich nicht. Wieso willst du ein HichiV1 Lesekopf (das ist einer mit ESP8266/Wifi) mit einem WT32 verbinden? Oder hast du den ESP8266 entfernt?
RX/TX mal drehen
ottelo (Donnerstag, 04 Juni 2026 16:08)
Mach mal Screenshot von den Script Optionen (den Button mit dem Zahnrad symbol).
Dadrin 1x auf Stromzähler Script klicken und den Inhalt hier rein kopieren.
Welches Script hast du via dropdown gewählt?
SaschaMike (Donnerstag, 04 Juni 2026 16:06)
So hab ich es angeschlossen:
https://www.directupload.eu/file/d/9305/qugnuwt3_png.htm
SaschaMike (Donnerstag, 04 Juni 2026 15:55)
Demnach stehen Io02, Io04, Io12, IO14 und IO15 zur Verfügung. Geht aber nicht. Keine Daten. Über den ESP32 erhalte ich sofort Daten vom Hichi.
ottelo (Donnerstag, 04 Juni 2026 15:53)
Ihr könnt fast jeden Pin verwenden als RX oder TX. Im Chip wird der Hardware RX/TX dann an diesen Pin durchgeleitet (multiplexen).
Ein paar Pins sind aber verboten und können nicht ausgewählt werden, das ist durch Tasmota vorgegeben. z.B. belegt durch Flash oder LED ....
SaschaMike (Donnerstag, 04 Juni 2026 15:52)
Module:
WT32-ETH01 (5)
Template:
WT32-ETH01 (5)
SaschaMike (Donnerstag, 04 Juni 2026 15:50)
@DasUrmel: ja, mein WT32-ETH01 ht dieses Layout: https://de.aliexpress.com/item/1005009562326757.html
SaschaMike (Donnerstag, 04 Juni 2026 15:14)
Ok, GPIO17 steht im Skript nicht zur Verfügung...
SaschaMike (Donnerstag, 04 Juni 2026 12:49)
Ok, RXD und TXD stehen wohl für GPIO05 und GPIO17
SaschaMike (Donnerstag, 04 Juni 2026 11:32)
Bzw. IO14/IO15 da der IO35 nicht so gut geeignet ist