NEWS
Regelung eines Hoymiles Solarinverters (Nulleinspeisung)
-
@carsaab
Ich habe dein Blockly mal nachgebaut.
Der Stromverbrauch (Shelly 3EM) und das Limit von WR geht andauernd hoch und runter.
Ist das bei dir auch so?@ alle
Ich würde das Blockly vom Anfang des Threads gerne mal probieren.
Kann jemand ein einfaches Blockly für nur einen WR mal posten? -
@gonzokalle
Ja das ist bei mir auch so.
Der Trigger ist immer die Änderung im Stromverbrauch. Dann setzt das Script ein neues Limit sofern die Solaranlage mehr als die 30% liefert. Bei mir dann 450W.
Wenn der Stromverbrauch hochgeht, dann geht das Limit hoch und auch wieder runter, wenn der Verbrauch sinkt.
Sollte dann die Solaranlage bei gleichem Verbrauch mehr liefern, dann sinkt der Stromverbrauch aber das Limit bleibt gleich, weil sich die Summe aus Solarenergie und Stromverbrauch nicht ändert.
Ich habe auch nur einen WR.
Weil aber mein Hichi nur alle 10sek einen neuen Wert schickt, ist das ganze natürlich nicht genau, aber für unsere Zwecke reicht es.
Vom Shelly 3EM müsste ja der Gesamtverbrauch gemessen werden. Wenn der Shelly im Sekundentakt einen Wert liefert, dann schreibt das Script auch jede Sekunde.Aber das Prinzip ist das gleiche. Ich nehme an, Du hast einen 600W WR im Einsatz.
-
@Carsaab
Ja, der Shelly liefert im Sekundentakt.
So schnell kann ich die Werte aber nicht in den WR schreiben.
Deswegen habe ich den Trigger auf alle 10 Sekunden gesetzt.
Ja, habe 600 W WR. -
So - ich habe zu experimentellen Zwecken mir noch einen HM300 von einem Kumpel geliehen.
Steuern tue ich alles über den MQTT Adapter. Der erkennt die openDTU und die dort eingebunden Wechselrichter. Damit die Steuerung funktioniert muß der MQTT Adapter ohne "retain" flag senden! Sonst geht es nicht.
Dann muß für jeden Hoymiles noch manuell der channel "cmd" und der state "limit_nonpersistent_relative" angelegt werden.
Die Befehle findet Ihr hier: https://www.opendtu.solar/firmware/mqtt_topics/#inverter-limit-specific-topics
Unter Alias könnt Ihr Euch dann die wichtigen Objekte erstellen oder Ihr verweist im Script direkt auf die Objekte.Eine Sequenz von 10Sekunden reichen mir - das regel ich über den Hichi Lesekopf, der den Stromverbrauch nur alle 10 Sekunden verschickt. Der Versuch in Echtzeit zu reagieren ist meistens ohnehin zum Scheitern verurteilt. Zum einen kann unsere "billige" Hardware das sowieso nicht, und dann gibt es ja noch die Physik https://de.wikipedia.org/wiki/Nyquist-Shannon-Abtasttheorem. Ich beabsichtige nicht daran was zu ändern.
Für 2 Wechselrichter und ohne Benutzung von Scriptvarialblen funktioniert mein Script wie folgt:
Das lässt sich zur Not auch für eine 30KW-peak Anlage mit 70 Panelen und 35 MicroWR und 9 DTUen ausbauen. Dem Iobroker ist das egal. Nur die Stromerzeugung über alle DTUen müsste man adieren.
Um Fragen vorzubeugen:
- das Teilen durch 18 ist oben erklärt.
- ich habe keinen Speicher und will eine Nulleinspeisung - auch oben erklärt
- Ja - es geht bestimmt eleganter - ich berechne für jeden WR das Limit separat obwohl sie dasselbe Limit bekommen.
Ein Script mir einer berechnete Variablen wie hier funktioniert auch.
- Es läuft wie geschmiert - bei mir. Es wird bei Euch ohne etwas Frickelei nicht direkt aus der Box laufen vermute ich.
-
-
@carsaab
Hi,
kannst du vielleicht das komplette Blockly mal einstellen ? Ich habe da etwas Schwierigkeiten, beim nachbauen. -
Zum Thema Nulleinspeisung (oder 'Panelbeheizung', wie ich es nenne):
-
@tosca76 Null-Einspeiseregelung_0.xml
Das ist das File.
Ansonsten ist das Bild auch das Script.
Die Objekte mußt Du leider selber finden, ich nutze gerade 2 Wechselrichter die hier gesteuert werden.
BTW: Das Video ist mir bekannt und er hat auch Recht. Es ist aber kein Widerspruch zu meiner Regelung, weil ich die Null garnicht unbedingt erreichen will. Der grobe Daumen reicht, ist aber auch oben schon erklärt. -
@carsaab
Super dank dir -
@kymchy
Vielen Dank für deine WR Steuerung.
Funktioniert!
Habe das Blockly noch etwas verändert. Bin da aber leider kein Fachmann.
Interessant währe noch die Steuerung für einen zweiten WR.