Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Gibt es einen Adapter für ecoflow PowerOcean ?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Gibt es einen Adapter für ecoflow PowerOcean ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      CatShape @Ralf 8 last edited by CatShape

      @ralf-8
      Das wäre dann (EDIT: sehe gerade, dass Du das bereits selber herausgefunden hast)

      JSON.parse(val)['20_1.pvToInvWatts']
      

      Prinzipiell wäre die Idee bei diesem Adapter eigentlich für alle Werte die Dich interessieren einen eigenen "gewöhnlichen" Zustand im Gerät anzulegen, also in diesem Fall so etwas:

      "ecoflow_catshape.0.HW51ZXXXXXXXXXXX.heartbeat.pvToInvWatts": {
          "type": "state",
          "common": {
            "type": "number",
            "unit": "W",
            "name": "PV to inverter power",
            "desc": "PV to inverter power",
            "read": true,
            "write": false,
            "def": 0
          },
          "native": {
            "ecoflowApi": {
              "quotaValueKey": "20_1.pvToInvWatts",
              "valueFactor": 0.1
            }
          },
          "_id": "ecoflow_catshape.0.HW51ZXXXXXXXXXXX.heartbeat.pvToInvWatts",
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          },
          "from": "system.adapter.admin.0",
          "user": "system.user.admin",
          "ts": 1732458125426
        }
      

      Darauf kannst Du dann bei Bedarf ja noch einen Alias anlegen.

      Versteh mich nicht falsch, wenn Du z.B. Zustände "einsparen" willst, kannst Du das natürlich so machen und Dir die Infos direkt aus dem quota-Zustand holen 👍
      Vergiss nicht bei den Instanz-Einstellungen den Haken bei "Update quota state" zu setzen, denn sonst wird dieser Zustand gar nicht aktualisiert.

      U 1 Reply Last reply Reply Quote 0
      • U
        ulofemi @CatShape last edited by

        @catshape
        Hallo in die Runde,

        besten Dank für den Adapter! Ich habe ihn die Woche in der Version 0.0.6 installiert und es hat soweit problemlos geklappt.
        Jetzt eine Frage zum PowerOcean, dem WR von EcoFlow. Sehe ich das richtig, dass im quota die Energieerzeugung nicht enthalten ist? Ich versuche die Solarstromerzeugung über das Integral der Leistungsmessungen über den Tag zu berechnen, aber da sind deutliche Abweichungen gegenüber den Daten, die ich in der EcoFlow App sehe. 2 Beispiele:

        • Laut App 62.81kWh laut meiner Berechnung 80.4 kWh
        • Laut App 43.21kWh laut meiner Berechnung 50.6 kWh

        Hat hier jemand Erfahrung mit dem PowerOcean? Wenn ich die Tagesverläufe meiner aufgezeichneten Daten und denen aus der EcoFlow App vergleiche sehen die sehr ähnlich aus, daher würde ich mal annehmen, dass die Datengrundlage dieselbe ist.

        Danke für euer Feedback.

        C 1 Reply Last reply Reply Quote 0
        • C
          CatShape @ulofemi last edited by CatShape

          @ulofemi
          Ich habe selber keinen PowerOcean, deshalb kann ich da nichts ausprobieren oder testen. Gemäss der API-Dokumentation von EcoFlow (https://developer-eu.ecoflow.com/us/document/powerocean) sind in GetAllQuotaResponse tatsächlich keine Energiewerte enthalten, sondern nur Leistungswerte.
          Weil das auch bei all meinen EcoFlow-Geräten (PowerStream, Delta Pro, River Pro) der Fall ist, habe ich im Adapter die Möglichkeit eingebaut, Leistungswerte über den Tag aufzukumulieren, um so (näherungsweise) die entsprechenden Energiewerte zu erhalten ("cumulateDailyByTimeId"-Mechanismus).
          Je kleiner das Abfrage-Intervall in der Adaptereinstellung gewählt wird, desto näher müsste dieser kumulierte Wert normalerweise am tatsächlichen Wert dran sein.

          Nachfolgend ein paar Beispiele der letzten Tage von meinen Geräten. Mein Abfrage-Intervall der Daten ist */10 * * * * * (alle 10 Sekunden).
          Man sieht im letzten Block (Stromverbrauch Kaffeemaschine), dass die Abweichungen durchaus recht gross sein können. Ich erkläre mir diese grösseren Abweichnungen damit, dass die Leistung über den Tag gesehen auf einen sehr kurzen Zeitraum konzentriert ist.

          Solar-Ertrag EcoFlow PowerStream (ich benutze im Adapter den eingebauten "cumulateDailyByTimeId"-Mechanismus):

          • Wert gemäss EF-App: 3.86 kWh, Adapter: 3.8599 kWh
          • Wert gemäss EF-App: 2.72 kWh, Adapter: 2.7067 kWh
          • Wert gemäss EF-App: 3.90 kWh, Adapter: 3.8944 kWh
          • Wert gemäss EF-App: 3.82 kWh, Adapter: 3.8081 kWh
          • Wert gemäss EF-App: 3.79 kWh, Adapter: 3.7745 kWh
          • Wert gemäss EF-App: 3.81 kWh, Adapter: 3.8081 kWh
          • Wert gemäss EF-App: 3.90 kWh, Adapter: 3.8940 kWh
          • Wert gemäss EF-App: 3.96 kWh, Adapter: 3.9594 kWh
          • Wert gemäss EF-App: 1.40 kWh, Adapter: 1.3944 kWh
            .

          Verbrauchsdaten Shelly PM Mini Gen3 (Kühlschrank) (ich benutze im Adapter den eingebauten "cumulateDailyByTimeId"-Mechanismus):

          • Wert gemäss Shelly-App: 626.89 Wh, Adapter: 626.1 Wh
          • Wert gemäss Shelly-App: 684.49 Wh, Adapter: 684.5 Wh
          • Wert gemäss Shelly-App: 720.28 Wh, Adapter: 722.4 Wh
          • Wert gemäss Shelly-App: 760.94 Wh, Adapter: 766.1 Wh
            .

          Verbrauchsdaten Shelly PM Mini Gen3 (Kaffeemaschine) (ich benutze im Adapter den eingebauten "cumulateDailyByTimeId"-Mechanismus):

          • Wert gemäss Shelly-App: 160.21 Wh, Adapter: 172.3 Wh
          • Wert gemäss Shelly-App: 65.92 Wh, Adapter: 92.2 Wh
          • Wert gemäss Shelly-App: 131.62 Wh, Adapter: 160.3 Wh
          • Wert gemäss Shelly-App: 125.44 Wh, Adapter: 139.7 Wh
          • Wert gemäss Shelly-App: 59.30 Wh, Adapter: 57.1 Wh
          U 1 Reply Last reply Reply Quote 0
          • U
            ulofemi @CatShape last edited by

            @catshape
            Ah, jetzt verstehe ich ein wenig mehr, wie ich die Datenpunkte anzulegen habe. Ich bin was den iobroker angeht noch eher ein Neuling.

            Was ich bisher getan habe (mit der Hilfe von GPT): Ich habe unter userdata Datenpunkte angelegt, die ich dann wiederum mit dem Javascript Adapter bespielt habe und das immer, wenn sich quota verändert. Es hat erstmal das getan, was es sollte war aber durchaus umständlicher.

            Jetzt habe ich mir innerhalb des ecoflow_catshape entsprechende heartbeat.xxxxx Datenpunkte angelegt.
            Also ein Beispiel: Ich will die erzeugte Momentanleistung der PV Anlage sehen, also unter Objekte in den Ordner ecflow_catshape > 0 > HJ31xxxx navigiert, neuen Datenpunkt anlegen mit dem Namen heartbeat.mpptPwr. Das sieht dann so aus

            {
              "common": {
                "name": "heartbeat.mpptPwr",
                "desc": "Manuell erzeugt",
                "role": "state",
                "type": "number",
                "unit": "W",
                "read": true,
                "write": false,
                "def": 0,
                "color": "#ffff00",
                "custom": {
                  "influxdb.0": {
                    "enabled": true,
                    "storageType": "",
                    "aliasId": "",
                    "debounceTime": 0,
                    "blockTime": 0,
                    "changesOnly": true,
                    "changesRelogInterval": 0,
                    "changesMinDelta": 0,
                    "ignoreBelowNumber": "",
                    "disableSkippedValueLogging": false,
                    "enableDebugLogs": false,
                    "debounce": 1000
                  }
                }
              },
              "type": "state",
              "native": {
                "ecoflowApi": {
                  "cumulateDailyByTimeId": "heartbeat.mpptEnergyToday",
                  "quotaValueKey": "mpptPwr",
                  "valueFactor": 1
                }
              },
              "_id": "ecoflow_catshape.0.HJ31xxxxx.heartbeat.mpptPwr",
              "acl": {
                "object": 1636,
                "state": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator"
              },
              "from": "system.adapter.admin.0",
              "user": "system.user.admin",
              "ts": 1744571910973
            }
            

            Als nächstes einen weiteren Datenpunkt anlegen, der in diesem Fall dann "heartbeat.mpptEnergyToday" heißt:

            {
              "common": {
                "name": "heartbeat.mpptEnergyToday",
                "desc": "Manuell erzeugt",
                "role": "state",
                "type": "number",
                "unit": "Wh",
                "read": true,
                "write": false,
                "def": 0,
                "color": "#ffff00",
                "custom": {
                  "influxdb.0": {
                    "enabled": true,
                    "storageType": "",
                    "aliasId": "",
                    "debounceTime": 0,
                    "blockTime": 0,
                    "changesOnly": true,
                    "changesRelogInterval": 0,
                    "changesMinDelta": 0,
                    "ignoreBelowNumber": "",
                    "disableSkippedValueLogging": false,
                    "enableDebugLogs": false,
                    "debounce": 1000
                  }
                }
              },
              "type": "state",
              "native": {},
              "_id": "ecoflow_catshape.0.HJ31xxxxx.heartbeat.mpptEnergyToday",
              "acl": {
                "object": 1636,
                "state": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator"
              },
              "from": "system.adapter.admin.0",
              "user": "system.user.admin",
              "ts": 1744571906335
            }
            

            Leider bleibt der Wert der erzeugten Energie noch auf 0 stehen. Falls ich etwas falsch gemacht habe, lasst es mich wissen - oder wird der Wert nur einmal pro Tag geschrieben?

            Wenn ich alles richtig gemacht habe und es alles funktioniert, stelle ich meine config gerne dem github Repo zur Verfügung.

            C 2 Replies Last reply Reply Quote 0
            • C
              CatShape @ulofemi last edited by

              @ulofemi
              Alles richtig bis auf ein Detail: Die Eigenschaft "cumulateDailyByTimeId" soll nicht in "ecoflowApi" stehen, sondern direkt in "native". Es sollte so aussehen:

                "native": {
                  "cumulateDailyByTimeId": "heartbeat.mpptEnergyToday",
                  "ecoflowApi": {
                    "quotaValueKey": "mpptPwr",
                    "valueFactor": 1
                  }
                },
              

              @ulofemi sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:

              Wenn ich alles richtig gemacht habe und es alles funktioniert, stelle ich meine config gerne dem github Repo zur Verfügung.

              Das wäre willkommen als Vorlage für andere PowerOcean Besitzer.

              U 1 Reply Last reply Reply Quote 0
              • U
                ulofemi @CatShape last edited by ulofemi

                @catshape
                Perfekt, jetzt kommen Daten an, danke.
                Ich beobachte es mal ein paar Tage und vergleiche die Werte mit der App.

                Eine Sache die mir noch aufgefallen ist beim Starten des Adapters bekomme ich diese Warnmeldung:

                ecoflow_catshape.0.HJ31xxxxx.name: native.ecoflowApi.quotaValueKey=deviceName not found in quota received from EcoFlow
                

                Müsste aus der Datei ioBroker.ecoflow_catshape/lib/ecoflow_utils.js aus Zeile 380 stammen

                stringA = stringId + ': native.ecoflowApi.quotaValueKey=' + objStateObj.native.ecoflowApi.quotaValueKey + ' not found in quota received from EcoFlow';
                

                Der PowerOcean scheint keinen Key "deviceName" zu enthalten. Ist damit vielleicht sn gemeint? Oder bin ich da auf dem falschen Dampfer?

                   "sn":"HJ31xxxx",
                   "online":1,
                   "productName":"PowerOcean",
                
                C M 2 Replies Last reply Reply Quote 0
                • C
                  CatShape @ulofemi last edited by CatShape

                  @ulofemi
                  Ok, werde mir das anschauen.
                  Gemäss der API-Doku von EcoFlow, wird für jeden Geräte-Typ der Key "deviceName" geliefert. Aber anscheinend stimmt das beim PowerOcean nicht.

                  Edit:
                  Ich habe im Adapter jetzt eine kleine Anpassung gemacht, so dass keine Log-Meldungen geschrieben werden, wenn die Keys "deviceName" oder "productName" im quota-JSON fehlen.

                  Du kannst den Adapter einfach nochmals installieren. Es ist nicht notwendig den Adapter zuvor zu löschen. Auch die bestehende Instanz muss nicht gelöscht und nicht mal gestoppt werden. (Beim Installieren werden bestehende Instanzen automatisch gestoppt und neu gestartet.)
                  AdapterVonGitHubInstallieren.png

                  1 Reply Last reply Reply Quote 0
                  • C
                    CatShape @ulofemi last edited by CatShape

                    @ulofemi sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:

                    Jetzt habe ich mir innerhalb des ecoflow_catshape entsprechende heartbeat.xxxxx Datenpunkte angelegt.
                    Also ein Beispiel: Ich will die erzeugte Momentanleistung der PV Anlage sehen, also unter Objekte in den Ordner ecflow_catshape > 0 > HJ31xxxx navigiert, neuen Datenpunkt anlegen mit dem Namen heartbeat.mpptPwr

                    Mir ist da doch noch etwas aufgefallen, was nicht ideal ist.
                    Dadurch, dass Du einen Zustand (Datenpunkt) mit dem Namen heartbeat.mpptPwr angelegt hast, wurde zusätzlich zum Zustand "mpptPwr" implizit auch noch das Objekt "heartbeat" mit undefiniertem Typ erzeugt.
                    Ich denke es ist im ioBroker nicht angedacht, dass Benutzer Objekte auf diese Weise erstellen. Dieses Objekt "heartbeat" ist so nicht vollständig sauber definiert. Man erkennt das auch daran, dass im GUI (im Expertenmodus) bei diesem Objekt das bearbeiten-Symbol fehlt. Da ist nur das löschen-Symbol.
                    Das könnte unter Umständen irgendwann mal zu Problemen führen. Es sollte prinzipiell nie ein Objekt (Zustand, Kanal, Ordner, Gerät, ...) mit einem "." (Punkt) im Namen angelegt werden.
                    Wenn man in einem Gerät einen sogenannten Kanal (eine Art Ordner) haben möchte, dann ist der saubere Weg diesen explizit anzulegen, also in Deinem Fall zuerst in ecoflow_catshape.0.HJ31xxxxx einen neuen Kanal mit dem Namen heartbeat anlegen und danach dann in ecoflow_catshape.0.HJ31xxxxx.heartbeat die Zustände (z.B. mpptPwr) anlegen.
                    Nebenbei: Prinzipiell müssen die Zustände nicht zwingend in Kanälen sein, sie können genauso gut direkt im Gerät sein. Das ist einer der von mir beabsichtigten Vorteile dieses Adapters, dass man die Zustände selber so anlegen, organisieren und benennen kann wie man möchte.

                    Es gibt eine einfache Möglichkeit Deine bestehende Struktur zu bereinigen, ohne dass Du das "heartbeat"-Objekt löschen musst (wenn Du "heartbeat" löschst werden auch alle darin bereits angelegten Zustände mitgelöscht und Du müsstest die alle neu anlegen):
                    In ecoflow_catshape.0.HJ31xxxxx einen neuen Kanal mit dem Namen heartbeat anlegen. Obwohl dieses Objekt bei Dir ja bereits (unvollständig) existiert, sollte das klappen, und danach ist es dann eben vollständig und korrekt angelegt.
                    Danach empfehle ich Dir noch bei allen Zuständen im Namen (common.name) den Teil "heartbeat." rauszulöschen, also z.B. aus "heartbeat.mpptPwr" --> "mpptPwr" zu machen.

                    Hoffentlich habe ich es einigermassen geschafft mich präzise und trotzdem verständlich auszudrücken 🙂

                    mcm1957 1 Reply Last reply Reply Quote 1
                    • mcm1957
                      mcm1957 @CatShape last edited by

                      @catshape

                      Wenn dein Adapter funktioniert, dann lass ihn bitte in die Repositories aufnehmen. Bis dies erfolgt ist eine Info an alle interessierten User

                      Von direkten Installation von GitHub - insbesondere auf produktiven Systemen - wird explizit abgeraten.

                      GitHub Versionen können sich jederzeit (auch kurzfristig) ändern und durchaus auch in sich inkonsistent und fehlerhaft sein. Versionsangaben von GitHub Installationen sind Schall und Rauch da die Versionsnummer zumindest bei Verwendung der standardmäßigen Umgebung erst im Zuge der Releaseerstellung geändert wird.

                      Auf explizite Aufforderung durch den Entwickler kann eine GitHub Installation zur Fehlereingrenzung oder zum Test neuer Funktionalität - unter Inkaufnahme des erhöhten Risikos - natürlich erfolgen.

                      Adapter die nur via GitHub oder npm (also NICHT aus einem der beiden Repositories) installierbar sind sind mit erhöhter Vorsicht zu betrachten. Hier sollte der Entwickler drum ersucht werden eine Aufnahme in die Repositories zu veranlassen indem z.B. ein Issue im Adapterrepository erstellt wird.

                      C 1 Reply Last reply Reply Quote 0
                      • C
                        CatShape @mcm1957 last edited by CatShape

                        @mcm1957
                        Ich habe vor das zu machen.
                        Im Moment erfüllt mein Adapter noch nicht alle Voraussetzungen dafür. Insbesondere was npm betrifft. Da ich mich bisher noch nie mit npm befasst habe, muss ich mich da erst mal schlau machen.

                        mcm1957 1 Reply Last reply Reply Quote 0
                        • mcm1957
                          mcm1957 @CatShape last edited by

                          @catshape
                          danke

                          Wenn du Fragen hast bitte melden.
                          Gern such (oder für dev Fragen eher bevorzugt) in ubseren Telegramm bzw Discord Channels. Invites auf www.iobroker.dev

                          1 Reply Last reply Reply Quote 1
                          • M
                            milo58 @ulofemi last edited by

                            @ulofemi Hallo Ulofemi, da ich meine PowerOcean auch mit dem Adapter von @CatShape betreibe würde mich mal interessieren, ob ein bei mir auftretendes Problem auch bei Dir (oder natürlich auch anderen Usern) besteht: Wie verhält sich der Adapter, wenn die Handy-App von Ecoflow längere Zeit inaktiv ist? Bei mir werden nach ca 10 bis 15 Minuten die Leistungsdaten in der Cloud nicht mehr aktualisiert und in der Quota ändert sich offenbar nur der Timestamp. Daten wie mpptPwr sind dann immer unverändert und falsch. Sobald ich die Handy-App wieder starte, bekommt der Adapter auch aktualisierte Daten.

                            U 1 Reply Last reply Reply Quote 0
                            • A
                              Allodo last edited by

                              @CatShape
                              ich habe mich jetzt mal näher mit Deinem Adapter beschäftigt und mir Datenpunkte angelegt, da mein Script keine Daten mehr liefert. Wahrscheinlich wurde seitens Ecoflos etwas geändert.

                              Du lieferst ja den QUOTA (/iot-open/sign/device/quota/all) , woher ich die meistens wichtigen Informationen her bekomme. Allerdings fehlt mir der Tagesertrag 😞
                              Dieser ist meine ich unter den History-Daten: /iot-open/sign/device/quota/data

                              Könntest Du diesen diesen Punkt evtl. liefern?
                              Das mit dem "cumulateDailyByTimeId" habe ich leider nicht ganz verstanden 😞
                              Könntest Du das etwas näher erläutern, wie Du daraus den Tagesertrag ermittelst?

                              Danke 🙂

                              C 1 Reply Last reply Reply Quote 0
                              • C
                                CatShape @Allodo last edited by CatShape

                                @allodo sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:

                                Du lieferst ja den QUOTA (/iot-open/sign/device/quota/all) , woher ich die meistens wichtigen Informationen her bekomme. Allerdings fehlt mir der Tagesertrag

                                Eigentlich habe ich genau dafür den "cumulateDailyByTimeId" Mechanismus vorgesehen.
                                Du könntest die 2 folgenden Zustände bei Dir anlegen (HJXXXXXXXXXXXXXX überall durch die Seriennummer von deiner PowerOcean ersetzen) und dann siehst Du den Mechanismus in Aktion.

                                {
                                  "ecoflow_catshape.0.HJXXXXXXXXXXXXXX.mpptEnergyToday": {
                                    "common": {
                                      "type": "number",
                                      "unit": "Wh",
                                      "name": "MPPT energy today",
                                      "desc": "MPPT energy today",
                                      "role": "state",
                                      "read": true,
                                      "write": false,
                                      "def": 0
                                    },
                                    "type": "state",
                                    "native": {},
                                    "_id": "ecoflow_catshape.0.HJXXXXXXXXXXXXXX.mpptEnergyToday",
                                    "acl": {
                                      "object": 1636,
                                      "state": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator"
                                    },
                                    "from": "system.adapter.admin.0",
                                    "user": "system.user.admin",
                                    "ts": 1732458123426,
                                    "val": 0,
                                    "ack": true
                                  },
                                  "ecoflow_catshape.0.HJXXXXXXXXXXXXXX.mpptPower": {
                                    "type": "state",
                                    "common": {
                                      "type": "number",
                                      "unit": "W",
                                      "name": "MPPT power",
                                      "desc": "MPPT power",
                                      "read": true,
                                      "write": false,
                                      "def": 0
                                    },
                                    "native": {
                                      "cumulateDailyByTimeId": "mpptEnergyToday",
                                      "ecoflowApi": {
                                        "quotaValueKey": "mpptPwr",
                                        "valueFactor": 1
                                      }
                                    },
                                    "_id": "ecoflow_catshape.0.HJXXXXXXXXXXXXXX.mpptPower",
                                    "acl": {
                                      "object": 1636,
                                      "state": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator"
                                    },
                                    "from": "system.adapter.admin.0",
                                    "user": "system.user.admin",
                                    "ts": 1732458124074,
                                    "val": 0,
                                    "ack": true
                                  }
                                }
                                

                                .
                                @allodo sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:

                                Dieser ist meine ich unter den History-Daten: /iot-open/sign/device/quota/data
                                Könntest Du diesen Punkt evtl. liefern?

                                Das müsste ich mir genauer anschauen. Auf den ersten Blick passt das nicht so einfach in meine bestehende Adapter-Logik.
                                Ich könnte mir aber schon vorstellen, in einer zukünftigen Adapter-Version so eine zusätzliche Abfrage-Möglichkeit einzubauen.

                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  Allodo @CatShape last edited by

                                  @catshape
                                  Also ich habe gestern 2 Datenpunkte angelegt, jedoch passiert dort gar nix. Weder wird mpptPower aktualisiert, noch wird bei mpptEnergyToday etwas angezeigt 😞

                                  Seriennummer habe ich natürlich durch meine ersetzt 😉

                                  Datenpunkt mpptPower:

                                  {
                                    "ecoflow_catshape.0.HJXXXXXXXXXXXXXX.mpptPower": {
                                      "type": "state",
                                      "common": {
                                        "type": "number",
                                        "unit": "W",
                                        "name": "MPPT power",
                                        "desc": "MPPT power",
                                        "read": true,
                                        "write": false,
                                        "def": 0
                                      },
                                      "native": {
                                        "cumulateDailyByTimeId": "mpptEnergyToday",
                                        "ecoflowApi": {
                                          "quotaValueKey": "mpptPwr",
                                          "valueFactor": 1
                                        }
                                      },
                                      "_id": "ecoflow_catshape.0.HJXXXXXXXXXXXXXX.mpptPower",
                                      "acl": {
                                        "object": 1636,
                                        "state": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator"
                                      },
                                      "from": "system.adapter.admin.0",
                                      "user": "system.user.admin",
                                      "ts": 1732458124074,
                                      "val": 0,
                                      "ack": true
                                    }
                                  }
                                  

                                  Datenpunkt mpptEnergyToday:

                                  {
                                    "ecoflow_catshape.0.HJXXXXXXXXXXXXXX.mpptEnergyToday": {
                                      "common": {
                                        "type": "number",
                                        "unit": "Wh",
                                        "name": "MPPT energy today",
                                        "desc": "MPPT energy today",
                                        "role": "state",
                                        "read": true,
                                        "write": false,
                                        "def": 0
                                      },
                                      "type": "state",
                                      "native": {},
                                      "_id": "ecoflow_catshape.0.HJXXXXXXXXXXXXXX.mpptEnergyToday",
                                      "acl": {
                                        "object": 1636,
                                        "state": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator"
                                      },
                                      "from": "system.adapter.admin.0",
                                      "user": "system.user.admin",
                                      "ts": 1732458123426,
                                      "val": 0,
                                      "ack": true
                                    }
                                  }
                                  

                                  Oder habe ich dort etwas falsch gemacht? Sorry, kenne mich mit den Inhalten von Datenpunkten gar nicht aus. Musste mich damit bisher allerdings auch noch nicht auseinandersetzen 😉

                                  Habe einen Datenpunkt Solarertrag angelegt, welcher auf mpptPwr geht und zuverlässig Werte liefert 🙂

                                  Eigentlich möchte ich nur den Tagesertrag haben, welchen Ecoflow ja liefert, nur leider nicht in Quota 😞

                                  C 1 Reply Last reply Reply Quote 0
                                  • C
                                    CatShape @Allodo last edited by CatShape

                                    @allodo sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:

                                    Also ich habe gestern 2 Datenpunkte angelegt, jedoch passiert dort gar nix. Weder wird mpptPower aktualisiert, noch wird bei mpptEnergyToday etwas angezeigt 😞

                                    Ich habe mich bei der Definition des Zustands "mpptPower" auf die API-Doku von EcoFlow zu mpptPwr verlassen; möglicherweise ist die nicht korrekt. Da ich keine PowerOcean habe, kann ich selber leider nichts testen, was die Sache für mich etwas schwierig macht.

                                    .
                                    @allodo sagte in Gibt es einen Adapter für ecoflow PowerOcean ?:

                                    Oder habe ich dort etwas falsch gemacht? Sorry, kenne mich mit den Inhalten von Datenpunkten gar nicht aus. Musste mich damit bisher allerdings auch noch nicht auseinandersetzen 😉

                                    Mein Adapter basiert im Wesentlichen darauf, dass der Benutzer Zustände in der Instanz selber anlegt und den Inhalt von "native":{} direkt in den Objektdaten konfiguriert. Für Leute die das nicht möchten, ist mein Adapter nicht so geeignet.

                                    Wenn Du willst, kannst Du mir die Objektdaten von Deinem Datenpunkt "Solarertrag" zeigen (bei eingeschaltetem Expertenmodus rechte Maustaste auf Datenpunkt und "Objekt bearbeiten" wählen, Seriennummer unkenntlich machen). Dann könnte ich Dir sagen was zu tun ist, damit "mpptEnergyToday" richtig befüllt wird.

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      Allodo @CatShape last edited by

                                      @catshape
                                      Hier mal mein Eintrag für den Solarertrag:

                                      {
                                        "common": {
                                          "name": "Solarertrag",
                                          "desc": "Manuell erzeugt",
                                          "role": "state",
                                          "type": "number",
                                          "unit": "W",
                                          "read": true,
                                          "write": false,
                                          "def": 0,
                                          "color": "#ffff00"
                                        },
                                        "type": "state",
                                        "native": {
                                          "ecoflowApi": {
                                            "quotaValueKey": "mpptPwr",
                                            "valueFactor": 1
                                          }
                                        },
                                        "_id": "ecoflow_catshape.0.HJxxxxxxxxxxxx.Solarertrag",
                                        "acl": {
                                          "object": 1636,
                                          "state": 1636,
                                          "owner": "system.user.admin",
                                          "ownerGroup": "system.group.administrator"
                                        },
                                        "from": "system.adapter.admin.0",
                                        "user": "system.user.admin",
                                        "ts": 1747114450505
                                      }
                                      
                                      C 1 Reply Last reply Reply Quote 0
                                      • C
                                        CatShape @Allodo last edited by CatShape

                                        @allodo
                                        Ok, dann war meine Definition von "mpptPower" und "mpptEnergyToday" eigentlich richtig. Ich verstehe nicht warum dann der Wert von "mpptPower" nicht genauso aktualisiert wird wie "Solarertrag". Das müsste er eigentlich, denn mein Adapter schaut dazu nur darauf was in native.ecoflowApi steht, und so weit ich sehe ist das bei beiden Datenpunkten identisch.
                                        Bin gerade etwas ratlos.

                                        Nun gut, Du könntest einen neuen Datenpunkt "SolarertragHeute" vom Typ "Zahl" am selben Ort wie "Solarertrag" (also in ecoflow_catshape.0.HJxxxxxxxxxxxx) erstellen.
                                        Danach im Datenpunkt "Solarertrag" in den Objektdaten den "native"-Teil mit "cumulateDailyByTimeId": "SolarertragHeute", ergänzen, so dass er wie folgt aussieht:

                                          "native": {
                                            "cumulateDailyByTimeId": "SolarertragHeute",
                                            "ecoflowApi": {
                                              "quotaValueKey": "mpptPwr",
                                              "valueFactor": 1
                                            }
                                          }
                                        

                                        Eigentlich müsste dann (ab sofort) jedes mal wenn "Solarertrag" aktualisiert wird, auch "SolarertragHeute" aktualisiert werden.
                                        Selbstverständlich kannst Du statt "SolarertragHeute" auch irgend einen anderen Namen für den neuen Datenpunkt wählen. (Du musst nur sicherstellen, dass in "Solarertrag" bei "native.cumulateDailyByTimeId" genau dieser Name steht.)

                                        Das ist natürlich im Prinzip dasselbe, was ich bereits mit "mpptPower" und "mpptEnergyToday" versuchen wollte, aber vielleicht ist dort beim erstellen der Datenpunkte irgend etwas schief gelaufen.

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          Allodo @CatShape last edited by

                                          @catshape
                                          Danke, jetzt werden Werte eingetragen.

                                          Werden diese auch gelöscht bzw. auf 0 zurückgesetzt, so dass man den Tagesertrag hat?
                                          Das kann ich dann natürlich erst morgen genauer sehen, inwiefern es mit den Werten des WR übereinstimmt 😉

                                          C 1 Reply Last reply Reply Quote 0
                                          • C
                                            CatShape @Allodo last edited by CatShape

                                            @allodo
                                            Ja, sie werden täglich auf 0 zurückgesetzt und zwar um die Zeit, welche in der Instanz-Einstellung ("Reset Zeit für kumuliere täglich Zustände") gesetzt ist.
                                            Dabei wird der Wert (vor dem zurücksetzen) auch ins Log geschrieben, das heisst Du kannst die jeweiligen Tages-Werte im Log vom Folgetag finden.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            873
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            48
                                            2660
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo