Beiträge von schraubi

    Hi,

    vielleicht hat jemand noch eine Idee,

    die ausgelesene Werte aus dem Pylontech US für die Temperatur haben mindestens 2 eher 3 Grad Abweichung.
    Daher war ich auf die Idee gekommen an das Gehäuse der Pylontech einen GPIO1 am ESP 8266 einen DS18X20 zu erweitern.
    Und damit die Gehäusetemperatur zu messen.

    Messen tut der nun damit bestens. :)

    Aber nun hätte ich gerne den Temperaturwert per WEBsend noch gerne in der Datenbank.
    Hat jemand eine Idee wie ein entsprechender Befehl im Script aussehen könnte, damit ich den Wert des DS18X20 per WEBsend versenden kann? :/

    Wenn ich das Webinterface des Tasmota aufrufe wird der WERT vom DS18X20 sogar schon angezeigt.
    Es fehlt nur noch der WEBsend zum Controller Datenbank.
    Mein verwendetes Script im Tasmota, ist das aus dem Thread #30.

    Danke Opferwurst, noch mal für deine Unterstützung :thumbup:  
    Möchte gar nicht erst wissen wieviel der faulen China MAX3232 hier bereits in DE die Leute zur Verzweiflung gebracht haben.


    Von den Auslesewerten aus dem Pylontech per Tasmota benötige ich eigentlich nur den Füllstand der Akkus.
    Diesen möchte ich gerne per HTTP an meinen Volkszäher Rasp in die Datenbank schreiben.

    Bisher mache ich das für andere Sensoren mit ESPEASY und damit dem HTTP String: http://middleware.php/data/%valname%.json?operation=add&value=%value%

    Kann ich den Tasmota irgendwie dazu bewegen den Füllstand per HTTP in den Volkszähler zu senden? :/


    EDIT: Habs hinbekommen das die Daten aus Tasmota auch in der Volkszähler Datenbank per http ankommen. :) :thumbup:

    Im Script unten folgendes ergänzt:
    ws="WebSend [IP vom VZ]"
    =>%ws% /http://middleware.php/data/%valname%.json?operation=add&value=%0coul%

    Ja, Lustig :) es geht nun!

    Meine 3x Pylontech US 5000 funktionieren mit dem aus Beitrag #1 Tasmota V12.4.x nun doch :thumbup:
    Der Fehler war kein Verdrahtungsfehler von mir mit RX TX oder so. Und die Tasmota ist auch OK.

    An dem ganzen Problem ist nur der verwendete, bei Ebay gekaufte, RS232toTTL (MAX3232) Converter schuld. :evil: :evil: :evil:
    Bild des Problem Converters:



    Hab in meiner Bastel - Wühlkiste noch einen 15 Jahre alten Diskret aufgebauten MAX3232 Converter gefunden,

    mit dem das ganze sofort ging. 8)

    Ich hab noch mal auf Github geschaut.
    Aus Beitrag #1 wurde das ältere Projekt für das Tasmota benutzt. :/


    alt: aus Beitrag Tasmota #1:

    GitHub - irekzielinski/Pylontech-Battery-Monitoring: Adding WiFi monitoring to US2000B and US2000C batteries.
    Adding WiFi monitoring to US2000B and US2000C batteries. - GitHub - irekzielinski/Pylontech-Battery-Monitoring: Adding WiFi monitoring to US2000B and US2000C…
    github.com

    neuer hier: 8)

    GitHub - hidaba/PylontechMonitoring: Adding WiFi monitoring to US2000B , US2000C , US5000 batteries.
    Adding WiFi monitoring to US2000B , US2000C , US5000 batteries. - GitHub - hidaba/PylontechMonitoring: Adding WiFi monitoring to US2000B , US2000C , US5000…
    github.com

    Ich bin nun nicht so fit mit dem Integrieren von Libs ins Tasmota.
    Es müsste nur jemand die neuere Lib vom Github da in Tasmota 12 rein machen.

    Dann würden die Pylontech US 5000 auch gehen. :) :)

    @opferwurst:

    Ich nutze die Firmware aus Beitrag #1.

    -> fimware (12.4.0.2) aus #1
    -> Script. >UPDATE 27.02.2022 - Fix Stromanzeige aus #1
    -> Hardware: ESP 8266 (D1 MINI) und den D1 Mini Pro probiert.
    -> Pins siehe Bild unten. Also die wo RX und TX dran steht wurden benutzt.

    -> Code

    >D 64

    ;variablen für berechnungen

    res=0

    rstr=""

    label=""

    lraw=""

    val=0

    volt=0

    curr=0

    temp=0

    coul=0

    tag=0

    ;ggf. anpassen:

    ladepin=4 ;gpio pin für Lade-Relais

    entladepin=5 ;gpio pin für Entlade-Relais

    socmax=98 ; maximale Ladeschwelle

    socmin=20 ; minimale Entladeschwelle

    >B

    res=0

    res=so(3 1 115200 8N1 1024)

    ;print open %res%

    spinm(ladepin O) ; set GPIO to mode output

    spin(ladepin 0) ; Switch off relais on boot

    spinm(entladepin O) ; set GPIO to mode output

    spin(entladepin 0) ; Switch off relais on boot


    >F

    res=sa()

    if res>0

    then

    ;print res=%res%

    rstr=sr(10)

    rstr=sb(rstr 1 sl(rstr))

    ;print read %rstr%

    label=sb(rstr 0 7)

    lraw=sb(rstr 0 10)

    val=st(rstr : 2)

    switch label

    case "Voltage"

    volt=val/1000

    case "Current"

    if lraw=="Current "

    then

    curr=val

    endif

    case "Tempera"

    temp=val/1000

    case "Coulomb"

    coul=val

    ends

    endif


    >S

    if upsecs%5==0

    then

    res=sw("pwr 1\n")

    ;print write cmd

    endif

    ;print %volt% %curr% %temp% %coul%


    ;tagberechnung

    if time>sunrise

    and time<sunset

    then

    tag=1

    else

    tag=0

    endif


    ;ladebedingung

    if tag==1

    and

    coul<socmax

    then

    spin(ladepin 1)

    spin(entladepin 0)

    else

    spin(ladepin 0)

    endif


    ;entladebedingung

    if tag!=1

    and

    coul>socmin

    then

    spin(entladepin 1)

    spin(ladepin 0)

    else

    spin(entladepin 0)

    endif


    ;print lade %0pin[ladepin]%

    ;print entlade %0pin[entladepin]%

    >T

    ; sende mqqt-Einzeltopis zusätzlich/anstatt json wie unter ">J)

    =>publish iot/%topic%/Voltage %4volt%

    =>publish iot/%topic%/Current %0curr%

    =>publish iot/%topic%/Coulomb %0coul%

    =>publish iot/%topic%/Tag %0tag%

    >W

    Spannung{m}%4volt% V

    Strom{m}%0curr% mA

    Temperatur{m}%3temp% C

    Ladung{m}%0coul% %%

    Lade {m}%0pin[ladepin]%

    Entlade {m}%0pin[entladepin]%

    >J

    ,"pylon":{"Voltage":%4volt%,"Current":%0curr%,"Coulomb":%0coul%,"Temperature":%3temp%}

    #

    Software:

    Die Firmware muss mit dem Development branch von tasmota kompiliert werden! Ich denke, die meisten "Power-User" werden wissen was zu tun ist.

    Ich bekomme das Projekt über die fertige Bin mit dem Einfügen nicht zum Erfolg. :(
    Das Tasmota mit dem Script EInbinden scheint alles normal. Aber der RX Eingang am ESP8266-Board (Wemos D1 Mini) scheint nicht als wenn er als Eingang arbeitet? Bei mir ist auf RX am WEMOS dauerhaft 3.3 Volt So als wäre es ein Ausgang?
    Welchen Modul Type muss ich den im Tasmota einstellen, das Auslesen des Pylontech US 5000 über die RX funktioniert?
    Oder geht das mit den US 5000 noch nicht?

    An bei ein Bild