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 SmartMode:1 SolarFlow2400 AC SolarFlow800 ( u. Pro)

NEWS

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    9
    1
    290

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    922

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
243 Beiträge 11 Kommentatoren 17.8k Aufrufe 12 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.
  • D Daniel 8

    Ich weiß aktuell gerade nicht was für eine scriptVersion ich laufen habe. Hatte aber meines Wissens nach keinerlei Fehlermeldung beim statt des scripts. Im Moment habe ich auch noch alles über mqtt laufen außer die smartMode Abfrage.
    Bin froh wenn gerade mal alles läuft und ich nichts basteln muss, da mir dazu auch die Zeit fehlt.
    Also habe ich das richtig interpretiert, das eine 8 Sekundenabfrage kein Problem darstellt und zwischen dem senden immer 5 Sekunden Pause sind?

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

    @Daniel-8 sagte:

    Also habe ich das richtig interpretiert, das eine 8 Sekundenabfrage kein Problem darstellt

    Richtig.
    Es kann auch mit 6 Sek. gefahrlos getestet werden.
    Das Skript arbeitet mit einer Warteschlange (Queue). Das heißt, alle Anfragen (Watt lesen oder Werte schreiben) werden nacheinander abgearbeitet. Damit das stabil bleibt, müssen die Intervalle auf die Timeout-Zeit (2 Sek.) abgestimmt sein.
    Voraussetzung ist eine gute, stabile und nicht überlastete WLAN-Verbindung.
    Evtl. ein extra WLAN mit Access Point (AP) nur für Zendure-Gerät(e).


    Abfrage-Intervall (GET)

    const intervalGet = 8;
    

    Standard (Empfohlen): 8 Sekunden
    Technisches Minimum: 5 Sekunden

    @Daniel-8 sagte:
    und zwischen dem senden immer 5 Sekunden Pause sind?

    Richtig.
    Man kann zwar theoretisch schneller Befehle im ioBroker auslösen, aber das Skript lässt diese erst nach der eingestellten Pause, der Reihe nach, in die Warteschlange.

    Sende-Pause (POST)

    const minTimeBreakForSetDpSec = 5;
    

    Standard (Empfohlen): 5 Sekunden
    Technisches Minimum: 4 Sekunden

    EDIT:
    Siehe vorheriges POST.
    Pause kann mit Wert: 0 komplett deaktiviert werden.

    const minTimeBreakForSetDpSec = 0;
    

    Warum diese Mindestwerte?
    Stabilität.

    1. Die 2x-Timeout-Regel:
      Sobald Du einen Wert sendest (POST), schickt das Skript sofort eine Abfrage (GET) hinterher, um den Status zu aktualisieren.
      Im Fehlerfall (WLAN-Lag) dauert dieser Vorgang bis zu 4 Sekunden (2x 2 Sek. bei 2000ms Timeout). Die Sende-Pause muss also immer länger als diese 4 Sekunden sein, sonst stauen sich die Befehle in der Warteschlange..

    2. Abfrage-Puffer:
      Das Abfrage-Intervall (GET) muss deutlich über dem Timeout liegen, damit das Skript Zeit hat, die Warteschlange nach einem Fehler sauber zu leeren.


    Wichtig: Bei schlechtem WLAN

    Wenn das WLAN nicht absolut stabil ist, sollte man die Zeiten nicht verringern, sondern eher erhöhen:

    • intervalGet: auf 10–12 Sekunden
    • minTimeBreak (Pause): auf 8 Sekunden

    Bei schlechtem Empfang laufen Anfragen evtl. oft in den 2-Sekunden-Timeout.
    Wenn man dann zu schnell neue Anfragen nachschiebt, "verstopft" die Kommunikation zum Zendure-Gerät komplett und der interne Prozessor (ESP) kommt nicht mehr hinterher.
    Könnte evtl. sogar die Kommunikation beenden.
    Nur so ist sichergestellt, dass über HTTP alles reibungslos funktioniert.
    Mir ist kein Weg bekannt, das auf andere Weise "sicherer" über HTTP zu gewährleisten.

    Mit den Standard-Einstellungen funktioniert es im Dauerbetrieb sehr zuverlässig.

    Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

    maxclaudiM 1 Antwort Letzte Antwort
    1
    • maxclaudiM maxclaudi

      @Daniel-8 sagte:

      Also habe ich das richtig interpretiert, das eine 8 Sekundenabfrage kein Problem darstellt

      Richtig.
      Es kann auch mit 6 Sek. gefahrlos getestet werden.
      Das Skript arbeitet mit einer Warteschlange (Queue). Das heißt, alle Anfragen (Watt lesen oder Werte schreiben) werden nacheinander abgearbeitet. Damit das stabil bleibt, müssen die Intervalle auf die Timeout-Zeit (2 Sek.) abgestimmt sein.
      Voraussetzung ist eine gute, stabile und nicht überlastete WLAN-Verbindung.
      Evtl. ein extra WLAN mit Access Point (AP) nur für Zendure-Gerät(e).


      Abfrage-Intervall (GET)

      const intervalGet = 8;
      

      Standard (Empfohlen): 8 Sekunden
      Technisches Minimum: 5 Sekunden

      @Daniel-8 sagte:
      und zwischen dem senden immer 5 Sekunden Pause sind?

      Richtig.
      Man kann zwar theoretisch schneller Befehle im ioBroker auslösen, aber das Skript lässt diese erst nach der eingestellten Pause, der Reihe nach, in die Warteschlange.

      Sende-Pause (POST)

      const minTimeBreakForSetDpSec = 5;
      

      Standard (Empfohlen): 5 Sekunden
      Technisches Minimum: 4 Sekunden

      EDIT:
      Siehe vorheriges POST.
      Pause kann mit Wert: 0 komplett deaktiviert werden.

      const minTimeBreakForSetDpSec = 0;
      

      Warum diese Mindestwerte?
      Stabilität.

      1. Die 2x-Timeout-Regel:
        Sobald Du einen Wert sendest (POST), schickt das Skript sofort eine Abfrage (GET) hinterher, um den Status zu aktualisieren.
        Im Fehlerfall (WLAN-Lag) dauert dieser Vorgang bis zu 4 Sekunden (2x 2 Sek. bei 2000ms Timeout). Die Sende-Pause muss also immer länger als diese 4 Sekunden sein, sonst stauen sich die Befehle in der Warteschlange..

      2. Abfrage-Puffer:
        Das Abfrage-Intervall (GET) muss deutlich über dem Timeout liegen, damit das Skript Zeit hat, die Warteschlange nach einem Fehler sauber zu leeren.


      Wichtig: Bei schlechtem WLAN

      Wenn das WLAN nicht absolut stabil ist, sollte man die Zeiten nicht verringern, sondern eher erhöhen:

      • intervalGet: auf 10–12 Sekunden
      • minTimeBreak (Pause): auf 8 Sekunden

      Bei schlechtem Empfang laufen Anfragen evtl. oft in den 2-Sekunden-Timeout.
      Wenn man dann zu schnell neue Anfragen nachschiebt, "verstopft" die Kommunikation zum Zendure-Gerät komplett und der interne Prozessor (ESP) kommt nicht mehr hinterher.
      Könnte evtl. sogar die Kommunikation beenden.
      Nur so ist sichergestellt, dass über HTTP alles reibungslos funktioniert.
      Mir ist kein Weg bekannt, das auf andere Weise "sicherer" über HTTP zu gewährleisten.

      Mit den Standard-Einstellungen funktioniert es im Dauerbetrieb sehr zuverlässig.

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

      Dufte 2 neue Geräte testen.

      Herzlichen Dank an die Leihsteller (die nicht genannt werden möchten) für das Vertrauen und den Rabatt beim Übernehmen eines Geräts.

      Schade ist nur, dass die gesetzliche EN 18031-Norm bei MQTT/TLS umgesetzt werden musste, was für mich keinen Mehrwert bedeutet.
      Das Problem ist die fehlende Flexibilität:
      Durch die strikte TLS-Umsetzung (Certificate Pinning) lassen sich die Geräte leider nicht mehr mit einem lokalen MQTT-Broker als Cloud-Ersatz verwenden.

      Das herkömmliche 'offizielle, lokale MQTT' ist mit der langsamen Aktualisierung, der anderen Struktur und weniger Möglichkeiten zu reglementiert und für mich leider völlig unbrauchbar.

      Hoffe nur, dass das zenSDK nicht weiter eingeschränkt wird.

      Noch einmal vielen Dank.

      Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

      1 Antwort Letzte Antwort
      0
      • D Online
        D Online
        Daniel 8
        schrieb zuletzt editiert von
        #236

        @maxclaudi

        Habe gestern mal dein neues Script eingebunden. Irgendwie habe ich ein Problem, das er den Smartmode nicht immer auf 1 schaltet. Ich trigger auf änderung, lasse eine Email senden, das funktioniert immer. Und gleich im Anschluss steure ich auf 1. Kann es sein wenn der Status noch nicht aktualisert wurde das es dann zum Problem kommt? Habe jetzt mal eine Verweilzeit von 5 sekunden gemacht. Da scheint es zu funktionieren.

        Gibt es eigentlich eine Möglichkeit, zu sehen ob in der Warteschlange befehle sind?

        Solarflow 800 Pro mit 1,3 Kwp / Iobroker / Homematic / Shellys / Mediola / Intertechno

        maxclaudiM 1 Antwort Letzte Antwort
        0
        • Bernd1967B Offline
          Bernd1967B Offline
          Bernd1967
          schrieb zuletzt editiert von
          #237

          @maxclaudi
          Hab dein Script (Version 2026.04.19_01.15h) jetzt mal mit dem Solarflow 800 Pro 2 getestet (Firmware 1.02) .
          Kann ich dieses Script für Windows nehmen ?

          Ich erhalte beim Start folgenden Fehler:

          GET parse error: SyntaxError: Unexpected token 'N', "Not Found" is not valid JSON
          
          maxclaudiM 1 Antwort Letzte Antwort
          0
          • Bernd1967B Bernd1967

            @maxclaudi
            Hab dein Script (Version 2026.04.19_01.15h) jetzt mal mit dem Solarflow 800 Pro 2 getestet (Firmware 1.02) .
            Kann ich dieses Script für Windows nehmen ?

            Ich erhalte beim Start folgenden Fehler:

            GET parse error: SyntaxError: Unexpected token 'N', "Not Found" is not valid JSON
            
            maxclaudiM Offline
            maxclaudiM Offline
            maxclaudi
            schrieb zuletzt editiert von
            #238

            @Bernd1967
            sorry im meeting.
            Firmware aktuell?
            Danach oder wenn ja:
            To enable the local API, add HEMS and then exit to apply.

            Also HEMS aktivieren. etwas warten und danach wieder deaktivieren.

            Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

            1 Antwort Letzte Antwort
            0
            • Bernd1967B Offline
              Bernd1967B Offline
              Bernd1967
              schrieb zuletzt editiert von
              #239

              Ja, das hatte ich auch schon gelesen.
              Habe HEMS in der App aktiviert und wieder deaktiviert, funktioniert nicht.

              1 Antwort Letzte Antwort
              0
              • Bernd1967B Offline
                Bernd1967B Offline
                Bernd1967
                schrieb zuletzt editiert von
                #240

                Okay, Fehler gefunden, das Mistding hat sich ne neue IP im LAN gegönnt und war deswegen nicht erreichbar.Die Daten trudeln jetzt rein.
                Super

                maxclaudiM 1 Antwort Letzte Antwort
                1
                • Bernd1967B Bernd1967

                  Okay, Fehler gefunden, das Mistding hat sich ne neue IP im LAN gegönnt und war deswegen nicht erreichbar.Die Daten trudeln jetzt rein.
                  Super

                  maxclaudiM Offline
                  maxclaudiM Offline
                  maxclaudi
                  schrieb zuletzt editiert von
                  #241

                  @Bernd1967
                  Freut mich.
                  Dann bitte nicht vergessen: mindestens über den Router eine dauerhafte, feste IP zuzuweisen

                  Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

                  1 Antwort Letzte Antwort
                  0
                  • D Daniel 8

                    @maxclaudi

                    Habe gestern mal dein neues Script eingebunden. Irgendwie habe ich ein Problem, das er den Smartmode nicht immer auf 1 schaltet. Ich trigger auf änderung, lasse eine Email senden, das funktioniert immer. Und gleich im Anschluss steure ich auf 1. Kann es sein wenn der Status noch nicht aktualisert wurde das es dann zum Problem kommt? Habe jetzt mal eine Verweilzeit von 5 sekunden gemacht. Da scheint es zu funktionieren.

                    Gibt es eigentlich eine Möglichkeit, zu sehen ob in der Warteschlange befehle sind?

                    maxclaudiM Offline
                    maxclaudiM Offline
                    maxclaudi
                    schrieb zuletzt editiert von maxclaudi
                    #242

                    @Daniel-8 sagte:

                    Habe jetzt mal eine Verweilzeit von 5 sekunden gemacht. Da scheint es zu funktionieren.

                    Damit meinst Du:

                    const minTimeBreakForSetDpSec = 5;
                    

                    oder intervall?

                    minTimeBreakForSetDpSec ist eigentlich nicht nötig und nur eine Schutzfunktion, falls – wie Du richtig erkannt hast:

                    Kann es sein wenn der Status noch nicht aktualisert wurde das es dann zum Problem kommt?

                    oder

                    • wenn ein script zu schnell commands schreibt
                    • oder mehrere commands (fast) gleichzeitig feuern
                      edit: dann bitte script(e) der Regelung kontrollieren.
                    • oder das intervall zu groß ist.

                    Gibt es eigentlich eine Möglichkeit, zu sehen ob in der Warteschlange befehle sind?

                    Nein, nicht nötig und geht zu schnell.

                    Bin gerade an einer kompletten Überarbeitung und einem neuen Skript, damit States nicht dauernd so oft geschrieben werden etc. Das geht leider nur schleppend voran, da mir momentan die Zeit fehlt und auch noch die Zeitverschiebung zu meinem Kontakt mit reinspielt.

                    Edit PPS:
                    Oder hast Du auf Änderung getriggert und sendest das command erst 5 sek. später?
                    Falls ja, ist das ein guter Ansatz für einen stabilen Ablauf.
                    Eventuell könntest du zusätzlich das Intervall noch etwas verkürzen. Das ist jedoch individuell vom Setup abhängig (WLAN-Qualität, Zendure-Geräte etc.).

                    Ich schreibe meistens sehr direkt – bitte nicht falsch verstehen, es ist nie böse gemeint. Das ist einfach mein Stil und niemals abwertend gemeint.

                    1 Antwort Letzte Antwort
                    0
                    • D Online
                      D Online
                      Daniel 8
                      schrieb zuletzt editiert von
                      #243

                      Ich habe Smartmode auf Änderung getrickert und wenn er auf 0 springt hat er gleich wieder 1 gesetzt. Und da habe ich jetzt ein Timeout mit 5 Sekunden rein gemacht. Seit dem funktioniert es.

                      Solarflow 800 Pro mit 1,3 Kwp / Iobroker / Homematic / Shellys / Mediola / Intertechno

                      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

                      345

                      Online

                      32.8k

                      Benutzer

                      82.8k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe