D0 Zähler SML auslesen mit Tasmota

  • Hallo Sturmkopf,


    hast du schon einmal probiert das zweite Beispiel von hier zu nehmen?


    Danke für den Tip:

    Das klingt nach einer guten Möglichkeit das Symptom zu vermeiden. Funktioniert aber leider nicht.


    Nun werde nur noch 0-Werte gesendet und auch nur noch Nullen auf der html-Seite angezeigt. Es wird weiterhin jeweils nach 66 Minuten ein Reset durchgeführt.


    Im Beispiel ist auch noch ein >R Block mit aufgeführt, der hilft aber auch nicht.

  • Hey,


    ich habe jetzt den Abend dran gesessen und keine Lösung dafür gefunden.

    Auch bei mir kommen nach einem Neustart 0 Werte, wobei mein ESP 1A durchläuft und es bei mir nicht so schlimm ist wie bei dir.


    Ich sowohl smlj=0 als auch tper=0 ausprobiert. Bei beidem scheint erst eine Nachricht verschickt werden zu müssen, bevor die Werte vom Sensor übernommen werden. Echt nervig.

    Als nächstes werde ich versuchen die ganzen Variablen abzufangen und manuell über MQTT zu senden, dann kann ich wenigstens vorher auf 0 checken.

    Ich stell den Code hier rein, falls ich es hinbekomme.

  • Hey,


    ich habe jetzt den Abend dran gesessen und keine Lösung dafür gefunden.

    Auch bei mir kommen nach einem Neustart 0 Werte, wobei mein ESP 1A durchläuft und es bei mir nicht so schlimm ist wie bei dir.


    Moin, die Problematik ist wohl genereller Natur. Auch ohne Script resettet sich der nunmehr dritte ESP. Alle tragen unerschiedliche Aufschriften. Vielleicht läuft hier was beim Kompilieren falsch bzw. ich habe irgendwas übersehen.


    user_config_override.h sieht so aus (alle Kommentare gelöscht)

  • Moin, die Problematik ist wohl genereller Natur. Auch ohne Script resettet sich der nunmehr dritte ESP. Alle tragen unerschiedliche Aufschriften. Vielleicht läuft hier was beim Kompilieren falsch bzw. ich habe irgendwas übersehen.


    user_config_override.h sieht so aus (alle Kommentare gelöscht)

    Nutzt du auch Tasmota 9.5?

    Meine user_config_override.h sieht folgendermaßen aus:


    Vielleicht hilft es ja. :)

  • Nutzt du auch Tasmota 9.5?

    Meine user_config_override.h sieht folgendermaßen aus:


    Vielleicht hilft es ja. :)

    nur zur Info:


    unbedingt neueste dev Version verwenden. Nach 9.5 gab es auch in SML wichtige Fehlerkorrekturen.

  • Moin, die Problematik ist wohl genereller Natur. Auch ohne Script resettet sich der nunmehr dritte ESP. Alle tragen unerschiedliche Aufschriften. Vielleicht läuft hier was beim Kompilieren falsch bzw. ich habe irgendwas übersehen.

    Mein Problem ist mittlerweile gelöst.

    Ich habe noch verschiedene Firmwarestände ausprobiert und auch wie hier beschrieben die Settings gelöscht alles jedoch ohne Erfolg.


    Eine Zwangspause hat dazu geführt, dass ich den Wemos nicht nach dem Programmieren sofort wieder in den Versuchsaufbau im Zählerschrank gesteckt habe sondern noch einige Stunden am Rechner ließ. Dabei trat der Fehler erst einmal nicht mehr auf. Im Zählerschrank wurde dann wieder nach genau 66 Minuten ein Reset ausgelöst. Jetzt lag es nahe an der Elektrik im Zählerschrank zu suchen, das Problem wurde aber durch den Versuchsaufbau produziert.


    Die Stromversorgung wurde versuchsweise durch eine 10000mAh-Powerbank realisiert. Diese Powerbank verursacht reproduzierbar auch außerhalb des Schrankes jeweils nach 66 Minuten einen Spannungseinbruch, der den ESP resettet. Eine andere Powerbank produziert den Fehler nicht mehr. Thema erledigt. Jetzt kommt noch eine Steckdose mit Netzteil oder eine Stromversorgung via Hutschienenklingeltrafo und alles ist gut. Nächstes Thema: Gaszähler.

    Danke für die Anregungen

  • Sehr cool, Glückwunsch!


    Falls trotzdem an einem Skript zur Beseitigung von Null Werten besteht, bei denen tper und smlj nicht weiterhelfen, hier jetzt eine Lösung (Verunstaltung):

    Die falschen Werte (mit Null) kommen dann auf tele/tasmota_E05A52/SENSOR , die bereinigten Werte auf stat/Fernwaerme/RESULT.

    Falls jemand Fragen hat, immer her damit.

  • Hi,


    bekommt ihr in Tasmota v10.0.0 Norman

    Code
    USE_SML_SCRIPT_CMD

    kompiliert? Visual Studio (1.60.2) liefert

    Code
    Tasmota-10.0.0/tasmota/xdrv_10_scripter.ino:166:23: error: 'SML_MAX_VARS' was not declared in this scope
     extern uint8_t dvalid[SML_MAX_VARS];
                           ^

    Ist das ein Bug oder habe ich was übersehen? Tasmota 9.5.0 läuft hier sauber durch.

  • Tasmota-10.0.0/tasmota/xdrv_10_scripter.ino:166:23: error: 'SML_MAX_VARS' was not declared in this scope extern uint8_t dvalid[SML_MAX_VARS]; ^

    Ich habe es noch nicht probiert, aber die Fehlermeldung spricht doch für sich:


    SML_MAX_VARS ist nicht deklariert.


    Bei meiner 9.5.0 geschieht das in user_config_override.h

    #define SML_MAX_VARS 20

    je nach Anzahl der Zeilen.

    Sollte das in der Datei schon stehen weiß ich auch erst mal nix.

  • Hi,


    ich hatte Gerhard bereits via PN einen Hinweis hinterlassen. Seine Antwort war mit deiner identisch, führte bei mir jedoch nicht zum Erfolg. Ich habe soeben seinen Sonoff-Tasmota-universal ausgecheckt und der kompiliert wieder wunderbar. Danke für deine Antwort.

    Gerhard

    Vielen Dank für deine Leistung und support. Beides ist von unschätzbarem Wert.


  • Hallo


    jetzt habe ich auch ein Problem:


    Wollte mal eine Firmware neu kompilieren jeweils mit der 9.5.0.9 und auch mit der aktuellsten 10.0.0.1 bekomme ich beim starten diese Fehlermeldung:


    Die Firmware mit 9.4.0.3 lief noch einwandfrei durch.



    hat schon mal jemand gehabt?

  • Hallo,


    ich bin gerade dabei mir einen Wemos D1 Mini Pro für einen Stromzähler mit SML und einen Gaszähler mit Reedkontakt vorzubereiten.

    Die Konfiguration für SML ist ja in der Smart Meter Interface Dokumentation schön erklärt.

    Allerdings der Counter für den Reedkontakt nicht. Die Meter Definition für Counter ist noch erklärt, habe ich jetzt erstmal so:

    Code
    +2,13,c,1,-1000,Counter

    Nur wie muss Meter Metrics ausschauen?? <M>,<decoder>@<scale>,<label>,<UoM>,<var>,<precision>

    Also speziell der <decoder>. Dort ist nichts mehr beschrieben.

    Ich bin hier im Beitrag auf ältere Beschreibungen gestoßen, aber dort schaut die Definition anscheinend noch anders aus.


    Vielen Dank,

    Daniel

  • Hallo Daniel_B,


    meinst du dann dies?


    >M 3

    +1,5,c,0,-15,H2O

    +2,4,c,0,-25,GAS

    +3,22,s,0,9600,SML


    1,=h====

    1,1-0:1.8.0*255(@1000,Zählerstand,m³,Total_In,3

    2,=h====

    2,1-0:1.8.0*255(@100,Zählerstand,m³,Total_In,2

    3,=h====

    3,77070100010800ff@1000,Zählerstand,KWh,Total_In,3

    3,=h====

  • Ja genau, das wars, vielen Dank!


    Der Syntax 1-0:1.8.0*255( ist für einen Counter nirgends beschrieben.

    Das ist ja die OBIS-Kennzahl für "Zählerstand Bezug". Da wäre ich nie drauf gekommen die bei einem Reed-Kontakt anzugeben.

  • Hallo Daniel_B,


    Zitat

    Der Syntax 1-0:1.8.0*255( ist für einen Counter nirgends beschrieben.

    das ist so nicht korrekt.


    in z.B. #747 ist eine .pdf Datei dabei, in der dies auch schon erklärt wurde.

    Auch sunburstc hat eine Datei erstellt die schon mehrfach hier erwähnt und zum Download empfohlen wurde, auch darin sollte es beschrieben sein.

    Aber ich will nicht wie ein Schullehrer schreiben, brauche selbst noch immer sehr viel Hilfe.

  • Danke für den Hinweis mit der PDF! Die hatte ich in einem 84 Seiten umfassenden Thema in einem 2 Jahre alten Beitrag nun wirklich nicht gefunden.

    Die bringt mich in optischer Gestaltung des Webinterfaces weiter. Aber genau der Syntax zum Counter ist dort auch nicht beschrieben.

    Aber egal, läuft ja jetzt.