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

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

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

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

OpenDTU-onBattery Blockly DPL Ein/Aus

Geplant Angeheftet Gesperrt Verschoben Blockly
85 Beiträge 5 Kommentatoren 3.9k 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.
  • maxclaudiM maxclaudi

    @beowolf
    Hast du das Script mit den curl-Requests deaktiviert?
    Es darf nicht gleichzeitig laufen, sonst können die Befehle durcheinanderkommen.

    Wenn das Script deaktiviert ist, könntest du zur Sicherheit einmal über den MQTT-Explorer direkt auf dplCmd schalten (0 oder 1).
    So lässt sich prüfen, ob die MQTT-Verbindung und das Abonnieren des Topics korrekt funktionieren.

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

    @maxclaudi

    Skript was das erste was ich gelöscht hatte.

    Könntest du mal von dem dplCmd Datenpunkt Bildchen von den Einstellungen bei "Objekt bearbeiten" machen?
    Also von dem Tab "Allgemein", "Objektdaten" und " Zustand"?

    all.jpg
    ob.jpg
    zu.jpg

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

    maxclaudiM 1 Antwort Letzte Antwort
    0
    • B Beowolf

      @maxclaudi

      Skript was das erste was ich gelöscht hatte.

      Könntest du mal von dem dplCmd Datenpunkt Bildchen von den Einstellungen bei "Objekt bearbeiten" machen?
      Also von dem Tab "Allgemein", "Objektdaten" und " Zustand"?

      all.jpg
      ob.jpg
      zu.jpg

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

      edit: Bilder entfernt.

      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

        edit: Bilder entfernt.

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

        @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

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

        maxclaudiM 1 Antwort Letzte Antwort
        1
        • 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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          513

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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