Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. JavaScript
  5. Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

NEWS

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    8
    1
    431

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    14
    1
    2.7k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    2.9k

Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

Geplant Angeheftet Gesperrt Verschoben JavaScript
360 Beiträge 20 Kommentatoren 31.6k Aufrufe 18 Beobachtet
  • Ä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.
  • paul53P paul53

    @maxclaudi [sagte]: Vermutlich steht bei Dir dort nun 3?

    Richtig.

    @maxclaudi sagte:

    socLimit: 17 wird wahrscheinlich kein Bug, sondern ein neues Bitmuster sein.
    (z. B. 16 + 1 )

    Stimmt: Bei SoC unter 85 % ist "socLimit" = 16.

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

    @paul53 sagte:
    Stimmt: Bei SoC unter 85 % ist "socLimit" = 16.

    Dann war Deine Ladegrenze vermutlich bei socSet = 85 %
    Es fehlt jetzt noch ein Wert für „minSoc erreicht“.
    Falls die Vermutung mit den neuen Bitmustern stimmt, könnte das z. B. 18 oder 19 sein. Das ist aber aktuell nur eine Vermutung.

    Falls Du minSoc einmal auf 50 % stellst und die Batterien bis zur Entladegrenze laufen lässt, wäre der gemeldete socLimit-Wert interessant.

    Edit / PS:
    Wurde unter properties zusätzlich ein neuer Key socCompSwitch angelegt?

    Falls ja, bitte die beobachteten Werte und möglichst auch die jeweilige Situation (SOC, Laden, Entladen, Bypass usw.) mitteilen. Danke.

    Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

    paul53P 1 Antwort Letzte Antwort
    0
    • maxclaudiM maxclaudi

      @paul53 sagte:
      Stimmt: Bei SoC unter 85 % ist "socLimit" = 16.

      Dann war Deine Ladegrenze vermutlich bei socSet = 85 %
      Es fehlt jetzt noch ein Wert für „minSoc erreicht“.
      Falls die Vermutung mit den neuen Bitmustern stimmt, könnte das z. B. 18 oder 19 sein. Das ist aber aktuell nur eine Vermutung.

      Falls Du minSoc einmal auf 50 % stellst und die Batterien bis zur Entladegrenze laufen lässt, wäre der gemeldete socLimit-Wert interessant.

      Edit / PS:
      Wurde unter properties zusätzlich ein neuer Key socCompSwitch angelegt?

      Falls ja, bitte die beobachteten Werte und möglichst auch die jeweilige Situation (SOC, Laden, Entladen, Bypass usw.) mitteilen. Danke.

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

      @maxclaudi [sagte]: Falls Du minSoc einmal auf 50 % stellst und die Batterien bis zur Entladegrenze laufen lässt, wäre der gemeldete socLimit-Wert interessant.

      Wenn die Grenze erreicht ist, schaltet die Notstromdose ab und ioBroker läuft dann nicht mehr.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

      maxclaudiM 2 Antworten Letzte Antwort
      1
      • paul53P paul53

        @maxclaudi [sagte]: Falls Du minSoc einmal auf 50 % stellst und die Batterien bis zur Entladegrenze laufen lässt, wäre der gemeldete socLimit-Wert interessant.

        Wenn die Grenze erreicht ist, schaltet die Notstromdose ab und ioBroker läuft dann nicht mehr.

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

        Mal ein Aufruf an die vielen stillen Mitleser hier im Thread:

        Es wäre super, wenn jemand aus der Community mithelfen könnte, der die neue Firmware nutzt.
        Wer ioBroker nicht an der Notstrom-Steckdose betreibt, könnte minSoc ja mal auf 50% setzen und die Batterien testweise mal bis zur Entladegrenze laufen lassen.
        Bei erreichen von minSoc: Welcher Wert wird bei euch dann aktuell unter socLimit gemeldet?
        Es müssten theoretisch Werte wie 18 oder 19 sein.

        Und eine zweite Frage in die Runde:
        Wurde bei euch unter properties zusätzlich ein neuer Key namens socCompSwitch angelegt?

        Falls ja, wären die beobachteten Werte und die jeweilige Situation (Laden, Entladen, Bypass) hilfreich.
        Im Moment würde mir auch schon der aktuelle Wert helfen.

        Ich freue mich über jede kurze Rückmeldung und Mithilfe aus der Runde.

        Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

        paul53P 1 Antwort Letzte Antwort
        0
        • maxclaudiM maxclaudi

          Mal ein Aufruf an die vielen stillen Mitleser hier im Thread:

          Es wäre super, wenn jemand aus der Community mithelfen könnte, der die neue Firmware nutzt.
          Wer ioBroker nicht an der Notstrom-Steckdose betreibt, könnte minSoc ja mal auf 50% setzen und die Batterien testweise mal bis zur Entladegrenze laufen lassen.
          Bei erreichen von minSoc: Welcher Wert wird bei euch dann aktuell unter socLimit gemeldet?
          Es müssten theoretisch Werte wie 18 oder 19 sein.

          Und eine zweite Frage in die Runde:
          Wurde bei euch unter properties zusätzlich ein neuer Key namens socCompSwitch angelegt?

          Falls ja, wären die beobachteten Werte und die jeweilige Situation (Laden, Entladen, Bypass) hilfreich.
          Im Moment würde mir auch schon der aktuelle Wert helfen.

          Ich freue mich über jede kurze Rückmeldung und Mithilfe aus der Runde.

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

          @maxclaudi [sagte]: ein neuer Key namens socCompSwitch angelegt?

          Ja. Der Wert ist aktuell 0 beim Laden und Entladen (nur Notstrom).

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

          maxclaudiM 1 Antwort Letzte Antwort
          1
          • paul53P paul53

            @maxclaudi [sagte]: ein neuer Key namens socCompSwitch angelegt?

            Ja. Der Wert ist aktuell 0 beim Laden und Entladen (nur Notstrom).

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

            socLimit

            00010000 = 16
            00010001 = 17
            00010010 = 18

            Bisher wurde gemeldet:

            16 = Normalbetrieb
            17 = Ladegrenze erreicht (socSet erreicht)

            Es sieht so aus, als wäre bei API3 einfach ein zusätzliches Bit 4 gesetzt worden:

            alt 0 -> neu 16
            alt 1 -> neu 17
            alt 2 -> neu 18

            also:
            neu = alt + 16

            Falls die Vermutung stimmt, müsste bei erreichter unterer Ladegrenze (minSoc erreicht) nun socLimit:18 gesetzt werden.

            Kann das bitte jemand bestätigen?

            Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

            paul53P 1 Antwort Letzte Antwort
            0
            • maxclaudiM maxclaudi

              socLimit

              00010000 = 16
              00010001 = 17
              00010010 = 18

              Bisher wurde gemeldet:

              16 = Normalbetrieb
              17 = Ladegrenze erreicht (socSet erreicht)

              Es sieht so aus, als wäre bei API3 einfach ein zusätzliches Bit 4 gesetzt worden:

              alt 0 -> neu 16
              alt 1 -> neu 17
              alt 2 -> neu 18

              also:
              neu = alt + 16

              Falls die Vermutung stimmt, müsste bei erreichter unterer Ladegrenze (minSoc erreicht) nun socLimit:18 gesetzt werden.

              Kann das bitte jemand bestätigen?

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

              @maxclaudi [sagte]: bei API3 einfach ein zusätzliches Bit 4 gesetzt

              Es wäre schön, wenn Zendure die Bedeutung dieses Bits mitteilen würde. Wenn es in neueren API-Versionen immer gesetzt ist, könnte man es auch maskieren.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

              1 Antwort Letzte Antwort
              0
              • maxclaudiM maxclaudi

                @paul53 sagte:
                Wo finde ich die Firmware-Version?
                Eine Software-Version V1.1.2 finde ich nur unter "packData".

                wird im JSON nicht übertragen.
                Es gibt zwar 'version', aber damit ist wahrscheinlich was anderes gemeint (zenSDK-Version?). Als Wert wird dort nur 2 oder 3 übertragen.

                @paul53 sagte:
                Axios ist ebenfalls im Javascript-Adapter per require('axios') verfügbar.

                Danke für den Hinweis zur Doku, das hatte ich tatsächlich nicht auf dem Schirm.
                Gut zu wissen, dass axios (mittlerweile?) zum Standard-Inventar des Adapters gehört.
                Ich lese ehrlich gesagt auch nicht die Doku und nutze am liebsten einfaches, pragmatisches JavaScript.
                Komme normal aus einer anderen Ecke – zu JS hat mich erst ioBroker gezwungenermaßen gebracht.

                Wie dem auch sei: Ich bin froh, dass das Skript in der Praxis genau das tut, was es soll.
                Als "kleines Lichtlein" im Vergleich zu eurer geballten Entwickler-Erfahrung in JS (Du, mcm1957 u. a.) bin ich schon glücklich, dass das Script ok ist.

                Falls Du (oder jemand anderes) Lust hast, den Code auf axios umzubauen, zu optimieren oder ( auch z.B. @Rico-Sander ) die Dokumentation zu erweitern – fühlt euch herzlich eingeladen!

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

                @maxclaudi [sagte]: Code auf axios umzubauen

                Nachdem ich heute um 17:07 Uhr wieder einen Timeout-Error aus httpGet() erhalten habe, der im nächsten Intervall-Zyklus wieder erledigt war, habe ich mal auf axios umgebaut.

                const axios = require('axios');
                 
                function startGetLoop() {
                    if (getTimer) { clearInterval(getTimer); }
                    getTimer = setInterval(() => {
                        if (postActive) return;
                        const url = `http://${IP}/properties/report`;
                        axios
                        .get(url, {timeout: getTimeoutMs, responseType: 'text' })
                        .then(function (response) {
                            if (getErrorCount > 0) log("Verbindung wieder OK", "info");
                            getErrorCount = 0;
                            if (!response.data) return;
                            setRxNew(response.data);
                            handleRxNewUpdate(response.data);
                        })
                        .catch(function (err) {
                            if (err) {
                                getErrorCount++;
                                if (getErrorCount <= 3) log(`GET Fehler (${getErrorCount}): ${err}`, "info");
                                if (getErrorCount === 4) log("Keine Verbindung möglich. Zendure-Geräte IP prüfen!", "error");
                            //    return;
                            }
                        });
                    }, getIntervalMs);
                }
                

                Es scheint zu funktionieren.

                javascript.0
                2026-06-19 22:37:23.641	info	script.js.common.Solarflow: Verbindung wieder OK
                javascript.0
                2026-06-19 22:37:20.606	info	script.js.common.Solarflow: GET Fehler (1): AxiosError: timeout of 2000ms exceeded
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                maxclaudiM 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @maxclaudi [sagte]: Falls Du minSoc einmal auf 50 % stellst und die Batterien bis zur Entladegrenze laufen lässt, wäre der gemeldete socLimit-Wert interessant.

                  Wenn die Grenze erreicht ist, schaltet die Notstromdose ab und ioBroker läuft dann nicht mehr.

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

                  @paul53 sagte:
                  Es wäre schön, wenn Zendure die Bedeutung dieses Bits mitteilen würde.

                  Zendure ist bzw. war in der Vergangenheit sehr sparsam mit Informationen.
                  Oft ist die spärliche API-Dokumentation teilweise unvollständig oder nicht richtig.

                  @paul53 sagte:
                  Wenn es in neueren API-Versionen immer gesetzt ist, könnte man es auch maskieren.

                  Darum frage ich ja.
                  Diesen Schritt würde ich erst gehen, wenn die Dokumentation – wenn auch nur spärlich – überhaupt auf API 3 aktualisiert wird oder genügend eigene Untersuchungen dies bestätigen.

                  @paul53 sagte:
                  Wenn die Grenze erreicht ist, schaltet die Notstromdose ab und ioBroker läuft dann nicht mehr.

                  Mich würde interessieren, unter welchen Bedingungen das beobachtet wurde.

                  Für mich ist aktuell noch unklar, wie sich die Grid-Off-Steckdose verhält, wenn bei Erreichen von MinSoC gleichzeitig

                  • ausreichend PV-Leistung vorhanden ist,
                  • das Gerät mit dem Netz verbunden ist,
                  • oder AC-Laden aktiviert ist.

                  Dazu habe ich bislang leider keine eindeutige Aussage/Information von Zendure gefunden.

                  Aus den verfügbaren Informationen geht lediglich hervor, dass die Off-Grid-Steckdose ein eigenständiger EPS-/Notstrom-Ausgang ist, der primär aus der Batterie versorgt wird.
                  Der SF800 Pro kann gleichzeitig netzparallel arbeiten und die Off-Grid-Steckdose versorgen.

                  Zendure Zitat:

                  Kann der SolarFlow 800 Pro 2 sowohl im netzgekoppelten als auch im netzunabhängigen Modus gleichzeitig arbeiten?
                  Ja, es unterstützt die gleichzeitige Nutzung der Off-Grid- und Netzeinspeisungsfunktion, wobei die Gesamtleistung 1000 W nicht überschreiten darf.
                  Bei alleiniger Nutzung der Off-Grid-Funktion beträgt die maximale Entladeleistung der Off-Grid-AC-Schnittstelle 1000 W.
                  Quelle: Zendure SolarFlow 800 Pro 2, FAQ

                  Was ich bisher nicht finden konnte, ist eine Aussage dazu,

                  • ob die Grid-Off-Steckdose bei Erreichen von MinSoC grundsätzlich abgeschaltet wird,
                  • ob sie bei ausreichender PV-Leistung weiter betrieben werden kann,
                  • oder ob ein vorhandener Netzanschluss dabei eine Rolle spielt.

                  Zendure liefert auch hier wieder nur spärliche Infos.

                  Viele Details lassen sich daher oft erst durch praktische Erfahrungen und eigene Tests herausfinden. Das war auch bei einigen Fragestellungen in der Vergangenheit so, bei denen ich selbst Messungen und Versuche durchgeführt habe, um das tatsächliche Verhalten der Geräte besser zu verstehen.

                  Daher die Frage an alle:

                  Hat das jemand bereits gezielt getestet?

                  Beispielsweise bei einem SF800 Pro / SF800 Pro 2 mit:

                  • aktivem Netzanschluss,
                  • Dauerlast an der Grid-Off-Steckdose,
                  • MinSoC z. B. 50 %.

                  Was passiert genau, wenn die 50 % erreicht werden und gleichzeitig noch genügend PV-Leistung vorhanden ist?

                  • Schaltet die Grid-Off-Steckdose sofort ab?
                  • Wird lediglich die Batterie geschont und die Last direkt aus PV versorgt?
                  • Oder verhält sich das System noch anders?

                  Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @maxclaudi [sagte]: Code auf axios umzubauen

                    Nachdem ich heute um 17:07 Uhr wieder einen Timeout-Error aus httpGet() erhalten habe, der im nächsten Intervall-Zyklus wieder erledigt war, habe ich mal auf axios umgebaut.

                    const axios = require('axios');
                     
                    function startGetLoop() {
                        if (getTimer) { clearInterval(getTimer); }
                        getTimer = setInterval(() => {
                            if (postActive) return;
                            const url = `http://${IP}/properties/report`;
                            axios
                            .get(url, {timeout: getTimeoutMs, responseType: 'text' })
                            .then(function (response) {
                                if (getErrorCount > 0) log("Verbindung wieder OK", "info");
                                getErrorCount = 0;
                                if (!response.data) return;
                                setRxNew(response.data);
                                handleRxNewUpdate(response.data);
                            })
                            .catch(function (err) {
                                if (err) {
                                    getErrorCount++;
                                    if (getErrorCount <= 3) log(`GET Fehler (${getErrorCount}): ${err}`, "info");
                                    if (getErrorCount === 4) log("Keine Verbindung möglich. Zendure-Geräte IP prüfen!", "error");
                                //    return;
                                }
                            });
                        }, getIntervalMs);
                    }
                    

                    Es scheint zu funktionieren.

                    javascript.0
                    2026-06-19 22:37:23.641	info	script.js.common.Solarflow: Verbindung wieder OK
                    javascript.0
                    2026-06-19 22:37:20.606	info	script.js.common.Solarflow: GET Fehler (1): AxiosError: timeout of 2000ms exceeded
                    
                    maxclaudiM Offline
                    maxclaudiM Offline
                    maxclaudi
                    schrieb am zuletzt editiert von maxclaudi
                    #343

                    @paul53 sagte:
                    Nachdem ich heute um 17:07 Uhr wieder einen Timeout-Error aus httpGet() erhalten habe, der im nächsten Intervall-Zyklus wieder erledigt war...

                    Irgendwie scheint Deine WLAN-Verbindung nicht gut zu sein.
                    Selbst mit Werten rssi -65 bis -67 habe ich keinen Timeout.
                    Intervall: 5000, Timeouts: 1500

                    @paul53 sagte:
                    habe ich mal auf axios umgebaut

                    wollte das fürs nächste Update aufheben :-)
                    Danke für Deine Mitarbeit. Habe jetzt alles auf axios umgestellt.
                    zum Update / Script

                    Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • maxclaudiM maxclaudi

                      @paul53 sagte:
                      Nachdem ich heute um 17:07 Uhr wieder einen Timeout-Error aus httpGet() erhalten habe, der im nächsten Intervall-Zyklus wieder erledigt war...

                      Irgendwie scheint Deine WLAN-Verbindung nicht gut zu sein.
                      Selbst mit Werten rssi -65 bis -67 habe ich keinen Timeout.
                      Intervall: 5000, Timeouts: 1500

                      @paul53 sagte:
                      habe ich mal auf axios umgebaut

                      wollte das fürs nächste Update aufheben :-)
                      Danke für Deine Mitarbeit. Habe jetzt alles auf axios umgestellt.
                      zum Update / Script

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

                      @maxclaudi [sagte]: Selbst mit Werten rssi -65 bis -67 habe ich keinen Timeout.

                      Der rssi liegt bei -55. Allerdings ist das 2,4-GHz-WLAN stark belegt. Mit Acrylic auf dem PC sehe ich 2 weitere AP auf dem gleichen Kanal mit rssi von > -60 . Auf den anderen Kanälen sieht es nicht besser aus.
                      Intervall: 5000, Timeout: 2000

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                      1 Antwort Letzte Antwort
                      0
                      • R Offline
                        R Offline
                        Rico Sander
                        schrieb am zuletzt editiert von
                        #345

                        @maxclaudi
                        Moin, einen schönen Sonntag zunächst.

                        Zum Umbau: Den Hinweis im Script

                        Zeile 114 const axios = require('axios'); 
                        Cannot find module 'axios' or its corresponding type declarations.(2307)```
                        

                        kann ich wieder ignorieren oder hab ich Handlungsbedarf?

                        Danke....

                        Wenns nicht geht, wie man will
                        - muss mans tun, wie man kann.
                        paul53P 1 Antwort Letzte Antwort
                        0
                        • R Rico Sander

                          @maxclaudi
                          Moin, einen schönen Sonntag zunächst.

                          Zum Umbau: Den Hinweis im Script

                          Zeile 114 const axios = require('axios'); 
                          Cannot find module 'axios' or its corresponding type declarations.(2307)```
                          

                          kann ich wieder ignorieren oder hab ich Handlungsbedarf?

                          Danke....

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

                          @Rico-Sander [sagte]: kann ich wieder ignorieren oder hab ich Handlungsbedarf?

                          Ignorieren.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                          1 Antwort Letzte Antwort
                          0
                          • R Offline
                            R Offline
                            Rico Sander
                            schrieb am zuletzt editiert von
                            #347

                            Moin @paul53,
                            ok, danke... ignoriere ich doch glatt 😳

                            Wenns nicht geht, wie man will
                            - muss mans tun, wie man kann.
                            1 Antwort Letzte Antwort
                            0
                            • maxclaudiM maxclaudi

                              @paul53 sagte:
                              Es wäre schön, wenn Zendure die Bedeutung dieses Bits mitteilen würde.

                              Zendure ist bzw. war in der Vergangenheit sehr sparsam mit Informationen.
                              Oft ist die spärliche API-Dokumentation teilweise unvollständig oder nicht richtig.

                              @paul53 sagte:
                              Wenn es in neueren API-Versionen immer gesetzt ist, könnte man es auch maskieren.

                              Darum frage ich ja.
                              Diesen Schritt würde ich erst gehen, wenn die Dokumentation – wenn auch nur spärlich – überhaupt auf API 3 aktualisiert wird oder genügend eigene Untersuchungen dies bestätigen.

                              @paul53 sagte:
                              Wenn die Grenze erreicht ist, schaltet die Notstromdose ab und ioBroker läuft dann nicht mehr.

                              Mich würde interessieren, unter welchen Bedingungen das beobachtet wurde.

                              Für mich ist aktuell noch unklar, wie sich die Grid-Off-Steckdose verhält, wenn bei Erreichen von MinSoC gleichzeitig

                              • ausreichend PV-Leistung vorhanden ist,
                              • das Gerät mit dem Netz verbunden ist,
                              • oder AC-Laden aktiviert ist.

                              Dazu habe ich bislang leider keine eindeutige Aussage/Information von Zendure gefunden.

                              Aus den verfügbaren Informationen geht lediglich hervor, dass die Off-Grid-Steckdose ein eigenständiger EPS-/Notstrom-Ausgang ist, der primär aus der Batterie versorgt wird.
                              Der SF800 Pro kann gleichzeitig netzparallel arbeiten und die Off-Grid-Steckdose versorgen.

                              Zendure Zitat:

                              Kann der SolarFlow 800 Pro 2 sowohl im netzgekoppelten als auch im netzunabhängigen Modus gleichzeitig arbeiten?
                              Ja, es unterstützt die gleichzeitige Nutzung der Off-Grid- und Netzeinspeisungsfunktion, wobei die Gesamtleistung 1000 W nicht überschreiten darf.
                              Bei alleiniger Nutzung der Off-Grid-Funktion beträgt die maximale Entladeleistung der Off-Grid-AC-Schnittstelle 1000 W.
                              Quelle: Zendure SolarFlow 800 Pro 2, FAQ

                              Was ich bisher nicht finden konnte, ist eine Aussage dazu,

                              • ob die Grid-Off-Steckdose bei Erreichen von MinSoC grundsätzlich abgeschaltet wird,
                              • ob sie bei ausreichender PV-Leistung weiter betrieben werden kann,
                              • oder ob ein vorhandener Netzanschluss dabei eine Rolle spielt.

                              Zendure liefert auch hier wieder nur spärliche Infos.

                              Viele Details lassen sich daher oft erst durch praktische Erfahrungen und eigene Tests herausfinden. Das war auch bei einigen Fragestellungen in der Vergangenheit so, bei denen ich selbst Messungen und Versuche durchgeführt habe, um das tatsächliche Verhalten der Geräte besser zu verstehen.

                              Daher die Frage an alle:

                              Hat das jemand bereits gezielt getestet?

                              Beispielsweise bei einem SF800 Pro / SF800 Pro 2 mit:

                              • aktivem Netzanschluss,
                              • Dauerlast an der Grid-Off-Steckdose,
                              • MinSoC z. B. 50 %.

                              Was passiert genau, wenn die 50 % erreicht werden und gleichzeitig noch genügend PV-Leistung vorhanden ist?

                              • Schaltet die Grid-Off-Steckdose sofort ab?
                              • Wird lediglich die Batterie geschont und die Last direkt aus PV versorgt?
                              • Oder verhält sich das System noch anders?
                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #348

                              @maxclaudi [sagte]: Hat das jemand bereits gezielt getestet?

                              Zum Test habe ich anstelle von Mini-PC und Router einen 75 W Verbraucher an die Notstromsteckdose angeschlossen und folgendes beobachtet:

                              • Es wird auch bei 75 W Last oberhalb von "socSet" mit 9 W weiter geladen
                              • Das Weiterladen kann man verhindern, indem man "acMode" auf 2 (Entladen) und "outputLimit" auf einen Wert > 0 (15 W) setzt.
                              • Bei Netzausfall sinkt SoC bis auf "minSoc" (Test mit 50) und es schaltet dann die Notstromdose aus (siehe Chart).

                              PV ist Zur Zeit nicht angeschlossen.

                              SoC50-75W.JPG

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                              maxclaudiM 1 Antwort Letzte Antwort
                              1
                              • paul53P paul53

                                @maxclaudi [sagte]: Hat das jemand bereits gezielt getestet?

                                Zum Test habe ich anstelle von Mini-PC und Router einen 75 W Verbraucher an die Notstromsteckdose angeschlossen und folgendes beobachtet:

                                • Es wird auch bei 75 W Last oberhalb von "socSet" mit 9 W weiter geladen
                                • Das Weiterladen kann man verhindern, indem man "acMode" auf 2 (Entladen) und "outputLimit" auf einen Wert > 0 (15 W) setzt.
                                • Bei Netzausfall sinkt SoC bis auf "minSoc" (Test mit 50) und es schaltet dann die Notstromdose aus (siehe Chart).

                                PV ist Zur Zeit nicht angeschlossen.

                                SoC50-75W.JPG

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

                                @paul53 sagte:

                                Bei Netzausfall sinkt SoC bis auf "minSoc" (Test mit 50) und es schaltet dann die Notstromdose aus....

                                Wert von socLimit:
                                Welchen Wert meldet socLimit, sobald die Notstromdose wegen Erreichen des Entladelimits (minSoC) abgeschaltet hat?
                                18?

                                Einstellung gridOffMode:
                                Welchen Wert hattest du während deines Tests für gridOffMode gesetzt (0 oder 1)?

                                Danke dir für deine Unterstützung.

                                Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                                paul53P 2 Antworten Letzte Antwort
                                0
                                • maxclaudiM maxclaudi

                                  @paul53 sagte:

                                  Bei Netzausfall sinkt SoC bis auf "minSoc" (Test mit 50) und es schaltet dann die Notstromdose aus....

                                  Wert von socLimit:
                                  Welchen Wert meldet socLimit, sobald die Notstromdose wegen Erreichen des Entladelimits (minSoC) abgeschaltet hat?
                                  18?

                                  Einstellung gridOffMode:
                                  Welchen Wert hattest du während deines Tests für gridOffMode gesetzt (0 oder 1)?

                                  Danke dir für deine Unterstützung.

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

                                  @maxclaudi [sagte]: Welchen Wert meldet socLimit, sobald die Notstromdose wegen Erreichen des Entladelimits (minSoC) abgeschaltet hat?

                                  Darauf habe ich leider nicht geachtet. Es wird seit einiger Zeit wieder geladen.

                                  @maxclaudi sagte:

                                  Welchen Wert hattest du während deines Tests für gridOffMode gesetzt (0 oder 1)?

                                  Immer 0 (normal).

                                  EDIT: Wenn weder Netz noch Verbraucher angeschlossen sind, wird die Batterie mit 14 W entladen ("Battery pack power").

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                                  maxclaudiM 1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @maxclaudi [sagte]: Welchen Wert meldet socLimit, sobald die Notstromdose wegen Erreichen des Entladelimits (minSoC) abgeschaltet hat?

                                    Darauf habe ich leider nicht geachtet. Es wird seit einiger Zeit wieder geladen.

                                    @maxclaudi sagte:

                                    Welchen Wert hattest du während deines Tests für gridOffMode gesetzt (0 oder 1)?

                                    Immer 0 (normal).

                                    EDIT: Wenn weder Netz noch Verbraucher angeschlossen sind, wird die Batterie mit 14 W entladen ("Battery pack power").

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

                                    @paul53 sagte:
                                    EDIT: Wenn weder Netz noch Verbraucher angeschlossen sind, wird die Batterie mit 14 W entladen ("Battery pack power").

                                    Wenn die gridOff-Steckdose längere Zeit inaktiv sein soll, dann kannst Du gridOffMode:2 setzen.
                                    set gridOffMode; 0: Normal mode, 1: Economic mode, 2: OFF
                                    Das spart Strom.

                                    Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • maxclaudiM maxclaudi

                                      @paul53 sagte:
                                      EDIT: Wenn weder Netz noch Verbraucher angeschlossen sind, wird die Batterie mit 14 W entladen ("Battery pack power").

                                      Wenn die gridOff-Steckdose längere Zeit inaktiv sein soll, dann kannst Du gridOffMode:2 setzen.
                                      set gridOffMode; 0: Normal mode, 1: Economic mode, 2: OFF
                                      Das spart Strom.

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb zuletzt editiert von
                                      #352

                                      @maxclaudi [sagte]: gridOffMode:2 setzen

                                      Das war die Werkseinstellung. Was passiert im Economic mode?

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB

                                      maxclaudiM 1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @maxclaudi [sagte]: gridOffMode:2 setzen

                                        Das war die Werkseinstellung. Was passiert im Economic mode?

                                        maxclaudiM Offline
                                        maxclaudiM Offline
                                        maxclaudi
                                        schrieb zuletzt editiert von
                                        #353

                                        @paul53
                                        Der Economic mode soll angeblich den kombinierten Betrieb (gleichzeitiger In- und Output) ermöglichen und angeblich auch bei Inaktivität automatisch abschalten.
                                        Getestet und genutzt wird der Modus von mir nur als reiner 230V AC-Eingang.

                                        Bei mir ist dauerhaft gridOffMode:1 und gridReverse:1 gesetzt.
                                        Das ist für mein Setup zwingend erforderlich und von Vorteil, weil ich an der gridOff-Steckdose dauerhaft einen Hoymiles-Wechselrichter zur Einspeisung angeschlossen habe.
                                        Dabei verwende ich den Wechselrichter primär, um die Batterien zu laden.
                                        Wenn die Batterien voll sind, geht das Gerät (durch gridReverse: 1) in den Bypass und liefert die Leistung ins Hausnetz.

                                        Der angeschlossene Wechselrichter läuft damit absolut stabil.
                                        Das System schaltet hier bei mir entweder die gridOff-Steckdose gar nicht ab, oder die Abschaltung war/ist im Betrieb für mich bisher nicht wahrnehmbar und ungetestet.

                                        Weil mein System so gut funktioniert und ich bisher für mich keine Nachteile finden kann, sind für mich ein paar Watt hin oder her auch nicht relevant.
                                        Allgemein werte ich eigentlich immer den echten Stromzählerwert des Energieversorgers aus.

                                        Ich priorisiere derzeit – Step by Step – andere, neue Versuche, Keys und Parameter.

                                        Das Ganze sprengt leider schon sehr lange Zeit meinen Freizeitrahmen.

                                        Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2

                                        1 Antwort Letzte Antwort
                                        0
                                        • J Online
                                          J Online
                                          Jockel_Bln
                                          schrieb zuletzt editiert von Jockel_Bln
                                          #354

                                          @maxclaudi Vielen Dank für die Mühe die du dir hier machst 👍
                                          Ich besitze seit dem Wochenende einen SF2400AC+ und versuche gerade das Teil halbwegs sinnvoll zu steuern. Nachdem ich dein super dokumentiertes Skript gefunden habe, ist der solarflow Adapter gleich wieder in Rente gegangen.
                                          Ich habe von Skripten leider nur sehr weinig bis gar keine Ahnung und bin deshalb immer noch auf Vorlagen angewiesen.
                                          Da dein "Hauptskript" leider nicht öffentlich ist, habe ich mich mal bei @lesiflo bedient und versucht sein Script zum Laden/Entladen von Zendure Solarflow für mich an dei Skript anzupassen um erst einmal die grundlegenden Funktionen zu haben.

                                          @All Eventuell kann da mal jemand drüber gucken, ob ich da sehr grobe Schnitzer drin habe und eventuell meinen Speicher gleich wieder schrotte.
                                          c3f6ed6b-2a06-4cd6-9961-d7a77b592e1e-image.jpeg
                                          aa557486-29ea-4134-851d-d1796aab3f24-image.jpeg
                                          Hier nochmal der Blockly Export:

                                          <xml xmlns="https://developers.google.com/blockly/xml">
                                           <variables>
                                             <variable id="O}e3|VjTzH+.dHc-BE_:">output_begin</variable>
                                             <variable id="Pmn^Rfs2`%vXob$!J=UX">input_begin</variable>
                                             <variable id="C3%p`nQ`AJ8yklMQKidv">input_max</variable>
                                             <variable id="8]~yHC.tW6]*GfkCbq)^">output_max</variable>
                                             <variable id="u8CL)Wex?DocZ58y(/n*">output</variable>
                                             <variable id="s3oTgk^d]QTYtWfpyOk6">input</variable>
                                           </variables>
                                           <block type="comment" id="aB?G:5$JZsZVN]k[FMf$" x="2623" y="-1423">
                                             <field name="COMMENT">Setzen der Variablen </field>
                                             <next>
                                               <block type="variables_set" id="%T^F?(~}g~8Mo.96hbPc">
                                                 <field name="VAR" id="O}e3|VjTzH+.dHc-BE_:">output_begin</field>
                                                 <value name="VALUE">
                                                   <block type="math_number" id="Cd-LtKS?ZQR;3fE)1OfR">
                                                     <field name="NUM">10</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="variables_set" id="Kd6%X$(E%a#8:/4N[o[d">
                                                     <field name="VAR" id="Pmn^Rfs2`%vXob$!J=UX">input_begin</field>
                                                     <value name="VALUE">
                                                       <block type="math_number" id="6chO$JcvEJqo#aCjc+es">
                                                         <field name="NUM">-50</field>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="variables_set" id="uB]{;BN[bdupMg$7^N%|">
                                                         <field name="VAR" id="C3%p`nQ`AJ8yklMQKidv">input_max</field>
                                                         <value name="VALUE">
                                                           <block type="math_number" id="[h?+?1Bkt{sL]3tL~hWI">
                                                             <field name="NUM">-2400</field>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="variables_set" id="C7WP.yVY.~yLboTO)--M">
                                                             <field name="VAR" id="8]~yHC.tW6]*GfkCbq)^">output_max</field>
                                                             <value name="VALUE">
                                                               <block type="math_number" id="!o~v`/:*+;(]p]{H?WTA">
                                                                 <field name="NUM">800</field>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="on_ext" id="/S(;`QABriIC^M+!}7T:">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                                                 <field name="CONDITION">ne</field>
                                                                 <field name="ACK_CONDITION"></field>
                                                                 <value name="OID0">
                                                                   <shadow type="field_oid" id="w^]7^w1{B-!$n`7Iy491">
                                                                     <field name="oid">smartmeter.0.1-0:16_7_0__255.value</field>
                                                                   </shadow>
                                                                 </value>
                                                                 <statement name="STATEMENT">
                                                                   <block type="comment" id="cN$0iHH^ClAq2iXC%h2f">
                                                                     <field name="COMMENT">Setzen der Ausgangsleistung gerundet auf 10W</field>
                                                                     <next>
                                                                       <block type="variables_set" id="S2o8L=RQS++7ipXOjjW5">
                                                                         <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                                                         <value name="VALUE">
                                                                           <block type="math_arithmetic" id="?3ziYdvoAKuW!gQYp^H.">
                                                                             <field name="OP">MULTIPLY</field>
                                                                             <value name="A">
                                                                               <shadow type="math_number" id="T~+opyPvwKX*Zt1YR;As">
                                                                                 <field name="NUM">1</field>
                                                                               </shadow>
                                                                               <block type="math_round" id=":`a3!T.9(}B/lJ^.KS(/">
                                                                                 <field name="OP">ROUND</field>
                                                                                 <value name="NUM">
                                                                                   <shadow type="math_number" id="g;oroW(D?cU31.`9~.1}">
                                                                                     <field name="NUM">3.1</field>
                                                                                   </shadow>
                                                                                   <block type="math_arithmetic" id="Au]!Mvid69-ThMTm]V96">
                                                                                     <field name="OP">DIVIDE</field>
                                                                                     <value name="A">
                                                                                       <shadow type="math_number" id="W.WcvG;|rSc%%(.T_W^c">
                                                                                         <field name="NUM">1</field>
                                                                                       </shadow>
                                                                                       <block type="math_arithmetic" id="hYf4Qb{Ih$jw*N;WscVV">
                                                                                         <field name="OP">ADD</field>
                                                                                         <value name="A">
                                                                                           <shadow type="math_number" id="9gy04mb1^QNucYMt=}0h">
                                                                                             <field name="NUM">50</field>
                                                                                           </shadow>
                                                                                           <block type="math_arithmetic" id="*1]Xu7P5!!NOH(N|hVz:">
                                                                                             <field name="OP">MINUS</field>
                                                                                             <value name="A">
                                                                                               <shadow type="math_number" id="b{`6?WEyk*89jf,ZZB$.">
                                                                                                 <field name="NUM">50</field>
                                                                                               </shadow>
                                                                                               <block type="on_source" id="fT5WF[G1:geas5bB(dK_">
                                                                                                 <field name="ATTR">state.val</field>
                                                                                               </block>
                                                                                             </value>
                                                                                             <value name="B">
                                                                                               <shadow type="math_number" id="fm2M,2zo4VbkMa}j=/{E">
                                                                                                 <field name="NUM">40</field>
                                                                                               </shadow>
                                                                                               <block type="variables_get" id="P_*d{TGR}~6)FGp?beAd">
                                                                                                 <field name="VAR" id="O}e3|VjTzH+.dHc-BE_:">output_begin</field>
                                                                                               </block>
                                                                                             </value>
                                                                                           </block>
                                                                                         </value>
                                                                                         <value name="B">
                                                                                           <shadow type="math_number" id="3(GI4:w3kpQ]XWp!0hOr">
                                                                                             <field name="NUM">1</field>
                                                                                           </shadow>
                                                                                           <block type="get_value" id="Qo}VOqo;3/)bnhXo)WG?">
                                                                                             <field name="ATTR">val</field>
                                                                                             <field name="OID">0_userdata.0.zendure.SF2400ACplus.properties.outputHomePower</field>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </value>
                                                                                     <value name="B">
                                                                                       <shadow type="math_number" id="GKj`)SUe,1zDzP~O_ZAs">
                                                                                         <field name="NUM">10</field>
                                                                                       </shadow>
                                                                                     </value>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="B">
                                                                               <shadow type="math_number" id="o{icAU.bf$`.qo0uY?nQ">
                                                                                 <field name="NUM">10</field>
                                                                               </shadow>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <next>
                                                                           <block type="comment" id="jfTMAZ*=]Yc9N:)Y_sD1">
                                                                             <field name="COMMENT">Setzen der Eingangsleistung gerundet auf 10W</field>
                                                                             <next>
                                                                               <block type="variables_set" id="=I!*y|ga6BOdj=O!X0BN">
                                                                                 <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                                                 <value name="VALUE">
                                                                                   <block type="math_arithmetic" id="|CDI19aH]0wqD@rhgZk%">
                                                                                     <field name="OP">MULTIPLY</field>
                                                                                     <value name="A">
                                                                                       <shadow type="math_number" id="T~+opyPvwKX*Zt1YR;As">
                                                                                         <field name="NUM">1</field>
                                                                                       </shadow>
                                                                                       <block type="math_round" id="Ds#SgQMlU@LRBB?1[uU:">
                                                                                         <field name="OP">ROUND</field>
                                                                                         <value name="NUM">
                                                                                           <shadow type="math_number" id="g;oroW(D?cU31.`9~.1}">
                                                                                             <field name="NUM">3.1</field>
                                                                                           </shadow>
                                                                                           <block type="math_arithmetic" id="Xg=2?pCZa`_D@Ag3f+c)">
                                                                                             <field name="OP">DIVIDE</field>
                                                                                             <value name="A">
                                                                                               <shadow type="math_number" id="W.WcvG;|rSc%%(.T_W^c">
                                                                                                 <field name="NUM">1</field>
                                                                                               </shadow>
                                                                                               <block type="math_arithmetic" id="~LBc9fG5Z6lJd12/)jT4">
                                                                                                 <field name="OP">MINUS</field>
                                                                                                 <value name="A">
                                                                                                   <shadow type="math_number" id="9gy04mb1^QNucYMt=}0h">
                                                                                                     <field name="NUM">50</field>
                                                                                                   </shadow>
                                                                                                   <block type="math_arithmetic" id="7*xCVML~1.vqU9HsbESx">
                                                                                                     <field name="OP">MINUS</field>
                                                                                                     <value name="A">
                                                                                                       <shadow type="math_number" id="b{`6?WEyk*89jf,ZZB$.">
                                                                                                         <field name="NUM">50</field>
                                                                                                       </shadow>
                                                                                                       <block type="on_source" id="4-h:R`sm6~t8DD=?|~bF">
                                                                                                         <field name="ATTR">state.val</field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <value name="B">
                                                                                                       <shadow type="math_number" id="$D6ZCKCT8FTu_$opwTau">
                                                                                                         <field name="NUM">80</field>
                                                                                                       </shadow>
                                                                                                       <block type="variables_get" id="l1AP,7Z]*amiz~W%-%1U">
                                                                                                         <field name="VAR" id="Pmn^Rfs2`%vXob$!J=UX">input_begin</field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                   </block>
                                                                                                 </value>
                                                                                                 <value name="B">
                                                                                                   <shadow type="math_number" id="3(GI4:w3kpQ]XWp!0hOr">
                                                                                                     <field name="NUM">1</field>
                                                                                                   </shadow>
                                                                                                   <block type="get_value" id="^#eZ+R?)2{J(aB:7ue?R">
                                                                                                     <field name="ATTR">val</field>
                                                                                                     <field name="OID">0_userdata.0.zendure.SF2400ACplus.properties.gridInputPower</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                               </block>
                                                                                             </value>
                                                                                             <value name="B">
                                                                                               <shadow type="math_number" id="+|]eEGPOjRvjdi)O;j]y">
                                                                                                 <field name="NUM">10</field>
                                                                                               </shadow>
                                                                                             </value>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </value>
                                                                                     <value name="B">
                                                                                       <shadow type="math_number" id="2._8#L!KFobGGgkB!Y$A">
                                                                                         <field name="NUM">10</field>
                                                                                       </shadow>
                                                                                     </value>
                                                                                   </block>
                                                                                 </value>
                                                                                 <next>
                                                                                   <block type="controls_if" id="9{oE^c13a:31;2ut.DI$">
                                                                                     <mutation elseif="1" else="1"></mutation>
                                                                                     <value name="IF0">
                                                                                       <block type="logic_multi_and" id="K5vL6-k@2[o9(|E4`OqX">
                                                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                                                                                         <value name="AND0">
                                                                                           <block type="logic_compare" id="8T*pvHzokS3$DFxF[cJw">
                                                                                             <field name="OP">GT</field>
                                                                                             <value name="A">
                                                                                               <block type="variables_get" id="~PO!:gZkJmZA*2|eHeLF">
                                                                                                 <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                                                                               </block>
                                                                                             </value>
                                                                                             <value name="B">
                                                                                               <block type="math_number" id="[w:QpHOP~OO[[A!*WhCR">
                                                                                                 <field name="NUM">0</field>
                                                                                               </block>
                                                                                             </value>
                                                                                           </block>
                                                                                         </value>
                                                                                         <value name="AND1">
                                                                                           <block type="logic_compare" id="sxUAjFcy(N6Q59Byrc{5">
                                                                                             <field name="OP">EQ</field>
                                                                                             <value name="A">
                                                                                               <block type="get_value" id=")?$qjl;c)((g)x%;f*1[">
                                                                                                 <field name="ATTR">val</field>
                                                                                                 <field name="OID">0_userdata.0.Speicher.Freigabe_Entladen</field>
                                                                                               </block>
                                                                                             </value>
                                                                                             <value name="B">
                                                                                               <block type="logic_boolean" id="W=F.#*.dh40F`d:.:9vl">
                                                                                                 <field name="BOOL">TRUE</field>
                                                                                               </block>
                                                                                             </value>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </value>
                                                                                     <statement name="DO0">
                                                                                       <block type="comment" id="U9B/k%5s]K%^b3s)xv(L">
                                                                                         <field name="COMMENT">1. Entladen</field>
                                                                                         <next>
                                                                                           <block type="controls_if" id="B:~%LC[49c%qUwqiFyn3">
                                                                                             <value name="IF0">
                                                                                               <block type="logic_compare" id="kKJQjQ5XgbxE0lQ_s|)l">
                                                                                                 <field name="OP">GT</field>
                                                                                                 <value name="A">
                                                                                                   <block type="variables_get" id="G0e{06Hc]}TIX=S*];CK">
                                                                                                     <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                                 <value name="B">
                                                                                                   <block type="variables_get" id="xu)L*d2Wlj7Tdp_x(?cE">
                                                                                                     <field name="VAR" id="8]~yHC.tW6]*GfkCbq)^">output_max</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                               </block>
                                                                                             </value>
                                                                                             <statement name="DO0">
                                                                                               <block type="variables_set" id="[)g-c]$Cv{gB|ilO-vQ;">
                                                                                                 <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                                                                                 <value name="VALUE">
                                                                                                   <block type="variables_get" id=":wgQ{EmOcWnjF?+Li*l]">
                                                                                                     <field name="VAR" id="8]~yHC.tW6]*GfkCbq)^">output_max</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                               </block>
                                                                                             </statement>
                                                                                             <next>
                                                                                               <block type="control" id=";Db^:4O1EN|E83*|k[36">
                                                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                 <field name="OID">0_userdata.0.zendure.SF2400ACplus.control.auto_in_out_Limit</field>
                                                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                                                 <value name="VALUE">
                                                                                                   <block type="variables_get" id="cj|vI+5rE;a$Z}XkQz`B">
                                                                                                     <field name="VAR" id="u8CL)Wex?DocZ58y(/n*">output</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                               </block>
                                                                                             </next>
                                                                                           </block>
                                                                                         </next>
                                                                                       </block>
                                                                                     </statement>
                                                                                     <value name="IF1">
                                                                                       <block type="logic_multi_and" id="RpscAq3vo.ceGvt}lzM;">
                                                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation>
                                                                                         <value name="AND0">
                                                                                           <block type="time_compare_ex" id="4Mh;.M3%8}QAkhPEtcv$">
                                                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation>
                                                                                             <field name="USE_ACTUAL_TIME">TRUE</field>
                                                                                             <field name="OPTION">between</field>
                                                                                             <value name="START_TIME">
                                                                                               <shadow type="text" id="2Km3*[bQnyaNB:XI6]9%">
                                                                                                 <field name="TEXT">08:00</field>
                                                                                               </shadow>
                                                                                             </value>
                                                                                             <value name="END_TIME">
                                                                                               <shadow type="text" id="KO`i!C([`f|6juoQ~d-d">
                                                                                                 <field name="TEXT">21:00</field>
                                                                                               </shadow>
                                                                                             </value>
                                                                                           </block>
                                                                                         </value>
                                                                                         <value name="AND1">
                                                                                           <block type="logic_compare" id="=;k+]!:`FgPIl(ffM)0z">
                                                                                             <field name="OP">EQ</field>
                                                                                             <value name="A">
                                                                                               <block type="get_value" id="o55n7*4D=LYnb:P_11Mb">
                                                                                                 <field name="ATTR">val</field>
                                                                                                 <field name="OID">0_userdata.0.Speicher.Freigabe_Laden</field>
                                                                                               </block>
                                                                                             </value>
                                                                                             <value name="B">
                                                                                               <block type="logic_boolean" id="TR/7]h/Wr4=[w}2,:/d|">
                                                                                                 <field name="BOOL">TRUE</field>
                                                                                               </block>
                                                                                             </value>
                                                                                           </block>
                                                                                         </value>
                                                                                         <value name="AND2">
                                                                                           <block type="logic_compare" id="BdTZijA^#anVn3j{PwI*">
                                                                                             <field name="OP">LT</field>
                                                                                             <value name="A">
                                                                                               <block type="variables_get" id="TtqY39_BvS=6H}t)mLEe">
                                                                                                 <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                                                               </block>
                                                                                             </value>
                                                                                             <value name="B">
                                                                                               <block type="math_number" id="wjR@%Hg`by9T-|5Qupoe">
                                                                                                 <field name="NUM">0</field>
                                                                                               </block>
                                                                                             </value>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </value>
                                                                                     <statement name="DO1">
                                                                                       <block type="comment" id="zC5_szd6=wy}Q*]%d_Rb">
                                                                                         <field name="COMMENT">Laden</field>
                                                                                         <next>
                                                                                           <block type="controls_if" id="pW$^ccLu1b}%C$y8h#iQ">
                                                                                             <value name="IF0">
                                                                                               <block type="logic_compare" id="?y|QF}?u)ssQqx^b-mF1">
                                                                                                 <field name="OP">LT</field>
                                                                                                 <value name="A">
                                                                                                   <block type="variables_get" id="I=IU!qT3iBK7EY~n[$Sj">
                                                                                                     <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                                 <value name="B">
                                                                                                   <block type="variables_get" id="G@NF62dM(QOk8r3y4(XE">
                                                                                                     <field name="VAR" id="C3%p`nQ`AJ8yklMQKidv">input_max</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                               </block>
                                                                                             </value>
                                                                                             <statement name="DO0">
                                                                                               <block type="variables_set" id="u@~xzq/wsLZ[`Ui~asm?">
                                                                                                 <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                                                                 <value name="VALUE">
                                                                                                   <block type="variables_get" id="Q{5~Zs$rGZLl_M}vfjA0">
                                                                                                     <field name="VAR" id="C3%p`nQ`AJ8yklMQKidv">input_max</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                               </block>
                                                                                             </statement>
                                                                                             <next>
                                                                                               <block type="control" id=";512Sny^l9[8H~)*$JIi">
                                                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                 <field name="OID">0_userdata.0.zendure.SF2400ACplus.control.auto_in_out_Limit</field>
                                                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                                                 <value name="VALUE">
                                                                                                   <block type="variables_get" id="_p]0p.2.)e;=_p)|+$|v">
                                                                                                     <field name="VAR" id="s3oTgk^d]QTYtWfpyOk6">input</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                               </block>
                                                                                             </next>
                                                                                           </block>
                                                                                         </next>
                                                                                       </block>
                                                                                     </statement>
                                                                                     <statement name="ELSE">
                                                                                       <block type="comment" id="T1mOiNRi*1jPnM#~?:mM">
                                                                                         <field name="COMMENT">4.  Ein/Ausgangsleistung auf 0 setzen</field>
                                                                                         <next>
                                                                                           <block type="control" id="Qhy=K`*Kim%|cM0RX[fs">
                                                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                             <field name="OID">0_userdata.0.zendure.SF2400ACplus.control.auto_in_out_Limit</field>
                                                                                             <field name="WITH_DELAY">FALSE</field>
                                                                                             <value name="VALUE">
                                                                                               <block type="math_number" id="_E5[`;YcRI]zD#G$VW2C">
                                                                                                 <field name="NUM">0</field>
                                                                                               </block>
                                                                                             </value>
                                                                                           </block>
                                                                                         </next>
                                                                                       </block>
                                                                                     </statement>
                                                                                     <next>
                                                                                       <block type="comment" id="*!ut{wn)jWUE5I$r}%,8">
                                                                                         <field name="COMMENT">Nachladen erst ab 95%</field>
                                                                                         <next>
                                                                                           <block type="controls_if" id="rgq4u/kHcr:PfHb_DBA:">
                                                                                             <mutation elseif="1"></mutation>
                                                                                             <value name="IF0">
                                                                                               <block type="logic_compare" id="ZB8B=/iNM1_y$zz;NUTs">
                                                                                                 <field name="OP">EQ</field>
                                                                                                 <value name="A">
                                                                                                   <block type="get_value" id="5IP8.FO(t!H?3dC(}QV;">
                                                                                                     <field name="ATTR">val</field>
                                                                                                     <field name="OID">0_userdata.0.zendure.SF2400ACplus.packData.JO2AEP3P1000431.socLevel</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                                 <value name="B">
                                                                                                   <block type="math_number" id="8RkLiOoN`{M92y!.dUGb">
                                                                                                     <field name="NUM">100</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                               </block>
                                                                                             </value>
                                                                                             <statement name="DO0">
                                                                                               <block type="update" id="mVuLG3Ds7%,MbrHy5UOb">
                                                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                 <field name="OID">0_userdata.0.Speicher.Freigabe_Laden</field>
                                                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                                                 <value name="VALUE">
                                                                                                   <block type="logic_boolean" id="PoVJSVCu-x/P:.6osIO#">
                                                                                                     <field name="BOOL">FALSE</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                               </block>
                                                                                             </statement>
                                                                                             <value name="IF1">
                                                                                               <block type="logic_compare" id="8QX+DTlWn)^zgK_ZG,F!">
                                                                                                 <field name="OP">GT</field>
                                                                                                 <value name="A">
                                                                                                   <block type="get_value" id="?p9@Lnln2Hg)S39BcqM9">
                                                                                                     <field name="ATTR">val</field>
                                                                                                     <field name="OID">0_userdata.0.zendure.SF2400ACplus.packData.JO2AEP3P1000431.socLevel</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                                 <value name="B">
                                                                                                   <block type="math_number" id="^wP6)i)NRE|eA0g0Y~ve">
                                                                                                     <field name="NUM">95</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                               </block>
                                                                                             </value>
                                                                                             <statement name="DO1">
                                                                                               <block type="update" id="2%~gHm:@+OHGiV8mf$CI">
                                                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                 <field name="OID">0_userdata.0.Speicher.Freigabe_Laden</field>
                                                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                                                 <value name="VALUE">
                                                                                                   <block type="logic_boolean" id="t-?IPhL9,4cnWLje#`C5">
                                                                                                     <field name="BOOL">TRUE</field>
                                                                                                   </block>
                                                                                                 </value>
                                                                                               </block>
                                                                                             </statement>
                                                                                             <next>
                                                                                               <block type="comment" id="]oDC2Cd9J`v{Y[I+tG;o">
                                                                                                 <field name="COMMENT">Entladen erst wieder ab 20%</field>
                                                                                                 <next>
                                                                                                   <block type="controls_if" id="_Fd4hlB3UPh_oTC{]6dV">
                                                                                                     <mutation elseif="1"></mutation>
                                                                                                     <value name="IF0">
                                                                                                       <block type="logic_compare" id="sA~y{~84I)V|J|7xWe(%">
                                                                                                         <field name="OP">LTE</field>
                                                                                                         <value name="A">
                                                                                                           <block type="get_value" id="6[ucT_hz[NTZgoy-SIdR">
                                                                                                             <field name="ATTR">val</field>
                                                                                                             <field name="OID">0_userdata.0.zendure.SF2400ACplus.packData.JO2AEP3P1000431.socLevel</field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                         <value name="B">
                                                                                                           <block type="math_number" id=")o5Y(o]iP%B!hOn;p`K6">
                                                                                                             <field name="NUM">10</field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <statement name="DO0">
                                                                                                       <block type="update" id="0b?O!3MR{aU.JuE:?FpD">
                                                                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                         <field name="OID">0_userdata.0.Speicher.Freigabe_Entladen</field>
                                                                                                         <field name="WITH_DELAY">FALSE</field>
                                                                                                         <value name="VALUE">
                                                                                                           <block type="logic_boolean" id="@}S3a?-mx{zdDBfYX#P*">
                                                                                                             <field name="BOOL">FALSE</field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                       </block>
                                                                                                     </statement>
                                                                                                     <value name="IF1">
                                                                                                       <block type="logic_compare" id="MTmDqOiFGjuGqhi]eH*}">
                                                                                                         <field name="OP">GTE</field>
                                                                                                         <value name="A">
                                                                                                           <block type="get_value" id="O%`;}8-bee3|f3(.g*FA">
                                                                                                             <field name="ATTR">val</field>
                                                                                                             <field name="OID">0_userdata.0.zendure.SF2400ACplus.packData.JO2AEP3P1000431.socLevel</field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                         <value name="B">
                                                                                                           <block type="math_number" id="%Sa-Ne`]Q=59iD+^jjPj">
                                                                                                             <field name="NUM">20</field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <statement name="DO1">
                                                                                                       <block type="update" id="PXUYyV6*ojZ$w{pi$m/k">
                                                                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                                                         <field name="OID">0_userdata.0.Speicher.Freigabe_Entladen</field>
                                                                                                         <field name="WITH_DELAY">FALSE</field>
                                                                                                         <value name="VALUE">
                                                                                                           <block type="logic_boolean" id="Gf*.C1.8xOYjW:C4,1z3">
                                                                                                             <field name="BOOL">TRUE</field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                       </block>
                                                                                                     </statement>
                                                                                                   </block>
                                                                                                 </next>
                                                                                               </block>
                                                                                             </next>
                                                                                           </block>
                                                                                         </next>
                                                                                       </block>
                                                                                     </next>
                                                                                   </block>
                                                                                 </next>
                                                                               </block>
                                                                             </next>
                                                                           </block>
                                                                         </next>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </statement>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                          </xml>
                                          


                                          Mein Hauszähler wird alle 10 Sekunden per IR-Lesekopf abgefragt, somit werden die Werte dann in diesem Rhythmus erneuert.
                                          Das Laden soll bei 100% beendet werden und frühstens wieder bei 95% starten. Ebenso das Entladen, Stopp bei 10% und frühster Start wieder bei 20%.

                                          Das Laden hat schonmal geklappt, ich werde das weiter beobachten.
                                          Falls ich da noch Denkfehler drin habe, würde ich mich über Aufklärung freuen.

                                          Nochmals danke für diesen tollen Adapter Ersatz!
                                          Leider gibt es noch nicht viele Vorlagen, die darauf aufbauen.

                                          EDIT: Beim Nachladen ab 95% muss es natürlch < 95 heißen.

                                          maxclaudiM 1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          498

                                          Online

                                          33.0k

                                          Benutzer

                                          83.3k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2026
                                          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