Iskra MT175/MT681 Stromzähler via ESP8266 auslesen und an Home Assistant senden

Falls ihr, so wie ich, einen neuen digitalen Stromzähler von Iskra eingebaut bekommen habt und auch gerne den aktuellen Zählerwert [kWh] + Leistung [P] als schöne Kurve in eurem Home Assistant System (HA) angezeigt bekommen möchtet, dann seid ihr hier genau richtig! (nachdem ihr den Bandwurmsatz verstanden habt ^^ )

 

Darstellung in Home Assistant
Darstellung in Home Assistant
Darstellung in Tasmota (Webbrowser)
Darstellung in Tasmota (Webbrowser)
MQTT Integration in Home Assistant
MQTT Integration in Home Assistant
Automatisch erkanntes Device in Home Assistant
Automatisch erkanntes Device in Home Assistant

Was benötigt ihr

  • Digitaler Stromzähler (hier in der Anleitung wird einer von Iskra Typ MT175 oder MT681 (andere funktionieren bestimmt auch) mit SML Protokoll verwendet)
  • 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 mit TTL Ausgang - kein USB (entweder fertig kaufen, oder einen 15€ Bausatz im photovoltaik Forum bestellen) - Schaltplan + Wiki
  • ESP8266 (am besten einen mit USB Anschluss z.B. Wemos D1 mini)
  • 230V -> 3,3V Netzteil (am besten ein Hutschienennetzteil)
  • oder 230V -> 5V Netzteil wenn ihr ein ESP mit USB Eingang habt
  • Home Assistant System (z.B. auf einem Raspberry Pi 3+ oder 4)
  • Lötkolben + Lötzinn + 3- oder 4-adriges Kabel für den IR Auslesekopf (wenn ihr nur den Bausatz kauft)

ESP8266 zusammenlöten (Schaltplan Skizze)

 

EDL21

- Falls ihr den Stromzähler direkt über den Raspberry Pi, auf dem 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/

 

Beschreibung

1) Stromzähler Code eingeben und somit freischalten. Ansonsten könnt ihr nur den Gesamtverbrauch auslesen. Den Code gibt ihr über die blaue Taste ein. Anschließend sollte eure aktuelle Leistung unter dem Zählerstand angezeigt werden.

2) ESP8266 Tasmota Firmware herunterladen. Entweder folgt ihr der Anleitung (oder guckt weiter unten) und kompiliert euch selbst eine Version (mit Smart Meter Interface SML Support) oder ihr könnt meine fertige verwenden.

 

Downloads (Tasmota mit SML Support):

ab 9.2.0 wird die Tasmota Home Assistant Integration unterstützt. Ich habe es ab 9.2.0 in der firmware inkludiert. Ich nutze nun auch die Tasmota Integration in HA.

3) Firmware auf den ESP flashen. Dazu einfach wieder der offiziellen Anleitung folgen.

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

----- Tasmota Einstellungen -----

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) Configuration -> Configure MQTT:

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

9) Edit script (Console -> Edit Script):

 

>D
>B =>sensor53 r
>M 1 +1,14,s,16,9600,MT175 1,77070100010800ff@1000,Verbrauch,KWh,Total_in,1
1,77070100020800ff@1000,Netzeinspeisung,KWh,Total_out,0 <-------- benötigt ihr nur, wenn ihr eine PV-Anlage habt. Sonst einfach diese Zeile löschen!! Denkt auch an die "SML_MAX_VARS". Muss dann auf min 3 stehen. 1,77070100100700ff@1,Leistung,W,Power_curr,1 #

 

Hier in dem Beispiel bekommt ihr anschließend 2 Werte aus dem Stromzähler: Verbrauchte Leistung in kWh und momentane Gesamtleistung über alle 3 Phasen.

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. Die Beschreibung findet ihr auf der SML Tasmota Seite!

 

Falls ihr mehr als 2 Werte auslesen wollt, dann könnt ihr nicht mein Tasmota Image 8.4.0 verwenden, da dieses nur 2 Werte unterstützt. Entweder kompiliert ihr euer eigenes Tasmota und passt "#define SML_MAX_VARS xx" an oder verwendet mein neustes Tasmota Image. Dort habe ich 5 Werte freigeschaltet also "#define SML_MAX_VARS 5".

Für eine genaue Beschreibung des Scriptes siehe Hilfeseite Tasmota SML. Ihr müsst in erster Linie für dieses Tutorial nur eine Zeile anpassen.

 

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

14 = GPIO Pin Nr 14 / D5. Hier könnt ihr den Pin ändern, an dem ihr das RX Signal des Lesekopfes angeschlossen habt

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

 

 

----- 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. Nach dem Testen "sensor53 d0" eingeben.

 

 

9) Configure other: 

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

10) Main Menu -> Console:

  • Intervall (MQTT Sendeintervall) einstellen, z.B. 60s = TelePeriod 60
  • MQTT Auto Discovery einschalten = SetOption19 1
  • oder falls ihr die Tasmota Home Assistant Integration nutzen wollt: SetOption19 0 (nutze ich!)

----- Home Assistant Einstellungen -----

11) Unter Users einen neuen Benutzer anlegen: mqtt (Passwort muss mit dem in Tasmota übereinstimmen)

12) Mosquitto broker Addon herunterladen und starten

13) MQTT Integration hinzufügen (Auto Discovery enable)

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

15) Jetzt habt ihr ein neues Device und die Entities! Entweder unter der Integration MQTT (SetOption19 1) oder unter der Integration Tasmota (SetOption19 0).

16) Allerdings sind die Werte alle Einheitenlos und ohne richtiges Icon. Das könnt ihr ändern indem ihr unter Configuration -> Customizations das entsprechende Entity auswählt, z.B. MT175_Total_in. Das sind die kWh meines Zählers. Dort müsst ihr dann folgendes auswählen (Pick an attribute to override).

 

ab HA 2021.9: (Hinweis zur Änderung)

Device class = energy
Unit of measurement = kWh !!vor den kWh darf kein Leerzeichen im Eingabefeld sein!!
state class = total_increasing

vor HA 2021.9:

Device class = energy
Unit of measurement = kWh
state class = measurement
Folgendes muss erst hinzugefügt werden. Pick an attribute to override -> Other -> last_reset
last_reset = 1970-01-01T00:00:00+00:00

 

Diese Angaben sind wichtig, da ansonsten diese Entities nicht im neuen HA Feature 2021.8.0 "Energy" erkannt werden!

 

 

Das gleiche gilt auch für die ins Netz eingespeiste Energy (kWh). Wenn ihr aber die Leistung (W) einstellen wollt, dann müsst ihr es so einstellen.

Device class = power
Unit of measurement = W

 

 

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 

 

Optional: Neues 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.

 

Anleitung Tasmota Firmware selbst erstellen (Online Tools):

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)

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.

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

 

4) Folgende 4 Zeilen bei Custom parameters einfügen:

 

 

#ifndef USE_SML_M

#define USE_SML_M

#endif

 

(Update)

Ihr müsst nicht mehr "SML_MAX_VARS" eingeben, da sich der Defaultwert auf 20 erhöht hat. Vorher war es 1. Der Parameter bedeutet, wieviel Werte ihr aus eurem Zähler auslesen könnt (Leistung In, Out, usw).

 

5) Wählt die Sprache aus

6) Compile! 

 

Anleitung Tasmota Firmware Upgrade:

Falls bereits alles eingestellt ist müsst ihr nur noch der Anleitung hier folgen: https://tasmota.github.io/docs/Gitpod/ (ganz unten unter OTA Flash). Falls ein Fehler beim Upload der minimal firmware kommt, dann müsst ihr "SetOption78 1" unter Console ausführen. Alle Einstellungen bleiben erhalten!

 

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/

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/

 

 

 

Übersichtsbild

MT175 in Home Assistant unter Integrations

Nützliche Sachen für Home Assistant

Zweirichtung Leistungssensor [W] (positiv/negativ) in zwei Sensoren aufteilen (from_grid, to_grid):

Falls man seine Leistung irgendwo mit einem Sensor misst der in beide Richtungen messen kann, also positive Leistung oder negative und man diesen mit in das neue Home Assistant Energy System einbinden möchte dann gibt es diesen Trick um aus einen Sensor zwei zu machen:

 

sensor:
- platform: template sensors: mynewsensor_negative: friendly_name: "Mein neuer Sensor (nur negative Leistung)" unit_of_measurement: 'W' value_template: > {% if states('sensor.powersensor') | int > 0 %} 0 {% else -%} {{ (states('sensor.mt175_mt175_power_curr') | int) | abs }} {% endif %} mynewsensor_positive:
friendly_name: "Mein neuer Sensor (nur positive Leistung)"
unit_of_measurement: 'W' value_template: > {% if states('sensor.powersensor') | int > 0 %}
{{ states('sensor.powersensor') }}
{% else -%} 0 {% endif %}

Nun hat man zwei neue Sensoren/Entities. 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:

 

sensor:
#Rieman sum - platform: integration source: sensor.mynewsensor_negative name: mynewsensor_energy_negative unit_prefix: k method: left round: 2 - platform: integration source: sensor.mynewsensor_positive
name: mynewsensor_energy_positive unit_prefix: k method: left round: 2

Nun hat man man wieder zwei neue Sensoren/Entites. Sie zählen die verbrauchte bzw. erzeugte Energie. Sie kann man nun in das HA Energiesystem einbinden!

 

 

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.

 

