Stromzähler mit einem ESP8266 / ESP32 mit Tasmota auslesen und darstellen

  • Werte an eure Smart Home Steuerzentrale senden
    z.B. Home Assistant, ioBroker, openHAB, FHEM
  • Werte können direkt auf dem ESP8266 grafisch dargestellt werden (Smart Home Zentrale nicht notwendig)
  • ESP8266 oder ESP32 mit oder ohne LAN

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):

  • Iskra MT175, MT681
  • EMH ED300L
  • Die Zähler DWS DVS 7420, 7412 (DZG DVS74 DWS74) haben einen Firmware Bug die negative Werte ausgeben, bei Leistungen unter 650W! Ab Tasmota 12.2.0.6 dev ist dieser Bug behoben! Weitere Details findet ihr unter (4c).
  • Logarex LK13BE
  • Zähler die die Werte verschlüsselt (nach IEC 62056 / EN 62056-21) übertragen werden nun ab Tasmota 12.3.1.3 dev unterstützt! Skriptbeispiel unter (4c).Mehr Infos hier und hier.
Hauptseite vom Tasmota Device (ESP) - Google Chart Script ohne PV
Hauptseite vom Tasmota Device (ESP) - Google Chart Script ohne PV
Hauptseite vom Tasmota Device (ESP) - +Einspeisung Diagramme
Hauptseite vom Tasmota Device (ESP) - +Einspeisung Diagramme
Home Assistant Darstellung
Home Assistant Darstellung
Home Assistant Energy Seite
Home Assistant Energy Seite



(1) Was benötigt ihr
  • Digitaler Stromzähler. Hier in der Anleitung wird einer von Iskra Typ MT175 oder MT681 und EMD ED300L mit SML Protokoll verwendet (andere funktionieren ähnlich).
  • persönlichen 4-stelligen Code für den Stromzähler, damit ihr auch die momentane Leistung anzeigen + auslesen könnt (einfach per Mail beim Energieversorger nachfragen)
  • IR Auslesekopf für den Zähler. Am besten den Ready2Use WiFi Lesekopf inkl. ESP8266 mit 1M Flash von Hichi nehmen oder wenn ihr selbst basteln wollt oder euer WLAN im Bereich des Zählers schlecht ist dann nimmt einen Auslesekopf mit TTL Ausgang (nicht die USB Variante!). Bei eBay nach "Lesekopf Zähler" ~17€ suchen. (Alte Quelle photovoltaik Forum) - Schaltplan + Wiki. Schaut euch bitte auch die Auswahlmöglichkeiten weiter unten an "A) bis D)".

 

  • Optional: Home Assistant System (z.B. auf einem Raspberry Pi 3+ oder 4)
    NEU: oder ihr nutzt nur den ESP8266 mit der integrierten Weboberfläche. Es gibt auch die Möglichkeit die Daten als Kurve (Google Charts) anzeigen zu lassen.

-- Wenn ihr den Ready2Use Hichi Lesekopf verwenden wollt, dann könnt ihr nun zu Punkt 4) springen --

  • ESP8266 (am besten einen mit USB Anschluss z.B. Wemos D1 mini / NodeMCU ~5€) oder
  • ESP01s das ist der kleinste ESP8266 mit 1M Flash Speicher
  • oder besser noch einen ESP32 (mehr Perfomance) z.B. D1 mini ESP32
  • Lötkolben + Lötzinn + 3- oder 4-adriges Kabel für den IR Auslesekopf (wenn ihr nur den Bausatz kauft)
  • wenn ihr ein ESP ohne USB Anschluss habt, dann braucht ihr noch ein USB-zu-TTL Adapter. Ein passenden (ESP einfach aufsteckbar) für den ESP01s findet ihr hier. Für alle anderen hier.

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).

 

A) Ready2Use WiFi Lesekopf von Hichi

Hichi bietet bei ebay komplett fertige WiFi Leseköpfe an. Dieser beinhaltet bereits den ESP8266 (ESP01s Modul) und muss nur über die Mikro USB Buchse mit 5V versorgt werden. Mit einem USB-Netzteil/Ladegerät oder ihr baut euch ein 5V Hutschienen Netzteil 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. Kostet ca. 30€. Auf dem ESP ist bereits Tasmota "vorinstalliert". Deshalb könnt ihr direkt mein fertiges Image via WLAN übertragen ohne TTL Adapter.

Im Script müsst ihr dann Port 3 anstatt 14 (nach meiner Bauanleitung) verwenden: +1,3,s,0,9600,MT681

 

B) Ready2Use Lesekopf + ESP außerhalb vom Sicherungskasten

Es gibt noch eine andere Variante vom Verkäufer Steffen (eBay). Diese hat den Vorteil, dass der ESP nicht mit im Zählerkasten sitzt, sondern außen angebracht werden kann wo der WLAN Empfang besser ist. Zusätzlich können auch mehrere Leseköpfe angeschlossen werden. Der Lesekopf selbst sitzt natürlich im Zählerschrank am Zähler. Ist allerdings auch etwas teurer als der Hichi. Hier kommt der Wemos Di mini zum Einsatz.

 

C) ESP32 mit LAN + TTL Lesekopf

Optionen:

  • Shelly 1 Pro Hutschinenmodul ~55€
    ! Den IR Lesekopf müsste man an die Programmierschnittstelle (RX/TX/3V) an der Seite anschließen, allerdings weiß ich nicht, ob dieser galvanisch getrennt ist. Also ist diese Option wohl erstmal nicht ohne Gefahr verwendbar !

  • Shelly Homepage
    eBay Link
    Tasmota Seite

 oder 

oder mit PoE (Power over Ethernet) ~18€

D) Alles in einem Steckergehäuse (alte umständliche Methode!)
ACHTUNG GEFÄHRLICHE SPANNUNG, NUR VON EINER FACHPERSON (ELEKTRIKER) MONTIEREN LASSEN

  •  kleines Netzteil Leistungsmodul 230V -> 3,3V / 5V (bei ESP mit USB Buchse) z.B. Hi-Link HLK-PM01 / 03
  • 250V/0,1A träge Feinsicherung 5x20mm + Sicherungshalter für 250V AC (verschiedene Ausführungen)
      
  • Steckergehäuse z.B. Strapubox SG721 oder einfach nur bei ebay nach Steckergehäuse suchen
    Es muss das kleine Netzteil reinpassen und der ESP8266 + Verdrahtung
     

  

(2) ESP8266 zusammenlöten (Schaltplan Skizze "Variante D")

 

Das alles selbst bauen würde ich nicht mehr machen, da es den Lesekopf inkl. ESP01S bereits fix und fertig bei ebay gibt! Ich lasse die Anleitung aber trotzdem noch Online, falls jemand Lust darauf hat oder einen größeren ESP verbauen will. Bilder von meinen selbst gebauten Varianten findet ihr weiter unten.

 

