Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. ecoflow-connector-Script zur dynamischen Leistungsanpassung

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

ecoflow-connector-Script zur dynamischen Leistungsanpassung

Geplant Angeheftet Gesperrt Verschoben JavaScript
1.6k Beiträge 127 Kommentatoren 742.4k Aufrufe 127 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K karo2204

    Ich bekomme jetzt in den Logs folgende Fehler angezeigt:

    script.js.ecoflow-connector_v12__04_12_2023: getLowestValue-error: timeout
    
    script.js.ecoflow-connector_v12__04_12_2023: Fehler beim Abrufen des niedrigsten Werts: timeout
    

    Was kann das sein?

    Grüße, Karo

    W Offline
    W Offline
    Waly_de
    schrieb am zuletzt editiert von
    #875

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

    Ich bekomme jetzt in den Logs folgende Fehler angezeigt:
    script.js.ecoflow-connector_v12__04_12_2023: getLowestValue-error: timeout

    script.js.ecoflow-connector_v12__04_12_2023: Fehler beim Abrufen des niedrigsten Werts: timeout

    Was kann das sein?

    @karo2204 Wenn das nicht ständig auftritt, kannst du es Ignorieren. Auch mal das Script und den History-Adapter neu starten.

    K 1 Antwort Letzte Antwort
    0
    • J Joppe

      Falls das schon gefragt und beantwortet wurde:
      Sorry!
      Aber: Könnten wir das Script bitte auf Git/GitHub bringen?
      Das Script ist genial, ich habe meinen Dank schon zum Ausdruck gebracht.
      Git würde aber den Vorteil bringen dass wir alle unseren Beitrag zum Script anbieten können. Ich selber habe ein paar Zusätze die ich jedesmal wieder mühsam mergen muss wenn eine neue Version des Grundscripts kommt.
      Coole Sidefeatures könnten über PullRequests in den Code einfließen, wobei dem Scriptersteller volle Kontrolle erhalten bleibt was ins Script kommt und was nicht. Außerdem stünde ein schönes changelog zur Verfügung - mir Versionskontrolle und Vergleich unter jedem Commit - top!
      Ich unterstütze auch gerne beim Aufbau des Repository - falls gewünscht.
      Danke dass ich meine Meinung kundtun durfte,
      Mane
      äh ich mein Joppe. :)

      W Offline
      W Offline
      Waly_de
      schrieb am zuletzt editiert von Waly_de
      #876

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

      Falls das schon gefragt und beantwortet wurde:
      Sorry!
      Aber: Könnten wir das Script bitte auf Git/GitHub bringen?
      Das Script ist genial, ich habe meinen Dank schon zum Ausdruck gebracht.
      Git würde aber den Vorteil bringen dass wir alle unseren Beitrag zum Script anbieten können. Ich selber habe ein paar Zusätze die ich jedesmal wieder mühsam mergen muss wenn eine neue Version des Grundscripts kommt.
      Coole Sidefeatures könnten über PullRequests in den Code einfließen, wobei dem Scriptersteller volle Kontrolle erhalten bleibt was ins Script kommt und was nicht. Außerdem stünde ein schönes changelog zur Verfügung - mir Versionskontrolle und Vergleich unter jedem Commit - top!
      Ich unterstütze auch gerne beim Aufbau des Repository - falls gewünscht.
      Danke dass ich meine Meinung kundtun durfte,
      Mane
      äh ich mein Joppe. :)

      Du hast recht. Das wäre extrem sinnvoll. Ich hab mich bisher davor gedrückt, weil ich keine Ahnung habe, wie das funktioniert und meine Zeit ist ziemlich limitiert. Aber Wenn Du mir hilfst und mir einen Crashkurs gibts, wie ich damit umgehen muss... sehr gerne ;-) Einen Account hab ich schon.

      1 Antwort Letzte Antwort
      0
      • A aherby

        @waly_de @foxthefox Ich habe gerade mal etwas getestet oder gespielt.

        feed_priortiy
        

        ist die Einspeisekontrolle, auch schon als Schreibwert unter den Objekten vorhanden.

        Einspeisekontrolle
        Ist die Batterie voll geladen,, liefert das System Strom nach dem voreingestellten Strombedaf des Haushalts um die Einspeisund des überschüssigen Stroms ins Netz zu verhindern. Wenn sie den Solarertrag maximieren möchten, sollten Sie diese Funktion am besten deaktivieren.

        Ah ok ist ja unter Version 1.1.6.2 beschrieben das der PArameter aufgenommen wurde.

        Gibt es eigentlich irgendwo eine Doku was hinter allen Parametern steckt?

        W Offline
        W Offline
        Waly_de
        schrieb am zuletzt editiert von
        #877

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

        Gibt es eigentlich irgendwo eine Doku was hinter allen Parametern steckt?

        soweit ich weiss nicht. Wenn Du sowas findest, sag Bescheid :-) Aber die meisten Namen sprechen ja für sich. Bei den meisten Daten aus dem Heartbeat hab ich allerdings auch keine Ahnung was genau sie bedeuten. Hoffentlich macht sich mal jemand die Mühe das genauer zu beschreiben.

        A 1 Antwort Letzte Antwort
        0
        • W Waly_de

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

          Ich bekomme jetzt in den Logs folgende Fehler angezeigt:
          script.js.ecoflow-connector_v12__04_12_2023: getLowestValue-error: timeout

          script.js.ecoflow-connector_v12__04_12_2023: Fehler beim Abrufen des niedrigsten Werts: timeout

          Was kann das sein?

          @karo2204 Wenn das nicht ständig auftritt, kannst du es Ignorieren. Auch mal das Script und den History-Adapter neu starten.

          K Offline
          K Offline
          karo2204
          schrieb am zuletzt editiert von
          #878

          @waly_de Danke Dir. Hat geholfen.

          ioBroker
          Tibber
          Ecoflow Powerstream & Delta Max 2000

          1 Antwort Letzte Antwort
          0
          • W Waly_de

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

            Gibt es eigentlich irgendwo eine Doku was hinter allen Parametern steckt?

            soweit ich weiss nicht. Wenn Du sowas findest, sag Bescheid :-) Aber die meisten Namen sprechen ja für sich. Bei den meisten Daten aus dem Heartbeat hab ich allerdings auch keine Ahnung was genau sie bedeuten. Hoffentlich macht sich mal jemand die Mühe das genauer zu beschreiben.

            A Offline
            A Offline
            aherby
            schrieb am zuletzt editiert von
            #879

            @waly_de ist mir gerade über den Weg gelaufen:

            State value to set for "ecoflow-mqtt.0.R351ZEB4HF4Exxxx.mppt.pv2InVol" has value "3729.1000000000004" greater than max "150"
            

            aber nur als Warnung.

            W 1 Antwort Letzte Antwort
            0
            • A aherby

              @waly_de ist mir gerade über den Weg gelaufen:

              State value to set for "ecoflow-mqtt.0.R351ZEB4HF4Exxxx.mppt.pv2InVol" has value "3729.1000000000004" greater than max "150"
              

              aber nur als Warnung.

              W Offline
              W Offline
              Waly_de
              schrieb am zuletzt editiert von
              #880

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

              @waly_de ist mir gerade über den Weg gelaufen:
              State value to set for "ecoflow-mqtt.0.R351ZEB4HF4Exxxx.mppt.pv2InVol" has value "3729.1000000000004" greater than max "150"
              aber nur als Warnung.

              falscher Thread ;-) Das gehört hier her:
              https://forum.iobroker.net/topic/69819/neuer-adapter-ecoflow-mqtt

              A 1 Antwort Letzte Antwort
              0
              • W Waly_de

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

                @waly_de ist mir gerade über den Weg gelaufen:
                State value to set for "ecoflow-mqtt.0.R351ZEB4HF4Exxxx.mppt.pv2InVol" has value "3729.1000000000004" greater than max "150"
                aber nur als Warnung.

                falscher Thread ;-) Das gehört hier her:
                https://forum.iobroker.net/topic/69819/neuer-adapter-ecoflow-mqtt

                A Offline
                A Offline
                aherby
                schrieb am zuletzt editiert von
                #881

                @waly_de Hast ja Recht :face_with_rolling_eyes:
                du bist doch i guten Austauch mit @foxthefox oder?
                Beim Adapter wurden weitere .unknown für die Smarplugs eingebaut.
                Ich glaube unknown32 zeigt wie viele Smartplugs bei der Hausleitstung berücksichtig werden
                und unknown 33 müsste die Einspeiseleistung vom Powerstream sein.
                Bekommt du ein Update von @foxthefox oder brauchst du die entsprechenden Logs, Hex-Strings ... ?

                F W 2 Antworten Letzte Antwort
                0
                • A aherby

                  @waly_de Hast ja Recht :face_with_rolling_eyes:
                  du bist doch i guten Austauch mit @foxthefox oder?
                  Beim Adapter wurden weitere .unknown für die Smarplugs eingebaut.
                  Ich glaube unknown32 zeigt wie viele Smartplugs bei der Hausleitstung berücksichtig werden
                  und unknown 33 müsste die Einspeiseleistung vom Powerstream sein.
                  Bekommt du ein Update von @foxthefox oder brauchst du die entsprechenden Logs, Hex-Strings ... ?

                  F Abwesend
                  F Abwesend
                  foxthefox
                  Developer
                  schrieb am zuletzt editiert von
                  #882

                  @aherby
                  Wenn ich was sinnvolles habe, dann gebe ich schon Rückmeldung. Die erweiterten unknown im Plug_heartbeat stehen ja grad am Anfang.

                  Adapterüberblick: Profil Github;

                  Wenn der Adapter gefällt und nützlich ist, bitte ins Repo gehen und Star setzen. Danke

                  Ein Aufruf: video

                  1 Antwort Letzte Antwort
                  1
                  • A aherby

                    @waly_de Hast ja Recht :face_with_rolling_eyes:
                    du bist doch i guten Austauch mit @foxthefox oder?
                    Beim Adapter wurden weitere .unknown für die Smarplugs eingebaut.
                    Ich glaube unknown32 zeigt wie viele Smartplugs bei der Hausleitstung berücksichtig werden
                    und unknown 33 müsste die Einspeiseleistung vom Powerstream sein.
                    Bekommt du ein Update von @foxthefox oder brauchst du die entsprechenden Logs, Hex-Strings ... ?

                    W Offline
                    W Offline
                    Waly_de
                    schrieb am zuletzt editiert von
                    #883

                    @foxthefox wärst du so nett mir bescheid zu geben, wenn du die neuen Parameter zugeordnet und benannt hast? Dann übernehme ich das gern ins Skript und wir haben einheitliche Feldnamen.... :-)

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

                    Beim Adapter wurden weitere .unknown für die Smarplugs eingebaut.

                    unknown wird ja sicher noch einen richtigen Namen bekommen. Baue ich das jetzt ein, müssen später wieder darauf basierende Sachen geändert werden.

                    A 2 Antworten Letzte Antwort
                    0
                    • W Waly_de

                      @foxthefox wärst du so nett mir bescheid zu geben, wenn du die neuen Parameter zugeordnet und benannt hast? Dann übernehme ich das gern ins Skript und wir haben einheitliche Feldnamen.... :-)

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

                      Beim Adapter wurden weitere .unknown für die Smarplugs eingebaut.

                      unknown wird ja sicher noch einen richtigen Namen bekommen. Baue ich das jetzt ein, müssen später wieder darauf basierende Sachen geändert werden.

                      A Offline
                      A Offline
                      aherby
                      schrieb am zuletzt editiert von
                      #884

                      @waly_de
                      @foxthefox Ihr macht das ja super.
                      Irgendwie war ich gestern Abend nicht müde genug und daher noch versucht Logs zu erzeugen. Dann kommt seit langem mal wieder die Sonne raus, die Laune steig und Ecoflow arbeitet mal wieder. Ein paar Dinge konnte ich vielleicht liefern. Macht gerade mehr Spaß als an der Kellerwand / Fensterlaibung eine Abdichtung gleich auftragen zu müssen :blush: :face_with_rolling_eyes:

                      1 Antwort Letzte Antwort
                      0
                      • I Offline
                        I Offline
                        IbrokeO
                        schrieb am zuletzt editiert von IbrokeO
                        #885

                        Hi Leute,

                        edit: war im falschen Thread / Topic.

                        LGeorg

                        1 Antwort Letzte Antwort
                        0
                        • W Waly_de

                          @foxthefox wärst du so nett mir bescheid zu geben, wenn du die neuen Parameter zugeordnet und benannt hast? Dann übernehme ich das gern ins Skript und wir haben einheitliche Feldnamen.... :-)

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

                          Beim Adapter wurden weitere .unknown für die Smarplugs eingebaut.

                          unknown wird ja sicher noch einen richtigen Namen bekommen. Baue ich das jetzt ein, müssen später wieder darauf basierende Sachen geändert werden.

                          A Offline
                          A Offline
                          aherby
                          schrieb am zuletzt editiert von
                          #886

                          @waly_de Hallo vielleicht bin ich noch nicht ausgeschlafen genug oder wie auch immer.
                          Gerade hatte folgendes Verhalten:
                          Powerstream läd die Delta 2 Max mit 21 W, die Delta 2 Max wird über PV1 mit 12 W und über PV2 mit 21 W geladen. Ich habe erst über AC ca. 400 W Ladung eingestellt und dann auf 1000 W AC-Ladeleistung hoch geregelt.
                          Die Einspeiseleistung ist dann auf die vollen 600 W gegangen.

                          Natürlich erfasst der Zähler den Verbrauch von den 1000 W aber so bringt mir Aufladung ja nur 400 W für den Akku. Könnte ihr das Verhalten nachstellen?

                          Aber noch die Version 1.1.6.1, die das System regelt.

                          W 1 Antwort Letzte Antwort
                          0
                          • W Waly_de

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

                            allerdings gibt es bei mir ein Problem mit der Funktion BigInt():
                            Cannot find name 'BigInt'. Do you need to change your target library? Try changing the 'lib' compiler option to 'es2020' or later.(2583)
                            Keine Ahnung wo ich die Option für den Compiler anpassen muss - gibt es da eine Lösung oder Hilfestellung?

                            Ich nehme an, du bekommst diese Meldung nur im Editor und nicht beim Ausführen des Scripts, richtig?
                            Das hatte ich auch, es geht scheinbar um die javascript Versionen. Man kann das abstellen indem man "es2020" in den in den Instanz-Einstellungen des Javascriptadapters unter "Die Syntaxhilfe für diese npm-Module aktivieren:" einträgt.
                            Ich habe dort 3 Einträge: JSON,string und es2020.

                            Bildschirmfoto 2023-12-16 um 11.54.51.jpg

                            P Offline
                            P Offline
                            PCGamer
                            schrieb am zuletzt editiert von
                            #887

                            @waly_de: Na vielen Dank, darauf muss man erst einmal kommen. Skript läuft jetzt. Sorry, dass ich erst jetzt antworte, war in den Ferien, konnte dem also nicht nachkommen.

                            P 1 Antwort Letzte Antwort
                            1
                            • P PCGamer

                              @waly_de: Na vielen Dank, darauf muss man erst einmal kommen. Skript läuft jetzt. Sorry, dass ich erst jetzt antworte, war in den Ferien, konnte dem also nicht nachkommen.

                              P Offline
                              P Offline
                              PCGamer
                              schrieb am zuletzt editiert von
                              #888

                              @waly_de: Aha, nu war ich mit dem Login vom Kollegen drin - @ETGermany

                              1 Antwort Letzte Antwort
                              0
                              • A aherby

                                @waly_de Hallo vielleicht bin ich noch nicht ausgeschlafen genug oder wie auch immer.
                                Gerade hatte folgendes Verhalten:
                                Powerstream läd die Delta 2 Max mit 21 W, die Delta 2 Max wird über PV1 mit 12 W und über PV2 mit 21 W geladen. Ich habe erst über AC ca. 400 W Ladung eingestellt und dann auf 1000 W AC-Ladeleistung hoch geregelt.
                                Die Einspeiseleistung ist dann auf die vollen 600 W gegangen.

                                Natürlich erfasst der Zähler den Verbrauch von den 1000 W aber so bringt mir Aufladung ja nur 400 W für den Akku. Könnte ihr das Verhalten nachstellen?

                                Aber noch die Version 1.1.6.1, die das System regelt.

                                W Offline
                                W Offline
                                Waly_de
                                schrieb am zuletzt editiert von
                                #889

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

                                @waly_de Hallo vielleicht bin ich noch nicht ausgeschlafen genug oder wie auch immer.
                                Gerade hatte folgendes Verhalten:
                                Powerstream läd die Delta 2 Max mit 21 W, die Delta 2 Max wird über PV1 mit 12 W und über PV2 mit 21 W geladen. Ich habe erst über AC ca. 400 W Ladung eingestellt und dann auf 1000 W AC-Ladeleistung hoch geregelt.
                                Die Einspeiseleistung ist dann auf die vollen 600 W gegangen.

                                Natürlich erfasst der Zähler den Verbrauch von den 1000 W aber so bringt mir Aufladung ja nur 400 W für den Akku. Könnte ihr das Verhalten nachstellen?

                                Aber noch die Version 1.1.6.1, die das System regelt.

                                also wenn du den Akku mit AC aufladen willst, ohne das die Ladung nur aus dem Überschuss bedient wird, dann musst Du die Regulation durch das Script abstellen und die Einspeisung auf 0 stellen.
                                Dafür gibt es ja "RegulationOffPower" und "RegulationState". Sonst ist deine AC-Ladung für das Script ein Verbraucher wie jeder andere und es wird versucht das auszugleichen.

                                In der neueren Scriptversion ist ja die Überschussladung eingebaut. Die berücksichtigt die AC-Ladung in Realpower, so dass die Regulation funktioniert, auch wenn AC-Ladung aktiv ist.

                                A 2 Antworten Letzte Antwort
                                0
                                • W Waly_de

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

                                  @waly_de Hallo vielleicht bin ich noch nicht ausgeschlafen genug oder wie auch immer.
                                  Gerade hatte folgendes Verhalten:
                                  Powerstream läd die Delta 2 Max mit 21 W, die Delta 2 Max wird über PV1 mit 12 W und über PV2 mit 21 W geladen. Ich habe erst über AC ca. 400 W Ladung eingestellt und dann auf 1000 W AC-Ladeleistung hoch geregelt.
                                  Die Einspeiseleistung ist dann auf die vollen 600 W gegangen.

                                  Natürlich erfasst der Zähler den Verbrauch von den 1000 W aber so bringt mir Aufladung ja nur 400 W für den Akku. Könnte ihr das Verhalten nachstellen?

                                  Aber noch die Version 1.1.6.1, die das System regelt.

                                  also wenn du den Akku mit AC aufladen willst, ohne das die Ladung nur aus dem Überschuss bedient wird, dann musst Du die Regulation durch das Script abstellen und die Einspeisung auf 0 stellen.
                                  Dafür gibt es ja "RegulationOffPower" und "RegulationState". Sonst ist deine AC-Ladung für das Script ein Verbraucher wie jeder andere und es wird versucht das auszugleichen.

                                  In der neueren Scriptversion ist ja die Überschussladung eingebaut. Die berücksichtigt die AC-Ladung in Realpower, so dass die Regulation funktioniert, auch wenn AC-Ladung aktiv ist.

                                  A Offline
                                  A Offline
                                  aherby
                                  schrieb am zuletzt editiert von aherby
                                  #890

                                  @waly_de Super danke dann muss ich mal das Script erneuern.

                                  1 Antwort Letzte Antwort
                                  0
                                  • W Waly_de

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

                                    @waly_de Hallo vielleicht bin ich noch nicht ausgeschlafen genug oder wie auch immer.
                                    Gerade hatte folgendes Verhalten:
                                    Powerstream läd die Delta 2 Max mit 21 W, die Delta 2 Max wird über PV1 mit 12 W und über PV2 mit 21 W geladen. Ich habe erst über AC ca. 400 W Ladung eingestellt und dann auf 1000 W AC-Ladeleistung hoch geregelt.
                                    Die Einspeiseleistung ist dann auf die vollen 600 W gegangen.

                                    Natürlich erfasst der Zähler den Verbrauch von den 1000 W aber so bringt mir Aufladung ja nur 400 W für den Akku. Könnte ihr das Verhalten nachstellen?

                                    Aber noch die Version 1.1.6.1, die das System regelt.

                                    also wenn du den Akku mit AC aufladen willst, ohne das die Ladung nur aus dem Überschuss bedient wird, dann musst Du die Regulation durch das Script abstellen und die Einspeisung auf 0 stellen.
                                    Dafür gibt es ja "RegulationOffPower" und "RegulationState". Sonst ist deine AC-Ladung für das Script ein Verbraucher wie jeder andere und es wird versucht das auszugleichen.

                                    In der neueren Scriptversion ist ja die Überschussladung eingebaut. Die berücksichtigt die AC-Ladung in Realpower, so dass die Regulation funktioniert, auch wenn AC-Ladung aktiv ist.

                                    A Offline
                                    A Offline
                                    aherby
                                    schrieb am zuletzt editiert von
                                    #891

                                    @waly_de noch nicht wirklich überprüft aber sieht sehr danach aus.
                                    Ich würde beim Powerstream

                                    0_userdata.0.ecoflow.app_device_property_HW51ZOH4SF5Txxxx.data.InverterHeartbeat2.X_Unknown_52
                                    

                                    als WLAN / wifiRssi deuten.

                                    1 Antwort Letzte Antwort
                                    0
                                    • W Waly_de

                                      So, meine Anbindung läuft jetzt seit einigen Tagen sauber. Daher spendiere ich dem Skript mal einen eigenen Thread.

                                      Anbei findet ihr ein Skript, das eine Verbindung zwischen euren ecoflow-Geräten und ioBroker herstellen kann. Dabei nutzt es die gleiche Schnittstelle wie die ecoFlow App. Ihr benötigt lediglich eure Zugangsdaten zur App und die Seriennummern eurer Geräte, um dieses Skript nutzen zu können. Alle bekannten übermittelten Daten werden in ioBroker als Zustände angelegt. Viele davon sind noch unbekannt. Wenn ihr herausfindet, was sich hinter den unbekannten Daten verbirgt, kann ich die Zustandsnamen anpassen.

                                      Achtung: Der ecoflow-Server sendet unfassbar viele Nachrichten. Wenn ihr mehrere Geräte habt, kann dies euer System stark belasten und sogar zu Abstürzen führen. Vielleicht bekommt Ihr auch diese Meldung und das Script wird beendet:

                                       [error]: javascript.0 (5490) Script script.js.EcoFlow is calling setState more than 1000 times per minute! Stopping Script now! Please check your script!
                                      

                                      Daher empfehle ich, nicht alle Geräte dauerhaft zu abonnieren (dies kann über einen Parameter in der Einstellungssektion festgelegt werden). Es werden nur die PowerStreams benötigt, um die Einspeiseleistung anpassen zu können.
                                      Sonst kann dieser Grenzwert aber auch in den Einstellungen der Javascript-Instanz heraufgesetzt werden. 3000 dürfte für die meisten Szenarien reichen. (Siehe Screenshot weiter unten. Der Wert befindet sich unten links)

                                      Damit kommen wir zur eigentlichen interessanten Funktion des Skripts:
                                      Wenn ihr ein Smartmeter habt, das euren aktuellen Stromverbrauch in Echtzeit anzeigen kann, könnt ihr es an ioBroker anbinden. Informationen dazu findet ihr im Netz.

                                      Hier hab ich das Ding gekauft (Wenn ihr über die Links kauft, bekomme ich ein paar Cent Provision ab ;-)):
                                      Hichi Wifi, IR Lesekopf für Stromzähler
                                      https://ebay.us/3X1pkH
                                      Der Verkäufer hat auch ein tolles Video gemacht, wie man es einrichtet ;-)

                                      Es funktionieren aber auch viele andere Zähler wie z.B.:
                                      Der Shelly 3EM

                                      Tibber-Kunden mit Pulse empfehle ich die lokale Einbindung des Pulse als Smartmeter mit meinem Script:
                                      https://forum.iobroker.net/topic/70758/tibber-pulse-verbrauchsdaten-lokal-auslesen

                                      Das Skript passt dann die Einspeiseleistung des PowerStream dynamisch an, sodass möglichst der gesamte Verbrauch durch die Einspeisung gedeckt wird, aber nichts ins Netz verschenkt wird. Erst wenn die Batterie voll geladen ist, wird die gesamte Leistung ins Netz eingespeist (wenn ihr das möchtet).

                                      Das Smartmeter muss den aktuellen Verbrauch möglichst in Echtzeit und in der Einheit Watt in einem Objekt von IOBroker zur Verfügung stellen. Im Script muss dann nur noch der Pfad zu diesem Objekt unter "SmartmeterID:" eingetragen werden. Am einfachsten geht das über die Adminoberfläche von IOBroker. Klickt auf Objekte und sucht das Objekt eures Smartmeters mit dem "Watt"-Wert im Objektbaum:
                                      Bildschirmfoto 2023-09-04 um 09.55.08.jpg
                                      Wenn Ihr auf das markierte Symbol klickt, ist der Pfad in euerer Zwischenablage gespeichert.
                                      Jetzt müsst Ihr ihn nur noch hinter "SmartmeterID:" im Script einfügen. Achtet darauf, dass Ihr es zwischen die "" einfügt.
                                      Wenn alles geklappt hat, der Pfad stimmt und das Script läuft, solltet Ihr unter Objekte: "0_userdata.0.ecoflow.RealPower" sehen, dass sich dieser Wert regelmäßig anpasst.

                                      Es können mehrere PowerStreams konfiguriert werden. Im Moment wird jedoch nur der erste in der Konfiguration gesteuert. Ich habe zum Beispiel zwei PowerStreams, einen mit und einen ohne Batterie. Dadurch steht tagsüber mehr Leistung zum Laden der Batterie zur Verfügung. Die Daten werden vom Skript verwendet, um die optimale Einspeiseleistung zu berechnen. In Zukunft könnten auch mehrere PowerStreams gesteuert werden.

                                      Nochmals vielen Dank an alle hier im Forum, die mit Ihrer Arbeit die Anbindung erst möglich gemacht haben!
                                      Ursprünglicher Beitrag: https://forum.iobroker.net/topic/54929/adapter-für-ecoflow-einbindung/

                                      Wichtig: Zur Installation müssen 2 Module installiert werden. Einfach in den Einstellungen der Javascriptinstanz unter Zusätzliche Module die beiden Namen eintragen und speichern ("mqtt" und "protobufjs")

                                      Bildschirmfoto 2023-07-17 um 10.56.49.jpg

                                      Erweiterungen:
                                      Tibber Modul
                                      Kann als eigenes, neues Script neben dem Hauptscript angelegt werden.

                                      //*************************************************************
                                      // Tibber Modul
                                      //*************************************************************
                                      // Schaltet die Regelung der Powerstation ab, wenn der Strom billig ist 
                                      // und einen beliebigen Schalter zum Aktivieren der AC-Ladung ein, bis die Batterie 
                                      // den durch der "BatMax" festgelegten Ladestand in % erreicht hat
                                      // 
                                      // Diese Parameter aus dem Hauptscript sind wichtig:
                                      // RegulationOffPower: -2 // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus)
                                      // RegulationState: "Regulate" // Erzeugt der State zum Ein und Aus-Schalten der Regulation.
                                      //
                                      // Das Script versucht selbst die ID's für den TibberStatus und den Batteriestand zu ermitteln.
                                      // Wenn das nicht klappt bitte einfach die richtigen ID's hinter "batSocID" und "tibberID" angeben.
                                      //
                                      //*************************************************************
                                      
                                      //*************************************************************
                                      // Konfiguration laden, wenn nicht im Originalscript eingefügt
                                      //*************************************************************
                                      var ConfigData = {
                                          statesPrefix: '0_userdata.0.ecoflow',
                                          RegulationState: "Regulate"
                                      }
                                      if (typeof ConfigData.email === 'undefined') {
                                          try {
                                              let tempConfigData = getState("0_userdata.0.ecoflow.Settings.ConfigData").val
                                              if (typeof tempConfigData !== 'object' && tempConfigData !== null) {
                                                  tempConfigData = JSON.parse(tempConfigData)
                                              }
                                              if (typeof tempConfigData === 'object' && tempConfigData !== null) {
                                                  if (tempConfigData.email !== undefined) {
                                                      ConfigData = tempConfigData;
                                                      //log("wurde geladen als object")
                                                  }
                                              }
                                          } catch (error) {
                                              log("Konfiguration wurde nicht geladen: " + error.message)
                                          }
                                      }
                                      
                                      /***************************************
                                      **********  YOUR DATA HERE  ************ 
                                      ****************************************/
                                      var tibberConfig = {
                                          BatMax: 99,                                  //Bei diesem Ladestand stoppt die AC-Ladung und das Script wird wieder eingeschaltet 
                                          BatMin: 95,                                  //Der Ladestand der Batterie muss kleiner sein als BatMin , damit der Akku per AC-Ladung geladen wird 
                                          SwitchID: "sonoff.0.NOUS-DVES_F0A844.POWER", //ID des Schalters, der die AC-Ladung einschaltet. "true" und "false" werden gesetzt
                                          LevelToSwitch: [                             //Hier die Werte definieren, bei denen die AC-Ladung eingeschaltet werden soll
                                              //"NORMAL",
                                              //"CHEAP",                                 //Einkommentieren falls gewüscht 
                                              "VERY_CHEAP"
                                          ],
                                      }
                                      //***************************************/
                                      // Nur angeben, wenn automatische Ermittlung fehlschlägt
                                      //***************************************/
                                      let batSocID = getState(ConfigData.statesPrefix + ".Settings.Tibber.tibberBatSocID").val
                                      let tibberID = getState(ConfigData.statesPrefix + ".Settings.Tibber.tibberID").val
                                      //***************************************/
                                      
                                      
                                      var idOK = false
                                      if (!batSocID || !tibberID) {
                                          log("Versuche die IDs für Tibber und Batterielevel zu finden")
                                          $("tibberlink.*.Homes.*.CurrentPrice.level").each(function (id, i) {
                                              tibberID = id
                                              createState(ConfigData.statesPrefix + ".Settings.Tibber.tibberID", tibberID, false)
                                              log("TibberID gefunden und gespeichert:" + id)
                                          })
                                          $(ConfigData.statesPrefix + ".app_device_property_*.data.InverterHeartbeat.batSoc").each(function (id, i) {
                                              if (getState(id).val > 0) {
                                                  batSocID = id
                                                  createState(ConfigData.statesPrefix + ".Settings.Tibber.tibberBatSocID", batSocID, false)
                                                  log("batSocID gefunden und gespeichert:" + id)
                                              }
                                          })
                                          if (!batSocID || !tibberID) {
                                              log("Fehler bei der Ermittlung der IDs. Bitte händisch ins Script eintragen", 'error')
                                          } else {
                                              idOK = true
                                          }
                                      } else {
                                          idOK = true
                                      }
                                      if (idOK) {
                                          checkTibber()
                                          on({ id: tibberID, change: "ne" }, function (obj) {
                                              //log("Tibber Modul. tibberID Event:" + obj.state.val)
                                              checkTibber()
                                          });
                                          on({ id: batSocID, change: "ne" }, function (obj) {
                                              //log("Tibber Modul. batSocID Event:" + obj.state.val + "%")
                                              checkTibber()
                                          });
                                      }
                                      function checkTibber() {
                                          if (tibberID && batSocID) {
                                              const RegulateID = ConfigData.statesPrefix + "." + ConfigData.RegulationState
                                              let priceLevel = getState(tibberID).val;
                                              let batsoc = Number(getState(batSocID).val)
                                              let OldRegulate = toBoolean(getState(RegulateID).val)
                                              //log("Tibber Preislevel: " + priceLevel + " OldRegulate: " + OldRegulate + " batsoc: " + (batsoc))
                                              if ((tibberConfig.LevelToSwitch.includes(priceLevel))) {
                                                  if (OldRegulate) {
                                                      if (batsoc <= tibberConfig.BatMin) {
                                                          setState(RegulateID, false);  // Regulierung aus
                                                          setState(tibberConfig.SwitchID, true) //Schalter einschalten
                                                          log("Script abgeschaltet AC-Ladung Ein, weil priceLevel:" + priceLevel + " batsoc:" + batsoc + "%")
                                                      }
                                                  } else {
                                                      if (batsoc >= tibberConfig.BatMax) {
                                                          setState(RegulateID, true);  // Regulierung an
                                                          setState(tibberConfig.SwitchID, false) //Schalter ausschalten
                                                          log(" Batterie bei BatMax. Script eingeschaltet AC-Ladung Aus. priceLevel:" + priceLevel + " batsoc:" + batsoc + "%")
                                                      }
                                                  }
                                              } else {
                                                  if (!OldRegulate) {
                                                      setState(RegulateID, true);  // Regulierung an
                                                      setState(tibberConfig.SwitchID, false) //Schalter ausschalten
                                                      log("Script eingeschaltet AC-Ladung Aus. priceLevel:" + priceLevel + " batsoc:" + batsoc + "%")
                                                  }
                                              }
                                          } else {
                                              //log("checkTibber skip. batsocID und/oder tibberID fehlen.")
                                          }
                                      }
                                      //*************************************************************
                                      

                                      Tibber-Pulse als Smartmeter nutzen und lokal auslesen:
                                      https://forum.iobroker.net/topic/70758/tibber-pulse-verbrauchsdaten-lokal-auslesen

                                      Unterstütze das Projekt 'ecoflow-connector'
                                      Wenn dir das Script zur dynamischen Leistungsanpassung für den IObroker gefällt und du es nützlich findest, ziehe bitte in Erwägung, eine kleine Spende via PayPal zu hinterlassen.
                                      Jeder Beitrag hilft, das Projekt am Laufen zu halten und weitere Updates zu ermöglichen.
                                      Danke für deine Unterstützung!
                                      Jetzt Spenden

                                      Dieses Script wird bei Änderungen und Updates immer aktualisiert:
                                      Nutzung auf eigene Gefahr !

                                      [Bildschirmfoto 2024-03-29 um 09.37.51.jpg

                                      • Installation von ioBroker und Skript unter UNRAID in nur 12 Minuten
                                      • Video mit Erklärung der Basiskonfiguration
                                      • Video mit Erklärung zu AdditionalPower und Überschussladung

                                      Download (neues JS-Script in IOBroker anlegen und den Inhalt der Datei einfügen):

                                      • ecoflow-connector_v125.txt (13.05.2024)
                                      • 1.2.5.f1 Fork von Florian Vogt (25.06.2024)
                                        Feature hinzugefügt, um die Größe der Delta-Speicher beim Ausbalancieren der Entladeleistung zu berücksichtigen, damit die Batterien gleichmäßig geleert werden.
                                        Parameter battCapacity bei den Einstellungen für PowerStream = Kapazität der angeschlossenen Batterie in kWh, default = 1
                                        ecoflow-connector_v125_mod_FV.txt (25.06.2024)

                                      ältere Versionen:

                                      • ecoflow-connector_v124.txt (22.04.2024)
                                      • ecoflow-connector_v123.txt (21.02.2024)
                                      • ecoflow-connector_v121_05.01.2024.txt
                                      • ecoflow-connector_v12_.04.12.2023.txt
                                      • ecoflow-connector_v1162_04.11.2023.txt
                                      • ecoflow-connector_v115_02.10.2023.txt
                                      • ecoflow-connector_v1142_26.09.2023
                                      • ecoflow-connector_v1132_31.08.2023
                                      • ecoflow-connector_v112_17.08.2023)
                                      L Offline
                                      L Offline
                                      lui1307
                                      schrieb am zuletzt editiert von
                                      #892

                                      @waly_de Hallo, ich bin auf der Suche nach einer dynamischen Leistungsanpassung für die ecoflow Delta Pro in Verbindung mit PowerStream auf dieses Script gestoßen. Leider bin ich völlig unerfahren mit ioBroker. Meine SmartHome Instanz ist ein Homey Pro, der mir auch einen scheinbar einfacheren Zugang zur Einrichtung von SmartHome Komponenten geben kann. Meine Frage wäre, welche Möglichkeiten mir für eine ähnliche Anwendung innerhalb meiner Homey Pro Umgebung zur Verfügung stehen. Gibt es eine Möglichkeit das Script in meiner Umgebung zu betreiben?

                                      W 1 Antwort Letzte Antwort
                                      0
                                      • L lui1307

                                        @waly_de Hallo, ich bin auf der Suche nach einer dynamischen Leistungsanpassung für die ecoflow Delta Pro in Verbindung mit PowerStream auf dieses Script gestoßen. Leider bin ich völlig unerfahren mit ioBroker. Meine SmartHome Instanz ist ein Homey Pro, der mir auch einen scheinbar einfacheren Zugang zur Einrichtung von SmartHome Komponenten geben kann. Meine Frage wäre, welche Möglichkeiten mir für eine ähnliche Anwendung innerhalb meiner Homey Pro Umgebung zur Verfügung stehen. Gibt es eine Möglichkeit das Script in meiner Umgebung zu betreiben?

                                        W Offline
                                        W Offline
                                        Waly_de
                                        schrieb am zuletzt editiert von Waly_de
                                        #893

                                        @lui1307 leider läuft mein Script nur in einer IO-Broker Instanz. Ich kann nur empfehlen iobroker mal eine Chance hingeben. Die Installation ist schnell erledigt und Kommunikation mit anderen Systemen über diverse Schnittstellen möglich. Es gibt auch eine Docker Version die z.B. auf einem Unraid-Server in 2 min installiert und einsatzfähig ist.

                                        A L 2 Antworten Letzte Antwort
                                        0
                                        • A Offline
                                          A Offline
                                          Accu
                                          schrieb am zuletzt editiert von Accu
                                          #894

                                          mal ne Frage zu dem Skript:
                                          ich habe die neuste Version geladen und im Konfig Bereich meine Daten eingetragen (zwischen die Gänsefüsschen) und die Seriennummern meiner Geräte (Powerstream & Delta Pro (als DM)).
                                          Auch meinen Sonoff IR Volkszähler Datenpunkt.

                                          Bildschirmfoto 2024-01-04 um 10.01.14.png

                                          bekomme aber auch einen Fehler für meine Delta Pro:
                                          Bildschirmfoto 2024-01-04 um 10.01.38.png

                                          Leider speist der Powerstream nicht ein. Sollte der nicht automatisch anspringen wenn das Skript gestartet ist?

                                          wie ist das mit der Location Variablen? Muss da noch was für die XXX eingetragen werden?
                                          Bildschirmfoto 2024-01-04 um 09.59.29.png

                                          A W 3 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          787

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe