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
(2) ESP8266 zusammenlöten (Schaltplan Skizze "Variante C")
(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 Skript ***
(4b) Tasmota Einstellungen für euer Smart Home System (z.B. Home Assistant)
(4c) Tasmota SML Script Beispiele (ohne Google Charts usw)
(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 für Tasmota
(4i) Weitere nützliche Tasmota Skripte
(5) Home Assistant Energy Panel
(6) Tasmota Firmware selbst erstellen (GitPod)
(7) Tasmota Firmware Flashen/Updaten
(8) Quellen
(9) Übersichtsbild
(10) Platzhalter
(11) Nützliche Sachen für Home Assistant
(12) Tasmota via LAN/Ethernet (ESP32) ! NEU !
-- Wenn ihr den Ready2Use Hichi Lesekopf verwenden wollt, dann könnt ihr nun zu Punkt 4) springen --
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:
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
(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 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.
----------------------------------------------
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".
(4b) Tasmota Einstellungen für euer Smart Home System (z.B. Home Assistant)
Configuration -> Configure MQTT (die Tasmota HA Integration nutzt auch MQTT!):
Main Menu -> Console:
(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!
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):
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
1 = 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).
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):
2. Sende/Abruf Intervall einstellen (Configuration -> Configure Logging)
4. Main Menu -> Console:
(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)
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 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
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/
(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. 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
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
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?
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.
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?
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.
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.
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?
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
Matthias (Freitag, 02 Juni 2023 10:58)
@MarioP73: Hallo, bist Du schon weitergekommen mit den Diagrammen zum "Überschuss"?
Gruß und Danke!
Matthias
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."
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
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.
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!
MichaH (Montag, 29 Mai 2023 10:19)
Zu früh gefreut, da geht überhaupt nichts:
CMD: sensor53 d1
RSL: RESULT = {"Command":"Error"}
MichaH (Sonntag, 28 Mai 2023 18:53)
Ich habe ein Minimal-Tasmota draufgeflsht und dann OTA Update gemacht. Scheint funktioniert zu haben.
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
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.
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.
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?
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
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?
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.
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
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�
ottelo (Donnerstag, 25 Mai 2023 19:59)
@Andreas
Habe 2 Fehler in deinem Script gefunden:
https://imgur.com/a/c5szcA6
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
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.
ottelo (Donnerstag, 25 Mai 2023 08:59)
@Andreas
Lade mal dein gesamtes Script auf Pastebin hoch und schick uns hier den Link.
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
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
#
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.
Matthias (Mittwoch, 24 Mai 2023 17:17)
Backlog nach Anleitung im Script hast Du gemacht?
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?
Matthias (Montag, 22 Mai 2023 22:47)
@MarioP73: Danke!
Verweifele gerade an der Scriptsprache ...
Gut, dass es diese Community gibt!
Gruß
Matthias
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.
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).
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?
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
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.
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
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
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
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
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
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
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
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 :)
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
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
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
ottelo (Montag, 15 Mai 2023 07:50)
@Matthias
Siehe Kommentar #558