Weiter zum Inhalt
  • Home
  • Aktuell
  • 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

  • Monatsrückblick Oktober 2026 ist online!
    BluefoxB
    Bluefox
    9
    1
    213

  • Mitmachen: Sprich „ioBroker“ ein – für ein lokales Aktivierungswort
    BluefoxB
    Bluefox
    6
    1
    451

  • Neuer Blogbeitrag: KI in ioBroker, vom Helfer im Admin bis zum eigenen Smart Assistant
    BluefoxB
    Bluefox
    4
    1
    495

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
689 Beiträge 24 Kommentatoren 124.1k Aufrufe 22 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.
  • maxclaudiM maxclaudi

    @Daniel-8

    zum Vergleich:
    aktuell ist das 2400ACpro-Testsystem auf der Terrasse mit
    • hyperTmp 9°C
    • maxTemp 8°C
    Wie es dann in der Nacht aussah kann man sich vorstellen.

    D
    D
    Daniel 8
    schrieb am zuletzt editiert von Daniel 8
    #672

    @maxclaudi sagte:

    @Daniel-8

    zum Vergleich:
    aktuell ist das 2400ACpro-Testsystem auf der Terrasse mit
    • hyperTmp 9°C

    Bei mir aktuell 20°C

    • maxTemp 8°C

    Im Moment auch 7 und 6.

    Wie es dann in der Nacht aussah kann man sich vorstellen.

    Nachts vermutlich bisschen weniger. Hatten heute Morgen 2°C Außentemperatur.

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

    1 Antwort Letzte Antwort
    0
    • D Daniel 8

      @Berny-K sagte:

      Hallo guten Morgen,
      ich hatte mit meunemSF800Pro die Tage das gleiche Problem, dass der offline ging und ich erinnere mich, dass ich das letzten Winter auch schon mal hatte, die gleichen Symptome wie hier beschrieben. Ich habe dann den Netzstecker gezogen, die Module abgeklemmt und neu gestartet. Danach wieder alles abgeklemmt und dann hat wieder alles funktioniert. Mein SF800Pro steht allerdings im warmen, da läuft sicher keine Heizung.

      Für mich ist das auch kein Problem. Es war eigentlich nur eine feststellung und auch Mitteilung damit andere auch informiert sind und sich nicht über das verhalten wundern

      maxclaudiM
      maxclaudiM
      maxclaudi
      schrieb am zuletzt editiert von maxclaudi
      #673

      @Daniel-8 sagte:
      Für mich ist das auch kein Problem. Es war eigentlich nur eine feststellung und auch Mitteilung damit andere auch informiert sind und sich nicht über das verhalten wundern

      Finde das für Alle eine wertvolle Information.

      Wenn sowieso Standby ist und es absolut nichts zu tun gibt, dann ist dieses Verhalten der Firmware aus Sicht des Energiemanagements doch nahezu ideal, oder nicht?

      WLAN und Bluetooth im Dauer-Standby ziehen über die vielen Stunden der Dunkelheit nur unnötig Strom aus den Zellen.
      Die MCU komplett schlafen zu legen und morgens rein hardwareseitig über den ersten PV-Strom wieder zu wecken, ist die effizienteste Methode, um den Akku im Winter zu schonen. Man benötigt ja keine Live-Infos auf dem Dashboard, wenn es ohnehin nichts zu steuern gibt. Sobald das Gerät morgens wieder von allein erwacht, ist alles perfekt gelöst.

      Hätte man es als Software-Architekt besser lösen können?
      Persönlich denke ich: Nein, im Kern nicht. Das harte Abschalten ist die sicherste Methode. Wenn die Verbindung gekappt ist, kann kein (fehlerhaftes) externes Skript oder eine hängende Cloud-Verbindung das System nachts ungewollt wachhalten und den Akku leersaugen.

      Das Einzige, was ich als Entwickler zusätzlich implementiert hätte, wäre eine saubere Status-Meldung vor dem Einschlafen: Dass das Gerät einen letzten MQTT- oder HTTP-Befehl absetzt ("Inaktivität - gehe in Deep-Sleep"), bevor es die Funkmodule abschaltet. Dann würde die App oder ein Skript nicht "Verbindung verloren / Fehler" melden, sondern den sauberen Status "Schläft tief (Warten auf Sonne)" ausgeben.

      edit/PS:
      ich hätte mir allerdings schon zusätzlich Gedanken gemacht, ob es nicht sinnvoll gewesen wäre, eine echte Sicherheitsabfrage einzubauen.
      Ideal wäre eine Logik wie: „Standby vorgesehen in X Minuten/Sekunden“. Wenn innerhalb dieses definierten Zeitfensters kein aktiver Wachhaltebefehl (wie z. B. ein neuer Lade- oder Steuerbefehl) vom Skript oder der App reinkommt, fährt das System erst dann kontrolliert in den Deep-Sleep.

      So wie es jetzt gelöst ist, ist es eben ein sehr harter, kompromissloser Schnitt der Firmware, ohne dem lokalen System noch eine Chance zur Reaktion zu geben.

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

      neue Zendure Geräte Cloudless: zURLtool V2.0

      D 1 Antwort Letzte Antwort
      0
      • maxclaudiM maxclaudi

        @Berny-K
        Nun, das ist – verzeih mir die Ausdrucksweise – Hardcore für die Hardware.
        Das funktioniert und bekämpft die Symptome, aber es behebt nicht die Ursache ;-)

        B
        B
        Berny-K
        schrieb am zuletzt editiert von
        #674

        @maxclaudi
        Da gib ich dir absolut recht aber ich wusste mir einfach nicht anders zu helfen. Werde das mal beobachten, wenn es wieder passiert, ob er von selbst wieder online geht sobald genügend PV-Leistung anliegt.

        maxclaudiM 1 Antwort Letzte Antwort
        0
        • B Berny-K

          @maxclaudi
          Da gib ich dir absolut recht aber ich wusste mir einfach nicht anders zu helfen. Werde das mal beobachten, wenn es wieder passiert, ob er von selbst wieder online geht sobald genügend PV-Leistung anliegt.

          maxclaudiM
          maxclaudiM
          maxclaudi
          schrieb am zuletzt editiert von maxclaudi
          #675

          @Berny-K
          Alles gut, man erschrickt ja erst mal, wenn das System plötzlich totzuspringen scheint.
          Beobachte das beim nächsten Mal einfach ganz entspannt.
          Sobald die Panels morgens wieder um die ca. 40 Watt liefern, sollte der Eigenverbrauch gedeckt sein und das Gerät taucht von alleine wieder im WLAN auf. Der harte Reboot sollte nicht nötig sein.

          edit/PS:
          Wundere dich aber nicht über die Zahlen in der App: Das System zieht den internen Eigenverbrauch ab und meldet dann meist nur ca. 10 Watt Einspeisung.

          edit/PPS:
          @Berny-K (und @Daniel-8)
          Noch eine Vermutung von mir:
          Ich denke nicht, dass so ein radikales Steckerziehen überhaupt nötig ist, wenn man das System mal zwischendurch manuell wecken möchte.
          Theoretisch müsste es reichen, das System kurz aufzuwecken, indem man die physische IoT-Taste am Gerät kurz 1 oder 2x betätigt.
          Das sollte die MCU und die Funkmodule (zumindest für paar Sekunden/Minuten) manuell triggern, ohne dass man die ganze Hardware unter Last abklemmen muss.
          Hat das von euch schon mal jemand in diesem Zustand ausprobiert?

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

          neue Zendure Geräte Cloudless: zURLtool V2.0

          D B 2 Antworten Letzte Antwort
          0
          • maxclaudiM maxclaudi

            @Daniel-8 sagte:
            Für mich ist das auch kein Problem. Es war eigentlich nur eine feststellung und auch Mitteilung damit andere auch informiert sind und sich nicht über das verhalten wundern

            Finde das für Alle eine wertvolle Information.

            Wenn sowieso Standby ist und es absolut nichts zu tun gibt, dann ist dieses Verhalten der Firmware aus Sicht des Energiemanagements doch nahezu ideal, oder nicht?

            WLAN und Bluetooth im Dauer-Standby ziehen über die vielen Stunden der Dunkelheit nur unnötig Strom aus den Zellen.
            Die MCU komplett schlafen zu legen und morgens rein hardwareseitig über den ersten PV-Strom wieder zu wecken, ist die effizienteste Methode, um den Akku im Winter zu schonen. Man benötigt ja keine Live-Infos auf dem Dashboard, wenn es ohnehin nichts zu steuern gibt. Sobald das Gerät morgens wieder von allein erwacht, ist alles perfekt gelöst.

            Hätte man es als Software-Architekt besser lösen können?
            Persönlich denke ich: Nein, im Kern nicht. Das harte Abschalten ist die sicherste Methode. Wenn die Verbindung gekappt ist, kann kein (fehlerhaftes) externes Skript oder eine hängende Cloud-Verbindung das System nachts ungewollt wachhalten und den Akku leersaugen.

            Das Einzige, was ich als Entwickler zusätzlich implementiert hätte, wäre eine saubere Status-Meldung vor dem Einschlafen: Dass das Gerät einen letzten MQTT- oder HTTP-Befehl absetzt ("Inaktivität - gehe in Deep-Sleep"), bevor es die Funkmodule abschaltet. Dann würde die App oder ein Skript nicht "Verbindung verloren / Fehler" melden, sondern den sauberen Status "Schläft tief (Warten auf Sonne)" ausgeben.

            edit/PS:
            ich hätte mir allerdings schon zusätzlich Gedanken gemacht, ob es nicht sinnvoll gewesen wäre, eine echte Sicherheitsabfrage einzubauen.
            Ideal wäre eine Logik wie: „Standby vorgesehen in X Minuten/Sekunden“. Wenn innerhalb dieses definierten Zeitfensters kein aktiver Wachhaltebefehl (wie z. B. ein neuer Lade- oder Steuerbefehl) vom Skript oder der App reinkommt, fährt das System erst dann kontrolliert in den Deep-Sleep.

            So wie es jetzt gelöst ist, ist es eben ein sehr harter, kompromissloser Schnitt der Firmware, ohne dem lokalen System noch eine Chance zur Reaktion zu geben.

            D
            D
            Daniel 8
            schrieb am zuletzt editiert von
            #676

            @maxclaudi sagte:

            Wenn sowieso Standby ist und es absolut nichts zu tun gibt, dann ist dieses Verhalten der Firmware aus Sicht des Energiemanagements doch nahezu ideal, oder nicht?

            Ja ideal ist es mehr oder weniger gut Die Zeit mit ca. 13 Stunden ist schon lange. Er ist grad mal so ne Stunde im Tiefschlaf.

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

            1 Antwort Letzte Antwort
            0
            • maxclaudiM maxclaudi

              @Berny-K
              Alles gut, man erschrickt ja erst mal, wenn das System plötzlich totzuspringen scheint.
              Beobachte das beim nächsten Mal einfach ganz entspannt.
              Sobald die Panels morgens wieder um die ca. 40 Watt liefern, sollte der Eigenverbrauch gedeckt sein und das Gerät taucht von alleine wieder im WLAN auf. Der harte Reboot sollte nicht nötig sein.

              edit/PS:
              Wundere dich aber nicht über die Zahlen in der App: Das System zieht den internen Eigenverbrauch ab und meldet dann meist nur ca. 10 Watt Einspeisung.

              edit/PPS:
              @Berny-K (und @Daniel-8)
              Noch eine Vermutung von mir:
              Ich denke nicht, dass so ein radikales Steckerziehen überhaupt nötig ist, wenn man das System mal zwischendurch manuell wecken möchte.
              Theoretisch müsste es reichen, das System kurz aufzuwecken, indem man die physische IoT-Taste am Gerät kurz 1 oder 2x betätigt.
              Das sollte die MCU und die Funkmodule (zumindest für paar Sekunden/Minuten) manuell triggern, ohne dass man die ganze Hardware unter Last abklemmen muss.
              Hat das von euch schon mal jemand in diesem Zustand ausprobiert?

              D
              D
              Daniel 8
              schrieb am zuletzt editiert von
              #677

              @maxclaudi sagte:

              Theoretisch müsste es reichen, das System kurz aufzuwecken, indem man die physische IoT-Taste am Gerät kurz 1 oder 2x betätigt.
              Das sollte die MCU und die Funkmodule (zumindest für paar Sekunden/Minuten) manuell triggern, ohne dass man die ganze Hardware unter Last abklemmen muss.
              Hat das von euch schon mal jemand in diesem Zustand ausprobiert?

              Nein weil ich sehr schlecht hin komme wo der Speicher steht.

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

              maxclaudiM 1 Antwort Letzte Antwort
              0
              • D Daniel 8

                @maxclaudi sagte:

                Theoretisch müsste es reichen, das System kurz aufzuwecken, indem man die physische IoT-Taste am Gerät kurz 1 oder 2x betätigt.
                Das sollte die MCU und die Funkmodule (zumindest für paar Sekunden/Minuten) manuell triggern, ohne dass man die ganze Hardware unter Last abklemmen muss.
                Hat das von euch schon mal jemand in diesem Zustand ausprobiert?

                Nein weil ich sehr schlecht hin komme wo der Speicher steht.

                maxclaudiM
                maxclaudiM
                maxclaudi
                schrieb am zuletzt editiert von
                #678

                @Daniel-8 sagte:
                Nein weil ich sehr schlecht hin komme wo der Speicher steht.

                Für so ein Szenario fällt mir spontan ein kleiner Fingerbot mit Akku ein, den man einfach über das Handy oder ioBroker triggert! :-)))

                Der drückt dann per Funk den Knopf für dich, und du musst nicht jedes Mal in die schwer zugängliche Ecke krabbeln.
                Das wäre eine Smart-Home-Lösung für das "Deep-Sleep-Problem" im Winter :-)

                War nur scherzhaft ;-)

                Wobei - mich erinnert das Ganze an die Anfangszeit mit dem HUB2000 und dem ACE1500.
                Da gab es auch Fälle, in denen nur vor Ort ein physisches Aus- und wieder Einschalten half.
                Weil ich öfter nicht vor Ort bin, ist so etwas für mich der absolute Worst Case. Ich war damals tatsächlich kurz drauf und dran, einen Fingerbot zu verwenden.

                Aber der Hub ließ sich - im Gegensatz zu den neuen Geräten - noch zerstörungsfrei öffnen.
                Ich habe damals einfach einen kleinen ESP8266 mit Optokoppler parallel zur physischen IoT-Taste gelötet, um eine zuverlässige Fernsteuerung zu ermöglichen.

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

                neue Zendure Geräte Cloudless: zURLtool V2.0

                D 1 Antwort Letzte Antwort
                0
                • maxclaudiM maxclaudi

                  @Berny-K
                  Alles gut, man erschrickt ja erst mal, wenn das System plötzlich totzuspringen scheint.
                  Beobachte das beim nächsten Mal einfach ganz entspannt.
                  Sobald die Panels morgens wieder um die ca. 40 Watt liefern, sollte der Eigenverbrauch gedeckt sein und das Gerät taucht von alleine wieder im WLAN auf. Der harte Reboot sollte nicht nötig sein.

                  edit/PS:
                  Wundere dich aber nicht über die Zahlen in der App: Das System zieht den internen Eigenverbrauch ab und meldet dann meist nur ca. 10 Watt Einspeisung.

                  edit/PPS:
                  @Berny-K (und @Daniel-8)
                  Noch eine Vermutung von mir:
                  Ich denke nicht, dass so ein radikales Steckerziehen überhaupt nötig ist, wenn man das System mal zwischendurch manuell wecken möchte.
                  Theoretisch müsste es reichen, das System kurz aufzuwecken, indem man die physische IoT-Taste am Gerät kurz 1 oder 2x betätigt.
                  Das sollte die MCU und die Funkmodule (zumindest für paar Sekunden/Minuten) manuell triggern, ohne dass man die ganze Hardware unter Last abklemmen muss.
                  Hat das von euch schon mal jemand in diesem Zustand ausprobiert?

                  B
                  B
                  Berny-K
                  schrieb am zuletzt editiert von
                  #679

                  @maxclaudi
                  Bei mir hat das mit der IoT Taste leider auch nicht funktioniert.Ich konnte ihn auch nach mehreren Versuchen damit nicht wieder aufwecken.

                  1 Antwort Letzte Antwort
                  1
                  • maxclaudiM maxclaudi

                    @Daniel-8 sagte:
                    Nein weil ich sehr schlecht hin komme wo der Speicher steht.

                    Für so ein Szenario fällt mir spontan ein kleiner Fingerbot mit Akku ein, den man einfach über das Handy oder ioBroker triggert! :-)))

                    Der drückt dann per Funk den Knopf für dich, und du musst nicht jedes Mal in die schwer zugängliche Ecke krabbeln.
                    Das wäre eine Smart-Home-Lösung für das "Deep-Sleep-Problem" im Winter :-)

                    War nur scherzhaft ;-)

                    Wobei - mich erinnert das Ganze an die Anfangszeit mit dem HUB2000 und dem ACE1500.
                    Da gab es auch Fälle, in denen nur vor Ort ein physisches Aus- und wieder Einschalten half.
                    Weil ich öfter nicht vor Ort bin, ist so etwas für mich der absolute Worst Case. Ich war damals tatsächlich kurz drauf und dran, einen Fingerbot zu verwenden.

                    Aber der Hub ließ sich - im Gegensatz zu den neuen Geräten - noch zerstörungsfrei öffnen.
                    Ich habe damals einfach einen kleinen ESP8266 mit Optokoppler parallel zur physischen IoT-Taste gelötet, um eine zuverlässige Fernsteuerung zu ermöglichen.

                    D
                    D
                    Daniel 8
                    schrieb am zuletzt editiert von
                    #680

                    @maxclaudi sagte:

                    Für so ein Szenario fällt mir spontan ein kleiner Fingerbot mit Akku ein, den man einfach über das Handy oder ioBroker triggert! :-)))

                    Sowas hätte ich fast schon mal gekauft aber nicht für den zendure sondern für den Growatt.

                    Also ich habe den Tausch zu Zendure bis jetzt nicht bereut.

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

                    1 Antwort Letzte Antwort
                    0
                    • maxclaudiM maxclaudi

                      @Daniel-8 sagte:
                      Auf welche werte meinst du?

                      packData.xxxx.

                      • maxTemp
                      • maxVol
                      • minVol

                      properties:

                      • BatVolt
                      • electricLevel
                      • faultLevel
                      • heatState
                      • hyperTmp
                      • is_error
                      • socStatus
                      • dataReady
                      D
                      D
                      Daniel 8
                      schrieb am zuletzt editiert von
                      #681

                      @maxclaudi sagte:

                      @Daniel-8 sagte:
                      Auf welche werte meinst du?

                      packData.xxxx.

                      • maxTemp

                      beide 8°C

                      • maxVol

                      beide 3,27V

                      • minVol

                      3,27V und 3,28V

                      properties:

                      • BatVolt

                      49,39V

                      • electricLevel

                      49%

                      • faultLevel

                      0

                      • heatStat

                      0 unverändert seit 23.06.2026

                      • hyperTmp

                      8°C

                      • is_error

                      0

                      • socStatus

                      0

                      • dataReady

                      1

                      Anbei mal die Werte

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

                      maxclaudiM 2 Antworten Letzte Antwort
                      0
                      • D Daniel 8

                        @maxclaudi sagte:

                        @Daniel-8 sagte:
                        Auf welche werte meinst du?

                        packData.xxxx.

                        • maxTemp

                        beide 8°C

                        • maxVol

                        beide 3,27V

                        • minVol

                        3,27V und 3,28V

                        properties:

                        • BatVolt

                        49,39V

                        • electricLevel

                        49%

                        • faultLevel

                        0

                        • heatStat

                        0 unverändert seit 23.06.2026

                        • hyperTmp

                        8°C

                        • is_error

                        0

                        • socStatus

                        0

                        • dataReady

                        1

                        Anbei mal die Werte

                        maxclaudiM
                        maxclaudiM
                        maxclaudi
                        schrieb am zuletzt editiert von
                        #682

                        @Daniel-8
                        Die Zahlen sind aufschlussreich und bestätigen ein altbekanntes Phänomen bei LiFePO4-Zellen:

                        Deine Zellspannungen liegen stabil bei 3,27V bis 3,28V, die Gesamtspannung bei 49,39V.
                        Bei einem 15S-Akku ist das physikalisch ein absolut gesunder, noch gut gefüllter Zustand - chemisch entspricht das eher 60% bis 70% realer Kapazität.

                        Dass die Firmware 49% ausgibt und das Gerät wegen deines Limits (50%) kurz darauf schlafen schickt, bedeutet:
                        Die softwareseitige SoC-Berechnung der Firmware läuft zu ungenau, selbst wenn deine Kalibrierung erst 5 Tage her ist.
                        Vermutlich wurde nicht richtig bzw. vollständig kalibriert.

                        Wenn das die Werte sind nach dem Aufwachen, dann schaltet das Gerät nicht ab, weil der Akku real leer ist oder die Heizung ihn leergesaugt hat, sondern weil die Firmware sich "verrechnet" hat und fälschlicherweise denkt, der Mindest-SoC sei erreicht.
                        Physikalisch ist die Batterie noch top.

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

                        neue Zendure Geräte Cloudless: zURLtool V2.0

                        1 Antwort Letzte Antwort
                        0
                        • D Daniel 8

                          @maxclaudi sagte:

                          @Daniel-8 sagte:
                          Auf welche werte meinst du?

                          packData.xxxx.

                          • maxTemp

                          beide 8°C

                          • maxVol

                          beide 3,27V

                          • minVol

                          3,27V und 3,28V

                          properties:

                          • BatVolt

                          49,39V

                          • electricLevel

                          49%

                          • faultLevel

                          0

                          • heatStat

                          0 unverändert seit 23.06.2026

                          • hyperTmp

                          8°C

                          • is_error

                          0

                          • socStatus

                          0

                          • dataReady

                          1

                          Anbei mal die Werte

                          maxclaudiM
                          maxclaudiM
                          maxclaudi
                          schrieb am zuletzt editiert von
                          #683

                          @Daniel-8

                          Du hättest zwei Optionen, um das Problem zu lösen:

                          • Option 1 (Neukalibrierung): Die Kalibrierung noch einmal durchführen. Akku auf 100 % laden und ruhen lassen.
                            Danach noch mal sanft nachladen, bis die 100 % garantiert erreicht sind.
                            Anschließend bis auf 5 % entladen und nochmals vollständig auf 100 % aufladen.
                            Dann sollte die SoC-Berechnung der Firmware eher stimmen.

                          • Option 2 (Die Skript-Lösung):
                            Die kennst Du doch inzwischen ;-)
                            Den minSoc in der Firmware auf 10 bis 15 % absenken und die Abschaltung vollständig einem geprüften, sicheren Skript anvertrauen.
                            Das Skript überwacht die realen Zellspannungen und schaltet den Entladevorgang sicher ab, sobald die minVol einer einzigen Zelle aller Batterien einen definierten Spannungswert erreicht.

                          Ich bevorzuge den zweiten Weg, unabhängig von der ungenauen Prozentberechnung der Firmware.

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

                          neue Zendure Geräte Cloudless: zURLtool V2.0

                          1 Antwort Letzte Antwort
                          0
                          • D
                            D
                            Daniel 8
                            schrieb am zuletzt editiert von
                            #684

                            Ja die 49 kommen daher das er halt über Nacht was verliert. Die Akkus werden dann in Standby geschickt. Da ist er aber noch erreichbar. Das ein bisschen mehr drinnen ist wie angezeigt habe ich auch schon festgestellt, wenn er mal auf 100 Prozent lädt und viel weniger rein geht als soll.

                            Aber das tiefe abschalten ist erst nach ca 13 Stunden der letzten BefehlEingabe.

                            Das ist für mich kein Problem und wollte es nur mitteilen. Ich bin so zufrieden wenn er bei 50% soc aufhört zum einspeisen.

                            Mir ist das ganze ja nur aufgefallen weil dann von deinem Script die Meldung IP prüfen kam. Dann schaute ich ob er vom wlan getrennt war. Aber sobald sonne kommt läuft ja wieder alles. Deswegen unternehme ich da auch nichts.

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

                            maxclaudiM 1 Antwort Letzte Antwort
                            1
                            • D Daniel 8

                              Ja die 49 kommen daher das er halt über Nacht was verliert. Die Akkus werden dann in Standby geschickt. Da ist er aber noch erreichbar. Das ein bisschen mehr drinnen ist wie angezeigt habe ich auch schon festgestellt, wenn er mal auf 100 Prozent lädt und viel weniger rein geht als soll.

                              Aber das tiefe abschalten ist erst nach ca 13 Stunden der letzten BefehlEingabe.

                              Das ist für mich kein Problem und wollte es nur mitteilen. Ich bin so zufrieden wenn er bei 50% soc aufhört zum einspeisen.

                              Mir ist das ganze ja nur aufgefallen weil dann von deinem Script die Meldung IP prüfen kam. Dann schaute ich ob er vom wlan getrennt war. Aber sobald sonne kommt läuft ja wieder alles. Deswegen unternehme ich da auch nichts.

                              maxclaudiM
                              maxclaudiM
                              maxclaudi
                              schrieb am zuletzt editiert von
                              #685

                              @Daniel-8
                              Alles klar, dann passt das ja perfekt für dein Setup :-)
                              Es ist auf jeden Fall gut, dass das für alle Mitleser hier im Thread dokumentiert ist.

                              Sobald mit der Sonne morgens die MCU erwacht, läuft das Skript ja wie gewohnt weiter.

                              Ein zusätzliches Isolieren der Batterie(n) wäre zu empfehlen, wenn schon im Oktober nur 8°C erreicht werden.

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

                              neue Zendure Geräte Cloudless: zURLtool V2.0

                              maxclaudiM 1 Antwort Letzte Antwort
                              1
                              • maxclaudiM maxclaudi

                                zURLtool_V20 (c) maxclaudi 2026 - Version 2.0 cdh

                                Neu in zURLtool V 2.0 dch
                                • Sprachauswahl: Deutsch und Englisch sind auswählbar und während der Laufzeit umschaltbar.

                                • Reset-Funktion: Geräte können zurückgesetzt werden (Hinweis: Zum vollständigen Abmelden - z.B. bei Verkauf - Gerät auch in der App entfernen!).

                                • WLAN-Handling: Das manuelle Setzen des WiFi-Mode entfällt. Ein automatischer Scan zeigt alle vom Zendure-Gerät erreichbaren Netze an. Bei zur config.ini abweichendem, manuell ausgewählten WLAN muss auch das Passwort in der GUI angepasst werden.

                                • Offline-Modus: Die Option OFFLINE = 1 in der config.ini überspringt den WLAN-Scan, ideal für Vorbereitungen oder Konfigurationen ohne aktiven Router.

                                • Token & User-ID: Gerätespezifischer Token wird in mqtt_creds.txt gesichert. Für die korrekte userId (bzw. consumerId) empfiehlt sich der Einsatz des Zusatztools zAppEmulationDeviceInfo

                                • Ein Backup mit den verwendeten Daten in der config.ini wird zusätzlich gespeichert. Beispiel: bak_config_26.10.26_14.51.35.ini

                                • Hinweis zu TLS / Port 8883: Das Tool ist ein reiner Konfigurator per Bluetooth und generiert keine TLS-Zertifikate oder Keys.

                                00.png

                                01-de.png

                                Beschreibung im Spoiler.


                                zURLtool V 2.0 dch – Lokaler MQTT-Broker für Zendure 2026

                                Hallo zusammen, das Update zURLtool V 2.0 dch de/gb ist nun fertig!


                                Das Programm ist in seiner Art einzigartig, neu und durch monatelanges Reverse-Engineering, Analysen und intensives Testen entstanden.
                                Es handelt sich um ein reines Windows-GUI-Programm, das ganz einfach per Doppelklick gestartet wird.

                                Es verwendet keinen Code von anderen bekannten Projekten, die teils fehlerhaften und unvollständigen Code verwenden, mit dem Konfigurationen neuer Geräte nicht möglich sind.

                                Technische Voraussetzungen & Basis:

                                Vielen Dank an Henrik Blidh für die hervorragende BT-Bibliothek.

                                Das Programm nutzt zur Kommunikation ausschließlich die offiziellen Windows-BT-Treiber ab Windows 10/11 und die integrierte Bluetooth-Bibliothek bleak:

                                ==================================================

                                LICENSE NOTICE FOR THE UTILIZED BLUETOOTH LIBRARY
                                This program uses "bleak" for Bluetooth functionality.
                                https://github.com/hbldh/bleak
                                Copyright (c) 2020, Henrik Blidh
                                Permission is hereby granted, free of charge, to any person obtaining a copy
                                of this software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND.

                                ==================================================

                                Die Bibliothek wurde fest in das Programm eingebunden.

                                Weitere Bibliotheken oder Frameworks müssen auf eurem PC nicht installiert werden.

                                • Betriebssystem: Windows (10) 11 (64-Bit)
                                • Hardware: Interner Bluetooth-Chip oder ein standardmäßiger USB-Bluetooth-Stick am Rechner.
                                • Kompatibilität: Getestet mit Zendure-Geräten bis zur 2400er-Serie (sowohl ältere als auch neueste Generationen / Firmware-Stände).

                                Inhalt des Programmpakets (zURLtoolV20.zip):
                                Das ZIP-Archiv enthält genau drei Dateien, die zwingend im selben Ordner liegen bleiben müssen:
                                • zURLtool_V20.exe (Größe: ca. 15.5 MB / 15555 KB)
                                • config.ini (Konfigurationsdatei für eure Zugangsdaten)
                                • ReadMe_zURLtoolV20.txt (Ausführliche Anleitung in Deutsch & Englisch)

                                Was genau macht das zURLtool?
                                Das Tool schreibt im Zendure-Gerät die Konfiguration der Broker-URL um.

                                • Es wird NICHT in die Firmware eingegriffen und es wird nichts modifiziert. Die originale Firmware von Zendure bleibt zu 100 % unangetastet.

                                • Es werden lediglich die standardmäßigen Bluetooth-Befehle verwendet, die die Firmware von Haus aus für die App bereitstellt.

                                • Das Skript verhält sich für das Gerät exakt wie die originale App, greift auf die Konfigurationsvariablen im Speicher zu und überschreibt dort die Wi-Fi-Daten und den Eintrag für die Cloud-URL mit der IP eures eigenen lokalen Brokers.

                                Es funktioniert quasi wie eine zusätzliche Länderauswahl, bei der man sich einfach mit einem anderen Server verbindet.
                                Das bietet die Firmware von Haus aus an, da die Geräte sonst permanent fest an ganz bestimmte AWS-Server gebunden wären.
                                Zurück zur Cloud ist auch möglich. Beispiele sind in der config.ini enthalten.

                                Die Geräte verbinden sich und können beschrieben werden ohne hartes Reset und ohne hartes Trennen von allen Stromquellen.

                                Freigabe vereinfacht.
                                Wer schon eine Seriennummer und Freischalt-Code für zURLtool V1.0 dch hat, kann diese verwenden.
                                Seriennummer und Freischalt-Code bleiben gültig, eine erneute Anfrage für zURLtool V2.0 ist nicht erforderlich.

                                Der Freischalt-Ablauf:
                                Damit das Programm funktioniert und um anonyme Massen-Weiterreichungen zu unterbinden, benötigt das Programm eine Seriennummer und einen Freigabe-Code.

                                1. Sende mir deinen (Foren-) Namen per privater Nachricht (PN) im Forum oder per E-Mail an: ztool.maxclaudi AT gmail . com
                                2. Du erhältst von mir eine persönliche "Seriennummer" und den dazu passenden "Freigabe-Code"
                                3. Sichere dir die Seriennummer und den Freigabe-Code unbedingt in einer Textdatei als Backup! Falls du die Datei mal verlierst, hast du deine Seriennummer und deinen Freigabe-Code als Backup griffbereit.
                                4. Starte die 'zURLtool_GUI.exe'.

                                Trage beide Werte exakt so, wie du sie erhalten hast, in die dafür vorgesehenen Felder im Startfenster ein und klicke auf "Akzeptieren & Starten".
                                Nach einmaliger Eingabe startet zURLtool zukünftig vollautomatisch in die Hauptoberfläche.

                                Als Notfall hast du zusätzlich Seriennummer und Freigabecode als Backup.
                                Vor dem ersten Start muss bzw. kann die config.ini in einem einfachen Text-Editor mit euren echten Daten befüllt werden.
                                Auswählbare Beispiele und Erklärungen zu den WLAN-Modi sind direkt darin enthalten.

                                Wenn keine config.ini vorhanden ist oder nicht benutzt wird, müssen die Daten in die GUI eingegeben werden.

                                Warum ist das Programm Closed Source?
                                Zu oft wurden meine Skripte, Codes oder Teile daraus in der Vergangenheit verwendet und/oder modifiziert – ohne Nennung meines Namens, ohne Danksagung / Anerkennung und unter Entfernung meiner originalen Hinweise.
                                Entweder wurde (leicht abgeändert) einfach "übernommen" oder u. a. als eigener Erfolg ausgegeben oder kommentiert mit "ich habe einen Weg gefunden".
                                Das ist ungerecht.

                                Monatelange harte Arbeit sollte zumindest anerkannt werden.

                                Sollte das Programm oder der Code in irgendeiner Form gehackt zur Verfügung gestellt oder verwendet werden, dann war dies mein letzter offizieller Beitrag in Form von Code für die Community.
                                Das gilt auch wenn das Programm inkl. Seriennummer und Freigabe-Code mehrfach geteilt wird.

                                Viel Spaß mit dem zURLtool V2.0 dch!


                                01-eng.png

                                02-eng.png

                                04-eng.png

                                05-eng.png


                                Bitte ReadMe_zURLtoolV20.txt beachten, enthält die deutsche und englische Beschreibung.

                                HINWEIS FÜR BESTEHENDE NUTZER:
                                Wer bereits für die Version 1.0 eine Seriennummer und einen Freischalt-Code erhalten hat, kann diese Daten direkt weiterverwenden!
                                Sie sind auch für die Version 2.0 gültig.
                                Bitte in diesem Fall keine erneute Anfrage.

                                RECHTLICHER HINWEIS ZUR FREIGABE:
                                Eine Weitergabe von Seriennummer und Freigabe-Code
                                sowie deren Mehrfachnutzung durch verschiedene Personen ist ausdrücklich UNZULÄSSIG.


                                Please note ReadMe_zURLtoolV20.txt: contains the German and English description.

                                NOTE FOR EXISTING USERS:
                                If you have already received a serial number and activation code for version 1.0, you can reuse them directly!
                                They are valid for version 2.0 as well. Please do not submit a new request in this case.

                                LEGAL NOTICE ON ACTIVATION:
                                Sharing the serial number and activation code, as well as their multiple use by different individuals, is strictly PROHIBITED.

                                maxclaudiM
                                maxclaudiM
                                maxclaudi
                                schrieb am zuletzt editiert von
                                #686

                                zURLtool goes to ESP32!

                                Zuerst wollte ich eine Android-App schreiben.
                                Außerdem war im Hinterstübchen immer noch die Idee für ein eigenständiges BT-MQTT-Gateway vorhanden.

                                Dann dachte ich an Nebelkerzenwerfer mit Verschwörungstheorien, was mein Windows-Programm angeblich alles auf dem PC anstellen könnte.
                                Open-Source ist für mich in diesem Umfeld leider nicht mehr möglich, weil ich es nicht einsehe, dass meine Erkenntnisse und mein Code ungefragt übernommen werden, ohne dass auch nur eine einzige Namensnennung oder ein Danke erfolgt.

                                Heute Mittag kam mir dann die Idee, eine zURLtool-Firmware für einen ESP32 mit integriertem Webserver zu schreiben.
                                In einer Schublade lag noch ein passendes ESP32-Board mit 4MB Flash.

                                Also ab ans Proggen...

                                Ich habe eine einfache Prototyp-Benutzeroberfläche als Website erstellt (natürlich auch Smartphone-tauglich) und den Code für den ESP32 umgesetzt.

                                Die .bin-Datei wurde erstellt, kompiliert, geflasht und ... NICHTS.

                                Es wurde kein Access Point zur Verfügung gestellt und der Chip blieb stumm.

                                Dann kam mir der Gedanke an diese günstigen ESP32-Entwicklungsboards und deren Empfindlichkeit gegenüber Spannungsspitzen. Fehlende oder zu kleine Blockkondensatoren (C)?

                                In der Tat, das war das Problem! Ich habe zwei noch vorhandene Elkos auf die Schnelle hinten auf das Board gelötet: einen 220µF-Kondensator an die 3V3-Schiene und einen 10µF-Kondensator an die 5V-Leitung.

                                ESP32_02.jpeg.jpeg

                                ESP32_01.jpeg

                                Dazu noch ein gutes 5V DC 2.4A Mean Well Hutschienen-Netzteil über ein altes Kabel mit dem Micro-USB-Stecker verbunden und ...

                                ESP32_03.jpeg

                                ESP32_04.jpeg

                                läuft! :-)

                                Es wird also wahrscheinlich demnächst eine zURLtool-Firmware für den ESP32 geben.

                                Damit ist für das Umschreiben der Geräte-Konfiguration kein Notebook mit Bluetooth, keine EXE und keine Zusatzsoftware mehr nötig.

                                Das eigene Heimnetzwerk, ein Smartphone oder ein beliebiger Rechner reichen dann völlig aus – zusammen mit einem ESP32, zwei Kondensatoren und einem 5V-Netzteil.

                                endlich schlafen :-)

                                Allen eine erholsame und gute Nacht ;-)

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

                                neue Zendure Geräte Cloudless: zURLtool V2.0

                                1 Antwort Letzte Antwort
                                1
                                • maxclaudiM maxclaudi

                                  @Daniel-8
                                  Alles klar, dann passt das ja perfekt für dein Setup :-)
                                  Es ist auf jeden Fall gut, dass das für alle Mitleser hier im Thread dokumentiert ist.

                                  Sobald mit der Sonne morgens die MCU erwacht, läuft das Skript ja wie gewohnt weiter.

                                  Ein zusätzliches Isolieren der Batterie(n) wäre zu empfehlen, wenn schon im Oktober nur 8°C erreicht werden.

                                  maxclaudiM
                                  maxclaudiM
                                  maxclaudi
                                  schrieb am zuletzt editiert von maxclaudi
                                  #687

                                  03.11.2026
                                  (Testgeräte HUB2000 / Hyper 2000 / 1600AC+ / 2400 ACpro)

                                  Technische Beobachtung in aktuellen Zendure-Firmware-Versionen: 

                                  Es fällt auf, dass das Verhalten bei (Cloud-)MQTT-Publishes angepasst wurde, was das Echtzeit-Streaming von Werten betrifft. Alle Beobachtungen beziehen sich hierbei auf die properties/report-Meldungen: 

                                  • Früher: Sobald sich Werte von PV-Modulen oder Batterien änderten, wurden diese sofort per MQTT (in Echtzeit) im Report gemeldet.

                                  • Jetzt: Unabhängig von tatsächlichen Wertänderungen wird die properties/report-Meldung nun starr in einem festen Intervall von 5000 ms publiziert. Werte scheinen dort gesammelt übertragen zu werden.

                                  • Aktive Abfrage / externe Befehle: Werden explizite Anfragen oder Befehle an das Gerät gerichtet, erfolgt die Antwort-Veröffentlichung und Änderung – wie bisher – sofort.

                                  • HEMS-Ausnahme: Ist HEMS „in der App aktiviert“ und die Steuerung läuft über die Cloud, scheint es Ausnahmen von dieser Begrenzung zu geben. Zum Teil läuft es scheinbar wie zuvor, damit vermutlich schneller geregelt werden kann (Wertänderungen werden schneller gesendet als das Intervall).

                                  edit 05.11.2026 10:15h
                                  Ob bei deaktiviertem HEMS bei extrem drastischen Wertsprüngen zwischendurch doch ein Sofort-Publish vom Gerät getriggert wird, weiß ich (noch) nicht.
                                  Ich kann es nur hoffen und werde das Verhalten weiter beobachten und versuchen, es in zwei Firmware-Versionen zu analysieren.
                                   

                                  • bei wechselhafter PV-Leistung werden die Werte schneller via MQTT veröffentlicht (Sofort-Publish). Das Gerät reagiert demnach dynamisch auf starke Leistungsschwankungen, auch ohne aktives HEMS.

                                  • zusätzlich bisher unbekannter Schalter (enable/false) in der Firmware identifiziert. Der Status dieses Schalters lässt sich direkt über ein MQTT-Publish steuern.
                                    edit-Ende

                                  Die Anpassung dient vermutlich der Reduzierung des Traffics der Geräte zur Cloud und der Entlastung des ESP32. 

                                  Die aktuellen Firmware-Versionen von HUB2000, ace1500 und die letzte Firmware-Version vom Hyper < 2 (vor TLS) sind von dieser Änderung nach meinem Kenntnisstand und den vorhandenen Test-Geräten nicht betroffen.

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

                                  neue Zendure Geräte Cloudless: zURLtool V2.0

                                  maxclaudiM 1 Antwort Letzte Antwort
                                  0
                                  • maxclaudiM maxclaudi

                                    03.11.2026
                                    (Testgeräte HUB2000 / Hyper 2000 / 1600AC+ / 2400 ACpro)

                                    Technische Beobachtung in aktuellen Zendure-Firmware-Versionen: 

                                    Es fällt auf, dass das Verhalten bei (Cloud-)MQTT-Publishes angepasst wurde, was das Echtzeit-Streaming von Werten betrifft. Alle Beobachtungen beziehen sich hierbei auf die properties/report-Meldungen: 

                                    • Früher: Sobald sich Werte von PV-Modulen oder Batterien änderten, wurden diese sofort per MQTT (in Echtzeit) im Report gemeldet.

                                    • Jetzt: Unabhängig von tatsächlichen Wertänderungen wird die properties/report-Meldung nun starr in einem festen Intervall von 5000 ms publiziert. Werte scheinen dort gesammelt übertragen zu werden.

                                    • Aktive Abfrage / externe Befehle: Werden explizite Anfragen oder Befehle an das Gerät gerichtet, erfolgt die Antwort-Veröffentlichung und Änderung – wie bisher – sofort.

                                    • HEMS-Ausnahme: Ist HEMS „in der App aktiviert“ und die Steuerung läuft über die Cloud, scheint es Ausnahmen von dieser Begrenzung zu geben. Zum Teil läuft es scheinbar wie zuvor, damit vermutlich schneller geregelt werden kann (Wertänderungen werden schneller gesendet als das Intervall).

                                    edit 05.11.2026 10:15h
                                    Ob bei deaktiviertem HEMS bei extrem drastischen Wertsprüngen zwischendurch doch ein Sofort-Publish vom Gerät getriggert wird, weiß ich (noch) nicht.
                                    Ich kann es nur hoffen und werde das Verhalten weiter beobachten und versuchen, es in zwei Firmware-Versionen zu analysieren.
                                     

                                    • bei wechselhafter PV-Leistung werden die Werte schneller via MQTT veröffentlicht (Sofort-Publish). Das Gerät reagiert demnach dynamisch auf starke Leistungsschwankungen, auch ohne aktives HEMS.

                                    • zusätzlich bisher unbekannter Schalter (enable/false) in der Firmware identifiziert. Der Status dieses Schalters lässt sich direkt über ein MQTT-Publish steuern.
                                      edit-Ende

                                    Die Anpassung dient vermutlich der Reduzierung des Traffics der Geräte zur Cloud und der Entlastung des ESP32. 

                                    Die aktuellen Firmware-Versionen von HUB2000, ace1500 und die letzte Firmware-Version vom Hyper < 2 (vor TLS) sind von dieser Änderung nach meinem Kenntnisstand und den vorhandenen Test-Geräten nicht betroffen.

                                    maxclaudiM
                                    maxclaudiM
                                    maxclaudi
                                    schrieb am zuletzt editiert von maxclaudi
                                    #688

                                    Heute hatte ich wieder einen langen Tag.

                                    Ein Zendure-Gerät und dafür extra einen Broker aufsetzen?

                                    Jemand wollte sein Zendure-Gerät (mit TLS) cloudfrei betreiben und direkt mit dem ioBroker-MQTT-Adapter verbinden.

                                    Bedingungen:

                                    • Zendure-Gerät (TLS)soll sich mit MQTT-Adapter verbinden
                                    • MQTT und zenSDK Steurung sollen möglich sein
                                    • Cloudfrei
                                    • auf keinen Fall extra einen eigenen Broker wie Mosquitto aufsetzen
                                    • Setup sollte simpel, leicht änderbar und direkt einsatzbereit sein
                                    • nichts kompliziertes

                                    Dachte: nicht realisierbar.
                                    Wo fängt man da an?

                                    Nach einigem Grübeln habe ich mir angeschaut was vorhanden ist und was genutzt werden kann und angefangen zu proggen.

                                    Viele Stunden später....

                                    Ergebnis: eine echte eierlegende Wollmilchsau:
                                    TLS-Entschlüsselung und Plain-Brücke für ioBroker in einem.

                                    Das absolut Sensationelle daran:
                                    Der ESP32 verhält sich wie ein Mosquitto-Broker (inklusive Echos und RAM-geschütztem Retain-Speicher) und das mit nur 4MB Flash.
                                    Konnte dafür keine 3rd Party Libs verwenden.
                                    Alle verfügbaren Libs hatten entweder Fehler, waren aufgebläht oder die Funktionen wurden nicht unterstützt.

                                    Also wieder ans Eingemachte....
                                    Der Code baut nur auf den nackten Bordmitteln des ESP-IDF-Frameworks (bzw. Arduino-Core) auf.
                                    Schlanker und effizienter geht es kaum.

                                    00f-kompiliert.png

                                    Ich dachte selbst erst nicht, dass es klappt ohne PSRAM und mit nur 4MB Flash, aber das Ergebnis läuft stabil und sicher.

                                    Funktionierendes Multi-User-System:

                                    • 2x TLS-Clients (Port 8883): für bis zu zwei Zendure-Geräte.

                                    • 3x Plain-Clients (Port 1883): ohne TLS, z. B. für den ioBroker-Adapter, MQTT-Explorer und MQTTX.

                                    Ein separater MQTT-Broker wird damit komplett überflüssig.
                                    Die Konfiguration (WLAN und TLS-Zugangsdaten) erfolgt einfach einmalig seriell über USB am Rechner, z.B. mit Arduino-Serial-Monitor oder PuTTY.

                                    Man kann im laufenden Betrieb:
                                    • "setup" eingeben und schnell Daten ändern.
                                    • "status" eingeben und man erhält Infos (siehe Bilder)

                                    01f-setup-ESP-seriell-MQTTbroker.png

                                    02f-setup-ESP-seriell-MQTTbroker.png

                                    04f-setup-ESP-seriell-MQTTbroker.png

                                    05f-laufenderBetrieb-ESP-seriell-MQTTbroker.png

                                    Also wurde nur kurz zURLtool benutzt und nun übernimmt ein alter Standard ESP32 mit 4MB flash (noch mit Micro-USB) den Broker.
                                    Bild im Spoiler

                                    Darf ich vorstellen :-) ... ein vollwertiger TLS-Broker für Zendure Geräte:

                                    image.jpeg

                                    .
                                    Einrichtung von Zendure-Gerät und ESP32-Broker komplett in ca. 10min.

                                    Wahnsinn.... Ziel erreicht!

                                    Wieder so spät, hoffe Popcorn ist noch vorhanden ;-)

                                    und wieder Allen eine erholsame und gute Nacht ;-)

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

                                    neue Zendure Geräte Cloudless: zURLtool V2.0

                                    maxclaudiM 1 Antwort Letzte Antwort
                                    1
                                    • maxclaudiM maxclaudi

                                      Heute hatte ich wieder einen langen Tag.

                                      Ein Zendure-Gerät und dafür extra einen Broker aufsetzen?

                                      Jemand wollte sein Zendure-Gerät (mit TLS) cloudfrei betreiben und direkt mit dem ioBroker-MQTT-Adapter verbinden.

                                      Bedingungen:

                                      • Zendure-Gerät (TLS)soll sich mit MQTT-Adapter verbinden
                                      • MQTT und zenSDK Steurung sollen möglich sein
                                      • Cloudfrei
                                      • auf keinen Fall extra einen eigenen Broker wie Mosquitto aufsetzen
                                      • Setup sollte simpel, leicht änderbar und direkt einsatzbereit sein
                                      • nichts kompliziertes

                                      Dachte: nicht realisierbar.
                                      Wo fängt man da an?

                                      Nach einigem Grübeln habe ich mir angeschaut was vorhanden ist und was genutzt werden kann und angefangen zu proggen.

                                      Viele Stunden später....

                                      Ergebnis: eine echte eierlegende Wollmilchsau:
                                      TLS-Entschlüsselung und Plain-Brücke für ioBroker in einem.

                                      Das absolut Sensationelle daran:
                                      Der ESP32 verhält sich wie ein Mosquitto-Broker (inklusive Echos und RAM-geschütztem Retain-Speicher) und das mit nur 4MB Flash.
                                      Konnte dafür keine 3rd Party Libs verwenden.
                                      Alle verfügbaren Libs hatten entweder Fehler, waren aufgebläht oder die Funktionen wurden nicht unterstützt.

                                      Also wieder ans Eingemachte....
                                      Der Code baut nur auf den nackten Bordmitteln des ESP-IDF-Frameworks (bzw. Arduino-Core) auf.
                                      Schlanker und effizienter geht es kaum.

                                      00f-kompiliert.png

                                      Ich dachte selbst erst nicht, dass es klappt ohne PSRAM und mit nur 4MB Flash, aber das Ergebnis läuft stabil und sicher.

                                      Funktionierendes Multi-User-System:

                                      • 2x TLS-Clients (Port 8883): für bis zu zwei Zendure-Geräte.

                                      • 3x Plain-Clients (Port 1883): ohne TLS, z. B. für den ioBroker-Adapter, MQTT-Explorer und MQTTX.

                                      Ein separater MQTT-Broker wird damit komplett überflüssig.
                                      Die Konfiguration (WLAN und TLS-Zugangsdaten) erfolgt einfach einmalig seriell über USB am Rechner, z.B. mit Arduino-Serial-Monitor oder PuTTY.

                                      Man kann im laufenden Betrieb:
                                      • "setup" eingeben und schnell Daten ändern.
                                      • "status" eingeben und man erhält Infos (siehe Bilder)

                                      01f-setup-ESP-seriell-MQTTbroker.png

                                      02f-setup-ESP-seriell-MQTTbroker.png

                                      04f-setup-ESP-seriell-MQTTbroker.png

                                      05f-laufenderBetrieb-ESP-seriell-MQTTbroker.png

                                      Also wurde nur kurz zURLtool benutzt und nun übernimmt ein alter Standard ESP32 mit 4MB flash (noch mit Micro-USB) den Broker.
                                      Bild im Spoiler

                                      Darf ich vorstellen :-) ... ein vollwertiger TLS-Broker für Zendure Geräte:

                                      image.jpeg

                                      .
                                      Einrichtung von Zendure-Gerät und ESP32-Broker komplett in ca. 10min.

                                      Wahnsinn.... Ziel erreicht!

                                      Wieder so spät, hoffe Popcorn ist noch vorhanden ;-)

                                      und wieder Allen eine erholsame und gute Nacht ;-)

                                      maxclaudiM
                                      maxclaudiM
                                      maxclaudi
                                      schrieb am zuletzt editiert von maxclaudi
                                      #689

                                      Wünsche allen ein schönes Wochenende :-)

                                      Vielleicht ist jemandem langweilig oder möchte wissen, was ich momentan teste.
                                      Roman zum Wochenende und vielleicht Interesse an einem Projekt?

                                      ja? Dann spoiler lesen ;-) ...ansonsten nicht weiter beachten.

                                      ESP32 WROOM 4MB FLASH als lokaler TLS-Broker läuft "bis jetzt" unauffällig, schnell, stabil und zuverlässig.
                                      Nach TLS-Verbindung mit dem zenGerät scheint er sich beinahe zu langweilen.
                                      Auch wenn man ihn per Skript mit unnötigen und häufigen Anfragen zu fluten versucht...
                                      ist er nicht aus der Ruhe zu bringen und arbeitet weiter.
                                      Mit 1 TLS-Client und 3 Clients über 1883 (iobroker-Adapter, MQTTX und MQTT-Explorer) funktioniert es gut.
                                      Bleibt weiterhin im Test-Run.

                                      Das hat mir keine Ruhe gelassen.
                                      Vielleicht geht noch ein wenig mehr... los ging's.


                                      Beta-Status erreicht und die eierlegende Wollmilchsau ist seit Stunden im Testbetrieb.
                                      Bin gespannt, ob das stabil und dauerhaft läuft.

                                      Hardware:
                                      ESP32 WROOM D0WDQ6 Revision v1.0 4MB FLASH
                                      altes Board aus der Schublade, siehe Bild.

                                      image.jpeg

                                      Wofür? Was ist das?

                                      Der ESP32 ist:
                                      • TLS-Client zu einer anderen DNS/CLOUD als Bridge
                                      • ein TLS-Broker Port: 8883 für 1 TLS-Client zenGerät
                                      • ein Broker Port: 1883 für maximal 3 zusätzliche Clients mit jeweils User + Passwort
                                      Z. B. für iobroker-MQTT Broker/Client-Adapter v8.1.2, MQTTX und MQTT-Explorer


                                      Was wird benötigt?

                                      • 1 Zendure-Gerät (z. B. 800 pro plus / 1600 AC+ / 2400AC pro plus)
                                      • iobroker Adapter MQTT Broker/Client Adapter v8.1.2 als Client
                                      • ESP32 mit 4MB FLASH
                                      • irgendein Kunststoffgehäuse für den ESP32
                                      • gutes Netzteil für den ESP32 mit stabilen 5V mit "reinem" geglätteten DC-Ausgang und lieber zu viel A als zu wenig.
                                      • Schalter (Schliesser) oder Brücke.
                                      • zURLtool oder AdGuard oder Pi-hole, um die DNS des zenGeräts auf die IP des ESP32 umzukonfigurieren.
                                      • WLAN-Router (Fritzbox etc.) oder WLAN-AP mit DHCP


                                      Wie soll das funktionieren?

                                      Siehe Bilder.

                                      001.png

                                      003.png

                                      Nachdem der ESP geflasht ist, öffnet man eine serielle Konsole (Visual Studio Code PlatformIO / PuTTY oder Arduino serieller Monitor etc.).

                                      004.png

                                      • Ist der Chip nicht konfiguriert, landet man automatisch im Setup.
                                      • Ist der Chip bereits konfiguriert, hat man beim Starten 3 Sek. Zeit, um ins Setup zu kommen.
                                      Z. B. nach RESET durch die Reset-Taste.

                                      005.png

                                      Dann kommen die Abfragen.
                                      Betätigt man nur die Enter-Taste, wird nichts geändert.
                                      Ansonsten gibt man entweder ein, was geändert werden soll, und betätigt danach die Enter-Taste,
                                      oder man gibt nur das Minuszeichen ein und drückt die Enter-Taste, um den aktuellen Wert zu löschen.

                                      006.png

                                      Zur Konfiguration kann man sich zuvor alle Daten in einem Textfile vorbereiten
                                      und dann per Copy-Paste einfach jeweils einfügen.
                                      Es ist ein reines zenGateway (Bridge) und nur für 1 zenGerät.

                                      Erforderliche Daten:
                                      Es muss mindestens ProductKey und DeviceID eines Geräts eingegeben werden.

                                      Der Reihe nach wird abgefragt:
                                      WLAN-SSID
                                      WLAN-Passwort
                                      CLOUD-DNS
                                      ProductKey
                                      DeviceID

                                      und danach für den Port: 1883 jeweils gewünschte User + Passwort

                                      006.png

                                      Am Schluss wird noch der LOG-LEVEL abgefragt.
                                      Sollte das System absolut stabil laufen, dann 0 setzen.

                                      Das war es, mehr ist nicht nötig :-)

                                      Danach verbindet sich der ESP mit dem Heim-WLAN und zeigt seine bezogene, aktuelle IP an.

                                      Die angezeigte IP im Internetrouter (z. B. Fritzbox) dauerhaft festlegen.

                                      Dann kann man den ESP trennen, an ein besseres Netzteil anschließen und am besten in der Nähe des WLAN-Routers platzieren.

                                      Wenn ein Schalter (Schließer) zwischen GPIO: 17 und GND angeschlossen wird, kann man umschalten.
                                      Ist kein Schalter angeschlossen, dann ist der ESP im Bridge-Betrieb zur Cloud.
                                      Ist ein Schalter (Schließer) an GPIO:17 und GND angeschlossen und eingeschaltet ODER eine Brücke von GPIO:17 zu GND vorhanden, dann wird die Cloud-Verbindung getrennt und das zenGerät ist rein lokal mit dem ESP32 als Broker verbunden mit lokalen Client(s).

                                      Man kann also zwischen Cloud oder lokal physisch umschalten.


                                      Aktuelle Analyse auch als Memo für mich:

                                      Zum Status:
                                      Unnötige Cloud-Echos werden ausgewertet und gefiltert.
                                      Dass die ms größer werden, ist gut und hat seinen Grund.

                                      Der errno: 104, "Connection reset by peer":
                                      [STATUS] IP 192.168.50.153 | Clients 4 | Switch-Cloud: AKTIV | Cloud-TLS VERBUNDEN | Gerät aktiv: JA | Heap frei 129276 | Min 102428 | Max-Block 69620 | Cloud-Echo 1563
                                      [4297115][E][WiFiClient.cpp:429] write(): fail on fd 50, errno: 104, "Connection reset by peer"
                                      [STATUS] IP 192.168.50.153 | Clients 4 | Switch-Cloud: AKTIV | Cloud-TLS VERBUNDEN | Gerät aktiv: JA | Heap frei 128944 | Min 100704 | Max-Block 57332 | Cloud-Echo 2395
                                      war bewusst erzwungen.

                                      Schließen ohne DISCONNECT vom MQTT-Explorer und gleich wieder Öffnen + CONNECT.
                                      Ein Test, wie sich der ESP mit HEAP verhält.

                                      007.png

                                      Alles ok, sieht nicht übel aus.
                                      Werte, auf die es ankommt, sind stabil.

                                      Heap frei: Er liegt über die ganze Zeit zwischen etwa 129 und 133 KB.
                                      Er sinkt nicht, sondern pendelt.

                                      Min: Er ist von 102 KB auf 99,7 KB gefallen, also um etwa 3 KB in mehreren Stunden.
                                      Min kann nur sinken, und kleine Stufen kommen von einmaligen Spitzen, zum Beispiel beim Wiederaufbau einer Verbindung.
                                      Problem wäre, wenn er mit jedem Reconnect um ein paar KB weiterfällt und am Ende unter etwa 50 KB landet.

                                      Max-Block: Der Abfall von 69 bis 73 KB auf 57 KB passt zeitlich zum Test mit der Fehlermeldung write(): fail on fd 50, errno: 104, "Connection reset by peer".
                                      Verbindung wurde dabei zurückgesetzt.
                                      ESP und Gegenstelle haben danach neu aufgebaut.
                                      Die neuen Puffer liegen an anderen Stellen im Speicher.
                                      Das ist normale Fragmentierung.
                                      57 KB sind aber weit mehr als 16 KB, die ein neuer TLS-Puffer braucht :-)


                                      ToDo:
                                      Vorerst nur laufen lassen und beobachten:

                                      • Heap sollte um 130 KB frei bleiben.
                                      • Max-Block sollte über etwa 40 KB bleiben.
                                      • Min darf nicht bei jedem Reconnect weiter fallen.

                                      Zum Schluss noch ein Bildausschnitt vom Notebook, auf dem ioBroker, MQTTX und MQTT Explorer gleichzeitig mit dem ESP-Broker verbunden sind, während der 1600AC+ Daten an die Cloud und an alle Clients liefert.

                                      008.png

                                      Falls jemand sich bedanken möchte für den Roman, bitte nur voten ;-)
                                      Ein extra Post ist dafür nicht nötig.

                                      Wer Fragen oder Interesse an dem Projekt hat, bitte schön :-)

                                      Liebe Grüße maxclaudi

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

                                      neue Zendure Geräte Cloudless: zURLtool V2.0

                                      1 Antwort Letzte Antwort
                                      1

                                      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

                                      470

                                      Online

                                      33.1k

                                      Benutzer

                                      84.2k

                                      Themen

                                      1.4m

                                      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
                                      • Ungelesen 0
                                      • Kategorien
                                      • Unreplied
                                      • Beliebt
                                      • GitHub
                                      • Docu
                                      • Hilfe