NEWS
ecoflow-connector-Script zur dynamischen Leistungsanpassung
-
@accu sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
@waly_de hatte gehofft bei der neuen Skriptversion, dass der AC Ladeshelly bei der Überschussladung abgeschaltet wird, wenn die DP voll geladen ist - wäre bei den Änderungen mit dabei
Meine DP hat mit 99% die obere Ladegrenze erreicht und der Shelly DP Load bleibt weiterhin eingeschaltet. Wäre schön, wenn der dann ausginge, um nicht weiter Strom auf der Leitung bzw. am DP AC Ladeeingang permanent zu haben.
ExcessChargeBatSocMax: 95, // Batterieladestand muss <= sein damit die Überschussladung gestartet wird
ExcessChargeBatSocOff: 100, // Batterieladestand bei dem die Überschussladung abgeschaltet wirdhast du das angepasst? wenn 100 % nicht erreicht wird, wird das Skript auch nicht abschalten. Stell es also auf 99.
-
@mccrypto sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
@gooflo Hallo und danke für die Rückmeldung.
Leider ist es bei mir so (aktuell mit einer Powerstream), dass wenn der Akku voll ist, die maximal mögliche PV-Leistung ins Stromnetz eingespeist wird. Das würde ich gerne verhindern und da sehe ich keine Möglichkeit für
Das ist so gewollt, warum sollte man wenn die Speicher voll sind und mehr Energie zur Verfügung steht als gebraucht wird diese nicht der Allgemeinheit zur Verfügung stellen? Wir wollen doch alle den Planeten retten. Ausserdem ist das herunterregeln der PV leistung auch nicht gut für die Hardware.
Warum Nulleinspeisung keine gute Idee ist:
https://www.youtube.com/watch?v=wxP5uMdtMmk -
@accu sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
@matz75 schaltet er bei REGULATE = FALSE auch alle vom Skript etwaig eingeschalteten Schalter wieder aus?
ich glaube auch nicht (du meinst den Schalter für die Überschussladung? Sonst wird ja nichts geschaltet) Die Einspeiseleistung des PS kannst du mit dem Parameter: RegulationOffPower einstellen
-
@dreffi sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Ich habe aktuell ein kleineres Problem. Ich habe für LowBatLimit externe States angelegt. Wenn diese geändert werden wird das auch vom Script protokolliert, aber die Regelung wird nicht immer daran angepasst. Es wird weiter mit dem bisherigen Wert gearbeitet.
Der aktuelle wird z.B. berücksichtigt wenn ich das Script über RegulationState = false/true neu starte oder der jeweilige Akku neu unter LowBatLimitPozOn fällt.Hintergrund: ich wollte damit morgens bei ausreichender Sonnenenergie die Leistung kontrolliert schon früher freigeben.
ich denke das ist normal, wenn die batterie dann schon im low-bat modus ist. es muss dann lowBatLimitPozOff erreicht werden damit der modus wieder verlassen wird. es sind ja nur die Schaltschwellen. du könntest also auch lowBatLimitPozOff kurz ändern um zu erreichen das er sofort umschaltet
-
@kay-wurl sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
@waly_de
Vielen Dank erstmal für Deine Arbeit^^.
Script läuft mit ein paar Änderungen sehr gut.Ich habe battPozOn auf 0 und battPozOff auf 100 gesetzt, so dass als erstes immer die Delta 2 geladen wird (sind bei Tibber, das ist es mittags am billigsten).
Die D2 kann ja nur 600W am Eingang. Heute zB. waren per Solar 740W möglich. Der PS schickt 600W zur D2 und der Rest verpufft. Kann man dem PS irgendwie sagen, wenn Solar mehr als 600W, dann schicke die Differenz stur ins Netz?
Noch eine Frage. Kann man das zeitlich steuern? Für mich wäre perfekt, bis 10:00 Uhr Einspeisepriorisierung, von 10:00 Uhr bis 18:00 Uhr Prio aufs Akku laden und ab 18:00 Uhr, bis der PS aus geht, wieder Prio auf die Einspeisung ins Netz.
Danke Danke Danke^^
LG
Diese Konfiguration ist nicht sinnvoll. Das Skript regelt so gar nichts, sondern stellt ab 0 % Batterie schon auf Batterieprioritätsmodus. Im normalen Regelmodus macht das Skript genau das, was du willst. Es stellt über 'Zusatzpower' die Leistung langsam höher, wenn 600 W in die Batterie gehen.
Eine Zeitsteuerung ist über externe Skripte möglich. Es gibt dazu Beispiele in diesem Thread
-
@waly_de Den Planeten wollen wir alle mitretten. Allerdings wäre die Einstellmöglichkeit, wieviel Leistung ich letztlich einspeisen will ein tolles feature. Ich hab zwei Ecoflow PS und es kommt vor, dass dann mehr als 600W eingespeist würden, was nicht sein soll.
-
@vanessa88 das kommt dann allerdings auch vor bevor die Batterien voll sind, zumindest kurzzeitig, wenn der Verbrauch z.B. von 2kW auf 0,5 kW runtergeht, dann speisen die zwei PS 1200W oder 1600W ein und abhängig von den Einstellungen für die Regelung dauert es ein paar Sekunden, bis auf 500W runtergeregelt wird.
Was Du willst könnte man vermutlich einfach einbauen, indem man in der SetBasePower() wenn die Batterie über battPozOn ist statt "GlobalObj[asn].OldNewValue = (Math.floor(foundItem.MaxPower))" (hier werden die 600 oder 800W gesetzt für maximale Einspeisung) einen eigenen Konfigurationswert setzt, z.B. 300W oder 400W. Test ich evtl. mal bei Gelegenheit.
-
@waly_de said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
ExcessChargeBatSocMax
guter Hinweis - hatte ich tatsächlich noch auf 100%. Habs geändert und werde es beobachten. Vielen Dank
-
@vanessa88 mehrere Möglichkeiten, alle ungetestet:
{ seriennummer: "XXXXXXXXXXXXX", // Die Seriennummer des Gerätes name: "PowerStream", // beliebiger Name MaxPower: 600, // Der höchstmögliche Wert in Watt für die Einspeiseleistung subscribe: true, // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt typ: "PS", // Welches Gerät ist es: PowerStream:"PS"; DeltaMax:"DM"; Delta2: "D2" ; Delta2 Max/Delta Pro: "D2M"; SmartPlug: "SM"; Andere: "NA" // Parameter an hier nur für PowerStream. regulation: true, // "true": Dieser PowerStream soll vom Script reguliert werden RegulationOffPower: -1, // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus) hasBat: true, // "true": Eine Batterie ist angeschlossen. Nur für PowerStream relevant. battPozOn: 100, battPozOff: 97, // Wenn die Batterie bei battPozOn ist, Einspeisung auf MaxPower. Bei BattPozOff Normalbetrieb battOnSwitchPrio: true, // "true": Bei battPozOn wird in den Batterie-Prioritätsmodus gewechselt prioOffOnDemand: 30, // Wattwert des Bedarfs, bei dem zurück in den Strom-Priomodus geschaltet wird. 0 für kein Rückschalten. lowBatLimitPozOn: 5, lowBatLimitPozOff: 15, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf lowBatLimit: 150, // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist },
A)
MaxPower: 300 Zusatzpower_Offset: -300, // Zusatzpower startet ab einer Batterieladeleistung von MaxPower - Zusatzpower_Offset
sollte die Eispeiseleistung auf 300 W begrenzen. Erst bei mehr als 600W startet Zusatzpower.
Soll Zusatzpower nicht starten:Zusatzpower_Offset: -1000
B)
lowBatLimitPozOn: 100, lowBatLimitPozOff: 101, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf lowBatLimit: 300, // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist
Lowbatlimit ist immer eingeschaltet und begrenzt die Einspeisung auf 300W
C)
battPozOn: 110, battPozOff: 105, // Wenn die Batterie bei battPozOn ist, Einspeisung auf MaxPower. Bei BattPozOff Normalbetrieb
Das Skript regelt einfach weiter nur den Bedarf, auch wenn die Batterie voll ist.
-
@waly_de Super vielen Dank für die Hilfe. Ich probiere das mal aus und poste die Ergebnisse. Leider heute Regen hier
-
@Waly_de PS: Der Beitrag ist wohl untergegangen.. Jedenfalls klappt die Umstellung von Zusatzpower in den normalen Modus noch nicht richtig.
Das Szenario war wie folgt:
PV Leistung > 600W; Hausbedarf = 0W, da zweite PV (Hoymiles) Grundlast abdeckt; -> Zusatzpowermodus ON, sodass über den Hausbedarf noch zusätzlich eingespeist wurde.
Diese Leistung wird dann mit der Excess charging an die D2M geleitet. (Ab ca 150W Überschuss)Jetzt schalte ich z.b. den Trockner an, dann habe ich auf einmal einen Hausbedarf von zusätzlichen 500W, die noch zur bestehenden PV (Hoymiles) benötigt wird.
Dann müsste das Skript das erkennen und die Zusatzpower ausschalten und in den normalen Modus wechseln, jedoch bleibt es dann im Zusatzpower modus und speichert lieber die PV Leistung anstatt sie direkt abzugeben.
Erst wenn die PV Leistung wieder unter 600W geht, dann geht das Skrript wieder in den normalen Modus und speist dann die geforderte Leistung ein.Wenn der Trockner aber vor Erreichen der 600W eingeschaltet wird, dann geht das Skript nicht in den Zusatzpowermodus, so wie es auch gewollt ist.
@ponti92 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Hi @Waly_de
Leider funktioniert das noch nicht so ganz mit der zusatzpower, wenn anschließend die Grundlast wieder höher wird.
Ich habe hier zwei Powerstreams und einer ist in die zusatzpower gegangen bevor die Hauslast hoch ging.
Dann ging der hausverbrauch hoch, jedoch hat der zweite PS die zusatzpower nicht verlassen.Der erste PS war nicht im Zusatzpower Modus und konnte deshalb mehr einspeisen:
-
Erst mal ein dickes fettes Danke für das Script! Hätte nicht erwartet, dass das sooo gut funktioniert!!!
Eine Frage noch zur Verwendung..
Ich möchte damit gerne 2 Häuser (2*Powerstream) steuern. Kann ich das alles in ein Script packen, oder benötigte ich dafür eine 2te IObroker Instanz?
-
@ponti92 das gucke ich mir bei Gelegenheit noch mal an. Ist nicht ganz so einfach.
-
@joxxxxx74 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Erst mal ein dickes fettes Danke für das Script! Hätte nicht erwartet, dass das sooo gut funktioniert!!!
Eine Frage noch zur Verwendung..
Ich möchte damit gerne 2 Häuser (2*Powerstream) steuern. Kann ich das alles in ein Script packen, oder benötigte ich dafür eine 2te IObroker Instanz?
Bei zwei Häusern gehe ich davon aus, dass Du auch zwei separate Stromzähler hast.
Daher kannst du zwei Skripte in der gleichen IObroker Instanz laufen lassen und in jedem je einen Stromzähler konfigurieren. (statesPrefix auch anpassen um die Objekte getrennt zu halten)Haben beide Häuser einen Stromzähler, kannst Du ganz normal mehrere PS mit einem Skript steuern.
-
@ponti92 kannst du mir bitte den Gefallen tun und in der beschriebenen Situation einmal mlog aktivieren?
Ich benötige die mlog Protokollausgaben zum Zeitpunkt, wenn die PV Leistung größer 600 W ist der Trockner nur aber noch aus.Und wenn dann der Trockner an ist und das Skript den Zusatzpowermodus nicht verlässt.
Ich hab hier keine Möglichkeiten das zu simulieren.
-
@waly_de werd ich bei der nächsten Gelegenheit mal machen.
-
Hallo, ich habe einen Delta Pro und er passt die Ladeleitung AC zwar an per Skript aber er ändert sie nicht in der App.
script.js.1713771693553-ecoflow-connector_v124: Write Event: 0_userdata.0.ecoflow.app_xxxx_xxxxx_thing_property_set.writeables.slowChgPower val: 1660 | No matching entry found.
Kann mir jemand helfen.
-
@waly_de
Ich konnte es heute mal kurz testen und die logs auffangen:Das war bevor der Trockner an war und die PV über 600W:
2024-05-10 14:56:56.293 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: SetBasePower ! 2024-05-10 14:56:56.322 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: PowerStream [PowerStream] Maximalleistung geht in die Batterie. Stelle zusätzlich Einspeisung auf 140 W 2024-05-10 14:56:56.360 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: PowerStream [PowerStream2] Maximalleistung geht in die Batterie. Stelle zusätzlich Einspeisung auf 100 W 2024-05-10 14:56:56.419 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: otherPS (PSonly): 240 2024-05-10 14:56:56.427 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: otherPS (all): 638.6600000000001 2024-05-10 14:56:56.428 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: ************************************* 2024-05-10 14:56:56.428 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Hausstrom: -52.93 2024-05-10 14:56:56.428 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: lowestValue Realpower: 146 2024-05-10 14:56:56.428 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Lastcutoff: 0 2024-05-10 14:56:56.428 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: gapSumme: -482.6600000000001 2024-05-10 14:56:56.428 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Bedarf : -482.6600000000001 2024-05-10 14:56:56.428 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: PStotalPV (+10 W/PS): 0 2024-05-10 14:56:56.428 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Gobal totalPV: 1782 2024-05-10 14:56:56.429 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: PVBedarf : -482.6600000000001 2024-05-10 14:56:56.429 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: BatBedarf: 0 2024-05-10 14:56:56.429 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: PVfaktor:0 2024-05-10 14:56:56.429 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Batfaktor:1 2024-05-10 14:56:56.429 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: ueberschuss:492.6600000000001
Das dann als der Trockner eingeschaltet wurde:
2024-05-10 14:58:56.458 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Änderung für Einspeisung gesendet PS:[PowerStream2] : 0 W 2024-05-10 14:58:56.464 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Alle Bedingungen erfüllt. 0_userdata.0.powerstream.app_1679030909605449730_R351ZEB4HF450475_thing_property_set.writeables.slowChgWatts wird auf 150 gesetzt 2024-05-10 14:58:56.465 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: ExcessCharge: Änderung an ExcessChargePowerID gesendet ueberschussleistung + ExcessChargeOffsetPower:179W 2024-05-10 14:58:57.430 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: RealPower Set Warte auf aktuelle Daten von: [PowerStream] lezter: 14:58:44 / ACset: 14:58:56 2024-05-10 14:59:11.312 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: SetBasePower ! 2024-05-10 14:59:11.337 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: PowerStream [PowerStream] Zusatzpower aus ! 2024-05-10 14:59:11.404 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: otherPS (PSonly): 0 2024-05-10 14:59:11.411 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: otherPS (all): 295.82 2024-05-10 14:59:11.411 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Gap_Durchschnitt: PS:[PowerStream] : -86 2024-05-10 14:59:11.412 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Gap_Durchschnitt: PS:[PowerStream2] : -97 2024-05-10 14:59:11.412 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: ************************************* 2024-05-10 14:59:11.412 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Hausstrom: 264.38 2024-05-10 14:59:11.412 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: lowestValue Realpower: 287 2024-05-10 14:59:11.413 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Lastcutoff: 0 2024-05-10 14:59:11.413 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: gapSumme: -183 2024-05-10 14:59:11.413 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Bedarf : 1.1800000000000068 2024-05-10 14:59:11.413 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: PStotalPV (+10 W/PS): 1066 2024-05-10 14:59:11.413 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Gobal totalPV: 1342 2024-05-10 14:59:11.414 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: PVBedarf : 1.1800000000000068 2024-05-10 14:59:11.414 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: BatBedarf: 0 2024-05-10 14:59:11.414 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: PVfaktor:0.0011069418386491622 2024-05-10 14:59:11.414 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Batfaktor:0 2024-05-10 14:59:11.414 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: ueberschuss:8.819999999999993 2024-05-10 14:59:11.415 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: ************************************* 2024-05-10 14:59:11.433 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Änderung für Einspeisung gesendet PS:[PowerStream] : 0 W 2024-05-10 14:59:11.450 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: Änderung für Einspeisung gesendet PS:[PowerStream2] : 0 W 2024-05-10 14:59:26.313 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: SetBasePower ! 2024-05-10 14:59:26.340 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: PowerStream [PowerStream] Maximalleistung geht in die Batterie. Stelle zusätzlich Einspeisung auf 20 W 2024-05-10 14:59:26.391 - info: javascript.0 (4093) script.js.Ecoflow1_2_4: PowerStream [PowerStream2] Maximalleistung geht in die Batterie. Stelle zusätzlich Einspeisung auf 20 W
-
@maik-becker said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Hallo, ich habe einen Delta Pro und er passt die Ladeleitung AC zwar an per Skript aber er ändert sie nicht in der App.
script.js.1713771693553-ecoflow-connector_v124: Write Event: 0_userdata.0.ecoflow.app_xxxx_xxxxx_thing_property_set.writeables.slowChgPower val: 1660 | No matching entry found.
Kann mir jemand helfen.
Heute habe ich ecoflow-mqtt installiert dieses Script kann über ecoflow-mqtt.0.xxxxx.inv.cfgSlowChgWatts die Ladeleistung ändern.
Daher habe ich jetzt erst einmal im JS von 0_userdata.0.ecoflow.app_xx_xx_thing_property_set.writeables.slowChgPower auf ecoflow-mqtt.0.xxxxx.inv.cfgSlowChgWatts geändert, jetzt wird die Ladeleistung automatisch geändert.
Das zweite Problem, was ich habe, ist das er Nachts mach mal das laden Aktiviert, trotz das kein Solar da ist.
-
@ponti92 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Bedarf : 1.1800000000000068
Bitte beobachte das mal etwas länger, solange der Bedarf so niedrig ist, wird keine Leistung bereitgestellt. Das ist auch so gewollt. Es dauert ja immer eine gewisse Zeit, die du selbst konfigurieren kannst, bis auf Leistungsspitzen reagiert wird.
MinValueMin: 2, // Der Zeitraum in Minuten, aus dem der niedrigste Gesamtverbrauchswert geholt werden soll. 0 für Echtzeitwert
Wenn dann die PowerStream weiter im Zusatzpower Modus bleiben, brauche ich davon noch mal das mlog.