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. Skripten / Logik
  4. Blockly
  5. OpenDTU-onBattery Blockly DPL Ein/Aus

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

OpenDTU-onBattery Blockly DPL Ein/Aus

Geplant Angeheftet Gesperrt Verschoben Blockly
85 Beiträge 5 Kommentatoren 4.2k Aufrufe 3 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.
  • B Beowolf

    @maxclaudi

    :+1: :+1: :+1: :+1: :flushed: :flushed: :flushed: :flushed: :+1: :+1: :+1: :+1:

    Habe die Lösung gefunden.

    Der Datenpunkt "dplCmd" MUSS manuell angelegt werden. Wird er automatisch erzeugt, funktioniert es nicht.

    Warum auch immer.

    Vielen Danke für die Hilfe und Geduld.

    Grüße

    maxclaudiM Offline
    maxclaudiM Offline
    maxclaudi
    schrieb am zuletzt editiert von
    #47

    @beowolf sagte in OpenDTU-onBattery Blockly DPL Ein/Aus:

    @maxclaudi

    :+1: :+1: :+1: :+1: :flushed: :flushed: :flushed: :flushed: :+1: :+1: :+1: :+1:

    Habe die Lösung gefunden.

    Der Datenpunkt "dplCmd" MUSS manuell angelegt werden. Wird er automatisch erzeugt, funktioniert es nicht.

    Warum auch immer.

    Vielen Danke für die Hilfe und Geduld.

    Grüße

    Freut mich riesig, dass es jetzt läuft! 😄🎉
    Super, dass du drangeblieben bist und nicht aufgegeben hast – echt stark! 👍👍👍

    Bitte denk nur dran:
    ➡️ Das alte curl-Script ab jetzt nicht mehr gleichzeitig verwenden, sonst kommen die Befehle durcheinander.

    Der Code hat mich über zwei Wochen Arbeit gekostet (weil mir da niemand helfen konnte 😅),
    deshalb freut’s mich umso mehr, wenn er bei dir jetzt sauber funktioniert!

    Tipp zum Schluss: nicht zu schnell oder zu oft hin- und herschalten 😉
    Ab jetzt lässt sich der DPL ganz bequem über den Datenpunkt steuern.

    Viel Spaß damit! :sunny:

    Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

    B 1 Antwort Letzte Antwort
    0
    • maxclaudiM maxclaudi

      @beowolf sagte in OpenDTU-onBattery Blockly DPL Ein/Aus:

      @maxclaudi

      :+1: :+1: :+1: :+1: :flushed: :flushed: :flushed: :flushed: :+1: :+1: :+1: :+1:

      Habe die Lösung gefunden.

      Der Datenpunkt "dplCmd" MUSS manuell angelegt werden. Wird er automatisch erzeugt, funktioniert es nicht.

      Warum auch immer.

      Vielen Danke für die Hilfe und Geduld.

      Grüße

      Freut mich riesig, dass es jetzt läuft! 😄🎉
      Super, dass du drangeblieben bist und nicht aufgegeben hast – echt stark! 👍👍👍

      Bitte denk nur dran:
      ➡️ Das alte curl-Script ab jetzt nicht mehr gleichzeitig verwenden, sonst kommen die Befehle durcheinander.

      Der Code hat mich über zwei Wochen Arbeit gekostet (weil mir da niemand helfen konnte 😅),
      deshalb freut’s mich umso mehr, wenn er bei dir jetzt sauber funktioniert!

      Tipp zum Schluss: nicht zu schnell oder zu oft hin- und herschalten 😉
      Ab jetzt lässt sich der DPL ganz bequem über den Datenpunkt steuern.

      Viel Spaß damit! :sunny:

      B Offline
      B Offline
      Beowolf
      schrieb am zuletzt editiert von Beowolf
      #48

      @maxclaudi

      Ich habe das in erster Linie für meine Frau benötigt.

      https://forum.iobroker.net/topic/82305/einfache-solarleistungsanzeige/2?_=1759855900680

      Ich hatte ihr ein kleines Display in die Küche gestellt um einfach zu entscheiden das alles was von den Solarpanels kommt direkt zu den Herdplatten fließt. Denn wenn der DPL angeschaltet bleibt, regelt der sich halb zu tode.

      Der WAF ist sehr wichtig bei unserem Hobby. :flushed:

      Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

      maxclaudiM 1 Antwort Letzte Antwort
      0
      • B Beowolf

        @maxclaudi

        Ich habe das in erster Linie für meine Frau benötigt.

        https://forum.iobroker.net/topic/82305/einfache-solarleistungsanzeige/2?_=1759855900680

        Ich hatte ihr ein kleines Display in die Küche gestellt um einfach zu entscheiden das alles was von den Solarpanels kommt direkt zu den Herdplatten fließt. Denn wenn der DPL angeschaltet bleibt, regelt der sich halb zu tode.

        Der WAF ist sehr wichtig bei unserem Hobby. :flushed:

        maxclaudiM Offline
        maxclaudiM Offline
        maxclaudi
        schrieb am zuletzt editiert von
        #49

        @beowolf sagte in OpenDTU-onBattery Blockly DPL Ein/Aus:

        Der WAF ist sehr wichtig bei unserem Hobby. :flushed:

        :100: :+1: :-)

        Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

        1 Antwort Letzte Antwort
        0
        • B Offline
          B Offline
          Beowolf
          schrieb am zuletzt editiert von
          #50

          Ob deine Funktion wohl in die "offizielle" Version übernommen wird?

          Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

          maxclaudiM 1 Antwort Letzte Antwort
          0
          • B Beowolf

            Ob deine Funktion wohl in die "offizielle" Version übernommen wird?

            maxclaudiM Offline
            maxclaudiM Offline
            maxclaudi
            schrieb am zuletzt editiert von
            #51

            @beowolf sagte in OpenDTU-onBattery Blockly DPL Ein/Aus:

            Ob deine Funktion wohl in die "offizielle" Version übernommen wird?

            @beowolf
            Ich denke eher nicht, dass meine Funktion in die offizielle Version übernommen wird.
            Ich hatte dazu ein Request gestellt – die Entwickler sahen darin jedoch keine Notwendigkeit, da das Verhalten beim Deaktivieren des DPL sehr individuell sei und man nicht alle Wünsche abbilden könne.

            Daraufhin habe ich mich selbst tiefer in den Code eingearbeitet und eine eigene Lösung umgesetzt, die in meiner Firmware-Variante verfügbar ist.
            Das war zwar einiges an Arbeit, läuft aber inzwischen stabil und wie gewünscht.

            Inzwischen habe ich gesehen, dass im offiziellen Umfeld an genau dem Bereich gearbeitet wird, den ich mit meinen Änderungen erweitert hatte.
            Es gibt sogar Commits auf meinem maxLimit- und switchLimit-Branch von Mitgliedern des OpenDTU-onBattery-Teams.
            Ob das direkt übernommen wird oder nur als Anregung dient, bleibt abzuwarten – schön zu sehen, dass das Thema offenbar doch aufgegriffen wurde.

            Da GitHub künftig verpflichtend eine 2FA-Authentifizierung (Zwei-Faktor-Authentifizierung) voraussetzt, werde ich meine Aktivitäten dort einstellen.

            Hier im Forum geht’s aber trotzdem weiter – mit Austausch, Ideen und vielleicht auch neuen Projekten.
            Bei Fragen oder Interesse kann man sich gern hier an mich wenden.

            Also: nicht abschalten, hier geht’s ja weiter 😉

            Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

            B 1 Antwort Letzte Antwort
            0
            • maxclaudiM maxclaudi

              @beowolf sagte in OpenDTU-onBattery Blockly DPL Ein/Aus:

              Ob deine Funktion wohl in die "offizielle" Version übernommen wird?

              @beowolf
              Ich denke eher nicht, dass meine Funktion in die offizielle Version übernommen wird.
              Ich hatte dazu ein Request gestellt – die Entwickler sahen darin jedoch keine Notwendigkeit, da das Verhalten beim Deaktivieren des DPL sehr individuell sei und man nicht alle Wünsche abbilden könne.

              Daraufhin habe ich mich selbst tiefer in den Code eingearbeitet und eine eigene Lösung umgesetzt, die in meiner Firmware-Variante verfügbar ist.
              Das war zwar einiges an Arbeit, läuft aber inzwischen stabil und wie gewünscht.

              Inzwischen habe ich gesehen, dass im offiziellen Umfeld an genau dem Bereich gearbeitet wird, den ich mit meinen Änderungen erweitert hatte.
              Es gibt sogar Commits auf meinem maxLimit- und switchLimit-Branch von Mitgliedern des OpenDTU-onBattery-Teams.
              Ob das direkt übernommen wird oder nur als Anregung dient, bleibt abzuwarten – schön zu sehen, dass das Thema offenbar doch aufgegriffen wurde.

              Da GitHub künftig verpflichtend eine 2FA-Authentifizierung (Zwei-Faktor-Authentifizierung) voraussetzt, werde ich meine Aktivitäten dort einstellen.

              Hier im Forum geht’s aber trotzdem weiter – mit Austausch, Ideen und vielleicht auch neuen Projekten.
              Bei Fragen oder Interesse kann man sich gern hier an mich wenden.

              Also: nicht abschalten, hier geht’s ja weiter 😉

              B Offline
              B Offline
              Beowolf
              schrieb am zuletzt editiert von Beowolf
              #52

              @maxclaudi sagte in OpenDTU-onBattery Blockly DPL Ein/Aus:

              die Entwickler sahen darin jedoch keine Notwendigkeit

              Dann sollten die sich das alles mal anschauen, wenn zwei Kochplatten unmotiviert an und aus gehen um Kartoffeln zu kochen und zwei Schnitzel in der Pfanne zu braten. Wenn dann noch ein paar kleine Wolken am Himmel vor sich hin dümpeln ist alles zu spät.
              Ich hatte mir das mal einige Zeit mit Grafana angeschaut. Es war keine Seltenheit, das der DPL gerade wieder unter geregelt hat, weil zu viel Sonne da war, und sich dann die Kochplatten wieder gemeldet haben. Also wieder rauf bis zur nächsten Wolke usw. usw..

              Da ist es viel einfacher den DPL zu deaktivieren, dann gehen halt hin und wieder 1,8 KW ins Netz wo sie eigentlich nicht hin dürfen.

              Es ist ja schön das es den DPL gibt, aber man muß auch die Realität im Auge behalten.:face_with_rolling_eyes:

              Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

              maxclaudiM 1 Antwort Letzte Antwort
              0
              • B Beowolf

                @maxclaudi sagte in OpenDTU-onBattery Blockly DPL Ein/Aus:

                die Entwickler sahen darin jedoch keine Notwendigkeit

                Dann sollten die sich das alles mal anschauen, wenn zwei Kochplatten unmotiviert an und aus gehen um Kartoffeln zu kochen und zwei Schnitzel in der Pfanne zu braten. Wenn dann noch ein paar kleine Wolken am Himmel vor sich hin dümpeln ist alles zu spät.
                Ich hatte mir das mal einige Zeit mit Grafana angeschaut. Es war keine Seltenheit, das der DPL gerade wieder unter geregelt hat, weil zu viel Sonne da war, und sich dann die Kochplatten wieder gemeldet haben. Also wieder rauf bis zur nächsten Wolke usw. usw..

                Da ist es viel einfacher den DPL zu deaktivieren, dann gehen halt hin und wieder 1,8 KW ins Netz wo sie eigentlich nicht hin dürfen.

                Es ist ja schön das es den DPL gibt, aber man muß auch die Realität im Auge behalten.:face_with_rolling_eyes:

                maxclaudiM Offline
                maxclaudiM Offline
                maxclaudi
                schrieb am zuletzt editiert von maxclaudi
                #53

                @beowolf sagte in OpenDTU-onBattery Blockly DPL Ein/Aus:

                Es war keine Seltenheit, das der DPL gerade wieder unter geregelt hat, weil zu viel Sonne da war, und sich dann die Kochplatten wieder gemeldet haben. Also wieder rauf bis zur nächsten Wolke usw. usw..

                Dafür soll mqtt Mode benutzt werden.
                MQTT Mode 0/2 funktioniert, hat aber Einschränkungen: Neustarts, WiFi-Abbrüche oder Änderungen in der WebUI setzen den Mode einfach zurück auf 0.
                Man hat auch wieder das Pending-Problem mit längerem schalten.

                Da ist es viel einfacher den DPL zu deaktivieren

                So sehe ich das auch und ist "kein Fehler" im System.
                Ohne große zusätzliche, fehleranfällige Steuerung, sofort die volle Leistung da.
                So soll es sein, wenn man sich das wünscht.


                Ein Schalter, wie in meiner Switch-Version, oder maxLimit, ist dagegen relativ einfach umzusetzen, sobald man den Code verstanden hat – der Schaltzustand bleibt dabei dauerhaft erhalten, auch nach Neustarts, WiFi-Abbrüchen oder Änderungen in der WebUI.
                Schaltet auch sofort (bei Deaktivierung des DPL) auf maximales Limit.

                Es wäre interessant, die Auswahl den Usern selbst überlassen zu können.

                Besonders bei "solarbetriebenen“ Wechselrichtern macht das automatische Setzen auf das unterste Limit nach DPL-Deaktivierung wenig Sinn.


                Da ist es viel einfacher den DPL zu deaktivieren, dann gehen halt hin und wieder 1,8 KW ins Netz wo sie eigentlich nicht hin dürfen.

                Tatsächlich fließt dabei nur sehr wenig ins Netz – umgerechnet etwa 0,15 kWh bei 5 Minuten.

                Naja – unsere Lösung funktioniert, und darauf kommt es an. 😉

                Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

                maxclaudiM 1 Antwort Letzte Antwort
                1
                • maxclaudiM maxclaudi

                  @beowolf sagte in OpenDTU-onBattery Blockly DPL Ein/Aus:

                  Es war keine Seltenheit, das der DPL gerade wieder unter geregelt hat, weil zu viel Sonne da war, und sich dann die Kochplatten wieder gemeldet haben. Also wieder rauf bis zur nächsten Wolke usw. usw..

                  Dafür soll mqtt Mode benutzt werden.
                  MQTT Mode 0/2 funktioniert, hat aber Einschränkungen: Neustarts, WiFi-Abbrüche oder Änderungen in der WebUI setzen den Mode einfach zurück auf 0.
                  Man hat auch wieder das Pending-Problem mit längerem schalten.

                  Da ist es viel einfacher den DPL zu deaktivieren

                  So sehe ich das auch und ist "kein Fehler" im System.
                  Ohne große zusätzliche, fehleranfällige Steuerung, sofort die volle Leistung da.
                  So soll es sein, wenn man sich das wünscht.


                  Ein Schalter, wie in meiner Switch-Version, oder maxLimit, ist dagegen relativ einfach umzusetzen, sobald man den Code verstanden hat – der Schaltzustand bleibt dabei dauerhaft erhalten, auch nach Neustarts, WiFi-Abbrüchen oder Änderungen in der WebUI.
                  Schaltet auch sofort (bei Deaktivierung des DPL) auf maximales Limit.

                  Es wäre interessant, die Auswahl den Usern selbst überlassen zu können.

                  Besonders bei "solarbetriebenen“ Wechselrichtern macht das automatische Setzen auf das unterste Limit nach DPL-Deaktivierung wenig Sinn.


                  Da ist es viel einfacher den DPL zu deaktivieren, dann gehen halt hin und wieder 1,8 KW ins Netz wo sie eigentlich nicht hin dürfen.

                  Tatsächlich fließt dabei nur sehr wenig ins Netz – umgerechnet etwa 0,15 kWh bei 5 Minuten.

                  Naja – unsere Lösung funktioniert, und darauf kommt es an. 😉

                  maxclaudiM Offline
                  maxclaudiM Offline
                  maxclaudi
                  schrieb am zuletzt editiert von maxclaudi
                  #54

                  @beowolf

                  update 14.10.2025 10:45h


                  MQTT-Datenpunkte

                  Die Steuerung erfolgt ausschließlich über MQTT.
                  Dabei gilt:

                  1. Automatisch angelegt:

                  mqtt.x.<baseTopic>.dpl.dplState
                  
                  • wird automatisch erstellt
                  • Liefert den aktuellen Status des Dynamic Power Limiters
                  • Werte: 0 = aus, 1 = ein (nur lesbar)

                  2. Manuell anlegen (Pflicht!)

                  mqtt.x.<baseTopic>.dpl.dplCmd
                  

                  Datenpunkt dplCmd muss manuell erstellt werden, sonst funktioniert die MQTT-Steuerung nicht.

                  ❗ Sollte dplCmd automatisch angelegt worden sein → löschen und manuell neu anlegen!

                  Beispiel-Einstellungen:

                  "common": {
                    "name": "dplCmd",
                    "desc": "DPL on: 1, off: 0",
                    "role": "state",
                    "type": "number",
                    "read": true,
                    "write": true,
                    "min": -1,
                    "max": 1,
                    "def": -1
                  }
                  

                  ⚠️ Nicht als Boolean anlegen!


                  ⚙️ Funktionsweise

                  dplCmd: 1 → DPL-Steuerung aktiv
                  dplCmd: 0 → DPL deaktiviert, alle "solarbetriebenen" WR gehen automatisch auf maximale Leistung.

                  Nach jedem Schaltvorgang setzt sich dplCmd automatisch wieder auf -1 zurück.

                  Damit wird sichergestellt, dass auch bei ioBroker über Blockly oder Scripts mehrfach derselbe Befehl zuverlässig gesendet werden kann –
                  selbst wenn der vorherige Wert identisch war.

                  Hintergrund:
                  In ioBroker kann über Blockly kein ack: false gesetzt werden.
                  Ohne den automatischen Rücksprung auf -1 würde der identische Wert daher nicht erneut übertragen.
                  Der Mechanismus sorgt also für sauberes und wiederholbares Schalten – auch bei Blockly!

                  oDTUoB-maxLimit-mqtt_DPLonOff.png


                  Schritt-für-Schritt für ioBroker-Nutzer

                  1. WebUI OpenDTU-oB-Patch öffnen → Dynamic Power Limiter einmal ein- oder ausschalten
                    → dplState wird automatisch angelegt.

                  2. iobroker Objekte → Expertenmodus aktivieren → manuell neuen Datenpunkt anlegen:

                  mqtt.x.<baseTopic>.dpl.dplCmd
                  

                  Typ: state, Zahl (number), siehe Einstellungen oben.

                  1. DPL erneut in der WebUI schalten → danach ist MQTT-Steuerung aktiv.

                  2. Ablesen des Status
                    → Nur über dplState (0/1)
                    → dplCmd wird nach dem Senden automatisch auf -1 gesetzt.

                  3. Nach DPL-Deaktivierung
                    → "solarbetriebene" Wechselrichter gehen automatisch auf volle Leistung (kein manuelles Setzen nötig)
                    → "batteriebetriebene" Wechselrichter verhalten sich wie im original Repo.


                  Hinweise zur Nutzung

                  • Jeder Schaltvorgang schreibt in den Flash-Speicher → nicht wie ein Blinker ständig ein-/ausschalten!
                    Etwas Geduld nach jedem Wechsel schont Hardware & Nerven. 😉

                  • Patch ist minimalinvasiv:
                    Keine Zusatzdatenpunkte
                    Kein Eingriff in nicht benötigte Codebereiche
                    MQTT-Race-Conditions werden sauber abgefangen

                  • Rückkehr zur Original-Firmware jederzeit über Web-Firmware möglich.


                  ⚠️ Lizenz & Haftung

                  Diese Firmware basiert auf OpenDTU-onBattery (GPLv2, Fork von OpenDTU).
                  Sie enthält eigene Anpassungen und wird nicht offiziell unterstützt.

                  Verwendung auf eigene Verantwortung – keine Haftung für Schäden oder Fehlfunktionen.

                  OpenDtu-OnBattery_2025.09.16DplOff-maxLimit-MQTT.generic_esp32s3.zip

                  Hier im Thread finden sich weitere Firmware-Builds; direkte Links dazu sind im Eingangspost zu finden.

                  Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

                  B 1 Antwort Letzte Antwort
                  1
                  • maxclaudiM maxclaudi

                    @beowolf

                    update 14.10.2025 10:45h


                    MQTT-Datenpunkte

                    Die Steuerung erfolgt ausschließlich über MQTT.
                    Dabei gilt:

                    1. Automatisch angelegt:

                    mqtt.x.<baseTopic>.dpl.dplState
                    
                    • wird automatisch erstellt
                    • Liefert den aktuellen Status des Dynamic Power Limiters
                    • Werte: 0 = aus, 1 = ein (nur lesbar)

                    2. Manuell anlegen (Pflicht!)

                    mqtt.x.<baseTopic>.dpl.dplCmd
                    

                    Datenpunkt dplCmd muss manuell erstellt werden, sonst funktioniert die MQTT-Steuerung nicht.

                    ❗ Sollte dplCmd automatisch angelegt worden sein → löschen und manuell neu anlegen!

                    Beispiel-Einstellungen:

                    "common": {
                      "name": "dplCmd",
                      "desc": "DPL on: 1, off: 0",
                      "role": "state",
                      "type": "number",
                      "read": true,
                      "write": true,
                      "min": -1,
                      "max": 1,
                      "def": -1
                    }
                    

                    ⚠️ Nicht als Boolean anlegen!


                    ⚙️ Funktionsweise

                    dplCmd: 1 → DPL-Steuerung aktiv
                    dplCmd: 0 → DPL deaktiviert, alle "solarbetriebenen" WR gehen automatisch auf maximale Leistung.

                    Nach jedem Schaltvorgang setzt sich dplCmd automatisch wieder auf -1 zurück.

                    Damit wird sichergestellt, dass auch bei ioBroker über Blockly oder Scripts mehrfach derselbe Befehl zuverlässig gesendet werden kann –
                    selbst wenn der vorherige Wert identisch war.

                    Hintergrund:
                    In ioBroker kann über Blockly kein ack: false gesetzt werden.
                    Ohne den automatischen Rücksprung auf -1 würde der identische Wert daher nicht erneut übertragen.
                    Der Mechanismus sorgt also für sauberes und wiederholbares Schalten – auch bei Blockly!

                    oDTUoB-maxLimit-mqtt_DPLonOff.png


                    Schritt-für-Schritt für ioBroker-Nutzer

                    1. WebUI OpenDTU-oB-Patch öffnen → Dynamic Power Limiter einmal ein- oder ausschalten
                      → dplState wird automatisch angelegt.

                    2. iobroker Objekte → Expertenmodus aktivieren → manuell neuen Datenpunkt anlegen:

                    mqtt.x.<baseTopic>.dpl.dplCmd
                    

                    Typ: state, Zahl (number), siehe Einstellungen oben.

                    1. DPL erneut in der WebUI schalten → danach ist MQTT-Steuerung aktiv.

                    2. Ablesen des Status
                      → Nur über dplState (0/1)
                      → dplCmd wird nach dem Senden automatisch auf -1 gesetzt.

                    3. Nach DPL-Deaktivierung
                      → "solarbetriebene" Wechselrichter gehen automatisch auf volle Leistung (kein manuelles Setzen nötig)
                      → "batteriebetriebene" Wechselrichter verhalten sich wie im original Repo.


                    Hinweise zur Nutzung

                    • Jeder Schaltvorgang schreibt in den Flash-Speicher → nicht wie ein Blinker ständig ein-/ausschalten!
                      Etwas Geduld nach jedem Wechsel schont Hardware & Nerven. 😉

                    • Patch ist minimalinvasiv:
                      Keine Zusatzdatenpunkte
                      Kein Eingriff in nicht benötigte Codebereiche
                      MQTT-Race-Conditions werden sauber abgefangen

                    • Rückkehr zur Original-Firmware jederzeit über Web-Firmware möglich.


                    ⚠️ Lizenz & Haftung

                    Diese Firmware basiert auf OpenDTU-onBattery (GPLv2, Fork von OpenDTU).
                    Sie enthält eigene Anpassungen und wird nicht offiziell unterstützt.

                    Verwendung auf eigene Verantwortung – keine Haftung für Schäden oder Fehlfunktionen.

                    OpenDtu-OnBattery_2025.09.16DplOff-maxLimit-MQTT.generic_esp32s3.zip

                    Hier im Thread finden sich weitere Firmware-Builds; direkte Links dazu sind im Eingangspost zu finden.

                    B Offline
                    B Offline
                    Beowolf
                    schrieb am zuletzt editiert von Beowolf
                    #55

                    @maxclaudi
                    Die Umschaltung funktioniert nicht mehr.

                    Hat sich etwas geändert?

                    Mache ich es auf der OpenDTU Oberfläche wird der dplState unter ioBroker geändert.

                    Ändere dplCmd passiert nichts.

                    Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                    maxclaudiM 1 Antwort Letzte Antwort
                    0
                    • B Beowolf

                      @maxclaudi
                      Die Umschaltung funktioniert nicht mehr.

                      Hat sich etwas geändert?

                      Mache ich es auf der OpenDTU Oberfläche wird der dplState unter ioBroker geändert.

                      Ändere dplCmd passiert nichts.

                      maxclaudiM Offline
                      maxclaudiM Offline
                      maxclaudi
                      schrieb am zuletzt editiert von
                      #56

                      @beowolf sagte in OpenDTU-onBattery Blockly DPL Ein/Aus:

                      @maxclaudi
                      Die Umschaltung funktioniert nicht mehr.

                      Hat sich etwas geändert?

                      Mache ich es auf der OpenDTU Oberfläche wird der dplState unter ioBroker geändert.

                      Ändere dplCmd passiert nichts.

                      Nein, es hat sich nichts geändert.
                      Bei mir funktioniert alles, die Builds sind alle identisch.

                      Welche Version verwendest du, und seit wann funktioniert es nicht mehr?
                      Wenn du aktuell die letzte Version mit „-1“ nutzt und vorher eine ältere hattest, dann musst du unbedingt den bisherigen Datenpunkt „dplCmd“ löschen.
                      Danach – wie in der Anleitung beschrieben – den Datenpunkt manuell neu erstellen.
                      Wichtig ist dabei:
                      min: -1 und max: 1

                      "common": {
                        "name": "dplCmd",
                        "desc": "DPL on: 1, off: 0",
                        "role": "state",
                        "type": "number",
                        "read": true,
                        "write": true,
                        "min": -1,
                        "max": 1,
                        "def": -1
                      }
                      
                      

                      Nur einmal dachte ich auch, dass es nicht funktioniert, weil beim manuellen Setzen des dplCmd:1 der dplState kurz auf 1 ging und gleich wieder auf 0 zurücksprang – das lag aber daran, dass mein Script automatisch wieder zurückschaltete.
                      Vielleicht ist das bei dir auch der Fall?

                      Ansonsten läuft alles unverändert und seit über einem Monat fehlerfrei.
                      Von selbst kann sich da eigentlich nichts ändern – ich kann das Problem jedenfalls nicht nachvollziehen.

                      Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

                      B 1 Antwort Letzte Antwort
                      0
                      • maxclaudiM maxclaudi

                        @beowolf sagte in OpenDTU-onBattery Blockly DPL Ein/Aus:

                        @maxclaudi
                        Die Umschaltung funktioniert nicht mehr.

                        Hat sich etwas geändert?

                        Mache ich es auf der OpenDTU Oberfläche wird der dplState unter ioBroker geändert.

                        Ändere dplCmd passiert nichts.

                        Nein, es hat sich nichts geändert.
                        Bei mir funktioniert alles, die Builds sind alle identisch.

                        Welche Version verwendest du, und seit wann funktioniert es nicht mehr?
                        Wenn du aktuell die letzte Version mit „-1“ nutzt und vorher eine ältere hattest, dann musst du unbedingt den bisherigen Datenpunkt „dplCmd“ löschen.
                        Danach – wie in der Anleitung beschrieben – den Datenpunkt manuell neu erstellen.
                        Wichtig ist dabei:
                        min: -1 und max: 1

                        "common": {
                          "name": "dplCmd",
                          "desc": "DPL on: 1, off: 0",
                          "role": "state",
                          "type": "number",
                          "read": true,
                          "write": true,
                          "min": -1,
                          "max": 1,
                          "def": -1
                        }
                        
                        

                        Nur einmal dachte ich auch, dass es nicht funktioniert, weil beim manuellen Setzen des dplCmd:1 der dplState kurz auf 1 ging und gleich wieder auf 0 zurücksprang – das lag aber daran, dass mein Script automatisch wieder zurückschaltete.
                        Vielleicht ist das bei dir auch der Fall?

                        Ansonsten läuft alles unverändert und seit über einem Monat fehlerfrei.
                        Von selbst kann sich da eigentlich nichts ändern – ich kann das Problem jedenfalls nicht nachvollziehen.

                        B Offline
                        B Offline
                        Beowolf
                        schrieb am zuletzt editiert von
                        #57

                        @maxclaudi

                        Es war die neue Firmware. Das mit -1 , 0 und 1 hatte ich nicht gelesen.

                        Umschaltung funktioniert.

                        Was ich jetzt nicht mehr hinbekomme ist das Ein- und Ausschalten mit iqontrol.

                        Einschalten geht. Ausschalten leider nicht.

                        Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                        maxclaudiM 1 Antwort Letzte Antwort
                        0
                        • B Beowolf

                          @maxclaudi

                          Es war die neue Firmware. Das mit -1 , 0 und 1 hatte ich nicht gelesen.

                          Umschaltung funktioniert.

                          Was ich jetzt nicht mehr hinbekomme ist das Ein- und Ausschalten mit iqontrol.

                          Einschalten geht. Ausschalten leider nicht.

                          maxclaudiM Offline
                          maxclaudiM Offline
                          maxclaudi
                          schrieb am zuletzt editiert von maxclaudi
                          #58

                          @beowolf sagte in OpenDTU-onBattery Blockly DPL Ein/Aus:

                          @maxclaudi

                          Es war die neue Firmware. Das mit -1 , 0 und 1 hatte ich nicht gelesen.

                          Umschaltung funktioniert.

                          Was ich jetzt nicht mehr hinbekomme ist das Ein- und Ausschalten mit iqontrol.

                          Einschalten geht. Ausschalten leider nicht.

                          edit: dehalb zum Anzeigen und auswerten NUR dplState verwenden und NUR zum schalten dplCmd. Siehe hier

                          Damit der gleiche Wert mehrfach gesendet werden kann, braucht man daher einen Hilfsdatenpunkt:

                          viel Spaß :sunny:

                          Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

                          1 Antwort Letzte Antwort
                          0
                          • B Offline
                            B Offline
                            Beowolf
                            schrieb am zuletzt editiert von
                            #59

                            Was hat das eigentlich mit dem "-1" für einen Grund?

                            Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                            maxclaudiM 1 Antwort Letzte Antwort
                            0
                            • B Beowolf

                              Was hat das eigentlich mit dem "-1" für einen Grund?

                              maxclaudiM Offline
                              maxclaudiM Offline
                              maxclaudi
                              schrieb am zuletzt editiert von maxclaudi
                              #60

                              @beowolf sagte in OpenDTU-onBattery Blockly DPL Ein/Aus:

                              Was hat das eigentlich mit dem "-1" für einen Grund?

                              @beowolf
                              steht auch in der Anleitung beschrieben:

                              Das „-1“ ist im Prinzip ein kleiner Trick, der wegen der Eigenart des ioBroker MQTT-Adapters nötig ist – vor allem, wenn man mit Blockly arbeitet.

                              Hintergrund:
                              Der MQTT-Adapter sendet einen Wert nur dann, wenn er sich ändert.
                              Wenn also dein Blockly z. B. dplCmd :1 setzt und später (z. B. nach einem OpenDTU-Neustart) wieder dplCmd:1 senden will, passiert – nichts.
                              Der Adapter denkt: „Der Wert ist ja schon 1, also kein Grund, erneut zu senden.“
                              Damit bleibt der Befehl wirkungslos, und der DPL wird nicht eingeschaltet.

                              Darum wird nach jeder Ausführung dplCmd wieder auf -1 zurückgesetzt.
                              So ist beim nächsten Schaltvorgang immer eine Wertänderung vorhanden → der MQTT-Adapter sendet zuverlässig, egal ob der neue Wert gleich dem alten ist.

                              Hinweis zu VIS und iQontrol:
                              Ich hatte anfangs erwähnt, dass man dafür evtl. einen Hilfsdatenpunkt braucht – das war nicht korrekt.
                              In iQontrol (und auch in VIS) funktioniert das völlig problemlos, ohne zusätzlichen Datenpunkt.
                              Man muss nur sauber trennen:

                              • dplCmd → zum Schalten (wird nach dem Senden wieder auf -1 gesetzt)
                              • dplState → zur Anzeige des tatsächlichen Zustands (0 = aus, 1 = ein)

                              In iQontrol kannst du beim Gerät einfach

                              • bei „Datenpunkt für Schalten“ → dplCmd
                              • bei „Datenpunkt für Status“ → dplState
                                eintragen.

                              Dann klappt Ein- und Ausschalten zuverlässig, und der Zustand wird korrekt angezeigt – ganz ohne Hilfsdatenpunkt.

                              Viel Spaß :sunny:

                              Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

                              1 Antwort Letzte Antwort
                              1
                              • B Offline
                                B Offline
                                Beowolf
                                schrieb am zuletzt editiert von
                                #61

                                Danke nochmal für die Erklärung.

                                Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                                maxclaudiM haselchenH 2 Antworten Letzte Antwort
                                0
                                • B Beowolf

                                  Danke nochmal für die Erklärung.

                                  maxclaudiM Offline
                                  maxclaudiM Offline
                                  maxclaudi
                                  schrieb am zuletzt editiert von
                                  #62

                                  @beowolf
                                  gerne :-)

                                  Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

                                  1 Antwort Letzte Antwort
                                  0
                                  • B Beowolf

                                    Danke nochmal für die Erklärung.

                                    haselchenH Offline
                                    haselchenH Offline
                                    haselchen
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #63

                                    @beowolf

                                    Huhu,

                                    bin zufällig hier auf das Thema gestossen.
                                    Lustigerweise habe ich mich genau vor ein paar Tagen damit beschäftigt.
                                    Neue grosse PV kommt demnächst und solange will ich mit dem BKW eine 0 Einspeisung machen, weil ich den aktuellen Einspeisewert schon an den Netzbetreiber durchgeben musste und der sich nicht erhöhen soll (kein Bock auf Diskussionen mit dem Netzbetreiber).
                                    Nun sehe ich hier gepatchte Firmware und Blocklys....

                                    Ich hab die openDTUon Battery auf nen ESP32 S3 gespielt und dort alles eingestellt.
                                    (HM600 und HM800)
                                    Die Software regelt automatisch den Verbrauch auf 0. Setzt je nach Verbrauch die % der WR. Intervall ist bei 3sek.
                                    Das Ganze bilde ich per Widget in der VIS ab.
                                    Reine Neugier, warum modifizierte FW und Blockly?
                                    DPL regelt alles automatisch, warum also eingreifen?

                                    Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                                    B maxclaudiM 2 Antworten Letzte Antwort
                                    0
                                    • haselchenH haselchen

                                      @beowolf

                                      Huhu,

                                      bin zufällig hier auf das Thema gestossen.
                                      Lustigerweise habe ich mich genau vor ein paar Tagen damit beschäftigt.
                                      Neue grosse PV kommt demnächst und solange will ich mit dem BKW eine 0 Einspeisung machen, weil ich den aktuellen Einspeisewert schon an den Netzbetreiber durchgeben musste und der sich nicht erhöhen soll (kein Bock auf Diskussionen mit dem Netzbetreiber).
                                      Nun sehe ich hier gepatchte Firmware und Blocklys....

                                      Ich hab die openDTUon Battery auf nen ESP32 S3 gespielt und dort alles eingestellt.
                                      (HM600 und HM800)
                                      Die Software regelt automatisch den Verbrauch auf 0. Setzt je nach Verbrauch die % der WR. Intervall ist bei 3sek.
                                      Das Ganze bilde ich per Widget in der VIS ab.
                                      Reine Neugier, warum modifizierte FW und Blockly?
                                      DPL regelt alles automatisch, warum also eingreifen?

                                      B Offline
                                      B Offline
                                      Beowolf
                                      schrieb am zuletzt editiert von
                                      #64

                                      @haselchen

                                      Darum

                                      https://forum.iobroker.net/topic/80855/opendtu-onbattery-blockly-dpl-ein-aus/52?_=1763128950060

                                      :laughing:

                                      Die Natur braucht nicht unseren Schutz, sie braucht unsere Abwesenheit.

                                      haselchenH 1 Antwort Letzte Antwort
                                      0
                                      • B Beowolf

                                        @haselchen

                                        Darum

                                        https://forum.iobroker.net/topic/80855/opendtu-onbattery-blockly-dpl-ein-aus/52?_=1763128950060

                                        :laughing:

                                        haselchenH Offline
                                        haselchenH Offline
                                        haselchen
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #65

                                        @beowolf

                                        Verstädnisfrage.
                                        Max. würde meine/deine Anlage 1400 Watt produzieren.
                                        Ne Kochplatte , schätze ich mal, verbraucht mehr.
                                        Der DPL würde zurecht beide WR auf 100% stellen.
                                        Du kämst nie zu einer Einspeisung wenn die Kochplatte an ist, dass kann das BKW gar nicht kompensieren.

                                        Hab ich nen Denkfehler?

                                        Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                                        maxclaudiM B 3 Antworten Letzte Antwort
                                        0
                                        • haselchenH haselchen

                                          @beowolf

                                          Verstädnisfrage.
                                          Max. würde meine/deine Anlage 1400 Watt produzieren.
                                          Ne Kochplatte , schätze ich mal, verbraucht mehr.
                                          Der DPL würde zurecht beide WR auf 100% stellen.
                                          Du kämst nie zu einer Einspeisung wenn die Kochplatte an ist, dass kann das BKW gar nicht kompensieren.

                                          Hab ich nen Denkfehler?

                                          maxclaudiM Offline
                                          maxclaudiM Offline
                                          maxclaudi
                                          schrieb am zuletzt editiert von
                                          #66

                                          @haselchen
                                          ja

                                          Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

                                          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

                                          962

                                          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