Navigation

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

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 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.
    • M
      Milchbeck @Waly_de last edited by

      @waly_de 0_userdata.0.ecoflow.AdditionalPowerSum

      Hab ich nicht im Script

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

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

        @ponti92 ne, das ist so gedacht. Wenn 600 W in die Batterie gehen und mehr geerntet werden kann, dann ist es doch ok, wenn der Bezug negativ wird. und ja, er versucht solange so viel Leistung zur Batterie geht, immer in 20 schritten zu erhöhen... alles genau so geplant ... wenn du das unterbindest, verschenkst Du Energie...

        Ja das Feature ist mir schon bewusst und sinnvoll, aber ich hab mich immer gewundert warum es schon bei 550W startet..
        Ich weiß, dass es dazu dient zusätzliche PV Leistung einzuspeisen, die sonst verloren ginge, jedoch ist es in meinem Fall suboptimal. Denn durch die andere PV Leistung ist mein hausverbrauch schon negativ und das Skript verschenkt dann noch 50W, die eigentlich in den Akku gehören 🙂
        Bei mir klappt das mit 600W wunderbar, vielleicht ist die Spannung deiner Solarmodule zu niedrig, sodass er dann in die Strombegrenzung geht?

        Aber du kannst nach BAT_MAX_OFFSET suchen. Das steht auf 60. Also fängt Zusatzpower bei 540 W an zu arbeiten (Weil oft der Akku keine 600W zulässt. Zumindest bei mir)
        Setzt BAT_MAX_OFFSET auf 0, dann startet Zusatzpower tatsächlich erst bei 600W

        Danke, das wird es wohl sein. ich stell den Wert mal auf 0 oder 10 und teste mal 🙂

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

          
          2023-09-26 00:13:21.945 - info: admin.0 (163) <== Disconnect system.user.admin from ::ffff:192.168.178.202 admin
          2023-09-26 00:30:09.737 - info: admin.0 (163) ==> Connected system.user.admin from ::ffff:192.168.178.202
          2023-09-26 00:30:15.729 - info: admin.0 (163) <== Disconnect system.user.admin from ::ffff:192.168.178.202 admin
          2023-09-26 01:10:03.397 - info: history.0 (11304) Delete old history "/opt/iobroker/iobroker-data/history/20230923/history.0_userdata.0.ecoflow.RealPower.json"
          2023-09-26 01:10:03.412 - info: history.0 (11304) Delete old history dir "/opt/iobroker/iobroker-data/history/20230923"
          2023-09-26 07:47:03.200 - error: javascript.0 (426153) Error in callback: TypeError: (Hausstrom + Einspeisung).toFixed is not a function
          2023-09-26 07:47:03.217 - error: javascript.0 (426153) at Object. (script.js.Ecoflow_25_09_2023:2404:68)
          2023-09-26 07:47:03.217 - error: javascript.0 (426153) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2777:34)
          2023-09-26 07:47:03.217 - error: javascript.0 (426153) at listOnTimeout (node:internal/timers:569:17)
          2023-09-26 07:47:03.217 - error: javascript.0 (426153) at processTimers (node:internal/timers:512:7)
          2023-09-26 08:07:54.337 - warn: deyeidc.0 (432547) ControlCode faulty!: Data may be corrupt, therefore discarded
          2023-09-26 08:21:47.096 - info: admin.0 (163) ==> Connected system.user.admin from ::ffff:192.168.178.168
          2023-09-26 08:23:59.033 - info: admin.0 (163) <== Disconnect system.user.admin from ::ffff:192.168.178.168 admin
          2023-09-26 08:24:13.596 - info: admin.0 (163) ==> Connected system.user.admin from ::ffff:192.168.178.168
          2023-09-26 08:24:31.860 - info: admin.0 (163) ==> Connected system.user.admin from ::ffff:192.168.178.168
          2023-09-26 08:25:05.772 - info: admin.0 (163) <== Disconnect system.user.admin from ::ffff:192.168.178.168 javascript
          2023-09-26 08:25:05.773 - info: admin.0 (163) <== Disconnect system.user.admin from ::ffff:192.168.178.168 admin
          2023-09-26 08:25:39.752 - info: admin.0 (163) ==> Connected system.user.admin from ::ffff:192.168.178.168
          
          

          Das kommt immer wieder bin jetzt erstmal wieder zurück zum vorherigen Script

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

            @milchbeck also ich vermute ja das es mit dem 0_userdata.0.ecoflow.AdditionalPowerSum zusammen hängt
            warn: deyeidc.0 (432547) ControlCode faulty!: Data may be corrupt, therefore discarded

            hast du einen Deye Konfiguriert bei AdditionalPower ? Lass das mal testweise weg. (es reicht wenn du die ID änderst z.B. aus
            id: "deyeidc.0.solar.1234567890.0.power"
            mach mal
            id: "off-deyeidc.0.solar.1234567890.0.power"

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

              Danke für das Skript 🙂

              Ich habe die neuste Version mal ausprobiert, bekomme aber folgende Fehlermeldungen:

              
              javascript.0
              2023-09-26 09:38:10.163	error	at processTimers (node:internal/timers:512:7)
              
              javascript.0
              2023-09-26 09:38:10.163	error	at listOnTimeout (node:internal/timers:569:17)
              
              javascript.0
              2023-09-26 09:38:10.163	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2757:34)
              
              javascript.0
              2023-09-26 09:38:10.163	error	at Object.<anonymous> (script.js.Dynamisches_Einspeisen09:2404:68)
              
              javascript.0
              2023-09-26 09:38:10.162	error	Error in callback: TypeError: (Hausstrom + Einspeisung).toFixed is not a function
              

              Kann mir da jemand helfen, warum das so ist?
              Folgende Werte bekomme ich von HomeAssistant:

              SmartmeterID: "hass.0.entities.sensor.scb_home_power.state",
              
              AdditionalPower: [                                     // Wenn es weitere Wechselrichter gibt, die in IOBroker erfasst werden, können diese hier Angelegt werden
                      //############# Diesen Abschnitt für jedes einzelne Gerät anlegen ################
                      {
                          name: "Kostal_WR",                       // Beliebiger Name
                          id: "hass.0.entities.sensor.scb_ac_power.state"       // Der Objektpfad zu dem Leistungswert in Watt (W)
                      },
              

              Habe in der Instanz JavaScript mqtt und protoburfjs installiert.

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

                @mara

                ok bitte diese neue Version Installieren:

                ecoflow-connector_v1142.txt

                und das Object :

                0_userdata.0.ecoflow.AdditionalPowerSum
                

                Löschen.

                Changelog:

                  • (1.1.4.2) 26.09.2023
                  • BugFix
                  • Neuer Parameter: Zusatzpower_Offset: Zusatzpower startet ab einer Batterieladeleistung von MaxPower - Zusatzpower_Offset
                M 1 Reply Last reply Reply Quote 1
                • M
                  MaRa @Waly_de last edited by MaRa

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

                  0_userdata.0.ecoflow.AdditionalPowerSum

                  Danke 🙂

                  Was mir aktuell aufgefallen ist:

                  Stromverbrauchen aktuell sind 300W
                  Wechselrichter meiner Haupt-PV-Anlage gibt aktuell 5000W ins Hausnetz
                  Der PowerStream versucht dennoch mit 300W dagegenzuhalten und den Hausverbrauch auf 0 zu setzen.

                  Meines Erachtens nach hätte der PS auf 0 gestellt werden müssen, da die 5000W durch die Haupt Anlange ausreichen.

                  Oder habe ich da einen Gedankenfehler?

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

                    @mara sollte normal auf 0 gestellt werden außer die PS ist im Zusatzeinspeisemodus.
                    Dabei wird schrittweise der Bedarf erhöht, sobald der PS bei ca. 600W angekommen ist. (Siehe meine Kommentare oben)

                    Zeigt dein Smart Meter denn einen negativen Wert an, wenn die große Anlage den Bedarf und mehr deckt?

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

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

                      Zusatzeinspeisemodus
                      Welche Option ist das im Skript?

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

                      Zeigt dein Smart Meter denn einen negativen Wert an, wenn die große Anlage den Bedarf und mehr deckt?

                      Ha, hab ein Fehler bei mir gefunden. Der dumme sitzt ja meist vor dem Bildschirm. War eine falscher Sensor, den ich eingetragen hatte.

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

                        So hab das neue Script jetzt mal am laufen es scheint zu funktionieren 🤩 v1142

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

                          Kann es sein oder täusche ich mich, das Echtzeit einspeichern funktioniert präziser?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            467
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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