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 Super. Ist immer toll zu sehen, dass mein Zeug auch woanders funktioniert 😉
      Tibber pulse: Da hab ich auch drüber nachgedacht. Kannst Du den direkt abfragen und in Dein Home Assistant einbinden, oder geht das immer nur über die Cloud (API)?
      Meinen Tasmota-Sensor würde ich nur ungern gegen eine trägere Cloudlösung tauschen.

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

        @waly_de
        Den Pulse greife ich über die API ab. Dafür gibt es direkt eine Integration in Home Assistant.

        Die Zuverlässigkeit der API ist nicht perfekt. Da gibt es hier und da regelmäßig mal Aussetzer. Die Integration hängt sich auch gerne mal auf. Ich überwache den Sensor bereits in Home Assistant und starte die Integration neu sobald der Wert sich für fünf Minuten nicht ändert. Wenn die API spinnt hilft das aber auch nicht.
        Es gibt auch eine Dokumentation auf GitHub um die Bridge des Pulse zu manipulieren und die Daten zumindest dort lokal abzufragen.

        Vorher hatte ich einen Weidmann Lesekopf am Zähler und direkt per USB mit dem Host von Home Assistant verbunden. Absolut zuverlässig. Leider muss ich den Pulse nutzen um den stündlichen Tarif von Tibber nutzen zu können.

        Es gäbe Möglichkeiten die Signale des Zählers auf einen weiteren Sendekopf zu spiegeln, aber so kontrolliere ich auch gleich ob alles korrekt auf den Servern von Tibber angekommen ist.

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

          @dreffi das hab ich befürchtet 😕

          Es gäbe Möglichkeiten die Signale des Zählers auf einen weiteren Sendekopf zu spiegeln

          Hast Du da vielleicht nähere Infos für mich?

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

            @waly_de
            Klar: https://www.photovoltaikforum.com/thread/202377-tibber-doppelter-lesekopf-pulse/

            Mir ist heute Nachmittag mindestens 2x irgendwas hängen geblieben. Ich weiß noch nicht wo die Ursache lag, aber es wurden dann keine Werte am Powerstream mehr aktualisiert. Ich werde das beobachten. Nach Neustart des Scripts läuft es Moment sofort wieder.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            758
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

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