D0 Zähler SML auslesen mit Tasmota

  • Hallo


    ich habe auch den Lesekopf von Hichi und bekomme am D1 Mini überhaupt keine Anzeige in der Konsole.

    Kann ich den Lesekopf irgendwie testen ?

    Ich habe es mal mit einer Fernbedienung probiert, da sollte doch auch was angezeigt werden ?

    Muss ich in den Einstellungen bei den GPIOs noch was machen , da steht aktuell alles auf None ?


    Viele Grüße

    Josef

  • Hi Josef,


    Um den Lesekopf zu testen kannst du auch einen einfachen Arduino Sketch schreiben.


    ZB so:


    RX vom Lesekopf an D6

    TX vom Lesekopf an D5

    GND an GND

    VCC an 3,3V


    Der Sketch sendet einmal pro Sekunde ein Hallo mit 9600 baud. du solltest also die Sende Diode immer kurz flackern sehen.

    Wenn du den Lesekopf über eine reflektierene Fläche hälst, empfängt er sein eigenes Hallo und gibt es dir im seriellen Monitor mit 115200 baud aus.


    Wenn du einen Stromzähler hast der von sich aus sendet, mach das Lesekopf.print("Hallo "); und das delay(1000); raus.

    Dann solltest du im seriellen Monitor sehen was dein Zähler ausgibt.


    Solltest du einen Zähler haben der eine initialisierung benötig, müsstet du ihn mit Lesekopf.print() erst ansprechen und dann auf die Antwort warten.



    lg

    Hichi

  • Hallo,

    inzwischen habe ich mein Skript für den eBz um eine zweiten Zähler erweitert (Wärmepumpe und Haushaltsstrom). Das Auslesen funktioniert ohne Probleme. Leider werden mir bei der Übertragung per MQTT an ioBorker (Sonoff - MQTT Modul) nur die Daten des Wärmepumpenzählers (zweites Modul am Pin 15) angezeigt.

    Kann mir jemand helfen? Muss ich etwas im Skript anpassen? Gibt es eine Einstellung bei MQTT um den zweiten Zähler hinzuzufügen (Pin 3)?


    Hier mein Skript:

    Bereits vielen Dank!


    P. S.: Sobald das alles läuft, werde ich versuchen den erweiterten Modus des eBz freizuschalten und tiefergehenden Daten auszulesen (Nachkommastellen, 24h Verbrauch,...) .

  • eigentlich solltest du jedem Zähler eine eigene MQTT Kennung geben:


    Statt:

    +1,3,o,0,9600,OBIS

    +2,15,o,0,9600,OBIS


    z.B.

    +1,3,o,0,9600,O_HT

    +2,15,o,0,9600,O_WP


    dann kannst du in den einzelnen Meter Beschreibungen jeweils denselben Namen vergeben, also bei beiden z.B. Total_in

  • wer wie ich evtl auch Probleme beim flashen hat, mir hat das hier wunderbar geholfen

    https://ottelo.jimdofree.com/iskra-stromz%C3%A4hler-und-ha/


    mit tasmocompile online die bin erstellen und mit tasmotizer dann flashen

    nach 4 Stunden rumprobieren mit Arduino IDE und PlatformIO wollte ich schon fast aufgeben


    Danke hier nochmal in die Runde, das fertige Skript für unseren Iskra681 konnte ich hier finden,

    warte jetzt nur noch auf den Lesekopf.


    achja, ein Rechner hatte trotz passendem Serial Port und Admin Ausführung von tasmotizer Zugriffsprobleme.

    Auf einem anderen Rechner mit gleicher konfig (nur anderer Serial) ging es problemlos, falls da noch jemand drüber stolpert :)


    Gruss von der Mosel

    Stefan

  • Vielen Dank für eure Hilfe!


    Hier nochmal die final von mir verwendeten Skripte für den eBz DD3 (OBIS).


    Die Skripte sind jeweils für zwei Stromzähler (Haushalt und Wärmepumpe).



    Einfaches Skript:


    Erweitertes Skript (der Stromzähler muss hierfür per PIN vom Betreiber freigeschaltet werden):

    MfG

  • Zitat

    Calculate difference between metric values decoded at time intervals (up to 10 =d lines possible)

    e.g. 1,=d 3 10 calculate 10 second interval difference of decoder entry 3

    Hat jemand ein funtionierendes Beispiel für das "Special Command: M,=d ..." mit einem OBIS Smartmeter?


    Mit der folgenden Definition erhalte ich für dPi und dPo zwar + und - Differenzwert, die aber wenig Sinn ergeben:

    Code
    >M 1
    +1,3,o,0,115200,z
    1,0-0:1.0.0(@#),Zeit,S,TS,16
    1,1-0:1.7.0(@0.001,Pin,W,Pi,16
    1,1-0:2.7.0(@0.001,Pout,W,Po,16
    ...
    1,=h_delta Power
    1,=d 2 1 @0,dPi,W,dPi,16
    1,=d 3 1 @0,dPo,W,dPo,16
    #

    Das ELSTER Smartmeter liefert die Daten mit 0,5 Hz via DSMR. Die angezeigten dPi und dPo Werte sind meistens 8 oder mehr Ziffern lang. Dies ist nicht wirklich plausibel. Ist da etwas falsch?

  • Pumo Roadrunner


    Hallo ich habe einen eBZ DD3 Stromzähler und wollte mit einem ESP8266 mit Tasmota auslesen. Ein Volkszähler habe ich bereits gekauft, nur ich komme nicht weiter habe das ganze Wocheende damit verbracht aber komme zu keinem Ergebnis.


    Ich verstehe nicht so recht was ich ändern muss in den Datein, wenn ich kompelieren will.


    Ich habe folgendes hier im Forum für meinen StromZähler gefunden aber das geht auch nicht. Da fehlt noch etwas nur ich weiß nicht genau was.

    Hier noch mal meine Änderungen an der xsns_95_sml.ino (nur die Stellen, die ich eingefügt habe).



  • So funktioniert das nicht mehr. xsns_95_sml.ino gibt es auch garnicht mehr.

    Schau mal hier vorbei: HowTo

  • So funktioniert das nicht mehr. xsns_95_sml.ino gibt es auch garnicht mehr.

    Schau mal hier vorbei: HowTo

    Ah danke mit der Anleitung habe ich bereits gearbeitet aber in einer älteren Version aus dem Jahr 2020. Diese ist etwas verständlicher erklärt.


    Hier ist doch noch die xsns_95_sml.ino drin, aber damit muss ich nicht arbeiten? Ich muss nur in Tasmota unter Einstellungen Script die passenden DInge eintragen und dann müsste es gehen Richtig?

  • Hier ist doch noch die xsns_95_sml.ino drin

    Nein, ist sie nicht.


    Eigentlich steht alles in dem Howto.

    Eine Firmware mit use_Script und use_sml_m kompilieren und dann geht es über Menüeintrag Script in Tasmota selbst weiter. Aber alle Infos sind wie schon zuvor 20x auf den letzten paar Seiten hier diskutiert worden.

    Also, noch einmal genau das Howto anschauen.

  • Hallo, ich habe mir jetzt auch Tasmota für mein SML-Smartmeter eingerichtet. Läuft soweit gut, dass ich total und current consumption habe.

    Das Skript sieht dabei aus wie folgt:

    Code
    >D
    >B
    =>sensor53 r
    >M 1
    +1,3,s,0,9600,SML,1,10,2F3F210D0A
    1,77070100010800ff@1000,Total consumption,KWh,Total_in,4
    1,77070100020800ff@1000,Total Feed,KWh,Total_out,4
    1,77070100100700ff@1,Current consumption,W,Power_curr,0
    1,77070100000009ff@#,Meter Nr,,Meter_number,0
    #

    Kann ich über SML auch den Monats. und Jahresverbrauch auslesen? Habe was zu OBIS gefunden, aber bin bei SML bisher gescheitert. Habt ihr eine Idee?

    Danke.

  • fapo

    du kannst in der Konsole mit "Sensor d1" angucken was dein zähler so alles rausgibt. Wenn er das tut sollte es einfach eine zeile mehr im code sein. Falls nicht musst du dir was basteln (z.b. Volkszähler)

  • Servus,


    ich bin auch gerade an dem Thema dran.

    und bekomme diverse Informationen von dem Zähler, aber nicht die Momentan Leistung.

    Ich habe mit einen Volkszähler gebaut der an TX/RX hängt.

    Der Code von #1.533 Funktioniert, nur ich sehe keine Momentan Leistung.


    Sensor d1“ liefert bei mir den selben Fehler.

  • Der Befehl in der Webconsole ist "sensor53 d1" für den ersten deklarierten Zähler im Script. Für den zweiten wäre es "sensor53 d2" usw. Um die RAW - Ausgabe wieder zu stoppen: "sensor53 d0" eingeben.

    Der Ansatz, sich erst einmal die Rohdaten anzuschauen ist gut.

    Die ausgegebenen Daten beginnen meistens mit: 77 07 01

    Hier wird es ein wenig aufgeschlüsselt: https://wiki.volkszaehler.org/software/sml

    Und auch hier findet man einiges zum Thema SML: http://www.stefan-weigert.de/php_loader/sml.php


    fapo Unter Umständen musst du dir den Monats und Jahresverbrauch selbst ausrechnen. Dafür gibt es Beispiele in den Dokumentationen.

  • Habe bei mir erfolgreich einrichten können den Stromzähler sowie den Gaszähler auszulesen/mit zu zählen.


    Ich hätte noch eine Frage zu em Script.

    Wie kann ich dort den Zählerstand vom Jahresanfang angeben?
    Und wenn ich bei "VerbrauchL1,L2 und L3" keine Werte bekomme, kann das dann mein Zähler nicht?

    sieht bei mir so aus.

    Einmal editiert, zuletzt von bishop () aus folgendem Grund: wie kann ich dort den Jahresverbrauch angeben? Und wenn ich bei "VerbrauchL1,L2 und L3" keine Werte bekomme, kann das dann mein Zähler nicht?

  • bishop

    Zu der Frage, was dein Zähler kann oder nicht, siehe: RE: D0 Zähler SML auslesen mit Tasmota

    ;)

    Also Datenauslesen und schauen was er liefert. Oder die Bedienungsanleitung des Zählers studieren.


    Werte können wie folgt gesetzt werden:

    In der Console:

    script>VARIABLE=WERT;svars

    in deinem Falle wohl:

    script>sya=12323;svars


    svars bedeutet: save variablen


    Den Wert des Gaszählers setzt du via:

    sensor53 c1 WERT


    c1 beutet erster counter

    hättest du noch einen weiteren Zähler wäre es c2 etc...


    Weiterhin Frohes Ostern ;)

  • Ich habe Folgendes Script bei mir.

    Nur wird bei mir bei Tagesverbrauch und Tageseinspeisung immer nur 0 angezeigt. Ist das Script veraltet oder habe ich was beim compilieren falsch gemacht?


    Edit Fehler gefunden hinter

    Code
    +1,3,s,0,9600,SML 

    sind leer zeichen und das sorgt für den fehler