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

      @ralla66 ,
      was ich schon in Thermostaten mache ist aus dem Sonoff-Adapter Objekte abonnieren und im Skript weiter verarbeiten.
      Man legt ein Datenpunkt im Objektbaum vom DPM an und beschreibt ihn mit irgendetwas und hat den Wert dann im ESP.

      Ralla66 1 Reply Last reply Reply Quote 0
      • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            805
                                            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