Smartmeter mit Tasmota auslesen ohne Lesekopf

Eine einfache Art euer Smartmeter über die Infrarotdiode auszulesen. Ihr braucht nur einen ESP32 oder ESP8266 und eine IR-Diode 301 A. Die gibt es bei Aliexpress für ein paar Cent.
Verbindet jetzt das lange Bein der Diode mit GND und das andere mit einem GPIO Port eines ESP. Nehmt den Port , der mit der Buildin LED verbunden ist. Dann hat man gleich eine Kontrolle, ob alles richtig funktioniert. Für den Esp32C3 supermini ist das GPIO8 und bei dem Esp8266 Wemos D1 ist das GPIO2.
Bei otello auf Github gibt es compilierte Binaries für Tasmota. Diese gibt es für die verschiedenen ESP und sie unterstützen Google-charts. Dort gibt es auch die scripts um euer
Smartmeter auszulesen und die Werte graphisch darzustellen.
2_Tasmota_SML_Script_Chart_PV.tas
Das Scrit müßt ihr dann noch auf euer Smartmeter anpassen und die Kommentarzeilen entfernen. Ich habe einen Holley DTZ541 2 Tarifzähler und einen A920N.
Für den A920N mußte ich nur die eine Zeile auf meinen GPIO port anpassen.

Original:

M 1
;1=meter1 5=GPIO5 s=SML 0=filterOff 16=filterOn 9600=baud MT175=Name 4=TX-GPIO
+1,5,s,16,9600,MT175,4

Meine Anpassung auf GPIO2:

M 1
+1,2,s,16,9600,A20N,4

Der DTZ541 mit Esp32c3 erforderte etwas mehr wegen HT und NT tarif.
Original:

M 1
;1=meter1 5=GPIO5 s=SML 0=filterOff 16=filterOn 9600=baud MT175=Name 4=TX-GPIO
+1,5,s,16,9600,MT175,4
;1. line = sml[1] (aktuelle Leistung W), 2. = sml[2] (Netzbezug kWh), 3. = sml[3] (Netzeinspeisung kWh)
1,77070100100700ff@1,Leistung,W,Power_curr,0
1,77070100010800ff@1000,Verbrauch,KWh,Total_in,2
1,77070100020800ff@1000,Netzeinspeisung,KWh,Total_out,2

Meine Änderung GPIO8 und die beiden Tarife 77070100010801ff und 77070100010802ff

M 1
+1,8,s,16,9600,DTZ,4
1,77070100100700ff@1,Leistung,W,Power_curr,0
1,77070100010801ff@1000,HT,KWh,Total_in,2
1,77070100010802ff@1000,NT,KWh,Total_in,2
1,77070100020800ff@1000,Netzeinspeisung,KWh,Total_out,2

dazu muss dann auch weiter unten noch :
; kopiere Netzeinspeisung [kWh] vom Zaehler (aus SML Variable)
EnFrGrid=sml[2]
; kopiere Netzbezug [kWh] vom Zaehler (aus SML Variable)
EnToGrid=sml[3]

geändert:
EnFrGrid=sml[2]+sml[3]
EnToGrid=sml[4]

Beim Esp8266 hatte ich das Problem, daß nach laden des Scriptes der eingebaute Scripteditor von Tasmota nicht mehr funktionierte. Vielleicht ist das script dafür zu groß. Mann kann aber weiterhin über Console->Manage File System ein neues script.txt laden.

Zum Befestigen am Smartmeter legt ein Blatt Papier über die Sendediode und befestigt das Papier mit einem Magneten. Dann drückt die beiden Arretierungsnippel durch das Papier. Mit einem Bleistift leicht über die Diode malen und einen Kreis um den Magneten zeichnen.
Nun könnt ihr die Maße leicht auf ein Stück Holz, Presspappe, Kork oder Plastik übertragen. Dicke so 2mm - 4mm.
Wer einen 3D-Drucker hat, kann es natürlich noch schöner machen.
Der Wemos lies sich gut auf das Holz schrauben. Beim Esp32c3 weis ich noch nicht wie ich ihn befestige.
Kleben ist nicht eine so gute Idee. Ich hatte mal einen Esp32c3 für ein andres Projekt aufgeklebt, aber der ist dann nach ein paar Tagen wohl den Hitzetot gestorben. Der Esp32 wird deutlich wärmer als der Esp8266.
Ich wollte noch ein paar Fotos hochladen, aber ich sehe im Moment noch nicht wie das geht.
Ach ja, wenn euch das hier gefallen hat und ihr einen Lesekopf eingespart habt, überlegt doch mal, ob ihr nicht Tasmota etwas unterstützen wollt




