NEWS
ecoflow-connector-Script zur dynamischen Leistungsanpassung
-
@waly_de said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Das ist Cool. Sowas werde ich auf jeden Fall einbauen.
Kann man über die App auch die AC-Ladeleistung des D2M komplett abstellen?
Mein Delta Max zieht sich nämlich immer gute 60-70W rein, auch wenn ich slowChgPower auf 0 stelle.Das Beste wäre natürlich ich hätte mal einen D2M hier. Vielleicht möchte mir hier ja jemand mal einen für die Zeit der Entwicklung zur Verfügung stellen?
Ich hab das mal schnell getestet mit der D2M:
Beim setzen von.chgPauseFlag
wird die Leistung in der App auf 0 angezeigt, jedoch zeigt der Shelly noch 5W an. Das ist nicht viel, jedoch würde ich optional einen datenpunkt des Shelly’s einbeziehen, damit das Skript den Shelly oder andere Schalter steuern kann.Darüber hinaus kann man noch auf 120W minimale Ladeleistung heruntergehen, was in der App ca 100W Ladeleistung entspricht. Alles darunter funktioniert nicht mehr und die Batterie wird laut App nicht mehr geladen.(Shelly zeigt dann immer ca. 70W an, wenn der Wert zu gering ist).
Übrigens kann man dann jeden Wert zwischen 120 und 2400W in iobroker einstellen und wird auch korrekt in der App angezeigt.Also zum Ein/Ausschalten entweder:
.chgPauseFlag
auf 1 setzen oder- ac Eingang über Steckdose/Schalter steuern
Danach regeln der Leistung über
.slowChgWatts
von MinWatt (D2M=120W) bis MaxWatt (D2M=2400W) -
@photon-harvester sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Moin Moin,
habt ihr einen Tip für mich, wie ich verschiene IDs zu einem Wert addieren kann, um es anschließend zu visualisieren?
Bsp. ID:AkkuSoC1 +ID:AkkuSoC2 = ID:AkkuSoCgesammt --> dann ablegen in history für z.B. VIS
Danke
PS: kann leider nicht programmieren, nur copy-paste oder WidgetsNeues Script Anlegen und das hier Einfügen
const Wert1 = "id.von.dem.wert1" const Wert2 = "id.von.dem.wert2" const SumWert = "id.von.dem.SumWert" // Überwacht jede Änderung der beiden Werte und berechnet dann die neue Summe const Regex = new RegExp("(" + Wert1.replace(".","\.") + ")|(" + Wert2.replace(".","\.") + ")"); on({ id: Regex, change: "ne" }, function (obj) { // Hier kannst Du den Wert beliebig gestalten const Summe = Number(getState(Wert1).val) + Number(getState(Wert2).val) // Schreibt den SumWert und legt den State an, falls er noch nicht exsistiert setStateNE(SumWert,Summe) }); //für SumWert noch die History-Einstellungen aktivieren und fertig ;-) //**************************************** */ // HILFSFUNKTION //**************************************** */ function setStateNE(id, value, ack = false, common = {}, native = {}) { existsState(id, function (err, exists) { if (!exists) { let valueType = typeof value; let name = id.split('.').pop(); if (Object.keys(common).length === 0) { common = { name: name, type: valueType, role: 'state', read: true, write: true, }; } createState(id, value, false, common, native, function () { setState(id, value, ack); }); } else { setState(id, value, ack); } }); }
-
@ponti92 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
ch hab das mal schnell getestet mit der D2M:
Beim setzen von .chgPauseFlag wird die Leistung in der App auf 0 angezeigt, jedoch zeigt der Shelly noch 5W an. Das ist nicht viel, jedoch würde ich optional einen datenpunkt des Shelly’s einbeziehen, damit das Skript den Shelly oder andere Schalter steuern kann.
Darüber hinaus kann man noch auf 120W minimale Ladeleistung heruntergehen, was in der App ca 100W Ladeleistung entspricht. Alles darunter funktioniert nicht mehr und die Batterie wird laut App nicht mehr geladen.(Shelly zeigt dann immer ca. 70W an, wenn der Wert zu gering ist).
Übrigens kann man dann jeden Wert zwischen 120 und 2400W in iobroker einstellen und wird auch korrekt in der App angezeigt.
Also zum Ein/Ausschalten entweder:.chgPauseFlag auf 1 setzen oder
ac Eingang über Steckdose/Schalter steuernDanach regeln der Leistung über .slowChgWatts von MinWatt (D2M=120W) bis MaxWatt (D2M=2400W)
alles klar... wenn du mal in die Einstellungen der neuen Version schaust, da hab ich schon etwas vorbereitet. Ich denke diese Parameter können das alles abdecken...
-
@waly_de ok cool!
Ich bin schon gespannt auf das neue Skript
Vor allem ist für mich das neue multi PS Verhalten interessant!Leider ist erst wieder ab morgen Sonne bei uns, sodass ich erst die nächsten Tage Feedback geben kann.
-
@waly_de Verstehe, Dank Dir!
Gibt es noch eine Einstellung die ich verändern kann um Folgendes anzupassen?
Die Grundlast die mein Poweropti angibt und vom Script zur Berechnung genutzt wird, ist immer ca. 30W niedriger als der Wert der vom Script letztlich geliefert wird.
Wenn der Poweropti z.B. 35W des aktuellen Netzbezugs angibt, müssten die doch möglichst auch so als Wert "Andere Verbraucher" in der Ecoflow App auftauchen. Da werden aber dann in dem Fall 70W bezogen. Somit wird durch das Script zeitweise 30 Watt mehr aus meinem Akku gezogen als nötig wäre.
Wie kommt dieser "Aufschlag" zustande? -
@oli2023 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Die Grundlast die mein Poweropti angibt und vom Script zur Berechnung genutzt wird, ist immer ca. 30W niedriger als der Wert der vom Script letztlich geliefert wird.
Wenn der Poweropti z.B. 35W des aktuellen Netzbezugs angibt, müssten die doch möglichst auch so als Wert "Andere Verbraucher" in der Ecoflow App auftauchen. Da werden aber dann in dem Fall 70W bezogen. Somit wird durch das Script zeitweise 30 Watt mehr aus meinem Akku gezogen als nötig wäre.
Wie kommt dieser "Aufschlag" zustande?Ich glaube, Du hast es falsch verstanden. Dein Poweropti zeigt dir genau an, wie viel Strom du gerade vom Netzanbieter einkaufst. "Andere Verbraucher" in der EcoflowApp zeigt an, wieviel Leistung dein PowerStream gerade an Dein Hausnetzt abgibt. (ich gehe mal davon aus, das Du keine Plugs nutz)
Wenn also Dein Poweropti 35 W anzeigt und deine App 70W für "Andere Verbraucher" dann hast Du aktuell einen Verbrauch von 105 W in deinem Haushalt. (life zu sehen unter Realpower in den Objektdaten des Scripts). Es werden also 35W weniger aus dem Akku gezogen als zur Deckung deines Bedarfs eigentlich nötig wären. Genau so soll es sein.
Wüsste Dein Ecoflow bzw. die App, wieviel "Andere Verbraucher" wirklich verbrauchen, dann bräuchte es das Script nicht
Ich hoffe das war verständlich... -
@waly_de Super verständlich
Mir ist nur nicht klar wie oder ob ich mein Ziel mit dem Script erreichen kann oder ob es überhaupt dafür gedacht ist. Ich möchte den Poweropti, also den Netzbezug nahezu auf 0 bringen. Generell vielleicht nicht unbedingt Sinn und Zweck eines BKW, aber in meinem Fall, Ferienhaus mit Platz für einige Panele und wenig Verbrauchern, fast alle mit Smartplugs abgedeckt, möglich. Nur die Spitzen von Toaster, Herd, Durchlauferhitzer (kann natürlich nicht abgefangen werden, aber soweit wie möglich), die nicht mit Smartplugs arbeiten, sollen so effektiv wie möglich bedient werden.
Mit zwei 800W Powerstreams und der DP komme ich bestenfalls auf 1600W Leistung in mein Netz und könnte das fast alles abfangen. Die Leistungsanpassung müsste dafür aber nahezu in Echtzeit funktionieren und das scheint schon am Poweropti zu scheitern, der laut Protokoll permanent aussteigt. Das scheint über den Umweg der Powerfox Cloud nicht wirklich Sinn zu machen.
Vielleicht komme ich meinem Ziel mit einem Tasmota oder Shelly EM3 näher.Würde das Ganze funktionieren, wären natürlich auch sämtliche Smartplugs nicht mehr nötig.
-
Ich habe irgendwie ein komisches Phänomen. Irgendwie entlädt sich und lädt die ganze Zeit. So wird es nichts, dass die Batterie mal voll wird.
Was kann ich machen? Habe es auf Strom-Prio stehen, doch lieber Batterie Prio einstellen?
-
@oli2023 ja das Script ist genau dafür gemacht. Es kann natürlich keine Wunder bewirken in einem System mit verschiedenen Geräten. Alle mit Latenzen. Ich schlage vor du Experimentierst mal selbst. Besorg dir eins der oben verlinkten Smartmetern, die sind recht fix und stell Ruhig mal den BaspowerOffset auf 0 und den Messmodus auf Echtzeit. Lass aber die Smartplugs besser weg.
Du wirst sehen was geht. -
@karo2204 ich schlage vor du nutzt mal die Standardeinstellung und lässt auf Stromprio stehen. Sonst kann das Script nichts regeln. Wenn’s dann nicht läuft gucken wir weiter
-
@waly_de Ich bleibe dran, Smartmeter wird gewechselt. Danke für deinen Einsatz!!
-
@waly_de So ich habe jetzt das neue Script eingespielt. Alle Einstellungen gelassen. Heute morgen mal die DM am Stromnetz komplett aufgeladen.
Habe ein bisschen was im Haushalt gemacht, der Akku ist jetzt auf 79% runter und speist 589W ein. Laut Tibber haben wir jetzt einen Stromverbrauch von -373W.
Sollte das Script jetzt nicht runter regeln, damit es auf 0 steht?
Hab mal grad unter Objects geschaut. “Real Power” bleibt bei 602W stehen und ändert sich nicht. Auch nach Neustart des Scripts nicht.
-
@karo2204 ja, solle regeln. alle smartplugs rausgenommen? Wenn sich realpower nicht ändert, kommen Messdaten vom Verbrauch vermutlich nicht an. Was sagt das log?
-
@waly_de Das Log sagt nicht viel.
Ich habe die SmartMeterID (Tibber) jetzt mal auf “powerConsumption” gestellt, statt nur “Power” (mit Minuswerten). Macht aber kein Unterschied.
SmartPlugs habe ich im Script nicht eingebunden, sind aber eingesteckt.
-
@karo2204 die plugs müssen raus, sonst können wir nicht beurteilen ob’s geht.
-
@waly_de Hab alle Plugs ausgesteckt. Das alte Script eingespielt, RealPower verändert sich jetzt. Habe aber leider nur noch 14% im Akku. Also so wieder wie vorher. Muss ich wohl wieder anstecken zum Aufladen gleich.
-
@waly_de Hallo Markus, heute hatte ich die maximale Leistung „MaxPower“(für die Einspeisung ins Stromnetz) auf 300 W begrenzt, weil ich verhindern wollte, dass die Batterie durch Kaffeemaschine, Herd … zu schnell entladen wird. Dies scheint sich aber wohl auch auf die maximale Leistung zum Laden der Batterie auszuwirken. Der Differenzbetrag scheint dann im Netz zu landen. Ist das richtig? Das möchte ich natürlich nicht.
Vielen Dank auch für das neue Script bzw. deinen Entwurf! O. g. Verhalten des PowerStream schien damit identisch zu sein. -
@karo2204 Da es jetzt zu laufen scheint, hier noch mal der wichtige Hinweis an alle:
Wenn SmartPlugs genutzt werden, überschreiben diese alle Regelversuche des Scripts.
Zwar registriert das Script inzwischen, wenn Plugs Leistung anfordern und regelt dann seine eigene Leistung entsprechend zurück, aber für den PS hat dass was die Plugs anfordern immer Priorität.Also Bitte: wenn das Script nicht wie erwartet arbeitet, dann als erstes mal sehen ob noch Plugs in Betrieb sind und diese ausstecken! Ihr könnt einfach in der App nachsehen, ob Leistung in die Smart Plugs geht. Es sollte 0W dort angezeigt werden.
Zweiter wichtiger Punkt: Das Smartmeter muss negative Werte liefern, wenn Leistung in das öffentliche Netz eingespeist wird! Bei Tibber scheint es da verschiedene Möglichkeiten zu geben.
-
@waly_de sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
alles klar... wenn du mal in die Einstellungen der neuen Version schaust, da hab ich schon etwas vorbereitet. Ich denke diese Parameter können das alles abdecken...
Hi, magst du kurz erklären was die ganzen Einstellungen da bedeuten? Die meisten sind selbsterklärend denk ich, aber ein paar Kommentare dazu wären hilfreich
Dann kann ich das heute mal testen, da wir heute viel Sonne haben.Kannst du mir diese drei Werte kurz erklären?
ExcessChargeSwitchMin: 10, ExcessChargeStartPower: 50, ExcessChargeStartPowerDurationMin: 5,
-
@waly_de
Ich hab seit gestern das neue Skript im Betrieb und es funktioniert bis jetzt wunderbar
Die zwei PS werden abhängig vom Akkustand gesteuert und es kommt nicht mehr vor, dass eine PS gar nichts liefert, und die andere die komplette Last.
Ich teste noch weiter und gebe Bescheid, falls ich was finde!