Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Automatisierte Einspeisung für PowerStream

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    306

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Automatisierte Einspeisung für PowerStream

Scheduled Pinned Locked Moved JavaScript
javascript
16 Posts 5 Posters 1.9k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K karo2204

    @cptmozz OK super danke Dir für die schnelle Antwort. Ich muss aber nichts machen, oder? Nur wenn das Update der PS da ist dann noch die Watt ändern....?!

    cptmozzC Offline
    cptmozzC Offline
    cptmozz
    wrote on last edited by
    #7

    @karo2204 said in Automatisierung für den EcoFlow PowerStream:

    Ich muss aber nichts machen, oder? Nur wenn das Update der PS da ist dann noch die Watt ändern....?!

    Du musst nichts ändern. Während eines Updates oder Umsteckens ist die PS nicht erreichbar, aber sobald sie wieder online ist, geht alles automatisch weiter.

    1 Reply Last reply
    0
    • H Online
      H Online
      holgerwolf
      wrote on last edited by
      #8

      Ein Überschussladen der Delta über den AC Eingang ist aber nicht möglich, oder?

      cptmozzC 1 Reply Last reply
      0
      • H holgerwolf

        Ein Überschussladen der Delta über den AC Eingang ist aber nicht möglich, oder?

        cptmozzC Offline
        cptmozzC Offline
        cptmozz
        wrote on last edited by cptmozz
        #9

        @holgerwolf Interessante Idee, auch wenn es etwas schade ist wegen der vielen Verluste beim Umwandeln von DC (Solarpanels) ins Stromnetz und dann wieder von AC-220V in DC 12V/24V/48V bei der Delta (LiFePO4).

        Es gibt zwei Möglichkeiten, AC zu steuern:

        1. AC Eingang an/aus - (DM) Ob dies jetzt ein Ausgang oder Eingang ist, weiß ich nicht.
          { "id": 66, "name": "ACPower", "ValueName": "enabled", "Typ": "DM" }
          
        2. AC Ladeleistung ändern - (DM2) Vielleicht benötigt man nur dies und könnte es gegebenenfalls auf 0W setzen, wenn man gerade nicht laden möchte.
          { "id": 0, "name": "acChgCfg_D2", "ValueName": "chgWatts", "Typ": "D2", "MT": 5, "AddParam": "{\"chgWatts\":600,\"chgPauseFlag\":255}" }
          

        Theoretisch würde es so funktionieren und es wäre auch nicht allzu viel Code. Man muss eventuell noch den Zustand berücksichtigen, wenn die Delta in den Standby-Modus geht.

        H 1 Reply Last reply
        0
        • cptmozzC cptmozz

          @holgerwolf Interessante Idee, auch wenn es etwas schade ist wegen der vielen Verluste beim Umwandeln von DC (Solarpanels) ins Stromnetz und dann wieder von AC-220V in DC 12V/24V/48V bei der Delta (LiFePO4).

          Es gibt zwei Möglichkeiten, AC zu steuern:

          1. AC Eingang an/aus - (DM) Ob dies jetzt ein Ausgang oder Eingang ist, weiß ich nicht.
            { "id": 66, "name": "ACPower", "ValueName": "enabled", "Typ": "DM" }
            
          2. AC Ladeleistung ändern - (DM2) Vielleicht benötigt man nur dies und könnte es gegebenenfalls auf 0W setzen, wenn man gerade nicht laden möchte.
            { "id": 0, "name": "acChgCfg_D2", "ValueName": "chgWatts", "Typ": "D2", "MT": 5, "AddParam": "{\"chgWatts\":600,\"chgPauseFlag\":255}" }
            

          Theoretisch würde es so funktionieren und es wäre auch nicht allzu viel Code. Man muss eventuell noch den Zustand berücksichtigen, wenn die Delta in den Standby-Modus geht.

          H Online
          H Online
          holgerwolf
          wrote on last edited by
          #10

          @cptmozz Ich habe keine Panels an der PS hängen. Ich habe eine 7 kWp Anlage ohne Speicher. Mit Wallys Script lade ich die Delta Pro mit Zusatzakku tagsüber mit AC auf und gleiche den Hausverbrauch damit dann wieder aus. Das klappt mit Wallys Script recht gut, aber das kann halt noch (viel) mehr und ist recht komplex.

          Leider ist die Delta Pro jetzt schon wieder voll. Ich werde morgen mal die entsprechenden Datenpunkte fürs Laden raussuchen.

          cptmozzC 1 Reply Last reply
          0
          • H holgerwolf

            @cptmozz Ich habe keine Panels an der PS hängen. Ich habe eine 7 kWp Anlage ohne Speicher. Mit Wallys Script lade ich die Delta Pro mit Zusatzakku tagsüber mit AC auf und gleiche den Hausverbrauch damit dann wieder aus. Das klappt mit Wallys Script recht gut, aber das kann halt noch (viel) mehr und ist recht komplex.

            Leider ist die Delta Pro jetzt schon wieder voll. Ich werde morgen mal die entsprechenden Datenpunkte fürs Laden raussuchen.

            cptmozzC Offline
            cptmozzC Offline
            cptmozz
            wrote on last edited by
            #11

            @holgerwolf Verstehe.
            :thinking_face: Jetzt, wo ich länger darüber nachdenke, könnte ich diese Funktion auch benötigen, da ich die Delta im Winter wegen der Kälte ins Haus hole.
            Speist Waly's Skript nur so viel in die Delta über AC ein, wie Überschuss am Smartmeter festgestellt wird?

            H 2 Replies Last reply
            0
            • cptmozzC cptmozz

              @holgerwolf Verstehe.
              :thinking_face: Jetzt, wo ich länger darüber nachdenke, könnte ich diese Funktion auch benötigen, da ich die Delta im Winter wegen der Kälte ins Haus hole.
              Speist Waly's Skript nur so viel in die Delta über AC ein, wie Überschuss am Smartmeter festgestellt wird?

              H Online
              H Online
              holgerwolf
              wrote on last edited by
              #12

              @cptmozz sagte in Automatisierte Einspeisung für PowerStream:

              Speist Waly's Skript nur so viel in die Delta über AC ein, wie Überschuss am Smartmeter festgestellt wird?

              Ja.

              1 Reply Last reply
              0
              • cptmozzC cptmozz

                @holgerwolf Verstehe.
                :thinking_face: Jetzt, wo ich länger darüber nachdenke, könnte ich diese Funktion auch benötigen, da ich die Delta im Winter wegen der Kälte ins Haus hole.
                Speist Waly's Skript nur so viel in die Delta über AC ein, wie Überschuss am Smartmeter festgestellt wird?

                H Online
                H Online
                holgerwolf
                wrote on last edited by
                #13

                @cptmozz Ich habe jetzt gerade mal nachgeschaut.

                In Walys Script stellt man die Ladeleistung über einen Wert direkt in der Delta Pro ein:

                ecoflow-mqtt.0.DCEBXXXXXX.inv.cfgSlowChgWatts

                In den Objekten in der PS gibt es sowas wohl nicht.

                1 Reply Last reply
                0
                • D Offline
                  D Offline
                  dpleiss
                  wrote on last edited by
                  #14

                  Nachdem ich beschrieben habe, wie man Shelly Verbrauchsdaten direkt aus der EcoFlow Cloud holen kann,
                  habe ich nun dieses Skript hier so erweitert, dass man konfigurieren kann, ob man weiterhin den Hausverbrauch aus einem IOBroker State holen will, oder Verbrauchsdaten von der EcoFlow Shelly Integration nutzt.
                  Im verlinkten Post und im hiesigen Skript ist hoffentlich ausreichend erklärt, wie man das konfiguriert.

                  Hier das von mir erweiterte Skript: powerstream-output-control_SHELLY_INTEGRATION.js

                  @cptmozz oder andere: feel free, das weiter zu verwenden, zu verbessern, whatever.

                  wenn ich dann mal wieder beginne nachzudenken …
                  … dann fällt mit dem Nutzen der Verbrauchsdaten aus der EcoFlow Shelly Integration auch der Rückgriff auf die IOBroker Funktion, einen State zu lesen, weg.
                  Das einzig IOBroker-spezifische bleibt dann noch die Tag-/Nach-Steuerung (und das Logging).
                  Das heisst, wenn man sich davon verabschiedet, ist man eigentlich auch nicht mehr auf den IOBroker angewiesen und kann die Steuerung auch gleich einfach in NodeJS laufen lassen. :thinking_face:
                  Das werde ich mal ausprobieren …

                  D 1 Reply Last reply
                  0
                  • D dpleiss

                    Nachdem ich beschrieben habe, wie man Shelly Verbrauchsdaten direkt aus der EcoFlow Cloud holen kann,
                    habe ich nun dieses Skript hier so erweitert, dass man konfigurieren kann, ob man weiterhin den Hausverbrauch aus einem IOBroker State holen will, oder Verbrauchsdaten von der EcoFlow Shelly Integration nutzt.
                    Im verlinkten Post und im hiesigen Skript ist hoffentlich ausreichend erklärt, wie man das konfiguriert.

                    Hier das von mir erweiterte Skript: powerstream-output-control_SHELLY_INTEGRATION.js

                    @cptmozz oder andere: feel free, das weiter zu verwenden, zu verbessern, whatever.

                    wenn ich dann mal wieder beginne nachzudenken …
                    … dann fällt mit dem Nutzen der Verbrauchsdaten aus der EcoFlow Shelly Integration auch der Rückgriff auf die IOBroker Funktion, einen State zu lesen, weg.
                    Das einzig IOBroker-spezifische bleibt dann noch die Tag-/Nach-Steuerung (und das Logging).
                    Das heisst, wenn man sich davon verabschiedet, ist man eigentlich auch nicht mehr auf den IOBroker angewiesen und kann die Steuerung auch gleich einfach in NodeJS laufen lassen. :thinking_face:
                    Das werde ich mal ausprobieren …

                    D Offline
                    D Offline
                    dpleiss
                    wrote on last edited by
                    #15

                    … und es geht auch standalone!
                    Wenn man den Day-/Night-Mode Code rausnimmt und ein paar kleine Code-Änderungen vornimmt, kann man diese automatisierte Einspeisung komplett ohne IOBroker, nur auf NodeJS laufen lassen.

                    Ggf. die Abhängigkeiten installieren mit

                    npm install mqtt
                    npm install protobufjs
                    

                    dann kann das Skript unter NodeJS laufen mit

                    node powerstream-output-control_SHELLY_INTEGRATION_STANDALONE.js
                    

                    (natürlich nach den entsprechenden Konfigurationen im Skript)

                    Hier die Datei: powerstream-output-control_SHELLY_INTEGRATION_STANDALONE.js

                    1 Reply Last reply
                    0
                    • cptmozzC cptmozz

                      Inspiriert von @Waly_de umfangreichem und coolem Skript, habe ich eine vereinfachte Version entwickelt, die lediglich darauf abzielt, den PowerStream automatisch an die jeweils benötigte Leistung anzupassen. Diese gestraffte Version könnte auch für den einen oder anderen leichter anzupassen sein.

                      Nachdem das Skript stabil gelaufen ist, habe ich es nun auf GitHub veröffentlicht.

                      Als nächstes plane ich eine Erweiterung, die es ermöglicht, eigene deutlich kostengünstigere LiFePO4 Zusatzbatterien an den Delta Max anzuschließen. Ich arbeite an einer Anbindung von DALY SmartBMS-Systemen über MQTT (DALY2MQTT), die eine Leistung bis knapp 800W über den DC Eingang (bei 2 x 48V / 8A) unterstützt und das Hinzufügen unbegrenzt vieler Batterien erlaubt.

                      D Offline
                      D Offline
                      dpleiss
                      wrote on last edited by dpleiss
                      #16

                      @cptmozz
                      Ich habe ein Problem festgestellt bei dem Versuch, das Skript mit

                      CONTINUE_WHEN_INVERTER_IN_STANDBY: false
                      

                      laufen zu lassen. (Mir gefällt die Option besser, weil, warum Anpassungen der Grundlast schicken, wenn der Inverter eh nichts liefert.)
                      Es ist dabei in einen Zustand gelaufen, bei dem das Skript nicht mehr aufgewacht ist, nachdem der Inverter wieder aufgewacht ist.
                      Es sieht so aus, dass das Skript dann in dem Zustand "Waiting for acknowledgment" hängen geblieben ist.
                      Ich kann mir gut vorstellen, dass nichts mehr passiert, wenn irgendwie einmal die Differenz zwischen requestedInverterOut.ts und acknowledgedInverterOut.ts „passend“ steht. Dann wird stur immer weiter auf ein Acknowledge gewartet, das im INVERTER_IN_STANDBY Zustand bestimmt nicht mehr kommt.
                      (Für diese Überlegungen spricht auch, dass das Skript aufgewacht ist, als ich in der Ecoflow App den Grundbedarf Regler manuell verschoben habe - dadurch wurde wohl der Acknowledge gesendet auf den das Skript gewartet hat.)

                      Mein Lösungsansatz
                      Ich habe den

                      !device.CONTINUE_WHEN_INVERTER_IN_STANDBY
                      

                      Block nach oben verschoben innerhalb von

                      function isOutputAdjustmentRequired
                      

                      direkt nach den

                      if (smartMeterWattState.ts === 0)
                      

                      Überlegung dazu
                      Im STANDBY Zustand soll die Funktion sofort verlassen werden, es soll auf keinerlei „outdates“ oder acknowledges gewartet werden; es sollen keinerlei adjustments oder retries versucht werden.
                      Dann läuft er auch nicht in den Block mit "Waiting for acknowledgment“, solange STANDBY besteht.
                      Erst wenn der STANDBY vorbei ist, wird wieder mit Acknowledgements gerechnet.

                      Also, einfach den „!device.CONTINUE_WHEN_INVERTER_IN_STANDBY“ Block nach oben verschoben in der "function isOutputAdjustmentRequired".

                      Das funktioniert bei mir in der Praxis bisher stabil, sodass das Skript auch mit der Option „CONTINUE_WHEN_INVERTER_IN_STANDBY: false“ funktioniert und mit Erwachen der Anlage auch selber wieder die Steuerung übernimmt.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      655

                      Online

                      32.7k

                      Users

                      82.5k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe