NEWS
Zendure zenSDK Lokal API, SmartMode, SolarFlow AC 800 Pro 2
-
@maxclaudi
Ok. Ich habe einige aliase gesetzt. Sind die danach wieder da oder reicht es wie in deinen Post oben geschrieben nur control.socCompSwitch zu löschen? -
@maxclaudi
danke für deinen Input - habe ich gemacht (altes Script gestoppt, control.socComSwitch gelöscht, neues Script gestartet). Ich werde testen -
@maxclaudi
danke für deinen Input - habe ich gemacht (altes Script gestoppt, control.socComSwitch gelöscht, neues Script gestartet). Ich werde testen@MP_Trixi
Kann es sein, dass im Moment keine oder zu wenig Leistung kommt?
Ist bei mir so.
Es gibt eigenlich unter properties nur:properties.outputPackPower properties.packInputPowerZur Kontrolle kannst Du das Script zur Nulleinspeisung stoppen.
Setze dann mal im dp:control.auto_outputLimitMode100 oder -100
gib dem Befehl 10 sek Zeit.
Danach ändert sich auch der Wert in
properties.packInputPower
oder
properties.outputPackPowerWenn das funktioniert ist zu wenig PV-Leistung vorhanden. Müsstest Du auch in properties.solarInputPower feststellen.
Für die PV-Leistung oder Sonne kann ich nichts ;-)
PS: Durch das Edit von Dir sieht mein Post nun super aus :-)
-
@T-147 sagte:
Ich hab hier den SF800 Pro2, der fängt morgens schon ab 10W Gesamtleistung (über alle 4 Panels/MPPT) an zu laden. In meinem Fall und Setuo scheint sich die deutlich niedrigere Start-Spannung von Zendure im Vergleich zu meinem HMS-1000 auszuzahlen.Meiner Meinung nach sitzt du da leider einem kleinen Mess- bzw. Anzeigefehler auf, was die realen physikalischen Abläufe angeht.
Die SolarFlow 800er-Pro-Serie hat die Steuerelektronik, die 4 MPPT-Regler und den Wechselrichter komplett in einem Gehäuse integriert.
Dieses Gesamtsystem (inklusive ESP32-Chip, WLAN, Bluetooth und Batterie-Management-System) hat einen permanenten, spürbaren Eigenverbrauch für den reinen Betrieb.Wenn dir die App am Morgen anzeigt, dass mit "10 W" geladen wird, bedeutet das rein physikalisch folgendes:
Deine PV-Module müssen zu diesem Zeitpunkt bereits den kompletten internen Grundverbrauch des Geräts (für CPU, WLAN, BMS-Aktivierung etc.) gedeckt haben. Erst die Leistung, die darüber hinausgeht, bleibt netto übrig und wandert als die von dir gesehenen 10 W in die Batterie.Man darf hier die reine Startspannung der MPPT-Tracker (die beim Pro 2 erfreulicherweise schon ab 14 V liegt) nicht mit der notwendigen Mindestleistung für den Systembetrieb verwechseln.
Ohne dass die PV-Leistung die interne Grundlast des Speichers vorab komplett kompensiert, kann das Gerät weder einspeisen noch laden.
Die Solarmodule müssen real also schon deutlich mehr als 10 W liefern, damit das System überhaupt aus dem Standby erwacht.maxclaudi sagte:
Die SolarFlow 800er-Pro-Serie hat die Steuerelektronik, die 4 MPPT-Regler und den Wechselrichter komplett in einem Gehäuse integriert.
Dieses Gesamtsystem (inklusive ESP32-Chip, WLAN, Bluetooth und Batterie-Management-System) hat einen permanenten, spürbaren Eigenverbrauch für den reinen Betrieb.Wenn dir die App am Morgen anzeigt, dass mit "10 W" geladen wird, bedeutet das rein physikalisch folgendes:
Deine PV-Module müssen zu diesem Zeitpunkt bereits den kompletten internen Grundverbrauch des Geräts (für CPU, WLAN, BMS-Aktivierung etc.) gedeckt haben. Erst die Leistung, die darüber hinausgeht, bleibt netto übrig und wandert als die von dir gesehenen 10 W in die Batterie.Man darf hier die reine Startspannung der MPPT-Tracker (die beim Pro 2 erfreulicherweise schon ab 14 V liegt) nicht mit der notwendigen Mindestleistung für den Systembetrieb verwechseln.
Ohne dass die PV-Leistung die interne Grundlast des Speichers vorab komplett kompensiert, kann das Gerät weder einspeisen noch laden.
Die Solarmodule müssen real also schon deutlich mehr als 10 W liefern, damit das System überhaupt aus dem Standby erwacht.Heute ist bei mir so ein Tag - Regen - trüb.
2400ACpro werden PV-Leistung: 0 angezeigt obwohl 3 Module (420W, 200W, 200W) per DC MC4 angeschlossen sind.
Im Gegensatz Hoymiles:
Jedes einzelne Modul an einem Hoymiles speist mit 9 bis 23W ein. -
update 16.10.26 21:00h
batCalTime zusätzliche Type-Prüfung; fallback 01:00h / control.socCompSwitch ohne Funktion, entferntWer bisher das Script bereits nutzt: Bitte vor Ausführung des Scripts den Datenpunkt:
control.socCompSwitchlöschen.
Alternativ gesamtes Verzeichnis mit allen Datenpunkten (inkl. dp properties etc.) löschen, für zusätzliche Beschreibungen.
Zum aktuellen Skript: HIER KLICKEN
Update: Das zenSDK-Skript ist aktuell.
Wichtigste Änderung bleibt das auto_in_out_Limit (Danke @danitz!).
Da anscheinend noch ein paar ältere Versionen genutzt werden, obwohl es im letzten Skript schon drin war: Bitte updaten!maxclaudi sagte:
update 16.10.26 21:00h
batCalTime zusätzliche Type-Prüfung; fallback 01:00h / control.socCompSwitch ohne Funktion, entferntWer bisher das Script bereits nutzt: Bitte vor Ausführung des Scripts den Datenpunkt:
control.socCompSwitchlöschen.
Alternativ gesamtes Verzeichnis mit allen Datenpunkten (inkl. dp properties etc.) löschen, für zusätzliche Beschreibungen.
Zum aktuellen Skript: HIER KLICKEN
-
aktuell: zenSDK-Steuerungs-Script update 16.10.26 21:00h
In memory of Daisy 02.05.24 – miss you.
Das Projekt wurde komplett neu überarbeitet und auf maximale Effizienz optimiert.
Zendure-Geräte Webserver: Lokale Steuerung über das zenSDK (HTTP)
(In memory of Daisy 02.05.24 – miss you.)Für alle Zendure Geräte mit Webserver (2025/2026):
- SolarFlow 800
- SolarFlow 800 Plus
- SolarFlow 800 Pro
- SolarFlow 800 Pro 2
- SolarFlow 1600 AC+
- SolarFlow 2400 AC
- Solarflow 2400 AC+
- SolarFlow 2400 Pro
- SolarFlow-Mix-Serie
-
Kein Hack: Nutzung der offiziellen zenSDK-Schnittstelle
-
Hardware-Schutz: Fokus auf RAM-Steuerung zur Schonung des Flash-Speichers (Flash-Schutz ist mir wichtig.)
-
Plattformunabhängig: Läuft unter Linux und Windows.
-
Funktion: Das Skript dient als Adapter-Ersatz für jeweils ein Zendure-Gerät.
Es funktioniert sofort und wahlweise komplett lokal oder parallel zu Cloud und App (bei deaktiviertem HEMS).
Außer der IP-Adresse des Zendure-Geräts sind keine weiteren Keys oder Authentifizierungen notwendig.
Ein Wort in eigener Sache - Urheberrecht:
Zum aktuellen zenSDK-Steuerungs-Skript: HIER KLICKEN
- Wer meine Arbeit nützlich findet und sich bedanken möchte:
Ein Klick auf den Pfeil nach oben (unten am Post, neben Zitieren) reicht völlig.
update 26.10.2026; 18:19h
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
• Hinweis zu TLS / Port 8883: Das Tool ist ein reiner Konfigurator per Bluetooth und generiert keine TLS-Zertifikate oder Keys.


