Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. ecoflow-connector-Script zur dynamischen Leistungsanpassung

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ecoflow-connector-Script zur dynamischen Leistungsanpassung

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Accu last edited by

      @Waly_de weißt Du was dieser Fehler bedeutet und was ich dagegen machen kann?
      Bildschirmfoto 2023-09-14 um 09.24.13.png

      W 1 Reply Last reply Reply Quote 0
      • W
        Waly_de @BlackEagleBE last edited by

        @blackeaglebe mega… das sind immer die Besten sagen, die einfach funktionieren 😉
        Wenn du mir Deine geänderte Version von meinem Script mit Kommentaren an Stellen die du ergänzt bzw. geändert hast schickst, wäre das super.

        Ich kann im Moment leider nichts machen erst nächste Woche wieder …

        1 Reply Last reply Reply Quote 0
        • W
          Waly_de @Accu last edited by

          @accu Netzwerk Probleme vermutlich… Neustart und warten könnte helfen 🙂

          1 Reply Last reply Reply Quote 0
          • umele
            umele last edited by umele

            Hallo zusammen,

            ich lese hier fleissig mit und bin dank der vielen Inputs (und trotz meiner Inkompetenz) schon recht weit gekommen:
            Inzwischen bekomme ich die Daten vom Sensor in iobroker, und habe die Sensor-ID im Script eingetragen.
            Aaaber - ich finde nirgends das Objekt 0_userdata.0.ecoflow.RealPower (und kann auch nicht erkennen, dass sich die Einspeisung anpasst).
            Was mache ich falsch?

            Edit: noch ein Screenshot meiner Ecoflow-Objektstruktur Objekte iobroker.png

            vielen Dank
            umele

            umele 1 Reply Last reply Reply Quote 0
            • P
              photon-harvester last edited by

              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 Widgets

              W 1 Reply Last reply Reply Quote 0
              • umele
                umele @umele last edited by

                Habe das Script jetzt mal mit voller Protokollausgabe laufen lassen. Es findet anscheinend den Sensor überhaupt nicht.

                Es kommt noch nicht mal dazu die Funktion SetBasePower auszuführen (in der wird das Objekt RealPower erstellt). Laut Script müsste diese Funktion geloggt werden.

                Auch im Debug Modus ist nichts zu finden. Bin gerade ratlos...

                Schade, dass der Debug Modus es nicht erlaubt, das Script step-by-step auszuführen - dann könnte ich das Problem vielleicht finden...

                Wäre echt toll, wenn jemand eine Idee hat - Danke!!

                W 1 Reply Last reply Reply Quote 0
                • W
                  Waly_de @umele last edited by

                  @umele wie du sagst, das Script prüft die Existenz des Sensors. Es muss also an der id liegen was genau hast du denn als smartmeterid angegeben?

                  D umele 2 Replies Last reply Reply Quote 0
                  • D
                    Dreffi @Waly_de last edited by

                    @waly_de
                    Direkte Frage an Markus:
                    Ich habe jetzt mehrfach beobachtet, dass sich einer meiner Powerstreams im falschen Prio Modus befand.

                    Einer ist konfiguriert bei vollem Akku auf Prio Akku zu schalten, der andere soll voll einspeisen. Das klappt soweit einwandfrei.
                    Gestern und heute fiel mir abends auf, dass der Powerstream der voll einspeisen soll auf Prio Akku stand.

                    Ich kann nicht sagen wieso hier überhaupt die Priorisierung geändert wurde und ob das Script dafür verantwortlich ist. Da der Bedarf irgendwann höher als die abgegebene Leistung war, hätte hier aber irgendwann umgeschaltet werden müssen.

                    Der andere Powerstream wechselte unabhängig davon wunschgemäß wegen Bedarfs von Prio Akku auf Einspeisung. Der Bedarf war schnell wieder gering. Die eingestellte AC Last betrug dann wieder 0 W, aber der Powerstream wurde trotz vollem Akku nicht wieder auf Prio Akku zurückgestellt.

                    Die Trigger für das Umstellen der Priorisierung scheinen nicht so richtig zuverlässig zu funktionieren.

                    1 Reply Last reply Reply Quote 0
                    • R
                      Ralf77 last edited by Ralf77

                      Hallo zusammen, das Script ist sehr gut bei mir bis vor kurzem gelaufen. Auf einmal hat das Scrip nicht mehr funktioniert. Es ändert die AC-Leistung des Powerstreams nicht mehr. Habe heute das Update auf den neuen Host durchgeführt, leider ohne Erfolg.

                      Generell kommuniziert das Script mit meinem Powerstream

                      19:12:58.284 info javascript.0 (1960) script.js.PowerStream: Batterie runter auf 92%: Normalbetrieb.
                      19:13:13.267 info javascript.0 (1960) script.js.PowerStream: Batterie runter auf 92%: Normalbetrieb.
                      19:13:13.465 info javascript.0 (1960) Stop script script.js.PowerStream
                      19:13:13.474 info javascript.0 (1960) script.js.PowerStream: Ecoflow MQTT-Client beendet
                      19:13:13.612 info javascript.0 (1960) Start javascript script.js.PowerStream
                      19:13:13.852 info javascript.0 (1960) script.js.PowerStream: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                      19:13:14.231 info javascript.0 (1960) script.js.PowerStream: Verbunden mit dem Ecoflow MQTT-Broker

                      Es gibt zudem sehr viele Protokolleinträge, welche ich nicht deuten kann.

                      javascript.0
                      2023-09-16 18:13:13.612 info Start javascript script.js.PowerStream

                      javascript.0
                      2023-09-16 18:13:13.474 info script.js.PowerStream: Ecoflow MQTT-Client beendet

                      javascript.0
                      2023-09-16 18:13:13.465 info Stop script script.js.PowerStream

                      javascript.0
                      2023-09-16 18:13:13.267 info script.js.PowerStream: Batterie runter auf 92%: Normalbetrieb.

                      javascript.0
                      2023-09-16 18:12:58.284 info script.js.PowerStream: Batterie runter auf 92%: Normalbetrieb.

                      admin.0
                      2023-09-16 18:12:48.836 info ==> Connected system.user.admin from ::ffff:192.168.178.48

                      javascript.0
                      2023-09-16 18:12:43.265 info script.js.PowerStream: Batterie runter auf 92%: Normalbetrieb.

                      javascript.0
                      2023-09-16 18:12:28.264 info script.js.PowerStream: Batterie runter auf 92%: Normalbetrieb.

                      javascript.0
                      2023-09-16 18:12:13.265 info script.js.PowerStream: Batterie runter auf 92%: Normalbetrieb.

                      fronius.0
                      2023-09-16 18:12:03.611 warn State "fronius.0.inverter.1.Power_DC_String_2" has no existing object, this might lead to an error in future versions

                      fronius.0
                      2023-09-16 18:12:03.609 warn State "fronius.0.inverter.1.Power_DC_String_2" has no existing object, this might lead to an error in future versions

                      Eventuell kann ja jemand einen Tipp geben, wo das Problem sein könnte.

                      1 Reply Last reply Reply Quote 0
                      • M
                        Milchbeck last edited by Milchbeck

                        @Waly_de hab mal ne frage wie wäre es im Script einzubauen, wenn der smartmeter oder powerfox ect mal keine Daten sendet das Script auf einen grundverbrauch sagen wir mal wie bei mir 140 Watt es dann eigenständig dem Powerstream das meldet und sobald wieder Daten ankommen es wieder ganz normal läuft? Also 5 Minuten oder was auch immer keine Daten dann Grundverbrauch 140 Watt und sobald wieder Daten eintreffen Normalbetrieb…

                        Weil bei mir fällt ab und zu mal Server seitig der Bezug aus und wenn dann zuletzt mal 400 Watt benötigt worden sind haut der Powerstream solange den Wert bis ich dann manuell eingreife und das würde es einfach im Hintergrund erledigen

                        P W 2 Replies Last reply Reply Quote 1
                        • L
                          LordMinorin last edited by LordMinorin

                          Ich habe es jetzt endlich geschafft die akutelle Version mal einzubinden.

                          Leider fliegen mir sofort Fehlermeldungen um die Ohren:

                          javascript.0
                          2023-09-16 20:36:48.567 error at processTimers (node:internal/timers:514:7)
                          javascript.0
                          2023-09-16 20:36:48.566 error at listOnTimeout (node:internal/timers:573:17)
                          javascript.0
                          2023-09-16 20:36:48.566 error at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2743:34)
                          javascript.0
                          2023-09-16 20:36:48.566 error at Object.<anonymous> (script.js.EcoFlow_Script_v0.v1132.v1132:790:9)
                          javascript.0
                          2023-09-16 20:36:48.566 error at CheckforReconnect (script.js.EcoFlow_Script_v0.v1132.v1132:1151:9)
                          javascript.0
                          2023-09-16 20:36:48.565 error at script.js.EcoFlow_Script_v0.v1132.v1132:791:13
                          javascript.0
                          2023-09-16 20:36:48.565 error at SetBasePower (script.js.EcoFlow_Script_v0.v1132.v1132:1711:74)
                          javascript.0
                          2023-09-16 20:36:48.564 error Error in callback: TypeError: GetValAkt(...).val.toFixed is not a function

                          Die GetValAkt funktion habe ich daraufhin modifiziert das keine nicht numerischen Werte ausgegeben werden:

                          function GetValAkt(id, minuten = 15, reset = true) {
                              if (isState2(id)) {
                                  const state = getState(id)
                                  if (state.ts > Date.now() - minuten * 60 * 1000) {
                                      return state.val; // Gib den Wert direkt zurück
                                  } else {
                                      if (typeof state.val === 'number') {
                                          if (reset && state.val !== 0) setState(id, 0, true)
                                      } else {
                                          if (reset && state.val !== "0") setState(id, "0", true)
                                      }
                                      state.val = 0;
                                      return state.val; // Gib den Wert direkt zurück
                                  }
                              } else {
                                  //log("Kein State: " + id + "lege an.")
                                  createState(id, "0", false);
                                  //return getState(id)
                          
                                  const leerstate = {}
                                  leerstate.val = "0"
                                  leerstate.ts = Date.now()
                                  return leerstate.val; // Gib den Wert direkt zurück
                              }
                          }
                          

                          Jetzt sehen die Fehler so aus:

                          javascript.0
                          2023-09-16 20:59:57.034 error at processTimers (node:internal/timers:514:7)
                          javascript.0
                          2023-09-16 20:59:57.034 error at listOnTimeout (node:internal/timers:573:17)
                          javascript.0
                          2023-09-16 20:59:57.034 error at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2743:34)
                          javascript.0
                          2023-09-16 20:59:57.033 error at Object.<anonymous> (script.js.EcoFlow_Script_v0.v1132.v1132:790:9)
                          javascript.0
                          2023-09-16 20:59:57.033 error at CheckforReconnect (script.js.EcoFlow_Script_v0.v1132.v1132:1151:9)
                          javascript.0
                          2023-09-16 20:59:57.033 error at script.js.EcoFlow_Script_v0.v1132.v1132:791:13
                          javascript.0
                          2023-09-16 20:59:57.033 error at SetBasePower (script.js.EcoFlow_Script_v0.v1132.v1132:1711:73)
                          javascript.0
                          2023-09-16 20:59:57.033 error Error in callback: TypeError: Cannot read properties of undefined (reading 'toFixed'

                          Bitte um Ideen

                          1 Reply Last reply Reply Quote 0
                          • P
                            Ponti92 @Milchbeck last edited by

                            @milchbeck wann passiert das bei dir?
                            Kann es sein, dass das bei dir auch abends ist, dass er manchmal hängen bleibt?
                            Dann könntest du das selbe Problem wie ich haben, dass er abends/nachts zu selten sich mit dem Server verbindet.
                            Dazu kannst du das Intervall für abends z.B. auf 1min setzen, anstatt 15 min.

                            
                            //bis eine Stunde nach Sonneuntergang kurze Reconnects dann 15 min.
                            if (istTag (60)) wartezeit = 1
                            
                            

                            Seitdem läufts wieder rund um die Uhr perfekt 👌

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              Milchbeck @Ponti92 last edited by

                              @ponti92 es liegt daran wenn der ir lesekopf mal ausfällt kein Strom ect.

                              1 Reply Last reply Reply Quote 0
                              • umele
                                umele @Waly_de last edited by umele

                                @waly_de ich weiss ehrlich gesagt nicht, ob das Script den Sensor sucht. Zumindest finde ich im Log keinen Hinweis - "SmartmeterID" oder "SetBasePower" erscheinen im Log nicht.

                                Die ID habe ich aus dem Objekt mit der Watt-Angabe des Sensors ins Script eingetragen:
                                59aa0b0a-f9a0-489b-b4cc-3857ecc80ffd-image.png

                                5318c1d9-c95f-4a0d-a17d-cdff0f11eb6f-image.png


                                Danke für Deine Unterstützung!

                                W 1 Reply Last reply Reply Quote 0
                                • W
                                  Waly_de @umele last edited by

                                  @umele was du bei smartmeterID angegeben hast ist der Name, nicht die id des Sensors. Wenn du mit der Maus da klickst wo sie im Screenshot zu sehen ist wird die richtige ID in die Zwischenablage kopiert. Sie beginnt mit „sonoff.0.“

                                  D umele 2 Replies Last reply Reply Quote 0
                                  • D
                                    Dreffi @Waly_de last edited by

                                    @waly_de
                                    Also mit der Version 1.1.3.2 läuft bei mir irgendwas schief.

                                    Ich hatte heut wieder den Fall, dass einer der beiden Powerstreams ständig auf Prio Akku umgestellt wurde. Das sollte eigentlich nur beim Abschalten per RegulationState passieren.
                                    Der Andere wiederum blieb stur auf Prio Einspeisung mit AC Last 0 W. Dieser hätte eigentlich auf Prio Akku schalten müssen.

                                    Ich habe auch den Eindruck es gibt hier zeitweise Probleme die AC Last richtig einzustellen:
                                    Bildschirmfoto 2023-09-17 um 20.53.34.png

                                    Irgendwie wird scheint hier jeweils der falsche Powerstream angesteuert zu werden.

                                    Ich habe jetzt wieder auf die Version 1.1.3 umgestellt und seitdem liegt der Bezug wieder annähernd durchgehend konstant bei 10-15 W.

                                    Ich beobachte...

                                    D 1 Reply Last reply Reply Quote 0
                                    • R
                                      Ralf77 last edited by Ralf77

                                      Bei mir klappt das Script leider auch nicht mehr.... obwohl generell erst mal alles gut aussieht, klappt die Regulierung der Einspeisung leider nicht.
                                      Auch ist mein Akku z.B. aktuell auf 70% geladen....
                                      Es scheint aber irgendwas "los" zu sein. Kurz danach kam die Meldung, dass mein Akku wieder über 25% geladen ist und die Einspeisung wieder auf 600 Watt angehoben wird.
                                      Geändert hat sich an der Einspeisung aber nichts.

                                      2:16:33.566 info javascript.0 (2518) Stop script script.js.PowerStream
                                      22:16:33.570 info javascript.0 (2518) script.js.PowerStream: Ecoflow MQTT-Client beendet
                                      22:16:33.834 info javascript.0 (2518) Start javascript script.js.PowerStream
                                      22:16:34.017 info javascript.0 (2518) script.js.PowerStream: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                      22:16:34.355 info javascript.0 (2518) script.js.PowerStream: Verbunden mit dem Ecoflow MQTT-Broker
                                      22:16:49.002 info javascript.0 (2518) script.js.PowerStream: Batteriestand unter Limit:15% (0%). Limitiere Einspeiseleistung auf: 150W

                                      R 1 Reply Last reply Reply Quote 0
                                      • umele
                                        umele @Waly_de last edited by

                                        @waly_de -oh mein Gott - das ist mir jetzt echt super peinlich..... 😵 😨

                                        Vielen, vielen lieben Dank - das war's... 👍 👍

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          Dreffi @Dreffi last edited by

                                          @dreffi said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                          @waly_de
                                          Also mit der Version 1.1.3.2 läuft bei mir irgendwas schief.
                                          [...]
                                          Ich habe jetzt wieder auf die Version 1.1.3 umgestellt und seitdem liegt der Bezug wieder annähernd durchgehend konstant bei 10-15 W.

                                          Seit Umstellung auf 1.1.3 lief heute wieder alles makellos.

                                          Stephane Martinez 1 Reply Last reply Reply Quote 0
                                          • R
                                            Ralf77 @Ralf77 last edited by

                                            @ralf77 said in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                            Bei mir klappt das Script leider auch nicht mehr.... obwohl generell erst mal alles gut aussieht, klappt die Regulierung der Einspeisung leider nicht.
                                            Auch ist mein Akku z.B. aktuell auf 70% geladen....
                                            Es scheint aber irgendwas "los" zu sein. Kurz danach kam die Meldung, dass mein Akku wieder über 25% geladen ist und die Einspeisung wieder auf 600 Watt angehoben wird.
                                            Geändert hat sich an der Einspeisung aber nichts.

                                            2:16:33.566 info javascript.0 (2518) Stop script script.js.PowerStream
                                            22:16:33.570 info javascript.0 (2518) script.js.PowerStream: Ecoflow MQTT-Client beendet
                                            22:16:33.834 info javascript.0 (2518) Start javascript script.js.PowerStream
                                            22:16:34.017 info javascript.0 (2518) script.js.PowerStream: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                            22:16:34.355 info javascript.0 (2518) script.js.PowerStream: Verbunden mit dem Ecoflow MQTT-Broker
                                            22:16:49.002 info javascript.0 (2518) script.js.PowerStream: Batteriestand unter Limit:15% (0%). Limitiere Einspeiseleistung auf: 150W

                                            Also bei mir läuft soweit wieder alles dank der Hilfe vom @Dreffi !

                                            Mein Fehler: Mein RP3 kommt an die Leistungsgrenze. Aus dem Grund habe ich nicht benötigte Instanzen gelöscht und dabei die Instanz „History“ gelöscht.

                                            History scheint aber zwingend nötig zu sein für die Regelung. Nachdem ich „History“ erneut installiert hatte funktionierte die Regelung direkt wieder!

                                            Noch einmal vielen Dank an @Dreffi für die Geduld und das Schritt-für-Schritt Trouble Shooting meines System.

                                            Viele Grüße,
                                            Ralf

                                            1 Reply Last reply Reply Quote 2
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            526
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            126
                                            1630
                                            532547
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo