Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wechselrichter Steuerung null Einspeisung Blockly Skript

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Wechselrichter Steuerung null Einspeisung Blockly Skript

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      rebel85 last edited by rebel85

      Hallo,

      ich habe aktuell ein Javaskript am laufen was mein WR mit Akku Steuert.
      Diese Steuerung läuft so naja gut.
      Wenn mein Stromzähler einen Minus wert hat z.b. -124 rechnet das skript eher mit (+)124 und regelt hoch und daher bekomme ich eine Zick-Zack Regelung.
      Skript und Screenshots reiche ich natürlich nach, aktuell nicht möglich.

      Skript:

      let ids = {
          //Stromzähler
          gridSum: 'sonoff.0.Smartzaehler-Strom.SML_curr_w',    
          //WR_Steuerung
          solarLimit: 'opendtu.0.112182854324.power_control.limit_nonpersistent_absolute', 
          //           opendtu.0.114184519980.power_control.limit_nonpersistent_absolute                
          //WR_Trennung_und_Power_Messung
          solarInput: 'shelly.0.shellyplus1pm#a8032ab78318#1.Relay0.Power',
          }
      
      let inverterOutput = {
          min: 10, // Minimales Limit (Grundverbrauch)
          max: 100, // Maximales Limit (Wechselrichter Leistung max.)
          safetyMargin: -60, // Einspeisungsziel (da sonst kleine Anstiege im Stromverbrauch auf das Stromnetz gehen)
          minDifference: 15, // Kein neues Limit setzen, wenn Differenz alt neu <= dieser Wert ist
      }
      
      let oldLimit = 0;
      
      // Run every 15 seconds
      schedule('*/15 * * * * *', function () {
          let fromSolar = getState(ids.solarInput).val;
          let fromGrid = getState(ids.gridSum).val;
      
          let newLimit = fromSolar + fromGrid + inverterOutput.safetyMargin;
          if (newLimit < inverterOutput.min) newLimit = inverterOutput.min;
          if (newLimit > inverterOutput.max) newLimit = inverterOutput.max;
          if (inverterOutput.min > fromSolar) newLimit = inverterOutput.max;
      
          if(!(Math.abs(newLimit - oldLimit) <= inverterOutput.minDifference))
          {
              log(`Setting limit to ${fromSolar} + ${fromGrid} = ${newLimit}W`);
              setState (ids.solarLimit , newLimit);
              oldLimit = newLimit;
          }
      });
      

      Problem:
      Problem.JPG Problem_02.JPG

      habt ihr vllt. ein gutes Blockly Skript womit ich mein WR PV Akku Anlage Zuverlässig Steuern kann so das ich eine "null-Einspeisung" hin bekomme.
      ich habe über die suche schon geschaut aber nicht gefunden was ich verstehe 🙂

      mit Skript Sprache bin ich nicht konform und habe das Skript auch nur via PN am Anfang bekommen wo ich meine PV Akkuanlage DIY gebaut habe.

      Ziel ist ein Mindesverbrauch, MaximalLeistung, ein Sicherheits Einspeiseziel und eine min. Differenzänderung
      also mit 4 Werten der WR Steuern, klar ist mir auch das es Zeitverzögert ist wegen dem auslesen, Reagieren und Ansteuern.

      Danke für eure hilfe

      Update: Skript und Problem beigefügt.

      paul53 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @rebel85 last edited by

        @rebel85 sagte: Blockly Skript womit ich mein WR PV Akku Anlage Zuverlässig Steuern kann so das ich eine "null-Einspeisung" hin bekomme.

        PI-Regler

        R 1 Reply Last reply Reply Quote 0
        • R
          rebel85 @paul53 last edited by

          @paul53
          Danke für den Hinweis.
          PUH das Programm PI Regler sieht über aus, Dachte eher so an Matheformeln oder so die Richtung.
          mir fehlt nur halt ein Anfang das ich mit Blockly arbeiten kann, das Verstehe ich eigentlich eher 😉

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @rebel85 last edited by paul53

            @rebel85 sagte: max: 100, // Maximales Limit (Wechselrichter Leistung max.)

            Die PV liefert nur maximal 100 W?
            Wie oft wird die Zählerleistung aktualisiert?

            R 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @rebel85 last edited by paul53

              @rebel85 sagte: Dachte eher so an Matheformeln

              Ein PI-Regler arbeitet mit Formeln. Angepasst an die Vorgaben:

              let inverterOutput = {
                  min: 10, // Minimales Limit (Grundverbrauch)
                  max: 100, // Maximales Limit (Wechselrichter rel. max.)
                  safetyMargin: -60, // Einspeisungsziel (da sonst kleine Anstiege im Stromverbrauch auf das Stromnetz gehen)
                  minDifference: 15, // Kein neues Limit setzen, wenn Differenz alt neu <= dieser Wert ist
              }
              

              Blockly_temp.JPG

              Stellwerte: 10, 25, 40, 55, 70, 85, 100 %

              1 Reply Last reply Reply Quote 0
              • R
                rebel85 @paul53 last edited by

                @paul53 Zähler kommt alle 5 bis 10 sekunden, und das skript schaut ja alle 15 sekunden.
                ich vermute das das skript das negative vorzeichen irgendwie wegnimmt

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

                Support us

                ioBroker
                Community Adapters
                Donate

                818
                Online

                31.7k
                Users

                79.8k
                Topics

                1.3m
                Posts

                blockly javascript
                2
                6
                944
                Loading More Posts
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes
                Reply
                • Reply as topic
                Log in to reply
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                The ioBroker Community 2014-2023
                logo