sensor:
#Filter - platform: filter name: "PVAnlage Leistung gemittelt" entity_id: sensor.pvanlage_energy_power filters: - filter: lowpass time_constant: 10

Kommentare: 62
  • #62

    ottelo (Dienstag, 21 September 2021 12:10)

    @Schlumpf98
    Das hat er bei mir mal gemacht, als ich das ältere Tasmota Image verwendet hatte. Dort war als Standard "SML_MAX_VARS = 2". D.h. wenn ich mehr als 2 Werte auslesen wollte spackte alles ab und die Werte sprangen hin und her. Beim neuen Tasmota Image sollten aber ausreichend viele Variablen freigeschaltet sind.

    Hast du den Filter mit drin?
    +<M>,<rxGPIO>,<type>,<flag>,<parameter>,<jsonPrefix>
    flag = 16

    Wenn es wirklich regelmäßig oft hin und her springt mal die Echtzeitdaten in der Console ausgeben lassen.



    (https://tasmota.github.io/docs/Commands/)
    In die Console eingeben:

    "sensor53 d1" wenn du die Daten des 1. Zähler auslesen willst
    "sensor53 d2" wenn du die Daten des 2. Zähler auslesen willst
    sensor53 d0 deaktiviert es wieder

    Also mit d1 schaust du dir nur die Rohdaten des 1. Zählers (definiert im Skript) an.

  • #61

    Schlumpf98 (Dienstag, 21 September 2021 11:07)

    Also zunächst einmal wirklich ein riesiges Lob...tolle Beschreibung.
    Ich habe zwei Zähler bei mir wegen PV-Anlage. Daher habe ich mir auch zwei Leseköpfe bei Hicham Belmadani gekauft. Habe gestern den ersten an einen Wemos D1 mini gemacht und ihn auch (nach etwas probieren wegen dem Fehler mit dem Leerzeichen vor "kWh") im HomeAssistant über mqtt integriert...für mich als Nicht-Informatiker ging das wirklich gut (nochmals: tolle Beschreibung).
    Bei meinem Zwei-Richtungs-Zähler MT681 ist es aber nun so, dass die Daten nicht ganz sauber ankommen...Die Werte für Verbrauch und Leistung sind relativ stabil, beim Einspeisewert springt der Wert jedoch immer zu anderen Werten wie "1000" oder auch andere (aber immer die gleichen). Habe schon versucht den Lesekopf exact auf die LED des Zählers auszurichten, aber ohne Erfolg. Auch die beiden o.g. anderen Werte (Bezug und Leistung) springen ab und zu.
    Kann mir hier jemand helfen. Wie gesagt ich bin Nicht-Informatiker. Kann es an einer Abweichung der Baudrate liegen. Laut "Volkszähler" liegt diese bei 9600 für meinen Zähler. Hat jemand einen Tip oder ne Lösung?

  • #60

    Matt (Montag, 20 September 2021 21:37)

    Zu Beginn der Installation werden die Werte in der Tasmota Console alle 2 Sekunden aktualisiert. Nur HA kann das wohl nicht ordentlich verarbeiten?! Hat man eine Möglichkeit, eine schnellere Aktualisierung der Werte anstatt der 10 Sekunden zu erhalten, ohne das HA sich aufhängt? (TelePeriod 10)

  • #59

    Felix (Donnerstag, 09 September 2021 11:46)

    @ottelo Ich warte noch auf ein paar Bauteile, kommen evtl heute. Sobald ich testen konnte, werde ich auf jeden Fall berichten. Habe zum Glück ein paar Logarex Zähler im Zugriff, die ich testen kann.

  • #58

    ottelo (Donnerstag, 09 September 2021 10:59)

    Wieso, ist doch kein Problem. Solange noch GPIO Pins frei sind kann beliebig viele anschließen!

    Ich werde als nächstes mein Gaszähler einbinden.

  • #57

    Ich (Donnerstag, 09 September 2021 10:23)

    So und jetzt brauche ich nur noch einen Weg wie man mehrere (am Besten unterschiedliche) Sensoren an einen ESP anschliesen kann ;-).

    Das wird auf jedenfall mein nächstes Projekt, arbeitet da auch jemand dran? (ich hab 4 Zähler).

  • #56

    ottelo (Donnerstag, 09 September 2021 09:25)

    @Felix
    Das echt komisch, dass trotzdem Pull Commands via TX LED gesendet werden sollen (laut Tasmota Beispielscript). In den Foren verwenden die auch diese 2 Commands. Laut Datenblatt soll der Zähler seine Daten ohne zutun senden (Push Mode).

  • #55

    MrJoki007 (Donnerstag, 09 September 2021 09:08)

    @Felix

    Habe es auch schon mit dem richtigen Skript probiert.
    In der Tasmota Anleitung ist dieser Zähler mit dem richtigen Skript aufgeführt.

    Da ich am Tag mit dem Handy nichts sehen konnte, hab ich auch nochmal in der Nacht geschaut.
    Dort war dann ein ganz ganz leichtes blinken zu sehen.
    Also ist es anscheinend wirklich so, dass diese LED ziemlich schwach ist.

    Ich habe es bei mir nicht zum funktionieren gebracht.

  • #54

    Felix (Mittwoch, 08 September 2021 23:11)

    @MrJoki007 So viel ich weiß, gibt der Logarex die Daten per OBIS aus. Du hast aber SML eingestellt. Ändert natürlich nix daran, falls die IR LED hin ist.

    In der Anleitung der Schnittstelle zum Zähler steht, dass diese PUSH ist. Der Zähler sollte die Daten also automatisch senden.

    Siehe auch
    https://tasmota.github.io/docs/Smart-Meter-Interface/#logarex-lk13be-obis
    (Hier ist komischerweise eine TX IR LED definiert, laut Datenblatt kann aber nur die 485 Schnittstelle bidirektional kommunizieren.)

  • #53

    ottelo (Mittwoch, 08 September 2021 14:41)

    @ICH
    Danke für den Hinweis! Das werde ich sofort oben aufnehmen.

    Bzgl. customization, das Leerzeichen kann einfach davor gelöscht werden ohne ssh oder FileEditor.

  • #52

    Ich (Mittwoch, 08 September 2021 14:34)

    Danke für die Infos!
    Ein paar Hinweise:

    @Daniel glaub ich: Wenn ? im Namen steht, dann ist Bezeichnung des Gerätes im Script in Tasmota zu lang.

    Die Zuordnung unter "Configuration -> Customizations" macht eine Lehrstelle vor kWh im File customization.yaml (oder so ähnlich).
    Die Leerstelle mit dem Plugin "FileEditor" oder via ssh? ändern.

    Zusätzlich muss diese Datei aufgerufen werden in der configuration.yaml :

    "
    homeassistant:
    customize: !include customize.yaml
    "
    und es gab Änderungen für die Zuordnung der Sensoren:

    https://community.home-assistant.io/t/how-can-i-add-total-increasing-to-my-template-sensor/334961/15

    Bitte beachten sonst, gehts nicht
    (kann auch alles direkt im File Customization.yaml geändert werden...

    Viel Spass allen

  • #51

    MrJoki007 (Montag, 06 September 2021 08:28)

    Ja genau das war das Problem.
    Keine Ahnung warum der da ein Leerzeichen eingefügt hat, aber jetzt kann ich es hinzufügen.
    Vielen Dank

  • #50

    ottelo (Donnerstag, 02 September 2021 08:51)

    Hast du ein Leerzeichen vor kWh?

  • #49

    MrJoki007 (Donnerstag, 02 September 2021 08:09)

    Die Attribute habe ich bereits gesetzt aber es wird nicht angezeigt.

    Screenshot: http://puu.sh/I8kpR.png

  • #48

    ottelo (Mittwoch, 01 September 2021 19:12)

    Ja du musst in HA unter Einstellungen -> Customization dein Zähler Entity bearbeiten. Dort Einheit kWh eingeben. Und für State Class measurement. Dann last reset hinzufügen und "1970-01-01T00:00:00+00:00" einfügen

  • #47

    MrJoki007 (Mittwoch, 01 September 2021 18:35)

    Also der Dump von Zähler 2 funktioniert wie es soll.

    Ich habe jetzt nochmal intensiv gegoogelt und rausgefunden, dass dieser Zähler oftmals Probleme mit einer zu schwachen IR LED hat und man ihn einfach tauschen lassen soll.

    Hättest du noch einen Tipp wie ich mein anderes vorher genanntes Problem lösen könnte, damit ich den Sensor im Homeassistant Energie Tab auswählen kann?

  • #46

    ottelo (Mittwoch, 01 September 2021 18:02)

    @MrJoki007
    Ich habe eben mal die Beschreibung des commands gelesen (https://tasmota.github.io/docs/Commands/)

    sensor53 d1 = 1. Zähler
    sensor53 d2 = 2. Zähler

    Also mit d1 schaust du dir nur die Rohdaten des 1. Zählers (definiert im Skript) an. Versuch mal mit d2. Dann musst du was bekommen.

  • #45

    MrJoki007 (Mittwoch, 01 September 2021 17:44)

    Ich habe es aber jetzt auch ausprobiert, wärend der IR Kopf am anderen Zähler funktioniert und Daten sendet und trotzdem kommt nichts zurück.

    Wenn der andere Zähler funktioniert müsste doch dann etwas zurück kommen oder?

  • #44

    ottelo (Mittwoch, 01 September 2021 17:42)

    @MrJoki007
    Somit kommt tatsächlich nichts aus deinem Zähler heraus. So sieht es bei mir aus:

    16:36:37.676 CMD: sensor53 d1
    16:36:38.752 1b 1b 1b 1b 01 01 01 01 76 05 04 86 56 ce 62 00 62 00 72 63 01 01 76 01 01 05 01 82 1c f0 0b 09 01 49 53 4b 00 04 7f fe 78
    16:36:38.755 : 77 01 0b 09 01 49 53 4b 00 04 7f fe 78 07 01 00 62 0a ff ff 72 62 01 65 02 60 28 15 7a
    16:36:38.803 : 77 07 81 81 c7 82 03 ff 01 01 01 01 04 49 53 4b 01
    ....

    Schau mal in der Wiki hier ob du deinen Zähler findest:
    wiki.volkszaehler.org

    Dann würde ich mal im Forum "https://www.photovoltaikforum.com/board/131-volkszaehler-org" fragen und/oder ein erweitertes Handbuch deines Zählers im Internet suchen und/oder dein Stromversorger fragen, wie dieser den Zähler konfiguriert hat. Kann gut sein, dass der Zähler erst etwas sendet, wenn man ein Befehl hin sendet.

  • #43

    MrJoki007 (Mittwoch, 01 September 2021 17:20)

    16:18:26.285 CMD: sensor53 d1
    16:18:26.293 MQT: stat/tasmota_280D71/RESULT = {"Time":"2021-09-01T16:18:26","SML":{"CMD":"dump: 1"}}

    Pin ist eingegeben und deaktiviert und InF ist auf on

  • #42

    ottelo (Mittwoch, 01 September 2021 17:08)

    @MrJoki007

    ja genau den Lesekopf am funktionierenden Zähler abnehmen, sonst wird die Console du mit Daten des funktionieren Zählers geflutet! Du prüfst mit dem Befehl "sensor53 d1" in der Console, ob irgendetwas aus dem anderen Zähler heraus kommt! Dafür kann man evtl. auch das Handy nehmen, ABER es kann sein, dass du es mit deinem Handy garnicht sehen kannst, weil je nach Handyhersteller ein IR Filter vor der Linse der Kamera verbaut ist! Die Zählerhersteller können z.B. auch andere IR Leds verwenden, die vielleicht in einem anderen Lichtspektrum senden und deshalb siehst du das dann mit deinem Handy nicht. Darum empfehle ich den Befehl in der Console!

    Wenn da auch nichts heraus kommt, dann musst du vielleicht eine PIN im Zähler eingeben!?

  • #41

    MrJoki007 (Mittwoch, 01 September 2021 16:25)

    Also ich hab gerade mit der Handy Kamera geschaut, beim Holley Zähler sieht man die IR LED und beim LOGAREX sieht man garnichts. Ich habe auch schon ausprobiert, im Zählermenü die Info aus und wieder einzuschalten, aber hat leider nichts gebracht.

    Ein weiteres Problem was ich habe ist, dass die Sensoren bei mir im Energie-Menü von Homeassistant nicht zur Auswahl stehen.
    Die Attribute Unit of Measurement, Device Class, State Class und Last Reset sind aber alle gesetzt.

  • #40

    MrJoki007 (Mittwoch, 01 September 2021 16:11)

    Du meinst den Lesekopf am Holley Zähler abnehmen? Dieser ist ja der, der funktioniert

  • #39

    ottelo (Mittwoch, 01 September 2021 13:53)

    @MrJoki007 (James Bond Fan?)
    Um zu prüfen ob dein Zähler überhaupt irgendetwas ausgibt, gehe zur Tasmota Bedienoberfläche und dann auf Console. Dort tippe folgendes ein:

    sensor53 d1

    Vorher den Lesekopf am LOGAREX Zähler abnehmen!

  • #38

    MrJoki007 (Mittwoch, 01 September 2021 13:21)

    Hallo,
    ich habe in meinem Haus zwei verschiedene Zähler. Der eine ist ein Holley DTZ541-ZDBA und der andere ist ein LOGAREX LK13BE803039.

    Mein Skript ist folgendes:
    >D

    >B

    =>sensor53 r

    >M 2
    +1,3,s,16,9600,Strom
    1,77070100010801FF@1000,Verbrauch Tag,KWh,Day_in,4
    1,77070100010802FF@1000,Verbrauch Nacht,KWh,Night_in,4
    1,77070100020800ff@1000,Netzeinspeisung,KWh,Total_out,4
    1,77070100100700ff@1,Leistung,W,Power_curr,0

    +2,0,s,16,9600,WP
    2,77070100010801FF@1000,Verbrauch Tag,KWh,Day_in,4
    2,77070100010802FF@1000,Verbrauch Nacht,KWh,Night_in,4
    2,77070100020800ff@1000,Netzeinspeisung,KWh,Total_out,4
    2,77070100100700ff@1,Leistung,W,Power_curr,0
    #

    Leider habe ich jetzt das Problem, das die Werte des Holley Zählers perfekt ausgelesen werden, aber bei den Werten des LOGAREX Zählers nur 0 steht.

    Ich habe bereits die beiden Leseköpfe getauscht um ein defekt auszuschließen und auch nur die Anschlüsse getauscht um dort ein defekt festzustellen.
    Leider ohne Erfolg.
    Egal mit welchem Lesekopf oder Eingang ich es ausprobiere, der Holley wird immer perfekt ausgelesen, der LOGAREX aber nicht.
    Deshalb vermute ich, dass der LOGAREX ein anderes ausgabeformat hat.

    Kann mir dabei jemand helfen, das richtige Ausgabeformat zu finden bzw. hat jemand genau diesen Zähler bei sich am laufen?

    Mit freundlichen Grüßen

  • #37

    ottelo (Samstag, 28 August 2021 15:26)

    @Jürgen. Welche Integration meinst du? Für den edl gibt es doch eine eigene Integration.

  • #36

    Jürgen (Freitag, 27 August 2021 14:47)

    Guten Tag,

    ich habe einen EDL21 direkt über USB am PI hängen, funktioniert hier die Integration?

  • #35

    Dominik R. (Sonntag, 22 August 2021 13:06)

    Vielen Dank für die super Anleitung! Habe es gestern in Betrieb genommen und nach ein paar Fehlern meinerseits (die "Unit of measurement" sollte genau "kWh" betragen und nicht " kWh" - am besten direkt im yaml bearbeiten) klappt es auch hervorragend in HA.

  • #34

    ottelo (Freitag, 20 August 2021 12:30)

    @Daniel
    Evtl hast du hinter dem Stromzählernamen ein Leerzeichen. Ich würde auch „Total Consumption“ in „ „ setzen! Weil du ein Leerzeichen dazwischen hast. Dann kopier mal das ganze Script in eine Textdatei. Es ist nie ratsam direkt aus dem Internet Code zu kopieren, da meistens die Formatierung mit kopiert wird. In der Textdatei wird alles auf Standard formatiert. Da kannst du auch sofort sehen, ob irgendwo ein Leerzeichen ist. Danach das Script zurück in Tasmota kopieren, vorher alles löschen.

  • #33

    Daniel (Freitag, 20 August 2021 12:21)

    Wow, vielen Dank für die super Anleitung.
    Habe nur noch ein kleines Problem:

    Bei mir scheint es einen ungültigen Charakter nach dem Name des Stromzählers zu geben.

    DWS7420 � Total Consumed: 11337.408 KWh
    DWS7420 � Current Consumption: 3614 W

    Das Skript schaut so aus:
    >D
    >B
    =>sensor53 r
    >M 1
    +1,3,s,0,9600,DWS7420
    1,77070100010800ff@1000,Total Consumed,KWh,Total_in,3
    1,77070100100700ff@1,Current Consumption,W,Power_cur,0
    #

    Hast du eine Idee, an was das liegen könnte?

  • #32

    Siegmar (Freitag, 20 August 2021 08:46)

    @ottelo - Super! Vielen Dank für den Schaltplan. :-)

  • #31

    ottelo (Donnerstag, 19 August 2021 21:54)

    @Siegmar
    Ich habe oben einen Schaltplan hinzugefügt. Ich hoffe der hilft dir weiter.

  • #30

    Siegmar (Donnerstag, 19 August 2021 18:47)

    Hallo Zusammen, die Anleitung ist echt prima. Aber es wäre super, wenn jemand kurz die genaue Verkabelung zwischen dem Lesekopf und der ESP-Platine erläutern könnte.
    Habe heute alle Komponenten bestellt und möchte nach Lieferung direkt loslegen.
    Danke für eine kurze Dummies Anleitung dazu :-)

  • #29

    Christian (Samstag, 14 August 2021 00:24)

    Hallo ottelo,
    Danke für die gute Dokumentation und das Image!
    Hat auf Anhieb funktioniert mit Lolin esp8266 und IR-Lesekopf von Hicham Belmadani von ebay.

  • #28

    TAZ (Samstag, 24 Juli 2021 11:08)

    Hallo Simon,
    bei mir gab es ein ähnliches Problem weiter unten in den Kommentaren. Bei mir lag es daran, dass ich das Strommessgerät noch nicht mit dem Taschenlampen-PIN freigeschaltet hatte.

  • #27

    Simon (Sonntag, 04 Juli 2021 08:51)

    Ich habe Deine Tasmota 9.3.1 (12.04.2021) genutzt. Leider werden bei den mqtt Nachrichten am Schluss immer 1 schließende Klammer zu wenig gesendet:

    08:50:50.848 MQT: tele/tasmota_6910FA/SENSOR = {"Time":"2021-07-04T08:50:50","MT175":{"Total_in":966.0,"Total_out":17}

    Am Schluss fehlt eine }. Wie kann ich das Problem beheben?

  • #26

    GW (Dienstag, 18 Mai 2021 19:34)

    Guten Tag,
    ich habe bei der Umsetzung auf meine Verhältnisse ein kleines Problem.
    Ich nutze ioBroker und MQTT, IR TTL Sensor und den ESP 8266, Darauf habe ich Tasmota 9.3.1 drauf gefleht und mein Stromzähler ist der Logarex LK13BE.
    Ich bekomme auf dem ESP Daten im Sekundentakt(Gesamt(KWh) und aktuell(W). Im ioBroker_MQTT wird nur der aktuelle Wert im Sekundentakt aktualisiert und der Gesamtwert ist nicht aufgeführt.
    aktuelle Wert: MQTT=tele/tasmota_0212C2/Sensor/{"Time":"2021-05-18T18:30:49","LK13BE":{"current":-407.0000}}.
    Beide Werte sind im:
    MQTT: Tasmota/discovery/10521C0212C2/Sensor/{"sn":{"Time":"2021-05-18T17:43:38","LK13BE":{"total":7985.5769,"current":-996.0000}},"ver":1}.
    Das Problem ist nur, diese Werte werden nur bei einem Restart aktualisieret.
    Ich hoffe es kann mir jemand helfen und ich komme weiter mit der Auswertung der Daten.
    Danke

  • #25

    TAZ (Samstag, 15 Mai 2021 00:32)

    Also ich habe alles mittlerweile eingerichtet.
    Ich habe 2 Zähler im Keller: Einen für Hausstrom und einen für Wärmepumpe.
    Ich brauche noch die Taschenlampen-PINs und habe dann beide freigeschaltet und lese diese nun mit einem ESP aus (hausstrom an TX-PIN und WP an GPIO0). Das Script das hier, falls es jemandem hilft:

    >D
    >B
    =>sensor53 r
    >M 2
    +1,3,s,16,9600,Strom
    1,77070100010800ff@1000,Verbrauch,KWh,Total_in,1
    1,77070100100700ff@1,Leistung,W,Power_curr,1

    +2,0,s,16,9600,WP
    2,77070100010800ff@1000,Verbrauch,KWh,Total_in,1
    2,77070100100700ff@1,Leistung,W,Power_curr,1
    #

  • #24

    ottelo (Mittwoch, 05 Mai 2021 09:43)

    @TAZ

    Bei mir in der Console wird folgendes ausgegeben:
    08:38:12 MQT: tele/MT175/SENSOR = {"Time":"2021-05-05T08:38:12","MT175":{"Total_in":5675,"Power_curr":544}}

    Deine Werte werden halt mit Komma (.) übertragen. Hast du denn "10) Main Menu -> Console:" laut meiner Anleitung befolgt? MQTT Auto Discovery muss zwingend aktiv sein. Sonst passiert da nix in HA! Auch in der MQTT Integration unter System options muss "Enable newly added entities." aktiviert sein! Dann geht es auch.

    @EDL21
    Ich habe oben über der Beschreibung eine kleine Erklärung zu EDL hinzugefügt.

  • #23

    TAZ (Dienstag, 04 Mai 2021 21:28)

    Danke für die Hinweise.
    Habe noch ein wenig mit dem Script herumgespielt und es liegt vermutlich daran, dass mein Gerät nur den Verbrauchsstand sendet (PIN noch nicht aktiviert). Wenn ich also nur einen Wert im Script abfrage, funktioniert es.
    Ich werde für die aktuelle Leistung als Wert wohl auf die Antwort der Stadtwerke für meinen Taschenlampen-PIN warten müssen.

    Aber mal eine andere Frage: Man kann doch sicher den ESP überspringen und das Signal direkt an einen der Pins vom RPi dranhängen und vom RPi (bzw. HA, da ich HASS.OS drauf hab) auswerten lassen, oder?
    Habe gesehen, dass HA die Integration EDL21 hat, aber, da würde als Input USB erwartet und ich habe im Endeffekt ja nur einen GPIO???

    VG

  • #22

    ottelo (Dienstag, 04 Mai 2021 12:47)

    @TAZ
    Versuch mal folgendes. Unter Integrations findest du ja den MQTT Broker. Dort auf Configure klicken und unten bei Listen to a topic dies hier eingeben:

    tele/MT691/SENSOR

  • #21

    ottelo (Dienstag, 04 Mai 2021 12:44)

    @TAZ
    Du musst nur die Punkte 11-15 befolgen, dann tauchen die Entities automatisch unter MQTT Broker -> MT175 -> Entities (siehe neue Bilder die ich hinzugefügt habe) auf! Du musst nichts manuell irgendwo eintragen.

  • #20

    TAZ (Dienstag, 04 Mai 2021 10:51)

    Hallo ottelo,
    vielen Dank für deine Anleitung. Diese hat mir sehr weitergeholfen. Ich betreibe HA auf Raspberry Pi und habe dein image 9.3.1 genutzt auf einen ESP-01. Da ich noch auf den "Taschenlampen-PIN" warte, kann ich nur den Gesamt-Verbrauch ablesen und dieser wird in der Tasmota GUI angezeigt.
    Allerdings bekomme ich diesen Wert nicht über MQTT in HA ausgelesen.
    In der Console sehe ich folgende Message: tele/MT691/SENSOR = {"Time":"2021-05-04T09:47:07","MT681":{"Total_in":4919.000,"Total_out":0.000}
    1. Es scheint eine "Klammer zu" zu fehlen, kann das sein? (ich bin leider kein Programmierer) (im übrigen fehlt auch die Klammer, wenn ich oben dein Script nehme)
    2. Ich habe in HA config versucht die Message wie folgt zu entschlüsseln (nach Beispiel unten von Tiemo Post #1 ):
    sensor:

    - platform: mqtt
    name: "Stromverbrauch Gesamt"
    state_topic: "tele/MT691/SENSOR"
    #Die Nachricht sieht wie folgt aus: {"Time":"2021-05-03T22:40:18","MT691":{"Total_in":4915.0}
    value_template: '{{ value_json["MT691"]["Total_in"] }}'
    unit_of_measurement: kWh
    device_class: energy

    Aber es wird mir kein Wert angezeigt, wenn ich diesen Sensor auf Lovelace versuche anzuzeigen.

    Irgendwelche Ideen woran es liegt?
    Vielen Dank im Voraus

  • #19

    Ottelo (Sonntag, 25 April 2021 12:02)

    @Simon
    Weil die RX und TX Pins durch den USB Chip auf meinem D1 mini von Wemos belegt sind. Darüber wird der ESP wird darüber geflashed. Man kann einfach irgendein GPIO verwenden. Die 1N8 serielle Schnittstelle wird dann in Software umgesetzt. Steht auch auf der Tasmota Seite. Testen kannst du es leider nicht. Du musst schon Verbindung mit dem Zähler haben.

  • #18

    Simon (Sonntag, 25 April 2021 10:39)

    Könntest Du noch etwas mehr zur Verkabelung sagen bzw. diese zeigen?

    Warum wird der GPIO14 genutzt, obwohl doch eigentlich (siehe Quelle) GPIO-03 und -04 für RX und TX stehen?
    Kann man das setup auch testen, ohne am Stromzähler direkt zu sein? Würde gerne testen, ob das setup mit der Verkabelung an sich funktioniert, im Keller ist alles eng und stickig.

    Danke!



    https://esp8266-shop.com/esp8266-guide/esp8266-nodemcu-pinout/

  • #17

    Christian (Freitag, 16 April 2021 23:30)

    Hi,
    ganz großes Dankeschön für den super guten Beitrag und die Tasmota Images. Hat mir viel Arbeit gespart und es hat super funktioniert. Auch die kurze Erklärung zum Script ist super hilfreich. Konnte mir easy die Einspeisung mit rein packen.

    Viele Grüße aus Regensburg

  • #16

    ottelo (Montag, 12 April 2021 10:27)

    @Uli
    Das ist komisch. Also normalerweise sollte nach dem Flashen immer ein Tasmota Hotspot erstellt werden! Ich habe eine neue Tasmota Version kompilieren lassen (9.3.1). Bitte mal damit versuchen. Wenn du bereits Tasmota drauf hattest, dann behält er die Einstellungen im Speicher (Flash) ! D.h. die Wifi Einstellungen behält er.

  • #15

    Uli (Freitag, 09 April 2021 14:32)

    Vielen Dank für die gute Anleitung! Mit der alten Tasmota-Variante klappt alles hervorragend. Nur brauche ich mehr als zwei Auslesewerte. Daher habe ich dann die neue Version ausprobiert. Diese kann ich zwar auf den ESP flashen, dann gibt es aber keinen Hotspot, um das Netzwerk einzurichten. Gibt es da noch eine andere Vorgehensweise?

  • #14

    Hans (Samstag, 27 März 2021 08:51)

    Dankeschön für die tolle Anleitung. Habe vorher tagelang erfolglos gebrasselt. Jetzt geht’s!

  • #13

    ottelo (Freitag, 26 März 2021 19:06)

    @Michael
    So steht es aber auch in meiner Anleitung ;)