NEWS
ecoflow-connector-Script zur dynamischen Leistungsanpassung
-
@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.
-
@maik-becker sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
@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.
Wenn du das Skript installierst, sind nur Beispielpfade eingegeben. Die musst du natürlich noch an deine Umgebung anpassen. Wenn du deine Delta richtig konfiguriert hast, findest du unter 0_userdata.0.ecoflow.app_xx_xx_thing_property_set.writeables. die werte die zu deiner delta passen.
Aber mit dem Adapter geht das natürlich auch.
Es ist nur wichtig zu wissen, dass die Delta auch dann AC Ladung durchführt, wenn die Ladung auf null herunter geregelt wird. Darum gibt es die Funktion mit dem Zwischenschalter, der die Delta komplett vom Strom trennt wenn kein Überschuss vorhanden ist (ExcessChargeSwitchID)Für das grundsätzliche Prinzip kannst du dir auch noch mal mein Video auf YouTube angucken. Den Link dazu findest du im Eingangsbeitrag.
-
Hallo,
0_userdata.0.ecoflow.app_1765798xxx_DCEBF8ZFAxxxxx_thing_property_set.writeables.slowChgPower sollte ja auch zum regeln der Ladegeschwindigkeit sein. Auch wenn ich diesen manuell ändere, wird es im der App nicht geändert, da scheint es irgend ein Problem zugeben.
Da wenn ich den gleichen Wert ecoflow-mqtt.0.xxxxx.inv.cfgSlowChgWatts ändere, ist dieser sofort in der App, sichtbar und angepasst.
PS: ich arbeite mit dem Zwischenschalter, ich hatte vorher die Delta Max da, lief alles ohne Probleme.
danke für die hilfe.
-
@maik-becker hast du im Skript den richtigen Typ für die Delta angegeben?
-
@waly_de
ok ich muss das noch mal genauer beobachten, wenn ich die Gelegenheit bekomme. In diesem Log waren auch ab und zu Wolken, sodass es nicht richtig geklappt hat.Eine andere Sache, ich habe vorgestern nun doch mal das letzte Powerstream update 1.0.1.1.195/196 installiert und sehe seitdem keine Temperatur mehr:
0_userdata.0.powerstream.app_device_property_HWXX.data.InverterHeartbeat.llcTemp
Dieser Wert wird nicht mehr richtig aktualisiert. Hat das sonst noch jemand?