zu zURLtool_V20 (c) maxclaudi 2026 - Version 2.0 cdh: HIER KLICKEN
Beschreibung im Spoiler.
historisch: zURLtool V 1.0 dch
Null-Einspeisung JS-Script Basis-Vorlage vom 14. Okt. 2026; 10:04h
einfach gehalten und für Anfänger leicht nachvollziehbar.
Funktioniert mit Zendure-Geräte die 1 bis 6 Batterien verwenden (konfigurierbar) POST #632
HISTORISCH:
20.10.2026; 15:18h Fortsetzung von:
15.10.2026; 16:00 Uhr: Weiterer Bericht zum Betrieb über MQTT-Port 1883 und zenSDK POST #628
Da es dazu weltweit quasi null Infos gibt, dachte ich, ich teile meine bisherigen Erkenntnisse mal auszugsweise als kleinen Bericht mit euch.
Die Fortsetzung ist vermutlich gleichzeitig der Abschluss.
Wer möchte, kann den Bericht im Spoiler lesen;
für alle anderen ist der Beitrag dann kürzer und kann ignoriert werden. :-)
edit 21.10.26; 10:35h
Keine Tester mehr gesucht.
Tester und Nuzer denen ich mit mosquitto broker half, bitte per PM oder email melden. Danke.Testers and users whom I have assisted while they were working with the Mosquitto broker: please get in touch with me via pm or email. Thanks.
-
20.10.2026; 15:18h Fortsetzung von:
15.10.2026; 16:00 Uhr: Weiterer Bericht zum Betrieb über MQTT-Port 1883 und zenSDK POST #628
Da es dazu weltweit quasi null Infos gibt, dachte ich, ich teile meine bisherigen Erkenntnisse mal auszugsweise als kleinen Bericht mit euch.
Die Fortsetzung ist vermutlich gleichzeitig der Abschluss.
Wer möchte, kann den Bericht im Spoiler lesen;
für alle anderen ist der Beitrag dann kürzer und kann ignoriert werden. :-)
edit 21.10.26; 10:35h
Keine Tester mehr gesucht.
Tester und Nuzer denen ich mit mosquitto broker half, bitte per PM oder email melden. Danke.Testers and users whom I have assisted while they were working with the Mosquitto broker: please get in touch with me via pm or email. Thanks.
TLS Verbindung Port: 8883
Das wichtigste Ergebnis vorab:
Der herkömmliche, vorgesehene "Normal-" Betrieb über TLS ist absolut stabil möglich.Kann man den Port über die app Option einfach so einstellen?
Das heißt mit dem läuft alles schneller und über mqtt. Dann bräuchte man Zensdk gar Nicht mehr.
Irgendwie übersteigt das ganze hier jetzt mein können.
-
TLS Verbindung Port: 8883
Das wichtigste Ergebnis vorab:
Der herkömmliche, vorgesehene "Normal-" Betrieb über TLS ist absolut stabil möglich.Kann man den Port über die app Option einfach so einstellen?
Das heißt mit dem läuft alles schneller und über mqtt. Dann bräuchte man Zensdk gar Nicht mehr.
Irgendwie übersteigt das ganze hier jetzt mein können.
TLS Verbindung Port: 8883
Das wichtigste Ergebnis vorab:
Der herkömmliche, vorgesehene "Normal-" Betrieb über TLS ist absolut stabil möglich.Kann man den Port über die app Option einfach so einstellen?
Um es verständlicher zu erklären: Es geht hier um zwei unterschiedliche MQTT-Verbindungen.
Port 1883 ohne TLS:
Man kann den Port 1883 ohne TLS am Gerät und in der App (gewusst wie) freischalten und aktivieren.
Ab dann ist das Gerät über Port 1883 mit einer DNS-Adresse verbunden.
Diese DNS-Adresse muss per AdGuard, Pi-hole oder über einen eigenen DNS-Server auf den lokalen Broker umgebogen werden, wenn man lokal über die Datenpunkte steuern möchte.
Aber bei dieser Verbindung sind zu viele - ich nenne es mal - Möglichkeiten vorhanden und sollte m. M. n. nur kurzzeitig verwendet werden, näher gehe ich darauf nicht ein.
Port 8883 mit TLS:
Das ist der Standard.
So verbindet sich jedes Gerät.
Das Gerät ist über Port 8883 mit einer DNS-Adresse verbunden.
Diese DNS-Adresse kann ebenfalls per AdGuard, Pi-hole oder DNS-Server auf die IP des lokalen Brokers umgebogen werden, wenn man lokal über die Datenpunkte steuern möchte.Alternativ:
Man konfiguriert die Variable für DNS/IP auf dem Gerät mit dem zURLtool um auf den lokalen Broker.
Auf dem lokalen Broker (z.B. Mosquitto) kann zusätzlich eine Bridge eingerichtet werden, damit das Gerät mit der Cloud verbunden bleibt.
Es ist in wenigen Sekunden erledigt, diese Bridge wahlweise abzuschalten oder der Cloud nur Lesezugriffe oder vollen Zugriff zu erlauben.Mit einem lokalen Broker über MQTT ist die Steuerung zuverlässig, stabil und schneller als über die Cloud oder die lokale API (also auch zenSDK).
zenSDK macht nach meinen Analysen und Tests nur einen kleinen Unterschied, solange kein erhöhter HTTP(S)-Traffic im jeweiligen IP-Bereich bzw. Netzwerk vorliegt.
Wenn diese Voraussetzung gegeben ist und ein Abfrageintervall (Get) von etwa 4000 ms stabil möglich ist, kann auch das zenSDK genutzt werden.
Es ist dann nur unwesentlich langsamer als MQTT.Der Grund dafür ist hardwarebedingt.
Auch wenn MQTT durch den schnelleren, automatischen Bericht-Versand (Report Publish) vom Gerät und das schnellere Publizieren neuer Werte klar im Vorteil ist, benötigt das Gerät hardwarebedingt Zeit.
Eine Limit-Umschaltung von inputLimit oder outputLimit braucht beispielsweise Zeit, um den Zielwert vollständig umzusetzen.Einfacher Vergleich:
Du kannst bei einem Auto mit Automatikgetriebe und Turbolader zwar das Gaspedal oder die Bremse voll durchtreten, aber es dauert dennoch eine gewisse Zeit, bis die Höchstgeschwindigkeit oder der Stillstand erreicht sind.Alle Klarheiten beseitigt? ;-)
Das heißt mit dem läuft alles schneller und über mqtt. Dann bräuchte man Zensdk gar Nicht mehr.
Richtig.
zenSDK ist, wie erklärt, unter den passenden Voraussetzungen langsamer als der lokale Broker über MQTT.
Eigentlich ist MQTT vorzuziehen, da hier nicht auf neue Werte gepollt werden muss, sondern diese sofort automatisch publiziert werden.
Zudem kann die lokale API abgeschaltet werden (gewusst wie) und der ESP32-C wird dadurch weiter entlastet.22.10.2026:
ESP32-C, das ist übrigens die Standard-CPU, die verwendet wird und noch nirgendwo offiziell weltweit dokumentiert wurde.Irgendwie übersteigt das ganze hier jetzt mein können.
Jetzt nicht mehr ;-)
Hinweis:
Ich überlege gerade ein MQTT-Steurungs-Script anzupassen, damit es als Ersatz für das zenSDK-Steuerungs-Script verwendet werden kann.
Damit bleiben alle Datenpunkte identisch, wenn man es gleich konfiguriert wie das zenSDK-Steuerungs-Script.
Bei identischer Benennung und Konfiguration, muss man darauf achten dass nur 1 Steuerungs-Script aktiv ist.Bei unterschiedlicher Benennung kann zenSDK und MQTT gleichzeitig, simultan genutzt werden oder auch nur eins von beiden als vorrangiges Steuerungsscripts.
MQTT liefer natürlich einiges mehr an Infos.
-
Vielen Dank für die ausführlichen Antworten.
Dann belasse ich es mal bei der Steuerung über zenSDK.
Ich Kämpfe seit 3 Tagen mit einem Problem wo ich nicht weiß woher das kommt.
Immer um 6.57 Uhr bringt das Script die Meldung Das ich meine IP Adresse überprüfen soll.Und heute hat irgendwie mein Steuerungsscript komplett verrückt gespielt und mal alles ins Netz eingespeist. Das lief bis jetzt ohne Probleme schon eine Weile. Wobei ich heute auch das Firmware Update auf 2
0.5 gemacht habe.War leider arbeiten und konnte nicht schauen warum dies heute so passiert ist.
-
Vielen Dank für die ausführlichen Antworten.
Dann belasse ich es mal bei der Steuerung über zenSDK.
Ich Kämpfe seit 3 Tagen mit einem Problem wo ich nicht weiß woher das kommt.
Immer um 6.57 Uhr bringt das Script die Meldung Das ich meine IP Adresse überprüfen soll.Und heute hat irgendwie mein Steuerungsscript komplett verrückt gespielt und mal alles ins Netz eingespeist. Das lief bis jetzt ohne Probleme schon eine Weile. Wobei ich heute auch das Firmware Update auf 2
0.5 gemacht habe.War leider arbeiten und konnte nicht schauen warum dies heute so passiert ist.
-
@Daniel-8 sagte:
Immer um 6.57 Uhr bringt das Script die Meldung Das ich meine IP Adresse überprüfen soll.Wenn das täglich zur gleichen Uhrzeit vorkommt:
Prüfe mal deinen WLAN-Router oder WLAN-AP, ob dort ein täglicher Neustart konfiguriert ist.Ist nicht immer ganz genau zur gleichen Zeit. So ca. Plus minus 6 Minuten.
Nein habe nichts programmiert. Ich werde mal beobachten. Jetzt ist ja zumindest der Speicher mal neu gestartet mit der neuen Firmware.
Und so werde ich schritt für schritt testen. Habe ja auch nichts verändert. Deswegen verstehe ich es nicht warum es jetzt so ist. -
@Daniel-8 sagte:
Immer um 6.57 Uhr bringt das Script die Meldung Das ich meine IP Adresse überprüfen soll.Wenn das täglich zur gleichen Uhrzeit vorkommt:
Prüfe mal deinen WLAN-Router oder WLAN-AP, ob dort ein täglicher Neustart konfiguriert ist.Ist nicht immer ganz genau zur gleichen Zeit. So ca. Plus minus 6 Minuten.
Nein habe nichts programmiert. Ich werde mal beobachten. Jetzt ist ja zumindest der Speicher mal neu gestartet mit der neuen Firmware.
Und so werde ich schritt für schritt testen. Habe ja auch nichts verändert. Deswegen verstehe ich es nicht warum es jetzt so ist.@Daniel-8 sagte:
Ist nicht immer ganz genau zur gleichen Zeit. So ca. Plus minus 6 Minuten.Nein habe nichts programmiert. Ich werde mal beobachten. Jetzt ist ja zumindest der Speicher mal neu gestartet mit der neuen Firmware.
Und so werde ich schritt für schritt testen. Habe ja auch nichts verändert. Deswegen verstehe ich es nicht warum es jetzt so ist.Ich würde es dennoch nicht ausschließen und überprüfen.
Das gilt vor allem auch für sogenannte Repeater, falls einer im Einsatz ist.Repeater sind für solche Verbindungen nicht optimal.
Besser ist es, einen Access Point (AP) zu verwenden oder den WLAN-Router so nah wie möglich an den Geräten zu platzieren.Ich hatte mal bei einem Bekannten exakt den gleichen Fehler ausfindig gemacht:
Im AP war ab Werk bzw. als Standard ein täglicher Neustart hinterlegt, ohne dass er das selbst aktiviert hatte.
Der AP war nach einem Firmware-Update automatisch auf diesen täglichen Neustart konfiguriert worden. -
Ich habe alles geprüft kein Neustart. Bin noch auf der Suche. Informationen folgen wenn ich näheres weiß.
Der zendure meldet sich auf jedenfall im wlan ab und erst wieder an so sah es zumindest aus, wenn er durch die Sonnenstrahlen geweckt wird.
Als wie er nach einer bestimmten Zeit in einen Tiefschlaf gehen würde. Werde dies beobachten. -
Ich habe alles geprüft kein Neustart. Bin noch auf der Suche. Informationen folgen wenn ich näheres weiß.
Der zendure meldet sich auf jedenfall im wlan ab und erst wieder an so sah es zumindest aus, wenn er durch die Sonnenstrahlen geweckt wird.
Als wie er nach einer bestimmten Zeit in einen Tiefschlaf gehen würde. Werde dies beobachten.@Daniel-8
Könnte Firmwarebedingt sein oder mit dem empfindlichen WLAN des esp zu tun haben.Meine WLAN Verbindung ist eigentlich gut genug:

