NEWS
ecoflow-connector-Script zur dynamischen Leistungsanpassung
-
@waly_de vielen Dank für Deine Hilfe auf meinen Post. Folgende Beobachtung habe ich gemacht:
- Die Tuya Steckdose schaltet ein. Das klappt.
- Die Regelung der AC-Ladung startet. Das klappt auch
- Die Regelung stellt aber meist eine zu hohe Ladelseitung ein. Es wurde dann imme rzwischen 100Watt und 200 Watt zusätzlich zum PV-Überschuss aus dem Netz gezogen
- Die Regelung klappte nur, wenn es keine großen Änderungen im Verbrauch gab (also deutlich weniger/mehr Überschuss auf einmal zur Verfügung stand)
Meine Erkenntnisse:
- Ich vermmute, dass mit der Berechnung von "0_userdata.0.ecoflow.ExcessPower" etwas nicht stimmt. Als Test habe ich Verbraucher im Haus zugeschalten bis die aktuelle PV-Produktion nicht mehr gerreicht hat und wollte so eine Abschaltung der AC-Ladung erzwingen. Da shat aber leider nicht geklappt. Als ich dann die Verbraucher wieder abgeschaltet hatte und ein Überschuss im Haus wieder verfügbar war, ist die AC-Ladeleistung auf 2900Watt gestiegen (in der App wurde sogar ein Wert von über 6000 Watt angezeigt). Die Berechnung der Ladeleistung scheint also noch nicht für alle möglichen Fälle zu passen.
Hier mal ein Bild als ich die Verbraucher im Haus manuell zugeschalten habe:
- Ich habe vom Netz 990 Watt bezogen
- ExcessPower ist positiv auf 1019 geblieben
- slowChgPower blieb auf 869 Watt
-AC Ladung stoppte nicht (Tuya Steckdose hat sich nicht abgeschalten)
Ich vermute, dass es an der Berechnung noch Probleme gibt, da ja Überschuss ein negativer Wert ist und Netzbezug ein positiver Wert...
Gerne noch mal mein Script, welches ich als separates Script laufen habe (ChatGPT generiert- sicherlich noch zu verbessern).
Es funktioniert aber sehr gut und regelt die AC-Ladung sehr zuverlässig mit einer Resteinspeisung von 20-70 Watt.Einziges Problem:
Teilweise schaltet sich die Steckdose in der Nacht ein, wenn ich z.B.- einen Verbrauch von 250 Watt aus dem Akku ziehe (Grundlast).
- Wenn ich dann z.B. den Wasserkocher anschalte, dann liefert der Akku 600 Watt ins Hausnetz (Verbrauch ist ja dann bei ~2kW).
- Dann schaltet sich er Wasserkocher aus und ich habe einen "Negativen Wert = Einspeisung" in Höhe von 350 Watt bis der Akku zurückregelt
- Dann springt die Teckdose an, der Akku bleibt auf 600 Watt und fängt an über AC zu laden...da muss ich dann manuell eingreifen
const vPower = 'fronius.0.meter.0.PowerReal_P_Sum'; // Pfad zur Leistung des Fronius Smartmeters const Schalter = 'tuya.0.bf86db8XXXXX.1'; // Pfad zur Tuya Steckdose let timeout = null; const ecoflowObject = "0_userdata.0.ecoflow.app_1695477127XXXX_DCEBZ8ZEXXXXXX_thing_property_set.writeables.slowChgPower"; // Pfad zum Ecoflow-Objekt // Funktion zum Abrufen und Umrechnen des Werts vom Fronius Smartmeter alle 60 Sekunden const EINSCHALT_POWER = 200 const AUSSCHALT_POWER = 0 let powerValue = 0 intervalId = setInterval(function () { const froniusValue = Math.floor(getState(vPower).val); // Wert vom Fronius Smartmeter const aktuelle_powerValue = getState(ecoflowObject).val let Entscheidungswert = (froniusValue * -1) + aktuelle_powerValue if (Entscheidungswert >= EINSCHALT_POWER){ Entscheidungswert = Math.floor(Entscheidungswert / 100) * 100; // Runde den positiven Wert auf die vollen hundert ab powerValue = Entscheidungswert } if (powerValue > 0 && Entscheidungswert > AUSSCHALT_POWER){ Entscheidungswert = Math.ceil(Entscheidungswert / 100) * 100; // Runde den negativen Wert auf die vollen hundert auf powerValue = Entscheidungswert } if (Entscheidungswert <= AUSSCHALT_POWER){ powerValue = 0 } let setValue = powerValue if (setValue < 200) setValue = 200 if (setValue > 2600) setValue = 2600 setState(ecoflowObject, setValue); // Wert in das Ecoflow-Objekt schreiben }, 30000); // alle 30 Sekunden on(vPower, function(dp) { if (dp.state.val <= -250) { // Überschussleistung in Watt if (timeout) { clearTimeout(timeout); timeout = null; } setState(Schalter, true); // Steckdose einschalten } else if (dp.state.val >= 100) { if (!timeout) { timeout = setTimeout(function() { if (getState(vPower).val >= 0) { // Prüfen, ob der Wert des Fronius Smart Meters innerhalb von 2 Minuten wieder negativ wird setState(Schalter, false); // Steckdose ausschalten nach 2 Minuten } timeout = null; }, 120000); // Verzögerung von 2 Minuten } } });
-
@ralf77 hast du das mit der Version von heute 1.2.1 gemacht?
-
@waly_de Nein, mit der Version 1.2 vom 04.12.
-
@ralf77 dann Versuchs bitte noch mal mit der neuen Version. Ich habe wie gesagt die Bezugsgröße geändert. Zuvor war es das so Gap. Das ist die Differenz zwischen der von einem PowerStream angeforderten Leistungen zu dem , was der powerStream wirklich liefert. Das kann aber bei bestimmten Konfigurationen zu Fehlinterpretationen führen.
In dem neuen Skript ist Real power die Quelle für die Bestimmung des Überschusses. Das könnte dein Problem lösen. -
@waly_de werde ich machen...
Kurze Frage zu folgendem Abschnitt im Script:
// Beispiel für Delta-Nutzung ohne Schlaltersteckdose:
// Wird an einer Delta auch der PV-Eingang genutzt, bitte die PV-Leistung unter AdditionalPower anlegen. Die passende ID ist:
// 0_userdata.0.ecoflow.app_device_property_xxx.data.params.mppt.inWatts
// Bei der Delta: "subscribe: true" konfigurierenBedeutet das, dass ich das nur beim Verwenden eine Schaltersteckdose machen muss (darf)?...wenn ich die AC-Laderegelung ohne Schaltsteckdose machen möchte, soll ich das (darf ich das) dann nicht ausfüllen? Generell wäre es imho immer gut, wenn keine Schaltsteckdose eingesetzt wird. Bisher war das halt immer nötig....
Update: Leider funktioniert automatische Überschussladung immer noch nicht ganz korrekt. Folgendes war mein Versuch mit V1.2.1:
- Ohne Schaltsteckdose
- Überschuss war vorhanden
- AC Ladung hat begonnen und zu regeln (soweit war es ok)
Dann:
- Zuschalten einer großen Last im Haus wodurch Strom aus dem öffentlichen Netz bezogen wurde (851Watt), da zu wenig Überschuss vorhanden
- ExcessPower ginng auf 0Watt
- slowChgPower ging auf 0Watt
- chgPause ist auf Status "0" gegangen
- DeltaPro hat weiterhin 204W aus AC-Strom aus dem Netz genommen (Ladung wurde nich komplett angehalten!)
Update 2: Nachdem ich die große Last abgeschalten habe und ich wieder Überschuss vorhanden war, ist ChgPause auf Status "1" gegangen und der AC-Ladevorgang wurde jetzt komplett eingestellt - obwohl ja jetzt die Ladung entsprechend des Überschusses angepasst werden sollte - ein Starten der AC-Ladung erfolgte auch nach mehreren Minuten nicht obwohl Überschuss vorhanden war / ExcessPower wieder positiv war / SlowChgPower positv war...
Als ich dann das AC-Ladekabel aus der Steckdose gezogen habe und neu eingesteckt habe ist die AC-Ladung wieder gestartet....
Die regelung scheint jetzt zu klappen nur das Ausschalten/Einschalten durch "chgPause" klappt zumindest bei mir noch nicht automatisch. -
@ralf77 ja, ist missverständlich. Sorry. Wenn ein Solarpaneel angeschlossen ist, sollte der Wert Wert immer angegeben werden. Hast du also richtig gemacht!
Der Rest sieht eigentlich gut aus. Bitte mach’s erst mal mit der Schalter Dose, denn der Einsatz der Charge Pause ist noch relativ unsicher. Auch muss Charge Pause auf eins gehen nicht auf null, wenn die Ladung pausiert werden soll. Das kannst du in der Konfiguration umdrehen. Solange die Schalterdose eingeschaltet ist beziehungsweise Charge Pause nicht auf eins steht zieht die Delta immer eine Grundleistung von 70-120 W. Egal, was man bei Slow Charge übergibt
-
@waly_de Mit der Schaltsteckdose klappt es soweit ganz gut. Nur wird immer ca. 50-100 Watt zu viel AC-Strom geladen (also aus dem Netzt genommen).
Würde es helfen, wenn ich für "ExcessChargeOffsetPower einen Wert von z.B. -100 setze?
Wäre das ein Offset, welches den errechneten Wert reduzieren würde?Ich habe in meinem Script z.B. den berechneten Wert immer auf den vollen Wert abgerundet (in Hunderter-Schritten).
Also wenn eine AC-Ladung von 489 Watt errechnet wurde, dann habe ich mit 400 Watt geladen.
Mein Ziel war es sicherzustellen, dass auf keinen Fall der Speicher mit Netz-Stron geladen wird.Generell: Vielen Dank für Deine super Arbeit. Da benötigt sicherlich viel Zeit und ich hoffe, dass es sich auch ein wenig für Dich "auszahlt".
-
@ralf77 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Mit der Schaltsteckdose klappt es soweit ganz gut. Nur wird immer ca. 50-100 Watt zu viel AC-Strom geladen (also aus dem Netzt genommen).
Würde es helfen, wenn ich für "ExcessChargeOffsetPower einen Wert von z.B. -100 setze?
Wäre das ein Offset, welches den errechneten Wert reduzieren würde?was heisst immer? Heisst das dass auch wenn ein Überschuss von sagen wir 200 W da ist 250-300 W in die Delta fließen? Oder meinst du das bei unter 50 W Überschuss 50-100 W in die delta Fliesen und danach der Wert stimmt?
ExcessChargeOffsetPower auf -100 würde bedeuten, das das Script solange 0 W SlowCharge an die Delta sendet, bis 0_userdata.0.ecoflow.ExcessPower > 100 ist und dann immer 100W zu wenig anfordern. Ich denke, so groß ist deine Messabweichung nicht. Die Steckdose schaltet aber dennoch ab einem Überschuss von "ExcessChargeStartPower" ein. Daher zieht die Delta auf jeden Fall ihre 50-100W Grundlast. Ich denke nicht das es das ist was du willst.
ExcessChargeStartPower: 150,
ExcessChargeStopPower: 50,würde eher sinn machen. Erst ab 150W Überschuss wird die Delta eingeschaltet, und bei unter 50W ausgeschaltet, nachdem ExcessChargeSwitchMin (5min) um sind.
-
@waly_de ja, so wie Du es schreibts...teilweise sogar mehr als 100 Watt.
Wenn ich z.B. einen Überschuss von 200 Watt habe, dann reglt das Script die AC-Ladeleistung bei mirauf ca. 300 Watt und zieht sich somit zusätzlich 100 Watt aus dem öffentlichen Stromnetz. Könnte das damit zusammenhängen, dass ich PV-Module am DeltaPro und am PS habe und die Berechnung damit nicht mehr stimmt?Mir ist aufgefallen, dass besonders jetzt, wo der Überschuss langsam zurückgegangen ist, die Regelung im untern/sehr geringen Überschussbereich nicht sauber funktioniert. Ich hatte ca. 30-50 Watt Überschuss, die App von Ecoflow hat abeer immer noch mit ca. 400 Watt den Akku gelanden (also über 300 Watt aus dem Stromnetz gezogen). Ein Abschatlten der Schaltsteckdose hat nicht stattgefunden, obwohl viel Strom aus dem Netz bezogen wurde. Ich war leider unterwegs und konnte es nicht im Detail nachvollziehen.
Eventuell ist ein Problem, dass der Delta Pro mindestens mit 200 Watt AC laden muss (weniger geht nicht). Daher sollte die Ladung frühestens starten, wenn 250 Watt überschuss da ist - Laden dann mit 200 Watt um sicherzsutellen (also mindestens 50 Watt Offset), dass kein Strom zum Laden eigekauft wird und ein kleiner Puffer vorhanden ist. Ausschalten solte sich die AC-Ladung sobald für mehr als 1 Minute mehr als 50 Watt aus dem Netz gezogen wird.
Parallel dazu würde ich empfehlen, dass der errechnete Wert immer auf die volle Hundert abgerundet wird. Dasreduziert zusätzlich ein Schwingen der Werte und bringt weiterhin etwas Sicherheit, dass nie Netzstrom eingekauft wird.
Ich teste morgen mal Deine Empfehlung, ob damit das Problem schon gelöst wird.
-
@ralf77 said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Eventuell ist ein Problem, dass der Delta Pro mindestens mit 200 Watt AC laden muss (weniger geht nicht). Daher sollte die Ladung frühestens starten, wenn 250 Watt überschuss da ist - Laden dann mit 200 Watt um sicherzsutellen (also mindestens 50 Watt Offset), dass kein Strom zum Laden eigekauft wird und ein kleiner Puffer vorhanden ist. Ausschalten solte sich die AC-Ladung sobald für mehr als 1 Minute mehr als 50 Watt aus dem Netz gezogen wird.
Ja, denke auch dass es ein Problem ist dass die Delta pro nur ab 200Watt AC laden kann.
Ich hätte bei mir die Shelly Dose auch ab 250Watt eingeschaltet und dann muss das Script die AC Regelung übernehmen bis max. 2.300Watt (230V 10A Dauerlastgrenze) oder der Überschuss zurück geht.
Aktuell wird bei mir mit dem Script alles weg geregelt und es läuft seit gestern Abend ohne Probleme.
Ich muss bei mir auch mal die Plugs abstecken für sauberere Regelung.Leider steht er immer auf Stromversorgung priorisieren und speist jetzt ein um seine AC Ladung auszugleichen
Muss mich aber noch rein arbeiten mit dem zweiten Ertragssensor? und wie das Script überhaupt funktioniert
-
@ralf77 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Eventuell ist ein Problem, dass der Delta Pro mindestens mit 200 Watt AC laden muss (weniger geht nicht). Daher sollte die Ladung frühestens starten, wenn 250 Watt überschuss da ist -
ExcessChargeStartPower: 250,
Laden dann mit 200 Watt um sicherzsutellen (also mindestens 50 Watt Offset), dass kein Strom zum Laden eigekauft wird und ein kleiner Puffer vorhanden ist.
ExcessChargeOffsetPower: -50,
Ausschalten solte sich die AC-Ladung sobald für mehr als 1 Minute mehr als 50 Watt aus dem Netz gezogen wird.
ExcessChargeSwitchMin: 1,
ExcessChargeStopPower: 100, // davon ausgehend das die delta 150 W zieht, auch wenn 0 bei slow Charge angegeben ist, also 50 W aus dem Netz kommen. -
Eins noch:
ConfigData.BasePowerOffset ist in der Berechnung auch berücksichtigt.
Wenn dafür also zum Beispiel 50 W eingestellt ist, versucht die Überschussladung wieder auf diese 50 W Grund Bezug aus dem Netz einzuregeln.
Ob das so sinnvoll ist, könnte diskutiert werden. Ich wünschte, es gebe mehr Test-SonneWas meint ihr? Soll BasePowerOffset keine Rolle spielen bei der Überschussladung?
-
@waly_de said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
@ralf77 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Eventuell ist ein Problem, dass der Delta Pro mindestens mit 200 Watt AC laden muss (weniger geht nicht). Daher sollte die Ladung frühestens starten, wenn 250 Watt überschuss da ist -
ExcessChargeStartPower: 250,
Laden dann mit 200 Watt um sicherzsutellen (also mindestens 50 Watt Offset), dass kein Strom zum Laden eigekauft wird und ein kleiner Puffer vorhanden ist.
ExcessChargeOffsetPower: -50,
Ausschalten solte sich die AC-Ladung sobald für mehr als 1 Minute mehr als 50 Watt aus dem Netz gezogen wird.
ExcessChargeSwitchMin: 1,
ExcessChargeStopPower: 100, // davon ausgehend das die delta 150 W zieht, auch wenn 0 bei slow Charge angegeben ist, also 50 W aus dem Netz kommen.So teste ich jetzt mal.
Habe zusätzlich alle SmartPlug`s demontiert.
Die gehen mit doppeltem Wert des Verkaufs direkt per PayPal an dich @Waly_de
-
@waly_de vielen Dank für Deine anhaltende Motivation!
Ich werde morgen mal mit Deinen Werten testen.
Das mit dem BasePowerOffset habe ich nicht verstanden.
Warum wird versucht 50 Watt aus dem Netz zu beziehen? Was ist der Gedanke dazu?
Mein Ziel ist es immer lieber 50 Watt einzuspeisen und damit sicherzustellen, dass jeglicher Netzbezug zum Laden des Akkus vermieden wird.Ohne jetzt Deine Gedanken dazu zu kennen ist es schwierig für mich das einzuschätzen.
Generell würde ich aber immer empfehlen auf einen kleinen Überschuss zu regeln (so macht das z.B. myPV mit der Heizstabregelung auch). -
@Waly_de
ich hab mir heute deine neueste Version installiert und bekomme eine neue Fehlermeldung. Whs. unabhängig vom Script aber vllt. Kennt du das?19:24:35.248 info javascript.1 (1390) Start javascript script.js.Solarsteuerung.Powerstream 19:24:35.341 error javascript.1 (1390) script.js.Solarsteuerung.Powerstream: Error: Cannot find module './container/OtherContainer/Stack' 19:24:35.357 error javascript.1 (1390) at script.js.Solarsteuerung.Powerstream:954:14 19:24:35.357 error javascript.1 (1390) at script.js.Solarsteuerung.Powerstream:2872:3 19:24:35.383 info javascript.1 (1390) script.js.Solarsteuerung.Powerstream: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 19:24:35.670 error javascript.1 (1390) script.js.Solarsteuerung.Powerstream: TypeError: Cannot read properties of undefined (reading 'connect') 19:24:35.670 error javascript.1 (1390) at setupMQTTConnection (script.js.Solarsteuerung.Powerstream:1152:25) 19:24:35.671 error javascript.1 (1390) at script.js.Solarsteuerung.Powerstream:1456:10 19:24:40.897 info javascript.1 (1390) Stop script script.js.Solarsteuerung.Powerstream
-
@accu Ja man kann in der Ecolflow-App einen Shelly schalten und z.B. den aktuellen Verbrauch sehen.
Aber sollte ein Addon am Shelly montiert sein, sieht man die Daten nicht. Auch habe ich bisher ncihts gefunden, dass über automatische Regeln in der Ecoflow-App ein Shelly geschaltet werden kann
-
@waly_de Wenn dann möchte ich den ioBroker so minimal (stromsparend und einfach) wie möglich betreiben. Mein Homey Pro ist ja auch nur ein kleines und kompaktes System. Wie kann ich das machen? Was brauche ich dazu?
P.S. Ist vdein Skript auch für in Verbindung mit der Delta Pro geeignet? Ich lese im Skript nur was von DeltaMax und Delta2Max. -
@waly_de wie funktioniert das log für zwei Geräte ?
const logpath = '/opt/iobroker/log/'; const SERIAL_TO_LOG = "R351ZEB4HF4Exx1" const LogAllOfSerial = true //false= nur Set-Anweisungen, true = alles von der Seriennummer const SERIAL_TO_LOG = "HW51Z6xxxx2" const LogAllOfSerial = true //false nur Set-Anweisungen, true = alles von der Seriennummer
funktioniert das Script nicht mehr
-
Update auf Javascript Adapter v7.6.2 löste das Problem
-
@Waly_de irgendwas/ irgendeine Änderung hat die dynamische Einspeiseregelung des PS mit der Version 1.2 und 1.21 (neu) deutlich verschlechtert. Siehe das Bild und die Unterschiede in der Regelung.
Gestern hatte ich noch die Version 1.1.3.2 vom 31.08 in Verwendung (alt)