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.2k

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 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
                    • Jonas HaberJ Jonas Haber

                      @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 ???

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

                      @jonas-haber ,
                      es gibt zwei Wege die Werte an ein anderes Tasmota Gerät zu senden.
                      Einmal mit Websend und einmal mit einer Globalen Variable.
                      Hier kannst du alles über die Wege erfahren.

                      Gruß
                      Walter

                      DoorIO-Adapter
                      wioBrowser-Adapter und wioBrowser

                      Jonas HaberJ 1 Antwort Letzte Antwort
                      0
                      • WalW Wal

                        @jonas-haber ,
                        es gibt zwei Wege die Werte an ein anderes Tasmota Gerät zu senden.
                        Einmal mit Websend und einmal mit einer Globalen Variable.
                        Hier kannst du alles über die Wege erfahren.

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

                        @wal said in DMP8624 -> iobroker:

                        @jonas-haber ,
                        es gibt zwei Wege die Werte an ein anderes Tasmota Gerät zu senden.
                        Einmal mit Websend und einmal mit einer Globalen Variable.
                        Hier kannst du alles über die Wege erfahren.

                        Danke für die Antwort. Endlich weiss ich mal einen Namen. Welche Variante habt ihr hier in diesem Forum verwendet? Ich möchte mich ja nah daran orientieren.

                        Edit:

                        Weisst du zufällig wie man herausfinden kann ob ein bestimmtes script wie glabal values oder websend auf der firmware installiert sind?

                        Gruß
                        Jonas

                        WalW 1 Antwort Letzte Antwort
                        0
                        • Jonas HaberJ Jonas Haber

                          @wal said in DMP8624 -> iobroker:

                          @jonas-haber ,
                          es gibt zwei Wege die Werte an ein anderes Tasmota Gerät zu senden.
                          Einmal mit Websend und einmal mit einer Globalen Variable.
                          Hier kannst du alles über die Wege erfahren.

                          Danke für die Antwort. Endlich weiss ich mal einen Namen. Welche Variante habt ihr hier in diesem Forum verwendet? Ich möchte mich ja nah daran orientieren.

                          Edit:

                          Weisst du zufällig wie man herausfinden kann ob ein bestimmtes script wie glabal values oder websend auf der firmware installiert sind?

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

                          @jonas-haber ,
                          ich nutze Globale Variable und @Ralla66 nutzt Websend.
                          Alles hat vor und Nachteile gehen tut beides.
                          GV hat Vorteile falls sich die IP mal ändert muss das Sender Script nicht angepasst werden und man kann mehrere Geräte die Variable abholen lassen. Nachteil ist das du immer Netzwerkverkehr hast.
                          Es ist halt eine Glaubenssache.

                          Gruß
                          Walter

                          DoorIO-Adapter
                          wioBrowser-Adapter und wioBrowser

                          Jonas HaberJ 1 Antwort Letzte Antwort
                          0
                          • WalW Wal

                            @jonas-haber ,
                            ich nutze Globale Variable und @Ralla66 nutzt Websend.
                            Alles hat vor und Nachteile gehen tut beides.
                            GV hat Vorteile falls sich die IP mal ändert muss das Sender Script nicht angepasst werden und man kann mehrere Geräte die Variable abholen lassen. Nachteil ist das du immer Netzwerkverkehr hast.
                            Es ist halt eine Glaubenssache.

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

                            @wal das ist sehr interessant. Danke. Weisst du wie man herausfinden kann ob eine Tasmota Firmware USE_WEBSEND_RESPONSE oder USE_SCRIPT_GLOBVARS drin hat?

                            Gruß
                            Jonas

                            WalW 1 Antwort Letzte Antwort
                            0
                            • Jonas HaberJ Jonas Haber

                              @wal das ist sehr interessant. Danke. Weisst du wie man herausfinden kann ob eine Tasmota Firmware USE_WEBSEND_RESPONSE oder USE_SCRIPT_GLOBVARS drin hat?

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

                              @jonas-haber ,
                              die Firmware wirst du selbst erstellen müssen. Es gibt irgendwo ein Online Compiler weis aber nicht wo da ich meine immer selbst erzeuge. Nutz mal die suche.

                              Gruß
                              Walter

                              DoorIO-Adapter
                              wioBrowser-Adapter und wioBrowser

                              Jonas HaberJ 1 Antwort Letzte Antwort
                              0
                              • WalW Wal

                                @jonas-haber ,
                                die Firmware wirst du selbst erstellen müssen. Es gibt irgendwo ein Online Compiler weis aber nicht wo da ich meine immer selbst erzeuge. Nutz mal die suche.

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

                                @wal also würde auch nicht die Firmware funktionieren, die hier reingestellt wurde? Kann man mit der Console im WebUI nicht herausfinden ob dieses oder jenes definiert ist?

                                Gruß
                                Jonas

                                WalW 1 Antwort Letzte Antwort
                                0
                                • Jonas HaberJ Jonas Haber

                                  @wal also würde auch nicht die Firmware funktionieren, die hier reingestellt wurde? Kann man mit der Console im WebUI nicht herausfinden ob dieses oder jenes definiert ist?

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

                                  @jonas-haber ,
                                  flashen und testen, anderes weis ich jetzt auch nicht.

                                  Gruß
                                  Walter

                                  DoorIO-Adapter
                                  wioBrowser-Adapter und wioBrowser

                                  Jonas HaberJ 1 Antwort Letzte Antwort
                                  0
                                  • WalW Wal

                                    @jonas-haber ,
                                    flashen und testen, anderes weis ich jetzt auch nicht.

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

                                    @wal okay danke. Ich verstehe nicht ganz wie ich den ausgelesenen Wert am Stromzähler als Variable verpacke ...

                                    (hier ein screen von einem Beispiel an dem ich mich orientiere)

                                    69fee2a0-ff71-4f76-b857-1b8b94a6ddce-image.png

                                    (und hier mein Script)

                                    >D
                                    g:pwr=0
                                    >T
                                    pwr=1,77070100100700ff@1,Verbrauch aktuell,W,Power_curr,0
                                    >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
                                    
                                    #
                                    
                                    

                                    ich denke das ist falsch doch wenn ich

                                    1,77070100100700ff@1,Verbrauch aktuell,W,Power_curr,0
                                    

                                    als globale Variable g setzen möchte was muss ich dann schreiben?

                                    Ich gehe mal davon aus, dass #define USE_SCRIPT_GLOBVARS definiert ist auf meiner Firmware.

                                    Gruß
                                    Jonas

                                    WalW 2 Antworten Letzte Antwort
                                    0
                                    • Jonas HaberJ Jonas Haber

                                      @wal okay danke. Ich verstehe nicht ganz wie ich den ausgelesenen Wert am Stromzähler als Variable verpacke ...

                                      (hier ein screen von einem Beispiel an dem ich mich orientiere)

                                      69fee2a0-ff71-4f76-b857-1b8b94a6ddce-image.png

                                      (und hier mein Script)

                                      >D
                                      g:pwr=0
                                      >T
                                      pwr=1,77070100100700ff@1,Verbrauch aktuell,W,Power_curr,0
                                      >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
                                      
                                      #
                                      
                                      

                                      ich denke das ist falsch doch wenn ich

                                      1,77070100100700ff@1,Verbrauch aktuell,W,Power_curr,0
                                      

                                      als globale Variable g setzen möchte was muss ich dann schreiben?

                                      Ich gehe mal davon aus, dass #define USE_SCRIPT_GLOBVARS definiert ist auf meiner Firmware.

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

                                      @jonas-haber sagte in DMP8624 -> iobroker:

                                      ich denke das ist falsch doch wenn ich
                                      Copy to Clipboard1,77070100100700ff@1,Verbrauch aktuell,W,Power_curr,0

                                      als globale Variable g setzen möchte was muss ich dann schreiben?
                                      Ich gehe mal davon aus, dass #define USE_SCRIPT_GLOBVARS definiert ist auf meiner Firmware.

                                      Ja das ist falsch, du nutzt einfache schlechte Variablenamen nimm einfach P wie in diesem Beispiel.

                                      >D
                                      g:pwr=0
                                      >T
                                      pwr=LK13BE#P
                                      >B
                                      ->sensor53 r
                                      >M 1
                                      +1,5,s,0,9600,LK13BE,1,10,2F3F210D0A,063035310D0A
                                      1,77070100100700ff@1,P,W,P,0
                                      1,77070100010800ff@1000,Zählerstand,kWh,Power_total_in,1
                                      #
                                      

                                      Gruß
                                      Walter

                                      DoorIO-Adapter
                                      wioBrowser-Adapter und wioBrowser

                                      1 Antwort Letzte Antwort
                                      0
                                      • Jonas HaberJ Jonas Haber

                                        @wal okay danke. Ich verstehe nicht ganz wie ich den ausgelesenen Wert am Stromzähler als Variable verpacke ...

                                        (hier ein screen von einem Beispiel an dem ich mich orientiere)

                                        69fee2a0-ff71-4f76-b857-1b8b94a6ddce-image.png

                                        (und hier mein Script)

                                        >D
                                        g:pwr=0
                                        >T
                                        pwr=1,77070100100700ff@1,Verbrauch aktuell,W,Power_curr,0
                                        >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
                                        
                                        #
                                        
                                        

                                        ich denke das ist falsch doch wenn ich

                                        1,77070100100700ff@1,Verbrauch aktuell,W,Power_curr,0
                                        

                                        als globale Variable g setzen möchte was muss ich dann schreiben?

                                        Ich gehe mal davon aus, dass #define USE_SCRIPT_GLOBVARS definiert ist auf meiner Firmware.

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

                                        @jonas-haber ,
                                        es geht noch einfacher ohne die Variablen zu ändern.

                                        >D
                                        g:pwr=0
                                        >S
                                        pwr=sml[1]
                                        >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
                                        #
                                        

                                        sml[Zeilennummer vom Wert]
                                        Vorteil: du hast jetzt jede Sekunde den Wert

                                        edit:

                                        #define USE_SCRIPT_GLOBVARS
                                        

                                        musst du setzen, habe keine Tasmotafirmware gefunden in der das aktiviert ist.
                                        strom.jpg

                                        Gruß
                                        Walter

                                        DoorIO-Adapter
                                        wioBrowser-Adapter und wioBrowser

                                        Jonas HaberJ 2 Antworten Letzte Antwort
                                        0
                                        • F fimoknete

                                          @fimoknete nachdem das nun läuft und ich den ESP über den browser steuern kann, wie gehe ich nun vor.

                                          a2910e85-6c82-44f3-a243-0840b502695b-image.png

                                          geht das über modbus oder über sonoff?

                                          E Offline
                                          E Offline
                                          Eri82
                                          schrieb am zuletzt editiert von Eri82
                                          #209

                                          Hallo zusammen,

                                          Bin neu hier bei euch. Habe zufällig euer Beitrag im Netz gefunden. Bin Dabei den Vorschlag von Andreas Schmidt umzusetzen wobei ich keine nulleinspeisung sondern eine konstante Einspeisung des Grundverbrauches realisiert habe. Mein Problem ist nur dass der Dmp natürlich ausgegangen ist wenn der akku leer war. Meine Idee ist jetzt den dmp abhängig von der akkuladung zu steuern.
                                          Habe mit Interesse obiges durchgelesen und dies auch bereits umgesetzt.

                                          @fimoknete wie hast du das hinbekommen?

                                          Bei mir sendet der ESP wie verrückt. erhalte aber keine antwort vom dmp.
                                          Screenshot 2024-04-14 071731.png

                                          habe dazu die minimale version vom skript genommen:

                                          D
                                          B
                                          ->sensor53 r
                                          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

                                          das verrückte dabei ist, dass wenn ich die dmp software über den esp und ein ttl wandler direkt am pc anschließe, ich den dmp steuern kann. wenn ich das so mache funkt auch rx ganz normal. ansonsten blinkt die ganze zeit tx

                                          das ganze habe ich wie unten dargestellt angeschlossen und auch die firmware von @Wal genutzt.

                                          Screenshot 2024-04-14 084019.png

                                          @Wal hast du ne Idee wieso ich standalone mit dem esp keine antwort vom dmp erhalte.
                                          Habe jetzt den dmp auch direkt ohne ttl/485 Wandler ohne erfolg angeschlossen. Kann ich diesen mit deiner Firmware überhaupt ansteuern?

                                          bin am verzweifeln :(. Weiss gar nicht wo ich ansetzen kann. Habe alles mögliche probiert :D.

                                          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

                                          846

                                          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