Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Einbindung von Geräten
    5. Adapter für Ecoflow Einbindung

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Adapter für Ecoflow Einbindung

    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      Gisy @paul53 last edited by

      @paul53
      Ich bin hier gelandet, obwohl ich nicht IOBroker nutze (sondern Openhab) 🙂

      Curl ist ein Kommandozeilenbefehl von Linux. So abgesetzt bekommt man über die API einen Json-String zurück.
      -H bedeutet, dass der Header entsprechend abgesendet wird.
      Der String, der zurückgegeben wird, müsste entsprechen geparst werden. Bei Openhab gibt es dazu ein JsonPath Binding. Bestimmt auch bei IOBroker.
      Oder habe ich das Problem nicht verstanden?

      SmartDidi 1 Reply Last reply Reply Quote 0
      • SmartDidi
        SmartDidi @Gisy last edited by

        @gisy
        Danke für deinen Tipp.
        Leider kenne ich mich hier nicht so gut aus.
        Habe JsonPath Binding in zusammenhang mit IoBroker gegoogelt und nicht wirklich was gefunden.
        Kannst du mir vielleicht trotzdem irgendwie weiterhelfen?

        Z 1 Reply Last reply Reply Quote 0
        • Z
          zariomahn @SmartDidi last edited by

          @smartdidi said in Adapter für Ecoflow Einbindung:

          @gisy
          Danke für deinen Tipp.
          Leider kenne ich mich hier nicht so gut aus.
          Habe JsonPath Binding in zusammenhang mit IoBroker gegoogelt und nicht wirklich was gefunden.
          Kannst du mir vielleicht trotzdem irgendwie weiterhelfen?

          Hi alle,

          gibt es hier schon neue Erkenntnisse bzw. Lösung ?

          Habe ebenfalls die Ecoflow mitsamt API

          viele Grüße

          MZ

          1 Reply Last reply Reply Quote 0
          • Newan
            Newan last edited by

            Adapter findet ihr unter:

            https://github.com/Newan/ioBroker.ecoflow

            SmartDidi B M T 4 Replies Last reply Reply Quote 0
            • SmartDidi
              SmartDidi @Newan last edited by

              @newan GENIAL, vielen Dank

              1 Reply Last reply Reply Quote 0
              • B
                btrompetter @Newan last edited by

                @newan Wie kann man den Adpater installieren im IOBroker Repository finde ich ihn nicht. http://download.iobroker.net/sources-dist-latest.json

                Newan 1 Reply Last reply Reply Quote 0
                • Newan
                  Newan @btrompetter last edited by

                  @btrompetter Geht derzeit nur über Benutzerdefiniert im Expertenmodus direkt mit dem Link aus github.

                  Bin gerade dabei es aufnehmen zu lassen, sid aber noch 1-2 Fehler die behoben werden müssen dafür

                  B 1 Reply Last reply Reply Quote 0
                  • B
                    btrompetter @Newan last edited by

                    @newan ich habs über den Direkt Link probiert und es gab folgenden Fehler

                    $ iobroker url https://github.com/Newan/ioBroker.ecoflow --host iobroker --debug
                    install Newan/ioBroker.ecoflow#4967f4e90cfb67febbddab6c0a2d2c39631b2ff8
                    NPM version: 8.15.0
                    Installing Newan/ioBroker.ecoflow#4967f4e90cfb67febbddab6c0a2d2c39631b2ff8... (System call)
                    npm ERR! code ENOTEMPTY
                    npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/acorn' -> '/opt/iobroker/node_modules/.acorn-zHERliMH'
                    npm ERR! A complete log of this run can be found in:
                    npm ERR! /opt/iobroker/.npm/_logs/2022-09-20T09_08_31_299Z-debug-0.log
                    host.iobroker Cannot install Newan/ioBroker.ecoflow#4967f4e90cfb67febbddab6c0a2d2c39631b2ff8: 217
                    ERROR: Process exited with code 25
                    
                    F 1 Reply Last reply Reply Quote 0
                    • F
                      Freevalley @btrompetter last edited by

                      @btrompetter

                      Versuchs mal so auf der Console:

                      npm i iobroker.ecoflow

                      So hat es bei mir geklappt. Ich konnte danach den Adapter über die GUI finden und installieren.

                      B 1 Reply Last reply Reply Quote 0
                      • B
                        btrompetter @Freevalley last edited by

                        @freevalley
                        Es kommt noch der gleiche Fehler
                        pm ERR! code ENOTEMPTY
                        npm ERR! syscall rename
                        npm ERR! path /opt/iobroker/node_modules/clone-response
                        npm ERR! dest /opt/iobroker/node_modules/.clone-response-nxmcopeq
                        npm ERR! errno -39
                        npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/clone-response' -> '/opt/iobroker/node_modules/.clone-response-nxmcopeq'

                        npm ERR! A complete log of this run can be found in:
                        npm ERR! /opt/iobroker/.npm/_logs/2022-09-28T07_02_09_875Z-debug-0.log

                        würde es was bringen das Verzeichnis acorn zu verschieben so wie es in der Meldung steht? Oder macht man dann die ioBroker installation kaputt?

                        F 1 Reply Last reply Reply Quote 0
                        • F
                          Freevalley @btrompetter last edited by

                          @btrompetter

                          Die Frage kann ich Dir leider nicht beantworten. Dein Fehler sieht mir ähnlich aus wie dieser:

                          https://forum.iobroker.net/topic/57337/fehler-25-bei-adapter-install-update-mit-npm8

                          Vielleicht kannst du etwas davon ableiten...

                          B 1 Reply Last reply Reply Quote 0
                          • B
                            btrompetter @Freevalley last edited by

                            @freevalley Danke das hat geholfen, Kennst Du schon den Adapter von HomeAssistant? Der greift direkt auf die Ecoflow im lokalen Netz zu und liest sämtliche Daten aus die man auch in der App sehen kann. Man kann auch sämtliche Schalter damit betätigen. Ist mehr als über die API Schnittstelle.

                            Newan F 2 Replies Last reply Reply Quote 0
                            • Newan
                              Newan @btrompetter last edited by

                              @btrompetter Ich habe ihn mir angesehen, aber ich verstehe den python code nicht.
                              Gibt es da mehr Infos oder woher stammen die Informationen vom Adapterhersteller zu der API?

                              1 Reply Last reply Reply Quote 0
                              • F
                                Freevalley @btrompetter last edited by

                                @btrompetter

                                Sorry für die späte Antwort, ich war im Urlaub... Welchen Adapter meinst du genau? Ich finde nur den Adapter "Home-Assistant" zur Verbindung zur Home Assistent Software, dies habe ich nicht im Einsatz.

                                1 Reply Last reply Reply Quote 0
                                • M
                                  Maxtor62 @Newan last edited by

                                  @newan Vielen Dank für Deine Arbeit. Genial

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    tomtel289 @Newan last edited by

                                    @newan Hello and thanks for your work.
                                    I`m trying to use your adapter.
                                    ECOFLOW send me my appKey and my secretKey for my ECOFLOW in order to use the ECOFLOW API.
                                    Within the E-Mail from ECOFLOW there are an appKey and a secretKey. Both keys are equal. Is this correct?
                                    tomtel289

                                    Newan 1 Reply Last reply Reply Quote 0
                                    • Newan
                                      Newan @tomtel289 last edited by

                                      @tomtel289 no api key and secret are differend

                                      1 Reply Last reply Reply Quote 0
                                      • Netfreak25
                                        Netfreak25 last edited by Netfreak25

                                        Hallo zusammen,

                                        Wollte mal meinen Senf dazugeben 🙂
                                        Zu Anfang des Jahres habe ich keinerlei Infos zur API von Ecoflow gefunden. Das stört mich aber meistens nicht, und ich hab mit einer Men-In-The-Middle attacke weitergemacht und mir meine token aus der Android App stibitzt. Gleichzeitig konnte ich mir noch den Traffic der App anschauen und welche API Calls er ausführt.

                                        Gesagt getan, lief - das ist halt nichts zum veröffentlichen, da ich die Keys manuell ausgelesen habe und es erneut machen muss wenn sie ablaufen.
                                        Bringt ja nichts die Leute scharf zu machen wenn sie es nicht umsetzen können.

                                        Nun gut, dann auf einmal lief nichts mehr (Das war zum Zeitpunkt der änderung der API) also wieder MITM und traffic anschauen. Hierbei viel mir auf das die App die Api eigentlich kaum noch nutzt, zumindest nicht um die Werte der Geräte zu erhalten. Ecoflow ist auf MQTT umgestiegen - find ich gut^^ - und sie haben mir auch direkt die Zugangsdaten für den MQTT Server bereitgestellt (Spass - aber im Traffic konnte ich sie finden)

                                        Mit MQTT Explorer mal angesehen was dabei so rumkommt und dann direkt eine MQTT Instanz dafür erstellt. Als Rückgabe kommt ein JSON, was ich erstmal auf Objekte übersetzen muss. Die River 2 kam heute und die MQTT Nachrichten kommen leider im 0,5 Sekunden takt (Keine Ahnung wieso EcoFlow das macht, verbraucht ja auch Serverresourcen und Strom am Gerät???)

                                        Habe nun da es sehr CPU lastig ist mal erneut geschaut ob die community etwas geschaffen hat zum pullen, und hier bin ich - tolle arbeit ich besorg mir nun via support mal einen API Key & Secret - der Adapter wurde offiziell gefunden und ohne Fehler installiert 😉

                                        Hier mal einige links die ich nutzte um daten abzurufen:
                                        "https://iot1.ecoflow.com/api/v1/devices/getDeviceData?sn=DAEXXXXXXXXXXXXXXX"
                                        "https://iot1.ecoflow.com/api/V1/users/devices"
                                        "https://iot1.ecoflow.com/api/v1/users/getInfo"
                                        "https://iot1.ecoflow.com/api/v2/devices/getLatestPackInfo?sn=DAEXXXXXXXXXXXXXXX"

                                        Und ein paar Konfigurations beispiele:
                                        --data-binary "{"cfg":{"curr_mA":4000,"id":71},"sn":"DAEXXXXXXXXXXXXXXX"}" --compressed "https://iot1.ecoflow.com/api/v1/devices/configDevice"

                                        --data-binary "{"cfg":{"cmdset":0,"curr_mA":0,"enabled":0,"id":49,"lcd_time":0,"max_chg_soc":100,"max_power":0,"min_dsg_soc":0,"mppt_mode":0,"out_freq":0,"out_voltage":0,"slowChgPower":0,"standby_mins":0,"standby_mode":0,"state":0,"work_mode":0,"xboost":0},"sn":"DAEXXXXXXXXXXXXXXX"}" --compressed "https://iot1.ecoflow.com/api/v1/devices/configDevice"

                                        Dann habe ich eben mal in den Traffic geschaut und mal rausgesucht was für https calls es so gibt

                                        https://api.ecoflow.com/iot-service/device/upgradeStatus?sn=R6XXXXXXXXXXXXXXX"

                                        "https://api.ecoflow.com/iot-service/device/latestPackInfo?supportSelfRD=1&sn=R6XXXXXXXXXXXXXXX"

                                        "https://api.ecoflow.com/app/redPointNotify/main"

                                        "https://api.ecoflow.com/iot-service/retrieve/sn?page=1&size=20"

                                        "https://api.ecoflow.com/iot-service/user/device"

                                        "https://api.ecoflow.com/iot-service/user/device"

                                        "https://oa.ecoflow.com/api/afterSales.customerOrder.getUnreadCount"

                                        "https://api.ecoflow.com/iot-service/version/latest?platform=2&channel=1"

                                        "https://api.ecoflow.com/app/sku/queryBySn?SN=R6XXXXXXXXXXXXXXX"

                                        "https://api.ecoflow.com/usercenter/inuc/getUserInfo"

                                        "https://api.ecoflow.com/usercenter/inuc/getUserInfo"

                                        "https://api.ecoflow.com/iot-service/user/config/push"

                                        "https://api.ecoflow.com/app/productClass/classTree"

                                        "https://api.ecoflow.com/app/productClass/productUsingList"

                                        hier gibt es die mqtt benutzerdaten:
                                        "https://api.ecoflow.com/iot-auth/app/certification?userId=hierkommtdieuseridhin"

                                        Die userId wird nach dem Login übermittelt:
                                        "https://api.ecoflow.com/auth/login"

                                        E.g:
                                        curl -H "Host: api.ecoflow.com" -H "lang: de-de" -H "lang: de-de" -H "platform: android" -H "sysversion: 11" -H "version: 4.1.2.02" -H "phonemodel: SM-X200" -H "content-type: application/json" -H "user-agent: okhttp/3.14.9" --data-binary "{"appVersion":"4.1.2.02","email":"deineemail@aol.com","os":"android","osVersion":"30","password":"DEINPASSWORTINBASE64","scene":"IOT_APP","userType":"ECOFLOW"}" --compressed "https://api.ecoflow.com/auth/login"

                                        1 Reply Last reply Reply Quote 2
                                        • Newan
                                          Newan last edited by

                                          Eh wow bin ich gerade was Bude und muss das mal sortieren.
                                          Fakt ist das dem Adapter eigentlich aus meiner sicht nur das schalten also post oder put fehlt.
                                          Der Support gibt hier leider keine Infos raus. Also wenn du rausfinden könntest wie man schaltet wäre das der Hammer 🤩

                                          A 1 Reply Last reply Reply Quote 0
                                          • Netfreak25
                                            Netfreak25 last edited by

                                            Die Schalt Befehle habe ich wie gesagt im MQTT Traffic sehen können.
                                            Das AC schalten sah wie folgt aus (In diesem Fall aus schalten - für an war cfgAcEnabled 1):

                                            {
                                            "id": 1341924884043927800,
                                            "version": "1.0",
                                            "timestamp": 1670956617,
                                            "moduleType": "3",
                                            "params": {
                                            "inv.cfgAcEnabled": 0,
                                            "inv.invOutFreq": 0,
                                            "inv.invOutAmp": 0,
                                            "inv.invOutVol": 0,
                                            "inv.acInVol": 0
                                            }
                                            }

                                            Wobei wahrscheinlich nur "inv.cfgAcEnabled": 0 eine rolle spielt.
                                            Ich habe mit dem MQTT Dashboard eben diese Nachricht auch versand aber es ist nichts passiert.
                                            Eventuell wird immer nur die Nachricht mit der nächst höheren id beachtet (wahrscheinlich um race conditions vorzubeugen).

                                            Für meinen test hatte ich die 13 zu einer 14 gemacht in der id und den timestamp auch massiv erhöht (es hätte so simpel sein können:P )
                                            Aber meine Nachricht wurde ignoriert. Warum weiß ich aber noch nicht.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            925
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            42
                                            212
                                            42670
                                            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