D0 Zähler SML auslesen mit Tasmota

  • Hallo,


    ich habe diesen Zähler https://wiki.volkszaehler.org/…s/power/edl-ehz/zpa_ze311

    Bisher lese ich den Zähler mit dem fertigen USB Lese-Schreibkopf von volkszaehler aus.

    Hier meine vzlogger Konfig welche seit Jahren funktioniert:


    protocol : d0

    parity: 7E1

    baudrate: 300

    pullseq: 2F3F210D0A

    read_timeout: 10

    baudrate_change_delay: 400

    baudrate_read: 4800

    ackseq: auto


    Nun versuche ich auf einen WemosD1 Mini Pro umzusteigen. Ich nutze die fertige Platine von eBay.

    Verkabelung VCC-3V3, GND-GND, RX-RX, TX-TX


    Mit diesem Script:


    Code
    >D
    >B
    =>sensor53 r
    >M 1
    +1,3,o,0,300,STROM,1,4,2F3F210D0A,063035310D0A
    1,1-0:1.8.0*255(@1,Total consumption,KWh,Total_in,4
    #

    .. kann ich Daten lesen, da kommt sowas an:



    Nach ca. einer Minute sendet der Zähler nicht mehr. Entferne ich den Lese-Schreibkopf kurz vom Zähler und setze den danach wieder drauf, empfange ich wieder Daten.


    Wie kann ich kontinuierlichen Daten lesen?


    Des Weiteren sind da Sonderzeichen im Konsolen Output, was hat es damit auf sich?


    Hat jemand Tips?

  • Weiß jemand, wie ich das Skript für den MT691 anpassen muss?


    Der kommuniziert über SML, steht hier.

    Ich habe bisher das Skript von hier genutzt, das zeigt allerdings nur Gesamtverbrauch und gesamte Einspeisung an, nicht aktuellen Verbraucht (der wird mit 0 angezeigt, im Display des Zählers sehe ich aber den korrekten Wert).


    Besten Dank für Unterstützung!

  • schau doch erstmal via "sensor53 d1" was dein Zähler dir so alles zurückgibt.

    Die Hex - Strings aus dem Descriptor müssen identisch sein zu denen die dir gesendet werden. Wenn dir die entsprechende Kombination nicht gesendet wird, hat es wenig Sinn.

    Ich hoffe du hast das Kommentar aus dem Beispielscript entfernt. Das könnte natürtlich auch zu deinem Fehler führen.


    Weiter unten findest du die meisten SML Strings

    https://www.stefan-weigert.de/php_loader/sml.php

  • Danke für die Infos und den link. Wie schalte ich den dump wieder aus? Der liefert mir:




    Ich kann da nur erkennen, dass sich die eine Zeile wiederholt. Ich werde es bei Gelegenheit mal analysieren, stelle mir das aber schwer vor, wenn man keine Ahnung hat welcher Block für was steht. Und ich hab keine Ahnung, wie sich daraus dann das Skript für Tasmota ergibt.

  • Ich verstehe nicht ganz.

    Im Dump hast du doch alles was der Zähler dir liefert. Du brauchst doch nur die ersten Ziffern kopieren und auf der Website suchen.

    Beispiel aus deinem Dump:

    Code
    77 07 01 00 01 08 00 ff 65 00 1c 01 04 01 62 1e 52 03 63 03 d0 01
    
    also hinteren Teil vor den FF's kopieren und auf der Website suchen.
    
    01 08 00 ff

    Ist Laut Website: Wirkenergie.


    Dein Descriptor muss nun diesen Teil enthalten, damit der Treiber genau diesen Wert wiederfindet.

    Beispielsweise:

    Code
    1,77070100010800ff@1000,Total consumption,KWh,Total_in,4



    Anbei der Link zu einem HowTo, welches ich mal erstellt habe. Es ist nicht mehr ganz aktuell aber dennoch hilfreich.

    https://docs.google.com/docume…Al00xj2g/edit?usp=sharing




    Danke für die Infos und den link. Wie schalte ich den dump wieder aus? Der liefert mir:




    Ich kann da nur erkennen, dass sich die eine Zeile wiederholt. Ich werde es bei Gelegenheit mal analysieren, stelle mir das aber schwer vor, wenn man keine Ahnung hat welcher Block für was steht. Und ich hab keine Ahnung, wie sich daraus dann das Skript für Tasmota ergibt.

  • Hallo an alle,


    erstmal danke an @sunburstc für die Anleitung! Diese hat mir sehr geholfen und alles vertsändlich gemacht :)

    Mein ESP8266 Liest auch Bezug und Einspeisung ohne Probleme aus aber kein Momentanverbrauch :( Der war am interessanten für mich, da mit dem Wert die Automatisierung läuft. Das Problem ist scheinbar, das mein Zähler (Landis & Gyr E320) kein SML Daten mit der Momentanleistung sendet.

    Deswegen wollte ich über einen 2 Input Pin die S0 schnittstelle abfragen (10000 Impulse/kWh). Ist das so einfach möglich? Kann mir wer beim Script helfen?


    Das Nächste problem ist, meine ausgelesenen Daten kommen per mqtt an aber kann sie in home assistant nicht als Entitität benutzen. Bin da ein wenig Ratlos und hilfe wäre echt nett! Danke euch :)

  • Vielen Dank.

    Den Monatsverbrauch kannst du dir direkt im Tasmota errechnen.

    Einfach im Script den Wert am 01. des Monats in eine permanente Variable abspeichern und beim nächsten 01. dann die Differenz zum alten Ergebnis abspeichern.

    In der Tasmota Doku gibt es einige Beispiele für Scripte.

    Bzgl. HASSIO kenne ich mich nicht aus. Nutze iobroker.

  • EDIT:

    Ich habe das ganze Skript von Markus2021 in einem Editor angepasst und dann auf den Wemos eingefügt. Jetzt funktioniert alles. Wenn ich raten müsste, würde ich sagen war irgendwo ein "Freizeichen" oder "tab" versteckt was die Probleme verursacht hat.



    Hi all,


    was soll ich sagen ich brauche mal wieder mal Hilfe. Nachdem ich ein perfektes funktionierendes Setup dank sunburstc hatte, ist mein Netzbetreiber auf die tolle Idee gekommen meinen zwei Jahren alten Stromzähler gegen einen "neuen" zu tauschen.

    Wie soll es auch anders sein ich bin zu doof das Ding richtig zu konfigurieren, damit Werte ausgegeben werden.

    Ich habe mich natürlich schon hier umgesehen und habe diesen tollen Beitrag gefunden D0 Zähler SML auslesen mit Tasmota

    Das ist genau der Zähler den ich jetzt habe EasyMeter Q3A


    Was ich die letzte Woche gemacht habe:

    Neueste Tasmota Version (9.5.0.5) kompiliert mit folgenden Anpassungen:


    Auf den Wemos aufgespielt und das Skript angepasst.



    Mein Skript für meinen ALTEN Zähler sah so aus:

    Code
    >M 1
    +1,12,o,16,4800,LGE350,14

    hat alles einwandfrei funktioniert. Also dachte ich lasse ich die "Verkabelung" wie sie ist und passe nur das Skript an.


    Mein Skript für meinen NEUEN Zähler sah so aus: (ich habe auch Versuchsweise 12 und 14 eingetragen, leider ohne Erfolg)


    Meine "Verkabelung" ist wie folgt:


    Verbindungen Lesekopf <-> Wemos

    3,3V (Braun) -> 3,3V

    GND (Blau) -> GND

    GPIO 14 -> RX (Orange) -> D5

    GPIO 12 -> TX (Gruen) -> D6


    Allerdings erhalte ich gar nichts auf der Konsole. Keine Ausgabe in irgendeiner Form.

    Wo liegt mein Denkfehler? Die Verkabelung und der Lesekopf können es ja nicht sein hat ja beim anderen Zähler auch funktioniert. Sollte ich nicht wenigstens irgendeinen "Datenmüll" erhalten, wenn ich den Lesekopf mit einer Taschenlampe anleuchte?


    Als letzte Info, ich habe den Zähler via PIN "freigeschaltet", aber egal welche diode ich auslesen will (vorne "INFO" oder oben die "ERWEITERTE AUSGABE") es kommen keine Daten.


    Gruß,

    Raffnix

  • Hi,

    Kann der Easymeter Q3A OBIS 2.8.0 ausgeben? Ich habe jetzt in allen Anleitungen gelesen, dass er zumindest auf dem Display 2.8.0 ausgeben sowie den Verbrauch der letzten tage. Da ich ein Balkonkraftwerk habe, wäre es schon gut zu wissen bei bei 2.8.0 steht. Ich habe mir mal einen dump aus Tasmota gezogen aber Verzweifle so ein bisschen.

    Habe ein paar Kommentare reingemacht von Sachen die ich erkannt habe aber bei anderen bin ich mir unsicher.




    Gruß,

    Raffnix

  • Hallo zusammen,


    Leider liefert mir mein OBIS Zähler über den Reader nur den aktuellen Zählerstand.

    Ich würde aber gerne per Skript direkt auf dem Tasmota den Watt Verbrauch errechnen lassen.

    Es müsste doch mit Millia zwischen zwei Zählerwerten gehen, oder?


    Leider schaffe ich es nicht.


    Könnte mir jemand helfen?

  • Hallo zusammen,


    ich habe ein wenig herumkopier von Euch, doch leider stürzt anscheinend das Skript einfach ab.


    Es steht dann bei Zählerstände vom STROMzähler keine Werte mehr und unter Monatsanfang steht dann



  • Ich habe jetzt nochmals den Jahreszähler PV und die ; ausgeklammerten Zeilen gelöscht.


    Jetzt rechnet er den Jahresverbrauch falsch.

  • Habe ein neues Skript geschrieben, jedoch startet es nicht.


    wie kann ich den Fehler suchen


  • Hi,

    EBZ DD3 der eine SML Schnittstelle auf dem Gehäuse hat.

    Kann ich mit ESP8266 und ein phototransistor (BPW 40) + 1k Ohm den auslesen oder brauche ich ein "richtigen" Lesekopf?

    Ziel ist es die Daten per MQTT an meinen Brocker zu schicken (CCU3).


    Software habe ich auch schon fertig und auf den ESP8266 geflasht

    Habe am ESP den GPIO4 verwendt.



    Ich brauche jetzt ja noch ein Script, um die Daten zu lesen?

    Verstehe das nicht ganz mit dem Skripts.

    Muss ich noch was am GPIO einstellen?


    user_config_override.h

  • Hallo zusammen!


    Ich habe meinen funktionierenden Wemos D1mini zum auslesen meines Stromzähler EDL300L mit der DEV-Version von heute neu kompiliert. (9.5.0.8)

    Das hat soweit auch geklappt, aber mit der neuen Tasmota-Version werden von meinem EDL300L keine negativen Leistungswerte mehr angezeigt, also auch bei Einspeisung ins EVU-Netz

    werden positive Werte angezeigt.

    Das Problem hatte ich schon einmal und meinen Aufbau/Script/ausgelesene Rohdaten ausfühlich beschrieben ab


    POST #1171


    An der Hardware habe ich nix verändert und zum kontrollieren aller Einstellungen hat die

    super Anleitung von sunburstc sehr geholfen! Danke dafür!



    gemu2015

    Du hattest damals eine Korrektur für die Sonderbehandlung meiner EDL300L-Version vorgenommen. Kann es sein das die wieder

    rausgeflogen ist beim überarbeiten?


    Grüße

    VC45

  • hast du im user config


    #define ED300L drin ?


    das wird gebraucht um den Fehler zu reparieren

  • Hallo!


    Nee das habe ich nicht in meiner user_config.

    Probiere ich dann.


    gemu2015 Danke!


    Ist das "#define ..." für jeden Zählertyp in der user_config notwendig? Eine Auswahl vom Zähler ist ja in der xsns_53_sml.ino auch nicht mehr nötig.

    Hab ich da wieder was überlesen?


    Grüße!

    VC45