Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Zendure SmartMode:1 SolarFlow2400 AC SolarFlow800 ( u. Pro)

    NEWS

    • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    Zendure SmartMode:1 SolarFlow2400 AC SolarFlow800 ( u. Pro)

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

      Ich habe heute auf die letzte Version upgedated.
      Beide AC2400 werden sauber erkannt und haben jeder sein eigenes java-script.

      So weit ich das aktuell sagen kann, laufen beide auf Smartmode 1, HEMS ist noch an und ich lese und protokolliere die Daten per mqtt. Sieht alles soweit gut aus.

      Ohne eigenes Testgerät (oder derer 2) und somit quasi blind ein funktionierendes script hinzustellen finde ich respektabel und auch beeindruckend.

      Danke @maxclaudi 👍

      Nachtrag:

      360df590-38b7-4dd6-9afb-51b499ad3178-grafik.png

      EV ist heute den ganzen auf prio, brauche die Tage Meter (jedes Watt hilft).
      Zendure-Akkus laden und entladen fleissig je nachdem wie die Sonne rauskommt, peppeln sich langsam hoch über die Zeit, heute morgen waren beide bei MinSOC.
      Leider reicht es nur für eine Klima im EG zum Heizen..... ich brauche mehr PV-Module.... 🤦‍♂️

      1 Reply Last reply Reply Quote 0
      • S
        Schimi last edited by

        keine ahnu g ob ich hier richtig bin oder im "anderen Theard" besser aufgehoben
        (https://forum.iobroker.net/topic/69579/test-adapter-zendure-solarflow/1926?_=1761498948616)

        Habe mal selber ein, zwei Skripte zusammengeschustert, ChatGPT was erstellen lassen, bzw. dieses für den 2400AC umgebaut:
        https://forum.iobroker.net/topic/80764/script-zum-laden-entladen-von-zendure-solarflow?_=1761498948619

        irgendwie bin ich aber mit der Performance nicht zufrieden...
        Wenn mein 2400AC über "die Cloud" im HEMS (egal ob Zenki oder CT) regelt er viel feiner und gefühlt im Sek takt (Quelle ist ein alter Shelly 3EM (dann auch über Cloud)).
        Spitzen werden schnell ausgeregelt (ohne "gegenschwingung") und es schwank +-10 Watt um den 0 (Bezug/Einspeisung)

        wenn ich es "selber versuche" egal ob, das JavaScript von @maxclaudi, das offizielle MQTT oder ein per DNS umgebogenes MQTT (und damit Deaktivierung der Zendure Cloud)... entweder schwingt es "extrem hin und her, reagiert irgendwie "zäh" (und kommt damit in eine gegenschwigung) oder schaltet sehr oft den acMode zwischen 1 und 2....
        Besser kann ich es nicht erklären 🙂

        Ich könnte es ja einfach im HEMs laufen lassen, aber hätte doch eine gerne Möglichkeit der Steuerung um z.B. die Entladung zu verhindern wenn das Auto geladen wird oder eine Beladung zu erzwingen wenn der Strompreis günstig ist...

        Hat jemand irgend einen Tipp? Oder das (für mich fluffige) "Zendure Script aus der Cloud" 😉 ?

        M 1 Reply Last reply Reply Quote 1
        • M
          Mabbi @Schimi last edited by Mabbi

          @schimi
          Ich habe bei meinen Test ähnliche Erfahrungen gemacht.

          VORAB: Ob und wie schnell man mit dem Zendure regelt bitte nicht hier diskutieren bzw. kommentieren, da findet jeder seinen eigenen Weg denke ich.

          Ich ermittle 2x über 30 Sekunden mein Delta der Wirkleistung (aus [Wirkleistung+] minus [Wirkleistung-]) oder Netzbezug minus Einspeisung mit einem zeitlichen Versatz von 15 Sekunden s.u.

          Ich regele alle 30 Sekunden pro AC2400, mit einem zeitlichen Versatz von 15 Sekunden auf den 2. AC2400.
          Damit bekomme ich eine schöne gedämpfte Regelung hin fast ohne Relaisklackern, Schaltspitzen stören die Steuerung auch relativ wenig.
          Ich optimiere derzeit noch daran, pulsierende Geräte wie moderne Haartrockner und Heißluftfriteuse zu erkennen...das braucht aber noch.

          Sollten wir hiermit nicht eventuell in einen eigenen thread umziehen ??

          S 1 Reply Last reply Reply Quote 0
          • S
            Schimi @Mabbi last edited by

            @mabbi ich bin da eher im 1-2sek Bereich wenn ich mir zur Kontrolle z.B. die tibber (oder Zendure) App anschaue....
            Da sind die Änderungen "sofort" sichtbar. Auch der Shelly bestätigt die schnelle Regelung des HEMS...

            Entweder werde ich da irgendwie "veräppelt" oder das ding (2400AC) reagiert schneller wenn er vom HEMS gesteuert wird (bessere Logik, etc?)

            Klar, könne wir einen eigene Theard erstellen, vielleicht kann die Posts ja jemand dahin verschieben... 🙂

            1 Reply Last reply Reply Quote 0
            • M
              Mabbi last edited by Mabbi

              @maxclaudi

              Ohne aktive Kühlung regelt der AC2400 ab plus 65°

              Sensor/hyperTmp
              

              die Ladeleistung runter, habe hier schon Werte bis zu 15% Ladeleistungs-Reduktion gesehen. Der Kühlkörper wird dann schon ziemlich heiß und die Wärme zieht an der Aussenhaut spürbar bis in den ersten Akkublock unter dem Wechselrichter runter.
              Da dies langfristig für die Elektronik Temperaturen sind, die ich als nicht lebensdauerförderlich ansehe, habe ich an den gesteuerten Lüfter-Ausgangsstecker direkt am Wechselrichter einen Lüfter angeschlossen.
              Nun hält der Wechselrichter grob die 40-41° maximal ein.
              Das der Sensorwert wahrscheinlich nur punktuell irgendwo im Wechselrichter gemessen wird ist mir klar, aber besser irgendwie Kühlen als stumpf Abkochen denke ich.

              Frage:
              Besteht die Möglichkeit

              electricFanState
              

              noch mit in die mqtt Datenpunkte (Sensor) aufzunehmen ?

              Dann könnte ich anhand von dem Wert und noch zu erwartender Solarleistung (Schätzung) eventuell die Ladeleistung des Akkus reduzieren, wenn der Tag noch genug Sonne bringt.
              Und eine Visualisierung wäre damit auch einfacher machbar.

              maxclaudi 1 Reply Last reply Reply Quote 0
              • S
                Schimi last edited by

                PXL_20251102_152938996.jpg
                PXL_20251102_153033266.jpg

                Der augsang ist Temp geregelt und fängt ab 40°C Spannung auszugeben... Hatte im Sommer (als es so heiss war) die Möglichkeit viel zu testen...

                "Einfach" 3 alte (ich meine es sind 80ger) PC Lüfter Parallel angeschlossen (Wago)... funktioniert super

                maxclaudi M 2 Replies Last reply Reply Quote 0
                • maxclaudi
                  maxclaudi @Mabbi last edited by maxclaudi

                  @mabbi sagte in Zendure SmartMode:1 SolarFlow2400 AC SolarFlow800 ( u. Pro):

                  @maxclaudi

                  Ohne aktive Kühlung regelt der AC2400 ab plus 65°

                  Sensor/hyperTmp
                  

                  die Ladeleistung runter, habe hier schon Werte bis zu 15% Ladeleistungs-Reduktion gesehen. Der Kühlkörper wird dann schon ziemlich heiß und die Wärme zieht an der Aussenhaut spürbar bis in den ersten Akkublock unter dem Wechselrichter runter.
                  Da dies langfristig für die Elektronik Temperaturen sind, die ich als nicht lebensdauerförderlich ansehe, habe ich an den gesteuerten Lüfter-Ausgangsstecker direkt am Wechselrichter einen Lüfter angeschlossen.
                  Nun hält der Wechselrichter grob die 40-41° maximal ein.
                  Das der Sensorwert wahrscheinlich nur punktuell irgendwo im Wechselrichter gemessen wird ist mir klar, aber besser irgendwie Kühlen als stumpf Abkochen denke ich.

                  Frage:
                  Besteht die Möglichkeit

                  electricFanState
                  

                  noch mit in die mqtt Datenpunkte (Sensor) aufzunehmen ?

                  Dann könnte ich anhand von dem Wert und noch zu erwartender Solarleistung (Schätzung) eventuell die Ladeleistung des Akkus reduzieren, wenn der Tag noch genug Sonne bringt.
                  Und eine Visualisierung wäre damit auch einfacher machbar.

                  In dem mir gesendetem Log des SF2400AC ist kein Datenpunkt
                  electricFanState enthalten:

                  LOG SF2400AC :
                  {
                    "timestamp": 17601XXXXX,
                    "messageId": 4,
                    "sn": "HOXXXXXXXXXXXXX",
                    "version": 2,
                    "product": "solarFlow2400AC",
                    "properties": {
                      "heatState": 0,
                      "packInputPower": 351,
                      "outputPackPower": 0,
                      "outputHomePower": 351,
                      "remainOutTime": 490,
                      "packState": 2,
                      "electricLevel": 38,
                      "gridInputPower": 0,
                      "solarInputPower": 0,
                      "solarPower1": 0,
                      "solarPower2": 0,
                      "solarPower3": 0,
                      "solarPower4": 0,
                      "solarPower5": 0,
                      "solarPower6": 0,
                      "pass": 0,
                      "reverseState": 0,
                      "socStatus": 0,
                      "hyperTmp": 3131,
                      "gridOffPower": 0,
                      "dcStatus": 1,
                      "pvStatus": 0,
                      "acStatus": 1,
                      "dataReady": 1,
                      "gridState": 1,
                      "BatVolt": 4911,
                      "socLimit": 0,
                      "writeRsp": 0,
                      "acMode": 2,
                      "inputLimit": 0,
                      "outputLimit": 351,
                      "socSet": 1000,
                      "minSoc": 100,
                      "gridStandard": 0,
                      "gridReverse": 2,
                      "inverseMaxPower": 2400,
                      "lampSwitch": 1,
                      "gridOffMode": 2,
                      "IOTState": 2,
                      "fanSwitch": 1,
                      "fanSpeed": 0,
                      "bindstate": 0,
                      "VoltWakeup": 0,
                      "OldMode": 0,
                      "OTAState": 0,
                      "LCNState": 0,
                      "factoryModeState": 0,
                      "ts": 1760198737,
                      "tsZone": 14,
                      "smartMode": 1,
                      "chargeMaxLimit": 2400,
                      "phaseSwitch": 1,
                      "packNum": 3,
                      "rssi": -49,
                      "is_error": 0
                    },
                    "packData": [
                      {
                        "sn": "FO4XXXXXXXXXXXXX3",
                        "packType": 5,
                        "socLevel": 38,
                        "state": 2,
                        "power": 127,
                        "maxTemp": 3051,
                        "totalVol": 4910,
                        "batcur": 65510,
                        "maxVol": 327,
                        "minVol": 327,
                        "softVersion": 4103,
                        "heatState": 0
                      },
                      {
                        "sn": "FO4XXXXXXXXXXXXXX",
                        "packType": 5,
                        "socLevel": 38,
                        "state": 2,
                        "power": 157,
                        "maxTemp": 2991,
                        "totalVol": 4920,
                        "batcur": 65504,
                        "maxVol": 328,
                        "minVol": 328,
                        "softVersion": 4103,
                        "heatState": 0
                      },
                      {
                        "sn": "FO4XXXXXXXXXXXXXX",
                        "packType": 5,
                        "socLevel": 38,
                        "state": 2,
                        "power": 176,
                        "maxTemp": 3011,
                        "totalVol": 4910,
                        "batcur": 65500,
                        "maxVol": 327,
                        "minVol": 327,
                        "softVersion": 4103,
                        "heatState": 0
                      }
                    ]
                  }
                  

                  Das sind die relevanten Werte für den Lüfter beim SF2400AC

                  "fanSwitch": 1,
                  "fanSpeed": 0,
                  
                  

                  und müssten schon automatisch angelegt worden sein unter:
                  0_userdata.0.zendure.HOXXXXXXXXXXXXX.solarFlow2400AC.properties

                  Bei anderen Modellen wie dem SF800(Pro) heißen sie leicht anders:
                  Fanmode und Fanspeed.


                  Diese Werte werden – sofern vom Gerät korrekt übertragen – automatisch unter properties angelegt und regelmäßig aktualisiert.
                  Wenn sie sich aber nicht verändern oder falsche Werte liefern, liegt das Problem in der Firmware des Geräts oder daran, dass diese Parameter dort (noch) nicht unterstützt werden.
                  Das kann man über ioBroker oder das Script nicht beeinflussen.


                  Bekannte Werte:

                  • fanSwitch / Fanmode: vermutlich 0 = aus, 1 = an
                  • fanSpeed / Fanspeed: evtl. Drehzahl oder Stufe (muss man selbst beobachten)

                  Am einfachsten:
                  Datenpunkte loggen und prüfen, wann und ob sich Werte ändern.
                  In den meisten Fällen steht 0 für "aus".


                  Zur MQTT-Frage:
                  Die Daten kommen nicht über MQTT, sondern über HTTP (zenSDK).
                  Dein Wunsch, die Werte zusätzlich in den MQTT-Datenpunkten sichtbar zu machen, ist grundsätzlich möglich – aber nur kosmetisch sinnvoll.
                  Man könnte sie zwar per Script zusätzlich publishen, aber das würde die klare Trennung zwischen HTTP- und MQTT-Kommunikation verwischen.
                  Wenn du MQTT brauchst, lieber ein kleines Zusatzscript oder Blockly verwenden, das bei Änderungen von fanSwitch oder fanSpeed einen MQTT-Topic publisht.
                  Dann bleibt die Struktur sauber.
                  Wobei ich denke, dass die 2 states auch über mqtt published werden (?).


                  Hinweis:
                  Die Aktualisierung dieser Lüfter-Datenpunkte scheint ohnehin nicht zuverlässig zu funktionieren.
                  Siehe z. B. das offizielle Issue:
                  "fanSwitch":1,"fanSpeed":0 not working #21
                  Ob das so ist und/oder gefixt wurde, weiß ich nicht.


                  Workaround:
                  Wenn du unabhängig von Zendure die Temperatur-bedingte Lüfter- und Leistungssteuerung realisieren willst, bietet sich ein einfacher ESP mit Relais (z. B. Tasmota) an:

                  • hyperTmp per Script auswerten
                  • ab z. B. ≥ x °C Lüfter einschalten
                  • ggf. Ladeleistung reduzieren
                  • unter x °C Lüfter wieder ausschalten / Leistung freigeben

                  So bist du nicht auf Zendure-Werte angewiesen.

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    Schimi @maxclaudi last edited by

                    @maxclaudi sie werden über (das offizielle) MQTT nicht ausgegeben

                    maxclaudi 1 Reply Last reply Reply Quote 0
                    • maxclaudi
                      maxclaudi @Schimi last edited by maxclaudi

                      @schimi
                      Ok.
                      Aber unter properties über mein script muss es vorhanden sein(?).

                      edit/PS: ich würde dennoch das über ein script mit Tasmota+Relais realisieren oder so wie Du über den Ausgang für den Lüfter.
                      Bei mir laufen die Lüfter im Sommer astronomisch mit Zeitversatz auf volle Leistung bis zum Sonnenuntergang.
                      Im Winter gar nicht, außer Temp ist zu hoch.
                      Temp kann man vom Datenpunkt nehmen und selbst eine Hysterese zum ein-/ausschalten bestimmen.
                      Regeln der Drehzahl ist für mich nicht wichtig. Volle Leistung. Lieber zu kühl als zu warm.

                      S 1 Reply Last reply Reply Quote 0
                      • maxclaudi
                        maxclaudi @Schimi last edited by maxclaudi

                        ohne viel zu basteln ist das ganze schnell und günstig umgesetzt.

                        Beispiel:

                        • Smarte Steckdose Shelly oder Tasmota geflasht
                          gibt's auch fertig z. B. Tasmota Steckdose NOUS A1T

                        • Netzteil DC 12V oder 5V je nach Lüfter >= 2A
                          damit man für Lüftererweiterungen gerüstet ist.
                          Netzteil sollte dauerhaft auch nicht mit >= 80% der maximal Leistung belastet werden.
                          z. B. 12V DC Netzteil mit 3A
                          oder 5V DC 3A
                          beide Netzteile haben gleich einen Schraubklemmen-Adapter dabei um nur noch (+) und GND (-) mit den Lüftern zu verbinden.

                        • passende Lüfter dazu je nachdem für 5V oder 12V.
                          z.B. 12V DC: Wathai 120mm x 25mm 12V
                          oder 5V DC: Wathai 2 in 1 USB Lüfter 120 mm Doppelter 5V PC Ventilator

                        Steckdose über webui mqtt einrichten. Fertig.
                        Danach ein Blockly oder script.
                        Das ganze dauert nicht mal 30min 🙂

                        1 Reply Last reply Reply Quote 1
                        • S
                          Schimi @maxclaudi last edited by

                          @maxclaudi ja... über dein Skript werden die werte angezeigt

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            Daniel 8 @Schimi last edited by

                            @maxclaudi

                            Bin echt froh das du das Script entwickelt hast. Mein solarflow800Pro schaltet öfter mal am Tag auf smartMode 0 um. Ich habe noch nicht herausgefunden warum und was das auslöst. Aber dank Überwachung schaltet er ja wieder auf 1.

                            Habe ihn vor ein paar Tagen den Zugang zum Internet gesperrt. Eventuell zickt er Da rum wenn er nicht mehr mit der cloud verbunden ist.

                            maxclaudi 1 Reply Last reply Reply Quote 1
                            • maxclaudi
                              maxclaudi @Daniel 8 last edited by

                              @daniel-8
                              Das wird vermutlich nur abhängig sein, welche(n) Mode du benutzt.
                              Leider kann ich das nicht analysieren, weißt ja - kein neues Gerät vorhanden.

                              1 Reply Last reply Reply Quote 0
                              • M
                                Mabbi @Schimi last edited by Mabbi

                                @schimi

                                ... bin vor einiger Zeit schon den 1-click-way gegangen, da waren die Teile gerade mal stark reduziert:

                                IMG_20251102_171903.jpg

                                1 Reply Last reply Reply Quote 1
                                • D
                                  Daniel 8 last edited by

                                  @maxclaudi sagte in Zendure SmartMode:1 SolarFlow2400 AC SolarFlow800 ( u. Pro):

                                  @daniel-8
                                  Das wird vermutlich nur abhängig sein, welche(n) Mode du benutzt.
                                  Leider kann ich das nicht analysieren, weißt ja - kein neues Gerät vorhanden.

                                  Was meinst du mit welchen Mode? Ich wüsste nicht wo ich einen Mode verstellen kann.

                                  maxclaudi 1 Reply Last reply Reply Quote 0
                                  • maxclaudi
                                    maxclaudi @Daniel 8 last edited by

                                    @daniel-8
                                    Das sind die verschiedenen Energy Plan (Energiepläne), die es in der App zur Auswahl gibt, wie

                                    • Smart CT Mode
                                    • Scheduled/Timer Mode
                                    • Smart Matching Mode
                                      usw.
                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    1.1k
                                    Online

                                    32.4k
                                    Users

                                    81.2k
                                    Topics

                                    1.3m
                                    Posts

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