Hallo Walter,
ja dieses Verhalten habe ich für den SUN2000 aufgrund dessen Hystereseverhalten in die Firmware aufgenommen. Empfangene Setpoints werden nach diesen Regeln korrigiert:
- setpoint ist im Bereich von 180-250W,
- setpoint > 225W -> neuer setpoint= 250W
- setpoint < 225W -> neuer setpoint= 200W
- ACDisplay > 200W und Setpoint 180-250W -> neuer Setpoint = 180W
Die Routine ist relativ komplex und ich möchte nicht ausschließen, dass Du einen Bug gefunden hast, aber eigentlich sollte die Routine deaktiviert sein, wenn der 2000W Jumper nicht geschlossen ist.
Deshalb die naheliegende Frage: Der 2000W Jumper ist offen?
Gruß,
Trucki
Hallo Walter,
ich habe mal ein paar Werte mit einem SUN1000 getestet und bin mir relativ sicher, dass die Hysteresenkompensation des SUN2000 beim SUN1000 richtig abgeschaltet wird.
Dennoch scheint auch mein SUN1000 sich im Bereich 170-190W schwerer zu tun genaue Werte zu erreichen.
Konkret habe ich folgende Werte auf Reg0 geschrieben und folgende Leistungen ca. 5s später am Display abgelesen:
Reg0[W*10] -> Display [W]
3000 -> 299 (-1W)
2300 -> 228 (-2W)
2000 -> 207 (+7W)
1900 -> 199 (+9W)
1800 -> 193 (+13W)
1700 -> 186 (+16W)
1600 -> 158 (-2W)
Erklären kann ich diese Beobachtung nicht. Zumal meine vorhergehenden Messungen des RT1 Eingangs vs. Ausgangsleistung eigentlich ein sehr lineares Verhalten in diesem Bereich zeigen:
Eventuell spielt hier irgendein langsames Verhalten des SUN1000 mit rein, welches ich nicht erfasst habe.
Ich behaupte mal die Leistung auf 160W oder 230W zu begrenzen sollte helfen.
Viele Grüße,
Trucki
Hallo Trucki,
Danke für dein Feedback. An deine Platine komme ich erst, wenn ich den GTIL1000 wieder abbaue. Ich habe zwar ein Foto, aber nur im eingebauten Zustand und teils durch Kabel verdeckt. Die Versionsnummer sieht nach 07.2022 aus, falls das etwas im Hinblick auf 1000/2000 aussagt.
Ich werde das Ganze weiter beobachten. Vielleicht hat mein GTIL1000 ja auch eine kleine Macke.
Bei früheren Messungen habe ich festgestellt, dass die Kennlinie von 200 bis 800W ziemlich linear verläuft. Unter 200W scheint sie auch einigermaßen linear, aber steiler.
Danke nochmals für deine Unterstützung,
Walter
Hallo Trucki,
habe eine Frage zu deinem Arduino-Programm für Shelly 3EM.Ich beziehe die Gesamtleistung über ein Zwave Qubino 3-phase Smart Meter,
Totalpower liegt dann im IoBroker an und den frage ich mit simple-api ab.
http://XXX.XXX.XXX.XX:8087/getPlainValue/fhem.0.ZWave_METER_42_01.Leistung
Bei Abfrage mit dem Browser wird der Wert mit einer Kommastelle geliefert.
Wie kann ich nun den Sketch für mich anpassen. Da ich mich mit Arduino nicht so recht auskenne
sind mein Versuche fehlgeschlagen.
Gruß Holger
Hallo Holger,
ah wieder ein Smartmeter, dass ich noch nicht kannte 😉
Warum willst Du Dich mit dem Arduino quälen und rechnest die Leistung die der SUN machen soll nicht im ioBroker aus und schickst sie z.B. über ein ESP8266(mit ESPHome/Tasmota) an meine Platine? Ab Seite 3 in diesem Thread gibt es ja einige User (z.B. zaimaen) die genau das machen nur mit einer IR Diode oder einem Shelly 3EM.
Wenn es doch Arduino sein muss:
Den Arduinocode kannst Du kompilieren, flashen und bekommst auch einen DebugOutput auf der seriellen Konsole(9600baud)?
Ein Ansatz wäre schon mal deine URL hier einzutragen:
const char* shellyapiurl = "http://192.168.1.217/status";
Danach musst Du die Routine
int readShelly(void)
so anpassen, dass sie den Totalpower Wert vom Smartmeter holt und in eine variable schreibt.
Mit:
String myString = http.getString();
Serial.println(myString);
siehst Du schon mal was vom Smartmeter kommt und kannst dann anfangen die Totalpower da rauszufiltern.
... wie gesagt. Ich würde mit der Umgebung (vermtl. ioBroker?) anfangen in der ich mich auskenne.
Viele Grüße,
Trucki
Hallo Trucki,
Ich dachte mit Arduino habe ich die Regelung mit deiner Platine kompakt im Sun1000
und brauch es nicht ioBroker machen lassen, aber die Gesamtleistung des Smartmeter
geht ja eh über den ioBroker.
Ja es sind erst nur Trockenübungen da ich noch auf die Platine warte.
Trucki danke für die Nachricht.
Gruß Holger
Kommt bald! Ich warte nur noch auf ein paar olle Abstandsbolzen.
Guten Morgen,
ich habe die erste Version meines Trucki2Shelly Gateways unter https://github.com/trucki-eu/Trucki2Shelly-Gateway veröffentlicht.
Es handelt sich um ein *.bin file, welches man auf ein WEMOS D1 Mini flashen kann. Das WEMOs Modul spricht mit meiner Platine über UART und ließt die total Power aus dem Shelly 3EM über http aus.
Wäre cool, wenn das mal jemand testen kann. Ich habe kein Shelly 3EM.
Viele Grüße,
Trucki
Hallo Maxim,
Kaskadieren habe ich noch nie produktiv genutzt, da mir der SUN2000 in der Regel reicht. Mit 2xSUN1000 habe ich mal damit rumgespielt und gesehen, dass die Strategie hier eine wesentliche Rolle spielt.
Ich habe damals zwei Ansätze ausprobiert:
1) Den 2. SUN mit maximaler Leistung einschalten, sobald der Hausverbrauch größer ist als die maximale Leistung des ersten SUN1000.
Vorallem im Grenzbereich hat das schnell zum Schwingen der Regelung geführt.2) Die Leistung 50/50 zwischen den beiden SUN1000 aufteilen. Das hat sehr gut funktioniert. D.h. wenn das Haus 260W verbraucht, dann erzeugt jeder SUN1000 130W. Wichtig war auch hier immer die tatsächlich erzeugte Leistung jedes Wechselrichters zurückzulesen und mit in die Berechnung des nächsten Leistungswerts mit aufzunehmen.
Bei zwei SUN2000 muss man vielleicht eine Kombination aus 1+2 bauen, da der SUN2000 ja nicht weniger als 75W einpseißen kann und sich erst ab 100W stabil regeln lässt. Vielleicht bis 400W nur einen SUN2000 verwenden und ab 400W die Leistung auf beide aufteilen. Natürlich nur, wenn der Hausverbrauch überhaupt unter 200W liegen kann.Im Moment arbeite ich gerade an dem Shelly Projekt (siehe 3 Beiträge früher). Deshalb komme ich gerade nicht zum Update des "Zero Export Controllers" .
Die aktuelle Regelung mit Begrenzung findest Du in dem *.ino des Shelly Projekts.Ich hoffe, dass Du so eine Regelung programmieren kannst. Das geht ja erstmal auch ohne StatusTelegramme. Meld Dich noch mal wenn Du so weit bist. Ich verstehe gut, dass die Erweiterung des Statustelegrams nicht ganz einfach ist.
Viele Grüße,
Trucki
Hallo Trucki,
meinst du mit dem Status Telegramm das senden der Werte in zB. den Iobroker (MQTT)?
Gruß Maxim
Hallo Maxim,
ja das war natürlich Blödsinn von mir. Der ZeroExportController ( https://github.com/trucki-eu/SDM630-zero-export-controller-Arduino-/blob/main/code/GTIL2_SDM630_Example.ino ) sendet ja gar keine Statustelegramme. Das macht ja nur meine Platine.
Kurz gesagt: Wenn Du zwei GTIL2's hast und die Leistung erstmal gleichmäßig aufteilen möchtest, dann kannst Du im loop folgende Zeile
if (!write_gtil(avgPower) ) Serial.println("Error writing SUN GTIL2");
durch folgende Zeilen ersetzen:
gtil_id = 1;
gtil_node.begin(gtil_id, mySerial);
delay(200);
if (!write_gtil(avgPower/2) ) Serial.println("Error writing SUN GTIL2 - ID1");
delay(200); //Zu schnelles wechseln der ID's könnte Probleme machen.
gtil_id = 2;
gtil_node.begin(gtil_id, mySerial);
delay(200);
if (!write_gtil(avgPower/2) ) Serial.println("Error writing SUN GTIL2 - ID2");
Viele Grüße,
Trucki
Hallo Maxim,
ja das war natürlich Blödsinn von mir. Der ZeroExportController ( https://github.com/trucki-eu/SDM630-zero-export-controller-Arduino-/blob/main/code/GTIL2_SDM630_Example.ino ) sendet ja gar keine Statustelegramme. Das macht ja nur meine Platine.
Kurz gesagt: Wenn Du zwei GTIL2's hast und die Leistung erstmal gleichmäßig aufteilen möchtest, dann kannst Du im loop folgende Zeile
if (!write_gtil(avgPower) ) Serial.println("Error writing SUN GTIL2");
durch folgende Zeilen ersetzen:
gtil_id = 1;
gtil_node.begin(gtil_id, mySerial);
delay(200);
if (!write_gtil(avgPower/2) ) Serial.println("Error writing SUN GTIL2 - ID1");delay(200); //Zu schnelles wechseln der ID's könnte Probleme machen.
gtil_id = 2;
gtil_node.begin(gtil_id, mySerial);
delay(200);
if (!write_gtil(avgPower/2) ) Serial.println("Error writing SUN GTIL2 - ID2");Viele Grüße,
Trucki
Vielen Dank für die Antwort.
Werde dies definite benutzten für den Code.
Gruß Maxim
Gibt es eigentlich einen Weg den SUN auf 0W Leistung zu stellen? Selbst wenn der AC Setpoint auf 0w gesetzt ist speist er ja mit ca. 20W ein. Oder muss ich dann nur kalibrieren?
Leider nein. Der SUN1000 macht eigentlich schon 0W. Hier scheint es aber auch Streuung zu geben. Der SUN2000 macht min 75W.
Die einzige Möglichkeit die mir einfällt ist ihn auf der AC Seite hart vom Netz zu trennen wenn gerade kaum Leistung anliegt.
An dieser Stelle noch mal der Hinweis, dass man sich um die maximale Leistungsbegrenzung auf 850W/1850W selbst kümmern muss.
Viele Grüße
Trucki
Bin mir nicht sicher, wie lange es der SUN macht, wenn er auf AC Seite hart ausgeschaltet wird. Dacht, dass es ihm an DC eher gefallen würde. Aber danke für die Info, dann muss ich da nicht weiter suchen. 😉
Ja das weiß ich auch nicht. DC Seite geht natürlich auch. Ich könnte mir nur vorstellen, dass da beim wieder Einschalten sehr hohe Ströme beim Laden der internen SUN Kondensatoren fließen. Keine Ahnung wie lange das ein Relais oder ein SSR mitmacht.
Viele Grüße,
Trucki