Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Automatisierte Einspeisung für PowerStream

    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

    Automatisierte Einspeisung für PowerStream

    This topic has been deleted. Only users with topic management privileges can see it.
    • cptmozz
      cptmozz @karo2204 last edited by

      @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 Reply Quote 0
      • H
        holgerwolf last edited by

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

        cptmozz 1 Reply Last reply Reply Quote 0
        • cptmozz
          cptmozz @holgerwolf last edited by 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 1 Reply Last reply Reply Quote 0
          • H
            holgerwolf @cptmozz last edited by

            @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.

            cptmozz 1 Reply Last reply Reply Quote 0
            • cptmozz
              cptmozz @holgerwolf last edited by

              @holgerwolf Verstehe.
              🤔 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 Reply Quote 0
              • H
                holgerwolf @cptmozz last edited by

                @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 Reply Quote 0
                • H
                  holgerwolf @cptmozz last edited by

                  @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 Reply Quote 0
                  • D
                    dpleiss last edited by

                    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. 🤔
                    Das werde ich mal ausprobieren …

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

                      … 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 Reply Quote 0
                      • D
                        dpleiss @cptmozz last edited by dpleiss

                        @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 Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        777
                        Online

                        31.8k
                        Users

                        80.0k
                        Topics

                        1.3m
                        Posts

                        javascript
                        5
                        16
                        1074
                        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