Dennoch habe ich auch 1x am Tag ein reconnect vom Zendure-Gerät.

LOG:
Der 2400ACpro hat vermutlich in dieser Sekunde kurzzeitig die Verbindung zum Netzwerk verloren.
Beim sofortigen Wiederverbindungsversuch lief die alte Sitzung im Mosquitto-Broker noch, weshalb der Broker die alte Verbindung gekappt hat, um die neue Anmeldung des Geräts zuzulassen.Ich könnte nun auch versuchen herauszufinden, ob zu dieser Uhrzeit (01:35 Uhr) eventuell ein geplanter Neustart des Geräts stattgefunden hat.
Aber weil es so kurz ist und sonst alles tadellos funktioniert, werde ich erst mal nur das LOG im Auge behalten.
-
TLS Verbindung Port: 8883
Das wichtigste Ergebnis vorab:
Der herkömmliche, vorgesehene "Normal-" Betrieb über TLS ist absolut stabil möglich.Kann man den Port über die app Option einfach so einstellen?
Um es verständlicher zu erklären: Es geht hier um zwei unterschiedliche MQTT-Verbindungen.
Port 1883 ohne TLS:
Man kann den Port 1883 ohne TLS am Gerät und in der App (gewusst wie) freischalten und aktivieren.
Ab dann ist das Gerät über Port 1883 mit einer DNS-Adresse verbunden.
Diese DNS-Adresse muss per AdGuard, Pi-hole oder über einen eigenen DNS-Server auf den lokalen Broker umgebogen werden, wenn man lokal über die Datenpunkte steuern möchte.
Aber bei dieser Verbindung sind zu viele - ich nenne es mal - Möglichkeiten vorhanden und sollte m. M. n. nur kurzzeitig verwendet werden, näher gehe ich darauf nicht ein.
Port 8883 mit TLS:
Das ist der Standard.
So verbindet sich jedes Gerät.
Das Gerät ist über Port 8883 mit einer DNS-Adresse verbunden.
Diese DNS-Adresse kann ebenfalls per AdGuard, Pi-hole oder DNS-Server auf die IP des lokalen Brokers umgebogen werden, wenn man lokal über die Datenpunkte steuern möchte.Alternativ:
Man konfiguriert die Variable für DNS/IP auf dem Gerät mit dem zURLtool um auf den lokalen Broker.
Auf dem lokalen Broker (z.B. Mosquitto) kann zusätzlich eine Bridge eingerichtet werden, damit das Gerät mit der Cloud verbunden bleibt.
Es ist in wenigen Sekunden erledigt, diese Bridge wahlweise abzuschalten oder der Cloud nur Lesezugriffe oder vollen Zugriff zu erlauben.Mit einem lokalen Broker über MQTT ist die Steuerung zuverlässig, stabil und schneller als über die Cloud oder die lokale API (also auch zenSDK).
zenSDK macht nach meinen Analysen und Tests nur einen kleinen Unterschied, solange kein erhöhter HTTP(S)-Traffic im jeweiligen IP-Bereich bzw. Netzwerk vorliegt.
Wenn diese Voraussetzung gegeben ist und ein Abfrageintervall (Get) von etwa 4000 ms stabil möglich ist, kann auch das zenSDK genutzt werden.
Es ist dann nur unwesentlich langsamer als MQTT.Der Grund dafür ist hardwarebedingt.
Auch wenn MQTT durch den schnelleren, automatischen Bericht-Versand (Report Publish) vom Gerät und das schnellere Publizieren neuer Werte klar im Vorteil ist, benötigt das Gerät hardwarebedingt Zeit.
Eine Limit-Umschaltung von inputLimit oder outputLimit braucht beispielsweise Zeit, um den Zielwert vollständig umzusetzen.Einfacher Vergleich:
Du kannst bei einem Auto mit Automatikgetriebe und Turbolader zwar das Gaspedal oder die Bremse voll durchtreten, aber es dauert dennoch eine gewisse Zeit, bis die Höchstgeschwindigkeit oder der Stillstand erreicht sind.Alle Klarheiten beseitigt? ;-)
Das heißt mit dem läuft alles schneller und über mqtt. Dann bräuchte man Zensdk gar Nicht mehr.
Richtig.
zenSDK ist, wie erklärt, unter den passenden Voraussetzungen langsamer als der lokale Broker über MQTT.
Eigentlich ist MQTT vorzuziehen, da hier nicht auf neue Werte gepollt werden muss, sondern diese sofort automatisch publiziert werden.
Zudem kann die lokale API abgeschaltet werden (gewusst wie) und der ESP32-C wird dadurch weiter entlastet.22.10.2026:
ESP32-C, das ist übrigens die Standard-CPU, die verwendet wird und noch nirgendwo offiziell weltweit dokumentiert wurde.Irgendwie übersteigt das ganze hier jetzt mein können.
Jetzt nicht mehr ;-)
Hinweis:
Ich überlege gerade ein MQTT-Steurungs-Script anzupassen, damit es als Ersatz für das zenSDK-Steuerungs-Script verwendet werden kann.
Damit bleiben alle Datenpunkte identisch, wenn man es gleich konfiguriert wie das zenSDK-Steuerungs-Script.
Bei identischer Benennung und Konfiguration, muss man darauf achten dass nur 1 Steuerungs-Script aktiv ist.Bei unterschiedlicher Benennung kann zenSDK und MQTT gleichzeitig, simultan genutzt werden oder auch nur eins von beiden als vorrangiges Steuerungsscripts.
MQTT liefer natürlich einiges mehr an Infos.
Ich überlege gerade ein MQTT-Steurungs-Script anzupassen, damit es als Ersatz für das zenSDK-Steuerungs-Script verwendet werden kann.
ja Bitte, und da gleich noch die Berechnung Energie- Tages-, Wochen-, Monats- Jahres-ertrag mit rein.
Ich weis, der Sourceanalytix kann das, ist aber immer noch BETA.
Peter
-
Ich überlege gerade ein MQTT-Steurungs-Script anzupassen, damit es als Ersatz für das zenSDK-Steuerungs-Script verwendet werden kann.
ja Bitte, und da gleich noch die Berechnung Energie- Tages-, Wochen-, Monats- Jahres-ertrag mit rein.
Ich weis, der Sourceanalytix kann das, ist aber immer noch BETA.
Peter
Ich überlege gerade ein MQTT-Steurungs-Script anzupassen, damit es als Ersatz für das zenSDK-Steuerungs-Script verwendet werden kann.
ja Bitte,
Soweit fertig.
Das MQTT-JS-Steuerungsskript (mqttSteuerung_zenSDK_Angleich.js) ist fertig und liefert einige Datenpunkte (Möglichkeiten) mehr. Struktur und Datenpunkte sind ansonsten exakt identisch mit dem zenSDK-JS-Steuerungsskript.und da gleich noch die Berechnung Energie- Tages-, Wochen-, Monats- Jahres-ertrag mit rein.
Dazu habe ich ein separates JS-Skript (zendure_energy.js) geschrieben, damit es wahlweise genutzt werden kann. Die Datenpunkte liefern die Werte direkt in ioBroker. Zusätzlich kann man aktivieren, dass die Werte in CSV-Dateien geschrieben und gesichert werden – aufgeteilt nach Tag, Monat und Jahr.
Das Skript funktioniert, sollte jedoch dauerhaft aktiv sein, da die Werte sonst unvollständig sind. Das CSV-Format bietet sich ideal für den Import in Excel, Grafana oder andere Systeme an.Bitte melde dich mal bei mir.
-
zURLtool V 1.0 dch – Lokaler MQTT-Broker für Zendure 2026
Hallo zusammen,das zURLtool V 1.0 dch ist nun fertig!
Ich habe in den letzten Monaten eine eigene Bibliothek sowie eine komfortable grafische Oberfläche (GUI) für Windows entwickelt.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 (wie dem Solarflow Bluetooth Manager oder dem zendure-cloud-disconnector).
Technische Voraussetzungen & Basis:
Das Programm nutzt zur Kommunikation ausschließlich die offiziellen Windows-BT-Treiber ab Windows 11 und die integrierte Bluetooth-Bibliothek bleak:
LICENSE NOTICE FOR THE UTILIZED BLUETOOTH LIBRARY
This program uses "bleak" for Bluetooth functionality.
https://github.com
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 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 (zURLtool.zip):
Das ZIP-Archiv enthält genau drei Dateien, die zwingend im selben Ordner liegen bleiben müssen:- zURLtool_GUI.exe (Größe: ca. 11.6 MB / 11.921 KB)
- config.ini (Konfigurationsdatei für eure Zugangsdaten)
- ReadMe_zURLtool.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 Konfigurations-Variablen 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.
Warum ist das Programm Closed Source?
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.
edit/update 16.08.26 Freigabe vereinfacht.
Der Freischalt-Ablauf:
Vor dem ersten Start muss 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.

