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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    ecoflow-connector-Script zur dynamischen Leistungsanpassung

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

      Hallo,
      ich bekomme es einfach nicht so richtig zum laufen.
      script.js.Dynamische_Anpassung_1142: PowerStream [PowerStream] Batteriestand unter Limit:10% (0%). Limitiere Einspeiseleistung auf: 150W

      Obwohl die Battterie (D2M) bei 54% ist scheint er sie nicht richtig abzurufen 😞
      Ändere ich auf "hasbat" auf false, dann gibt er die vollen 600W ab, also scheint die Kommunikation zu funktionieren.
      hat jemand eine Idee?

      K 1 Reply Last reply Reply Quote 0
      • K
        kaiausBrieselang @kaiausBrieselang last edited by

        @kaiausbrieselang
        auch unter:
        0_userdata.0.ecoflow.app_1589636683427278850_Rxxxxxxxx_thing_property_set
        writeables
        ist alles auf 0

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

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

          @kaiausbrieselang
          auch unter:
          0_userdata.0.ecoflow.app_1589636683427278850_Rxxxxxxxx_thing_property_set
          writeables
          ist alles auf 0

          Was zeigt denn die App an, wenn du die Einstellungen des PS aufrufst. Wenn Du es in der Nacht versuchst, wenn der Powerstream schläft, kann das auch passieren das 0 angezeigt wird.
          (ich gehe davon aus, das Deine D2M direkt mit der PS verbunden ist.)

          Writables werden nur angelegt. Werte können erst bei Änderung angezeigt werden. Ändere etwas in der App während das Script online ist und das Ergebnis sollte auch in den Writeables zu sehen sein.

          K 2 Replies Last reply Reply Quote 0
          • K
            kaiausBrieselang @Waly_de last edited by

            @waly_de
            Hallo,
            vielen Dank für deine schnelle Antwort.
            Ich wusste nicht, welche von den vielen Infos zur Fehlereingrenzung relevant sind.
            Also, die D2M ist direkt über Port2 mit dem PS verbunden. Am Port1 des D2M hängt (zur Zeit) nichts.
            Solarpanele sind im Moment gar nicht angeschlossen (weder am PS noch am D2M).
            Der Akku wird per Überschuss über eine Homematic Steckdose geladen, wenn genügend vorhanden ist.
            Der Akku hat im Moment 65% und wird in der App beim PS angezeigt.
            Einstellungen in der APP beim PS:
            Modus: Stromversorgung Priorisieren
            Bedarf: 0W
            Lade/entladegrenzwert: 0%-100% (habe ich beim D2M so aktuell eingestellt und wurde so auch vom PS übernommen).
            Im Script:

            name: "PowerStream",                        // beliebiger Namen
                        MaxPower: 600,                              // Der höchstmögliche Wert in Watt für die Einspeiseleistung
                        subscribe: true,                            // "true": Alle Daten für dieses Gerät werden angefragt. "false": Es werden keine Statusdaten abgefragt
                        typ: "PS",                                  // Welches Gerät ist es: Powerstrem:"PS"; DeltaMax:"DM"; Delta2: "D2" ; Delta2 Max: "D2M"; SmartPlug: "SM"; Andere: "NA" 
                        // Parameter an hier nur für PowerStream.     
                        regulation: true,                           // "true": Dieser PowerStream soll vom Script reguliert werden
                        RegulationOffPower: -1,                     // Wird die Regulation per State abgestellt, wird die Einspeiseleistung des ersten Powerstreams auf diesen Wert gesetzt (-1 = keine Änderung, -2 = Batterie Priomodus)
                        hasBat: true,                               // "true": Eine Batterie ist angeschlossen. Nur für PowerStream relevant.
                        battPozOn: 99, battPozOff: 94,              // Wenn die Batterie bei battPozOn ist, Einspeisung auf MaxPower. Bei BattPozOff Normalbetrieb
                        battOnSwitchPrio: true,                    // "true": Bei battPozOn wird in den Batterie-Prioritätsmodus gewechselt
                        prioOffOnDemand: 0,                        // Wattwert des Bedarfs, bei dem zurück in den Strom-Priomodus gechaltet wird. 0 für kein Rückschalten.   
                        lowBatLimitPozOn: 10, lowBatLimitPozOff: 40,// Bei Unterschreiten der Batterieladung von "lowBatLimitPozOn" % ist die maximale Einspeiseleistung auf 
                        lowBatLimit: 150,    
            
            

            und

               name: "DELTA2Max",
                        typ: "D2M",
                        subscribe: true, 
            

            als Quelle für den Stromzähler habe ich einen von Homematic

            SmartmeterID: "hm-rpc.0.MEQ0381279.1.IEC_POWER",     // State, der den aktuellen Gesamtverbrauch in Watt anzeigt
            

            Der Zeigt Bezugsleistung in W an. Bei Überschuss ist der Wert negativ

            Im Moment ist es so, dass der PS nichts ans Haus abgibt. Aber wegen der Sonne auch Überschuss herrscht.
            Einspeisen des Überschusses läuft nicht über das Script (bisher).

            Das Protokoll des IOBroker zeigt:

            javascript.0
            2023-09-27 14:58:21.007	info	script.js.Dynamische_Anpassung_1142: Adresse: app_1589636683427278850_R351xxxxxxxx_thing_property_set
            
            javascript.0
            2023-09-27 14:58:21.007	info	script.js.Dynamische_Anpassung_1142: Unbekannter Delta2Max Set Befehl: {"params":{},"from":"iOS","lang":"de-de","id":"500855464","moduleSn":"R351xxxxxxx","moduleType":1,"operateType":"getAllTaskCfg","version":"1.0"}
            
            javascript.0
            2023-09-27 14:58:20.899	info	script.js.Dynamische_Anpassung_1142: Adresse: app_1589636683427278850_R351xxxxxxx_thing_property_set
            
            javascript.0
            2023-09-27 14:58:20.899	info	script.js.Dynamische_Anpassung_1142: Unbekannter Delta2Max Set Befehl: {"params":{},"from":"iOS","lang":"de-de","id":"500692123","moduleSn":"R351xxxxxxx","moduleType":1,"operateType":"getAllTaskCfg","version":"1.0"}
            

            Und vorhin beim Starten des Scriptes:

            script.js.Dynamische_Anpassung_1142: PowerStream [PowerStream] Batteriestand unter Limit:10% (0%). Limitiere Einspeiseleistung auf: 150W
            

            Ich hatte vermutet, des Batteriestand bei den Writeables zu finden.
            Habe wie von dir vorgeschlagen, mal was am D2M verändert (USB angeschaltet) und du hast recht, der Wert ändert sich von 0 auf 1.

            Aber unabhängih von den writeables muss ich noch irgendwo einen Fehler haben.
            Ist nur schwer zu testen, wenn die Sonne scheint 🙄 🕶

            gruß Kai

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

              Hallo,
              ich habe jetzt auch mal das Script ausprobiert und bekomme keine gute Regelung hin.
              Meine Konfiguration 2 PS mit jeweils einem Speicher dran. Das Problem ist das er eigentlich viel zu lange zu viel einpeist, so als ob er den Sollwert nicht auf die 2 PS verteilt.
              Ist an meiner Konfiguration was verkehrt oder hat das Script ein Problem mit dieser Konfiguration? Irgendwelche Ideen?

              So sieht es aktuell: Oben die Gesamteinpeisung der beides PS und unten wie lange er zuviel einpeist obwohl die Batterien noch nicht voll sind.
              497f861b-2257-41b3-b8d7-f3dc3b055df8-image.png

              meine config: hab eigentlich fast alles auf default parametrierung
              590140d6-2012-41ac-9030-9b55cebdaec5-image.png

              Nach Analyse des Diagramms denke ich, das Problem folgendes obwohl der PS die Batterie gefüllt und voll einspeist und der andere PS noch nicht seine Batterie gefüllt hat speist er immer noch konstant ca. 160w ein und somit entsteht der großer Überschuss... Kann ich das irgendwo anpassen in der Konfiguration?

              Viele Grüße,

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

                @waly_de
                kaum wartet man einige Zeit, wird auch ein Batteriestand erkannt.

                	script.js.Dynamische_Anpassung_1142: PowerStream [PowerStream] Batteriestand ist jetzt über Limit:40% (64%). Maximale Einspeisung wieder bei: 600W
                

                Ich bin erstmal glücklich und beobachte weiter deine tolle Arbeit.
                Danke!

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

                  @kaiausbrieselang ja bei mir ist das ähnlich, dass der batteriestand nur selten aktualisiert wird und manchmal auch auf 0 springt.

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

                    Also bei mir läuft alles wie erwartet auch das wenn alles voll geladen ist wird was die Solar Zellen hergeben eingespeist 🤙 super Arbeit 👍🙏🏼🙌🏼

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

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

                      Nach Analyse des Diagramms denke ich, das Problem folgendes obwohl der PS die Batterie gefüllt und voll einspeist und der andere PS noch nicht seine Batterie gefüllt hat speist er immer noch konstant ca. 160w ein und somit entsteht der großer Überschuss... Kann ich das irgendwo anpassen in der Konfiguration?

                      hast Du SmartPlugs im Einsatz?

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

                        @waly_de
                        Nein, keine Smart Plugs.

                        W 1 Reply Last reply Reply Quote 0
                        • G
                          Golf GTI last edited by Golf GTI

                          Einen schönen Guten Abend
                          hab da mal eine fage was hat es mit der Überschuss Ladung zu tun?
                          dieser daten punkt taucht bei mir nirgends auf slowChgP

                          // Überschuss Ladung:
                          //****************************************
                          ExcessCharge: false, //
                          ExcessChargePowerID: "0_userdata.0.ecoflow.app_xxxxxxxxxxxxxxxxxxxx_DAxxxxxxxxxxxxxxxxxx_thing_property_set.writeables.slowChgPower",
                          ExcessChargeSwitchID: "hm-rpc.3.xxxxxxxxxxxxxxxxxx.3.STATE",
                          ExcessChargeSwitchOn: true,
                          ExcessChargeSwitchOff: false,
                          ExcessChargeSwitchMin: 10,
                          ExcessChargeMaxPower: 1500,
                          ExcessChargeStartPower: 50,
                          ExcessChargeStartPowerDurationMin: 5,

                          A W 2 Replies Last reply Reply Quote 0
                          • R
                            resilient @Milchbeck last edited by

                            @milchbeck
                            Hast du aber auch 2 PS mit jeweils einem Speicher ?

                            1 Reply Last reply Reply Quote 0
                            • A
                              aherby @Golf GTI last edited by aherby

                              @golf-gti Moin, der slowChgP kommt vom Akku also z.B. Delta 2 Max und ist in den Objekten vom Akku zu finden.
                              Spätestens wenn man die Ladegewindigkeit mit Netzstrom in der App ändert. Bei der Delta 2 Max kann man ja langsames oder schnelles Laden per Schalter auswählen.

                              Zum Thema "Überschuss Ladung" kann ich leider nichts sagen

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

                                @resilient schwer zu sagen was da los ist.... was gibt denn shelly.0.SHEM-3#349454757F98#1.Total.InstantPower genau an? Dein Diagramm sieht auch nicht wirklich so aus, als würde da viel geregelt. Beobachte mal den Wert : 0_userdata.0.ecoflow.RealPower der sollte deinen tatsächlichen verbrauch anzeigen (Ohne Einspeisung der PS)

                                Wenn shelly.0.SHEM-3#349454757F98#1.Total.InstantPower den Wert repräsentiert, den Dein Stromzähler anzeigt, dann sollte, wenn eine Batterie voll ist und Solarstrom einspeist , die Andere nach kurzer Zeit nicht weiter einspeisen. Es sei den, Smartplugs sind noch im Netzt und fordern Leistung an.

                                Dazu beobachte auch mal die Werte:0_userdata.0.ecoflow.app_device_property_HWXXXXXXXXX.data.InverterHeartbeat.permanentWatts (Zeigt der die Leistung an, die gerade abgegeben wird, oder steht der Wert auf 0? )
                                und was steht in dem Object:
                                0_userdata.0.ecoflow.app_device_property_HWXXXXXXXXX.data.InverterHeartbeat.dynamicWatts

                                das könnte auch SmartmeterFallbackPower sein (also 150W) Dazu müsste es Einträge im Protokoll geben

                                R 1 Reply Last reply Reply Quote 0
                                • W
                                  Waly_de @Golf GTI last edited by

                                  @golf-gti sagte in ecoflow-connector-Script zur dynamischen Leistungsanpassung:

                                  Einen schönen Guten Abend
                                  hab da mal eine fage was hat es mit der Überschuss Ladung zu tun?
                                  dieser daten punkt taucht bei mir nirgends auf

                                  Das ist wie gesagt noch Zukunftsmusik und kann ignoriert werden.

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

                                    @waly_de

                                    shelly.0.SHEM-3#349454757F98#1.Total.InstantPower gibt die momentan benötigte Leistung an falls zu viel anliegt auch als
                                    minuswert. Also wird die eingespeiste Leistung auf einer der 3 Phasen bereits abgezogen.

                                    0_userdata.0.ecoflow.app_device_property_HWXXXXXXXXX.data.InverterHeartbeat.permanentWatts die werte stehen in beiden PS nicht auf Null bei einem 130 und bei dem anderen 150 aber konstant und ändert sich überhaupt nicht.

                                    Hier mal ein Bild 0_userdata.0.ecoflow.RealPower.
                                    wie gesagt permanentWatts ändert sich nicht, daher dachte ich invOutputWatts (faktor 10) wäre die geregelte Einpeiseleistung vom PS, hab die auch aufgezeichnet.

                                    3143cdce-b204-45f5-963a-5b3ab946c4f5-image.png

                                    Kann das sein das shelly.0.SHEM-3#349454757F98#1.Total.InstantPower nicht das ist was hier gebraucht wird?

                                    W 1 Reply Last reply Reply Quote 0
                                    • P
                                      pasch last edited by

                                      Hallo zusammen,

                                      ich hoffe ihr könnt mir helfen. Ich hatte das Skript schon mal in einem iobrocker Docker laufen und es hat super funktioniert. Nun musste ich mir einen neuen Container erstellen und das Skript in Version 1.1.4.1 will einfach nicht mehr. 😞

                                      Mein Realpower Wert wird aktualisiert. Deswegen denke ich das ich meinen Smartmeter über HASS wieder richtig eingebunden habe. Über das writable SetAC kann ich einen Wert auch ohne Probleme setzen.

                                      Mir ist bisher nur aufgefallen, dass unter 0_userdata.0.ecoflow.app_....set der Wert setAC nie aktuallisiert wird. Liegt hier vielleicht der Fehler?

                                      Wenn ich hasBat auf false setzte, wird die Einspeisung auf 600 Watt gesetzt und bei setAC wird 6000 angezeigt. Das funktioniert.

                                      Grüße
                                      Patrick

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

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

                                        permanentWatts

                                        Steht nichts im Log? Realpower sieht plausibel aus. Aber es wird nichts geregelt. Kann im Moment nicht sagen was das Problem ist.

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

                                          @pasch setAC unter writeables wird aber aktualisiert? Was ist das Problem? Wird garnicht geregelt?

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

                                            @waly_de
                                            achja dynamicWatts ist auch bei beiden PS auf 0.
                                            das Log sagt nichts ungewöhnliches:
                                            5f83f507-52f4-4ece-81f9-a66d68fdeeb8-image.png

                                            ja irgendwie läuft die Regelung nicht aber das script sagt auch nicht was das problem ist

                                            W 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            963
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            126
                                            1630
                                            512366
                                            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