Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Mario1995

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    M
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 13
    • Best 2
    • Groups 1

    Mario1995

    @Mario1995

    Starter

    2
    Reputation
    8
    Profile views
    13
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Mario1995 Follow
    Starter

    Best posts made by Mario1995

    • RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung

      Guten Morgen,

      ich habe heute die neue 2 kWh Batterie in Betrieb genommen. Eco Flow hat meinen PowerStream auf die Version 1.0.1.195 geupdatet (durch den Service), da ansonsten der PowerStream die Batterie nicht erkannt hat.

      Das Skript läuft grundsätzlich bei mir (ohne erkennbare Fehler oder Abbrüche).
      Der Timber Pulse (Lokale Auslosung, nicht über die Cloud), liefert auch zuverlässig die Daten.

      Leider erfolgen keine Änderungen durch das Skript (Anpassung an den aktuellen Stromverbrauch). Die Batterie wird unter Objekte in IoBroker auch nicht mit Werten gefüllt (habe alle möglichen Batterietypen ausgetestet).

      Ich glaube tatsächlich das Skript müsste angepasst werden. Oder hat jemand das ganze schon zum laufen bekommen?

      Wie kann ich helfen? Was für Logdateien etc. werden benötigt?

      Ergänzung:

      Ich habe jetzt doch einen Fehler im Skript bei mir gefunden:

      
      javascript.0
      2024-04-06 12:01:01.909	info	script.js.common.Ecoflow: Fehler beim Abrufen des niedrigsten Werts: timeout
      
      javascript.0
      2024-04-06 12:01:01.908	info	script.js.common.Ecoflow: getLowestValue-error: timeout
      
      javascript.0
      2024-04-06 12:00:46.909	info	script.js.common.Ecoflow: Fehler beim Abrufen des niedrigsten Werts: timeout
      
      javascript.0
      2024-04-06 12:00:46.908	info	script.js.common.Ecoflow: getLowestValue-error: timeout
      

      Stand 12:40 Uhr:

      Es war der History Adapter, der gefehlt hatte.. Habs in den anderen Beiträgen gefunden. Das Skript läuft jetzt! Die Batterie wird dennoch nicht erkannt (Wert Null für Batteriezustand)

      Ich habe das Ganze jetzt erstmal so gelöst, dass bei dieser Zeile folgende Werte reinkommen (weil Batteriestand ja unbekannt):

      lowBatLimitPozOn: 0, lowBatLimitPozOff: -1, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf 
      
      posted in JavaScript
      M
      Mario1995
    • RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung

      @mario1995 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

      1. Frage: Besteht die Möglichkeit einen gewissen Verbraucher (z.B. aus einer Zigbee Steckdose mit Verbrauchsanzeige) explizit nicht aus dem Speicher mit Strom zu versorgen?
        Also quasi aktueller Stromverbrauch lt. Timber Pulse ./. der Steckdose?

      Das ist eine interessante Frage. Tatsächlich müsste das sogar funktionieren, wenn du die Steckdose unter AdditionalPower anlegst. Dann musst du noch den parameter NoPV auf True setzen und den Faktor auf -1. Dadurch würde dann die Leistung der Steckdose von RealPower abgezogen und vom Skript nicht aus reguliert.

      Ich habe das heute Abend mal probiert. Also in AdditionalPowerSum gibt einen negativen Verbrauchswert raus. Dennoch wird dieser ignoriert. In der Ecoflow App werden trotzdem 600 Watt angefordert.

      RealPower und lowestValue steigen kurz auf einen hohen Wert, geben dann aber den ungefähren eigentlichen Verbrauch aus. Eine Änderung in der Grundlast tritt dabei dann aber nicht auf. Diese bleibt bei 600 Watt.

      Hast du vielleicht noch eine Idee, woran das liegen könnte?

      Ich hab das Problem lösen können.. Ich habe über Blockly ein Skript geschrieben. Aktueller Stromverbrauch laut Tibber ./. dieser einen Fritz!Box Steckdose = Wert über Stromverbrauch für das Ecoflow Skript. Das hat geklappt.

      Tut mir leid falls das zu viele Fragen hier im Forum waren. Musste mich erstmal belesen. Habe iOBroker eigentlich nur für dieses Ecoflow Skript 🙂

      posted in JavaScript
      M
      Mario1995

    Latest posts made by Mario1995

    • RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung

      Guten Tag,

      ich habe eine Frage zu dem Tibber Modul (Dynamischer Strompreis). Die Einrichtung hat geklappt. Leider habe ich nur die Wasserfeste 2kwh Batterie, welche ja nicht über eine AC Aufladung gesteuert werden kann.

      SwitchID: "sonoff.0.NOUS-DVES_F0A844.POWER", //ID des Schalters, der die AC-Ladung einschaltet. "true" und "false" werden gesetzt
      

      Diese Zeile ist für mich also momentan nutzlos.. Wäre es möglich das aufgrund des günstigen Strompreises die Einspeisung der Solarmodule in den Akku erfolgt? Kann mir da jemand helfen? Vielen Dank 🙂

      posted in JavaScript
      M
      Mario1995
    • RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung

      @gooflo Hallo, ich setzte die 2 kWh Outdoorbatterie ein von Ecoflow. Diese ist jetzt im Winterbetrieb so eingestellt, dass die Entladegrenze auf 11% gestellt ist. In dem mir oben genannten Beispiel lag ja dann die Batteriekapazität bei 15%.

      Das wäre ja auch in Ordnung das die Batterie erstmal bis zur unteren Kapazität auflädt...

      Leider kann ich das Verhalten nur sporadisch beobachten, da ich ja nicht die ganze Zeit in die App gucken kann.

      Ich werde das mal weiterhin beobachten. Ich melde mich, sollte ich eine Lösung gefunden haben 🙂

      posted in JavaScript
      M
      Mario1995
    • RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung

      @gooflo Ich nochmal..

      Also das Skript läuft an sich. Allerdings wird leider die entsprechende Solarmenge nicht ins Netz gegeben. Das sollte ja eigentlich das Skript bewirken. Stromversorgung priorisieren ist an.

      Habe ich vielleicht irgendwelche Parameter falsch eingestellt?

              // 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: 105, battPozOff: 110,              // 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: 15, lowBatLimitPozOff: 25, // Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf 
                  lowBatLimit: 150,                           // "lowBatLimit" limitiert, bis der Ladezustand wieder bei "lowBatLimitPozOff" ist
                  LimitIsPVInput: true,                       // gooflo: wenn Batterie < LimitIsPVInputThresholdCapa und PV Input > LimitIsPVInputThresholdPVIn verwenden wir den PV Input als Output (minimiert Batterienutzung in diesem Bereich, vor allem im Winter sinnvoll)
                  LimitIsPVInputThresholdCapa: 20,            // gooflo: Schwelle für Batteriekapazität in %
                  LimitIsPVInputThresholdPVIn: 20,            // gooflo: Schwelle für PV Input in Watt
      

      So sieht das in der App aus:

      IMG_2830.PNG

      LG
      Mario

      posted in JavaScript
      M
      Mario1995
    • RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung

      @gooflo Super 🙂 Vielen Dank! Ich beobachte die Tage das Verhalten des Skripts 🙂 LG

      posted in JavaScript
      M
      Mario1995
    • RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung

      @gooflo Hallo, leider läuft das Skript doch nicht richtig.

      Folgender Fehler taucht auf:

      javascript.0	12:03:22.084	info	script.js.common.Ecoflow_Test: Fehler beim Abrufen des niedrigsten Werts: ReferenceError: index is not defined
      
       if ((GlobalObj[asn].GAPdurchschnitt < 10 && gapSumme > 10) || GlobalObj[asn].gapWait > Date.now() - (1 * 60 * 1000)) {
                                          if (GlobalObj[asn].gapWait == 0) GlobalObj[asn].gapWait = Date.now()
                                          Setpower = Setpower + gapSumme - GlobalObj[asn].LeiststungsGap
                                          mlog("Der ps: " + GlobalObj[asn].PsName + " bekommt die Gapsumme: " + (gapSumme - GlobalObj[asn].LeiststungsGap) + " W Zusaetzlich")
                                      } else {
                                          if (GlobalObj[asn].gapWait != 0) mlog("Der ps: " + GlobalObj[asn].PsName + " gapWait zurückgesetzt")
                                          GlobalObj[asn].gapWait = 0
      
                                      }
                                      //*/
                                       // gooflo: limitiere auf PV Input falls Bedingungen erfüllt sind
       let currentPVinput = GlobalObj[asn].sumPV
       if (ConfigData.seriennummern[i].LimitIsPVInput && 
           GlobalObj[asn].batstate < ConfigData.seriennummern[i].LimitIsPVInputThresholdCapa && 
           currentPVinput > ConfigData.seriennummern[i].LimitIsPVInputThresholdPVIn 
           && Setpower > currentPVinput) 
       {
           mlog("PS " + index + ": Limit AC output to PV input = " + currentPVinput + " (Capa: " + GlobalObj[asn].batstate + " < " + ConfigData.seriennummern[i].LimitIsPVInputThresholdCapa + " PVIn: " + currentPVinput + " > " + ConfigData.seriennummern[i].LimitIsPVInputThresholdPVIn + ")")
           cutoff = Math.floor((Setpower - currentPVinput ))
           Setpower = currentPVinput
           myMaxPower = Setpower
       } else if (Setpower > myMaxPower) {
           // Original code
           cutoff = Math.floor((Setpower - myMaxPower))
           Setpower = myMaxPower
                                      } else {
                                          Setpower = Setpower + cutoff
                                          cutoff = 0
                                          if (Setpower > myMaxPower) {
                                              cutoff = Math.floor((Setpower - myMaxPower))
                                              Setpower = myMaxPower
                                          }
                                      }
                                      //Setpower = Setpower - GlobalObj[asn].dynamicWatts
      

      In dem Code hängt er sich glaube ich an Zeile 18 auf "Index".

      Habe ich das so richtig eingefügt? Ist da vielleicht ein Fehler?

      LG
      Mario

      posted in JavaScript
      M
      Mario1995
    • RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung

      @gooflo Vielen Dank nochmal für die Erklärung. Ich hatte einerseits Nicht die Richtige Version 125 eingespielt, andererseits habe ich das auch übersehen das es sich ab Zeile 16 um den alten Code handelt.

      Ich bin mal gespannt wie das läuft 🙂

      Nochmal vielen Dank und einen schönen ersten Advent noch 🙂

      posted in JavaScript
      M
      Mario1995
    • RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung

      @gooflo Ich habe versucht deine Änderungen in meinem Skript testweise einzubauen.

      Bei mir kommt jedoch folgender Fehler:

      javascript.0	14:43:28.867	error	script.js.common.Ecoflow_Test: ReferenceError: asn is not defined
      

      Kannst du mir da weiterhelfen? Vielen Dank für deine Arbeit 🙂

      posted in JavaScript
      M
      Mario1995
    • RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung

      @accu Ich habe die Outdoor Batterie (2 Kwh). Das Skript funktioniert damit. Allerdings werden die Ganzen Werte (Akkustand etc.) direkt vom PowerStream geliefert. Zu deiner anderen Frage mit der Delta kann ich dir keine Auskunft geben.

      posted in JavaScript
      M
      Mario1995
    • RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung

      @waly_de sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

      @mario1995 das hast du gut gelöst!
      Was hast du denn für eine Batterie angeschlossen?
      Wird denn in der App, wenn du den Power Stream anklickst die angeschlossene Batterie und der aktuelle Batteriestand richtig angezeigt?
      Für mich klingt das eher nach einem Softwareproblem zwischen den Ecoflow.
      Vielleicht hast du auch das Batterie Kabel vom Power Stream zur Delta in den falschen Port bei der Delta gesteckt? Das Kabel muss auf jeden Fall mit Port eins verbunden sein.

      Das ist die neue 2kwh Batterie (Wasserfest). Einen einprägsamen Namen hat diese bisher nicht.

      Durch ein Update des Powerstreams auf die Version 1.0.1.195 durch den Support wird die Batterie mit Temperatur und Prozentzahl angezeigt.

      Home-Assistant kann die Daten der Batterie auch auslesen (Ecoflow Integration).

      Welche Werte werden denn zur Verwendung des Skripts benötigt? z.B. Wenn ich die Delta 2 (D2) im Skript einstelle?

      Das wären doch diese Angaben, oder?

         { id: 0, name: 'acChgCfg_D2', ValueName: 'chgWatts', Typ: 'D2', MT: 5, AddParam: '{"chgWatts":600,"chgPauseFlag":255}' },
          { id: 0, name: 'acOutCfg_D2', ValueName: 'enabled', Typ: 'D2', MT: 3 },
          { id: 0, name: 'dcOutCfg_D2', ValueName: 'enabled', Typ: 'D2', MT: 1 },
          { id: 0, name: 'quietMode_D2', ValueName: 'enabled', Typ: 'D2', MT: 5 },
          { id: 0, name: 'dcChgCfg_D2', ValueName: 'dcChgCfg', Typ: 'D2', MT: 5 },
      

      Wäre es möglich, dass diese Daten der Batterie allesamt vom Powerstream kommen?

      Für mich wäre das eine Erklärung dafür, warum Home Assistant die Funktion schon hat...

      Weil ich glaube tatsächlich, dass dieser Akku sich nicht getrennt per Wlan oder Bluetooth anmeldet sondern die Daten über den Powerstream einreicht...

      Nachtrag:

      Unter dem Powerstream werden die Daten dieser neuen Batterie abgelegt.

      Zu finden sind diese unter: Objekte - app_device_property_SeriennummerderPowerstation- Data - InverterHeartbeat. Dort sind folgende Informationen zur Batterie angegeben:

      0_userdata.0.ecoflow.app_device_property_XXXXXXX.data.InverterHeartbeat.batInputVolt
      0_userdata.0.ecoflow.app_device_property_XXXXXXX.data.InverterHeartbeat.batInputWatts
      0_userdata.0.ecoflow.app_device_property_XXXXXXX.data.InverterHeartbeat.batSoc
      0_userdata.0.ecoflow.app_device_property_XXXXXXX.data.InverterHeartbeat.batTemp

      posted in JavaScript
      M
      Mario1995
    • RE: ecoflow-connector-Script zur dynamischen Leistungsanpassung

      @mario1995 sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

      1. Frage: Besteht die Möglichkeit einen gewissen Verbraucher (z.B. aus einer Zigbee Steckdose mit Verbrauchsanzeige) explizit nicht aus dem Speicher mit Strom zu versorgen?
        Also quasi aktueller Stromverbrauch lt. Timber Pulse ./. der Steckdose?

      Das ist eine interessante Frage. Tatsächlich müsste das sogar funktionieren, wenn du die Steckdose unter AdditionalPower anlegst. Dann musst du noch den parameter NoPV auf True setzen und den Faktor auf -1. Dadurch würde dann die Leistung der Steckdose von RealPower abgezogen und vom Skript nicht aus reguliert.

      Ich habe das heute Abend mal probiert. Also in AdditionalPowerSum gibt einen negativen Verbrauchswert raus. Dennoch wird dieser ignoriert. In der Ecoflow App werden trotzdem 600 Watt angefordert.

      RealPower und lowestValue steigen kurz auf einen hohen Wert, geben dann aber den ungefähren eigentlichen Verbrauch aus. Eine Änderung in der Grundlast tritt dabei dann aber nicht auf. Diese bleibt bei 600 Watt.

      Hast du vielleicht noch eine Idee, woran das liegen könnte?

      Ich hab das Problem lösen können.. Ich habe über Blockly ein Skript geschrieben. Aktueller Stromverbrauch laut Tibber ./. dieser einen Fritz!Box Steckdose = Wert über Stromverbrauch für das Ecoflow Skript. Das hat geklappt.

      Tut mir leid falls das zu viele Fragen hier im Forum waren. Musste mich erstmal belesen. Habe iOBroker eigentlich nur für dieses Ecoflow Skript 🙂

      posted in JavaScript
      M
      Mario1995
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo