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

    @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

                        447

                        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