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. Wechselrichter Steuerung null Einspeisung Blockly Skript

NEWS

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

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

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

Wechselrichter Steuerung null Einspeisung Blockly Skript

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blocklyjavascript
6 Beiträge 2 Kommentatoren 1.2k Aufrufe 1 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.
  • R Offline
    R Offline
    rebel85
    schrieb am zuletzt editiert von rebel85
    #1

    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.

    paul53P 2 Antworten Letzte Antwort
    0
    • R 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.

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @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

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      R 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @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 Offline
        R Offline
        rebel85
        schrieb am zuletzt editiert von
        #3

        @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 ;-)

        paul53P 1 Antwort Letzte Antwort
        0
        • R 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.

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

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

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

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          R 1 Antwort Letzte Antwort
          0
          • R rebel85

            @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 ;-)

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #5

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

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Antwort Letzte Antwort
            0
            • paul53P 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 Offline
              R Offline
              rebel85
              schrieb am zuletzt editiert von
              #6

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

              770

              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