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. Script zum Laden/Entladen von Zendure Solarflow

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

Script zum Laden/Entladen von Zendure Solarflow

Geplant Angeheftet Gesperrt Verschoben Blockly
194 Beiträge 13 Kommentatoren 23.2k Aufrufe 10 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.
  • Murphy 0M Murphy 0

    Nachtrag, es gibt wohl einen Bug wenn du ein Blockly Skript mit einem XML file importierst genau diese stop Funktion nicht richtig gesetzt wird

    B Online
    B Online
    Berny-K
    schrieb am zuletzt editiert von
    #184

    @Murphy-0 gibt es bezüglich dem Bug mit dem importierten xml file eine Lösung?

    1 Antwort Letzte Antwort
    0
    • Murphy 0M Offline
      Murphy 0M Offline
      Murphy 0
      schrieb am zuletzt editiert von
      #185

      nein, einfach die Variable beim Stop Befehl nach dem Import neu setzen.

      1 Antwort Letzte Antwort
      0
      • Murphy 0M Offline
        Murphy 0M Offline
        Murphy 0
        schrieb am zuletzt editiert von Murphy 0
        #186

        @berny-k
        Den markierte Bereich ersetzt du durch ein Zahl, das begrenzt deinen Output auf den eingegebenen Wert. Oder du legst dir ein Objekt unter 0_userdata.0 an so wie ich es gemacht habe. Da schreibst du den Wert auf den du begrenzen willst rein.

        IMG_3901.jpeg

        B 2 Antworten Letzte Antwort
        0
        • Murphy 0M Murphy 0

          @berny-k
          Den markierte Bereich ersetzt du durch ein Zahl, das begrenzt deinen Output auf den eingegebenen Wert. Oder du legst dir ein Objekt unter 0_userdata.0 an so wie ich es gemacht habe. Da schreibst du den Wert auf den du begrenzen willst rein.

          IMG_3901.jpeg

          B Online
          B Online
          Berny-K
          schrieb am zuletzt editiert von
          #187

          @Murphy-0 alles klar, vielen Dank, so langsam komme ich weiter. Ich lasse jetzt mal bis morgen Früh meinen mindestens Hausverbrauch einspeisen und schaue mal ob der SF 800 Pro dann trotzdem offline geht.

          1 Antwort Letzte Antwort
          0
          • Murphy 0M Murphy 0

            @berny-k
            Den markierte Bereich ersetzt du durch ein Zahl, das begrenzt deinen Output auf den eingegebenen Wert. Oder du legst dir ein Objekt unter 0_userdata.0 an so wie ich es gemacht habe. Da schreibst du den Wert auf den du begrenzen willst rein.

            IMG_3901.jpeg

            B Online
            B Online
            Berny-K
            schrieb zuletzt editiert von
            #188

            @Murphy-0 Hast du mir vielleicht noch einen Tipp, wie ich verhindern kann, dass in einem bestimmten Zeitraum der Akku in den Hausverbrauch entlädt?

            1 Antwort Letzte Antwort
            0
            • Murphy 0M Offline
              Murphy 0M Offline
              Murphy 0
              schrieb zuletzt editiert von Murphy 0
              #189

              @berny-k
              Wie schon bei EinspeisenLimit entweder Objekte in userdata anlegen mit StartZeit und Endzeit oder statt mit Variablen dor Testfelder einfügen. Tesxtfeld z. B. mit 19:00 und 08:00 füllen so dass in der Zeit dazwischen eingespeist wird.

              IMG_3903.jpeg

              B 1 Antwort Letzte Antwort
              0
              • Murphy 0M Murphy 0

                @berny-k
                Wie schon bei EinspeisenLimit entweder Objekte in userdata anlegen mit StartZeit und Endzeit oder statt mit Variablen dor Testfelder einfügen. Tesxtfeld z. B. mit 19:00 und 08:00 füllen so dass in der Zeit dazwischen eingespeist wird.

                IMG_3903.jpeg

                B Online
                B Online
                Berny-K
                schrieb zuletzt editiert von Berny-K
                #190

                @Murphy-0 mein Problem ist, dass ich noch nicht so recht verstanden habe wie man das Einspeisen von PV und Einspeisen vom Akku getrennt steuern kann.
                So wie ich es verstehe, kann ich mit setDeviceAutomationInOutLimit irgendwie nicht zwischen PV Einspeisung und Akku Einspeisung trennen, oder?

                1 Antwort Letzte Antwort
                0
                • Murphy 0M Offline
                  Murphy 0M Offline
                  Murphy 0
                  schrieb zuletzt editiert von Murphy 0
                  #191

                  Hast du nicht geschrieben dass dein Akku AC seitig angeschlossen ist?
                  Also das was an Strom im Haus verbraucht wird abzüglich das was die Solarmodule liefern wird im Ct Modus dann aus dem Akku genommen, falls vorhanden oder nicht Softwaremäßig begrenzt.

                  Grundvoraussetzung für eine sinnvolle Regelung ist ein Messgerät an der Messstelle.
                  Shelly em3 (pro) oder ähnliches.

                  Damit wird der Überschuß ermittelt und in den Akku geladen.
                  Bei Zukauf von Energie wird falls vorhanden aus dem Akku eingespeist.

                  Regeln tust du Input oder Output.
                  Beim Output kann man ganz einfach auch den Grundverbrauch von Sonnenuntergang bis Sonnenaufgang
                  einstellen und einspeisen.
                  Wie ein Input ohne Messgerät effizient funktionieren soll sehe ich nicht,

                  B 1 Antwort Letzte Antwort
                  0
                  • Murphy 0M Murphy 0

                    Hast du nicht geschrieben dass dein Akku AC seitig angeschlossen ist?
                    Also das was an Strom im Haus verbraucht wird abzüglich das was die Solarmodule liefern wird im Ct Modus dann aus dem Akku genommen, falls vorhanden oder nicht Softwaremäßig begrenzt.

                    Grundvoraussetzung für eine sinnvolle Regelung ist ein Messgerät an der Messstelle.
                    Shelly em3 (pro) oder ähnliches.

                    Damit wird der Überschuß ermittelt und in den Akku geladen.
                    Bei Zukauf von Energie wird falls vorhanden aus dem Akku eingespeist.

                    Regeln tust du Input oder Output.
                    Beim Output kann man ganz einfach auch den Grundverbrauch von Sonnenuntergang bis Sonnenaufgang
                    einstellen und einspeisen.
                    Wie ein Input ohne Messgerät effizient funktionieren soll sehe ich nicht,

                    B Online
                    B Online
                    Berny-K
                    schrieb zuletzt editiert von Berny-K
                    #192

                    @Murphy-0 Ich habe an meinem SF800pro, 4 PV-Module angeschlossen.
                    Den aktuellen Hausverbrauch messe ich mit einem Tasmota Smartmeter den ich im lesiflo Blockly Abfrage.
                    Das Blockly tut damit auch grundsätzlich was es soll und regelt meine Null-Einspeisung.
                    Jetzt möchte ich aber bestimmen wann die Akku-Entladung in den Hausverbrauch stattfinden soll und auch mit wie viel Watt entladen werden soll.
                    Mit dem lesiflo Blockly geht das aktuell ja nicht bzw. Das Blockly macht das jetzt nicht und das würde ich gerne ändern. Dafür suche ich nach Lösungsansätzen.
                    1000000387.png
                    Hier wird ja der PV-Überschuss geregelt in den Hausverbrauch eingespeist. Allerdings wird irgendwann auch vom Akku noch mit eingespeist. Das möchte ich unterbinden bzw. Selbst festlegen wann der Akku in den Hausverbrauch einspeisen soll.

                    Ich glaube ich habe mein Problem erst Mal gelöst. Ich setzte ein das Entlade Limit entsprechen hoch, dann wird auch nicht mehr entladen. Manchmal sieht man den Wald vor lauter Bäume nicht mehr.

                    1 Antwort Letzte Antwort
                    0
                    • L Online
                      L Online
                      lesiflo
                      Most Active
                      schrieb zuletzt editiert von lesiflo
                      #193

                      @berny-k
                      Moin, wenn du keinen dynamischen oder Zeitvariablen Stromvertrag hast ist doch eigentlich egal wann du einspeist. Ansonsten kannst du das über die aktuelle PV-Leistung
                      der Module regeln. Bei meinem Hyper ist das der Datenpunkt solarInputPower. Du gibst nur soviel Leistung am Ausgang zur Verfügung wie die PV Leistung ist.
                      Am besten dafür eine weitere if-Abfrage bauen. Ich nutze mittlerweile javascript, da sieht das dann so aus:

                      Setzen Modus
                      
                      if (ladenErlaubt) {zielModus = 1;}
                      else if (entladenErlaubt) {zielModus = 2;}
                      else if (aktuelleLeistung > 50 && (pvLeistung2 + pvLeistung3) > 80) {zielModus = 3;}
                      
                      Abfragezweig für Modus 3
                      ...
                      // ---------------- Modus 3: PV-gestütztes Entladen ----------------
                      const pvEntladeLimitW = Math.max(0, pvLeistung2 + pvLeistung3 - 100);  // nur Hyper-PV
                      const bedarfHausW     = Math.max(0, Math.floor(aktuelleEinspeisung)); // Netzbedarf
                      const maxLadeleistungGesamt = 800;
                      
                      else if (zielModus === 3) {
                              // --- Modus 3: PV-gestütztes Entladen ---
                      
                              const entladeGesamt = Math.min(
                                  pvEntladeLimitW,        // PV2 + PV3
                                  bedarfHausW,            // nicht mehr als benötigt
                                  maxLadeleistungGesamt   // Gerätegrenze
                              );
                      

                      Für die Math.max und Math.min Funktionen musst du dir in Blockly If-Abfragen bauen. Die gibt es nicht unter Blockly soweit ich weiss.

                      B 1 Antwort Letzte Antwort
                      0
                      • L lesiflo

                        @berny-k
                        Moin, wenn du keinen dynamischen oder Zeitvariablen Stromvertrag hast ist doch eigentlich egal wann du einspeist. Ansonsten kannst du das über die aktuelle PV-Leistung
                        der Module regeln. Bei meinem Hyper ist das der Datenpunkt solarInputPower. Du gibst nur soviel Leistung am Ausgang zur Verfügung wie die PV Leistung ist.
                        Am besten dafür eine weitere if-Abfrage bauen. Ich nutze mittlerweile javascript, da sieht das dann so aus:

                        Setzen Modus
                        
                        if (ladenErlaubt) {zielModus = 1;}
                        else if (entladenErlaubt) {zielModus = 2;}
                        else if (aktuelleLeistung > 50 && (pvLeistung2 + pvLeistung3) > 80) {zielModus = 3;}
                        
                        Abfragezweig für Modus 3
                        ...
                        // ---------------- Modus 3: PV-gestütztes Entladen ----------------
                        const pvEntladeLimitW = Math.max(0, pvLeistung2 + pvLeistung3 - 100);  // nur Hyper-PV
                        const bedarfHausW     = Math.max(0, Math.floor(aktuelleEinspeisung)); // Netzbedarf
                        const maxLadeleistungGesamt = 800;
                        
                        else if (zielModus === 3) {
                                // --- Modus 3: PV-gestütztes Entladen ---
                        
                                const entladeGesamt = Math.min(
                                    pvEntladeLimitW,        // PV2 + PV3
                                    bedarfHausW,            // nicht mehr als benötigt
                                    maxLadeleistungGesamt   // Gerätegrenze
                                );
                        

                        Für die Math.max und Math.min Funktionen musst du dir in Blockly If-Abfragen bauen. Die gibt es nicht unter Blockly soweit ich weiss.

                        B Online
                        B Online
                        Berny-K
                        schrieb zuletzt editiert von
                        #194

                        @lesiflo Danke, wieder ein wertvoller Tipp! Ich bin einfach noch unerfahren mit der Steuerung von BKW mit Speicher aber so langsam werden mir die Zusammenhänge klarer dank der Unterstützung hier. Manchmal sieht man den Wald vor lauter Bäume nicht.
                        Ich will die Akku-Entladung tagsüber begrenzen damit ich für die Nacht noch Kapazität für eine kleine Grundlasteinspeisung habe da ich festgestellt habe, dass der SF800Pro sonst in der Nacht offline geht und von selbst nicht mehr online geht.

                        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

                        464

                        Online

                        32.7k

                        Benutzer

                        82.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