D0 Zähler SML auslesen mit Tasmota


  • du brauchst normalerweise keine Zähler mehr zu definieren mit #define aber der ED300L benötigt ja einen Workaround wegen des Firmwarefehlers. der darf für andere Zähler nicht aktiv sein

  • Bräuchte auch einmal Hilfe beim Scripten ;)


    Folgendermaßen sieht mein Scriptteil momentan für den Gas- und Wasserzähler aus:

    Code
    +1,1,c,0,10,H20  
    +2,13,c,0,50,GAS  
     
    1,1-0:1.8.0*255(@10000,Wasserzähler,cbm,Count,4  
    2,=h==================  
    2,1-0:1.8.0*255(@100,Gaszähler,cbm,Count,3

    Nun würde ich aber gerne jeweils für den Gas- und den Wasserzähler eine Variable haben ( sollte beim Neustart und Spannungslosigkeit erhalten bleiben ), die ich mittels Konsole vorbesetzen kann. Sprich man den aktuellen Stand einträgt und der Counter dann weiter zählt. Könnte mir hier jemand dabei helfen und es mir erklären?

  • Bräuchte auch einmal Hilfe beim Scripten ;)


    Folgendermaßen sieht mein Scriptteil momentan für den Gas- und Wasserzähler aus:

    Code
    +1,1,c,0,10,H20  
    +2,13,c,0,50,GAS  
     
    1,1-0:1.8.0*255(@10000,Wasserzähler,cbm,Count,4  
    2,=h==================  
    2,1-0:1.8.0*255(@100,Gaszähler,cbm,Count,3

    Nun würde ich aber gerne jeweils für den Gas- und den Wasserzähler eine Variable haben ( sollte beim Neustart und Spannungslosigkeit erhalten bleiben ), die ich mittels Konsole vorbesetzen kann. Sprich man den aktuellen Stand einträgt und der Counter dann weiter zählt. Könnte mir hier jemand dabei helfen und es mir erklären?

    Es ist bereits eine Variable.

    Via Konsole folgenden Befehl nutzen:


    sensor53 c1 ZAHLENWERT

    c1 steht für erster Counter. Be idir ist das H2O

  • Es ist bereits eine Variable.

    Via Konsole folgenden Befehl nutzen:


    sensor53 c1 ZAHLENWERT

    c1 steht für erster Counter. Be idir ist das H2O

    Danke dir. Manchmal liegt es eigentlich auf der Hand.


    Noch eine Frage, kann man die Rohdaten auch per Wlan abholen lassen? Es gibt ja im ioBroker den Smart-Meter Adapter, der die Rohdaten verarbeiten kann. Bei ESP-Easy geht das über ser2net. Sowas müsste es doch auch für Tasmota geben?


    Beziehungsweise bekomme ich es irgendwie nicht hin, dass ich den GAS Zähler zum Beispiel auf 5480,24 setzen kann und dann mit 0,01 Schritten gezählt wird.

  • Danke dir. Manchmal liegt es eigentlich auf der Hand.


    Noch eine Frage, kann man die Rohdaten auch per Wlan abholen lassen? Es gibt ja im ioBroker den Smart-Meter Adapter, der die Rohdaten verarbeiten kann. Bei ESP-Easy geht das über ser2net. Sowas müsste es doch auch für Tasmota geben?


    Beziehungsweise bekomme ich es irgendwie nicht hin, dass ich den GAS Zähler zum Beispiel auf 5480,24 setzen kann und dann mit 0,01 Schritten gezählt wird.

    Das ist auch alles sehr gut in der offiziellen Tasmota Doku beschrieben. Und findet sich vmtl. auch in dem Howto welches von mir hier schon einige male gepostet wurde. Es lohnt sich danach zu suchen.

    Empfangen lässt sich der Kram via Sonoff Adapter in iobroker. Dort in den Einstellungen des Adapters ein Häkchen bei allen 3 unteren Optionen machen.

    In deinem Tasmota -Gerät MQTT einstellen. Server Adresse deines iobroker devices, Namen vergeben.. etc.

    Dann sollten die Werte zu jeder Teleperiode (default 300s) übertragen werden.

    Die Teleperiode kann via Konsolen Befehl: teleperiod ZAHLENWERT

    eingestellt werden. Der kleinste Wert ist 10s.

    Bzgl. der Werte des jeweiligen Zählers. Auch hierzu gibt es infos in den beiden oben genannten Quellen.

    Es lohnt sich mit den beiden rot markierten Stellen zu spielen und auch mal den Wert ohne Komma vordefinieren.


    1,1-0:1.8.0*255(@10000,Wasserzähler,cbm,Count,4


    Hier ist ausprobieren gefragt. Ich selbst gebe keine Kommastelle ein und nutze das 1000er Trennzeichen als Komma-angabe.

    Das grünmarkierte Wort stellt den via MQTT übertragenen Datenpunkt dar. Das heißt du wirst mit deiner aktuellen Einstellung zwei Werte mit dem Namen "Count" in iobroker erhalten. Das ergibt keinen Sinn. Also benenne sie entsprechend um. Bitte keine Leerzeichen verwenden. Auch diese Info findet man in den Dokus.


    Grüße.


  • Hallo in die Runde, ich bin momentan bißchen am verzweifeln.

    Vielleicht kann mir jemand Licht ins Dunkle bringen.

    Ich habe 2 Zähler, einen Holley DTZ541 der mit SML funktioniert, und einen Logarex LK13BE der mit Obis funktioniert.

    Mein Lesekopf hängt an einem Wemos D1 mini mit Tasmota geflasht. Vom Holley klappt das auslesen.

    Der Logarex hingegen sendet nur irgend welche komischen Schriften. Bin die ganze Woche schon am probieren, habe alles schon 5mal rauf und runter durch probiert. Komme aber nicht weiter.

  • Kann ich nichts zu sagen. Es sind auch zu wenig infos.

    Aber wie gesagt, ich würde es komplett ohne Komma Angabe eingeben.

  • Kann ich nichts zu sagen. Es sind auch zu wenig infos.

    Aber wie gesagt, ich würde es komplett ohne Komma Angabe eingeben.

    Von welchem Komma reden Sie?

  • Von welchem Komma reden Sie?

    Ah sorry, hatte was verwechselt! PN

  • Hallo zusammen,


    ich versuche mich seit fast einem Jahr an meinem Fernwärmezähler von Landis+Gyr mit der Modellbezeichnung Ultraheat T550.

    Mittlerweile habe ich mit dem IR Lesekopf von Hichi es geschafft Kontakt mit dem Zähler aufzunehmen.

    Durch den Wechsel der Baudrate war es echt nicht leicht, umso größer war die Freude, als die ersten Werte kamen. Vielen Dank an meierchen006 für die tolle Anleitung.

    Den einzigen Hinweis, den ich nicht in der Anleitung gefunden habe war der, dass das Tasmota Skript ab einer bestimmten Zeilenlänge kappt. Der Fehler hat mich viele Nerven gekostet, da mein Zähler 40 NUL Zeichen benötigt und ich die in eine Zeile gepackt habe.


    Hier mein Skript:


    Das Skript funktioniert gut, bis auf die erste Zeile:


    Leider werden die Einträge 6.8, 6.26 und 9.21 verschluckt, mit dem Skript von Sedelmaier bekomme ich die Einträge angezeigt.


    Hat jemand einen Vorschlag, wie ich die drei ersten OBIS Einträge auch eingelesen bekomme? Wäre echt super, da das die wichtigsten sind (Zählerstand in kwh, Zählerstand in m³).


    Vielen Dank für eure Hilfe!


    Update:

    Für das Ändern der Baudrate wird anscheinend 500 Millisekunden benötigt. Ich denke, dass das zu lange dauert.

    Code
    17:00:49.801 "Anfrage wird gesendet"
    17:00:49.804 "Anfrage gesendet"
    17:00:51.308 "Baudrate umgestellt"
    17:00:53.164 : `
    17:00:53.363 : 6.26*01(00145.63*m3)6.8*01(0002540*kWh)
    17:00:53.508 : F(0)9.20(70457688)6.35(60*m)
    17:00:53.857 : 6.6(0007.5*kW)6.6*01(0004.0*kW)6.33(000.312*m3ph)9.4(086.4*C&076.1*C)

    Einmal editiert, zuletzt von Zappdidappdi () aus folgendem Grund: Print Nachrichten vor der Anfrage, nach der Anfrage und nach der Umstellung der Baudrate eingefügt.

  • hi,

    sorry, ich habe noch nicht alles gelesen, bin erst bei seite 39. aber ich glaube, ich habe ein grundlegend anderes problem, da beim kompilieren ein fehler auftritt.

    habe das aktuelle git geklont, habe die user-config agepasst, erhalte aber beim kompilieren folgende fehlermeldung:

    gefolgt von noch ein paar ähnlich gelagerten fehlern, worauf der vorgang dann mit "*** [.pio/build/tasmota/src/tasmota.ino.cpp.o] Error 1" abbricht.


    meine useruser_config_override.h:

    Auch, wenn ich USE_SCRIPT* herausnehme und auch USE_SML_M bleibt der Fehler.

    Irgendeine Idee?


    gruß

    andre


    edit: nachdem ich den vroschlag aus beitrag #788 angewendet habe, hat er kompiliert:

  • Zappdidappdi So vielleicht?



  • sunburstc


    Verstehe ich das richtig, dass du den Filter von 6.8 auf 6.8*01 geändert hast?

    Die *01 Werte sind die Werte seit Jahresbeginn. Theoretisch könnte ich mit einer Regel jährlich die Werte kumulieren, würde aber die Beschleunigung des Baudrate Changes bevorzugen, um wirklich alle Daten verlässlich zu bekommen.

    Vielleicht ist ja auch der ESP einfach zu langsam. :D


    Danke schonmal für deinen Vorschlag!

  • Hallo in die Runde,

    zum Auslesen eines Landis-Gyr E650 / Edis AS1440 Zählers habe ich Tasmota 9.5.0.9 auf ein D1-Mini-Board geschrieben.

    Die Software läuft mit diesem Script:

    und liefert alle derzeit verfügbaren Werte (die Einspeisung ist noch nicht aktiv).

    Die Daten werden per MQTT zu einem Broker gesendet, danach kommt OpenHAB.


    So weit, so gut.

    Allerdings resettet sich der ESP8266 in regelmäßigen Abständen von ungefähr 66 Minuten. Dabei wird jeweils ein MQTT-Datensatz mit 0-Werten versandt. Kennt jemand dieses Problem und wie kann ich die Lösung finden? Den D1-Wemos habe ich schon ersetzt.

    Vielen Dank an das sehr hilfreiche Forum.


    Ausgabe auf der Console:

    ... und wieder von vorn.

  • Hallo Sturmkopf,


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