D0 Zähler SML auslesen mit Tasmota

  • jaschkopf


    da bei obis in allen mir bekannten Zählern immer 7e1 verwendet wird habe ich jetzt beim senden von obis auch das parity gesetzt.

    damit kannst du einfach den normalen Hex Kode angeben ohne parity


    zusätzlich habe ich die counter IRQ Entprellung verbessert.


    neue Version auf Github

  • Also meinst du wenn ich die neue Version von Sensor53 von Github nehme müsste es funktionieren wenn ich meinen String "2F3F210D0A" sende und muss die Parität nicht mit dem Calculator manipulieren?


    Gruß Jaschkopf

  • Perfekt. Das werde ich morgen Vormittag gleich mal ausprobieren. Aber ich hab schon von meinem Netzbetreiber erfahren, dass der Zähler den wichtigsten Wert den ich brauche (Momentanverbrauch/Einspeisung) gar nicht ausgeben kann. Also auf kurz oder lang wird es darauf hinaus laufen dass ich mir einen anderen Zähler einbauen lasse 😅😅

  • Hallo Zusammen,


    nachdem ich ne ganze Zeit nicht dabei war und beim Gaszähler einiges Streikt, naja eigentlich streikt bei mir momentan
    sehr viel seit meiner suboptimalen Urlaubrückreise im August.... aber anderes Thema...


    Auf jeden Fall wollte der Gaszähler nicht mehr, daher wollte ich dann dort auch umsteigen vom NodeMCU auf den esp-01 die prima
    bei den Stromzählern laufen.
    Leider funktionierte das garnicht, habe jetzt schon den 3. und sogar einen ganz neuen Probiert, aber sobald der dort angeschlossen
    wird und sei es nur GND, VCC und den PD der auf HIGH muss, glimmt die blaue LED...

    Nun gut, auf anraten zu einem anderen Thema von GEMU und aufholen von fast einem halben Jahr in diesem Thread wollte ich dann doch wieder den MCU mit der UNi7 bespielen und musste leider feststellen, dass ATOM jedes Mal beim Start abschmiert und nicht reagiert.
    So wie ich raugefunden habe liegt es an PlatformIO sobald das deinstalliert ist läuft es, also wird es wohl an der nicht mehr Unterstützung von ATOM liegen... auch eine neu Installation hat nix gebracht.
    Also VSC installiert und schon das nächste Debakel, hier ne Fehlermeldung dort ne Fehlermeldung, Puh, nach 3 Nachmittagen, versuchens etc...
    schreibe ich es nun doch hier auf der Hoffnung es hat jemand eine IDEE, wie ich das zum laufen kriege.


    Momentan hat er beim Kompilieren (ja soweit bin ich tatsächlich schon gekommen) folgende 2 rote Meldungen:
    (Dazwischen kommt noch was...) bis es dann mit FAILED das kompilieren stoppt


    jemand ne Idee?


    Code
    1. C:/Users/Tacker/Documents/Arduino/Sonoff-Tasmota-universal7/sonoff/xsns_53_sml.ino:546:18: error: 'FLT_MAX' was not declared in this scope
    2. *** [.pioenvs\wemosd1-DE\src\sonoff.ino.cpp.o] Error 1
  • puh, ich kapiere es nicht,

    was ist jetzt wieder, man hangelt sich von einem Problem zum anderen....


    Code
    1. Linking .pioenvs\wemosd1-DE\firmware.elf
    2. c:/users/tacker/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: .pioenvs\wemosd1-DE\firmware.elf section `.text1' will not fit in region `iram1_0_seg'
    3. c:/users/tacker/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: .pioenvs\wemosd1-DE\src\sonoff.ino.cpp.o:(.text._Z23HandleRootStatusRefreshv+0x48): undefined reference to `Script_Check_HTML_Setvars()'
    4. c:/users/tacker/.platformio/packages/toolchain-xtensa/bin/../lib/gcc/xtensa-lx106-elf/4.8.2/../../../../xtensa-lx106-elf/bin/ld.exe: .pioenvs\wemosd1-DE\src\sonoff.ino.cpp.o:(.text._Z23HandleRootStatusRefreshv+0xa4): undefined reference to `Script_Check_HTML_Setvars()'
    5. collect2.exe: error: ld returned 1 exit status
    6. *** [.pioenvs\wemosd1-DE\firmware.elf] Error 1
  • Iram überlauf =>


    schalt mal alles aus was du nicht brauchst in user_config_overwrite


    ich schalte prinzipiell alles aus was ich nicht brauche, das macht ein viel schlankeres binary



    z.B.


    #undef USE_RULES

    #define USE_SCRIPT

    #define USE_SML_M


    // sonst möglichst alles ausschalten

    #undef USE_DISPLAY_MODES1TO5 // Enable display mode 1 to 5 in addition to mode 0

    #undef USE_DISPLAY_LCD

    #undef USE_DISPLAY_MATRIX

    #undef USE_LM75AD

    #undef USE_SHT // Add I2C emulating code for SHT1X sensor (+1k4 code)

    #undef USE_HTU // Add I2C code for HTU21/SI7013/SI7020/SI7021 sensor (+1k5 code)

    #undef USE_BME680 // Add additional support for BME680 sensor using Adafruit Sensor and BME680 libraries (+6k code)

    #undef USE_BH1750

    #undef USE_MHZ19

    #undef USE_SENSEAIR

    #undef USE_PMS5003

    #undef USE_IR_RECEIVE

    #undef USE_WS2812

    #undef USE_ARILUX_RF

    #undef USE_NOVA_SDS

    #undef USE_ENERGY_SENSOR

    #undef USE_DOMOTICZ

    #undef USE_HOME_ASSISTANT

    #undef USE_DISCOVERY

    #undef USE_DS18x20

    #undef USE_SERIAL_BRIDGE

    #undef USE_PZEM004T

    #undef USE_SHT3X

    #undef USE_SGP30

    #undef USE_SPS0

    #undef USE_SCD30

    #undef USE_MLX90614

    #undef USE_PZEM2

    #undef USE_RF_FLASH

    #undef USE_APDS9960

    #undef USE_ADE7953

    #undef USE_EMULATION_HUE

    #undef USE_EMULATION_WEMO

    #undef USE_DHT

    #undef USE_COUNTER

    #undef USE_TX20_WIND_SENSOR

    #undef USE_IR_REMOTE

    #undef USE_KNX

    #undef USE_HOME_ASSISTANT

    #undef USE_PCA9685

    #undef USE_TUYA_DIMMER

    #undef USE_RC_SWITCH

    #undef USE_ARMTRONIX_DIMMERS

    #undef USE_PS_16_DZ

    #undef USE_SONOFF_IFAN

    #undef USE_EMULATION_HUE

    #undef USE_LIGHT

    #undef USE_EMULATION

    #undef USE_HX711

    #undef USE_CSE7766

    #undef USE_SR04

    #undef USE_DS18x20

    #undef USE_DS18B20

    #undef USE_DS18x20_LEGACY

    #undef USE_BMP

    #undef USE_DS1820

    #undef USE_PZEM004T

    #undef USE_PZEM_AC

    #undef USE_PZEM_DC

    #undef USE_TIMERS

    #undef USE_TIMERS_WEBINTERFACE

  • Abend zusammen,


    Ich war hier schon ewig nicht mehr drin, Mein ED300L läuft immer noch problemlos mit ner asbach uralt version, aber es scheint sich ja einiges getan zu haben, aber hab hier was den überblick verloren, was man nu wie und wo in der Tasmota bin einstellen muss, gibt es da mal ne Anleitung was und wo man was aktivieren muss? bzw. bin so ja mit dem Zähler zufrieden, und bräuchte eigentlich kein update, außer wenn bei der aktuellen Version die möglichkeit besteht, noch andere werte raus zu holen, meiner macht aktuell gesamtverbrauch, aktuelle Leistung und Einspeisung für solar, was mir im Grunde auch reicht, allerdings zeigt er mir bei solareinspeisung nur ganze Kilowatt Stunden an, geht das in der aktuellen auch, das er nach Komma stellen bei der Einspeisung anzeigt?


    MFG

    Sascha

  • sunburstc


    Habe heute den Heschen Induktiver Näherungsschalter LJ12 A3-4-Z/BX bekommen. Der hat wie vermutet keinen internen 10k Widerstand.

    Dennoch wird mein Zähleruhrplättchen nicht detektiert.




    Nun warte ich mal auf den Kapazitiven Sensor und habe noch einen grösseren induktiven LJ18 A3-4-Z/BX bestellt.


    Bis in ca.3 Wochen ... ;)

  • btw, hat schon mal jemand so einen Wasserzähler erfolgreich ablesen können, der mit so einem Rädchen
    ausgerüstet ist und keine Metall/Magnet auf einem Zeigen hat?




    Nun fragt man sich natürlich, welcher Treiber ist dafür verantwortlich dass er beim kompilieren abbricht....


    gemu2015


    sag mal in der neuen Version, gibt es da nach wie vor die sendmail funktion oder muss ich dann noch etwas einbasteln?
    bzw. da die Rules ja nicht aktiv sind, müsste ich das ja im script einbauen, hättest Du da evtl. ein Beispiel?


    Danke


    Gruß Jens

  • Hallo Jens,


    das ist die Summe der Treiber die IRAM verwenden. Ist kein Fehler sondern es summiert sich halt bis es zu viel wird.



    für sendmail folgendes einstellen


    am besten core pre 2.6 oder 2.42 (2.52 geht nicht)


    in user_config_overwrite


    folgende defines


    #define USE_SENDMAIL

    #define EMAIL_USER "user"

    #define EMAIL_PASSWORD "passwd"

    #define EMAIL_FROM "<mr.x@gmail.com>"

    #define EMAIL_SERVER "smtp.gmail.com"

    #define EMAIL_PORT 465


    dann die mail in der Konsole testen mit z.B.


    sendmail [*:*:*:*:*:<to@gmail.de>:test] Hallo wie gehts


    im script natürlich mit => davor



    man kann auch die obigen defines statt den Sternchen angeben aber so ist es kürzer


    man braucht mindestens ca 20k freies RAM dafür


    und durch TLS wird die binary deutlich grösser als normal


    sendmail geht nur mit einigen Providern wie z.B. gmail, yahoo die den Port 465 unterstützen und kein START_TLS brauchen (das geht nicht in Arduino TLS)

  • Hallo Zusammen,


    Puh, geschafft, es wird schon mal was angezeigt.
    Bis man das trotz der Anleitung gecheckt hat, was wie gemeint ist, erst hatte ich zwar schön alles
    anzeigen, aber alles 0, bis ich dann den M Bereich gefunden habe...


    meierchen006 , die Anleitung ist ok, aber für einen der nicht die ganze Zeit hier mitgelesen hat,
    könntest Du da bitte einbauen, klarer drauf hinzuweisen, dass die Meter auch noch im script
    definiert werden müssen.

    wie hier:

    Code
    1. >M
    2. +1,4,c,0,50,GAS
    3. 1,1-0:1.8.0*255(@1,Zählerstand,m³,Total_In,2




    Allerdings zählt der gasimpuls immer voll cbm und nicht die Kommastellen.

    und auch nur wenn ich wechsel zwischen 3.3 am Pin auf GND am Pin

    habe ich da was falsch eingestellt?



    Danke

    Gruß Jens

  • Guten Morgen,


    habe die Lösung gefunden, habe noch mal alles durchgewühlt im im Thread, da doch bestimmt schon mal jemand das
    gehabt haben muss.


    es muss die Zeile im M bereich geändert werden wie folgt:


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

    die eingabe des akteullen wertes muss dann ohne Komma geschehen,
    also bei Zählerstand 1234,56 nicht eingeben 1234.56 sonder 123456


    meierchen006

    würdest Du das bitte in der Anleitung bitte noch mit erwähnen?

    Momentan läuft es seit Gestern Top.


    Danke

  • das probiere ich die Tage mal aus im script.


    danke Dir

  • Hallo @all


    kleine Änderungen in der PDF Datei:


    Seite 18:


    Seite 26:


    Zitat

    ·         Dann die Eingabe:

    o   Wasserzähler Zählerstand 495.126 m³

    sensor53 c1 495126

    o   Gaszähler Zählerstand 10128.18 m³

    sensor53 c2 1012818

    Die Zählerstände werden
    hier ohne Punkt oder Komma eingegeben


    Seitenzahlen angepasst neue Version: 2019.10.11 - 09:00 Uhr

  • Hast du es mal mit 5v probiert? Bei mir läuft er mit 5v besser als mit den vorgegebenen 6-36v. Hatte es ja mit 12v probiert. Da lief er bei mir auch nicht.
    hab ja den gleichen Zähler.
    bin gespannt was du bzgl der anderen Sensoren berichtest.

  • also mit den Einstellungen und der arduino Version geht es über die Konsole, über script, kommt dann allerdings der Speicherfehler