5 * eBZ DD3 Zähler in Tasmota Anzeigen (3 Gehen nur, USE_ESP32_SW_SERIA ohne Funktion) was mache ich falsch?

  • Hallo zusammen.

    ich bin gerade am Verzweifeln und hoffe das Ihr mir einen Tipp/Hilfe geben könnt.

    Was funktioniert:
    - mit Visual Code und Platformio habe ich Tasmota 14 mit 11 Temperaturfühlern und die Google Chart Scripte von der Seite: https://ottelo.jimdofree.com/stromzähler-auslesen-tasmota/ mit 3 Zählern an den Start bekommen für den Hauptzähler.

    Die ID:XXX ist die Zähkernummer und die in Klammern stehenden Zahlen sind die GPIO - Pins für die RS232, die ich verwendet habe

    Wie man gut sieht gehen die ersten 3 Zähler einwandfrei.

    Die Zähler, die an Pin 3 und 18 angeschlossen sind, möchte ich gerne über die Software RS232 ebenfalls anzeigen.

    Verdrahtungsfehler ausschließen

    Um einen Verdrahtungsfehler aus zu schließen habe ich die Pins 3 und 18 mal in das Script für den Zähler 1 und 2 eingetragen.

    Und siehe da, es kamen genau die Werte der Richtigen Zähler die am Pin 3 und 18 angeschlossen sind. (Identifiziert durch die Zähler ID)

    Ich habe folgendes in der user_config_override.h ausprobiert was aber alles nicht zum Erfolg führte.

    um die Software RS232 zu aktivieren und habe einiges probiert.


    Test1: fehlgeschlagen
    #define USE_ESP32_SW_SERIAL -3,-18 // enables additional software serial channels for ESP32, (receive only), define pin with '-' sign to assign to software serial

    Test 2: fehlgeschlagen
    #define USE_ESP32_SW_SERIAL // enables additional software serial channels for ESP32, (receive only), define pin with '-' sign to assign to software seria
    #define SOFT_RX_PIN1 3 // RX (Empfangen) auf Pin 3
    // #define SOFT_TX_PIN1 12 // TX (Senden) auf Pin 12
    #define SOFT_RX_PIN2 18 // RX auf Pin 18
    // #define SOFT_TX_PIN2 17 // TX auf Pin 17

    Test 3: fehlgeschlagen
    #define SOFT_RX_PIN1 -3 // RX (Empfangen) auf Pin 3
    #define SOFT_RX_PIN2 -18 // RX auf Pin 18

    Test 4: Fehlgeschlagen innerhalb des Scriptes in Tasmota mit einen Minuszeichen und auch ohne

    ......

    ; GPIO 3 1.Stock - ID:799
    +4,-3,o,0,9600,1-Stock,1
    4,=h ID: 799 -(3)-
    .......

    ; GPIO 3 1.Stock - ID:799
    +4,3,o,0,9600,1-Stock,1
    4,=h ID: 799 -(3)-


    hier meine Zähler konfig für meine 5 x EBZ 01-DD3 Zähler


    >M 5
    ; GPIO 19- Haupt-Zaehler - ID: 8369
    1,=h - - - - - - - - - - - - -
    +1,19,o,0,9600,Haupt-Z,1
    1,=h ID:369 -(19)-
    1,1-0:16.7.0*255(@1,Leistung,W,16_7_0,18
    1,1-0:1.8.0*255(@1,E- Bezung,kWh,1_8_0,8
    1,1-0:2.8.0*255(@1,E- Export,kWh,2_8_0,8
    1,1-0:36.7.0*255(@1,L1,W,36_7_0,18
    1,1-0:56.7.0*255(@1,L2,W,56_7_0,18
    1,1-0:76.7.0*255(@1,L3,W,76_7_0,18
    1,1-0:96.1.0*255(@#),Ident,,96_1_0,0
    ;1,1@1,------------------------------,-,-

    1,=h - - - - - - - - - - - - -

    ; GPIO 34- Allg_Strom - ID801
    +2,34,o,0,9600,All_S,1
    2,=h ID:801 -(34)-
    2,1-0:16.7.0*255(@1,Leistung,W,16_7_0,18
    2,1-0:1.8.0*255(@1,E-Bezung,kWh,1_8_0,8
    ;2,1-0:2.8.0*255(@1,E-Export,kWh,2_8_0,8
    2,1-0:36.7.0*255(@1,L1,W,36_7_0,18
    2,1-0:56.7.0*255(@1,L2,W,56_7_0,18
    2,1-0:76.7.0*255(@1,L3,W,76_7_0,18
    2,1-0:96.1.0*255(@#),Ident,,96_1_0,0
    ;2,1@1,------------------------------,-,-
    2,=h - - - - - - - - - - - - -


    ; GPIO 16- EG - ID: 798
    +3,16,o,0,9600,EG,1
    3,=h ID798 -(16)-
    3,1-0:16.7.0*255(@1,Leistung,W,16_7_0,18
    3,1-0:1.8.0*255(@1,E-Bezung,kWh,1_8_0,8
    ;3,1-0:2.8.0*255(@1,E-Export,kWh,2_8_0,8
    3,1-0:36.7.0*255(@1,L1,W,36_7_0,18
    3,1-0:56.7.0*255(@1,L2,W,56_7_0,18
    3,1-0:76.7.0*255(@1,L3,W,76_7_0,18
    3,1-0:96.1.0*255(@#),Ident,,96_1_0,0
    ;3,1@1,---------------------,-,-
    3,=h - - - - - - - - - - - - -

    ; GPIO 3 1.Stock - ID:799
    +4,3,o,0,9600,1-Stock,1
    4,=h ID: 799 -(3)-
    4,1-0:16.7.0*255(@1,Leistung,W,16_7_0,18
    4,1-0:1.8.0*255(@1,E- Bezung,kWh,1_8_0,8
    4,1-0:2.8.0*255(@1,E-Export,kWh,2_8_0,8
    4,1-0:36.7.0*255(@1,L1,W,36_7_0,18
    4,1-0:56.7.0*255(@1,L2,W,56_7_0,18
    4,1-0:76.7.0*255(@1,L3,W,76_7_0,18
    4,1-0:96.1.0*255(@#),Ident,,96_1_0,0
    ;4,1@1,----------------,-,-
    4,=h - - - - - - - - - - - - -

    ; GPIO18- DG - ID: 800
    +5,18,o,0,9600,DG,1
    5,=h ID: 800 -(18)-
    5,1-0:16.7.0*255(@1,Leistung,W,16_7_0,18
    5,1-0:1.8.0*255(@1,E-Bezung,kWh,1_8_0,8
    5,1-0:2.8.0*255(@1,E-Export,kWh,2_8_0,8
    5,1-0:36.7.0*255(@1,L1,W,36_7_0,18
    5,1-0:56.7.0*255(@1,L2,W,56_7_0,18
    5,1-0:76.7.0*255(@1,L3,W,76_7_0,18
    5,1-0:96.1.0*255(@#),Ident,,96_1_0,0
    ;5,1@1,-------------------,-,-
    5,=h - - - - - - - - - - - - -

    Ich weiß leider nicht mehr weiter und hoffe ihr könnt mir einen Tipp zu einer funktionierenden Lösung geben.

    Ich schätze das mein Fehler wahrscheinlich in der Konfiguration user_config_override.h liegt,

    FRAGEN:

    1. Wie schalte ich die Software RS232 richtig in der user_config_override.h frei?
    2. Welche Pins sind sinnig für die Software RS232 (PIN 34/35 und Pin 36/39) da sie nur reine Inputs sind =?? oder welche würdet ihr empfehlen?
    3. Langfristig sollen es insgesamt 8 x eBZ Zähler werden. Ist das möglich? (alle Zähler arbeiten mit 9600Baud)

    Später sollen die Werte des Hauptzählers via json_keys noch an den T2MG Stick von Trucki gesendet werden um damit einen LiFePo Akku mit Überschuß PV Strom zu laden.
    Dies ist aber erst der nachfolgende Schritt, wenn dies hier erstmal richtig läuft.

    Die Lernkurve ist ganz schön steil bei dem Projekt für mich.

    Danke erstmal für eure Unterstützung und Tipps

    Leachim

  • du musst

    #define USE_ESP32_SW_SERIAL

    benutzen

    und dann bei deinen Zählern 4 und 5 negative Pinnummern angeben z.B.

    +5,-18,o,0,9600,DG,1

    negative Pins verwenden Software serial, positive Hardwareserial

    habe bisher maximal 6 serielle Zähler an einem ESP32 betrieben.

    8 könnten eventuell zu viel sein.

  • @gemu2015

    Danke für deine Rückmeldung. das habe ich gerade probiert aber kein Erfolg gehabt.

    Besteht die Möglichkeit folgende 3 Dateien von dir zu bekommen. Ich habe das Gefühl das ich da was falsches drin stehen habe.

    my_user_config.h
    user_config_override.h
    platformio.ini

    hier sind meine:

    my_user_config.zip
    user_config_override.zip
    platformio.zip

    und hier die google-chart-Script-für-Konsole google-chart Script-für -Konsole.zip

    Ich nutze die aktuelle Tasmota 14 von: https://github.com/arendst/Tasmota


    Der Ursprungs Script stammt von: https://ottelo.jimdofree.com/stromzähler-auslesen-tasmota/
    Danke an Hans für das tolle Script und die dazugehörigen Beschreibung.

    Vielleicht sieht jemand meinen Fehler.

    DANKE

  • in der config_override brauchst du eigentlich nur

    #define USE_SML_M

    #define USE_ESP32_SW_SERIAL


    in der Platform_override kannst du nichts bez. SML falsch machen

    schau mal nach was in der Konsole beim Neustart ausgegeben wird.

  • @gemu20
    Danke für deine HInweise, aber ich komme immer noch nicht weiter.

    ich habe einen Restart 1 in der Konsole ausgeführt und dann kommt dieses Ergebnisse

    leider sehe ich hier nicht das es die Software RS232 gibt nur in Zeile 21 steht die Hardware RS232

    Mann das kann doch nicht so schwer sein wenn andere das hinbekommen nur ich nicht. Bin wahrscheinlich zu dusselig.
    Irgendwie aktiviert er nicht die Software RS232.

    Ich habe nochmals die user_config_override .h kontrolliert, da steht beide drin in Zeile 3 und Zeile 7


  • gemu2015

    Danke nochmals von meiner Seite. Nun geht alles.

    Mein Lösungsweg:

    1. Den ESP32 mit einer Blank_4MB.bin auf Nullzustand gesetzt

    2. Neueste Version von Tasmote 14.0.0.1 runtergeladen.

    3. platformio.ini angepasst

    4. my_user_config.h angepasst

    5. user_config_override.h angepasst und um 15 Temperaturfühler erweitert

    6. Einspielen des modifizierten Scriptes in die Konsole: Script für Konsole für 5 Zähler

    in dieser Datei user_config_overrigde-ma_user_config-platformio.zip findet ihr all meine Änderungen in den Dateien und danke an Hans für das Script für Google sharts.

  • Noschvie
    Prinzipiell hast du da erstmal recht mit der Platformio.ini. Nur bei mir war da was drin was aus einem anderen Projekt wohl stammte
    und ich war mir nicht so ganz sicher, daher habe ich sie so wie sie nun bei mir nun lauft zur Verfügung gestellt.

    my_user_config.h ==> bin da nicht so deiner Meinung
    denn hier lässt sich z.B. gut die Sprache aktivieren die man immer gerne nutzen möchte,
    oder die Wifi_IP Adresse auf seine Lieblingsadresse ändern

    user_config_override.h ==> da gebe ich dir 100% recht. aber es gibt halt viele Wege zu einem Ziel