Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. DMP8624 -> iobroker

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

DMP8624 -> iobroker

Geplant Angeheftet Gesperrt Verschoben Hardware
235 Beiträge 7 Kommentatoren 37.4k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • F fimoknete

    @fimoknete OK, geht doch. dauert nur ein paar Sekunden. Cool dass das endlich läuft. DU bist der Wahnsinn.

    WalW Offline
    WalW Offline
    Wal
    Developer
    schrieb am zuletzt editiert von
    #179

    @fimoknete ,
    in einem späteren Script hatte ich die Zeit verkürzt, schau sie alle mal durch.

    Gruß
    Walter

    DoorIO-Adapter
    wioBrowser-Adapter und wioBrowser

    F 1 Antwort Letzte Antwort
    0
    • WalW Wal

      @fimoknete ,
      in einem späteren Script hatte ich die Zeit verkürzt, schau sie alle mal durch.

      F Offline
      F Offline
      fimoknete
      schrieb am zuletzt editiert von fimoknete
      #180

      @wal
      jetzt habe ich ein anderes problem.

      Von Hand kann ich den Strom Wert in broker ändern und der DMP reagiert.

      Setze ich den gleichen Wert durch ein Script hoch oder runter wird der Wert in iobroker zwar übernommen aber nicht an den dmp geschickt.
      Was ist da los?

      ef3deaaf-d050-4277-8277-1e646bbd1a8f-image.png

      71ce0412-8a0f-4abc-a214-676d42f92cac-image.png

      Ist aktualisieren der falsche Befehl?

      und welcher Teil vom Script beinhaltet denn die Intervalle zum erneuern?

      WalW 1 Antwort Letzte Antwort
      0
      • F fimoknete

        @wal
        jetzt habe ich ein anderes problem.

        Von Hand kann ich den Strom Wert in broker ändern und der DMP reagiert.

        Setze ich den gleichen Wert durch ein Script hoch oder runter wird der Wert in iobroker zwar übernommen aber nicht an den dmp geschickt.
        Was ist da los?

        ef3deaaf-d050-4277-8277-1e646bbd1a8f-image.png

        71ce0412-8a0f-4abc-a214-676d42f92cac-image.png

        Ist aktualisieren der falsche Befehl?

        und welcher Teil vom Script beinhaltet denn die Intervalle zum erneuern?

        WalW Offline
        WalW Offline
        Wal
        Developer
        schrieb am zuletzt editiert von
        #181

        @fimoknete ,
        steuere ?

        Gruß
        Walter

        DoorIO-Adapter
        wioBrowser-Adapter und wioBrowser

        F 1 Antwort Letzte Antwort
        0
        • WalW Wal

          @fimoknete ,
          steuere ?

          F Offline
          F Offline
          fimoknete
          schrieb am zuletzt editiert von
          #182

          @wal ja, steuere geht. Knackpunklt ist hier wohl, dass aktualisieren einen bestätigen wert setzt. Dann geht die weitere Verarbeitung nicht mehr. Steuere setzt einen unbestätigten Wert, genauso wie bei händisch.

          welcher teil im script ist denn für die aktualiesierungszeiten zuständig?

          WalW 1 Antwort Letzte Antwort
          0
          • F fimoknete

            @wal ja, steuere geht. Knackpunklt ist hier wohl, dass aktualisieren einen bestätigen wert setzt. Dann geht die weitere Verarbeitung nicht mehr. Steuere setzt einen unbestätigten Wert, genauso wie bei händisch.

            welcher teil im script ist denn für die aktualiesierungszeiten zuständig?

            WalW Offline
            WalW Offline
            Wal
            Developer
            schrieb am zuletzt editiert von
            #183

            @fimoknete ,
            diesen Teil in >F dann gehts schneller.

            >F
            if chg[U]>0 {
              if U>Umax {
                U=Umax
              }
              if U<0 {
                U=0
              }
              vU=rU+sb(hx((U*100)) 4 4)
              sml(1 3 vU)
            }
            
            if chg[I]>0 {
              if I>Imax {
                I=Imax
              }
              if I<0 {
                I=0
              }
              vI=rI+sb(hx((I*1000)) 4 4)
              sml(1 3 vI)
            }
            
            if chg[SW]>0 {
              vSW=rSW+s(SW)
              sml(1 3 vSW)
              I=0.5
              U=0
            }
            

            Gruß
            Walter

            DoorIO-Adapter
            wioBrowser-Adapter und wioBrowser

            F 1 Antwort Letzte Antwort
            0
            • WalW Wal

              @fimoknete ,
              diesen Teil in >F dann gehts schneller.

              >F
              if chg[U]>0 {
                if U>Umax {
                  U=Umax
                }
                if U<0 {
                  U=0
                }
                vU=rU+sb(hx((U*100)) 4 4)
                sml(1 3 vU)
              }
              
              if chg[I]>0 {
                if I>Imax {
                  I=Imax
                }
                if I<0 {
                  I=0
                }
                vI=rI+sb(hx((I*1000)) 4 4)
                sml(1 3 vI)
              }
              
              if chg[SW]>0 {
                vSW=rSW+s(SW)
                sml(1 3 vSW)
                I=0.5
                U=0
              }
              
              F Offline
              F Offline
              fimoknete
              schrieb am zuletzt editiert von
              #184

              @wal Top, du bist der Beste !!!

              Aber mal noch ne andere Frage. Ich habe testweise mal den Aufbau genauso an meine Batterie gehangen. Ich bekomme sogar einen Datenstrom, den ich auslesen kann.

              516989af-6f13-49b0-9929-99190f7311e0-image.png

              Wie bekomme ich raus, was ich in deinem Minimalscript ändern muss, um erst mal relevante Daten angezeigt zu bekommen?

              85ddfb98-ad2d-4af2-9d0c-aebc10fbb1d1-image.png

              Und welche Sprache ist denn das Script in der Tasmota Console?

              F 1 Antwort Letzte Antwort
              0
              • F fimoknete

                @wal Top, du bist der Beste !!!

                Aber mal noch ne andere Frage. Ich habe testweise mal den Aufbau genauso an meine Batterie gehangen. Ich bekomme sogar einen Datenstrom, den ich auslesen kann.

                516989af-6f13-49b0-9929-99190f7311e0-image.png

                Wie bekomme ich raus, was ich in deinem Minimalscript ändern muss, um erst mal relevante Daten angezeigt zu bekommen?

                85ddfb98-ad2d-4af2-9d0c-aebc10fbb1d1-image.png

                Und welche Sprache ist denn das Script in der Tasmota Console?

                F Offline
                F Offline
                fimoknete
                schrieb am zuletzt editiert von fimoknete
                #185

                @fimoknete Ich habe mich da jetzt mal reingefrickelt.

                865be77f-6dff-4ca6-91ce-89705250b642-image.png

                3 der Giop3 = RX, m ist ja modbus 8n1, 16 der median und 9600 die baurate. So weit ist mir das klar.

                Nur wie ich den Datenstrom auseinandernehme ist mir nicht klar.
                0104 ist ja lesen aus dem Register und register ist 0x1000 also 1000. Aber bei 01041000 kommt nix an. Wo liegt der fehler????

                82574470-3bd7-47f8-987a-05de9c1e6f38-image.png

                89140d74-27d1-45d9-95e2-439bc0596022-image.png

                Ralla66R WalW 2 Antworten Letzte Antwort
                0
                • F fimoknete

                  @fimoknete Ich habe mich da jetzt mal reingefrickelt.

                  865be77f-6dff-4ca6-91ce-89705250b642-image.png

                  3 der Giop3 = RX, m ist ja modbus 8n1, 16 der median und 9600 die baurate. So weit ist mir das klar.

                  Nur wie ich den Datenstrom auseinandernehme ist mir nicht klar.
                  0104 ist ja lesen aus dem Register und register ist 0x1000 also 1000. Aber bei 01041000 kommt nix an. Wo liegt der fehler????

                  82574470-3bd7-47f8-987a-05de9c1e6f38-image.png

                  89140d74-27d1-45d9-95e2-439bc0596022-image.png

                  Ralla66R Offline
                  Ralla66R Offline
                  Ralla66
                  Most Active
                  schrieb am zuletzt editiert von Ralla66
                  #186

                  @fimoknete

                  hiermit werden 4 Daten angefragt :

                  +1,3,m,16,9600,DC,1,2,

                  010300000001,
                  010300010001,
                  010300020001,
                  010310030001

                  hier werden Empfangene Daten ausgewertet, SSss Werte werden nicht betrachtet

                  1,010302SSssxxxx@i0:100,Spannung,V,sVolt,2

                  1 Antwort Letzte Antwort
                  0
                  • F fimoknete

                    @fimoknete Ich habe mich da jetzt mal reingefrickelt.

                    865be77f-6dff-4ca6-91ce-89705250b642-image.png

                    3 der Giop3 = RX, m ist ja modbus 8n1, 16 der median und 9600 die baurate. So weit ist mir das klar.

                    Nur wie ich den Datenstrom auseinandernehme ist mir nicht klar.
                    0104 ist ja lesen aus dem Register und register ist 0x1000 also 1000. Aber bei 01041000 kommt nix an. Wo liegt der fehler????

                    82574470-3bd7-47f8-987a-05de9c1e6f38-image.png

                    89140d74-27d1-45d9-95e2-439bc0596022-image.png

                    WalW Offline
                    WalW Offline
                    Wal
                    Developer
                    schrieb am zuletzt editiert von
                    #187

                    @fimoknete ,
                    die Adressen vom DPM waren bekannt, da habe ich nichts rausfinden müssen.

                    Gruß
                    Walter

                    DoorIO-Adapter
                    wioBrowser-Adapter und wioBrowser

                    F 1 Antwort Letzte Antwort
                    0
                    • WalW Wal

                      @fimoknete ,
                      die Adressen vom DPM waren bekannt, da habe ich nichts rausfinden müssen.

                      F Offline
                      F Offline
                      fimoknete
                      schrieb am zuletzt editiert von
                      #188

                      @wal 8b2fae13-68ce-499c-9600-ca63b7e50647-image.png

                      F 1 Antwort Letzte Antwort
                      0
                      • F fimoknete

                        @wal 8b2fae13-68ce-499c-9600-ca63b7e50647-image.png

                        F Offline
                        F Offline
                        fimoknete
                        schrieb am zuletzt editiert von
                        #189

                        @fimoknete wieso sind deine abfragen 12 stellen lang? adresse und lese aus register ist klar. aber die restlichen 8 stellen?

                        Ralla66R 1 Antwort Letzte Antwort
                        0
                        • F fimoknete

                          @fimoknete wieso sind deine abfragen 12 stellen lang? adresse und lese aus register ist klar. aber die restlichen 8 stellen?

                          Ralla66R Offline
                          Ralla66R Offline
                          Ralla66
                          Most Active
                          schrieb am zuletzt editiert von Ralla66
                          #190

                          @fimoknete

                          würde das erst mit hterm senden, dann sollte eine Rückantwort kommen.
                          Teste mal mit dem DPM zuerst.

                          010300000001

                          Hterm send Bat.jpg

                          1,010302SSssxxxx@i0:100,Spannung,V,sVolt,2

                          Die Antwort auf 03 Read mit 02 Word ( 4 Byte ) SSss ( Register ) und xxxx ( Wert im Register )

                          F 1 Antwort Letzte Antwort
                          0
                          • Ralla66R Ralla66

                            @fimoknete

                            würde das erst mit hterm senden, dann sollte eine Rückantwort kommen.
                            Teste mal mit dem DPM zuerst.

                            010300000001

                            Hterm send Bat.jpg

                            1,010302SSssxxxx@i0:100,Spannung,V,sVolt,2

                            Die Antwort auf 03 Read mit 02 Word ( 4 Byte ) SSss ( Register ) und xxxx ( Wert im Register )

                            F Offline
                            F Offline
                            fimoknete
                            schrieb am zuletzt editiert von fimoknete
                            #191

                            @ralla66 Interessante Tasache. Ich habe mal die Formatierung auf 10 Stellen geändert. Jetzt sieht man Muster.

                            f99ea68f-93ce-44cf-9d5c-543d0ad53d7b-image.png

                            bbe96713-7761-423f-9d42-49f0bfd740f5-image.png

                            die BAtterie reagiert auf das Register bei tasmota.

                            4de4da98-ed97-4e1a-ae58-7b800d96d9ef-image.png
                            d61373a7-134d-4c2b-a177-6071903797e0-image.png

                            Jetzt muss ich nur noch rausfinden, wie ich den Datenstrom vom Tasmota interpretieren lassen kann.

                            1008 ist der SOC Wert im, Register

                            207d9b6b-bb8e-478f-9dee-7f9e50ee1dae-image.png

                            Aber was kommt denn auf die markierte Stelle?

                            Ralla66R 1 Antwort Letzte Antwort
                            0
                            • F fimoknete

                              @ralla66 Interessante Tasache. Ich habe mal die Formatierung auf 10 Stellen geändert. Jetzt sieht man Muster.

                              f99ea68f-93ce-44cf-9d5c-543d0ad53d7b-image.png

                              bbe96713-7761-423f-9d42-49f0bfd740f5-image.png

                              die BAtterie reagiert auf das Register bei tasmota.

                              4de4da98-ed97-4e1a-ae58-7b800d96d9ef-image.png
                              d61373a7-134d-4c2b-a177-6071903797e0-image.png

                              Jetzt muss ich nur noch rausfinden, wie ich den Datenstrom vom Tasmota interpretieren lassen kann.

                              1008 ist der SOC Wert im, Register

                              207d9b6b-bb8e-478f-9dee-7f9e50ee1dae-image.png

                              Aber was kommt denn auf die markierte Stelle?

                              Ralla66R Offline
                              Ralla66R Offline
                              Ralla66
                              Most Active
                              schrieb am zuletzt editiert von
                              #192

                              @fimoknete sagte in DMP8624 -> iobroker:

                              Aber was kommt denn auf die markierte Stelle?

                              Meine das sind die Abgefragten Register. 00 00 ist das aktuelle also 1008.
                              1008 0003 müßte Register 1008 bis 1010 sein.
                              Eventuell mußt du Soc umrechnen, kommt ja laut Tabelle als unsigned Integer 16
                              zurück.

                              1 Antwort Letzte Antwort
                              0
                              • L Offline
                                L Offline
                                Linos
                                schrieb am zuletzt editiert von Linos
                                #193

                                Hallo Zusammen,

                                dank der Hilfe von @Wal aus Balkonkraftwerk DPM8624 Tasmota Sonoff-Adapter habe ich einen D1mini mit dem DPM zum laufen bekommen.

                                Was habe ich vor:
                                Ich möchte eine AC-Laderegelung in Abhängigkeit vom PV-Überschuss realisieren. Ursprünglich hatte ich das Meanwell HLG-600H-54AB (via Steuerspannung 0-10V) im Blick, mittlerweile würde ich aber auf ein DPM6824 in Kombination mit einem ESP setzen wollen. Ich habe mir bereits viele gedanken über die Ausfallsicherheit und Autarkie der Regelung gemacht. Wenn ich mir als Leihe in diesen Thema etwas wünschen dürfte, würde ich folgende vorgehen favorisieren.

                                • Ein Shelly3em stellt die aktuellen Leistungen zu verfügung.
                                • Tasmota fragt zyklisch die Werte vom Shelly 3em ab, verrechnet diese entsprechend und gibt es an dem DPM8624 weiter.
                                • Ladeleistung wird langsam geregelt
                                • Variablen definierbar (maxLeistung; Festspannung;)
                                • Alle Werte und manueller Eingriff sind per mqtt verfügbar
                                • Wenn keine Werte vom Shelly3em ankommt, dann wird der DPM8624 deaktiviert

                                Könnte man dieses mit dem ESP+DPM umsetzen? Die >190 Beiträge lassen es nach dem lesen vermuten aber lassen mich auch etwas verzweifeln :-)

                                1 Antwort Letzte Antwort
                                0
                                • WalW Wal

                                  @ralla66 ,
                                  Die Spannung habe ich fest auf 40V eingestellt da mein WR 28V-45V Eingang hat und Strom errechnet er vom aktuellen Verbrauch und nähert sich langsam an bis die errechnete Leitung gegen 0 geht.
                                  Ich übergebe kein Spannung/Strom.

                                  L Offline
                                  L Offline
                                  Linos
                                  schrieb am zuletzt editiert von
                                  #194

                                  @wal sagte in DMP8624 -> iobroker:

                                  @ralla66 ,
                                  Die Spannung habe ich fest auf 40V eingestellt da mein WR 28V-45V Eingang hat und Strom errechnet er vom aktuellen Verbrauch und nähert sich langsam an bis die errechnete Leitung gegen 0 geht.
                                  Ich übergebe kein Spannung/Strom.

                                  Bist du mit der genannten Festspannung zufällig ausserhalb vom MPPT-Spannungsbereich? Mich würde interessieren wie die Tracker ausserhalb ihres MPPT-Spannungsbereichs arbeiten. Innerhalb vom MPPT-Spannungsbereich müsste man das gut an dem schwankenden Strom am DPM sehen?

                                  Ralla66R 1 Antwort Letzte Antwort
                                  0
                                  • L Linos

                                    @wal sagte in DMP8624 -> iobroker:

                                    @ralla66 ,
                                    Die Spannung habe ich fest auf 40V eingestellt da mein WR 28V-45V Eingang hat und Strom errechnet er vom aktuellen Verbrauch und nähert sich langsam an bis die errechnete Leitung gegen 0 geht.
                                    Ich übergebe kein Spannung/Strom.

                                    Bist du mit der genannten Festspannung zufällig ausserhalb vom MPPT-Spannungsbereich? Mich würde interessieren wie die Tracker ausserhalb ihres MPPT-Spannungsbereichs arbeiten. Innerhalb vom MPPT-Spannungsbereich müsste man das gut an dem schwankenden Strom am DPM sehen?

                                    Ralla66R Offline
                                    Ralla66R Offline
                                    Ralla66
                                    Most Active
                                    schrieb am zuletzt editiert von Ralla66
                                    #195

                                    @linos sagte in DMP8624 -> iobroker:

                                    Mich würde interessieren wie die Tracker ausserhalb ihres MPPT-Spannungsbereichs arbeiten

                                    Tun sie , hast nur eben einen schlechteren Wirkungsgrad, laufen tut das aber.
                                    Zu deinem Projekt, AC-Laderegelung ist zu überlegen ob du nicht besser DC - DC machst,
                                    da die Verluste bei AC höher sind.
                                    Zu deinen Wünschen, ja geht alles, Bedingung ist hier Tasmota Scripting lernen.

                                    L 1 Antwort Letzte Antwort
                                    0
                                    • Ralla66R Ralla66

                                      @linos sagte in DMP8624 -> iobroker:

                                      Mich würde interessieren wie die Tracker ausserhalb ihres MPPT-Spannungsbereichs arbeiten

                                      Tun sie , hast nur eben einen schlechteren Wirkungsgrad, laufen tut das aber.
                                      Zu deinem Projekt, AC-Laderegelung ist zu überlegen ob du nicht besser DC - DC machst,
                                      da die Verluste bei AC höher sind.
                                      Zu deinen Wünschen, ja geht alles, Bedingung ist hier Tasmota Scripting lernen.

                                      L Offline
                                      L Offline
                                      Linos
                                      schrieb am zuletzt editiert von
                                      #196

                                      @ralla66 Außerhalb vom MPPT-Spannungsbereich bleibt der Strom am DPM8624 dann also konstant?
                                      Ich frage nur, da ich mir nicht sicher bin ob das MPPT-Tracken auf Dauer für den DPM8624 so gesund ist?

                                      Da hast du recht, Laderegelung DC zu DC wäre das optimalste. Leider ist es bei mir nicht ohne weiteres möglich.

                                      Ralla66R 1 Antwort Letzte Antwort
                                      0
                                      • L Linos

                                        @ralla66 Außerhalb vom MPPT-Spannungsbereich bleibt der Strom am DPM8624 dann also konstant?
                                        Ich frage nur, da ich mir nicht sicher bin ob das MPPT-Tracken auf Dauer für den DPM8624 so gesund ist?

                                        Da hast du recht, Laderegelung DC zu DC wäre das optimalste. Leider ist es bei mir nicht ohne weiteres möglich.

                                        Ralla66R Offline
                                        Ralla66R Offline
                                        Ralla66
                                        Most Active
                                        schrieb am zuletzt editiert von Ralla66
                                        #197

                                        @linos sagte in DMP8624 -> iobroker:

                                        Außerhalb vom MPPT-Spannungsbereich bleibt der Strom am DPM8624 dann also konstant?

                                        Das regelt ja der DPM und bleibt konstant unabhängig vom Eingang.
                                        Im Prinzip hast du ja 2 Regelungen, die vom Tracker und die des DPM.
                                        Beides beeinflusst sich ja gegenseitig, deshalb ist hier von Vorteil eine ruhige Regelung des Trackers zu erreichen.
                                        Abhängigkeit vom PV-Überschuss ist da eher schlecht.

                                        1 Antwort Letzte Antwort
                                        0
                                        • WalW 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

                                          Jonas HaberJ Offline
                                          Jonas HaberJ Offline
                                          Jonas Haber
                                          schrieb am zuletzt editiert von Jonas Haber
                                          #198

                                          @wal said in DMP8624 -> iobroker:

                                          @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
                                          

                                          hi, ich versuche im Prinzip das gleiche hin zu bekommen. Ich kann meinen DPM manuell steuern über das WebUI von Tasmota.

                                          177b51f3-567c-4151-a7ce-39e4adb7e7d8-image.png

                                          Natürlich möchte ich, dass sich der DPM automatisch nach dem aktuellen Verbrauch am Zähler orientiert und danach den Strom einstellt. Ich komme einfach nicht bei der Kommunikation zwischen diesen beiden weiter. Jetzt habe ich gelesen, dass du noch was in die Firmware eingefügt hast? Wie geht das denn?

                                          Edit:

                                          Ok verstehe, du kannst also Tasmota Firmware konfigurieren. Jetzt frage ich mich ob meine Firmware reicht damit die beiden Kommunizieren.

                                          So sieht aktuell der Script meines Zählers aus:

                                          >D
                                          >B
                                          ->sensor53 r
                                          >M 1
                                          +1,5,s,0,9600,LK13BE,1,10,2F3F210D0A,063035310D0A
                                          
                                          1,77070100100700ff@1,Verbrauch aktuell,W,Power_curr,0
                                          1,77070100010800ff@1000,Zählerstand,kWh,Power_total_in,1
                                          
                                          #
                                          
                                          

                                          und das ist der Script des DPM:

                                          >D            // a valid script must start with >D in the first line
                                          Vmax=40      
                                          Cmax=24
                                          v=0
                                          V=0
                                          c=0
                                          C=0
                                          sw=0
                                          SW=0
                                          rV="01060000"
                                          vV=""
                                          rC="01060001"
                                          vC=""
                                          rSW="01060002000"
                                          vSW=""
                                           
                                          >BS                                  // executed on BOOT time after sensors are initialized
                                          +>subscribe V, cmnd/tasmota/tvolt
                                          +>subscribe C, cmnd/tasmota/tampere
                                          +>subscribe SW, cmnd/tasmota/tpow
                                           
                                          >B                  // executed on BOOT time before sensors are initialized and on save script
                                          smlj=0             // smlj = read or write variable, when 0 disables MQTT output of SML.
                                          ->sensor53 r      // Declare >B (boot) section to inform the interface to read the meter descriptor(s):
                                           
                                          >R           // Executed on restart. p vars are saved automatically after this call
                                          smlj=0       // smlj = read or write variable, when 0 disables MQTT output of SML.
                                           
                                          >S               // Executed every second
                                          if upsecs>30
                                          then
                                          smlj=1   // smlj = read or write variable, when 0 disables MQTT output of SML.
                                          endif
                                           
                                          >W   // The lines in this section are displayed in the web UI main page.
                                          bu(SW "DPM Ein" "DPM Aus") // Buttons
                                          nm(0.0 60.0 0.01 V "DPM Ausgang (V)" 200 2)  // nm(min max step vn txt (xs) (prec))
                                          nm(0.0 24.0 0.01 C "DPM Ausgang (A)" 200 2)
                                           
                                          >T               // Executed at least at TelePeriod time 
                                          sw=DC#sSwitch
                                          v=DC#sVolt
                                          c=DC#sCur
                                           
                                           
                                          if ((chg[sw]>0) and (SW!=sw))
                                          then
                                            SW=sw
                                            +>publish stat/%topic%/RESULT {"tpow":%1sw%}
                                          endif
                                           
                                          if ((chg[v]>0) and (V!=v))
                                          then
                                            V=v
                                            +>publish stat/%topic%/RESULT {"tvolt":%1v%}
                                          endif
                                           
                                          if ((chg[c]>0) and (C!=c))
                                          then
                                            C=c
                                            +>publish stat/%topic%/RESULT {"tampere":%1c%}
                                          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":%1V%}
                                            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":%1C%}
                                            sml(1 3 vC)
                                          endif
                                           
                                          if ((chg[SW]>0) and (sw!=SW))
                                          then
                                            vSW=rSW+s(SW)
                                            +>publish stat/%topic%/RESULT {"tpow":%1SW%}
                                            sml(1 3 vSW)
                                          endif
                                           
                                          >M 1  // Smart Meter Interface
                                          +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
                                          #
                                          

                                          Wie gesagt kann ich manuell den DPM steuern indem ich den Wert des IR-Zählers über die WebUI lese und händisch beim DPM über die WebUI eingebe. Ich weiss nur dass ich einen Broker habe auf einem Raspberry Pi 4 auf dem Mosquitto installiert ist. Dort kann ich ein Passwort und Nutzernamen erstellen welche ich jeweils für den DPM und den IR-Lesekopf schon in der WebUi eingetragen habe. Laut der Console der beiden WebUis scheinen sie sich auch mit dem Broker verbunden zu haben.

                                          Ich versuche nun irgendwie den Script von diesem Forum bei mir zu integrieren damit das ganze automtisch läuft.

                                          Weiter oben habe ich das gefunden:

                                          >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
                                          #
                                          

                                          Ich denke, dass dies für den IR- Lesekopf ist und frage mich was denn folgendes bedeutet:

                                          >T
                                          aktuell=MT175#P
                                          http("192.168.xxx.xxx" "/cm?cmnd=script>Aktuell="+s(aktuell))
                                          

                                          wird hier irgendetwas versendet? Wichtig für den DPM wäre einfach nur der aktuelle Verbrauch in Watt den ich auch in der WebUI sehen kann. Diesen müsste der DPM irgendwie übermittelt bekommen und daraus mit einer festen Spannung (z.B. 35V) den Strom so anpassen, dass ungefähr immer null am Zähler steht. Desweiteren müsste ich einstellen was das maximum wäre (beim DPM8650 wären es knapp 3000W). Ich habe 4 mal 700W Tie Grid Inverter (2800W). Natürlich muss der Einspeisevorgang auch gestoppt werden, wenn der Akku (2 kWh) leer wird. Ab einer bestimmen Spannung muss dann der DPM aufhören oder wieder anfangen. Die Spannung kann man ja leider nicht direkt am DPM (input) auslesen wie ich vermute. Deshalb werde ich in zukunft noch einen weiteren Sensor benötigen oder ich zapfe den Victron 100 20 ebenfalls mit einem ESP über Tasmota an. Hierfür müsste ich aber auch wieder wissen wie die einzelnen Tasmotageflashten ESPs miteinander kommunizieren können. Ich weiss das dies über den Broker funktioniert. Aber wo ich was in den Scripts schreiben muss ist mir bislang ein Rätsel.

                                          Hier ist der Scipt von oben für den DPM:

                                          
                                          >D
                                           
                                          Timer=0
                                          p=0
                                           
                                          bakt=0
                                           
                                          Zeit=0
                                           
                                          IAus=0
                                           
                                          VAus=35
                                           
                                          WAus=0
                                           
                                          pwr=0
                                           
                                          Vmax=35
                                           
                                          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>30 {
                                           
                                          =>websend [192.168xxx.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
                                           
                                          bakt=WebQuery#StatusSNS#MT175#Bezug_Aktuell
                                           
                                          IAus=bakt/VAus
                                           
                                          WAus=IAus*VAus
                                           
                                          ; V und A setzen
                                           
                                          V=VAus
                                           
                                          C=IAus
                                           
                                           
                                          >W
                                           
                                          bu(SW "DPM Ein" "DPM Aus")
                                           
                                          bu(Zeit "Timer Ein" "Timer 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)
                                           
                                          Bezug Zähler{m} %0bakt% W
                                           
                                          Errechnete Leistung{m} %0WAus% W
                                           
                                          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
                                           
                                          #
                                          
                                          

                                          werden die Daten hiermit empfangen?

                                          >BS
                                           
                                          +>subscribe V, cmnd/%topic%/tvolt
                                           
                                          +>subscribe C, cmnd/%topic%/tampere
                                           
                                          +>subscribe SW, cmnd/%topic%/tpow
                                          

                                          oder hiermit?

                                          >S
                                           
                                          Timer+=1
                                           
                                          if Timer>30 {
                                           
                                          =>websend [192.168xxx.xxx] /cm?cmnd=status 10
                                          

                                          wo muss ich was eingeben damit die beiden endlich miteinander reden ???

                                          Gruß
                                          Jonas

                                          WalW 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          970

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe