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