Navigation

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

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    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

      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
                                  • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            529
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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