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

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

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

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

                                  E ;hier das json parsen

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

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

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

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

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

                                        @wal

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

                                        git 1.jpg

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

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

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

                                            @wal

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

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

                                            Nachtrag

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

                                            Dpm Timer.jpg

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

                                            DPM Dtu.jpg

                                            DPM Soll 1111.jpg

                                            Wal 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            789
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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