(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. Entweder folgt ihr der Anleitung (bzw. schaut weiter unten) und kompiliert euch selbst eine Version (mit Smart Meter Interface SML Support) oder ihr könnt meine fertige verwenden.

 

----------------------------------------------

Downloads (fertige Tasmota Images)

Angepasstes Tasmota Image in Englisch mit SML, Home Assistant, Google Chart Support!

 

 

ESP8266 1M (ESP01s Hichi) oder 4M+ Flash (D1 mini):

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 hier. Wenn ihr aber zusätzliche Sensoren nutzen wollt, dann müsst ihr euch eine eigene Version bauen (siehe Punkt 6).

ältere

----------------------------------------------

ESP32:

inkl. Berry-Skript, Ethernet (LAN) Support und allen Standard Features/Treibern

 

Hinweise: 

  • Tasmota Images für ESP8266 sind komprimiert "TasmotaXYZ.bin.gz" . Wenn ihr ein OTA Upgrade macht müsst ihr die .gz nicht entpacken!
  • ESP8266 mit nur 1 MByte Flash: Wenn ihr bereits eine Tasmota Version auf euren ESP geflasht habt und nun via OTA (load file) meine Version flashen wollt, dann müsst ihr vorher zwingend die minimal in der gleichen Version flashen (liegt mit im Download Ordner)! Beim ESP32 ist das nicht notwendig! Update: Ab 12.4.0 nicht mehr notwendig.
  • Für den ESP32 gibt es 2 Images. Ein Factory Image zum erstmaligen Flashen eures neuen ESPs. Das Non Factory Image für ein OTA Upgrade.
  • Wenn ihr kein Home Assistant habt oder benötigt, dann könnt ihr die Firmware trotzdem verwenden. Ist wird einfach nur HA und Google Charts unterstützt.

----------------------------------------------

Tasmota Google Chart Script

Visuelle Anzeige eures Verbrauchs (Tages, Monats, Jahresansicht) via Google Charts und optional (anderes PV Script) mit Anzeige der Netzeinspeisung (Monatsansicht). Dabei handelt es sich um ein großes Tasmota Skript, das ihr noch zusätzlich via TasmotaScriptEditor auf euren ESP übertragen müsst! Anleitung und Beschreibung weiter unten.

  • Tasmota Script Google Chart SML (28.02.2023)  ! NEU !
    Achtung: Ich habe die Reihenfolge der SML Zähler Descripter Zeilen geändert. Die 1te Zeile ist nun die Leistung (sml[1]), die 2te Energie vom Netz (sml[2]), die 3te Energie ins Netz (sml[3]). Wenn ihr mein Script bearbeitet um eure SML Descripter Zeilen einzufügen, denkt an die Reihenfolge!
    Tasmota SML Script + Chart + PV (+ visueller Anzeige der Netzeinspeisung, falls ihr eine PV Anlage habt)
    Tasmota SML Script + Chart

----------------------------------------------

 

3. Firmware auf den ESP flashen. Dazu einfach wieder der offiziellen Anleitung folgen. Nutzt zum Flashen den Tasmotizer oder ESPHomeFlasher.

4. Wenn ihr den Hichi WiFi Kopf habt weiter zu Punkt 5, sonst: Auslesekopf zusammensetzen, Kabel anlöten, mit dem ESP8266 verbinden. Auslesekopf an den Zähler oben rechts legen. Durch den Magnet bleibt er haften. Das Kabel muss nach oben zeigen.

5. (USB) Netzteil mit dem ESP verbinden ... ESP8266 müsste nun starten und evtl. blinken

6. via Handy auf den vom ESP erstellten Tasmota Hotspot verbinden und dort das WLAN einrichten

7. Nun über einen Webbrowser auf den ESP zugreifen, der sich ja nun in eurem WLAN Netz. befinden sollte. Die IP könnt ihr über euren Router herausbekommen. Z.b. bei der FritzBox unter Mesh oder Netzwerkübersicht müsste der ESP mit den Namen Tasmota-xxxx auftauchen. Adresse könnte also lauten http://192.168.178.31.

8. Habt ihr das geschafft, klickt ihr als nächstes auf Configuration -> Configure Module und wählt als Module "Generic (0)" aus.

9. Jetzt wechselt ihr zur Hauptseite und dann Consoles -> Edit Script und setzt den Haken bei "Script enable".

  • Falls ihr kein kompliziertes Smart Home System wie 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 -> Configure MQTT (die Tasmota HA Integration nutzt auch MQTT!):

  • Host = Die IP eures Smart Home Systems, auf dem der MQTT Broker laufen wird
  • Port = 1883
  • User = mqtt (Benutzername des extra für mqtt angelegten Nutzers)
  • Passwort = mqtt1 (Passwort des Benutzers "mqtt")
  • Topic = MT175 (oder wählt selbst einen Namen)
  • Full Topic = %prefix%/%topic%/

Main Menu -> Console:

  • Wenn ihr Home Assistant habt und die Tasmota Home Assistant Integration nutzen wollt müsst nicht nichts ändern, da SetOption19 bereits auf 0 eingestellt ist
  • Habt ihr ein anderes System oder wollt die Integration nicht nutzen, dann müsst ihr in die Console "SetOption19 1" eintippen (ohne "). Dadurch verwendet ihr ganz normal MQTT.

 

(4c) Tasmota SML Script Beispiele (ohne Google Charts usw)

Jetzt müsst ihr das SML Skript zum Auslesen eures Zählers auf den ESP übertragen. Dazu geht ihr auf Consoles -> Edit Script. Zuvor habt ihr ja das Skript bereits aktiviert. Jetzt kopiert euch eins der folgenden Skripte und fügt es einfach in dem Fenster ein. Zuvor alles aus dem Fenster löschen! Klickt nun erstmal auf Save. Weiter unten geht's weiter!

  • Wenn ihr mehr wollt, also richtige Verbrauchsdiagramme, dann müsst ihr zum Punkt (4f) springen. Das Skript müsst ihr aber dann trotzdem anpassen (4d.

 

Für alle anderen Zähler geht auf diese Seite und scrollt nach unten. Dort findet ihr SML Beispiele für euren Zähler. 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).

 

MT175/681, ED300L:

>D
>B
=>sensor53 r
>M 1
+1,14,s,16,9600,MT175
1,77070100100700ff@1,Leistung,W,Power_curr,1
1,77070100010800ff@1000,Verbrauch,KWh,Total_in,1
;Die nächste Zeile benötigt ihr nur, wenn ihr eine PV-Anlage habt. Sonst einfach löschen!
1,77070100020800ff@1000,Netzeinspeisung,KWh,Total_out,0
#

 

MT175, ED300L mit MQTT 0-Werte nach Boot Fix:

>D

;BOOT
>B
;disable mqtt at boot prevents sending 0
smlj=0
->sensor53 r

;SML
>M 1
+1,14,s,16,9600,MT175
1,77070100100700ff@1,Leistung,W,Power_curr,0
1,77070100010800ff@1000,Verbrauch,KWh,Total_in,0
;Die nächste 1 Zeile benötigt ihr nur, wenn ihr eine PV-Anlage habt. Sonst einfach löschen!
1,77070100020800ff@1000,Netzeinspeisung,KWh,Total_out,0
#

;EVERY SECOND
>S
;start mqtt if smartmeter is sending if (sml[2]>0) { smlj=1 }

DWS DVS 7420, 7412 (DZG DVS74 DWS74) inkl. "negative Leistung" Fix:

>D
>B
=>sensor53 r
>M 1
+1,14,s,16,9600,DWS74
1,77070100100700FF@1,Leistung,W,Power_curr,0
1,77070100010800FF@1000,Verbrauch,kWh,Total,2
;Die nächste 1 Zeile benötigt ihr nur, wenn ihr eine PV-Anlage habt. Sonst einfach löschen!
1,77070100020800FF@1000,Netzeinspeisung,kWh,Total_out,2
;DWS74 Bugfix
1,=so2,1
#

 Logarex LK13BE:

>D
>B
=>sensor53 r
>M 1
+1,3,o,0,9600,LK13BE,13,30,2F3F210D0A,063035310D0A
1,1-0:1.8.0*255(@1,Gesamtverbrauch,KWh,total,4
1,1-0:1.8.0*96(@1,Verbrauch 1 Tag,KWh,total_1d,4
1,1-0:1.8.0*97(@1,Verbrauch 7 Tage,KWh,total_7d,4
1,1-0:1.8.0*98(@1,Verbrauch 30 Tage,KWh,total_30d,4
1,1-0:1.8.0*99(@1,Verbrauch 365 Tage,KWh,total_365d,4
1,1-0:16.7.0*255(@1,Verbrauch aktuell,W,power,20
1,1-0:2.8.0*255(@1,Gesamt Einspeisung,KWh,total,4
#

  Wiener Netze Smart Meter verschlüsselt / kodiert (Landis, Siemens?):

>D
>B
=>sensor53 r
>M 1
+1,3,r,0,9600,Home
1,=so3,256
1,=so4,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1,0f001ax19UUuu@1,year,,year,0
1,0f001ax21ss@1,month,,month,0
1,0f001ax22ss@1,day,,day,0
1,0f001ax24ss@1,hh,,hh,0
1,0f001ax25ss@1,mm,,mm,0
1,0f001ax26ss@1,ss,,ss,0
1,0f001ax32UUuuUUuu@1000,+A,kWh,+A,3
1,0f001ax37UUuuUUuu@1000,-A,kWh,-A,3
1,0f001ax42UUuuUUuu@1000,+R,varh,+R,3
1,0f001ax47UUuuUUuu@1000,-R,varh,-R,3
1,0f001ax52UUuuUUuu@1,+P,W,+P,3 1,0f001ax57UUuuUUuu@1,-P,W,-P,3
1,0f001ax62UUuuUUuu@1,+Q,var,+P,3 1,0f001ax67UUuuUUuu@1,-Q,var,-P,3
#

;1,=so4,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX (hier euren Kundenschnittstellenschlüssel eintragen)
;0f001a - hier die Rohdaten mal ausgeben und dann sieht man, welchen offset man hat, bei mir 3 bytes.
;x19 usw ist der offset für 3 bytes, wenns 4 sind dann jeweils um 1 erhöhen also hier x20 usw.

 Beispiel für 3 Leseköpfe / 3 Zähler an einem ESP (max 5 möglich):

>D
>B
=>sensor53 r
>M 3
+1,14,s,16,9600,MT175_1
1,77070100100700ff@1,Leistung,W,Power1_curr,1
1,77070100010800ff@1000,Verbrauch,KWh,Total1_in,1
+2,14,s,16,9600,MT175_2
1,77070100010800ff@1000,Verbrauch,KWh,Total2_in,1 1,77070100100700ff@1,Leistung,W,Power2_curr,1
+3,14,s,16,9600,MT175_3
1,77070100010800ff@1000,Verbrauch,KWh,Total3_in,1 1,77070100100700ff@1,Leistung,W,Power3_curr,1
#

  Beispiel für Zähler, die den Pin Schutz wieder automatisch aktivieren (z.B. eHZ-Serie Gen. K):

;vom User Artjom mit Hilfe von Hichi
;Bei meinem Zähler eHZ-Serie Gen. K greift die automatische PIN-Schutz Aktivierung nach 2 Minuten ein
;und ich kann die Werte nicht mehr ohne erneuerte PIN-Eingabe (mit der Taschenlampe) ablesen.
;Das optionale Menü „InF“ (PIN-Schutz deaktivieren) ist nicht vorhanden. Um das umzugehen, muss
;ich innerhalb von 2 Minuten ein Impuls generieren um den 2-Minuten-Timer zu resetten. ; variable für den Timer-Counter >D count=0 >B =>sensor53 r ; GPIO 1 als output definieren für IR-Diode >BS spinm(1 1) ; SML Zähler Code >M 1 +1,3,s,0,9600,eHZ 1,77070100010800ff@1000,Consumption,kWh,consumption,2 1,77070100020800ff@1000,Production,kWh,production,2 1,77070100100700ff@1,Power,W,power,0 #
; alle 5 Sekunden für 1 Sek IR-Diode einschalten und damit die PIN-Aktivierung resetten >S count +=1 switch count case 4 ;print IR-Diode On spin(1 0) case 5 ;print IR-Diode Off spin(1 1) count=0 ends #

 

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):

  • momentane "Leistung" W (Power_curr), alle 3 Phasen zusammen
  • Verbrauchte Leistung "elektrische Arbeit/Energie" kWh (Total_in)
  • ins Netz eingespeiste "elektrische Arbeit/Energie" kWh (Total_out)

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

>M 1 = Declare >M section with the number of connected meters, in this case only 1

 

+1,14,s,16,9600,MT175

= Zähler 1 (Sensor) wird nun konfiguriert

14 = GPIO Pin Nr 14 / D5. Hier könnt ihr den Pin ändern, an dem ihr das RX Signal des Lesekopfes angeschlossen habt. Ihr könnt das Signal an jeden freien GPIO pin anschließen!

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

# = Put at the end to terminate M section of the script

; = Use to comment lines in the script

 

NEU: Mit Hilfe dieser sehr nützlichen Seite könnt ihr das SML Skript (Desriptor) an euren Zähler anpassen!

  

(4e) Wichtig! TESTEN OB DATEN ANKOMMEN

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 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. Den empfangenen Code könnt ihr nützlicherweise auf dieser Seite entschlüsseln (Seite erstellt von dem creationx Forum User ixs).

 

(4f) Tasmota Google Chart Script (Liniendiagramm/Graph)

Siehe Download oben! Wenn ihr ein ESP8266 verwendet, dann könnt ihr dieses Skript nicht einfach wie oben über "Consoles -> Edit Script" einfügen und speichern, da der 8266 zu wenig RAM hat. Dafür braucht ihr ein externes selbstgeschriebenes Tool namens Tasmota ScriptEditor. Dieser entfernt auch automatisch alle Kommentare, sonst würde das Skript nicht in den Speicher passen. Es ist auch zu beachten, dass ihr die korrekte Tasmota Firmware haben müsst, die ein großes Skript mit 6200 (8192 V12.4) Zeichen erlaubt! Die passende Firmware findet ihr oben bei den Downloads. Es ist immer für den Standard ESP8266 mit 1 MByte Speicher (oder 4MB) kompiliert. Wenn ihr das Skript übertragen habt, könnt ihr nicht mehr über "Consoles -> Edit Script" an das Skript kommen oder editieren, da wie gesagt der RAM zu klein ist um das Skript darzustellen. Für Änderungen oder Updates müsst ihr immer über den Tasmota ScriptEditor gehen. Eine sehr gute Anleitung befindet sich in der ScriptEditor zip Datei.

Sehr wichtig: Ihr müsst vorher die Skriptfunktion unter "Consoles -> Edit Script -> script enable" aktivieren, ansonsten könnt ihr nach dem Übertragen des Skriptes nichts sehen. Falls ihr strikt diese Anleitung befolgt, sollte das aber bereits geschehen sein! Falls ihr es doch vergessen habt könnt ihr über die Console das Skript via "script 1" ebenfalls aktivieren. Außerdem müsst ihr das Skript vorher auf euren Zähler und euren verwendeten RX Eingang anpassen, siehe Punkt (4d).

  • Verwendet ihr ein ESP32, dann könnt ihr das Skript 1:1 mit allen Kommentaren einfach unter "Consoles -> Edit Script" einfügen.

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 mit (PV):

backlog script >dval=EnFrGrid; script >dval2=EnToGrid; script >dcon={0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0}; script >dprod={0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0};
backlog script >mval=EnFrGrid; script >mval2=EnToGrid; script >mcon={0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0};
script >=#sday
script >svars

 

Script ohne (PV):

backlog script >dval=EnFrGrid; script >dcon={0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0};
backlog script >mval=EnFrGrid; script >mcon={0 0 0 0 0 0 0 0 0 0 0 0};
script >=#sday
script >svars

  

Dadurch werden die korrekten Werte gesetzt und die Diagramme auf 0 zurück gesetzt. Nach kurzer Zeit (wenn wieder Daten ankommen) werden auch die Diagramme korrekt dargestellt. Eure Zeitzone und die Zeit sollte natürlich auch korrekt eingestellt sein (siehe Kapitel 4g-11). 

(4g) Tasmota Einstellungen - Sende- und Abrufintervall, Zeitzone und Home Assistant

1. Configure other (Configuration -> Configure Other): 

  • MQTT = enabled
  • Device Name = MT175 (oder wählt einen anderen Namen)

2. Sende/Abruf Intervall einstellen (Configuration -> Configure Logging)

  • Telemetry period
    (Wie oft soll der Wert an HA geschickt werden z.B. 60s)

4. Main Menu -> Console:

  • Wenn ihr die Tasmota Home Assistant Integration nutzen wollt müsst nicht nichts ändern, da SetOption19 bereits auf 0 eingestellt ist
  • Wenn ihr verhindern wollt, dass Tasmota rebootet wenn euer WLAN Router mal nicht verfügbar ist dann folgendes eintippen: WifiConfig 5
    (wait until selected AP is available again without rebooting)
  • Falls ihr Probleme mit der Uhrzeit/Zeitumstellung habt, folgendes eingeben:
    • Backlog0 Timezone 99; TimeStd 0,0,10,1,3,60; TimeDst 0,0,3,1,2,120
  • Skript bezogene Einstellungen findet ihr direkt im Skript ganz oben erklärt (englisch)

 

(4h) Home Assistant Einstellungen 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)

5. Jetzt habt ihr ein neues Device und die Entities! Unter der Integration Tasmota.

6. Allerdings sind die Werte alle Einheitenlos und ohne richtiges Icon. Das könnt ihr manuell über ein paar Einträge in der configuration.yaml (oder customize.yaml) machen. Ausführliche Anleitung hier: HomeAssistant - Customizing entities . Hier müsst ihr eure Entities hinzufügen und ein paar wichtige Sachen vorgeben. Nutzt dazu das Addon FileEditor! Die Entity Namen müsst ihr ggf. noch anpassen, je nachdem wie ihr die Namen im Tasmota Script unter SML (>M) vergeben habt. 

 

#configuration.yaml
customize:
sensor.mt175_mt175_power_curr: device_class: power unit_of_measurement: 'W' sensor.mt175_mt175_total_in: device_class: energy unit_of_measurement: 'kWh' state_class: total_increasing sensor.mt175_mt175_total_out: device_class: energy unit_of_measurement: 'kWh' state_class: total_increasing

 

Oder wenn ihr dies in eine ausgelagerte customize.yaml einfügen wollt:

#configuration.yaml
homeassistant: customize: !include customize.yaml
#customize.yaml
sensor.mt175_mt175_power_curr: device_class: power unit_of_measurement: 'W' sensor.mt175_mt175_total_in: device_class: energy unit_of_measurement: 'kWh' state_class: total_increasing sensor.mt175_mt175_total_out: device_class: energy unit_of_measurement: 'kWh' state_class: total_increasing

 

 

Diese Angaben sind wichtig, da ihr sonst diese Entities nicht im Energy Dashboard (Settings -> Dashboards -> Energy) auswählen könnt!

 

 

 

Optional: Tages, Wochen, Monats, Jahresverbrauchsanzeige:

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

 

(4i) Weitere nützliche Tasmota Skripte

 

(5) Home Assistant Energy Panel

Optional: HA Feature "ENERGY"

Ihr könnt euren Zähler schön in das neue Feature einbinden. Dann bekommt ihr eine tolle Anzeige.

 

Allerdings ist mein Zähler von meinen Stadtwerken so eingestellt wurden, dass er ohne Dezimalstelle überträgt. Also die verbrauchte Leistung nur in 1kWh Schritten. Dann wird das nur als grobe Balken in HA angezeigt (immer wenn der Zähler um 1kWh erhöht wird. Deshalb habe ich mir einen genaueren Zähler über die erfasste momentane Leistung (vom Zähler) gebaut. (Link)

sensor:
- platform: integration
source: sensor.current_power
name: energy_spent
unit_prefix: k
round: 2

Dieser kann dann in der ENERGY Rubrik ausgewählt werden anstatt des groben "Total_in" Zählers.

 

(6) Tasmota Firmware selbst erstellen (TasmoCompiler/GitPod)

1. Geht auf https://github.com/benzino77/tasmocompiler#how-to-start-using-tasmocompiler oder direkt auf https://gitpod.io/#https://github.com/benzino77/tasmocompiler (Github Account notwendig).

 

Für etwas erfahrene User empfehle ich GitPod zu verwenden. 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)

  • Home Assistant
  • Script
  • Web interface

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):

  • Berry-Skripte
  • Ethernet (optional, falls ihr euren ESP via LAN-Kabel verbinden wollt)

Oben wählt ihr euren ESP aus, z.B. ESP32 Generic beim D1 mini

 

4. Folgende Zeilen bei "Custom Parameters" einfügen (für Gitpod Benutzer die Zeilen in der user_config_override.h eingeben):

#ifndef USE_SML_M
#define USE_SML_M
#endif

Optional, falls ihr das Google Chart Script von meiner Seite verwenden wollt:

 

Wenn ihr nicht den TasmoCompiler verwendet, sondern GitPod (oben bei 1. erwähnt), dann müssen die #defines in die user_config_override.h. Dann könnt ihr im Terminal Fenster den Befehl platformio run -e tasmota (ESP8266) bzw. platformio run -e tasmota32 (ESP32) eingeben, um das Image erstellen zu lassen. Wenn ihr ein ESP8266 mit 4M+ Speicher habt, dann müsst ihr noch in der Datei platformio_override.ini bei folgenden Zeilen das ; entfernen:

 

;board = esp8266_4M2M

;board_build.f_cpu = 160000000L

;board_build.f_flash = 40000000L

 

Im Ordner build_output\firmware\ findet ihr dann die Images. Beim ESP32 bekommt ihr 2 images: tasmota32.bin und tasmota32.factory.bin. Das Factory Image ist zum Erstmaligen Flashen (via Flashtool) eures ESPs da und beinhaltet den Bootloader. Danach könnt ihr immer das Non Factory Image fürs OTA Upgrade nehmen.

 

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) Quellen

Lesekopf und SML Protokoll

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/

ESP8266 Firmware Tasmota - Anleitung

https://tasmota.github.io/docs/Smart-Meter-Interface/

Tasmota Skriptbeispiel für MT175

https://forum.creationx.de/forum/index.php?thread/1095-d0-z%C3%A4hler-sml-auslesen-mit-tasmota/&postID=26444#post26444

Home Assistant - MQTT

https://www.home-assistant.io/integrations/mqtt/

https://www.home-assistant.io/docs/mqtt/broker

https://tasmota.github.io/docs/Home-Assistant/

 

 

(9Übersichtsbild
(10- Platzhalter
(11) Nützliche Sachen für Home Assistant

(11aZweirichtung 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:

  • ihr habt keinen digitalen Stromzähler und nutzt deshalb irgendein anderes Leistungsmessgerät, das ein Leistungssensor (Entity [W]) in HA bereitstellt
  • ihr habt einen Stromzähler, der aber nur die aktuelle Leistung [W] (positiv oder negativ) an euch sendet

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.

 

 

(11bLeistungssensor 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.

 

(12) Tasmota ohne WLAN sondern über LAN/Ethernet (ESP32)

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

 

Siehe Kapitel 1. C) !

 

12b) ESP32 Firmware

Habt ihr eure Hardware ausgesucht, müsst ihr die passende ESP32 Tasmota Firmware (natürlich wieder mit SML Support) flashen. Dazu habe ich ein fertiges Tasmota Image extra für den ESP32 mit LAN Support erstellt. Ihr findet es im 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 und das Offline Flasher Tool "ESPHome Flasher" nutzen. 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.

 

12c) Template

Falls ihr mein fertiges ESP32 Image nimmt und den ET32-ETH01 verwendet, dann braucht ihr nur noch das korrekte Modul auswählen unter "Configuration-> Configure Module". Nach einem Reboot ist der ESP32 automatisch mit eurem LAN und WLAN verbunden. 

Habt ihr andere Hardware, dann müsst ihr diese erstmal korrekt via Template einstellen. "Configuration-> Configure 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 "Configure 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

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

 

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!

 

 

(13) FAQ und Problemlösungen

  1. Ich möchte ein Firmware Upgrade machen, bleibt das Skript und meine Einstellungen erhalten?
    Beim ESP32 bleibt alles (außer das 4h Diagramm) erhalten. Beim ESP8266 kann es sein (je nach Upgrade), dass das Skript weg ist und neu übertragen werden muss. Ab Tasmota 12.4 klappt dies auch ohne Verlust des Skriptes. Die gespeicherten Verbrauchs/Produktionsdaten bleiben eigentlich immer erhalten. Man sollte sie sich aber lieber einmal manuell notieren in dem man sich in der console die arrays ausgeben lässt und sich die Ausgabe in eine Textdatei kopiert:

    script?var        var = Variable eintragen z.B. mcon für die Monate
    Normale Variable:
    mval (kWh Verbrauchswert am Anfang des aktuellen Monats, wichtig für "Monatsverbrauch")
    mval2 (wie mval aber Produktionswert der PV Anlage falls man eine hat und falls der Zähler dies unterstützt)
    dval (kWh Verbrauchswert am Anfang des aktuellen Tages, wichtig für "Tagesverbrauch")
    dval2 (wie dval aber Produktionswert der PV Anlage falls man eine hat und falls der Zähler dies unterstützt)
    Arrays (komplettes Array anzeigen lassen ohne [ ] z.B. via script?dcon):
    dcon[n] (Verbrauch Monatsdiagramm n=1-31 Tag im Monat)
    mcon[n] (Verbrauch Jahresdiagramm n=1..12 Jan bis Dez, Eingespeist n=13..24, nur bei PV Skript)
    dprod[n] (Eingespeist Monatsdiagramm n=1-31 Tag im Monat, nur bei PV Skript)
    Die Ausgabe ohne [ ] sieht dann so aus:
    {"script":{"mcon":[20,221.17,105.47,148.44,162.11,165.04,177.73,158.2,160.16,148.44,20,167.97]}}

    Ab Tasmota 12 kann man sich das ganze Array auf einmal anzeigen und setzen lassen. Einfach die Klammern [ ] weglassen!

    Wenn dann nach einem Upgrade etwas nicht stimmt kann man die Daten einfach schnell korrigieren: script >var[n]=xxx   z.B. script >mcon[1]=200 damit setzt man für für den Monat Januar 200kWh. Bei mir war es mal so, dass der erste Wert in den Arrays falsch war. Das kann man dann wie eben geschrieben schnell beheben. Falls man das gesamte Array setzen möchte, dann geht das wie folgt. Zuvor hat man sich die Ausgabe des Arrays in der Console in eine Textdatei kopiert. Dann markiert man alle Zahlen innerhalb der [ ] und öffnen dann Suchen&Ersetzen. Nun sucht man nach Komma "," und ersetzt es durch ein Leerzeichen " ". Dann kopiert man alle Zahlen in den Klammern und fügt sie in die console. Es folgt ein Beispiel:

    Kommas entfernen und die Zahlen in die untere Zeile einfügen (Beispiel Array mcon mit PV):
    {"script":{"mcon":[20,221.17,105.47,148.44,162.11,165.04,177.73,158.2,160.16,148.44,20,167.97]}}
    Diesen Befehl dann in die console einfügen (Beispiel Array mcon mit PV):
    backlog script >mcon={20 221.17 105.47 148.44 162.11 165.04 177.73 158.2 160.16 148.44 20 167.97};

    Nun sollte euer Jahresdiagramm wieder stimmen!
  2. Es werden keine Werte mehr in meinem Smart Home System angezeigt, speziell die Sensoren (Leistung und Energie)
    Das Problem hatte ich einmal nach einem Upgrade und anschließendem Downgrade der Firmware. Bei mir war das Problem das Skript, dass ich dann einmal neu übertragen musste. Danach wurden die Sensoren wieder in der Tasmota Integration aufgeführt. Wenn das bei euch nicht der Fall ist, dann löscht die Einträge in der customize.yaml und geht danach zu den Developer Tools -> Services -> Recorder: Purge Entities und wählt die Sensoren von Tasmota aus. Danach ein Neustart vom System durchführen, Tasmota ebenfalls.
  3. Die Werte in den Diagrammen werden nach einem Neustart oder Stromausfall nicht geladen
    Als erstes solltet ihr versuchen das Skript erneut zu übertragen. Die Werte werden immer um Mitternacht gespeichert. Manuell kann das via script >svars über die Console gemacht werden. Das 4 Stunden Diagramm wird nicht gespeichert! Nachdem ihr das Skript übertragen habt die Arrays löschen via Console:

    Script mit (PV):

    backlog script >dval=EnFrGrid; script >dval2=EnToGrid; script >dcon={0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0}; script >dprod={0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0};
    backlog script >mval=EnFrGrid; script >mval2=EnToGrid; script >mcon={0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0};
    script >=#rst24h
    script >svars

     

    Script ohne (PV):

    backlog script >dval=EnFrGrid; script >dcon={0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0};
    backlog script >mval=EnFrGrid; script >mcon={0 0 0 0 0 0 0 0 0 0 0 0};
    script >=#rst24h
    script >svars

    Dann fügt testweise manuell etwas ins Array ein via Console: script >mcon[1]=200
    Im Jahresdiagramm sollte nun für Januar 200kWh erscheinen. Dann via Console: script >svars
    Und dann mal Stecker ziehen und schauen ob die Werte für Januar wieder geladen werden.
  4. Die Diagramme werden nicht korrekt angezeigt oder das Skript läuft nicht einwandfrei
    Entweder habt ihr dann nicht mein fertiges Image auf euren ESP geflasht oder falls ihr das Image selbst erstellt habt nicht die erforderlichen #includes hinzugefügt. Oder ihr habt etwas im Skript gelöscht oder geändert. Am besten einfach mein Image nehmen und dann das Skript mit dem Skript Editor übertragen ohne etwas zu ändern. Wenn dann die Diagramme korrekt angezeigt werden könnt ihr anfangen mit einem Notepad das Skript anzupassen und erneut zu übertragen. Denkt dran, ihr könnt mit dem ESP8266 das Skript nicht über die Tasmota Seite editieren, weil der ESP zu wenig RAM hat! Falls nur ein paar Werte in den Diagrammen nicht stimmen, dann könnt ihr diese in der Console korrigieren mit z.B. script >sday[n]=korrigierter Tageswert. Siehe dazu Punkt 1. der FAQ.
  5. Der aktuelle Tages- und Monatsverbrauchswert stimmt nicht (auch in den Diagrammen)
    Das Skript speichert sich immer um 00:00 Uhr den aktuellen Zählerstand um damit den Tagesverbrauch des nächsten Tages auszurechnen. Nach einem Monatswechsel wird der Wert zudem noch in eine weitere Variable geschrieben um den Monatsverbrauch zu errechnen. Die Variablen hierfür sind dval, dval2, mval und mval2, diese sind permanent und werden nach einem Neustart aus dem Flash Speicher geladen, so wie auch die restlichen Variablen aus Punkt 1. der FAQ. Nach einem Firmware oder Scriptupdate kann es passieren, dass diese Variablen falsche Werte haben. Oder wenn man das Script zum ersten Mal aufspielt, dann sind nämlich alle diese Variablen 0! Der aktuelle Tageswert (und Monatswert) errechnet sich aus aktuellem Zählerstand (der immer >0 ist!) und dem um Mitternacht gespeicherten Stand. So oder so würde dann etwas völlig falsches errechnet werden. Um alle Arrays/Variablen auf einen definierten Wert zu setzen siehe Punkt 3 der FAQ. Tritt das Problem nach einem Update auf, dann muss man die Variablen händisch korrigieren und den aktuellen Zählerstand oder falls man den Stand von Mitternacht hat via Console eingeben: "script >dval=Zählerstand", "script >mval=Zählerstand", "script >dval2=ZählerstandEingespeist" usw.
  6. Nach der Zeitumstellung (Sommer / Winterzeit) stimmt die Uhrzeit in Tasmota nicht mehr
    Folgt der Anleitung unter 4g).
  7. Mein Zähler zeigt keine, nur kurzzeitig oder eine negative Leistung an
    Wenn euer Zähler keine Leistung anzeigt oder sie nur für eine kurze Zeit ausgibt, dann könnte euch dieses Dokument weiterhelfen (falls der Link nicht mehr geht, Bescheid geben). Es kann auch sein, dass ihr einen Befehl regelmäßig zum Zähler senden müsst, das hatte ein User mal in den Kommentaren beschrieben (finde ich gerade nicht mehr, irgendwas mit Push-Pull).
    Wenn euer Zähler eine negative Leistung ausgibt, dann schaut euch im Kapitel 4c) das Beispiel SML Script an (DWS DVS 7420, 7412 (DZG DVS74 DWS74) inkl. "negative Leistung" Fix).

 


Kommentare: 618
  • #618

    Gerdsch (Dienstag, 06 Juni 2023 18:04)

    Hallo Zusammen, ich bin mit einem nodemcu ESP8266 auf Tasmota 12.5.0.1 mit einer custom firmware. Ich habe das 4h chart bei mir eingebaut, und es funktioniert auch, jedoch habe ich in der X-Achse nur 1 Stunde und die Uhrzeit passt garnicht. Um 18:01 habe ich 14:01 ganz links und 15:04 ganz rechts.
    Kann mir hier bitte jemand weiterhelfen?

  • #617

    digitalman (Montag, 05 Juni 2023 06:46)

    @ottelo: Bisher habe ich das Google Chart Script noch nicht genutzt. Ich werde es die Tage installieren und testen.
    Gestern habe ich erstmal die Tasmota 12.5 aufgespielt(komme von der 11.1). Vielleicht bringt das schon eine Besserung.

  • #616

    ottelo (Sonntag, 04 Juni 2023 12:39)

    Also ist der Peak im Chart deiner Wallbox ersichtlich? Ist der Peak auch direkt auf dem ESP in Tasmota im Chart (falls du das Google Chart Script verwendest) ersichtlich?

  • #615

    digitalman (Sonntag, 04 Juni 2023 12:31)

    @ottelo:
    Ich habe den falschen Wert in einer externen Wallbox die ich per http angebunden habe. Da ist es in dem zugehörigen Chart ersichtlich. Da sind beide Tasmotas eingebunden (der ohne Fehler und der hier beschriebene mit den Peaks).
    Neustarts gibt es bei diesen Peaks nicht. Derzeit nutze ich die Tasmotas noch in keinem anderen Smarthome-System.

  • #614

    ottelo (Sonntag, 04 Juni 2023 12:15)

    @digitalman
    In welchem Diagramm sind die Peaks? Sind diese auch kurzzeitig oben in den Zahlen sichtbar? Schau mal in der Console UND unter Info ob du was erkennen kannst (last restart). Startet evtl. Tasmota neu? Ich hatte mal ein Spannungsversorgungsproblem, das verursachte diese komischen Peaks.

  • #613

    digitalman (Sonntag, 04 Juni 2023 12:01)

    @Lucky:

    Zu deinem Beitrag #583: Ich habe auch mit diesen Peaks (kurzzeitig >10kW) zu kämpfen.
    Ich betreibe insgesamt zwei Tasmota IR-Meter. Einer macht keine Probleme und der andere hat mehrmals am Tag die beschriebenen Peaks. Der Medianfilter 16 ist bereits seit einiger Zeit gesetzt und hatte anfangs scheinbar Erfolg gebracht.
    Kann es am Zähler liegen? Ich habe einen Logarex LK13BE606739. Oder gibt es eine andere Lösung?

  • #612

    MarioP73 (Sonntag, 04 Juni 2023 10:48)

    Guten Morgen.

    @Matthias
    Leider nein. die Werte habe ich zwar in der WEB-Oberfläche, aber das einbinden in ein Diagramm war bis her nicht von Erfolg.
    Aktuell bin ich beruflich extrem eingebunden, die Feiertage machen es nicht besser.
    Ich habe die aktuelle Version in das Google-Drive hochgeladen.
    Mein Ansatz war ein zusätzliches 24h Diagramm, da dies den Tagesverlauf gut darstellt.
    Vielleicht kommt ja jemand dazu, das zusätzliche Diagramm einzubinden.

    Google-Drive:
    https://drive.google.com/drive/folders/1Fv28dFJUGSN7z7wk496LEmukYxBnKwKj?usp=sharing

    aktuelle Version:
    pv_ueberschuss_script.txt

    schönen Sonntag noch - Mario

  • #611

    Matthias (Freitag, 02 Juni 2023 10:58)

    @MarioP73: Hallo, bist Du schon weitergekommen mit den Diagrammen zum "Überschuss"?
    Gruß und Danke!
    Matthias

  • #610

    ottelo (Dienstag, 30 Mai 2023 21:45)

    @Lucky
    Schau in die FAQ Kapitel 13 Punkt 1.

    "Wenn dann nach einem Upgrade etwas nicht stimmt kann man die Daten einfach schnell korrigieren: script >var[n]=xxx z.B. script >mcon[1]=200 damit setzt man für für den Monat Januar 200kWh."

  • #609

    Lucky (Dienstag, 30 Mai 2023 21:30)

    @Ottelo
    Ich bin etwas verwirrt mit den befehlen für die console.
    Wie kann ich einen bestimmten Tag korrigieren?
    Kann ich die stände von einem bestimmten Tag auch ändern?
    Ich habe 2 Tage die leer sind und 1 Tag wo das dreifache an Verbrauch drin ist, weil 2 Tage das Gerät aus war.

    Jetzt wollte ich den heutigen Tag korrigieren und den Rest der KWh auf die andere 2tage die leer sind schreiben.
    Hoffe ich habe mich nicht umständlich ausgedrückt

  • #608

    MichaH (Montag, 29 Mai 2023 20:34)

    Das OTA-Upgrade habe ich natürlich mit dem "anderen" gemacht.
    Hab's nochmal geflasht, jetzt funktioniert es. Komisch, das Gleiche ist mir vor Monaten mit dem 8266 passiert. Beim Ersten Mal ging's nicht. Na gut, dann baue ich das jetzt ins Gehäuse und mache mich ans Skript.

  • #607

    ottelo (Montag, 29 Mai 2023 10:27)

    @MichaH
    Keine Ahnung was du da geflasht hast. Auf meinem ESP32 mit Tasmota 12.5.0 (25.05.2023) klappt der Befehl:

    09:25:10.077 CMD: sensor53 d1
    09:25:10.082 RSL: RESULT = {"Time":"2023-05-29T09:25:10","SML":{"CMD":"dump: 1"}}

    Bei einem OTA Upgrade darf man auch nicht die Factory nehmen sondern die andere!

  • #606

    MichaH (Montag, 29 Mai 2023 10:19)

    Zu früh gefreut, da geht überhaupt nichts:
    CMD: sensor53 d1
    RSL: RESULT = {"Command":"Error"}

  • #605

    MichaH (Sonntag, 28 Mai 2023 18:53)

    Ich habe ein Minimal-Tasmota draufgeflsht und dann OTA Update gemacht. Scheint funktioniert zu haben.

  • #604

    ottelo (Sonntag, 28 Mai 2023 14:44)

    Ok dann verwende das non Factory Image. Das hatte bei den anderen wohl auch funktioniert. Laut Tasmota soll die Factory aber für den Initial Flash sein

  • #603

    MichaH (Sonntag, 28 Mai 2023 13:28)

    Ich hab das mit dem ESP-Flasher direkt am Laptop (Alles unter Linux) versucht. Der 32er hat ja USB eingebaut. Andere Firmware geht problemlos, hab alles mögliche durchprobiert.

  • #602

    ottelo (Samstag, 27 Mai 2023 22:02)

    @MichaH
    Wie flasht du den ESP? Mit einem USB TTL Flasher ? Sollte eigentlich klappen…. Könnte auch am Flashprogramm liegen, gibt da ja einige.

  • #601

    MichaH (Samstag, 27 Mai 2023 21:16)

    Hi, ich versuche einen ESP32 zu flashen, wie in der Anleitung also zuerst mit tasmota32.factory.bin. Leider bricht der Vorgang ab mit "Unexpected error: The firmware binary is invalid (magic byte=FF, should be E9)". Das passiert bei allen, auch älteren Versionen. Was läuft da schief? Was kann ich tun?

  • #600

    ottelo (Freitag, 26 Mai 2023 23:40)

    @Lucky
    Changelogs findest du immer hier:
    https://tasmota.github.io/docs/

    Deinen Zähler im Garten kannst du auch mit dem ESP und Tasmota auslesen. Da gibt es zwei Möglichkeiten: Über Modbus RTU (RS485) oder die einfache S0 Schnittstelle. Für Modbus brauchst du noch ein RS485toTTL Adapter. Erklärt wird das alles hier: https://tasmota.github.io/docs/Smart-Meter-Interface/#general-description

  • #599

    Lucky (Freitag, 26 Mai 2023 22:33)

    Vielen Dank @Ottelo für das neue Update. Hat einwandfrei funktioniert. Vielen Dank.

    Kann man irgendwo bei tasmota die Änderungen sehen?
    Oder könntest du die Änderungen als Text Datei bei gdrive mit beifügen? Aber nur wenn es keine Umstände macht. Sonst nicht du machst schon einen super Job.
    Ich habe da noch eine Frage,
    Ich habe den Eastron SDM230 Modbus RS485
    Im Kleingarten. Der hat auch Anschlüsse zum auslesen.
    Meine Frage: funktioniert das Mit dem esp8266 und tasmota bei dem Zähler? Kannst du da was zu sagen?

  • #598

    Andreas (Freitag, 26 Mai 2023 15:19)

    Also das auslesen macht keine Probleme, es ist nur das Zusammenspiel Charts und Pin Sperre verhindern. Habe einen Easymeter M60 wo nach 2 Minuten der Pin Schutz, ohne Signal vom Lesekopf, wieder aktiviert wird.
    Alles andere probiere ich wenn der neue ESP da ist.

  • #597

    Marcus (Donnerstag, 25 Mai 2023)

    @Andreas

    Wie ließt Du den Easymeter aus? Ich habe die Erfahrung gemacht, dass zumindest der Q3AA scheinbar ein sehr schwaches Signal ausgibt. Wir mussten den Fototransistor wechseln und das Signal über einen Schmitttrigger schicken damit wir endlich konstant saubere Daten bekommen haben.
    Sonst kamen nur ab und an Daten.
    War gut erkennbar also wir nur den dump beobachtet haben.

    @ ottelo: War da nicht was, dass man den Hardware Serial RX (GPIO 3) für den Empfang nutzen soll? Andreas hat den TX GPIO 1 in seinem Script.

    Viel Erfolg

  • #596

    Andreas (Donnerstag, 25 Mai 2023 20:28)

    Super, danke dir für die schnelle Hilfe.
    Hoffe ich kann das am Wochenende gleich testen und meine Anfängerfehler beheben�

  • #595

    ottelo (Donnerstag, 25 Mai 2023 19:59)

    @Andreas
    Habe 2 Fehler in deinem Script gefunden:
    https://imgur.com/a/c5szcA6

  • #594

    Andreas (Donnerstag, 25 Mai 2023 19:32)

    So, jetzt hat es den ESP dahin gerafft. Muss erstmal neu bestellen.
    Das letzte Script: https://pastebin.com/34SphWHn
    Was ich auch probiere, keine Uptime und somit auch nichts in den Charts. Vielleicht kann ja mal jemand drüber schauen solange ich keinen neuen ESP habe. Danke

  • #593

    Andreas (Donnerstag, 25 Mai 2023 09:06)

    Danke erst einmal für Eure Mühe.
    Wenn ich zuhause bin werde ich das austesten und wenn es nicht läuft, lade ich es hoch.

  • #592

    ottelo (Donnerstag, 25 Mai 2023 08:59)

    @Andreas
    Lade mal dein gesamtes Script auf Pastebin hoch und schick uns hier den Link.

  • #591

    Marcus (Donnerstag, 25 Mai 2023 07:08)

    @Andreas
    Serial logging hast du in der configuration auf none gestellt? Da wird ja Gpio3 auch genutzt. Vielleicht beißt sich das ja?
    Oder auch mal die gpio‘s tauschen. Da gab es auch einen Grund, der mir gerade nicht einfällt.

    Gruß
    Marcus

  • #590

    Andreas (Mittwoch, 24 Mai 2023 18:16)

    Irgendwas beißt sich mit diesem:
    >S
    count +=1
    switch count
    case 4
    spin(3 0)
    case 5
    spin(3 1)
    count=0
    ends
    #

  • #589

    Andreas (Mittwoch, 24 Mai 2023 18:08)

    Ja, alles gemacht.
    Bin jetzt soweit das er mir die Charts anzeigt und der PIN gehalten wird. Aber Charts zeigen nichts und die Uptime läuft auch nicht mit.

  • #588

    Matthias (Mittwoch, 24 Mai 2023 17:17)

    Backlog nach Anleitung im Script hast Du gemacht?

  • #587

    Andreas (Mittwoch, 24 Mai 2023 08:29)

    Moin aus dem Norden,
    bin gerade am verzweifeln. Habe bis jetzt das Script ohne PV mit einem ESP8266 4M ohne Probleme genutzt. Jetzt habe ich einen neuen Zähler bekommen, Easymeter M60, und ich bekomme das Script mit PV nicht zum Laufen. Der PIN Schutz lässt sich nicht deaktivieren, habe es aber so zum auslesen gebracht:
    >D
    count=0

    >B
    =>sensor53 r

    ; GPIO 1 als output definieren für IR-Diode
    >BS
    spinm(3 1)

    ; SML Zähler Code
    >M 1

    +1,1,s,16,9600,Easym60

    1,77070100100700FF@1,aktueller Verbrauch,W,aktuelle_wirkleistung,2
    1,77070100010800FF@1000,Zählerstand Total, KWh,Total_in,2
    1,77070100020800FF@1000,Einspeisung Total,KWh,wirkenergie_total,2

    #

    ; alle 5 Sekunden für 1 Sek IR-Diode einschalten und damit die PIN-Aktivierung resetten
    >S
    count +=1
    switch count
    case 4
    ;print IR-Diode On
    spin(3 0)
    case 5
    ;print IR-Diode Off
    spin(3 1)
    count=0
    ends
    #


    Mit dem Chart+PV Script werden mir zwar die Werte angezeigt, aber die Diagramme bleiben leer und die Uptime läuft auch nicht mit.
    Jemand eine Idee?

  • #586

    Matthias (Montag, 22 Mai 2023 22:47)

    @MarioP73: Danke!
    Verweifele gerade an der Scriptsprache ...
    Gut, dass es diese Community gibt!

    Gruß
    Matthias

  • #585

    MarioP73 (Montag, 22 Mai 2023 22:38)

    @Matthias
    Ich bin schon an der Umsetzung dran.
    Zähler läuft schon, Diagramme noch nicht.
    Habe auch viel zu tun, aber im Laufe der Woche sollte es fertig sein.

    @ottelo
    Ich lege zum Schluss alles auf GoogleDrive, dann kannst du für den Blog verwenden, was dir gefällt.
    Die Tasmota 12.5.0 in DE läuft jetzt auf dem Shelly1PM und dem Hichi seit Tagen stabil.
    Könntest du also schon im BLOG verwenden.

  • #584

    ottelo (Montag, 22 Mai 2023 10:02)

    @Lucky
    Das ist sehr merkwürdig. Kommt das in regelmäßigen Abständen? Kann es ein Verbraucher sein, der nur ganz kurz viel zieht (Heizung, E-Auto?). Vielleicht auch ein Übertragungsfehler vom Lesekopf, sitzt er korrekt? Hast du den Median Filter "16" aktiviert (siehe Kapitel 4d)?

    @Matthias
    ich habe leider aktuell absolut keine Zeit, meine Projekte liegen auch gerade alle flach. Kann nur höchstens ab und zu bei Problemen antworten.

    @MarioP73
    Wenn dein Script sauber läuft kann ich es hier gerne zur Verfügung stellen (Kapitel 4i).

  • #583

    Lucky (Montag, 22 Mai 2023 00:13)

    Hey @Ottelo,
    Ist das normal das ich mehrmals am Tag ein peak von 10000 Watt und mehr im Verbrauch habe?
    Zu Zeiten wo ich nicht da bin oder schlafe. Ganz kurze ausschläge sind das?
    Ist das normal?

  • #582

    Matthias (Sonntag, 21 Mai 2023 23:09)

    @MarioP73:
    Meine Frage zielt auf: Wieviel Energie verschenke ich pro Tag und Monat von meinem Balkonkraftwerk.
    Dazu reichen die vorhandenen Infos sml(1)=Leistung(W) und sml(2)=Verbrauch(kWh).

    Nur die Leistung > 0 trägt zum Verbrauch bei.
    Die Infos über Leistung < 0 fließen in den Verbrauch also nicht ein: das ist die PV-Energie, die ich "verschenke". Durch gezielten Verbrauch in die Zeiten mit Leistung < 0 wäre also eine erste Optimierungsaufgabe.

    Das vorhandene Script von ottelo wäre also "einfach" zu erweitern.
    Bin allerdings totaler Anfänger in der Tasmota-Script- und Chartprogrammierung - also nix mit einfach.

    Idee: Für Monatsansicht und Jahresansicht
    Die Leistungswerte < 0 als "Überschuss" in kWh aufsummieren und als Absolutwert neben die Verbrauchswerte stellen
    oder einen entsprechenden separaten Chart "Überschuss" hinstellen.

    Vielleicht findet jemand Zeit für ein erweitertes Balkonkraftwerk-Script(ohne Grid-Einspeisung)?

    Danke :-)
    Matthias



  • #581

    ottelo (Sonntag, 21 Mai 2023 11:19)

    @Sven
    Verwende mal bitte das neuste Script + Firmware. Da sich viel geändert hat musst du zwingend deine alten Werte vorher per Hand sichern, falls du die Werte wiederherstellen möchtest. Anleitung ist in der FAQ.

  • #580

    Sven S. (Sonntag, 21 Mai 2023 10:16)

    Ich benutze dein Script jetzt seit 4 Monaten auf einem WT32-ETH ESP.
    Die Anzeigen und Google Charts sind soweit ok und passen.
    Leider zeigt er mir bei den Monatswerten immer nur den aktuellen Monat korrekt an.
    Die vergangenen Monate werden lediglich mit 1kw angezeigt.
    Ich habe die Scripte von dir so übernommen, meinen RX/TX Port angepasst und strikt nach Anleitung installiert.
    Komisch dass nur die Monatswerte in der Vergangenheit den Wert nicht speichern.

    https://ibb.co/ZXhDgH1

  • #579

    MarioP73 (Samstag, 20 Mai 2023 23:26)

    @Marcus

    Überschusszähler ist jetzt in meinem Script.
    Ich teste 2 Tage - wenn okay stelle ich online.

    Mario

  • #578

    MarioP73 (Samstag, 20 Mai 2023 22:37)

    @Marcus

    Für die 1MB Version, da es so ja aufwärts kompatibel ist.

    Ja, mein Zähler ist digital mit Rücklauf.
    Auf meinem vorherigen Script hatte ich
    auch einen Einspeisezähler integriert.
    Den hab ich hier noch nicht drin.
    Ist mir nicht so wichtig. Ich hatte in 12
    Monaten (01.03.2022 - 01.03.2023) ca. 580kWh
    Erzeugung und davon ca. 51kWh Einspeisung.
    Energiekosten von 2021 zu 2022 von
    ca 3.900kWh auf ca 3.500 kWh gesenkt.
    Wir leben sehr Smart. Der Iobroker kümmert
    sich ums abschalten. Ich sag nur Kinder...
    Wer nicht da ist, dessen Ggeräte gehen nach 5
    Minuten auf OFF, falls noch an. Heizung auch.
    Waschmaschine kann früh mit der Sonne starten,
    die 3D Drucker sowieso ;-).
    Ich habe sehr viele Gosund SP111 mit Tasmota
    bzw. Nachfolger.

    Wir haben eine Energieanzeige im Wohnzimmer,
    da schaut jeder drauf und achtet auch drauf.
    Zu der Anzeige hab ich gerade noch Bilder ins
    GoogleDrive (Ordner Energiy-Display) geladen.
    Das Display ist mein eigenes Produkt.

    Mario

  • #577

    Marcus (Samstag, 20 Mai 2023 10:07)

    @Mario
    Schönes Script.
    Auch die Wifi Anzeige ist praktisch.
    Ich lasse derzeit ottelos pow Script auf einer Gosund EP2 von einem Kollegen als Ertragsmeter erfolgreich testen. Hab selber leider keine PV Anlage. Mietwohnung mit Nordbalkon :-(
    Der soll gleich mal dein script mit testen.

    Ist deine binary für einen 1MB oder für einen 4MB ESP?

    Interpretiere ich dein Stromzählerbild richtig, dass du einen digitalen Zähler mit Rücklaufsperre hast. Also keinen 2 Wege Zähler. Du siehst also nur, wenn die Leistung auf minus geht, dass du einspeist und hast keine Info am Smartmeter wieviel du eingespeist hast?

    Gruß
    Marcus

  • #576

    MarioP73 (Donnerstag, 18 Mai 2023 17:01)

    @Marcus
    Nein, Shelly verbaut den ESP8266 bzw. anfangs den ESP8285.
    Das macht aber grundlegend keinen Unterschied.
    Erklärung: der ESP32 ist teurer und dafür nicht nötig.
    Der ESP32 ist eher bei CAM-Anwendungen oder StreamRadios vorzufinden - oder in Eigenentwicklungen

  • #575

    MarioP73 (Donnerstag, 18 Mai 2023 16:51)

    @ottelo + @Matthias
    Da ich mir die Woche eine Erkältung eingefangen hatte, ist mein Bier eher Tee. Somit hatte ich Zeit am Laptop.
    Somit hab ich eine gut laufende Firmware (12.5.0 deutsch) erzeugt, die den Shelly 1 PM unterstützt.
    Das Script von Ottelo, welches ich für den Zähler schon erweitert hatte, habe ich nun auch für den Shelly 1PM verändert (erweitert).

    Screenshots, Shelly1PM_Script und Firmware:
    https://drive.google.com/drive/folders/1Fv28dFJUGSN7z7wk496LEmukYxBnKwKj?usp=sharing

    Aktuell versuche ich mich daran, dass die Google-Charts sich automatisch aktualisieren.
    Also nicht die ganze Tasmota-Seite neu laden.

    Noch einen schönen Vatertag - Mario

  • #574

    Marcus (Donnerstag, 18 Mai 2023 16:45)

    @Mario,

    Ok, das habe ich übersehen.

    Ist der Shelly 1PM ein ESP 32?
    Die Binarys von Ottelo für den POW sind für den ESP8266 . Ob es eine ESP32 Variante gibt weiss ich nicht.

    @ottelo
    Viel Spaß beim Bierchen

  • #573

    ottelo (Donnerstag, 18 Mai 2023 11:44)

    @Mario
    Ja die Mail habe ich bekommen :)
    Welche Features ich deaktiviert habe steht in dem Script hier https://ottelo.jimdofree.com/stromzähler-auslesen-tasmota/#6 Etwas nach unten scrollen. Da kommen dann die #undef. Mit meiner Firmware geht Shelly 1PM nicht? Ich habe ja noch ne extra Verison für Sonoff pow r2 erstellt und hier zum Download angeboten. Evtl klappt’s ja damit. Sonst muss ich mal gucken, welches Feature wieder rein muss.

    So muss weiter Bier trinken :)

  • #572

    MarioP73 (Donnerstag, 18 Mai 2023 10:54)

    Guten Morgen zusammen.

    @ Marcus
    Ich vermute, dass Matthias die gleiche Idee wie ich hat, einem Shelly 1PM mit dem Projekt von ottelo zu versehen.
    Hier aber nicht den Zähler per SML abzufragen, sondern den internen Leistungsmesser zu verwenden.

    @ Matthias
    Ja, ich versuche mich gerade daran. Aktuell versuche ich mich an einer funktionsfähigen Tasmota-Firmware.
    Die von ottelo unterstützt den interne Leistungsmessung des Shelly 1PM nicht.

    @ ottelo
    Passt in deine Firmware eigentlich die Funktionalität des Shelly 1PM mit rein? Könntest du eine Version veröffentlichen?
    Dem anpassen des Scripting würde ich mich dann gern annehmen. Aktuell habe ich dein Script um die Anzeige der
    Stromkosten in EUR sowie den WLAN-Empfang als Statusbalken (0-100%) erweitert.
    Ich habe dir eben einen Screenshot der WEB-Anzeige per email gesendet. Vielleicht willst du das ans Beispiel mit veröffentlichen.

    Ansonsten - Schönen Vatertag an alle hier ....
    Mario

  • #571

    Marcus (Donnerstag, 18 Mai 2023 09:28)

    @ Matthias
    Aber genau das macht doch Ottelos Script, sofern du einen Digitalen Zweiwege Stromzähler hast.
    Du erste Kurve wird negativ wenn du einspeist und in der PV Diagrammen siehst die Tages und Monatssummen wieviel du eingespeist hast.
    Das einzige was „fehlt“ ist wieviel Strom von der PV Du verbrauchst hast.
    Aber die Angabe ist m.E. Uninteressant zu erkennen ob ein Speicher sinnvoll ist. Wenn du keinen zweiwegezähler hast wird’s natürlich kompliziert

  • #570

    Matthias (Dienstag, 16 Mai 2023 19:56)

    @ottelo: Danke für den Tipp, hat geklappt.

    Hat sich schonmal jemand über Charts für balkonkraftwerke gemacht?

    Die balkonkraftwerke speisen ja nicht ein bzw. ergeben kein total Out.
    Wäre aber interessant zu wissen, was man verschenkt.

    Sehr interessant wäre daher die Summe der Leistung ( Verbrauch + Überschuss) über den Tag und Monat in kWh. Das Ergebnis läge unter total in, im Sommer bestimmt im negativen Bereich. Vielleicht ein Impuls, doch noch in Speicher zu investieren...

    Gruß Matthias

  • #569

    ottelo (Montag, 15 Mai 2023 07:50)

    @Matthias
    Siehe Kommentar #558