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

    • [erledigt] 15. 05. Wartungsarbeiten am ioBroker Forum

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    ecoflow-connector-Script zur dynamischen Leistungsanpassung

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      Waly_de @Dreffi last edited by Waly_de

      @dreffi Perfekt, danke 🙂

      Wie lange waren denn die Hänger? Und gab es dazu Log-Ausgaben?
      Es ist so, dass der MQTT aufhört Daten zu senden, wenn Du parallel mit der App arbeitest, und diese dann schließt. Das Script überwacht aber, ob Daten kommen und verbindet sich selbst nach einer gewissen Zeit neu. (Am Tag nach einer Minute, ab einer Stunde nach Sonnenuntergang nach 15 Minuten)

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

        @waly_de
        Ich kann das noch nicht genau sagen. Ab ca. 16:00 hat sich die Einspeiseleistung des Powerstream nicht mehr geändert und der Netzbezug ging damit teilweise ins Negative (Einspeisung). Gegen 17:30 habe ich das bemerkt und das Skript neu gestartet.
        Bildschirmfoto 2023-07-30 um 07.20.12.png (Sorry, der erste Pfeil muss etwas weiter nach rechts auf kurz vor 16:00)

        Abends schien es dann andauernd auszusetzen. Es kann aber auch sein, dass da andere Probleme mit reingespielt haben. Es gab gestern reichlich Updates bei ecoflow. Vielleicht war der MQTT Server schlicht überlastet, weil alle an den Geräten rumgespielt haben.
        Im PV-Forum gibt es reichlich Beschwerden zu Problemen mit der Cloud bzw. dem Powerstream seit den Updates gestern.

        Zur Klarstellung: das Skript läuft weiter und die Objekte in ioBroker werden auch aktualisiert. Es scheint irgendwann nur nicht mehr vom Powerstream übernommen zu werden.
        Welches Objekt (state) in ioBroker entspricht dem Wert "Leistungsbedarf am AC-Ausgang"? Ich würde beobachten wollen ob dieses dann aktualisiert wird und zur tatsächlichen Einspeiseleistung passt.

        Das mit der App ist ein guter Tipp. Ich werde diese schließen, das Skript 1x neu starten und dann einige Stunden die Finger von der App lassen.

        Update:
        es hängt wieder. Aktuell sieht es so aus:
        Das Skript läuft und der Wert RealPower wird auch fleißig aktualisiert. Die Daten des Powerstream scheinen aber weder aktualisiert zu werden, noch überhaupt zu stimmen.
        Beispiele:
        totalPV steht unverändert auf 5762,88. Das kann nicht sein. Der Wert müsste um die 1000 liegen.
        PV1_Power steht auf 3 und PV2_Power steht auf 6000.
        PlugPower steht auf 36. Ist das der Wert für die Smart Plugs? Ich habe keine.

        Ich vermute aktuell es liegt an der WLAN Verbindung des Powerstream.
        Jepp, ich habe den Powerstream wieder auf den richtigen Repeater gezwungen und die Werte werden aktualisiert. Der Powerstream hat auch gleich wieder mit der Einspeisung begonnen. Das Problem liegt also vermutlich in meinem Netzwerk.

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

          @dreffi Ja das ist trügerisch. Ohne WLAN geht da natürlich nichts. In der APP muss man dann aufpassen, das nicht grade eine Bluetooth Verbindung angezeigt wird, sonst merkt man das nicht.

          Zu dem State kann ich Dir nur dringend empfehlen die Letzte(Beta) version vom Script zu verwenden. Denn die States haben sich, nachdem die Originaldefinitionen von ecoflow eingebaut wurden alle geändert. Aktuell steht der Wert in:
          0_userdata.0.ecoflow.app_device_property_XXXXXXXXXXXXXXXX.data.InverterHeartbeat.permanentWatts

          D 1 Reply Last reply Reply Quote 1
          • D
            Dreffi @Waly_de last edited by

            @waly_de
            Sorry für die doofe Frage, aber wie tausche ich das Skript am besten aus?
            Ich habe das alte gestoppt, ein neues angelegt und die Nutzereingaben mit den alten überschrieben. Beim Start des Skripts erhalte ich dann massig rote Fehlereinträge im Log.
            Ich habe daher erstmal eine Sicherung geladen.

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

              @dreffi war schon richtig so....

              In den Einstellungen des neuen Scripts gibt es neue Punkte die nicht fehlen dürfen... also nicht einfach die alten komplett rein kopieren.

              ...sonst brauch ich mal ein paar der Fehlermeldungen

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

                @waly_de
                Fehlermeldungen nach Start des Scripts in Version 0.6.2:

                30.7.2023, 12:01:00.530	[info ]: javascript.0 (1792) Start javascript script.js.Powerstream_BETA
                30.7.2023, 12:01:00.543	[info ]: javascript.0 (1792) script.js.Powerstream_BETA: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                30.7.2023, 12:01:00.923	[info ]: javascript.0 (1792) script.js.Powerstream_BETA: Verbunden mit dem Ecoflow MQTT-Broker
                30.7.2023, 12:01:01.036	[error]: javascript.0 (1792) script.js.Powerstream_BETA: TypeError: Cannot convert undefined or null to object
                30.7.2023, 12:01:01.037	[error]: javascript.0 (1792)     at decodeAndPrint (script.js.Powerstream_BETA:995:34)
                30.7.2023, 12:01:01.037	[error]: javascript.0 (1792)     at MqttClient.<anonymous> (script.js.Powerstream_BETA:832:36)
                30.7.2023, 12:01:01.052	[error]: javascript.0 (1792) script.js.Powerstream_BETA: TypeError: Cannot convert undefined or null to object
                30.7.2023, 12:01:01.052	[error]: javascript.0 (1792)     at decodeAndPrint (script.js.Powerstream_BETA:995:34)
                30.7.2023, 12:01:01.053	[error]: javascript.0 (1792)     at MqttClient.<anonymous> (script.js.Powerstream_BETA:832:36)
                30.7.2023, 12:01:01.065	[error]: javascript.0 (1792) script.js.Powerstream_BETA: TypeError: Cannot convert undefined or null to object
                30.7.2023, 12:01:01.066	[error]: javascript.0 (1792)     at decodeAndPrint (script.js.Powerstream_BETA:995:34)
                30.7.2023, 12:01:01.066	[error]: javascript.0 (1792)     at MqttClient.<anonymous> (script.js.Powerstream_BETA:832:36)
                30.7.2023, 12:01:01.077	[error]: javascript.0 (1792) script.js.Powerstream_BETA: TypeError: Cannot convert undefined or null to object
                30.7.2023, 12:01:01.078	[error]: javascript.0 (1792)     at decodeAndPrint (script.js.Powerstream_BETA:995:34)
                30.7.2023, 12:01:01.078	[error]: javascript.0 (1792)     at MqttClient.<anonymous> (script.js.Powerstream_BETA:832:36)
                30.7.2023, 12:01:01.176	[error]: javascript.0 (1792) script.js.Powerstream_BETA: TypeError: Cannot convert undefined or null to object
                30.7.2023, 12:01:01.177	[error]: javascript.0 (1792)     at decodeAndPrint (script.js.Powerstream_BETA:995:34)
                30.7.2023, 12:01:01.177	[error]: javascript.0 (1792)     at MqttClient.<anonymous> (script.js.Powerstream_BETA:832:36)
                30.7.2023, 12:01:02.833	[error]: javascript.0 (1792) script.js.Powerstream_BETA: TypeError: Cannot convert undefined or null to object
                30.7.2023, 12:01:02.834	[error]: javascript.0 (1792)     at decodeAndPrint (script.js.Powerstream_BETA:995:34)
                30.7.2023, 12:01:02.834	[error]: javascript.0 (1792)     at MqttClient.<anonymous> (script.js.Powerstream_BETA:832:36)
                30.7.2023, 12:01:03.046	[error]: javascript.0 (1792) script.js.Powerstream_BETA: TypeError: Cannot convert undefined or null to object
                30.7.2023, 12:01:03.047	[error]: javascript.0 (1792)     at decodeAndPrint (script.js.Powerstream_BETA:995:34)
                30.7.2023, 12:01:03.047	[error]: javascript.0 (1792)     at MqttClient.<anonymous> (script.js.Powerstream_BETA:832:36)
                30.7.2023, 12:01:03.248	[error]: javascript.0 (1792) script.js.Powerstream_BETA: TypeError: Cannot convert undefined or null to object
                30.7.2023, 12:01:03.249	[error]: javascript.0 (1792)     at decodeAndPrint (script.js.Powerstream_BETA:995:34)
                30.7.2023, 12:01:03.249	[error]: javascript.0 (1792)     at MqttClient.<anonymous> (script.js.Powerstream_BETA:832:36)
                30.7.2023, 12:01:04.581	[info ]: javascript.0 (1792) Stop script script.js.Powerstream_BETA
                30.7.2023, 12:01:04.582	[info ]: javascript.0 (1792) script.js.Powerstream_BETA: Ecoflow MQTT-Client beendet
                [/s]
                
                W 1 Reply Last reply Reply Quote 0
                • W
                  WALLe 0 @Waly_de last edited by WALLe 0

                  @waly_de

                  Ich habe hier noch eine kleine unschönheit entdeckt. 🙂
                  State value to set for "0_userdata.0.ecoflow.app_1668913565281660930_XXXXXXXXXXXXXXXX_thing_property_set.writeables.acChgCfg_D2" has to be type "string" but received type "number"

                  Das scirpt funktioniert sonst soweit taelos für mich, danke.

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

                    @dreffi kann ich mir so nicht erklären... Einstellungen gecheckt? alle vollständig ?
                    definition von protoSource2 vorhanden und vollständig ?
                    sonst vielleicht noch mal ein stück log mit eingeschaltetem debug ..

                    bin aber jetzt erst mal unterwegs und kann mich nicht kümmern

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

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

                      definition von protoSource2 vorhanden und vollständig ?

                      Wie prüfe ich das? Ich habe Protobuf und den MQTT Client mit den Befehlen aus dem Script über die Konsole installiert.
                      Nachtrag: die Werte der Delta 2 werden mit der aktuellen Version des Scripts aktualisiert. Die Werte des Powerstreams bekommt er anscheinend nicht decodiert.

                      L 1 Reply Last reply Reply Quote 1
                      • L
                        LordMinorin @Dreffi last edited by LordMinorin

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

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

                        definition von protoSource2 vorhanden und vollständig ?

                        Wie prüfe ich das? Ich habe Protobuf und den MQTT Client mit den Befehlen aus dem Script über die Konsole installiert.
                        Nachtrag: die Werte der Delta 2 werden mit der aktuellen Version des Scripts aktualisiert. Die Werte des Powerstreams bekommt er anscheinend nicht decodiert.

                        Hab seid heute dasselbe Problem
                        Hatte mal die neue Version reigeschrieben.
                        Bekomme auch lauter Fehler, ausser ich kommentiere den PowerStream aus.

                        Mit der vorherigen Version des Scriptes geht es auch nicht mehr, es werden nur keine Fehler geschrieben, sondern die Werte einfach nicht mehr aktualisiert.

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

                          @lordminorin ich fürchte das könnte mit den jüngsten updates zusammen hängen.
                          ich hab noch keine gemacht, weil ich das befürchtet habe.

                          dennoch: bitte mal mit Debug : true kurz loggen und mir zukommen lassen. gern auch als PM

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

                            @waly_de
                            Seit ungefähr 16:00 hat es bei mir mit dem alten Script wieder makellos bis in die Nacht funktioniert, trotz der Updates.

                            Ergänzung:
                            Auch heute morgen hat es ebenfalls wieder mit der Regelung begonnen. Es kommt allerdings nicht so viel AC-Leistung raus wie sie sollte. Eingestellt ist Restbezug von 10W. Mit den Verlusten etc. müssten ungefähr 16W rauskommen, es bleibt aber bei einem Bezug von eher 80W. Sobald der Powerstream über das Script mehr bzw. die richtige Leistung freigibt, wird diese gleich wieder runter geregelt. Ich habe dazu die tatsächlichen Werte in Home Assistant mit den jeweiligen Objekten in ioBroker beobachtet. Diese laufen absolut synchron.
                            Bildschirmfoto 2023-07-31 um 07.23.32.png
                            Das gleiche Verhalten habe ich gestern auch schon beobachtet. Es tritt nur zeitweise auf. Anscheinend nur bei sehr geringer Last.
                            Bildschirmfoto 2023-07-31 um 07.29.38.png
                            Keine große Sache, eher ein Schönheitsfehler.

                            W 1 Reply Last reply Reply Quote 0
                            • A
                              ApolloSK last edited by

                              @Waly_de hier der log (Console + Protokoll)

                              Fehleranzeige aus der Console:

                              09:42:53.126 error javascript.2 (1165082) script.js.Skripte.Instanz_2_Energie.Ecoflow_Skript_20230728: TypeError: Cannot convert undefined or null to object
                              09:42:53.127 error javascript.2 (1165082) at decodeAndPrint (script.js.Skripte.Instanz_2_Energie.Ecoflow_Skript_20230728:995:34)
                              09:42:53.127 error javascript.2 (1165082) at MqttClient.<anonymous> (script.js.Skripte.Instanz_2_Energie.Ecoflow_Skript_20230728:832:36)

                              Fehleranzeige aus den Protokoll (LOGS):

                              javascript.2 2023-07-31 09:42:53.127 error at processImmediate (node:internal/timers:447:9)
                              javascript.2 2023-07-31 09:42:53.127 error at runNextTicks (node:internal/process/task_queues:60:5)
                              javascript.2 2023-07-31 09:42:53.127 error at MqttClient.<anonymous> (script.js.Skripte.Instanz_2_Energie.Ecoflow_Skript_20230728:832:36)
                              javascript.2 2023-07-31 09:42:53.127 error at decodeAndPrint (script.js.Skripte.Instanz_2_Energie.Ecoflow_Skript_20230728:995:34)
                              javascript.2 2023-07-31 09:42:53.127 error at Type.decode_setup [as decode] (/opt/iobroker/node_modules/iobroker.javascript/node_modules/protobufjs/src/type.js:507:25)
                              javascript.2 2023-07-31 09:42:53.127 error at Type.Message$decode [as decode] (eval at Codegen (/opt/iobroker/node_modules/iobroker.javascript/node_modules/@protobufjs/codegen/index.js:50:33), <anonymous>:11:21)
                              javascript.2 2023-07-31 09:42:53.127 error at Type.decode_setup [as decode] (/opt/iobroker/node_modules/iobroker.javascript/node_modules/protobufjs/src/type.js:507:17)
                              javascript.2 2023-07-31 09:42:53.127 error at Type.setup (/opt/iobroker/node_modules/iobroker.javascript/node_modules/protobufjs/src/type.js:456:31)
                              javascript.2 2023-07-31 09:42:53.127 error at Object.toObject (/opt/iobroker/node_modules/iobroker.javascript/node_modules/protobufjs/src/converter.js:256:64)
                              javascript.2 2023-07-31 09:42:53.126 error at slice (<anonymous>)
                              javascript.2 2023-07-31 09:42:53.126 error script.js.Skripte.Instanz_2_Energie.Ecoflow_Skript_20230728: TypeError: Cannot convert undefined or null to object

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

                                @dreffi
                                Hmm Ich bleib dran. Es scheint so, als kämen leere Telegramme. Aber ohne einen ausführlichen Logauszug, Mit der Einstellung
                                Debug: true
                                komm ich da nicht weiter.

                                Deine Schwankungen oben könnten damit zu tun haben, dass der Wert, der im State das du unter "SmartmeterID" konfiguriert hast zu träge ist. Kannst Du bitte mal überprüfen, ob er sich innerhalb von 30 Sekunden nach der Anpassung der AC-Leistung aktualisiert ?

                                W D 2 Replies Last reply Reply Quote 0
                                • W
                                  Waly_de @Waly_de last edited by

                                  @waly_de

                                  So, habe einen meiner PS aktualisiert. Es haben sich die Telegramme definitiv verändert. Ich gucke es mir an. Bis dahin sollte, wer kann und das Script einsetzt KEIN Update machen.

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

                                    Zu spät... 😞

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

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

                                      @dreffi
                                      Deine Schwankungen oben könnten damit zu tun haben, dass der Wert, der im State das du unter "SmartmeterID" konfiguriert hast zu träge ist. Kannst Du bitte mal überprüfen, ob er sich innerhalb von 30 Sekunden nach der Anpassung der AC-Leistung aktualisiert ?

                                      Ich habe das mal genauer untersucht:

                                      • die Aktualisierung des Werts für Bezug hat in Home Assistant ungefähr 5 Sekunden Verzögerung (Einschalten des Verbrauchers bis Anzeige in Home Assistant)
                                      • die Übertragung von Home Assistant zu ioBroker erfolgt nahtlos (weniger als eine Sekunde)
                                      • der Wert für Bezug aktualisiert sich innerhalb weniger Sekunden, die Abstände variieren zwischen 1 und 15 Sekunden, wobei nur Änderungen protokolliert werden

                                      Kleine Chronologie von heute Morgen:
                                      07:20:32 Bezug: 73W
                                      07:20:32 Einspeisesollwert: 85W
                                      07:20:50 Bezug: 69W
                                      07:20:53 Bezug: 53W
                                      07:20:59 Bezug: 69W
                                      07:21:04 Bezug: 61W
                                      07:21:05 Bezug: 15W
                                      07:21:14 Bezug: 14W
                                      07:21:15 Bezug: 17W
                                      07:21:17 Einspeisesollwert: 140W
                                      07:21:24 Bezug: 16W
                                      07:21:27 Bezug: 15W
                                      07:21:47 Einspeisesollwert: 87W
                                      Der Einspeisesollwert ist das Objekt X_Unknown_12 des Powerstream (alte Version des Scripts), was nach meiner Beobachtung der eingestellten Grundlast*10 entspricht. Es erfolgen also definitiv noch Aktualisierungen des Bezugs innerhalb der 30 Sekunden.

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

                                        @dreffi X_Unknown_12 kann eigentlich nicht stimmen. es sollte in ToHome_Power stehen und im neuen Script in inv_output_watts.
                                        Ich hab versucht Dein Problem zu korrigieren. Teste mal

                                        Anbei die neue Version des Skriptes, die nun hoffentlich auch mit den Updates klar kommen sollte...

                                        Update unten
                                        

                                        Bin gespannt, Ob es bei Euch läuft....

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

                                          @waly_de Ich habe das selbe Problem und meine Einspeisung wird nun auf
                                          X_Unknown_12 gelogged..
                                          Ich hab mich schon gewundert warum der Wert immer hin und her toggled.

                                          Das neue Skript läuft bei mir leider nicht und ich bekomme folgende Fehlermeldungen:

                                          01:00:27.147	error	javascript.0 (1330) script.js.Ecoflow2: TypeError: Cannot convert undefined or null to object
                                          01:00:27.151	error	javascript.0 (1330) at decodeAndPrint (script.js.Ecoflow2:1005:34)
                                          01:00:27.152	error	javascript.0 (1330) at MqttClient.<anonymous> (script.js.Ecoflow2:840:36)
                                          01:00:27.210	error	javascript.0 (1330) script.js.Ecoflow2: TypeError: Cannot convert undefined or null to object
                                          01:00:27.211	error	javascript.0 (1330) at decodeAndPrint (script.js.Ecoflow2:1005:34)
                                          01:00:27.211	error	javascript.0 (1330) at MqttClient.<anonymous> (script.js.Ecoflow2:840:36)
                                          01:00:27.236	error	javascript.0 (1330) script.js.Ecoflow2: TypeError: Cannot convert undefined or null to object
                                          01:00:27.237	error	javascript.0 (1330) at decodeAndPrint (script.js.Ecoflow2:1005:34)
                                          01:00:27.237	error	javascript.0 (1330) at MqttClient.<anonymous> (script.js.Ecoflow2:840:36)
                                          01:00:27.256	error	javascript.0 (1330) script.js.Ecoflow2: TypeError: Cannot convert undefined or null to object
                                          01:00:27.257	error	javascript.0 (1330) at decodeAndPrint (script.js.Ecoflow2:1005:34)
                                          01:00:27.258	error	javascript.0 (1330) at MqttClient.<anonymous> (script.js.Ecoflow2:840:36)
                                          

                                          Ich habe das alte Skript mal mit dem X_Unknown_12 angepasst und es regelt wie vorher.

                                          Im Screenshot sieht man schön wie es wieder läuft:
                                          4afab48f-7295-4900-8b94-47c191fce7af-Bildschirm­foto 2023-08-01 um 01.05.20.png Bildschirm­foto 2023-08-01 um 01.05.20

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

                                            @ponti92 bitte das neue Script noch mal testen. Ich habe es modifiziert... und dann bitte ins Logfile sehen. Wenn da Einträge mit:
                                            Ungültiger hexString: XXX

                                            kommen, bitte schicken.

                                            D P 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            751
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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