Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. Einbindung von Geräten
  5. Adapter für Ecoflow Einbindung

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.7k

Adapter für Ecoflow Einbindung

Geplant Angeheftet Gesperrt Verschoben Einbindung von Geräten
212 Beiträge 42 Kommentatoren 61.6k Aufrufe 41 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Netfreak25N Netfreak25

    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.

    NewanN Offline
    NewanN Offline
    Newan
    schrieb am zuletzt editiert von
    #30

    @moritzkuhn Probiere mal ein GET (holen) über Mqtt und mit der ID ein setzen?

    1 Antwort Letzte Antwort
    0
    • NewanN Newan

      @angelluck Stell den Adapter mal bitte auf Debug. Ich glaube nicht das die gewünschten Daten über die API kommen

      A Offline
      A Offline
      AngelLuck
      schrieb am zuletzt editiert von
      #31

      @newan said in Adapter für Ecoflow Einbindung:

      @angelluck Stell den Adapter mal bitte auf Debug. Ich glaube nicht das die gewünschten Daten über die API kommen

      Nein, ich glaube auch nicht das die Daten über die API rein kommen. Dachte eher an den Weg den @MoritzKuhn gegangen ist. In der Handy App sind die Temperaturdaten ja Verfügbar.

      Netfreak25N 1 Antwort Letzte Antwort
      0
      • A AngelLuck

        @newan said in Adapter für Ecoflow Einbindung:

        @angelluck Stell den Adapter mal bitte auf Debug. Ich glaube nicht das die gewünschten Daten über die API kommen

        Nein, ich glaube auch nicht das die Daten über die API rein kommen. Dachte eher an den Weg den @MoritzKuhn gegangen ist. In der Handy App sind die Temperaturdaten ja Verfügbar.

        Netfreak25N Offline
        Netfreak25N Offline
        Netfreak25
        schrieb am zuletzt editiert von Netfreak25
        #32

        @AngelLuck

        8dcdcb44-d2f9-444e-af02-1da28f7bb5d4-image.png
        bei mqtt gibt es einige temperaturen die übermittelt werden

        005209a8-c1db-4320-95c3-5ca5b1768b39-image.png
        es gibt wattsInSum

        f73beb48-c0f5-421d-be74-682b007c2a5a-image.png
        den MPPT Eingang

        f1351a50-518d-4a6e-9fc8-4fff6fea37a4-image.png
        DC Eingang

        d492c69d-cee8-4d37-9c49-15b832d2cc55-image.png
        AC Eingang

        Mir wurde heute gesagt das die Anfrage zum API-Access weitergegeben wurde. Anscheinend erhöhte Nachfrage aktuell

        1 Antwort Letzte Antwort
        2
        • A Offline
          A Offline
          AngelLuck
          schrieb am zuletzt editiert von
          #33

          @moritzkuhn Wow das sind ja mehr Daten als ich dachte und du hast sie auch schon im ioBroker wenn ich das so richtig sehe.

          Leider habe ich nicht ganz im Detail verstanden wie du darauf zugreifst. Über MQTT ist klar. Allerdings bekomme bei deinen ganzen Links meistens nur die Meldung das ich nicht authorisiert bin.
          Vielleicht könntest du das Vorgenehen etwas genauer ausführen?

          Netfreak25N 1 Antwort Letzte Antwort
          0
          • A AngelLuck

            @moritzkuhn Wow das sind ja mehr Daten als ich dachte und du hast sie auch schon im ioBroker wenn ich das so richtig sehe.

            Leider habe ich nicht ganz im Detail verstanden wie du darauf zugreifst. Über MQTT ist klar. Allerdings bekomme bei deinen ganzen Links meistens nur die Meldung das ich nicht authorisiert bin.
            Vielleicht könntest du das Vorgenehen etwas genauer ausführen?

            Netfreak25N Offline
            Netfreak25N Offline
            Netfreak25
            schrieb am zuletzt editiert von Netfreak25
            #34

            @angelluck aktuell würde ich sagen fehlen dir die zugangsdaten zum mqtt server, welche ich per men in the middle aus dem app traffic habe.
            ich schaue mal ob ich den login und das abrufen der mqtt daten als skript umgesetzt bekomme

            achso: und die links oben sind keine aktuellen api links. so hat es zur zeit vor der api funktioniert. ich dachte nur ihr mit api zugriff könntet damit eventuell was anfangen um eure links zu konstruieren

            Netfreak25N 1 Antwort Letzte Antwort
            0
            • Netfreak25N Netfreak25

              @angelluck aktuell würde ich sagen fehlen dir die zugangsdaten zum mqtt server, welche ich per men in the middle aus dem app traffic habe.
              ich schaue mal ob ich den login und das abrufen der mqtt daten als skript umgesetzt bekomme

              achso: und die links oben sind keine aktuellen api links. so hat es zur zeit vor der api funktioniert. ich dachte nur ihr mit api zugriff könntet damit eventuell was anfangen um eure links zu konstruieren

              Netfreak25N Offline
              Netfreak25N Offline
              Netfreak25
              schrieb am zuletzt editiert von
              #35

              @moritzkuhn

              @moritzkuhn said in Adapter für Ecoflow Einbindung:

              @angelluck aktuell würde ich sagen fehlen dir die zugangsdaten zum mqtt server, welche ich per men in the middle aus dem app traffic habe.
              ich schaue mal ob ich den login und das abrufen der mqtt daten als skript umgesetzt bekomme

              achso: und die links oben sind keine aktuellen api links. so hat es zur zeit vor der api funktioniert. ich dachte nur ihr mit api zugriff könntet damit eventuell was anfangen um eure links zu konstruieren

              Quick und Dirty:

              Mit App Benutzerdaten einloggen, dann bekommt man die MQTT Daten zurück

              https://raw.githubusercontent.com/Netfreak25/EcoFlow_MQTT_Creds/main/ecoflow_mqtt_creds.sh

              Netfreak25N 1 Antwort Letzte Antwort
              0
              • Netfreak25N Netfreak25

                @moritzkuhn

                @moritzkuhn said in Adapter für Ecoflow Einbindung:

                @angelluck aktuell würde ich sagen fehlen dir die zugangsdaten zum mqtt server, welche ich per men in the middle aus dem app traffic habe.
                ich schaue mal ob ich den login und das abrufen der mqtt daten als skript umgesetzt bekomme

                achso: und die links oben sind keine aktuellen api links. so hat es zur zeit vor der api funktioniert. ich dachte nur ihr mit api zugriff könntet damit eventuell was anfangen um eure links zu konstruieren

                Quick und Dirty:

                Mit App Benutzerdaten einloggen, dann bekommt man die MQTT Daten zurück

                https://raw.githubusercontent.com/Netfreak25/EcoFlow_MQTT_Creds/main/ecoflow_mqtt_creds.sh

                Netfreak25N Offline
                Netfreak25N Offline
                Netfreak25
                schrieb am zuletzt editiert von Netfreak25
                #36

                e6c33e6f-fd5e-4f7d-abac-d0226cde413d-image.png

                function (cname, cvalue)

                var objectName = cname;
                var MyString = cvalue;
                
                if ( !existsState(objectName )) {
                createState(objectName,MyString,{name: " ",  type: 'string', role: 'value'}, function () {}); 
                } else {
                setState(objectName,"" + MyString);
                }
                

                Blockly zum import:
                https://raw.githubusercontent.com/Netfreak25/EcoFlow_MQTT_Creds/main/Blockly

                JavaScript zum import:
                https://raw.githubusercontent.com/Netfreak25/EcoFlow_MQTT_Creds/main/Javascript

                • MQTT Adapter muss angepasst werden (ist bei mir halt mqtt.5. )
                • Zielpfad kann angepasst werden (e.g. 0_userdata.0.EcoFlow.MQTT.DeineSerial. )
                • Seriennummer muss angepasst werden

                Ich habe für jedes meiner Ecoflow Geräte ein eigenes Skript. Klappt mit Delta Max / River 2 / Smart Generator Dual.
                Zusatzakkus werden über das Hauptgerät übermittelt

                Für MQTT reicht eine einzelne Instanz, man muss aber jedes Device explizit abfragen. Wildcard # ist im MQTT Server von ecoflow inaktiv.
                /app/property/device/DEINESERIENNUMMER

                Edit:
                Wenn man im Code vor dem schreiben der Werte nochmal prüft ob sich diese verändert haben, und nur änderungen schreibt ist es nicht so cpu lastig
                e.g.
                f8df1fb8-7b92-47ac-99bf-416d6a4e370b-image.png

                1 Antwort Letzte Antwort
                0
                • Netfreak25N Offline
                  Netfreak25N Offline
                  Netfreak25
                  schrieb am zuletzt editiert von Netfreak25
                  #37

                  Und weil heute Weihnachten ist ;)

                  AC Enable/Disable

                  Published nach:
                  /app/UserID/Seriennummer/thing/property/set

                  Die UserID bekommt man auch von meinem mqqt credentials skript.

                  {
                    "from": "Android",
                    "id": "1",
                    "moduleType": 0,
                    "operateType": "TCP",
                    "params": {
                      "id": 66,
                      "enabled": 1
                    },
                    "version": "1.0"
                  }
                  

                  Für disable ne 0 statt der 1 bei enable
                  "enabled": 0

                  Zum Sniffen einfach dieses Topic subscriben und dann den traffic beobachten
                  Die id in params steht für AC. Das habe ich per try and error / traffic sniffen herausbekommen

                  Es gibt zudem noch /app/UserID/Seriennummer/thing/property/get

                  Wen es fasziniert:
                  Android App dekompilieren (Mit jadex) - um die neuen Pfade zu bekommen für das ansteuern (leider mit unbekannten variablen)
                  PiHole/MQTT Server - um den DNS umzubiegen das sich die App mit dem eigenen Server verbindet (hier hat man den Pfad mit eingefüllter variable gesehen -> mqtt server im debug modus, man muss nur vorher die user für die app anlegen)
                  Charles Proxy - um den ssl traffic mitlesen zu können (generell praktisch wenn es keine api gibt)

                  id 81 = 12V DC
                  id 34 = USB

                  Für xboost:
                  "params": {
                  "xboost": 1,
                  "id": 66
                  }
                  wiedermal 1 oder 0

                  Wechselstrom Ladegeschwindigkeit:
                  "params": {
                  "slowChgPower": 2000,
                  "id": 69
                  }

                  Entlade/Ladezustand:
                  "params": {
                  "maxChgSoc": 100,
                  "id": 49
                  }
                  "params": {
                  "id": 51,
                  "minDsgSoc": 30
                  }

                  Generator:
                  "params": {
                  "closeOilSoc": 80,
                  "id": 53
                  }
                  "params": {
                  "openOilSoc": 27,
                  "id": 52
                  }

                  Autoeingang:
                  "params": {
                  "currMa": 8000,
                  "id": 71
                  }

                  Standby:
                  "params": {
                  "id": 33,
                  "standByMode": 30
                  }

                  Wechselstrom Zeitüberschreitung:
                  "params": {
                  "standByMins": 1440,
                  "id": 153
                  }

                  AC immer eingeschaltet:
                  "params": {
                  "id": 84,
                  "enabled": 1
                  }

                  Der vollständigkeit halber Bildschirmtimeout:
                  "params": {
                  "lcdTime": 300,
                  "id": 39
                  }

                  A haus-automatisierungH 2 Antworten Letzte Antwort
                  0
                  • Netfreak25N Netfreak25

                    Und weil heute Weihnachten ist ;)

                    AC Enable/Disable

                    Published nach:
                    /app/UserID/Seriennummer/thing/property/set

                    Die UserID bekommt man auch von meinem mqqt credentials skript.

                    {
                      "from": "Android",
                      "id": "1",
                      "moduleType": 0,
                      "operateType": "TCP",
                      "params": {
                        "id": 66,
                        "enabled": 1
                      },
                      "version": "1.0"
                    }
                    

                    Für disable ne 0 statt der 1 bei enable
                    "enabled": 0

                    Zum Sniffen einfach dieses Topic subscriben und dann den traffic beobachten
                    Die id in params steht für AC. Das habe ich per try and error / traffic sniffen herausbekommen

                    Es gibt zudem noch /app/UserID/Seriennummer/thing/property/get

                    Wen es fasziniert:
                    Android App dekompilieren (Mit jadex) - um die neuen Pfade zu bekommen für das ansteuern (leider mit unbekannten variablen)
                    PiHole/MQTT Server - um den DNS umzubiegen das sich die App mit dem eigenen Server verbindet (hier hat man den Pfad mit eingefüllter variable gesehen -> mqtt server im debug modus, man muss nur vorher die user für die app anlegen)
                    Charles Proxy - um den ssl traffic mitlesen zu können (generell praktisch wenn es keine api gibt)

                    id 81 = 12V DC
                    id 34 = USB

                    Für xboost:
                    "params": {
                    "xboost": 1,
                    "id": 66
                    }
                    wiedermal 1 oder 0

                    Wechselstrom Ladegeschwindigkeit:
                    "params": {
                    "slowChgPower": 2000,
                    "id": 69
                    }

                    Entlade/Ladezustand:
                    "params": {
                    "maxChgSoc": 100,
                    "id": 49
                    }
                    "params": {
                    "id": 51,
                    "minDsgSoc": 30
                    }

                    Generator:
                    "params": {
                    "closeOilSoc": 80,
                    "id": 53
                    }
                    "params": {
                    "openOilSoc": 27,
                    "id": 52
                    }

                    Autoeingang:
                    "params": {
                    "currMa": 8000,
                    "id": 71
                    }

                    Standby:
                    "params": {
                    "id": 33,
                    "standByMode": 30
                    }

                    Wechselstrom Zeitüberschreitung:
                    "params": {
                    "standByMins": 1440,
                    "id": 153
                    }

                    AC immer eingeschaltet:
                    "params": {
                    "id": 84,
                    "enabled": 1
                    }

                    Der vollständigkeit halber Bildschirmtimeout:
                    "params": {
                    "lcdTime": 300,
                    "id": 39
                    }

                    A Offline
                    A Offline
                    AngelLuck
                    schrieb am zuletzt editiert von
                    #38

                    @netfreak25 Wow Danke da hast du dir ja echt viel Arbeit gemacht. Ich habe jetzt sofort leider keine Zeit zum Testen, werde es mir aber die nächsten Tage mal ansehen. Bin schon sehr gespannt.

                    A 1 Antwort Letzte Antwort
                    0
                    • A AngelLuck

                      @netfreak25 Wow Danke da hast du dir ja echt viel Arbeit gemacht. Ich habe jetzt sofort leider keine Zeit zum Testen, werde es mir aber die nächsten Tage mal ansehen. Bin schon sehr gespannt.

                      A Offline
                      A Offline
                      AngelLuck
                      schrieb am zuletzt editiert von AngelLuck
                      #39

                      Also ich habe das Script mittlerweile angesehen und auch grundsätzlich zum laufen gebracht.
                      Ich habe allerdings noch ein Problem und zwar werden die unterschiedlichen Werte in ein einziges Object als Json gespeichert. Wenn ich den Code richtig verstehe sollte das eigentlich nicht der Fall sein. Sondern für jedes i sollte ein eigenes Objekt im iobroker angelegt werden. Leider bekomme ich das auch nicht korregiert. Vielleicht kann mir hier jemand helfen.

                      Im Grunde brauch ich die Werte auch einzelnd damit ich sie in die InfluxDB und von dort in Grafana bekomme. Ich muss allerdings auch zugeben das ich mit json bisher nie befasst habe vielleicht gibt es hier also auch einen einfacheren Weg um die Daten in die InfluxDB zu bekommen.

                      Damit ihr auch wisst was ich meine. Bei mir wird nur dieses einzige rot Marikierte Objekt angelegt und dort werden wechselnde Json Werte hinterlegt.
                      8b39d830-0d9d-47cb-870d-0614ee7ac5c0-grafik.png

                      mike2507M 1 Antwort Letzte Antwort
                      0
                      • A AngelLuck

                        Also ich habe das Script mittlerweile angesehen und auch grundsätzlich zum laufen gebracht.
                        Ich habe allerdings noch ein Problem und zwar werden die unterschiedlichen Werte in ein einziges Object als Json gespeichert. Wenn ich den Code richtig verstehe sollte das eigentlich nicht der Fall sein. Sondern für jedes i sollte ein eigenes Objekt im iobroker angelegt werden. Leider bekomme ich das auch nicht korregiert. Vielleicht kann mir hier jemand helfen.

                        Im Grunde brauch ich die Werte auch einzelnd damit ich sie in die InfluxDB und von dort in Grafana bekomme. Ich muss allerdings auch zugeben das ich mit json bisher nie befasst habe vielleicht gibt es hier also auch einen einfacheren Weg um die Daten in die InfluxDB zu bekommen.

                        Damit ihr auch wisst was ich meine. Bei mir wird nur dieses einzige rot Marikierte Objekt angelegt und dort werden wechselnde Json Werte hinterlegt.
                        8b39d830-0d9d-47cb-870d-0614ee7ac5c0-grafik.png

                        mike2507M Offline
                        mike2507M Offline
                        mike2507
                        schrieb am zuletzt editiert von
                        #40

                        @angelluck darf ich dich fragen welche Einstellungen du im Mqtt Adapter gemacht hast damit du überhaupt Werte bekommst? Habe mir mal die Benutzerdaten mit dem Script besorgt, komme aber irgendwie nicht weiter.

                        Danke

                        A 1 Antwort Letzte Antwort
                        0
                        • mike2507M mike2507

                          @angelluck darf ich dich fragen welche Einstellungen du im Mqtt Adapter gemacht hast damit du überhaupt Werte bekommst? Habe mir mal die Benutzerdaten mit dem Script besorgt, komme aber irgendwie nicht weiter.

                          Danke

                          A Offline
                          A Offline
                          AngelLuck
                          schrieb am zuletzt editiert von AngelLuck
                          #41

                          @mike2507 said in Adapter für Ecoflow Einbindung:

                          @angelluck darf ich dich fragen welche Einstellungen du im Mqtt Adapter gemacht hast damit du überhaupt Werte bekommst? Habe mir mal die Benutzerdaten mit dem Script besorgt, komme aber irgendwie nicht weiter.

                          Danke

                          Ich habe tatsächlich auch nur die Benutzerdaten aus dem Script eingetragen. Anfangs habe ich auch keine Werte bekommen. Kann sein das ich den Adapter noch mal neugestartet habe oder irgend so etwas gemacht habe.
                          36aa9b37-a7fb-4687-9a6c-199cee0e49ed-grafik.png

                          3d1f1ec3-45f5-4471-9031-08c612ecccd8-grafik.png

                          Auch ja und wichtig war noch folgende Einträge selbst anzulegen.
                          070933f6-da55-468e-a35f-ae9abb39fbfe-grafik.png

                          mike2507M 1 Antwort Letzte Antwort
                          0
                          • A AngelLuck

                            @mike2507 said in Adapter für Ecoflow Einbindung:

                            @angelluck darf ich dich fragen welche Einstellungen du im Mqtt Adapter gemacht hast damit du überhaupt Werte bekommst? Habe mir mal die Benutzerdaten mit dem Script besorgt, komme aber irgendwie nicht weiter.

                            Danke

                            Ich habe tatsächlich auch nur die Benutzerdaten aus dem Script eingetragen. Anfangs habe ich auch keine Werte bekommen. Kann sein das ich den Adapter noch mal neugestartet habe oder irgend so etwas gemacht habe.
                            36aa9b37-a7fb-4687-9a6c-199cee0e49ed-grafik.png

                            3d1f1ec3-45f5-4471-9031-08c612ecccd8-grafik.png

                            Auch ja und wichtig war noch folgende Einträge selbst anzulegen.
                            070933f6-da55-468e-a35f-ae9abb39fbfe-grafik.png

                            mike2507M Offline
                            mike2507M Offline
                            mike2507
                            schrieb am zuletzt editiert von
                            #42

                            @angelluck sagte in Adapter für Ecoflow Einbindung:

                            @mike2507 said in Adapter für Ecoflow Einbindung:

                            @angelluck darf ich dich fragen welche Einstellungen du im Mqtt Adapter gemacht hast damit du überhaupt Werte bekommst? Habe mir mal die Benutzerdaten mit dem Script besorgt, komme aber irgendwie nicht weiter.

                            Danke

                            Ich habe tatsächlich auch nur die Benutzerdaten aus dem Script eingetragen. Anfangs habe ich auch keine Werte bekommen. Kann sein das ich den Adapter noch mal neugestartet habe oder irgend so etwas gemacht habe.
                            36aa9b37-a7fb-4687-9a6c-199cee0e49ed-grafik.png

                            3d1f1ec3-45f5-4471-9031-08c612ecccd8-grafik.png

                            Auch ja und wichtig war noch folgende Einträge selbst anzulegen.
                            070933f6-da55-468e-a35f-ae9abb39fbfe-grafik.png

                            Habe meinen Fehler gefunden,
                            Hab die Pfade in Subscribe Pattern nicht richtig eingetragen und musste den ganzen iobroker neu starten damit es funktioniert. Mich wundert, das es bei dir mit # als Pfad funktioniert laut @Netfreak25 soll das nicht funktionieren.
                            Damit du die Werte einzel bekommst musst du dir nur noch das Blockly oder Java Script importieren und anpassen.

                            Das ein und ausschalten von den Ausgängen hab ich noch nicht richtig verstanden. Vielleicht kann mir da @Netfreak25 noch weiter helfen.

                            74E78A37-BF69-4C73-BF8B-EF3D78F81D21.jpeg

                            A 1 Antwort Letzte Antwort
                            0
                            • mike2507M mike2507

                              @angelluck sagte in Adapter für Ecoflow Einbindung:

                              @mike2507 said in Adapter für Ecoflow Einbindung:

                              @angelluck darf ich dich fragen welche Einstellungen du im Mqtt Adapter gemacht hast damit du überhaupt Werte bekommst? Habe mir mal die Benutzerdaten mit dem Script besorgt, komme aber irgendwie nicht weiter.

                              Danke

                              Ich habe tatsächlich auch nur die Benutzerdaten aus dem Script eingetragen. Anfangs habe ich auch keine Werte bekommen. Kann sein das ich den Adapter noch mal neugestartet habe oder irgend so etwas gemacht habe.
                              36aa9b37-a7fb-4687-9a6c-199cee0e49ed-grafik.png

                              3d1f1ec3-45f5-4471-9031-08c612ecccd8-grafik.png

                              Auch ja und wichtig war noch folgende Einträge selbst anzulegen.
                              070933f6-da55-468e-a35f-ae9abb39fbfe-grafik.png

                              Habe meinen Fehler gefunden,
                              Hab die Pfade in Subscribe Pattern nicht richtig eingetragen und musste den ganzen iobroker neu starten damit es funktioniert. Mich wundert, das es bei dir mit # als Pfad funktioniert laut @Netfreak25 soll das nicht funktionieren.
                              Damit du die Werte einzel bekommst musst du dir nur noch das Blockly oder Java Script importieren und anpassen.

                              Das ein und ausschalten von den Ausgängen hab ich noch nicht richtig verstanden. Vielleicht kann mir da @Netfreak25 noch weiter helfen.

                              74E78A37-BF69-4C73-BF8B-EF3D78F81D21.jpeg

                              A Offline
                              A Offline
                              AngelLuck
                              schrieb am zuletzt editiert von
                              #43

                              @mike2507
                              Ich habe jetzt auch die Werte im Subscribe Patern geändert. Hatte nicht verstanden das da was rein muss.
                              Das Blocky Script läuft ja schon bei mir. Sonst hätte ich gar keine Ausgabe im IoBroker. Aber ich bekomme halt mehrere Json Tabellen in einer Variablen gespeichert. Das ist irgendwie ungünstig.

                              Kannst du mal zeigen wie das bei dir jetzt aussieht im Iobroker also den Teil mit meinem letzten Screenshot? Bei mir sieht es genauso aus wie zu vor.

                              mike2507M 1 Antwort Letzte Antwort
                              0
                              • A AngelLuck

                                @mike2507
                                Ich habe jetzt auch die Werte im Subscribe Patern geändert. Hatte nicht verstanden das da was rein muss.
                                Das Blocky Script läuft ja schon bei mir. Sonst hätte ich gar keine Ausgabe im IoBroker. Aber ich bekomme halt mehrere Json Tabellen in einer Variablen gespeichert. Das ist irgendwie ungünstig.

                                Kannst du mal zeigen wie das bei dir jetzt aussieht im Iobroker also den Teil mit meinem letzten Screenshot? Bei mir sieht es genauso aus wie zu vor.

                                mike2507M Offline
                                mike2507M Offline
                                mike2507
                                schrieb am zuletzt editiert von
                                #44

                                @angelluck sagte in Adapter für Ecoflow Einbindung:

                                @mike2507
                                Ich habe jetzt auch die Werte im Subscribe Patern geändert. Hatte nicht verstanden das da was rein muss.
                                Das Blocky Script läuft ja schon bei mir. Sonst hätte ich gar keine Ausgabe im IoBroker. Aber ich bekomme halt mehrere Json Tabellen in einer Variablen gespeichert. Das ist irgendwie ungünstig.

                                Kannst du mal zeigen wie das bei dir jetzt aussieht im Iobroker also den Teil mit meinem letzten Screenshot? Bei mir sieht es genauso aus wie zu vor.

                                C3C86BB6-CCF8-4049-BD2C-F29DFFF16F63.jpeg

                                Du musst aber auch den Ordner in der 0_userdata anlegen den du ganz oben im blockly auswählst damit er dir dort alle Datenpunkte automatisch anlegt.
                                E5F4B171-9DEE-4B75-9E90-359179B56C0F.jpeg

                                B7785918-5AFC-4A04-B9D2-AECBD73CEFFD.jpeg

                                A 1 Antwort Letzte Antwort
                                0
                                • mike2507M mike2507

                                  @angelluck sagte in Adapter für Ecoflow Einbindung:

                                  @mike2507
                                  Ich habe jetzt auch die Werte im Subscribe Patern geändert. Hatte nicht verstanden das da was rein muss.
                                  Das Blocky Script läuft ja schon bei mir. Sonst hätte ich gar keine Ausgabe im IoBroker. Aber ich bekomme halt mehrere Json Tabellen in einer Variablen gespeichert. Das ist irgendwie ungünstig.

                                  Kannst du mal zeigen wie das bei dir jetzt aussieht im Iobroker also den Teil mit meinem letzten Screenshot? Bei mir sieht es genauso aus wie zu vor.

                                  C3C86BB6-CCF8-4049-BD2C-F29DFFF16F63.jpeg

                                  Du musst aber auch den Ordner in der 0_userdata anlegen den du ganz oben im blockly auswählst damit er dir dort alle Datenpunkte automatisch anlegt.
                                  E5F4B171-9DEE-4B75-9E90-359179B56C0F.jpeg

                                  B7785918-5AFC-4A04-B9D2-AECBD73CEFFD.jpeg

                                  A Offline
                                  A Offline
                                  AngelLuck
                                  schrieb am zuletzt editiert von AngelLuck
                                  #45

                                  @mike2507

                                  Bei mir scheint einiges verkehrt zu sein. In das Blocky Script hatte ich die Seriennr. eingetragen nicht diese R331... Nr.

                                  Hatte mir schon gedacht das irgendwas nicht stimmt.

                                  Auf jedenfall haben mir deine Screenshots sehr geholfen, ich glaube jetzt funktioniert es bei mir auch. Danke!

                                  1 Antwort Letzte Antwort
                                  1
                                  • G Offline
                                    G Offline
                                    g.polat
                                    schrieb am zuletzt editiert von
                                    #46

                                    Hallo zusammen,
                                    habe es nun nach den tollen Anleitungen hier ebenfalls zum laufen gebracht. Jedoch bekomme ich bei Mqtt immer :"Disconnected from mqtt.ecoflow.com: undefined" danach wird sofort wieder connectet. Habe schon im Forum gesucht aber nix gefunden, jemand eine Idee?
                                    log.png
                                    mqtt-1.png
                                    mqtt-2.png

                                    1 Antwort Letzte Antwort
                                    0
                                    • Netfreak25N Netfreak25

                                      Und weil heute Weihnachten ist ;)

                                      AC Enable/Disable

                                      Published nach:
                                      /app/UserID/Seriennummer/thing/property/set

                                      Die UserID bekommt man auch von meinem mqqt credentials skript.

                                      {
                                        "from": "Android",
                                        "id": "1",
                                        "moduleType": 0,
                                        "operateType": "TCP",
                                        "params": {
                                          "id": 66,
                                          "enabled": 1
                                        },
                                        "version": "1.0"
                                      }
                                      

                                      Für disable ne 0 statt der 1 bei enable
                                      "enabled": 0

                                      Zum Sniffen einfach dieses Topic subscriben und dann den traffic beobachten
                                      Die id in params steht für AC. Das habe ich per try and error / traffic sniffen herausbekommen

                                      Es gibt zudem noch /app/UserID/Seriennummer/thing/property/get

                                      Wen es fasziniert:
                                      Android App dekompilieren (Mit jadex) - um die neuen Pfade zu bekommen für das ansteuern (leider mit unbekannten variablen)
                                      PiHole/MQTT Server - um den DNS umzubiegen das sich die App mit dem eigenen Server verbindet (hier hat man den Pfad mit eingefüllter variable gesehen -> mqtt server im debug modus, man muss nur vorher die user für die app anlegen)
                                      Charles Proxy - um den ssl traffic mitlesen zu können (generell praktisch wenn es keine api gibt)

                                      id 81 = 12V DC
                                      id 34 = USB

                                      Für xboost:
                                      "params": {
                                      "xboost": 1,
                                      "id": 66
                                      }
                                      wiedermal 1 oder 0

                                      Wechselstrom Ladegeschwindigkeit:
                                      "params": {
                                      "slowChgPower": 2000,
                                      "id": 69
                                      }

                                      Entlade/Ladezustand:
                                      "params": {
                                      "maxChgSoc": 100,
                                      "id": 49
                                      }
                                      "params": {
                                      "id": 51,
                                      "minDsgSoc": 30
                                      }

                                      Generator:
                                      "params": {
                                      "closeOilSoc": 80,
                                      "id": 53
                                      }
                                      "params": {
                                      "openOilSoc": 27,
                                      "id": 52
                                      }

                                      Autoeingang:
                                      "params": {
                                      "currMa": 8000,
                                      "id": 71
                                      }

                                      Standby:
                                      "params": {
                                      "id": 33,
                                      "standByMode": 30
                                      }

                                      Wechselstrom Zeitüberschreitung:
                                      "params": {
                                      "standByMins": 1440,
                                      "id": 153
                                      }

                                      AC immer eingeschaltet:
                                      "params": {
                                      "id": 84,
                                      "enabled": 1
                                      }

                                      Der vollständigkeit halber Bildschirmtimeout:
                                      "params": {
                                      "lcdTime": 300,
                                      "id": 39
                                      }

                                      haus-automatisierungH Online
                                      haus-automatisierungH Online
                                      haus-automatisierung
                                      Developer Most Active
                                      schrieb am zuletzt editiert von haus-automatisierung
                                      #47

                                      Hallo zusammen, ich lese hier schon fleißig mit und teste parallel. Wahnsinns Arbeit! Danke an @Netfreak25 - da steckt wirklich viel Zeit drin!

                                      Meine MQTT-Verbindung steht und es werden jede Menge Werte erfasst. Aber:

                                      @netfreak25 sagte in Adapter für Ecoflow Einbindung:

                                      AC Enable/Disable
                                      Published nach:
                                      /app/UserID/Seriennummer/thing/property/set

                                      Das funktioniert bei mir nicht. Habe die UserID und die Seriennummer im Topic mehrfach kontrolliert. Muss moduleType je nach angesteuertem Wert angepasst werden? Oder kann man da immer mit 0 arbeiten? Im Status bekommt man ja auch unterschiedliche Infos für alle möglichen Module Types.

                                      Ist es wichtig, wie JSON formatiert ist (Spaces, Tabs, Line Breaks)? Laut Spezifikation sind Whitespaces zwar egal, aber manche implementieren das nicht so super gründlich. Daher die Frage.

                                      Hier noch ein Script, mit welchem ich alle Datenpunkte automatisch anlege und aktualisiere. Die ID muss natürlich angepasst werden.

                                      const prefix = '0_userdata.0.ecoflow';
                                      const valueCache = {};
                                      
                                      on({ id: 'mqtt.1.app.device.property.R621XXXXX', change: 'ne', ack: true }, async (obj) => {
                                          try {
                                              const msgObj = JSON.parse(obj.state.val);
                                      
                                              for (let [key, value] of Object.entries(msgObj.params)) {
                                                  const vType = typeof value;
                                                  const isObject = vType === 'object';
                                      
                                                  if (!await existsObjectAsync(`${prefix}.${key}`)) {
                                                      await createStateAsync(`${prefix}.${key}`, {
                                                          name: key,
                                                          role: isObject ? 'json' : 'state',
                                                          type: isObject ? 'string' : vType,
                                                          read: true,
                                                          write: false
                                                      });
                                                  }
                                      
                                                  if (isObject) {
                                                      value = JSON.stringify(value);
                                                  }
                                      
                                                  if (!Object.prototype.hasOwnProperty.call(valueCache, key) || valueCache[key] !== value) {
                                                      await setStateAsync(`${prefix}.${key}`, { val: value, ack: true });
                                                      valueCache[key] = value;
                                                  }
                                              }
                                          } catch (err) {
                                              console.error(JSON.stringify(err));
                                          }
                                      });
                                      

                                      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                      📚 Meine inoffizielle ioBroker Dokumentation

                                      haus-automatisierungH 1 Antwort Letzte Antwort
                                      1
                                      • haus-automatisierungH haus-automatisierung

                                        Hallo zusammen, ich lese hier schon fleißig mit und teste parallel. Wahnsinns Arbeit! Danke an @Netfreak25 - da steckt wirklich viel Zeit drin!

                                        Meine MQTT-Verbindung steht und es werden jede Menge Werte erfasst. Aber:

                                        @netfreak25 sagte in Adapter für Ecoflow Einbindung:

                                        AC Enable/Disable
                                        Published nach:
                                        /app/UserID/Seriennummer/thing/property/set

                                        Das funktioniert bei mir nicht. Habe die UserID und die Seriennummer im Topic mehrfach kontrolliert. Muss moduleType je nach angesteuertem Wert angepasst werden? Oder kann man da immer mit 0 arbeiten? Im Status bekommt man ja auch unterschiedliche Infos für alle möglichen Module Types.

                                        Ist es wichtig, wie JSON formatiert ist (Spaces, Tabs, Line Breaks)? Laut Spezifikation sind Whitespaces zwar egal, aber manche implementieren das nicht so super gründlich. Daher die Frage.

                                        Hier noch ein Script, mit welchem ich alle Datenpunkte automatisch anlege und aktualisiere. Die ID muss natürlich angepasst werden.

                                        const prefix = '0_userdata.0.ecoflow';
                                        const valueCache = {};
                                        
                                        on({ id: 'mqtt.1.app.device.property.R621XXXXX', change: 'ne', ack: true }, async (obj) => {
                                            try {
                                                const msgObj = JSON.parse(obj.state.val);
                                        
                                                for (let [key, value] of Object.entries(msgObj.params)) {
                                                    const vType = typeof value;
                                                    const isObject = vType === 'object';
                                        
                                                    if (!await existsObjectAsync(`${prefix}.${key}`)) {
                                                        await createStateAsync(`${prefix}.${key}`, {
                                                            name: key,
                                                            role: isObject ? 'json' : 'state',
                                                            type: isObject ? 'string' : vType,
                                                            read: true,
                                                            write: false
                                                        });
                                                    }
                                        
                                                    if (isObject) {
                                                        value = JSON.stringify(value);
                                                    }
                                        
                                                    if (!Object.prototype.hasOwnProperty.call(valueCache, key) || valueCache[key] !== value) {
                                                        await setStateAsync(`${prefix}.${key}`, { val: value, ack: true });
                                                        valueCache[key] = value;
                                                    }
                                                }
                                            } catch (err) {
                                                console.error(JSON.stringify(err));
                                            }
                                        });
                                        
                                        haus-automatisierungH Online
                                        haus-automatisierungH Online
                                        haus-automatisierung
                                        Developer Most Active
                                        schrieb am zuletzt editiert von haus-automatisierung
                                        #48

                                        Okay ich bin einen Schritt weiter. Ich habe einfach mal das Topic /app/<UserID>/<Seriennummer>/thing/property/set abonniert (mit meiner User-ID und meiner Seriennummer). Dann habe ich in der App eine Aktion ausgelöst (AC-Output eingeschaltet) und konnte ja dann die Nachricht sehen, welche von der App versendet wurde:

                                        {
                                            "params": {
                                                "enabled": 1,
                                                "out_freq": 255,
                                                "out_voltage": 4294967295,
                                                "xboost": 255
                                            },
                                            "from": "iOS",
                                            "lang": "en-us",
                                            "id": "132790809",
                                            "moduleSn": "R6XXXXXXXXXXXXXXX",
                                            "moduleType": 5,
                                            "operateType": "acOutCfg",
                                            "version": "1.0"
                                        }
                                        

                                        Beispiel-Payload 12V DC aktivieren:

                                        {
                                            "params": {
                                                "enabled": 1
                                            },
                                            "from": "iOS",
                                            "lang": "en-us",
                                            "id": "824661624",
                                            "moduleSn": "R6XXXXXXXXXXXXXXX",
                                            "moduleType": 5,
                                            "operateType": "mpptCar",
                                            "version": "1.0"
                                        }
                                        

                                        Beispiel-Payload Charging-Speed setzen:

                                        {
                                            "params": {
                                                "chgWatts": 940,
                                                "chgPauseFlag": 0
                                            },
                                            "from": "iOS",
                                            "lang": "en-us",
                                            "id": "901577499",
                                            "moduleSn": "R6XXXXXXXXXXXXXXX",
                                            "moduleType": 5,
                                            "operateType": "acChgCfg",
                                            "version": "1.0"
                                        }
                                        

                                        Beispiel-Payload Charging-Limit auf 90% setzen:

                                        {
                                            "params": {
                                                "maxChgSoc": 90
                                            },
                                            "from": "iOS",
                                            "lang": "en-us",
                                            "id": "956431191",
                                            "moduleSn": "R6XXXXXXXXXXXXXXX",
                                            "moduleType": 2,
                                            "operateType": "upsConfig",
                                            "version": "1.0"
                                        }
                                        

                                        Die Nachrichten sind also etwas komplexer aufgebaut als ich erst dachte ;) Funktioniert aber nun!

                                        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                        📚 Meine inoffizielle ioBroker Dokumentation

                                        K 1 Antwort Letzte Antwort
                                        0
                                        • haus-automatisierungH haus-automatisierung

                                          Okay ich bin einen Schritt weiter. Ich habe einfach mal das Topic /app/<UserID>/<Seriennummer>/thing/property/set abonniert (mit meiner User-ID und meiner Seriennummer). Dann habe ich in der App eine Aktion ausgelöst (AC-Output eingeschaltet) und konnte ja dann die Nachricht sehen, welche von der App versendet wurde:

                                          {
                                              "params": {
                                                  "enabled": 1,
                                                  "out_freq": 255,
                                                  "out_voltage": 4294967295,
                                                  "xboost": 255
                                              },
                                              "from": "iOS",
                                              "lang": "en-us",
                                              "id": "132790809",
                                              "moduleSn": "R6XXXXXXXXXXXXXXX",
                                              "moduleType": 5,
                                              "operateType": "acOutCfg",
                                              "version": "1.0"
                                          }
                                          

                                          Beispiel-Payload 12V DC aktivieren:

                                          {
                                              "params": {
                                                  "enabled": 1
                                              },
                                              "from": "iOS",
                                              "lang": "en-us",
                                              "id": "824661624",
                                              "moduleSn": "R6XXXXXXXXXXXXXXX",
                                              "moduleType": 5,
                                              "operateType": "mpptCar",
                                              "version": "1.0"
                                          }
                                          

                                          Beispiel-Payload Charging-Speed setzen:

                                          {
                                              "params": {
                                                  "chgWatts": 940,
                                                  "chgPauseFlag": 0
                                              },
                                              "from": "iOS",
                                              "lang": "en-us",
                                              "id": "901577499",
                                              "moduleSn": "R6XXXXXXXXXXXXXXX",
                                              "moduleType": 5,
                                              "operateType": "acChgCfg",
                                              "version": "1.0"
                                          }
                                          

                                          Beispiel-Payload Charging-Limit auf 90% setzen:

                                          {
                                              "params": {
                                                  "maxChgSoc": 90
                                              },
                                              "from": "iOS",
                                              "lang": "en-us",
                                              "id": "956431191",
                                              "moduleSn": "R6XXXXXXXXXXXXXXX",
                                              "moduleType": 2,
                                              "operateType": "upsConfig",
                                              "version": "1.0"
                                          }
                                          

                                          Die Nachrichten sind also etwas komplexer aufgebaut als ich erst dachte ;) Funktioniert aber nun!

                                          K Offline
                                          K Offline
                                          Klostermatt
                                          schrieb am zuletzt editiert von
                                          #49

                                          @haus-automatisierung
                                          Hey sorry, die sicher etwas doofe Frage, aber wie genau setzt du meldungen in diesem Json Format mit dem MQTT ab?
                                          Mit sendTo('mqtt.0', 'sendMessage2Client', {topic: '/your/topic/here', message: 'your message'}); geht's ja nur für einfache messages...

                                          haus-automatisierungH 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          425

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe