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

  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.2k

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

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

Adapter für Ecoflow Einbindung

Geplant Angeheftet Gesperrt Verschoben Einbindung von Geräten
212 Beiträge 42 Kommentatoren 61.3k 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.
  • B bombastikde

    @chka Irgendetwas hat EcoFlow wieder gemacht! 😞 Die Wlan Verbindung der EcoFlow wird immer wieder unterbrochen - Ich wechsle jetzt jeden Tag die "client IDs"
    Ist aber wirklich nervig!
    Wie sieht es bei den anderen aus?
    Kann man die Client ID dem Adapter in einem Script übergeben?

    S Offline
    S Offline
    SvanSvan
    schrieb am zuletzt editiert von SvanSvan
    #121

    @bombastikde
    Was willst du von der Verbindung unter dem Konto des Programms, das nicht für langfristiges Arbeiten ausgelegt ist. Eine Verbindung unter dem Konto des Geräts selbst ist das, was Sie verwenden müssen. nur er ist dafür ausgelegt und hat Vorrang. Wenn dies verstanden wird, werden die Leute vielleicht daran interessiert sein, wie man es macht. (nicht einfach, aber möglich)

    1 Antwort Letzte Antwort
    0
    • F Offline
      F Offline
      Frense
      schrieb am zuletzt editiert von
      #122

      Moin zusammen,

      Habe gestern meine River 2 Pro in Betrieb genommen. Leider scheint das ChgPauseFlag nicht zu funktionieren. Die River lädt weiter mit 20-30W. Hat jemand eine Idee bzw. Das gleiche Verhalten?

      Grüße Frense

      F 1 Antwort Letzte Antwort
      0
      • F Frense

        Moin zusammen,

        Habe gestern meine River 2 Pro in Betrieb genommen. Leider scheint das ChgPauseFlag nicht zu funktionieren. Die River lädt weiter mit 20-30W. Hat jemand eine Idee bzw. Das gleiche Verhalten?

        Grüße Frense

        F Offline
        F Offline
        firebowl
        schrieb am zuletzt editiert von
        #123

        @frense Weiß jetzt nicht ob die River 2 Pro das kann aber meine Delta 2 kann es beispielsweise nicht. Sie ignoriert das Pause Flag und ich kann die minimale Ladeleistung nicht unter glaub 200W stellen.

        W 1 Antwort Letzte Antwort
        0
        • F firebowl

          @frense Weiß jetzt nicht ob die River 2 Pro das kann aber meine Delta 2 kann es beispielsweise nicht. Sie ignoriert das Pause Flag und ich kann die minimale Ladeleistung nicht unter glaub 200W stellen.

          W Offline
          W Offline
          Waly_de
          schrieb am zuletzt editiert von
          #124

          Ist ja still geworden hier ...

          ich hab seit kurzem einen PowerStream im Einsatz.
          Da lässt sich auch etwas per MQTT von "mqtt-e.ecoflow.com" abfragen.
          Allerdings kommt kein JSON mehr zurück, sondern irgendwelche unlesbaren Binärdaten gefolgt von der Seriennummer.

          Sieht etwa so aus:

          7 �� �� ��5 (@HPX���HWXXXXXXXXXXXXXXX
          

          Oder ohne die Seriennummer als Byte-Sequenz:

          b'\xf8\x8c\xda\xe3\xa9\x9a\xe4\xaf\xa4\x77\xfa\xa7\x8f\xfd\xf1T\x8f\xfa\xb9T\xe1T\xfe\xfa\xd9\xb8I\x05I\x01R\x1eR\x18R\x15\x1e\x1e\x00R\x01\xdd\x01\x1c\x06I'
          

          Ich schaffe es nicht daraus etwas brauchbares zu extrahieren. Ist einer von Euch weiter?

          Viele Grüße
          Markus

          haus-automatisierungH VespaGamingV 2 Antworten Letzte Antwort
          0
          • W Waly_de

            Ist ja still geworden hier ...

            ich hab seit kurzem einen PowerStream im Einsatz.
            Da lässt sich auch etwas per MQTT von "mqtt-e.ecoflow.com" abfragen.
            Allerdings kommt kein JSON mehr zurück, sondern irgendwelche unlesbaren Binärdaten gefolgt von der Seriennummer.

            Sieht etwa so aus:

            7 �� �� ��5 (@HPX���HWXXXXXXXXXXXXXXX
            

            Oder ohne die Seriennummer als Byte-Sequenz:

            b'\xf8\x8c\xda\xe3\xa9\x9a\xe4\xaf\xa4\x77\xfa\xa7\x8f\xfd\xf1T\x8f\xfa\xb9T\xe1T\xfe\xfa\xd9\xb8I\x05I\x01R\x1eR\x18R\x15\x1e\x1e\x00R\x01\xdd\x01\x1c\x06I'
            

            Ich schaffe es nicht daraus etwas brauchbares zu extrahieren. Ist einer von Euch weiter?

            Viele Grüße
            Markus

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

            @waly_de Ach guck, ein weiterer Versuch vom Hersteller die Schnittstelle möglichst intransparent zu gestalten 😞 Super nervig.

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

            1 Antwort Letzte Antwort
            0
            • W Waly_de

              Ist ja still geworden hier ...

              ich hab seit kurzem einen PowerStream im Einsatz.
              Da lässt sich auch etwas per MQTT von "mqtt-e.ecoflow.com" abfragen.
              Allerdings kommt kein JSON mehr zurück, sondern irgendwelche unlesbaren Binärdaten gefolgt von der Seriennummer.

              Sieht etwa so aus:

              7 �� �� ��5 (@HPX���HWXXXXXXXXXXXXXXX
              

              Oder ohne die Seriennummer als Byte-Sequenz:

              b'\xf8\x8c\xda\xe3\xa9\x9a\xe4\xaf\xa4\x77\xfa\xa7\x8f\xfd\xf1T\x8f\xfa\xb9T\xe1T\xfe\xfa\xd9\xb8I\x05I\x01R\x1eR\x18R\x15\x1e\x1e\x00R\x01\xdd\x01\x1c\x06I'
              

              Ich schaffe es nicht daraus etwas brauchbares zu extrahieren. Ist einer von Euch weiter?

              Viele Grüße
              Markus

              VespaGamingV Offline
              VespaGamingV Offline
              VespaGaming
              schrieb am zuletzt editiert von
              #126

              @waly_de Gibt es die Möglichkeit den PowerStream zu steuern bzw. beim Konfigurieren in der App die Daten über MQTT abzugreifen wie bei den Powerstations?

              W 1 Antwort Letzte Antwort
              0
              • VespaGamingV VespaGaming

                @waly_de Gibt es die Möglichkeit den PowerStream zu steuern bzw. beim Konfigurieren in der App die Daten über MQTT abzugreifen wie bei den Powerstations?

                W Offline
                W Offline
                Waly_de
                schrieb am zuletzt editiert von
                #127

                @vespagaming …sieht nicht so aus. Zwar kommen Daten über den MQTT Server, aber eben verschlüsselt. Solange es niemand schafft die Daten zu entschlüsseln wird das nicht funktionieren. Wirklich schade, denn die Logik von EcoFlow lässt noch sehr zu wünschen übrig. Das hätte man über die API sehr schön selbst ausgleichen können.

                haus-automatisierungH 1 Antwort Letzte Antwort
                0
                • W Waly_de

                  @vespagaming …sieht nicht so aus. Zwar kommen Daten über den MQTT Server, aber eben verschlüsselt. Solange es niemand schafft die Daten zu entschlüsseln wird das nicht funktionieren. Wirklich schade, denn die Logik von EcoFlow lässt noch sehr zu wünschen übrig. Das hätte man über die API sehr schön selbst ausgleichen können.

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

                  @waly_de Naja Du könntest ja zB einmal irgendetwas anschalten und dann wieder ausschalten und den Payload vergleichen. Kommt immer das gleiche und es unterscheidet sich nur ein Bit, kann man damit ja auch arbeiten.

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

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

                    @waly_de Naja Du könntest ja zB einmal irgendetwas anschalten und dann wieder ausschalten und den Payload vergleichen. Kommt immer das gleiche und es unterscheidet sich nur ein Bit, kann man damit ja auch arbeiten.

                    W Offline
                    W Offline
                    Waly_de
                    schrieb am zuletzt editiert von
                    #129

                    @haus-automatisierung Ich habe das gemacht. Ich möchte vor allem den Leistungsbedarf am AC steuern können. Also habe ich mit dem MQTT Adapter

                    /app/<USERID>/<SERIENNUMMER>/thing/property/set
                    

                    bestellt und den Wert mit der App geändert. Da die Antworten dann so aussehen:

                    � 5 (8@H�PXp�������ios�HWXXXXXXXXXXXXX
                    

                    habe ich den Inhalt mal in Hexwerte konvertiert und verglichen. Das sah dann so aus: (Letzte Werte wegen Seriennummer entfernt, waren aber immer gleich…)

                    0a3d0a0308fd-1d-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                    0a3d0a0308fd-1e-10201835200128013803401448fd015003580170-    3b-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                    0a3d0a0308fd-1f-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                    0a3d0a0308fd-1d-10201835200128013803401448fd015003580170-  fdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                    0a3d0a0308fd-07-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                    0a3d0a0308fd-0e-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                    0a3d0a0308fd-0b-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                    0a3d0a0308fd-07-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                    0a3d0a0308fd-0b-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                    0a3d0a0308fd-0b-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                    0a3d0a0308fd-0b-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                    0a3d0a0308fd-0a-10201835200128013803401448fd015003580170-fd20  -fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                    0a3d0a0308fd-0b-10201835200128013803401448fd015003580170-fd20  -fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                    

                    Die sich ändernden Werte habe ich mal mit - getrennt. Das scheinen die verschiedenen Leistungsdaten zu sein, die ich eingestellt habe. Gleiche Watt-Zahl gibt auch immer den gleichen Wert… Was sich hinten manchmal ändert, weiß ich nicht.
                    Schreibe ich diese Daten zurück (setState) tut sich aber nichts. Beim Delta Max kann ich so prima Dinge steuern. Der ist natürlich auch nicht verschlüsselt.

                    Jetzt ist das Feld beim MQTT Adapter aber auch als String definiert und vielleicht geht da einiges kaputt beim Hin und Her konvertieren.
                    Konvertiert habe ich so:

                      var buffer = Buffer.from(obj.state.val,'binary');
                      var v150w =  buffer.toString("hex")
                      log("buffer Daten als HEX:" + v150w)
                      log("Daten Pur:" + obj.state.val)
                    

                    und zurück:

                    var buffer2 = Buffer.from(v150w,'hex');
                    log("Setze diesen Wert:" + buffer2.toString() )
                    

                    Es wäre toll, wenn sich mal jemand mit Ahnung das ansehen würde. Vielleicht mal mit dem anderen MQTT wie Mosquitto, der gleich mit Buffer-Objekten umgehen kann.

                    Mein Ziel ist es, den AC-Leistungsbedarf dynamisch an den tatsächlichen Verbrauch anzupassen (Echtzeit) und den Rest der Sonnenpower in die Batterie zu senden bzw. nur so viel aus der Batterie zu ziehen, wie gerade gebraucht wird.

                    LG
                    Markus

                    VespaGamingV 1 Antwort Letzte Antwort
                    0
                    • W Waly_de

                      @haus-automatisierung Ich habe das gemacht. Ich möchte vor allem den Leistungsbedarf am AC steuern können. Also habe ich mit dem MQTT Adapter

                      /app/<USERID>/<SERIENNUMMER>/thing/property/set
                      

                      bestellt und den Wert mit der App geändert. Da die Antworten dann so aussehen:

                      � 5 (8@H�PXp�������ios�HWXXXXXXXXXXXXX
                      

                      habe ich den Inhalt mal in Hexwerte konvertiert und verglichen. Das sah dann so aus: (Letzte Werte wegen Seriennummer entfernt, waren aber immer gleich…)

                      0a3d0a0308fd-1d-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                      0a3d0a0308fd-1e-10201835200128013803401448fd015003580170-    3b-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                      0a3d0a0308fd-1f-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                      0a3d0a0308fd-1d-10201835200128013803401448fd015003580170-  fdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                      0a3d0a0308fd-07-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                      0a3d0a0308fd-0e-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                      0a3d0a0308fd-0b-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                      0a3d0a0308fd-07-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                      0a3d0a0308fd-0b-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                      0a3d0a0308fd-0b-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                      0a3d0a0308fd-0b-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                      0a3d0a0308fd-0a-10201835200128013803401448fd015003580170-fd20  -fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                      0a3d0a0308fd-0b-10201835200128013803401448fd015003580170-fd20  -fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX
                      

                      Die sich ändernden Werte habe ich mal mit - getrennt. Das scheinen die verschiedenen Leistungsdaten zu sein, die ich eingestellt habe. Gleiche Watt-Zahl gibt auch immer den gleichen Wert… Was sich hinten manchmal ändert, weiß ich nicht.
                      Schreibe ich diese Daten zurück (setState) tut sich aber nichts. Beim Delta Max kann ich so prima Dinge steuern. Der ist natürlich auch nicht verschlüsselt.

                      Jetzt ist das Feld beim MQTT Adapter aber auch als String definiert und vielleicht geht da einiges kaputt beim Hin und Her konvertieren.
                      Konvertiert habe ich so:

                        var buffer = Buffer.from(obj.state.val,'binary');
                        var v150w =  buffer.toString("hex")
                        log("buffer Daten als HEX:" + v150w)
                        log("Daten Pur:" + obj.state.val)
                      

                      und zurück:

                      var buffer2 = Buffer.from(v150w,'hex');
                      log("Setze diesen Wert:" + buffer2.toString() )
                      

                      Es wäre toll, wenn sich mal jemand mit Ahnung das ansehen würde. Vielleicht mal mit dem anderen MQTT wie Mosquitto, der gleich mit Buffer-Objekten umgehen kann.

                      Mein Ziel ist es, den AC-Leistungsbedarf dynamisch an den tatsächlichen Verbrauch anzupassen (Echtzeit) und den Rest der Sonnenpower in die Batterie zu senden bzw. nur so viel aus der Batterie zu ziehen, wie gerade gebraucht wird.

                      LG
                      Markus

                      VespaGamingV Offline
                      VespaGamingV Offline
                      VespaGaming
                      schrieb am zuletzt editiert von
                      #130

                      @waly_de said in Adapter für Ecoflow Einbindung:

                      0a3d0a0308fd-1d-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX

                      Kannst du herleiten was du jeweils für Werte an den Powerstream übergeben hast zu

                      xNodKaneX W 3 Antworten Letzte Antwort
                      0
                      • VespaGamingV VespaGaming

                        @waly_de said in Adapter für Ecoflow Einbindung:

                        0a3d0a0308fd-1d-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX

                        Kannst du herleiten was du jeweils für Werte an den Powerstream übergeben hast zu

                        xNodKaneX Offline
                        xNodKaneX Offline
                        xNodKane
                        schrieb am zuletzt editiert von
                        #131

                        @vespagaming @Waly_de
                        Ich bin mir nicht ganz sicher evtl. komm ich noch dahinter.
                        Jedoch wenn man die .java Dateien der Ecoflow .apk sich ansieht könnte das Protbuf sein.

                        "import com.google.protobuf.CodedInputStream;"
                        625beb3a-9bf9-4508-9ed7-05a44086cef7-image.png

                        hmm...

                        W 1 Antwort Letzte Antwort
                        0
                        • VespaGamingV VespaGaming

                          @waly_de said in Adapter für Ecoflow Einbindung:

                          0a3d0a0308fd-1d-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX

                          Kannst du herleiten was du jeweils für Werte an den Powerstream übergeben hast zu

                          W Offline
                          W Offline
                          Waly_de
                          schrieb am zuletzt editiert von
                          #132

                          @vespagaming

                          ja, ich hab immer nur den Wert für "Leistungsbedarf am AC Ausgang" geändert.
                          Hier mal frische Daten, mit den entsprechenden Wattangaben die ich eingestellt habe:

                          100w: 0a3d0a0308fd-07-10201835200128013803401448fd015003580170fdfd7b06fd0113fd0101fd0103696f73fd0110485735315a4f4834 XXXXXXXXXXXXXXXX
                          200w: 0a3d0a0308fd-0f-10201835200128013803401448fd015003580170  73bb06fd0113fd0101fd0103696f73fd0110485735315a4f4834 XXXXXXXXXXXXXXXX
                          250w: 0a3d0a0308fd-13-10201835200128013803401448fd015003580170fdfdfb06fd0113fd0101fd0103696f73fd0110485735315a4f4834 XXXXXXXXXXXXXXXX
                          350w: 0a3d0a0308fd-1b-10201835200128013803401448fd015003580170fdfd3b06fd0113fd0101fd0103696f73fd0110485735315a4f4834 XXXXXXXXXXXXXXXX
                          400w: 0a3d0a0308fd-1f-10201835200128013803401448fd015003580170fdfd7b06fd0113fd0101fd0103696f73fd0110485735315a4f4834 XXXXXXXXXXXXXXXX
                          550w: 0a3d0a0308fd-2a-10201835200128013803401448fd015003580170fdfdfb06fd0113fd0101fd0103696f73fd0110485735315a4f4834 XXXXXXXXXXXXXXXX
                          600w: 0a3d0a0308fd-2e-10201835200128013803401448fd015003580170  5c3b06fd0113fd0101fd0103696f73fd0110485735315a4f4834 XXXXXXXXXXXXXXXX
                          
                          
                          1 Antwort Letzte Antwort
                          0
                          • xNodKaneX xNodKane

                            @vespagaming @Waly_de
                            Ich bin mir nicht ganz sicher evtl. komm ich noch dahinter.
                            Jedoch wenn man die .java Dateien der Ecoflow .apk sich ansieht könnte das Protbuf sein.

                            "import com.google.protobuf.CodedInputStream;"
                            625beb3a-9bf9-4508-9ed7-05a44086cef7-image.png

                            hmm...

                            W Offline
                            W Offline
                            Waly_de
                            schrieb am zuletzt editiert von
                            #133

                            @xnodkane
                            hmm das ist interessant!

                            Braucht man dazu nicht eine .proto Datei oder sowas?

                            Wüsste auch nicht wie ich die Daten aus dem Stringfeld im MQTT-Client in ein gültiges Format bringen soll.
                            Ich glaub es braucht hier ein Uint8Array...

                            Ich hab wenig Ahnung von Protbuf 😕

                            xNodKaneX 1 Antwort Letzte Antwort
                            0
                            • VespaGamingV VespaGaming

                              @waly_de said in Adapter für Ecoflow Einbindung:

                              0a3d0a0308fd-1d-10201835200128013803401448fd015003580170-fdfdfd-fd05fd0113fd0101fd0103696f73fd0110485XXXXXXXXXXXXXXXXXXXXXXXXXX

                              Kannst du herleiten was du jeweils für Werte an den Powerstream übergeben hast zu

                              W Offline
                              W Offline
                              Waly_de
                              schrieb am zuletzt editiert von
                              #134

                              @vespagaming

                              interessant auch, wenn ich andere Dinge verstelle ist die Nachricht fast identisch und es ändern sich wieder nur die gleichen Stellen:

                              Beleuchtung
                              30%   0a3d0a0308fd 02 10201835200128013803401448fd015003580170 fdfdfdfd 06fd0113fd0101fd0103696f73fd0110485735315a4f4834 XXXXXXXXXXXXXXXX
                              50%   0a3d0a0308fd 03 10201835200128013803401448fd015003580170   fdfdbc 06fd0113fd0101fd0103696f73fd0110485735315a4f4834 XXXXXXXXXXXXXXXX
                              20%   0a3d0a0308fd 01 10201835200128013803401448fd015003580170   fdfd7c 06fd0113fd0101fd0103696f73fd0110485735315a4f4834 XXXXXXXXXXXXXXXX
                              Entladezustand
                              7%    0a3c0a0208 07   10201835200128013803401448fd015002580170     6efd 06fd0113fd0101fd0103696f73fd0110485735315a4f4834 XXXXXXXXXXXXXXXX
                              9%    0a3c0a0208 09   10201835200128013803401448fd015002580170   fdfdfd 06fd0113fd0101fd0103696f73fd0110485735315a4f4834 XXXXXXXXXXXXXXXX
                              
                              
                              1 Antwort Letzte Antwort
                              0
                              • W Waly_de

                                @xnodkane
                                hmm das ist interessant!

                                Braucht man dazu nicht eine .proto Datei oder sowas?

                                Wüsste auch nicht wie ich die Daten aus dem Stringfeld im MQTT-Client in ein gültiges Format bringen soll.
                                Ich glaub es braucht hier ein Uint8Array...

                                Ich hab wenig Ahnung von Protbuf 😕

                                xNodKaneX Offline
                                xNodKaneX Offline
                                xNodKane
                                schrieb am zuletzt editiert von xNodKane
                                #135

                                @waly_de
                                Ich konnte bisher nicht viel entschlüssel, jedoch mit etwas ausprobieren bin ich schon mal soweit.
                                Dies betrifft die Einstellungen der PowerStream.
                                Habe die Website: https://protobuf-decoder.netlify.app/ benutzt um HEX in ein Proto umzuwandeln.
                                Nun kann ich die Klasse auslesen und erhalte z.B.
                                {{ "item": [ { "meta": { "value": 1 }, "function": 130, "timestamp": 905534, "serialNumber": "HW51XXXXXXXXXX" } ] }}

                                function ist die Funktion, z.B. "Leistungsbedarf am AC..." die man einstellt.
                                value ist der Wert der Einstellung

                                message PowerItem {
                                  Meta meta = 1;
                                  int32 function = 9;
                                  uint32 timestamp = 14;
                                  string serialNumber = 25;
                                }
                                
                                message PowerMessage {
                                  PowerItem item = 1;
                                }
                                
                                message Meta {
                                  int32 value = 1;
                                }
                                
                                W 1 Antwort Letzte Antwort
                                1
                                • xNodKaneX xNodKane

                                  @waly_de
                                  Ich konnte bisher nicht viel entschlüssel, jedoch mit etwas ausprobieren bin ich schon mal soweit.
                                  Dies betrifft die Einstellungen der PowerStream.
                                  Habe die Website: https://protobuf-decoder.netlify.app/ benutzt um HEX in ein Proto umzuwandeln.
                                  Nun kann ich die Klasse auslesen und erhalte z.B.
                                  {{ "item": [ { "meta": { "value": 1 }, "function": 130, "timestamp": 905534, "serialNumber": "HW51XXXXXXXXXX" } ] }}

                                  function ist die Funktion, z.B. "Leistungsbedarf am AC..." die man einstellt.
                                  value ist der Wert der Einstellung

                                  message PowerItem {
                                    Meta meta = 1;
                                    int32 function = 9;
                                    uint32 timestamp = 14;
                                    string serialNumber = 25;
                                  }
                                  
                                  message PowerMessage {
                                    PowerItem item = 1;
                                  }
                                  
                                  message Meta {
                                    int32 value = 1;
                                  }
                                  
                                  W Offline
                                  W Offline
                                  Waly_de
                                  schrieb am zuletzt editiert von
                                  #136

                                  @xnodkane wow .. das ist großartig. Hast du meine Daten verwendet? Ich bekomme damit nämlich nichts sinnvolles bei https://protobuf-decoder.netlify.app/ angezeigt.

                                  xNodKaneX 1 Antwort Letzte Antwort
                                  0
                                  • W Waly_de

                                    @xnodkane wow .. das ist großartig. Hast du meine Daten verwendet? Ich bekomme damit nämlich nichts sinnvolles bei https://protobuf-decoder.netlify.app/ angezeigt.

                                    xNodKaneX Offline
                                    xNodKaneX Offline
                                    xNodKane
                                    schrieb am zuletzt editiert von xNodKane
                                    #137

                                    @waly_de
                                    Habe meine eigenen Daten genommen, da man alle hex stellen benötigt um etwas lesen zu können.
                                    Das empfangene ByteArray in HEX umwandeln und als string ausgeben ohne Sonderzeichen (zusammenhängende kette).

                                    Danach in die App werfen und nun versuchen zu interpretieren was da für eine Proto Datei das sein könnte.
                                    Nun muss man die proto als Klasse erstellen und das auf die Klasse "mergen".
                                    Nutze dafür halt .NET mit MQTTnet und Google.Protobuf.
                                    In der message steht dann der lesbare string.

                                    var payload = e.ApplicationMessage.PayloadSegment.ToArray();
                                        var inputStream = new CodedInputStream(payload);
                                        PowerMessage message = new();
                                        message.MergeFrom(inputStream);
                                    

                                    Wie oben gezeigt habe ich manche Felder schon identifizieren können.

                                    7eca80da-71ee-409e-a5c4-0464ce778fb7-image.png

                                    Habe noch weiter herumprobiert und habe mir auch die .java Dateien der .apk angesehen um zu schlussfolgern wie die Daten zusammenhängen.

                                     C4231d.m10767h().mo33598m(this.f29190c, Common.Send_Header_Msg.newBuilder().addMsg(Common.Header.newBuilder().setSrc(32).setDest(53).setSeq(291).setNeedAck(1).setCmdFunc(20).setCmdId(129).setDeviceSn(this.f29190c).setDataLen(build8.toByteString().size()).setPdata(build8.toByteString()).build()).build().toByteArray());
                                    

                                    Hier die neuste .proto

                                    syntax = "proto3";
                                    
                                    message PowerItem {
                                      optional Meta meta = 1;
                                      uint32 src = 2;
                                      uint32 dest = 3;
                                      uint32 cmdFunc = 8;
                                      CmdFunction cmdId = 9;
                                      uint32 unknown = 10;
                                      uint32 needAck = 11;
                                      uint64 timestamp = 14;
                                      string serialNumber = 25;
                                    }
                                    
                                    message PowerMessage {
                                      PowerItem item = 1;
                                    }
                                    
                                    message Meta {
                                      int32 value = 1;
                                    }
                                    
                                    enum CmdFunction {
                                    	Unknown = 0;
                                    	PermanentWattsPack = 129;
                                    	SupplyPriorityPack = 130;
                                    }
                                    
                                    1 Antwort Letzte Antwort
                                    2
                                    • A Offline
                                      A Offline
                                      applepro
                                      schrieb am zuletzt editiert von
                                      #138

                                      Hi zusammen,
                                      bis eben habe ich immer nur fleißig mitgelesen und zu Hause selber getüftelt. Aktuell auch leider nur mit ernüchternden Ergebnissen. Ich habe mal dem Support geschrieben und diese Antwort erhalten…
                                      IMG_2133.jpeg
                                      Da ich ebenfalls die Einspeisemenge des Powerstreams mit dem Hausverbrauch abgleichen und dementsprechend einstellen will, hoffe ich, dass wir hier vorher eine Lösung hinbekommen, bis Ecoflow etwas „einfacheres und offizielleres“ freigibt….richtig Lust haben die darauf ja nicht.

                                      W 1 Antwort Letzte Antwort
                                      1
                                      • A applepro

                                        Hi zusammen,
                                        bis eben habe ich immer nur fleißig mitgelesen und zu Hause selber getüftelt. Aktuell auch leider nur mit ernüchternden Ergebnissen. Ich habe mal dem Support geschrieben und diese Antwort erhalten…
                                        IMG_2133.jpeg
                                        Da ich ebenfalls die Einspeisemenge des Powerstreams mit dem Hausverbrauch abgleichen und dementsprechend einstellen will, hoffe ich, dass wir hier vorher eine Lösung hinbekommen, bis Ecoflow etwas „einfacheres und offizielleres“ freigibt….richtig Lust haben die darauf ja nicht.

                                        W Offline
                                        W Offline
                                        Waly_de
                                        schrieb am zuletzt editiert von
                                        #139

                                        @applepro Es sieht ganz gut aus 🙂 Dank xNodKane's Arbeit hab ich es inzwischen geschafft sowohl einige der Statusmeldungen (PV1 und PV2 Watt sowie Leistung zum Haus) auszulesen, als auch den Wert für "Leistungsbedarf am AC..." zu schreiben.
                                        Allerdings gibt es noch einige Probleme.

                                        Das wichtigste ist, die entsprechenden Felder im MQTT auf den Typ "file" zu stellen und dann den Adapter neu zu starten...

                                        Danach könnt ihr mit diesem Script den Inhalt auslesen und mit https://protobuf-decoder.netlify.app/ entschlüsseln.

                                        getBinaryState('mqtt.<Instanznummer>.app.<USER_ID>.<SERIENNUMMER>.thing.property.set', function (err, data) {
                                          log("frisch ausgelesen:"+ data.toString("hex"))
                                        });
                                        

                                        Senden geht dann so:

                                        sendTo('mqtt.<Instanznummer>', 'sendMessage2Client', {topic: '/app/.<USER_ID>/<SERIENNUMMER>/thing/property/set', message:<buffer>});
                                        

                                        die Daten müssen als Buffer object übergeben werden.

                                        Viel Erfolg 🙂

                                        Ein Problem, wofür vielleicht einer von Euch eine Lösung weiß:
                                        Wenn ich den STATE im MQTT auf 'file' umstelle, kann ich keine Änderungen mehr Monitoren.

                                        on({id: /mqtt.2.app.device.property.HWXXXXXXXXXXXX/, change: 'any'}, function (obj) {
                                            log("EVENT!")
                                        });
                                        

                                        ...da kommt nach der Umstellung nichts mehr. Hat jemand eine Idee?

                                        VG
                                        Markus

                                        xNodKaneX A 3 Antworten Letzte Antwort
                                        3
                                        • W Waly_de

                                          @applepro Es sieht ganz gut aus 🙂 Dank xNodKane's Arbeit hab ich es inzwischen geschafft sowohl einige der Statusmeldungen (PV1 und PV2 Watt sowie Leistung zum Haus) auszulesen, als auch den Wert für "Leistungsbedarf am AC..." zu schreiben.
                                          Allerdings gibt es noch einige Probleme.

                                          Das wichtigste ist, die entsprechenden Felder im MQTT auf den Typ "file" zu stellen und dann den Adapter neu zu starten...

                                          Danach könnt ihr mit diesem Script den Inhalt auslesen und mit https://protobuf-decoder.netlify.app/ entschlüsseln.

                                          getBinaryState('mqtt.<Instanznummer>.app.<USER_ID>.<SERIENNUMMER>.thing.property.set', function (err, data) {
                                            log("frisch ausgelesen:"+ data.toString("hex"))
                                          });
                                          

                                          Senden geht dann so:

                                          sendTo('mqtt.<Instanznummer>', 'sendMessage2Client', {topic: '/app/.<USER_ID>/<SERIENNUMMER>/thing/property/set', message:<buffer>});
                                          

                                          die Daten müssen als Buffer object übergeben werden.

                                          Viel Erfolg 🙂

                                          Ein Problem, wofür vielleicht einer von Euch eine Lösung weiß:
                                          Wenn ich den STATE im MQTT auf 'file' umstelle, kann ich keine Änderungen mehr Monitoren.

                                          on({id: /mqtt.2.app.device.property.HWXXXXXXXXXXXX/, change: 'any'}, function (obj) {
                                              log("EVENT!")
                                          });
                                          

                                          ...da kommt nach der Umstellung nichts mehr. Hat jemand eine Idee?

                                          VG
                                          Markus

                                          xNodKaneX Offline
                                          xNodKaneX Offline
                                          xNodKane
                                          schrieb am zuletzt editiert von xNodKane
                                          #140

                                          @waly_de @applepro
                                          Habe gerade noch mal etwas probiert:
                                          Wenn man auf folgendes Topic hört bekommt man alle Powerstream Daten (in .proto format).

                                          /app/device/property/{serialNumber}
                                          

                                          Dann das Proto PowerMessage benutzen und dann kommt im Feld 38 der Wert für PV Sum (muss man durch 10 teilen um den Wert in W zu erhalten).
                                          Für alle SmartPlug user, diese können über PlugPower Feld 10 die Leistungsaufnahme messen. Auch hier wieder durch 10 teilen.

                                          syntax = "proto3";
                                          message PowerMessage {
                                            PowerItem item = 1;
                                          }
                                          message PowerItem {
                                            optional Meta meta = 1;
                                            string serialNumber = 25;
                                          }
                                          message Meta {
                                            int32 value = 1;
                                            int32 pvPowerSum = 38;
                                            int32 plugPower = 10;
                                          }
                                          

                                          Da jedoch noch viele weitere verschiedene Daten hier in das Topic kommen, weiß ich noch nicht nach was ich filtern muss.
                                          Vielleicht weiß da jemand schon mehr.

                                          W 1 Antwort Letzte Antwort
                                          2
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          726

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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