Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. DMP8624 -> iobroker

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    DMP8624 -> iobroker

    This topic has been deleted. Only users with topic management privileges can see it.
    • Wal
      Wal Developer @Ralla66 last edited by Wal

      @ralla66 ,

      http("192.168.2.28" "/cm?cmnd=script>Bezug Aktuell=Wert")
      

      mit dem Befehl sendest du den Wert an 192.168.2.28.
      Im 192.168.2.28 muss es eine Variable Bezug Aktuell geben.

      Ralla66 1 Reply Last reply Reply Quote 0
      • Ralla66
        Ralla66 Most Active @Wal last edited by Ralla66

        @wal

        ah ja, so ne Art send to
        dann ist ja das hier vom Zähler ESP holen, jezz is klar 🙂
        Mit Variable=http("192.168.xxx.xxx" "/cm?cmnd=script?Variablename) kannst du jeden Wert anfordern
        Ne doch nich, der Pfad im Zähler ESP ist doch StatusSNS->MT175.>Bezug Aktuell->Wert.
        Ich brauche ne Pause ------------------------->

        19:43:19.058 MQT: stat/tasmota_3CECBB/RESULT = {"WebQuery":{"StatusSNS":{"Time":"2023-09-20T19:43:16","MT175":{"Geräte_ID":"","Verbrauch_Gesamt":37715,"Bezug_Tarif_1":37714.529,"Bezug_Tarif_2":0,"Netzeinspeisung":0,"Lieferung_Tarif_1":0,"Lieferung_Tarif_2":0,"Bezug_aktuell":93,"Phase_L1":16,"Phase_L2":6,"Phase_L3":70}}}}
        
        
        >D
        ; Ralla
        Bezug Aktuell=0
        
        ;Mit Variable=http("192.168.xxx.xxx" "/cm?cmnd=script?Variablename) kannst du ;jeden Wert anfordern
        Bezug Aktuell=http("192.168.2.28" "/cm?cmnd=script?Bezug_Aktuell)
        print Bezug Aktuell %Bezug Aktuell%
        
        Wal 1 Reply Last reply Reply Quote 0
        • Wal
          Wal Developer @Ralla66 last edited by

          @ralla66 ,
          da musst du machen

          T
          aktuell= MT175#Bezug Aktuell

          Dann kannst du aktuell senden oder anfordern.
          Schaue in meiner Lösung von der vorherigen Seite.

          Ralla66 1 Reply Last reply Reply Quote 0
          • Ralla66
            Ralla66 Most Active @Wal last edited by Ralla66

            @wal

            ok, Danke, heute nicht mehr.
            Sackt langsam, das ist im Zähler ESP.
            Das war bei mir nicht geplant, immer schwierig für Beginner wenn auf der Tasmota Seite
            das SML angepasst werden muß. Einfacher wäre es nur in der DPM Script Var Deklaration
            ein Paar Werte einzugeben. Das ist ja für mich schon sehr schwer.

            Ralla66 1 Reply Last reply Reply Quote 0
            • Ralla66
              Ralla66 Most Active @Ralla66 last edited by

              @ralla66

              Nachtrag:

              Werde das wohl so bauen,
              Ein / Aus für Wartungsarbeiten
              Automatic Ein ist Nulleinspeisung
              Automatic Aus Handvorgaben zum Testen des Wirkungsgrades
              Button Timer Ein / Aus noch einfügen für vorgegebene Timerzeiten aus dem
              Script Bsp: 19:00 - 6:00, Internen Tasmota Timer nutzen
              Mqtt alle StatusSNS Werte nach IO

              DPM Soll.jpg

              Wal 1 Reply Last reply Reply Quote 0
              • Wal
                Wal Developer @Ralla66 last edited by Wal

                @ralla66 ,
                habe es jetzt geschafft ohne Änderung des Stromzähler Scripts.
                Es muss aber wieder was in die Firmware eingefügt werden.
                Habe das jetzt alles drin:

                #define USE_SCRIPT_WEB_DISPLAY
                #define USE_WEBSEND_RESPONSE
                #define USE_SCRIPT_STATUS
                #define USE_SCRIPT_FULL_JSON_PARSER
                #define USE_SCRIPT
                #define SUPPORT_MQTT_EVENT
                #define USE_SML_M
                #define USE_SML_SCRIPT_CMD
                
                >D
                Timer=0
                pwr=0
                Vmax=60
                Cmax=24
                V=0
                C=0
                SW=0
                rV="01060000"
                vV=""
                rC="01060001"
                vC=""
                rSW="01060002000"
                vSW=""
                >BS
                +>subscribe V, cmnd/%topic%/tvolt
                +>subscribe C, cmnd/%topic%/tampere
                +>subscribe SW, cmnd/%topic%/tpow
                >B
                ->sensor53 r
                tper=10
                >S
                Timer+=1
                if Timer>10 {
                =>websend [192.168.xxx.xxx] /cm?cmnd=status 10
                Timer=0
                }
                if chg[SW]>0 {
                vSW=rSW+s(SW)
                sml(1 3 vSW)
                +>publish stat/%topic%/RESULT {"tpow":%0SW%}
                }
                if chg[V]>0 {
                if V>Vmax {
                V=Vmax
                }
                if V<0 {
                V=0
                }
                vV=rV+sb(hx((V*100)) 4 4)
                sml(1 3 vV)
                +>publish stat/%topic%/RESULT {"tvolt":%2V%}  
                }
                if chg[C]>0 {
                if C>Cmax {
                C=Cmax
                }
                if C<0 {
                C=0
                }
                vC=rC+sb(hx((C*1000)) 4 4) 
                sml(1 3 vC)
                +>publish stat/%topic%/RESULT {"tampere":%2C%}  
                }
                >E
                pwr=WebQuery#StatusSNS#MT175#P
                >W
                bu(SW "DPM Ein" "DPM Aus")
                nm(0.0 60.0 0.01 V "DPM Ausgang (V)" 200 2)
                nm(0.0 24.0 0.01 C "DPM Ausgang (A)" 200 2)
                Aktuelle Leistung{m} %0pwr% W
                >M 1
                +1,3,m,16,9600,DC,1,2,010300000001,010300010001,010300020001,010310030001
                1,010302SSssxxxx@i0:100,Spannung,V,sVolt,2
                1,010302SSssxxxx@i1:1000,Strom,A,sCur,2
                1,010302SSssxxxx@i2:1,Ausgang,,sSwitch,0
                1,010302SSssxxxx@i3:1,Temp,°C,tCur,1
                #
                

                E ;hier das json parsen

                Ralla66 Jonas Haber 2 Replies Last reply Reply Quote 0
                • Ralla66
                  Ralla66 Most Active @Wal last edited by

                  @wal
                  ja cool, werde ich am Wochenende testen.
                  Werde mal schauen was am Compiler bei mir nicht stimmt.
                  Weisst du ob er Timer mit der Tagesvorwahl in Tasmota Standart mit drin ist.
                  Hatte noch keine Zeit das prüfen.
                  Bin am vorbereiten, da morgen der Dachdecker noch 4 Module anbringt. 🙂

                  Wal 1 Reply Last reply Reply Quote 0
                  • Wal
                    Wal Developer @Ralla66 last edited by

                    @ralla66 ,
                    bei mir nicht, müsste ich erst hinzufügen.

                    Ralla66 1 Reply Last reply Reply Quote 0
                    • Ralla66
                      Ralla66 Most Active @Wal last edited by Ralla66

                      @wal

                      Habe immer Warning Fehler auf Git. Das nervt als Beginner.
                      Erst recht wenn man keine Ahnung hat.

                      git 1.jpg

                      Wal 1 Reply Last reply Reply Quote 0
                      • Wal
                        Wal Developer @Ralla66 last edited by

                        @ralla66 ,
                        habe wieder was.
                        Globale Variable
                        Man braucht kein websend es funktioniert einfach so.

                        Ralla66 1 Reply Last reply Reply Quote 0
                        • Ralla66
                          Ralla66 Most Active @Wal last edited by Ralla66

                          @wal

                          Morgen, läuft nun, wir sollen mal eine Versionnummer vergeben.wal 2209.jpg

                          Jetzt die Verkasperung, wenn Bezug Watt ist x steuere V und A mit 🙂
                          Natürlich gepart mit Triggerudatezeit.
                          Schöner Wohnen machen wir am Scluss, sollte erst laufen.

                          Nachtrag

                          für eine Nachteinspeisung sollten wir einen Button anlegen Timer aktiv.
                          Wichtige Parameter wie Bezug Zähler und berechnete Ausgangsleistung BAL gehören auch dazu.
                          So wird auch sofort erkannt ob der Zähler ESP läuft und ob das Script läuft.
                          DC Ausgang und Temp sind ja eher Schöner Wohnen.

                          Dpm Timer.jpg

                          Für die Berechnung Bezug -> Ausgang könnte man die Daten eines HM 600
                          nehmen, linear dürfte reichen. Betrieb des HM etc unter 50 Watt ist eher Sinn befreit.
                          Die Daten V und A eines HM könnte ich Live mitloggen wenn Sonne da ist.

                          DPM Dtu.jpg

                          DPM Soll 1111.jpg

                          Wal 1 Reply Last reply Reply Quote 0
                          • Wal
                            Wal Developer @Ralla66 last edited by

                            @ralla66 ,
                            da habe ich im Moment die Hardware dazu zum testen. Du musst aber den Skriptspeicher im Auge behalten oder auf einen ESP32 wechseln. Berryscript sollte ich mir auch mal anschauen.

                            Ralla66 1 Reply Last reply Reply Quote 0
                            • Ralla66
                              Ralla66 Most Active @Wal last edited by Ralla66

                              @wal

                              bestelle schon mal Esp32 falls das zu wenig ist.
                              1366 Zeichen sind übrig.
                              Im Script fehlt ja nur noch Wert Bezug extrahieren und die Berechnung.
                              Denke wird bsp. -> 150 Watt Bezug : Volt Festwert 29 Volt = A <-

                              Der Pylontech hat immer zwischen 47 und 52 Volt .
                              Schaue heute abend mal die Livedaten ab 19:00 Uhr.

                              erster Eindruck, Hoymiles DC eine Seite,

                              DPM Messung 1.jpg

                              Nachtrag, man könnte auch den Mppt des WR setzen zwischen 25 und 32 Volt, 0 -12 A .
                              Dazu müsste der Mppt Point bekannt sein oder eine Var anlegen das jeder Fest Volt
                              selbst bestimmt.
                              Der Lumentree hat meist bsp. -> 150 Watt Bezug : Volt Festwert 49 Volt Pylon = A <-
                              Na ja, Pylontech Spannungswert einlesen ist ja jetzt easy.

                              DPM SP.jpg

                              Wal 1 Reply Last reply Reply Quote 1
                              • Wal
                                Wal Developer @Ralla66 last edited by Wal

                                @ralla66 ,
                                ja das wollte ich so umsetzen, feste Spannung am WR und Ampere regeln.
                                Nach dem Einschalten des DPM die Spannung langsam hochfahren auf z.B. 30V und danach je nach Leistungsabnahme den Strom regeln.

                                Edit: ich nutze ein APSystems DS3-S den kann man noch nicht regeln.

                                Ralla66 1 Reply Last reply Reply Quote 0
                                • Ralla66
                                  Ralla66 Most Active @Wal last edited by Ralla66

                                  @wal

                                  dann lass uns doch eine Var einfügen Spannungswert Ausgang. Diese kann dann
                                  fest sein oder Variable durch Pylon Spannungswerte oder andere Wechselrichterwerte
                                  beschrieben werden. Festwert würde mir auch reichen, so genau muss das nicht geregelt
                                  werden.

                                  Ich mag die alten Analoginstrumente 🙂

                                  PowerTower.jpg

                                  Wal 1 Reply Last reply Reply Quote 1
                                  • Wal
                                    Wal Developer @Ralla66 last edited by

                                    @ralla66,
                                    habe mir jetzt eine einfache Regelung erstellt die schon sehr gut funktioniert.
                                    Muss mir noch mit Grafana ein Graph erstellen für den Langzeittest.
                                    Ist mit der Rechnung

                                    p=pwr-(U*I)
                                    

                                    erstellt, da ich noch keine Batterie habe und den aktuellen Verbrauch hole ich mir über eine Globale Variable da das einfach ist.

                                    >D
                                    g:pwr=0
                                    p=0
                                    timer=0
                                    Umax=40
                                    Imax=10
                                    Ppos=20
                                    Pneg=-50
                                    U=40
                                    I=0.5
                                    p:SW=0
                                    rU="01060000"
                                    vU=""
                                    rI="01060001"
                                    vI=""
                                    rSW="01060002000"
                                    vSW=""
                                    >BS
                                    +>subscribe U, cmnd/%topic%/tvolt
                                    +>subscribe I, cmnd/%topic%/tampere
                                    +>subscribe SW, cmnd/%topic%/tpow
                                    >B
                                    ->sensor53 r
                                    tper=10
                                    >S
                                    dt [l1c1p10]pwr=%pwr%
                                    p=pwr-(U*I)
                                    timer+=1
                                    if timer>3 {
                                    if p>Ppos {
                                    I+=0.5
                                    }
                                    if p<Pneg {
                                    if p<-150 {
                                    I=0.5
                                    }
                                    I-=0.5
                                    }
                                    timer=0
                                    } 
                                    if chg[SW]>0 {
                                    vSW=rSW+s(SW)
                                    sml(1 3 vSW)
                                    +>publish stat/%topic%/RESULT {"tpow":%0SW%}
                                    }
                                    if chg[U]>0 {
                                    if U>Umax {
                                    U=Umax
                                    }
                                    if U<0 {
                                    U=0
                                    }
                                    vU=rU+sb(hx((U*100)) 4 4)
                                    sml(1 3 vU)
                                    +>publish stat/%topic%/RESULT {"tvolt":%2U%}  
                                    }
                                    if chg[I]>0 {
                                    if I>Imax {
                                    I=Imax
                                    }
                                    if I<0.5 {
                                    I=0.5
                                    }
                                    vI=rI+sb(hx((I*1000)) 4 4) 
                                    sml(1 3 vI)
                                    +>publish stat/%topic%/RESULT {"tampere":%2I%}  
                                    }
                                    >W
                                    bu(SW "DPM Ein" "DPM Aus")
                                    nm(0.0 60.0 0.01 U "DPM Ausgang (V)" 200 2)
                                    nm(0.0 24.0 0.01 I "DPM Ausgang (A)" 200 2)
                                    Aktuelle Leistung{m} %0pwr% W
                                    Errechnete Leistung{m} %0p% W
                                    >M 1
                                    +1,3,m,16,9600,DC,1,2,010300000001,010300010001,010300020001,010310030001
                                    1,010302SSssxxxx@i0:100,Spannung,V,sVolt,2
                                    1,010302SSssxxxx@i1:1000,Strom,A,sCur,2
                                    1,010302SSssxxxx@i2:1,Ausgang,,sSwitch,0
                                    1,010302SSssxxxx@i3:1,Temp,°C,tCur,1
                                    #
                                    
                                    Ralla66 2 Replies Last reply Reply Quote 0
                                    • Ralla66
                                      Ralla66 Most Active @Wal last edited by

                                      @wal

                                      Prima da es so funktioniert. Bin mal gespannt wie es läuft wenn die Batterie da ist.

                                      Anregungen habe ich hier viele bekommen und werde wenn dann mal Zeit ist
                                      das für mich umstellen. Bei mir soll ja Tagsüber nur in den Speicher geladen werden
                                      und erst Abends eine fast Nulleinspeisung erfolgen. Das bedingt ja einen Timer.
                                      Die globale Variable werde ich wohl auch nicht nutzen. Lese hier weiter mit und
                                      werde das Projekt weiter unterstützen wenn Bedarf besteht.

                                      Mal danke an Dich für dieses spannende Projekt.

                                      Ralla

                                      1 Reply Last reply Reply Quote 0
                                      • Ralla66
                                        Ralla66 Most Active @Wal last edited by

                                        @wal

                                        bissl Zeit gehabt
                                        Wie wird denn V und C dem DPM übergeben ?
                                        Reicht es die Var V und C zu aktuallisieren ?

                                        DPM 2017 2309.jpg

                                        Wal 1 Reply Last reply Reply Quote 0
                                        • Wal
                                          Wal Developer @Ralla66 last edited by Wal

                                          @ralla66 ,
                                          Die Spannung habe ich fest auf 40V eingestellt da mein WR 28V-45V Eingang hat und Strom errechnet er vom aktuellen Verbrauch und nähert sich langsam an bis die errechnete Leitung gegen 0 geht.
                                          Ich übergebe kein Spannung/Strom.

                                          Ralla66 L 2 Replies Last reply Reply Quote 0
                                          • Ralla66
                                            Ralla66 Most Active @Wal last edited by

                                            @wal

                                            Danke,

                                            habe es jetzt, Nulleinspeisung per DPM rennt nun.
                                            Geilomat 🙂

                                            DPM erledigt.jpg

                                            wers brauch

                                            >D
                                            
                                            Timer=0
                                            p=0
                                            
                                            bakt=0
                                            
                                            Zeit=0
                                            
                                            IAus=0
                                            
                                            VAus=29
                                            
                                            WAus=0
                                            
                                            pwr=0
                                            
                                            Vmax=60
                                            
                                            Cmax=24
                                            
                                            V=0
                                            
                                            C=0
                                            
                                            SW=0
                                            
                                            rV="01060000"
                                            
                                            vV=""
                                            
                                            rC="01060001"
                                            
                                            vC=""
                                            
                                            rSW="01060002000"
                                            
                                            vSW=""
                                            
                                            >BS
                                            
                                            +>subscribe V, cmnd/%topic%/tvolt
                                            
                                            +>subscribe C, cmnd/%topic%/tampere
                                            
                                            +>subscribe SW, cmnd/%topic%/tpow
                                            
                                            >B
                                            
                                            ->sensor53 r
                                            
                                            tper=10
                                            
                                            >S
                                            
                                            Timer+=1
                                            
                                            if Timer>30 {
                                            
                                            =>websend [192.168xxx.xxx] /cm?cmnd=status 10
                                            
                                            Timer=0
                                            
                                            
                                            }
                                            
                                            
                                            if chg[SW]>0 {
                                            
                                            vSW=rSW+s(SW)
                                            
                                            sml(1 3 vSW)
                                            
                                            +>publish stat/%topic%/RESULT {"tpow":%0SW%}
                                            
                                            }
                                            
                                            if chg[V]>0 {
                                            
                                            if V>Vmax {
                                            
                                            V=Vmax
                                            
                                            }
                                            
                                            if V<0 {
                                            
                                            V=0
                                            
                                            }
                                            
                                            vV=rV+sb(hx((V*100)) 4 4)
                                            
                                            sml(1 3 vV)
                                            
                                            +>publish stat/%topic%/RESULT {"tvolt":%2V%}  
                                            
                                            }
                                            
                                            if chg[C]>0 {
                                            
                                            if C>Cmax {
                                            
                                            C=Cmax
                                            
                                            }
                                            
                                            if C<0 {
                                            
                                            C=0
                                            
                                            }
                                            
                                            vC=rC+sb(hx((C*1000)) 4 4) 
                                            
                                            sml(1 3 vC)
                                            
                                            +>publish stat/%topic%/RESULT {"tampere":%2C%}  
                                            
                                            }
                                            
                                            >E
                                            
                                            bakt=WebQuery#StatusSNS#MT175#Bezug_Aktuell
                                            
                                            IAus=bakt/VAus
                                            
                                            WAus=IAus*VAus
                                            
                                            ; V und A setzen
                                            
                                            V=VAus
                                            
                                            C=IAus
                                            
                                            
                                            >W
                                            
                                            bu(SW "DPM Ein" "DPM Aus")
                                            
                                            bu(Zeit "Timer Ein" "Timer Aus")
                                            
                                            nm(0.0 60.0 0.01 V "DPM Ausgang (V)" 200 2)
                                            
                                            nm(0.0 24.0 0.01 C "DPM Ausgang (A)" 200 2)
                                            
                                            Bezug Zähler{m} %0bakt% W
                                            
                                            Errechnete Leistung{m} %0WAus% W
                                            
                                            Aktuelle Leistung{m} %0pwr% W
                                            
                                            
                                            
                                            >M 1
                                            
                                            +1,3,m,16,9600,DC,1,2,010300000001,010300010001,010300020001,010310030001
                                            
                                            1,010302SSssxxxx@i0:100,Spannung,V,sVolt,2
                                            
                                            1,010302SSssxxxx@i1:1000,Strom,A,sCur,2
                                            
                                            1,010302SSssxxxx@i2:1,Ausgang,,sSwitch,0
                                            
                                            1,010302SSssxxxx@i3:1,Temp,°C,tCur,1
                                            
                                            #
                                            
                                            Wal 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            815
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            235
                                            20777
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo