NEWS
ecoflow-connector-Script zur dynamischen Leistungsanpassung
-
@accu okay, das beruhigt mich.
Anbei eine neue Skriptversion mit den besprochenen Änderungen. Ich hatte noch keine Gelegenheit das Intensiv zu testen, daher poste ich das zunächst nur in diesem Beitrag, quasi als Beta-Fassung.(1.2.3) 21.02.2024
- Neue Parameter für den Bereich AdditionalPower: NoFeedIn und NoPV.
- Offset: Wert wird zum Messwert addiert um Messabweichungen ausgleichen zu können
- NoFeedIn: true setzen, wenn die enthaltene Leistung nicht ins Hausnetz fließt. (Nur in PVTotal aufnehmen)
- NoPV: true setzen, wenn die enthaltene Leistung nicht in TotalPV einfließen soll. (Nur in Realpower aufnehmen)
- Neue Parameter für Überschussladung: ExcessChargeMinRegulatePause und ExcessChargeRegulateSteps
- ExcessChargeMinRegulatePause: Mindestpause in Minuten zwischen einzelnen Regelbefehlen (EEPROM-Schutz)
- ExcessChargeRegulateSteps: Stufen in Watt, in denen die Werte geändert werden sollen
- Neuer Parameter "RegulationIntervalSec": Intervall in Sekunden, in denen gemessen und reguliert wird
- Neue Parameter für den Bereich AdditionalPower: NoFeedIn und NoPV.
-
@waly_de scheint erstmal zu laufen. Werde es weiter testen. Einzige Fehlermeldung bisher:
-
Ich habe das jetzt mal ausprobiert mit den "externConfig" Parameter.
Das Objekt wird auch korrekt durch mein Blocky script gesetzt, das Ecoflow Script reagiert jedoch gar nicht darauf.Sind meine Variablen hier korrekt? Soll für 3 Powerstream gesetzt werden.
{ VarName: "seriennummern[0].MaxPower", //Variabelname aus "ConfigData" bei Aufzählungen [0...X] in der Reihenfolge der Angaben id: "0_userdata.0.MaxPower_manuell" //Das Objekt (State) das den Wert für diese Variable enthalten soll. Muss manuell angelegt werden. }, { VarName: "seriennummern[1].MaxPower", //Variabelname aus "ConfigData" bei Aufzählungen [0...X] in der Reihenfolge der Angaben id: "0_userdata.0.MaxPower_manuell" //Das Objekt (State) das den Wert für diese Variable enthalten soll. Muss manuell angelegt werden. }, { VarName: "seriennummern[2].MaxPower", //Variabelname aus "ConfigData" bei Aufzählungen [0...X] in der Reihenfolge der Angaben id: "0_userdata.0.MaxPower_manuell" //Das Objekt (State) das den Wert für diese Variable enthalten soll. Muss manuell angelegt werden. },
-
@guhfy9966 das sieht korrekt aus. Allerdings ist MaxPower so ziemlich die einzige variable, die im Moment während der Laufzeit nicht zu verändern ist. das ist auch mit Vorsicht zu genießen, denn MaxPower reguliert auch die Batterieladung.
Was genau möchtest du denn erreichen, indem du diese Variable änderst?
-
Hallo, ich habe seit 2 Tagen das Problem, dass mein Script nicht mehr funktioniert. Ich hatte bisher immer vermieden Updates meiner Adapter zu machen (never touch a running system). Da das Script seit 2 Tagen aber meinen Hausstrombedarf immer auf "0" setzt (davor ist das Script seit Wochen ohne Probleme gelaufen) habe ich heute mal die ganzen Updates der Adapter und vom Host durchgeführt. Leider hat das nichts geändert. Die Regelung geht immer noch nicht (Hausstrombedarf wir dimmer auf 0 gesetzt) und ich bekomme folgende Fehlermeldungen im Protokoll:
2024-02-29 17:22:40.684 - error: javascript.0 (130429) npm 2024-02-29 17:22:40.686 - error: javascript.0 (130429) 2024-02-29 17:22:40.688 - error: javascript.0 (130429) WARN deprecated har-validator@5.1.5: this library is no longer supported 2024-02-29 17:22:41.030 - error: javascript.0 (130429) npm 2024-02-29 17:22:41.032 - error: javascript.0 (130429) WARN deprecated node-inspect@2.0.0: This module is part of Node.js core and does not need to be installed separately. It is now unmaintained. 2024-02-29 17:22:41.246 - error: javascript.0 (130429) npm 2024-02-29 17:22:41.247 - error: javascript.0 (130429) WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. 2024-02-29 17:22:41.487 - error: javascript.0 (130429) npm 2024-02-29 17:22:41.488 - error: javascript.0 (130429) WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
Ich wäre über Hilfe und Tipps sehr dankbar, da das System für mich erst mit dem Script wirklich sinnvoll funktioniert.
Aktuell verwende ich folgende Version:
Version: 1.2.1
Release date: 05.01.2024Und folgende Instanzen:
-
ich wollte wenn mein eAuto geladen wird die Einspeisung deutlich beschränken, damit nicht jedesmal die Batterien komplett leer sind...
Oder geht das auf einen eleganteren Weg? -
@ralf77 die Fehlermeldungen haben nicht direkt etwas mit dem Skript zu tun. Das sind allgemeine Warnhinweise zu Java Skript und betreffen mein Skript nicht.
Warum der Bedarf auf null gesetzt wird, kann ich dir aufgrund deiner Informationen leider nicht sagen. Bitte überprüfe die Zustände für Real power (real power muss ich regelmäßig ändern). Versuche sicherzustellen, dass dein Smart Meter Daten richtig an iobroker übermittelt werden.
-
@guhfy9966 ja, ich denke schon,
In diesem Fall macht es ja keinen Sinn mehr, dass das Skript versucht Verbräuche zu ermitteln und auszugleichen. Dafür gibt es den Zustand:
0_userdata.0.ecoflow.Regulate.
Wenn du diesen auf false setzt, hört das Skript auf zu regulieren und setzt die angeschlossenen Power Stream auf den unter RegulationOffPower festgelegten Wert:RegulationOffPower: -1, // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus)
-
@waly_de keine Ahnung was los war…Ich habe nichts geändert, aber jetzt funktioniert es wieder
-
ist es eigentlich normal, dass der hintere Teil des Skriptes Rot erscheint, als wäre da ein Syntaxfehler drin?
-
@accu das was auf dem Screenshot in rot zu sehen ist, ist ein String der wird so dargestellt Syntax Fehler werden unterstrichen. Sowas gibt es auch schon mal im Skript, wenn bestimmte Bibliotheken dem Editor nicht bekannt gemacht wurden.
In jedem Fall müsst ihr euch aber darüber keine Gedanken machen. -
Hallo zusammen,
ich bin komplett neu hier und ein wenig am verzweifeln. Ich habe den Tibber Host verbunden und hier bekomme ich auch die Werte angezeigt. Bei der Steuerung vom Powerstream bekomme ich jedoch folgende Fehlermeldungen:3.3.2024, 13:29:10.256 [info ]: javascript.0 (2054) Start javascript script.js.ecoflow 3.3.2024, 13:29:10.294 [info ]: javascript.0 (2054) script.js.ecoflow: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 3.3.2024, 13:29:10.481 [info ]: javascript.0 (2054) script.js.ecoflow: Verbunden mit dem Ecoflow MQTT-Broker 3.3.2024, 13:29:12.215 [info ]: javascript.0 (2054) script.js.ecoflow: getLowestValue-error: timeout 3.3.2024, 13:29:12.215 [info ]: javascript.0 (2054) script.js.ecoflow: Fehler beim Abrufen des niedrigsten Werts: timeout 3.3.2024, 13:29:15.684 [info ]: javascript.0 (2054) Stop script script.js.ecoflow 3.3.2024, 13:29:15.686 [info ]: javascript.0 (2054) script.js.ecoflow: Ecoflow MQTT-Client beendet
`Kann mir jemand sagen was es mit diesem "Timeout" auf sich hat und wie ich das ganze beheben kann?
Danke im Vorraus -
Herzlichen Dank für all deine Mühe! Den ioBroker hatte ich schon mal, weil shelly cloud aber alles abdecken kann was ich wollte, brauchte ich es nicht.
Ich bin ein totaler Noob mit Skripts etc. Dank deiner Anleitung & Protokollierung im Code, war für mich alles sehr einfach einzurichten. War fast schon geschockt als ich den Skript startete und es einfach funktioniert hat
Spende folgt noch.Fragen:
Macht es dem Akku nichts aus wen er über eine gewisse Zeit nur teilgeladen wird?
Ich benötige momentan regelmässig mehr Strom als vom Solar produziert wird.
Wäre eine Funktion möglich wie zum Beispiel 1x pro Woche den Akku bis 90% zu laden bevor vom Akku wieder eingespeist wird?Ich betreibe nur den PowerStream mit der Delta Pro, ausgelesen wird von dem Shelly 3EM. Spiele mit dem Gedanken weitere Panel direkt an den Delta anzuschliessen. Muss dieser Wert im Skript eingetragen werden? Wenn ja, welchen Wert, die variiert ja.
Nochmals Danke & Gruss
-
@tom-goos die Gleiche Fehlermeldung bekomme ich auch...bin auch noch nicht dahinter gestiegen.
-
Nutzt ihr eigentlich schon dass ExcessCharge-Feature? Deute ich das schon so richtig dass ich, wenn ich zum Beispiel durch Überproduktion 500W Einspeisung habe ich meine Delta Pro automatisch mit 500W AC laden lasse, oder?
Und noch eins, bitte entschuldigt wenn es schon im Forum erklärt wurde, aber wie habt ihr die (Steuer-)Verbindung aus IOBroker zu eurem Akku aufgebaut? Es gibt ja in IOBroker keine Ecoflow Anbindung soweit ich das gesehen habe, oder?
Habt ihr dann per MQTT die Daten an HomeAssistant gesendet oder gibts da nen anderen Trick? Denn die HomeAssistant-Instanz im IOBroker ist ja leider nur Read-Only soweit ich das verstanden habe... -
@audiofreak
Die Delta Pro hat einen Lithium-Eisenphosphat Akku. Da kannst du bis auf Tiefentladen nicht viel falsch machen.
Bei diesem Akkutyp ist es sogar gesünder nur kurze "Ladehübe" zu haben als einmal von 0 - 100% zu laden. -> Siehe Tesla Model 3 mit LFP-Akku.
Aber! Bei LFP ist es für das BMS schwieriger den Ladestand zu berechnen, weswegen es in regelmäßigen Zeitabständen (Tesla sagt einmal die Woche) gut wäre den Akku mal auf 100% zu laden.
Erfahrungsgemäß ist es bei mir (auch DeltaPro + Zusatzakku) auch so:
Lade und Entlade ich mehrere Wochen nur kurze Hübe, also so wie jetzt nur mal auf 30%, dann wieder 10% dann wieder 40% lässt nach 2-3 Monaten die Kapazität spürbar nach. Entlade ich ihn dann auf 0, bis er selber abschaltet, hängt er ewig auf 1% (mehrere Stunden). Lade ich ihn dann auf 100% auf hat er wieder wochenlang die volle gewohnte Kapazität. SOH bei mir immer noch 100% - was ich aber mittlerweile nicht mehr ganz glaube.
TL;DR: Dein Akku ist chemisch gesehen einer der stabilsten auf dem Markt. Kurze Ladehübe sind kein Problem bei gewisser Pflege.Den Wert deiner zusätzlichen Solaranlage die du direkt an der Delta Pro anstöpselst musst du meiner Meinung nach nicht im Script hinterlegen, das regelst du mit der Powerstream Anbindung aus, oder? Die Ladung aus der Solarplatte willst (und kannst(und sollst)) du ja nicht regeln. Oder habe ich dich da falsch verstanden?
-
@joppe
Ich beantworte meine Frage selber:
Ihr bindet die Akkus genau wie die Powerstream direkt über das Script ein -.-
Leider bekomme ich noch keine Daten...denke aber das finde ich auch noch raus. -
@joppe said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Die Ladung aus der Solarplatte willst (und kannst(und sollst)) du ja nicht regeln. Oder habe ich dich da falsch verstanden?
Hast mich richtig verstanden , die APP sollte ja schnallen dass der Akku "extern" geladen wird und den richtigen Ladestatus übermitteln.
So sollte das Skript auch die richtige Werte bekommen. -
@joppe said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:
Nutzt ihr eigentlich schon dass ExcessCharge-Feature? Deute ich das schon so richtig dass ich, wenn ich zum Beispiel durch Überproduktion 500W Einspeisung habe ich meine Delta Pro automatisch mit 500W AC laden lasse, oder?
Wenn du den Powerstation hast, wird der Delta direkt DC geladen.
Wäre ineffizient von DC zu AC und dann beim Delta wieder zurück. -
@audiofreak
Ineffizient ja, aber ich will die 500W ja nicht verschenken.
Ich dachte mir hier wird das folgende Scenario abgedeckelt:Sagen wir mal ich hab 2 Balkonkraftwerke mit je 800W.
Eines speist über einen Hoymiles direkt in die Steckdose
Das andere über eine Powerstream in den Akku UND die SteckdoseSagen wir mal die SolarLeistung liegt aktuell bei 600W, mein Verbrauch bei 200W.
Die erste Anlage wird jetzt die 200W Verbrauch bedienen und 400W direkt ins Netz einspeisen.
Die zweite Anlage nimmt 600W und steckt sie in den Akku, Powerstream Ausgang bei 0W.Jetzt möchte ich aber die 400W, die ich in unserem Scenario ins Netz haue aber auch in meinem Akku haben.
Was mache ich jetzt? Aktuell sage ich der Delta Pro über HomeAssistant sie soll bitte die AC Ladung aktivieren, mit einer Ladeleistung von 400W.
Nun lade ich die Delta Pro mit 400W AC und 600W DC, also 1000W (minus Verlust). Meine Einspeisung liegt jetzt bei 0W.
Über HASS ist das gelinde gesagt besch. zu "programmieren", es geht nur so halb bei mir. Muss immer wieder manuell nach regeln. Umso mehr habe ich mich gefreut als ich hier im Script sah dass ein ein Update gab mit ExcessCharge und dachte dass es genau mein UseCase wäre...und du, @Audiofreak meinst dass dem nicht so sei? Also nur mit einer Powerstation nutzbar?
Danke für die Antworten!