NEWS
Test Adapter Zendure Solarflow
-
Könnt ihr mal schauen was der Adapter davor und danach so berichtet? Etwas mehr Kontext wäre hilfreich 🙃
@nograx habe mal debug laufen lassen und den Adapter gestartet:
2025-12-04 10:38:28.174 - info: zendure-solarflow.0 (9807) starting. Version 3.1.1 in /opt/iobroker/node_modules/iobroker.zendure-solarflow, node: v22.21.1, js-controller: 7.0.7 2025-12-04 10:38:28.254 - debug: zendure-solarflow.0 (9807) [onReady] Using Authorization Cloud Key 2025-12-04 10:38:28.641 - error: zendure-solarflow.0 (9807) [object Object] 2025-12-04 10:38:28.643 - debug: zendure-solarflow.0 (9807) [initAdapter] Init adapter in mqttSharedService!und im warn modus immer wieder:
zendure-solarflow.0 2025-12-04 10:44:44.425 warn State "zendure-solarflow.0.BC8B7F.BnaktPHM.pvPower4" has no existing object, this might lead to an error in future versions zendure-solarflow.0 2025-12-04 10:44:44.424 warn State "zendure-solarflow.0.BC8B7F.BnaktPHM.pvPower3" has no existing object, this might lead to an error in future versions zendure-solarflow.0 2025-12-04 10:44:44.406 warn State "zendure-solarflow.0.BC8B7F.BnaktPHM.smartMode" has no existing object, this might lead to an error in future versions -
bei mir sieht das so aus, der Error wiederholt sich alle 5 Min. "Reconnect lagt wohl an der W-Lan Verbindung"
Also Fehler tritt nur nach dem login auf.Hyper 2000 und jetzt noch SF800 pro.
Der Fehler kommt gleich nach dem Token login.2025-12-04 20:30:18.599 debug [onReady] Creating 2 devices...
zendure-solarflow.0
2025-12-04 20:30:18.593 debug [checkStatesJob] Starting check of states and connection!
zendure-solarflow.0
2025-12-04 20:30:18.526 debug [connectCloudMqttClient] Connecting to MQTT broker mq.zen-iot.com:1873...
zendure-solarflow.0
2025-12-04 20:30:18.526 debug [initAdapter] Init adapter in mqttSharedService!
zendure-solarflow.0
2025-12-04 20:30:18.526 error [object Object]
zendure-solarflow.0
2025-12-04 20:30:17.989 debug [onReady] Using Authorization Cloud Key
zendure-solarflow.0
2025-12-04 20:30:17.951 info starting. Version 3.1.1 (non-npm: nograx/ioBroker.zendure-solarflow#0686557453c17fc0992c2) in /opt/iobroker/node_modules/iobroker.zendure-solarflow, node: v20.19.4, js-controller: 7.0.7LG
BMGS -
bei mir im warn Modus, alle 5 min.: "Reconnect lagt wohl an der W-Lan Verbindung"
zendure-solarflow.0
2025-12-04 20:50:52.264 error [object Object]
zendure-solarflow.0
2025-12-04 20:50:20.019 warn Restart initiated
zendure-solarflow.0
2025-12-04 20:50:00.017 warn [checkStatesJob] Last update for deviceKey exxxxW was at Thu Dec 04 2025 20:16:19 GMT+0100 (Central European Standard Time), device seems to be online - so maybe connection is broken - restart adapter in 20 seconds!BMGS
-
Hallo, ich lese hier schon einige Zeit mit. Vielen Dank an alle die hier ihr Wissenteilen!
Ich habe einen Hyper2000 mit zwei Akku's.
Versuche schon seit Tagen von der Cloud wegzukommen (mit dem ZendureCloudDisconnector) klappt aber nicht. Aber das ist ein anderes Thema.
Was mir aber aktuell den Schlaf raubt ist der Fakt, dass wenn ich über "SetInputLimit" oder SetOutputLimit" einen wert vorgebe dieser immer mit dem Max-Wert "1200W" überschrieben wird.
Habe dann eine Rollback von der 2.0.4 Version auf die 1.15.4 gemacht und letztlich jetzt die 3.1.1 installiert
Leider ohne Erfolg.
Allerding scheinen jetzt die log-Ausgaben detaillierter zu sein.
Wenn ich einen Wert setze kommen folgende Log-Info's:

Woher kommt die -1200? Und warum ist dann am Ende im "SetInputLimit" DAtenpunkt ein 1200W drin?
-
@surfing.micha
Habe den Fehler auch....
Das ist wieder was für @nograx
Datei:
"Hyper2000.js"
Zeile:
this.maxInputLimit = -1200;
Korrektur:
this.maxInputLimit = 1200;P.S.:
Dann gibt es allerdings Probleme mit dem "Smart Matching Mode"
Also ist das so noch nicht die Lösung -
@surfing.micha
Da kann ich glaube helfen.
Bei setInputLimit und setOutputLimit gibt man Werte größer Null ein. AC-Mode 1 oder 2 Automodel 0.
Bei setDeviceInOutLimit gibt man für Laden -Werte und für Einspeisen +Werte ein. AC-Mode 0 und Automodel 8
So bekomme ich mit der Vers. 2.04 keine Fehler, allerdings offline ohne Cloud.
Schau mal dass in der App alles auf Aus steht, sonst funzt die Steuerung über den Adapter nicht. -
@murphy-0
Ja richtig, beim Hyper ist aber der Fehler drin das entweder der "Smart Matching Mode" funktioniert oder der "AC Mode"
Aktuell funktioniert nur der "Smart Matching Mode"
@nograx
Es gibt da noch in diesem Bereich ein Problem bei negativen Werten (wenn this.maxInputLimit = positiv) :
if (limit < 0) {
if (limit < this.maxInputLimit) {
limit = this.maxInputLimit;
}
} else {
if (limit > this.maxOutputLimit) {
limit = this.maxOutputLimit;
}
}Im "Smart Matching Mode" wird beim Hyper aus z.B. -200 dann limit=1200
Ich hab dann hier bei "this.maxInputLimit * -1" eingetragen.
Und dann funktionieren wieder beide Methoden.
Das bedeutet aber das bei den anderen Geräten das wohl auch nicht richtig ist? -
@surfing.micha
Habe den Fehler auch....
Das ist wieder was für @nograx
Datei:
"Hyper2000.js"
Zeile:
this.maxInputLimit = -1200;
Korrektur:
this.maxInputLimit = 1200;P.S.:
Dann gibt es allerdings Probleme mit dem "Smart Matching Mode"
Also ist das so noch nicht die LösungDanke dir!
Habe bei mir das Minus weggenommen und jetzt wird mein Wert nicht gleich mit 1200 überschrieben.
Sieht man auch in den logs.
Allerdings habe ich immer noch das Problem, dass nach dem Setzen von SetInputLimit der Datenpunkt mit 1200 überschrieben wird.
Dabei taucht allerdings keine Meldung in den Logs auf. Wenn ich dann meinen alten Wert (z.B. 200) drüber schreibe geht das Spiel nochmal 1 bis 2 mal, dann wird meine 200 genommen und auch eingestellt.
Das passiert allerdings immer wieder wenn ich einen neuen Sollwert vorgebe.
Sieht aus, als ob die 1200 von einer anderen Quelle kommt.
Ich habe aber in der App keinen Modus aktiv und ich bin in der App abgemeldet.

-
Ach so eine Frage noch zum "Smart Matching Mode". Da habe ich mir auch schon die Zähne ausgebissen.
Wenn ich "setDeviceAutomationInOutLimit" setze (z.B. auf 100) wird der Wert gesetzt.
AutoModle bleibt aber auf 0.
Wenn ich dann einen neuen Wert setze (z.B. 0 oder dann -100) passiert nichts.
Der alte Wert bleibt gesetzt (ich meine den tatsächlichen Entladewert "outputHomePower" und nicht den Control)
AutoModel bleibt auch immer 0.
Schreibe ich einen neuen Wert in "setDeviceAutomationInOutLimit" wird AutoModel wieder "0".
Ich dachte "AutoModel" wir automatisch beim setzen von "setDeviceAutomationInOutLimit" auf 8 gesetzt und bleibt da.
Ich bekomme das nur weg, wenn icg den ACMode aktiv setze. -
@surfing.micha
Benutze die Version 2.04. Funktioniert beim Hyper perfekt.
acMode auf 0 setzen.
autoModel auf 8 (smart matching mode) setzen.
So lange du nun setDeviceAutomationInOutLimit mit + oder - Werten benutzt sollten diese beiden Einstellung unverändert bleiben.
Wenn so etwas dazwischen funkt ist es die App. Bedenke, dass zweitweise die Zendure Cloud spinnt und die Einstellungen in der App oder im Adapter nicht aktualisiert werden.Deswegen hatte ich mir zur Kontrolle einen Shelly em am Hyper in den Stromanschluß installiert.
Seit ich offline bin gibt es dieses Problem nicht mehr. -
@surfing.micha
Benutze die Version 2.04. Funktioniert beim Hyper perfekt.
acMode auf 0 setzen.
autoModel auf 8 (smart matching mode) setzen.
So lange du nun setDeviceAutomationInOutLimit mit + oder - Werten benutzt sollten diese beiden Einstellung unverändert bleiben.
Wenn so etwas dazwischen funkt ist es die App. Bedenke, dass zweitweise die Zendure Cloud spinnt und die Einstellungen in der App oder im Adapter nicht aktualisiert werden.Deswegen hatte ich mir zur Kontrolle einen Shelly em am Hyper in den Stromanschluß installiert.
Seit ich offline bin gibt es dieses Problem nicht mehr.Dann muss ich das Thema "Cloud Disconnect" nochmal angehen.
Hat halt leider bisher nicht funktioniert.Gibt es eine Möglichkeit zu "sehe" ob der das Zendure-Gerät (in dem Fall Hyper2000) auch wirklich die url für den MQTT-Server von Zendure-Cloud auf local gesetzt hat?
Ich habe es mit dem ZendureCloudDisconnector.exe tool versucht.
Er findet meinen Hyper und wenn ich "Get Telemetry" klicke kommt auch ein O.K. bei Paired, BLE Service und GATT Characteristics.
Dann trage ich die Daten meines lokalen MQTT-Servers ein.
Nach Klicken auf Connect to (local) MQTT wird das auch erfolgreich quittiert.
Wenn ich dann am Hyper den Knopf 10s drücke für den Reset bekomme ich auch im IO-Broker keine Daten mehr und der Zeitstempel vom Alive bleibt stehen.
Wenn ich mit dem MQTT-Explorer meine MQTT-Server-Instanz prüfe, tauchen die Zendure properties aber nicht auf.
Als MQTT-Server verwende ich den IO-Broker-MQTT-Adapter -
Dann muss ich das Thema "Cloud Disconnect" nochmal angehen.
Hat halt leider bisher nicht funktioniert.Gibt es eine Möglichkeit zu "sehe" ob der das Zendure-Gerät (in dem Fall Hyper2000) auch wirklich die url für den MQTT-Server von Zendure-Cloud auf local gesetzt hat?
Ich habe es mit dem ZendureCloudDisconnector.exe tool versucht.
Er findet meinen Hyper und wenn ich "Get Telemetry" klicke kommt auch ein O.K. bei Paired, BLE Service und GATT Characteristics.
Dann trage ich die Daten meines lokalen MQTT-Servers ein.
Nach Klicken auf Connect to (local) MQTT wird das auch erfolgreich quittiert.
Wenn ich dann am Hyper den Knopf 10s drücke für den Reset bekomme ich auch im IO-Broker keine Daten mehr und der Zeitstempel vom Alive bleibt stehen.
Wenn ich mit dem MQTT-Explorer meine MQTT-Server-Instanz prüfe, tauchen die Zendure properties aber nicht auf.
Als MQTT-Server verwende ich den IO-Broker-MQTT-AdapterWichtig dabei ist, dass der Broker also dein IoBroker Adapter hierfür den Standardport also 1883 und kein Auth verwendet, dann sollte es eigentlich klappen. Ggf mal die Einstellungen vom Broker checken. Wenn du es nur mal probieren möchtest, empfehle ich das per DNS Umschreibung zu machen. Ich hatte die Geräte Monate lang per Disconnector hart getrennt aber habe es mittlerweile wieder auf DNS Umschreibung geändert. Der Vorteil ist, dass man aus der Ferne mal schnell wechseln kann, wenn es nötig ist. Nutze hierfür AdGuard als Dienst und als Broker läuft bei mir EMQX als dedizierte Instanz.
-
Nach Ausführen des Cloud Disconnectors habe ich bei mir die Taste am Hyper 6 sec. gedrückt zum ausschalten.
Danach habe ich den Netzstecker gezogen und den Hyper paar Minuten vom Akku getrennt.
Dann in umgekehrter Reihenfolge wieder zusammen bauen.
Als letztes 2 Sec die Taste für einschalten gedrückt.So hat es bei mir nur Sekunden gedauert bis am Mosquitto die ersten Daten kamen. Benutzer und PW habe ich am Mosquitto nicht gesetzt.
Mit 10 Sec Taste drücken hatte ich es auch versucht, auch ohne Erfolg.
Danach musste ich dann mit der App den Hyper wieder am Zendure Server anmelden.Wenn du Online über den Zendure Server die Verbindung herstellen willst brauchst du mit der Vers. 2.04 einen 2.Account bei Zendure.
Den schaltest du in der App dann frei. Diesen Account benutzt du dann für die App. Hatten wir hier vor einiger Zeit als erfolgreiche Lösung. -
Nach Ausführen des Cloud Disconnectors habe ich bei mir die Taste am Hyper 6 sec. gedrückt zum ausschalten.
Danach habe ich den Netzstecker gezogen und den Hyper paar Minuten vom Akku getrennt.
Dann in umgekehrter Reihenfolge wieder zusammen bauen.
Als letztes 2 Sec die Taste für einschalten gedrückt.So hat es bei mir nur Sekunden gedauert bis am Mosquitto die ersten Daten kamen. Benutzer und PW habe ich am Mosquitto nicht gesetzt.
Mit 10 Sec Taste drücken hatte ich es auch versucht, auch ohne Erfolg.
Danach musste ich dann mit der App den Hyper wieder am Zendure Server anmelden.Wenn du Online über den Zendure Server die Verbindung herstellen willst brauchst du mit der Vers. 2.04 einen 2.Account bei Zendure.
Den schaltest du in der App dann frei. Diesen Account benutzt du dann für die App. Hatten wir hier vor einiger Zeit als erfolgreiche Lösung.Danke für den Tip.
Scheinbar funktioniert der (soft) Reset mit 10s nicht wirklich.
Jetzt kommen die Topics auf dem IO-Broker MQTT-Adapter rein.

Und es scheint sich auch der Zendure-Adapter auf die Topics zu connecten

Allerdings werden die Datenpunkte nicht aktualisiert.
Die Neu gesetzten sind rot und der Zeitstempel ist von bevor ich von der Cloud auf lokal umgestellt habe:

Muss ich hier noch was setzen oder anders konfigurieren?
-
Verbinde dich mal mit einem mptt Browser auf deinen mqtt Server.
Auf ipad benutze ich dafür den mqttAnalyzer. Auf dem PC gibts den mqtt Explorer.
Schau ob dort Daten vom Hyper ankommen.Stelle autoModel auf 8.
Dann gib mal bei setDeviceAutomationInOutLimit einen -Wert ein und schau was passiert!Ach ja, den Adapter hast du auf Lokal umgestellt? Das habe ich mal vergessen und ne Stunde lang gesucht was los ist 😩
-
@surfing.micha
Wenn du im Adapter im Controlbereich z.B. dischargeLimit änderst muss das im mqtt Browser ankommen