Bilder im Spoiler sagen mehr als Worte, ich denke die Screenshots sind selbsterklärend:
WICHTIGER HINWEIS ZU DEN NEUEN GERÄTEN ODER NEUER FIRMWARE (TLS/Port 8883):
Dieses Tool ist ein reines Konfigurations-Werkzeug und schreibt via Bluetooth ausschließlich die WLAN-Daten und die Broker-URL im Gerät um.
Das Tool generiert KEINE TLS-Zertifikate oder Keys!Um die Bereitstellung der passenden Verschlüsselung auf eurem lokalen MQTT-Broker müsst ihr euch zwingend selbst kümmern.
Wer hierzu Fragen hat: Das Internet und bekannte Foren helfen zu verschlüsselten Mosquitto-Brokern weiter.Von mir wird es dazu keinen Support und keine Zertifikats-Dateien geben.
Viel Spaß mit dem zURLtool!
DOWNLOAD & ENTPACK-ANLEITUNG
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.


Beschreibung im Spoiler.
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. -
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.


Beschreibung im Spoiler.
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.Download zURLtoolV20.zip in 4 Teilen.
Teil 1v4:Achtung: Falls die Datei nach dem Download einen anderen Namen als zURLtoolV20.zip hat, benenne sie bitte entsprechend um.
Es kann und soll gerne ein Virenscan erfolgen!HINWEIS ZUM ENTPACKEN (MEHRTEILIGES ARCHIV):
Das Programmpaket ist auf 4 Teile aufgeteilt. Bitte verwende zum Entpacken
ein vollwertiges Packprogramm wie 7-Zip, WinRAR oder Bandizip. Das integrierte Windows-eigene ZIP-Programm kann mehrteilige Archive NICHT korrekt zusammensetzen und führt zu Fehlfunktionen oder Fehlermeldungen beim Entpacken! -
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.


Beschreibung im Spoiler.
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.Download zURLtoolV20.zip in 4 Teilen.
Teil 2v4:Achtung: Falls die Datei nach dem Download einen anderen Namen als zURLtoolV20.z01 hat, benenne sie bitte entsprechend um.
Es kann und soll gerne ein Virenscan erfolgen!HINWEIS ZUM ENTPACKEN (MEHRTEILIGES ARCHIV):
Das Programmpaket ist auf 4 Teile aufgeteilt. Bitte verwende zum Entpacken
ein vollwertiges Packprogramm wie 7-Zip, WinRAR oder Bandizip. Das integrierte Windows-eigene ZIP-Programm kann mehrteilige Archive NICHT korrekt zusammensetzen und führt zu Fehlfunktionen oder Fehlermeldungen beim Entpacken! -
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.


Beschreibung im Spoiler.
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.Download zURLtoolV20.zip in 4 Teilen.
Teil 3v4:Achtung: Falls die Datei nach dem Download einen anderen Namen als zURLtoolV20.z02 hat, benenne sie bitte entsprechend um.
Es kann und soll gerne ein Virenscan erfolgen!HINWEIS ZUM ENTPACKEN (MEHRTEILIGES ARCHIV):
Das Programmpaket ist auf 4 Teile aufgeteilt. Bitte verwende zum Entpacken
ein vollwertiges Packprogramm wie 7-Zip, WinRAR oder Bandizip. Das integrierte Windows-eigene ZIP-Programm kann mehrteilige Archive NICHT korrekt zusammensetzen und führt zu Fehlfunktionen oder Fehlermeldungen beim Entpacken!
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




