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


Der augsang ist Temp geregelt und fängt ab 40°C Spannung auszugeben... Hatte im Sommer (als es so heiss war) die Möglichkeit viel zu testen...
"Einfach" 3 alte (ich meine es sind 80ger) PC Lüfter Parallel angeschlossen (Wago)... funktioniert super
-
@mabbi sagte in Zendure SmartMode:1 SolarFlow2400 AC SolarFlow800 ( u. Pro):
Ohne aktive Kühlung regelt der AC2400 ab plus 65°
Sensor/hyperTmpdie Ladeleistung runter, habe hier schon Werte bis zu 15% Ladeleistungs-Reduktion gesehen. Der Kühlkörper wird dann schon ziemlich heiß und die Wärme zieht an der Aussenhaut spürbar bis in den ersten Akkublock unter dem Wechselrichter runter.
Da dies langfristig für die Elektronik Temperaturen sind, die ich als nicht lebensdauerförderlich ansehe, habe ich an den gesteuerten Lüfter-Ausgangsstecker direkt am Wechselrichter einen Lüfter angeschlossen.
Nun hält der Wechselrichter grob die 40-41° maximal ein.
Das der Sensorwert wahrscheinlich nur punktuell irgendwo im Wechselrichter gemessen wird ist mir klar, aber besser irgendwie Kühlen als stumpf Abkochen denke ich.Frage:
Besteht die MöglichkeitelectricFanStatenoch mit in die mqtt Datenpunkte (Sensor) aufzunehmen ?
Dann könnte ich anhand von dem Wert und noch zu erwartender Solarleistung (Schätzung) eventuell die Ladeleistung des Akkus reduzieren, wenn der Tag noch genug Sonne bringt.
Und eine Visualisierung wäre damit auch einfacher machbar.In dem mir gesendetem Log des SF2400AC ist kein Datenpunkt
electricFanState enthalten:LOG SF2400AC : { "timestamp": 17601XXXXX, "messageId": 4, "sn": "HOXXXXXXXXXXXXX", "version": 2, "product": "solarFlow2400AC", "properties": { "heatState": 0, "packInputPower": 351, "outputPackPower": 0, "outputHomePower": 351, "remainOutTime": 490, "packState": 2, "electricLevel": 38, "gridInputPower": 0, "solarInputPower": 0, "solarPower1": 0, "solarPower2": 0, "solarPower3": 0, "solarPower4": 0, "solarPower5": 0, "solarPower6": 0, "pass": 0, "reverseState": 0, "socStatus": 0, "hyperTmp": 3131, "gridOffPower": 0, "dcStatus": 1, "pvStatus": 0, "acStatus": 1, "dataReady": 1, "gridState": 1, "BatVolt": 4911, "socLimit": 0, "writeRsp": 0, "acMode": 2, "inputLimit": 0, "outputLimit": 351, "socSet": 1000, "minSoc": 100, "gridStandard": 0, "gridReverse": 2, "inverseMaxPower": 2400, "lampSwitch": 1, "gridOffMode": 2, "IOTState": 2, "fanSwitch": 1, "fanSpeed": 0, "bindstate": 0, "VoltWakeup": 0, "OldMode": 0, "OTAState": 0, "LCNState": 0, "factoryModeState": 0, "ts": 1760198737, "tsZone": 14, "smartMode": 1, "chargeMaxLimit": 2400, "phaseSwitch": 1, "packNum": 3, "rssi": -49, "is_error": 0 }, "packData": [ { "sn": "FO4XXXXXXXXXXXXX3", "packType": 5, "socLevel": 38, "state": 2, "power": 127, "maxTemp": 3051, "totalVol": 4910, "batcur": 65510, "maxVol": 327, "minVol": 327, "softVersion": 4103, "heatState": 0 }, { "sn": "FO4XXXXXXXXXXXXXX", "packType": 5, "socLevel": 38, "state": 2, "power": 157, "maxTemp": 2991, "totalVol": 4920, "batcur": 65504, "maxVol": 328, "minVol": 328, "softVersion": 4103, "heatState": 0 }, { "sn": "FO4XXXXXXXXXXXXXX", "packType": 5, "socLevel": 38, "state": 2, "power": 176, "maxTemp": 3011, "totalVol": 4910, "batcur": 65500, "maxVol": 327, "minVol": 327, "softVersion": 4103, "heatState": 0 } ] }Das sind die relevanten Werte für den Lüfter beim SF2400AC
"fanSwitch": 1, "fanSpeed": 0,und müssten schon automatisch angelegt worden sein unter:
0_userdata.0.zendure.HOXXXXXXXXXXXXX.solarFlow2400AC.propertiesBei anderen Modellen wie dem SF800(Pro) heißen sie leicht anders:
Fanmode und Fanspeed.
Diese Werte werden – sofern vom Gerät korrekt übertragen – automatisch unter properties angelegt und regelmäßig aktualisiert.
Wenn sie sich aber nicht verändern oder falsche Werte liefern, liegt das Problem in der Firmware des Geräts oder daran, dass diese Parameter dort (noch) nicht unterstützt werden.
Das kann man über ioBroker oder das Script nicht beeinflussen.
Bekannte Werte:
- fanSwitch / Fanmode: vermutlich 0 = aus, 1 = an
- fanSpeed / Fanspeed: evtl. Drehzahl oder Stufe (muss man selbst beobachten)
Am einfachsten:
Datenpunkte loggen und prüfen, wann und ob sich Werte ändern.
In den meisten Fällen steht 0 für "aus".
Zur MQTT-Frage:
Die Daten kommen nicht über MQTT, sondern über HTTP (zenSDK).
Dein Wunsch, die Werte zusätzlich in den MQTT-Datenpunkten sichtbar zu machen, ist grundsätzlich möglich – aber nur kosmetisch sinnvoll.
Man könnte sie zwar per Script zusätzlich publishen, aber das würde die klare Trennung zwischen HTTP- und MQTT-Kommunikation verwischen.
Wenn du MQTT brauchst, lieber ein kleines Zusatzscript oder Blockly verwenden, das bei Änderungen von fanSwitch oder fanSpeed einen MQTT-Topic publisht.
Dann bleibt die Struktur sauber.
Wobei ich denke, dass die 2 states auch über mqtt published werden (?).
Hinweis:
Die Aktualisierung dieser Lüfter-Datenpunkte scheint ohnehin nicht zuverlässig zu funktionieren.
Siehe z. B. das offizielle Issue:
"fanSwitch":1,"fanSpeed":0 not working #21
Ob das so ist und/oder gefixt wurde, weiß ich nicht.
Workaround:
Wenn du unabhängig von Zendure die Temperatur-bedingte Lüfter- und Leistungssteuerung realisieren willst, bietet sich ein einfacher ESP mit Relais (z. B. Tasmota) an:- hyperTmp per Script auswerten
- ab z. B. ≥ x °C Lüfter einschalten
- ggf. Ladeleistung reduzieren
- unter x °C Lüfter wieder ausschalten / Leistung freigeben
So bist du nicht auf Zendure-Werte angewiesen.
-
@maxclaudi sie werden über (das offizielle) MQTT nicht ausgegeben
-
@schimi
Ok.
Aber unter properties über mein script muss es vorhanden sein(?).edit/PS: ich würde dennoch das über ein script mit Tasmota+Relais realisieren oder so wie Du über den Ausgang für den Lüfter.
Bei mir laufen die Lüfter im Sommer astronomisch mit Zeitversatz auf volle Leistung bis zum Sonnenuntergang.
Im Winter gar nicht, außer Temp ist zu hoch.
Temp kann man vom Datenpunkt nehmen und selbst eine Hysterese zum ein-/ausschalten bestimmen.
Regeln der Drehzahl ist für mich nicht wichtig. Volle Leistung. Lieber zu kühl als zu warm. -
ohne viel zu basteln ist das ganze schnell und günstig umgesetzt.
Beispiel:
-
Smarte Steckdose Shelly oder Tasmota geflasht
gibt's auch fertig z. B. Tasmota Steckdose NOUS A1T -
Netzteil DC 12V oder 5V je nach Lüfter >= 2A
damit man für Lüftererweiterungen gerüstet ist.
Netzteil sollte dauerhaft auch nicht mit >= 80% der maximal Leistung belastet werden.
z. B. 12V DC Netzteil mit 3A
oder 5V DC 3A
beide Netzteile haben gleich einen Schraubklemmen-Adapter dabei um nur noch (+) und GND (-) mit den Lüftern zu verbinden. -
passende Lüfter dazu je nachdem für 5V oder 12V.
z.B. 12V DC: Wathai 120mm x 25mm 12V
oder 5V DC: Wathai 2 in 1 USB Lüfter 120 mm Doppelter 5V PC Ventilator
Steckdose über webui mqtt einrichten. Fertig.
Danach ein Blockly oder script.
Das ganze dauert nicht mal 30min
-
-
@maxclaudi ja... über dein Skript werden die werte angezeigt
-
Bin echt froh das du das Script entwickelt hast. Mein solarflow800Pro schaltet öfter mal am Tag auf smartMode 0 um. Ich habe noch nicht herausgefunden warum und was das auslöst. Aber dank Überwachung schaltet er ja wieder auf 1.
Habe ihn vor ein paar Tagen den Zugang zum Internet gesperrt. Eventuell zickt er Da rum wenn er nicht mehr mit der cloud verbunden ist.
-
@daniel-8
Das wird vermutlich nur abhängig sein, welche(n) Mode du benutzt.
Leider kann ich das nicht analysieren, weißt ja - kein neues Gerät vorhanden. -
... bin vor einiger Zeit schon den 1-click-way gegangen, da waren die Teile gerade mal stark reduziert:

-
@maxclaudi sagte in Zendure SmartMode:1 SolarFlow2400 AC SolarFlow800 ( u. Pro):
@daniel-8
Das wird vermutlich nur abhängig sein, welche(n) Mode du benutzt.
Leider kann ich das nicht analysieren, weißt ja - kein neues Gerät vorhanden.Was meinst du mit welchen Mode? Ich wüsste nicht wo ich einen Mode verstellen kann.
-
@daniel-8
Das sind die verschiedenen Energy Plan (Energiepläne), die es in der App zur Auswahl gibt, wie- Smart CT Mode
- Scheduled/Timer Mode
- Smart Matching Mode
usw.