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.
    • Ralla66
      Ralla66 Most Active @Wal last edited by

      @Wal

      von Tasmota nach Tasmota cmd senden geht ja, wäre die Frage ob beim Scripting es möglich ist ein
      Request zu senden und die Antwort ( Json ) darauf hin zu empfangen.
      Das wäre für Hichi ESP Lesekopf Besitzer dann die Top Speicher Balkonkraftwerk Nulleinspeisung
      mit dem DPM.

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

        @ralla66 ,
        mit einem Mosquitto Server kein Problem, könnte auch mit dem MQTT-Adapter als Server gehen.
        Es braucht da auch kein Json, man kann jeden Datenpunkt abonnieren den man möchte.

        >BS
        +>subscribe V, cmnd/%topic%/tvolt
        +>subscribe C, cmnd/%topic%/tampere
        +>subscribe SW, cmnd/%topic%/tpow
        +>subscribe L, stat/Haus.Stromzaehler/aktuelle_leistung
        +>subscribe G, stat/Haus.Wechselrichter/wasauchimmer
        

        Http request gibt es auch im Skript

        USE_WEBSEND_RESPONSE)
        http("url" "payload") = does a GET or POST request on a URL (http:// is internally added)
        

        edit: einen hichi und solarregler habe ich ja, brauche nur eine Batterie zum spielen.

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

          @wal

          Pylontech 🙂
          Alles was das Herz begehrt an Schnittstellen, auslesen per ESP Routine.
          BMS mit an Board.

          Eher Autark, ESP DPM mit ESP Zähler, IO und Mqtt Broker kann ja dabei sein, aber eben kein muss.

          Post klingt Interessant, damit kann ich den HM600 über NRF Antenne direkt steuern.

          Nachtrag

          http("url" "payload") = does a GET or POST request on a URL (http:// is internally added)
          
          

          Antwort kann wie per print ausgegeben werden ? Teste dann heute Abend

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

            @ralla66 sagte in DMP8624 -> iobroker:

            Pylontech

            Pylontech US5000 1.235,25 € evtl. mit dem Weihnachtsgeld. 😉

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

              @wal

              Die kleine Pylontech Routine

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

                @wal

                Request Antwort Json print so ?

                ; Read the status JSON payload

                U
                gw=StatusNET#Gateway
                print %gw%

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

                  @ralla66 ,
                  da musst du dich mal durcharbeiten, habe damit noch nichts gemacht. 😉

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

                    @wal

                    ok, dann mal ran an Lehrbrief 1 -> Übung 1 🙂

                    Button Websend einfügen, Websend ausführen, Antwort Request in Var schreiben.

                    1 und 2 sollte gehen, bei 3 haperts noch 😉

                    >D
                    ; Ralla
                    gw=""
                    
                    Vmax=60
                    Cmax=24
                    v=0
                    V=0
                    c=0
                    C=0
                    sw=0
                    SW=0
                    ; Ralla
                    WS=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
                    smlj=0
                    ->sensor53 r
                    ; Ralla
                    ; Request Status information. The response will trigger the `U` section
                    +>status 5
                    
                    >R
                    smlj=0
                    >S
                    if upsecs>30
                    then
                    smlj=1
                    endif
                    >W
                    bu(SW "DPM Ein" "DPM Aus")
                    ; Ralla
                    bu(WS "WebSend" "Websend")
                    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)
                    >T
                    sw=DC#sSwitch
                    v=DC#sVolt
                    c=DC#sCur
                    if ((chg[sw]>0) and (SW!=sw))
                    then
                      SW=sw
                      +>publish stat/%topic%/RESULT {"tpow":%0sw%}
                    endif
                    if ((chg[v]>0) and (V!=v))
                    then
                      V=v
                      +>publish stat/%topic%/RESULT {"tvolt":%2v%}
                    endif
                    if ((chg[c]>0) and (C!=c))
                    then
                      C=c
                      +>publish stat/%topic%/RESULT {"tampere":%2c%}
                    endif
                    if chg[V]>0
                    then
                      if V>Vmax
                      then
                        V=Vmax
                      endif
                      if V<0
                      then
                        V=0
                      endif
                      vV=rV+sb(hx((V*100)) 4 4)
                      +>publish stat/%topic%/RESULT {"tvolt":%2V%}
                      sml(1 3 vV)
                    endif
                    if chg[C]>0
                    then
                      if C>Cmax
                      then
                        C=Cmax
                      endif
                      if C<0
                      then
                        C=0
                      endif
                      vC=rC+sb(hx((C*1000)) 4 4)
                      +>publish stat/%topic%/RESULT {"tampere":%2C%}
                      sml(1 3 vC)
                    endif
                    if ((chg[SW]>0) 
                    then
                      vSW=rSW+s(SW)
                      +>publish stat/%topic%/RESULT {"tpow":%0SW%}
                      sml(1 3 vSW)
                    endif
                    
                    ; Ralla
                    if ((chg[WS]>0) 
                    then
                    
                    =>WebSend [192.168.2.28] /cm?cmnd=status&2010
                    ;Org Ralla IO http://192.168.2.28/cm?cmnd=status%2010
                    print Ralla websend
                    
                    endif
                    ; Ralla
                    ; Read the status JSON payload
                    >U
                    gw=StatusNET#Gateway
                    ;gw=StatusSNS,MT175,Bezug_aktuell
                    print %gw%
                    print Ralla gw
                    
                    >M 1
                    +1,3,m,16,9600,DC,1,2,010300000001,010300010001,010300020001,010310010001,010310020001
                    1,010302SSssxxxx@i0:100,Spannung (set),V,sVolt,2
                    1,010302SSssxxxx@i1:1000,Strom (set),A,sCur,2
                    1,010302SSssxxxx@i2:1,Ausgang (set),,sSwitch,0
                    1,010302SSssxxxx@i3:100,Spannung (disp),V,dVolt,2
                    1,010302SSssxxxx@i4:1000,Strom (disp),A,vCur,2
                    #
                    

                    DPM WebSend.jpg

                    DPM WebSend gui.jpg

                    ; Request Status information. The response will trigger the U section

                    B
                    +>status 5
                    Dann sollte ja U print ausgeführt sein, ist aber nicht, dann kann nur WebSend falsch sein

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

                      @ralla66 ,
                      denk daran das man eine Firmware mit USE_WEBSEND_RESPONSE braucht.

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

                        @ralla66 ,
                        hier für dich falls du es noch nicht kennst.

                        edit: Werde ich heute testen ob ich den aktuellen Verbrauch vom hichi holen kann wenn du nicht dazu kommst.

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

                          @wal

                          heute morgen war um 0:30 Feierabend 🙂
                          den Link lese ich heute Abend,
                          habe boot error am ESP nach dem flashen / script einfügen, war eventuell schon übermüdet
                          meine .bin mit USE_WEBSEND_RESPONSE aktiviert lief nicht sauber.
                          kannst du mal bitte die .bin hochladen mit Zeile 471 USE_WEBSEND_RESPONSE aktiviert
                          Wäre cool wenn du mit testes, macht das debuggen einfacher.

                          Danke

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

                            @ralla66 ,
                            firmware_websend.bin.gz

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

                              @wal

                              Danke, jetzt weiter

                              Wal 1.jpg

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

                                @wal

                                erste Antwort, bekomme ein WEbQuery zurück

                                17:35:28.308 SCR: performs "WebSend [192.168.2.28] /cm?cmnd=status&2010"
                                17:35:29.951 MQT: stat/tasmota_3CECBB/RESULT = {"WebQuery":{"Status":{"Module":18,"DeviceName":"SMA","FriendlyName":["SMA"],"Topic":"tasmota_D35C9C","ButtonTopic":"0","Power":0,"PowerOnState":3,"LedState":1,"LedMask":"FFFF","SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[0,0,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0,"InfoRetain":0,"StateRetain":0}}}
                                17:35:29.955 MQT: stat/tasmota_3CECBB/RESULT = {"WebSend":"Done"}
                                17:35:29.957 Ralla websend
                                
                                >D
                                
                                ; Ralla
                                
                                gw=""
                                
                                
                                Vmax=60
                                
                                Cmax=24
                                
                                v=0
                                
                                V=0
                                
                                c=0
                                
                                C=0
                                
                                sw=0
                                
                                SW=0
                                
                                ; Ralla
                                
                                WS=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
                                
                                smlj=0
                                
                                ->sensor53 r
                                
                                ; Ralla
                                
                                ; Request Status information. The response will trigger the `U` section
                                
                                +>status 5
                                
                                 
                                
                                >R
                                
                                smlj=0
                                
                                >S
                                
                                if upsecs>30
                                
                                then
                                
                                smlj=1
                                
                                endif
                                
                                >W
                                
                                bu(SW "DPM Ein" "DPM Aus")
                                
                                ; Ralla
                                
                                bu(WS "WebSend" "Websend")
                                
                                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)
                                
                                >T
                                
                                sw=DC#sSwitch
                                
                                v=DC#sVolt
                                
                                c=DC#sCur
                                
                                if ((chg[sw]>0) and (SW!=sw))
                                
                                then
                                
                                  SW=sw
                                
                                  +>publish stat/%topic%/RESULT {"tpow":%0sw%}
                                
                                endif
                                
                                if ((chg[v]>0) and (V!=v))
                                
                                then
                                
                                  V=v
                                
                                  +>publish stat/%topic%/RESULT {"tvolt":%2v%}
                                
                                endif
                                
                                if ((chg[c]>0) and (C!=c))
                                
                                then
                                
                                  C=c
                                
                                  +>publish stat/%topic%/RESULT {"tampere":%2c%}
                                
                                endif
                                
                                if chg[V]>0
                                
                                then
                                
                                  if V>Vmax
                                
                                  then
                                
                                    V=Vmax
                                
                                  endif
                                
                                  if V<0
                                
                                  then
                                
                                    V=0
                                
                                  endif
                                
                                  vV=rV+sb(hx((V*100)) 4 4)
                                
                                  +>publish stat/%topic%/RESULT {"tvolt":%2V%}
                                
                                  sml(1 3 vV)
                                
                                endif
                                
                                if chg[C]>0
                                
                                then
                                
                                  if C>Cmax
                                
                                  then
                                
                                    C=Cmax
                                
                                  endif
                                
                                  if C<0
                                
                                  then
                                
                                    C=0
                                
                                  endif
                                
                                  vC=rC+sb(hx((C*1000)) 4 4)
                                
                                  +>publish stat/%topic%/RESULT {"tampere":%2C%}
                                
                                  sml(1 3 vC)
                                
                                endif
                                
                                if ((chg[SW]>0) 
                                
                                then
                                
                                  vSW=rSW+s(SW)
                                
                                  +>publish stat/%topic%/RESULT {"tpow":%0SW%}
                                
                                  sml(1 3 vSW)
                                
                                endif
                                
                                 
                                
                                ; Ralla
                                
                                if ((chg[WS]>0) 
                                
                                then
                                
                                 
                                
                                =>WebSend [192.168.2.28] /cm?cmnd=status&2010
                                
                                res=WebSend [192.168.2.28] /cm?cmnd=status&2010
                                
                                ;Org Ralla IO http://192.168.2.28/cm?cmnd=status%2010
                                
                                print Ralla websend
                                
                                
                                
                                endif
                                
                                ; Ralla
                                
                                ; Read the status JSON payload
                                
                                >U
                                
                                gw=StatusNET#Gateway
                                
                                ;gw=StatusSNS,MT175,Bezug_aktuell
                                
                                print %gw%
                                
                                print Ralla gw
                                
                                 
                                
                                >M 1
                                
                                +1,3,m,16,9600,DC,1,2,010300000001,010300010001,010300020001,010310010001,010310020001
                                
                                1,010302SSssxxxx@i0:100,Spannung (set),V,sVolt,2
                                
                                1,010302SSssxxxx@i1:1000,Strom (set),A,sCur,2
                                
                                1,010302SSssxxxx@i2:1,Ausgang (set),,sSwitch,0
                                
                                1,010302SSssxxxx@i3:100,Spannung (disp),V,dVolt,2
                                
                                1,010302SSssxxxx@i4:1000,Strom (disp),A,vCur,2
                                
                                #
                                
                                Wal 2 Replies Last reply Reply Quote 0
                                • Wal
                                  Wal Developer @Ralla66 last edited by

                                  @ralla66 ,
                                  http.jpg

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

                                    @ralla66 ,

                                    Hichi:

                                    >D
                                    aktuell=0
                                    >B
                                    ->sensor53 r
                                    >T
                                    aktuell=MT175#P
                                    http("192.168.xxx.xxx" "/cm?cmnd=script>Aktuell="+s(aktuell))
                                    >M 1
                                    +1,3,s,16,9600,MT175
                                    1,77070100010800ff@1000,E_in,kWh,E_in,1
                                    1,77070100010801ff@1000,E_in_HT,kWh,E_in_HT,1
                                    1,77070100010802ff@1000,E_in_NT,kWh,E_in_NT,1
                                    1,77070100020800ff@1000,E_out,kWh,E_out,1
                                    1,77070100100700ff@1,P,W,P,18
                                    1,77070100000009ff@#,Server_ID,,Server_ID,0
                                    #
                                    

                                    DPM8624:

                                    >D
                                    Aktuell=0
                                    >W
                                    Aktuelle Leistung{m} %0Aktuell% W
                                    
                                    Ralla66 1 Reply Last reply Reply Quote 0
                                    • Ralla66
                                      Ralla66 Most Active @Wal last edited by

                                      @wal

                                      Habe die Data, %20 weglassen

                                      18:10:08.057 SCR: performs "WebSend [192.168.2.28] /cm?cmnd=status 10"
                                      18:10:08.622 MQT: stat/tasmota_3CECBB/RESULT = {"WebQuery":{"StatusSNS":{"Time":"2023-09-20T18:10:08","MT175":{"Geräte_ID":"","Verbrauch_Gesamt":37714,"Bezug_Tarif_1":37714.412,"Bezug_Tarif_2":0,"Netzeinspeisung":0,"Lieferung_Tarif_1":0,"Lieferung_Tarif_2":0,"Bezug_aktuell":9,"Phase_L1":17,"Phase_L2":-71,"Phase_L3":62}}}}
                                      18:10:08.626 MQT: stat/tasmota_3CECBB/RESULT = {"WebSend":"Done"}
                                      18:10:08.628 Ralla websend
                                      
                                      ; Ralla
                                      if ((chg[WS]>0) 
                                      then
                                      ;10 = show connected sensor information (replaces 'Status 8')
                                      =>WebSend [192.168.2.28] /cm?cmnd=status 10
                                      print Ralla websend
                                      endif
                                      

                                      Yeep 🙂
                                      jetzt noch zerlegen, Ideen ? mit U ?

                                      Teste mal mit Hichi ob Daten kommen

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

                                        @ralla66 ,
                                        Ätsch war trotzdem erster. 😉

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

                                          @wal

                                          ok hast gewonnen 🙂

                                          wie machen wir weiter ?
                                          Ein DPM Script für alle IR Leseköpfe bauen, also den Status SNS komplett abholen.
                                          Dann den Bezugswert Filtern. Habe ja kein Hichi. Dieser Wert kann ja anders benannt sein,
                                          Dann Script cleanen und die erste Beta 1.0 bauen.
                                          Weiter dann mit der Berechnung Bezug -> DPM setzt V und A ?

                                          Gruß Ralla

                                          Nachtrag, Leseköpfe ( Status SNS ) Json einlesen, dann würden auch Shelly PM gehen.

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

                                            @ralla66 ,
                                            ja schau mal ob du den Wert rausfiltern kannst.

                                            Mit http("192.168.xxx.xxx" "/cm?cmnd=script>Variablename=Wert) kannst du jeder Variable im Script einen Wert verpassen.
                                            Mit Variable=http("192.168.xxx.xxx" "/cm?cmnd=script?Variablename) kannst du jeden Wert anfordern.

                                            Ralla66 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            816
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            235
                                            20784
                                            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