ZenUser2122JpBu
Gut, wenn Du ein wenig IT-Affin bist, kannst Du ja mal was damit spielen ...
In den Geräten der neuen Generation also ab dem SF800 glaube ich, steckt eine simple HTTP REST-API, mit der man schon aus einem Browser bedingt reden kann. Einfachster Move, ist dem Gerät eine Abfrage wie folgt zu schicken:
http://ip-solarflow/properties/report
Dann kommt sowas zurück ....
{
"timestamp": 1776621777,
"messageId": 65,
"sn": "DEVICE_SN_REDACTED",
"version": 2,
"product": "solarFlow1600AC+",
"properties": {
"heatState": 0,
"packInputPower": "REDACTED_POWER",
"outputPackPower": 0,
"outputHomePower": "REDACTED_POWER",
"remainOutTime": 341,
"packState": 2,
"electricLevel": 73,
"gridInputPower": 0,
"solarInputPower": 0,
"solarPower1": 0,
"solarPower2": 0,
"solarPower3": 0,
"solarPower4": 0,
"pass": 0,
"reverseState": 0,
"socStatus": 0,
"hyperTmp": 3091,
"gridOffPower": 0,
"dcStatus": 1,
"pvStatus": 0,
"acStatus": 1,
"dataReady": 1,
"gridState": 1,
"BatVolt": 4920,
"socLimit": 0,
"faultLevel": 0,
"acCouplingState": 32768,
"offGridState": 0,
"dryNodeState": 1,
"writeRsp": 0,
"acMode": 2,
"inputLimit": 0,
"outputLimit": "REDACTED",
"socSet": 1000,
"minSoc": 50,
"gridStandard": 0,
"gridReverse": 2,
"inverseMaxPower": "REDACTED",
"lampSwitch": 1,
"gridOffMode": 2,
"IOTState": 2,
"Fanmode": 1,
"Fanspeed": 0,
"bindstate": 0,
"factoryModeState": 0,
"OTAState": 0,
"LCNState": 0,
"oldMode": 0,
"VoltWakeup": 0,
"ts": 1776620943,
"tsZone": 14,
"smartMode": 1,
"chargeMaxLimit": "REDACTED",
"phaseSwitch": 1,
"batCalTime": 0,
"packNum": 5,
"rssi": -51,
"is_error": 0
},
"packData": [
{
"sn": "PACK_SN_1",
"packType": 300,
"socLevel": 73,
"state": 2,
"power": "REDACTED_POWER",
"maxTemp": 3051,
"totalVol": 4930,
"batcur": 65446,
"maxVol": 329,
"minVol": 328,
"softVersion": 4117
},
{
"sn": "PACK_SN_2",
"packType": 300,
"socLevel": 73,
"state": 2,
"power": "REDACTED_POWER",
"maxTemp": 2951,
"totalVol": 4940,
"batcur": 65505,
"maxVol": 330,
"minVol": 329,
"softVersion": 4113
},
{
"sn": "PACK_SN_3",
"packType": 300,
"socLevel": 73,
"state": 2,
"power": "REDACTED_POWER",
"maxTemp": 2971,
"totalVol": 4940,
"batcur": 65516,
"maxVol": 330,
"minVol": 329,
"softVersion": 4113
},
{
"sn": "PACK_SN_4",
"packType": 300,
"socLevel": 73,
"state": 2,
"power": "REDACTED_POWER",
"maxTemp": 2961,
"totalVol": 4940,
"batcur": 65522,
"maxVol": 329,
"minVol": 329,
"softVersion": 4113
},
{
"sn": "PACK_SN_5",
"packType": 250,
"socLevel": 75,
"state": 2,
"power": "REDACTED_POWER",
"maxTemp": 2941,
"totalVol": 4950,
"batcur": 65516,
"maxVol": 330,
"minVol": 330,
"softVersion": 8223
}
]
}
Nun kannst Du probieren, das Gerät aus der Windows-Powershell mal mit einem einzelnen Befehl aus der Shell oder im besten Falle mit einem kleinen Powershell-Script zu steuern. Dazu musst Du dann noch immer im Takt Deiner Reglung, den Wert Deines Smartmeters holen, daraus den benötigten neuen Power Wert kalkulieren und dem Gerät senden. Das wäre mal ein einfacher Anfang, ohne in einen kleinen Homeserver (Tiny-PC) zu investieren. Wenn Du damit Erfolg hast, steht das Grundgerüst für Deine Reglung ja bereits. Das dann in einer entsprechenden Umgebung wie ioBroker oder HomeAssistant umzusetzen ist dann nur noch mit dem Faktor Zeit verbunden.
Doke zu ZenSDK also der lokalen API findest Du hier: https://github.com/Zendure/zenSDK
Sicherlich haben viele da mal so überhaupt keine Lust drauf, was ich absolut verstehen kann aber ich kann nur sagen es macht Spaß und es lohnt sich! Hier mal was ich in knapp 13 Monaten durch den Einsatz meiner PV-Anlage und dem Zendure System eingespart habe.

Knapp 400€ gehen nur auf den Akku und das ist was ich mit meiner Reglung verdient habe. Also ist der SF1600 mehr oder weniger in 1,5 Jahren bezahlt, mir war es der Einsatz wert.
Wenn Du keinen Bock auf basteln und selber machen hast, greif in die HomeAssistant Kiste. Da gibt es eine mit Zendure entwickelte Integration, die wohl laut vieler Stimmen hier MEGA sein soll.
Hoffe das hilft Dir weiter!