NEWS
Solareinspeisung steuern
-
@paul53 das mit Trigger innerhalb Trigger wird mir jetzt auch so langsam klar. War mir nicht bewusst. Ich hab halt mal vor mich hin programmiert und es lief leidlich
Dein Vorschlag sieht super aus
Danke!
Den letzten Block habe ich allerdings noch nicht so recht verstanden. -
@diet99 sagte: Den letzten Block habe ich allerdings noch nicht so recht verstanden.
"Leistung" steht für "Einzustellende Ausgangsleistung".
-
@paul53 Ah, ok. Hier stelle ich immer die volle Leistung ein, also 600 oder 800W. Die Regelung passiert über den Wechselrichter und OpenDTU. Das hieße dann wohl, daß ich den ersten und den letzten Block weglasse?
-
Ich glaube ich habs jetzt kapiert - ich war nur verwirrt weil Du schriebst "Leistung" steht für "Einzustellende Ausgangsleistung".
Der Zendure SolarFlow-Adapter bietet den Wert "Ausgangsleistung" an, das ist der aktuell eingestellte Wert. Um den Wert tatsächlich zu setzen benötigt man "Einzustellende Ausgangsleistung" aus dem Folder "Control". Damit sieht das ganze dann so aus:Besten Dank! Ich werd's testen und berichten
-
@diet99 sagte: bietet den Wert "Ausgangsleistung" an
An allen 3 Stellen muss es der DP "Einzustellende Ausgangsleistung" sein!
-
@paul53 said in Solareinspeisung steuern:
@diet99 sagte: bietet den Wert "Ausgangsleistung" an
An allen 3 Stellen muss es der DP "Einzustellende Ausgangsleistung" sein!
Da bin ich jetzt in der Tat nicht sicher. Müßte so, wie ich es gemacht habe, auf alle Fälle funktionieren. Den Wert "Einzustellende Ausgangsleistung" gibt es offenbar nur im Zendure-Adapter, der Wert "Ausgangsleistung" wird von der Zendure-Cloud geliefert.
Zumindest habe ich es so verstanden. -
@diet99 sagte: Da bin ich jetzt in der Tat nicht sicher.
Aber ich: Es muss immer der gleiche Datenpunkt sein.
-
@paul53 said in Solareinspeisung steuern:
@diet99 sagte: Da bin ich jetzt in der Tat nicht sicher.
Aber ich: Es muss immer der gleiche Datenpunkt sein.
Was macht Dich da so sicher?
-
@diet99 sagte: Was macht Dich da so sicher?
Die Programmlogik. Die Variable
WR-Leistung
muss immer die einzustellende max. Ausgangsleistung beinhalten. Der Bezeichner ist offenbar ungünstig gewählt. -
@paul53 said in Solareinspeisung steuern:
@diet99 sagte: Was macht Dich da so sicher?
Die Programmlogik. Die Variable
WR-Leistung
muss immer die einzustellende max. Ausgangsleistung beinhalten. Der Bezeichner ist offenbar ungünstig gewählt.Ich werde es ausprobieren und überall mal die Einzustellende Ausgangsleistung eintragen.
Mich hat gerade irritiert, daß die Einspeisung gerade gestoppt wurde, als der SOC wieder unter 30% gesunken ist und die Solarleistung unter 150W war. Das hätte eigentlich erst passieren dürfen, sobald der SOC auf 15% gesunken ist.
-
@diet99 sagte: Ich werde es ausprobieren und überall mal die Einzustellende Ausgangsleistung eintragen.
So ist der Bezeichner hoffentlich besser gewählt?
-
@paul53 said in Solareinspeisung steuern:
So ist der Bezeichner hoffentlich besser gewählt?
Die Bezeichner sind ja vorgegeben im Zendure-Adapter. Da kann ich zumindest nichts ändern.
-
@diet99 sagte: Die Bezeichner sind ja vorgegeben im Zendure-Adapter.
Ich meinte nicht den Datenpunkt-Namen, sondern den Bezeichner der Variable.
-
@paul53 said in Solareinspeisung steuern:
Ich meinte nicht den Datenpunkt-Namen, sondern den Bezeichner der Variable.
Ok - ich bin irgendwie noch nicht so tief drin in der Materie, sorry.
Auf alle Fälle vielen Dank für Deine Geduld und das Script!
-
@paul53 Bisher funktioniert das Script sehr gut, mir ist allerdings noch etwas aufgefallen, für das ich gerade eine Lösung suche:
Angenommen der Akku hat tagsüber die eingestellte Untergrenze wieder unterschritten und die Variable "maxLeistung" wurde auf 0 gesetzt. Später scheint dann wieder die Sonne und der Akku wird wieder geladen - allerdings nicht über die Schwelle von 30%. Wenn ich jetzt manuell die "WR max. Leistung" in der control-Section auf z.B. 600W stelle, um den Akku abends oder nachts leerzumachen, wird diese beim nächsten Schleifendurchlauf (also Änderung des SOC) wieder auf 0 gesetzt, weil die Variable ja auf 0 steht und nur beim Neustart des Scriptes aus der "WR max. Leistung" gelesen wird. Hier hilft aktuell nur ein anschließender Neustart des Scriptes, nachdem die Leistung manuell gesetzt wurde.
Da habe ich jetzt noch keine sinnvolle Lösung gefunden. -
@diet99 sagte: Da habe ich jetzt noch keine sinnvolle Lösung gefunden.
Ergänze das Skript durch Setzen der Variablen bei manueller Einstellung der max. Leistung.
"script.js.Skriptname" durch den tatsächlichen Namen des Skriptes ersetzen!
-
@paul53 Das habe ich jetzt nicht ganz verstanden. Kannst Du da bitte ein wenig weiter ausholen?
Was ist der "Kommentar des letzten Zustandes" und welches Script muß ich hier wählen? Das aktuelle, also das, in dem ich die Solareinspeisung steuere? -
@diet99 sagte: Was ist der "Kommentar des letzten Zustandes"
Der enthält bei Schreiben eines DP durch ein Skript den Skriptnamen.
@diet99 sagte in Solareinspeisung steuern:
welches Script muß ich hier wählen? Das aktuelle, also das, in dem ich die Solareinspeisung steuere?
Ja.
-
@paul53 Aaah - ich beginne zu verstehen. Jede Änderung am Datenpunkt, die NICHT durch Dein Script durchgeführt wurde, wird durch diese Abfrage erfaßt. Richtig?
Die Änderung mache ich allerdings derzeit nicht durch ein anderes Script, sondern meist manuell in der ioBroker-Browser-Oberfläche. Wird das dann auch korrekt verarbeitet?
-
@diet99 sagte: manuell in der ioBroker-Browser-Oberfläche. Wird das dann auch korrekt verarbeitet?
Ja. Bei anderen Ursachen als ein Skript enthält "Kommentar des letzten Zustandes" undefined, also ist die Bedingung erfüllt.