Entschuldige die Störung.
Als interessierter Laie habe ich da mal eine Frage:

Ich verstehe das so, als ob Du die 301A antiparallel zur Boardled schaltest.
Ich habe überhaupt keine Vorstellung wie dieser ESP dann Daten liest und
was ein Leuchten der Boardled dann für eine Kontrolle darstellt.

Nehmen wir mal an, ich würde so einen ESP und die LED kaufen und ich würde es schaffen den Code darauf zu spielen. Ich glaube zwar nicht, dass ich das in diesem Leben schaffe,
aber ich frage mal:
Wie könnte ich die Leistung in Watt in einem Arduino-Sketch verwerten?
Kann man da an einem PWM-Ausgang einen Analogwert bekommen den man über
einen Arduino Analogeingang auswerten kann?
Momentan mache ich das so mit Stromwandlern und steuere einen Heizstab und weitere
Lasten um Solarüberschuss vom Balkonkraftwerk zu nutzen.

Versteh mich nicht falsch. Ich unterstütze Lebensfreude durch solche Hobbies, aber bin auch der Meinung an verschiedenen Ecken darf man vorsichtig sein um sich damit nicht durch Nicht-Hobbieisten eine massive Schwachstelle zu fangen.
Damit meine ich hier das Potential einer Fremdperson wie ein Vertreter des Netzbetreibers oder ein Sachverständiger für einen Versicherungsfall der in den Zählerschrank schaut. Hier sehe ich durch so einen offensichtlichen Hobby-Aufbau Potential deren Meinung nicht positiv zu prägen.

Verbesserung wäre wenigstens mit einem besser anschaulichen Gehäuse zB aus dem 3D Drucker möglich und schaut man sich etwas im Netz um, findet man fertige kommerziell vertriebene Leseköpfe mit "schönem" Firmenaufkleber für recht schmales Geld. Finde das sollte man bei so etwas immer beachten.

Ich hatte nach dem Zählerwechsel versucht da etwas auszulesen.
Bei meinem Zähler ist das so, dass oben auf noch ein Siegel war.
Der freundliche Herr von den Stadtwerken hat mir erlaubt dieses zu entfernen.
Ich war da etwas skeptisch, aber er versicherte mir, dass es nicht möglich ist da optisch Einfluss auf den Zähler zu nehmen. Der Platz oben ist für eine Ableseeinrichtung gedacht.
Der Themenersteller hat zudem ein Gehäuse angesprochen. Es geht bei den Bildern darum zu Zeigen was verwendet wird und das ist für Nachmacher wichtig. Zudem muss man ja erstmal testen ob das überhaupt klappt. Also von meiner Seite volles Verständnis.

Hallo dd3et, erstmal musst du mit einer pin von deinem Netzbetreiber den Zähler zum Senden freischalten. Mit der Handykamera auf die IR Diode deines Zählers gucken und sehen, ob sie im regelmäßigen Takt blinkt. Dann die tasmota software von otello auf einen ESP laden und das script für deinen Zähler anpassen. Das ist auf den Tasmota Webseiten beschrieben. Wenn du jetzt die IR diode 301 A bon dem ESP an die Zählerdiode hälst, sollte die buildin LED des ESP auch regelmäßig blinken. Über die Mqtt Einstellungen kanndt du dann die Daten an einen Mqtt Server senden. Wenn du einen Mosquitto mqtt server z.B. auf einem Raspberry installierst, kannst du dann mit dem auch deine Heizstäbe mit steuern. Ob über PWM oder 0-5V oder 20mA Schnittstelle, hängt von deinem Leistungssteller ab.
Ich hoffe, das hilft dir etwas weiter

Danke, aber das übersteigt definitiv meine Fähigkeiten.
Ich bleibe bei dem was ich kann.
Sprich: Stromwamdler über den arduino nano auswerten und damit steuern.