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

                                          @wal

                                          Ok ich teste mal mit Bezug Aktuell,
                                          dann brauche ich noch ein Ausgabefenster in der WEB UI mit Wert Bezug Aktuell
                                          Bzw 2, Bezug Zähler und DPM Ausgang Watt
                                          Du kannst das schneller 🙂
                                          Ziel ist ja erreicht, Feierabend ist heute früher.
                                          Lehrbrief 1, Übung 1 mit Sehr Gut bestanden 😉

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

                                            @wal

                                            so ?

                                            >D
                                            ; Ralla
                                            Bezug Aktuell=0
                                            >T ; alle 10 sec Telemetrieperiode eingestellt
                                            ; Ralla 
                                            ; jeder Variable im Script einen Wert zuweisen
                                            http("192.168.2.28" "/cm?cmnd=script>Bezug Aktuell=Wert)
                                            print Bezug Aktuell %Bezug Aktuell%
                                            
                                            Wal 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            765
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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