8000 Ecoflow Power Ocean · Issue #251 · tolwi/hassio-ecoflow-cloud · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Ecoflow Power Ocean #251

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Bombarde16 opened this issue Jun 10, 2024 · 43 comments
Open

Ecoflow Power Ocean #251

Bombarde16 opened this issue Jun 10, 2024 · 43 comments

Comments

@Bombarde16
Copy link

Hello,

I want to use the Integration with Ecoflow Power Ocean. Is there a possibility or will there be an update in near future? Probably I cannot add this device by myself I think.

Thanks a lot!

Markus

@foxthefox
Copy link
Contributor
foxthefox commented Jun 14, 2024

First we have to find the suitable data for integration.
I have made a small writup how to connect to the mqtt broker via node-red:
https://gist.github.com/foxthefox/11ac35433c228085a8f5e25d5651632a
If you can make such a setup, it would be great.

After going to the APP to look at data of the power ocean, something should be logged in debug4 , that should be postet here (needed for displaying values)
If there are commands from the APP possible, triggering them would cause messages in debug5, that should be also postet here (needed for commands from HA)

@niltrip
Copy link
niltrip commented Jun 19, 2024

@foxthefox
Output cmdline: jq: parse error: Invalid numeric literal at line 3, column 0
In NodeRed bekomme ich nur "Invalid JSON string" at debug 5 wenn ich die App öffne.

Ich hatte mit der Integration schonmal gespielt. Dabei viel mir auf, das ich keine lesbaren mqtt Werte bekomme (Anmeldung klappt, aber dann Fehler). Ich glaube die Anbindung ist im Moment ähnlich der Powerstream. Wenn ich das richtig verstanden habe kommen dort Bytes an und kein json. Allerdings bin ich bei dem Proto buff stuff ausgestiegen. Wenn man den Pfad für Powerstream erweitert auf das Diagnostic device siehst du es...

Ich helfe gern. Würde gerne meine temporäre Lösung auflösen und gern über eure Integration Daten haben wollen ;-).

@foxthefox
Copy link
Contributor

Immerhin passiert was. Wenn nun kein JSON ankommt, dann im mqtt-in mal auf base64 stellen. Dann kommt auch etwas kryptisches, aber lässt sich dann dekodieren. Einfach mal ein paar unterschiedliche Outputs posten. Damit kann man dann werte interpretieren.

@niltrip
Copy link
niltrip commented Jun 19, 2024

Screenshot 2024-06-19 220715

Ich habe umgeschaltet auf base64 oder automatische Erkennung. Die große Frage ist ja nur wie man es decodieren kann.
Ich habe mir eine Lösung zum Auslesen des Webportals gebaut. Dort kommen die Werte die ich wollte. Hier kenne ich die Codierung nicht. Ich hatte bei der Powerstream etwas von Protobuff gelesen. Das fehlt mir aber der Ansatz...

@foxthefox
Copy link
Contributor

Das sieht doch gut aus. Ich nehme immer gern die base64, weil dort der String direkt kopiert werden kann.
Den gibt man in https://protobuf-decoder.netlify.app/ ein und erhält eine decodierung. Es kann mehrere Telegramme in einem stream geben. Erste Hierarchie ist der Header. Erste Stelle sind die Nutzdaten und dann noch cmdSet, cmdFunc… und ggf. auch noch die GeräteID. Die ist bei powerstream drin und beim SHP2 nicht. Sofern die nicht drin sein sollte, dann kannst du den Strieam posten und ich schau ihn mir auch an.

@niltri
8000
p
Copy link
niltrip commented Jun 20, 2024

Hab jetzt aus debug 5 etwas decodiert. property/get_reply : msg.payload : string[3840]
Kleinere Pakete kommen alle 10 Sekunden. Das große kommt beim öffnen der App.

Hier mal ein Auszug
Screenshot 2024-06-20 103425

Ich kann da noch keine Werte mappen. Der eine String den ich geschwärzt habe scheint eine Seriennummer von meiner Anlage zu sein. Aber wie lese ich die Struktur richtig? Danke.

@foxthefox
Copy link
Contributor

Beim öffnen der App kommt meist ein Gesamtupdate -> „latestQuotas“. Das zyklische sind dann die Daten mit schneller Änderung. Im Bild kann man gut die verschachtelte Struktur erkennen. Die FieldNr ist wichtig für die Definition der Werte. Die Interpretation ist Fummelei und Glückssache. Aber da geht immer etwas, Strom Spannung, Leistung ggf. mit 10er Potenzen multipliziert. Größere Zahlen könnte Energiemenge in, out, Solar etc sein.

@foxthefox
Copy link
Contributor

Wenn Typ ein protobuf ist, dann handelt es sich um eine nächste geschachtelte Struktur. Diese können auch wiederholend sein, z.B. für mehrere Abgänge oder Batterien.
0,1,2 sind meist statuswerte, Fehler sind als Bits codiert, und große Zahlen wie 17xxxxxxxxxx sind höchstwahrscheinlich Zeitangaben im Unixformat.

@foxthefox
Copy link
Contributor

Ich würd auch beim Dekodieren helfen, allerdings weiß leider nicht wie man einen privaten Chat über git machen kann, aber wenn es keine Umstände macht, dann können wir im https://forum.iobroker.net/ Infos austauschen, dort auch als foxthefox.

@niltrip
Copy link
niltrip commented Jun 20, 2024

Gerne, hab mich gerade mal angemeldet.

@Nid01
Copy link
Nid01 commented Jun 20, 2024

You could try the newer API https://developer-eu.ecoflow.com/us/document/generalInfo and maybe get the data you are looking for via the endpoints iot-open/sign/device/list and iot-open/sign/device/quota.
I have no experience with sharing devices so I guess you have to register yourself for the developer API and wait about a week for approval, so you can try it yourself.

@nielshh
Copy link
nielshh commented Jun 26, 2024

I also would like to see this integration supporting the PowerOcean DC Fit. Anything I can do to help?

@foxthefox
Copy link
Contributor

You could try the newer API https://developer-eu.ecoflow.com/us/document/generalInfo and maybe get the data you are looking for via the endpoints iot-open/sign/device/list and iot-open/sign/device/quota. I have no experience with sharing devices so I guess you have to register yourself for the developer API and wait about a week for approval, so you can try it yourself.

I am not sure if the new API is of any advantage. At least from the website I can not see that the power ocean is supported and described.

@foxthefox
Copy link
Contributor
foxthefox commented Jun 26, 2024

I also would like to see this integration supporting the PowerOcean DC Fit. Anything I can do to help?

Right now I have enough information to work with. Thanks to @niltrip I got some captures of the live telegrams as well as a JSON recording from the webportal communication. So I am progressing with mapping the protobuf decodes and the datapoints from the JSON.
The first educated guessed schema is:

message bpStaReport {
	optional float bpPwr =1;
	optional int32 bpSoc =2;
	optional int32 bpSoh =3;
	repeated float bpTemp = 5 [packed=true];
	optional int32 bpMaxCellVol = 6;
	optional int32 bpMinCellVol = 7;
	optional int32 bpRunSta = 8;  // 1=RUNSTA_RUN
	optional float bpVol = 9;
	optional float bpAmp = 10;
	optional float bpBusVol =11;
	optional int32 bpErrCode =13;
	repeated float bpCellVol = 14 [packed=true];
	optional int32 bpDsrc =15;
	optional string bpSn = 16;
	optional int32 bpCycles = 17;
	optional int32 bpBalanceState = 18;
	optional float bpHvMosTemp = 19;
	optional float bpLvMosTemp = 20;
	optional float bpPtcTemp= 21;
	optional float bpHtsTemp = 22;
	optional float bpBusNegTemp = 23;
	optional float bpBusPosTemp = 24;
	optional float bpEnvTemp = 25; 
	optional int32 bpAccuChgCap = 26;
	optional int32 bpAccuDsgCap = 27;
	optional int32 bpDesignCap = 28;
	optional int32 bpFullCap = 29;
	optional float bpMaxCellTemp = 30;
	optional float bpMinCellTemp = 31;
	optional float bpMaxMosTemp = 32;
	optional float bpMinMosTemp = 33;
	optional int32 bpBmsFault = 34;
	optional int32 bpEcloundSoc = 35;
	optional int32 bpHeartbeatVer = 36;
	optional int32 bpTimestamp = 37;
	optional float bpRealSoc = 38;
	optional float bpRealSoh = 39;
	optional int32 bpGlobalProtect = 40;
	optional int32 bpDownLimitSoc = 41;
	optional int32 bpUpLimitSoc = 42;
	optional int32 bpActiveCalReqStat = 43;
	optional int32 bpActiveCalRunStat = 44;
	optional int32 moduleProductInfo = 45;
	optional int32 moduleProgramSta = 46;
	optional int32 moduleAplSwVer = 47;
	optional int32 moduleLoaderSwVer = 48;
	optional int32 bmsRunSta = 49; // 1= PB_BMS_STATE_NORMAL
	optional int32 bmsChgDsgSta = 50; // 0=PB_DSG_STATE
	optional int32 dabModSta = 51; // 0= PB_MOD_STA_NORMAL
	optional int32 bpChgSop = 52;
	optional int32 bpDsgSop = 53;
	optional float bpRemainWatth = 54;
	optional float bpTargetSoc = 55;
	optional float bpDiffSoc = 56;
	optional float bpMaxSoc = 57;
	optional float bpMinSoc = 58;
	optional float bpLimitSoc = 59;
	optional float bpCalendarSoh = 60;
	optional float bpCycleSoh = 61;
	optional int32 bpAcRechargeFlag = 62;
	optional int32 bpPtcHeatFlag = 63;
	optional int32 bpPtcExitEvent = 64; // 0=PB_PTC_OT_STATE
	optional int32 bpAccuChgEnergy = 65;
	optional int32 bpAccuDsgEnergy = 66;
	optional float bpPtcTemp2 =67;
	optional int32 bpSysState = 68; // 2=NORMAL_STATE
}
message JTS1_BP_STA_REPORT {
	repeated bpStaReport bpSta = 1;
}

@Nid01
Copy link
Nid01 commented Jun 26, 2024

You could try the newer API https://developer-eu.ecoflow.com/us/document/generalInfo and maybe get the data you are looking for via the endpoints iot-open/sign/device/list and iot-open/sign/device/quota. I have no experience with sharing devices so I guess you have to register yourself for the developer API and wait about a week for approval, so you can try it yourself.

I am not sure if the new API is of any advantage. At least from the website I can not see that the power ocean is supported and described.

The single axis solar tracker are also not listed in the documentation but I can retrieve the data via the new API, so at least for reading values that still might be an option worth trying.

@nielshh
Copy link
8000 nielshh commented Jul 12, 2024

Right now I have enough information to work with. Thanks to @niltrip I got some captures of the live telegrams as well as a JSON recording from the webportal communication. So I am progressing with mapping the protobuf decodes and the datapoints from the JSON. The first educated guessed schema is:

Any luck so far? Eager to test this, so that I finally have a complete view of my energy flow in HA

@Nid01
Copy link
Nid01 commented Jul 12, 2024

https://www.facebook.com/groups/1405868123482532/posts/1681531942582814/
The official API now officially supports PowerOcean, so the documentation might help to integrate it into the integration for the old API: https://developer-eu.ecoflow.com/us/document/powerocean

For me it raises more and more interest in completely overhauling the integration so you could choose between the old and the new API, but currently my focus lies more on improving my integration so I can't make any promises when I can look into this integration.

@foxthefox
Copy link
Contributor

Yes it is somehow supported and its documented, but only a few datapoints are available. Even the above decoded (one) structure has more. I will still map and merge with the protobuf data.

The above structure is almost finished, within this weekend you can expect an update from my side

@niltrip
Copy link
niltrip commented Jul 21, 2024

https://www.facebook.com/groups/1405868123482532/posts/1681531942582814/ The official API now officially supports PowerOcean, so the documentation might help to integrate it into the integration for the old API: https://developer-eu.ecoflow.com/us/document/powerocean

For me it raises more and more interest in completely overhauling the integration so you could choose between the old and the new API, but currently my focus lies more on improving my integration so I can't make any promises when I can look into this integration.

With the new API, is it only possible to use the dev Accesskey and token to get values? If i try it with the integration and change the mqtt settings i did not get values. But with the dev credentinals i got values.

grafik

@nielshh
Copy link
nielshh commented Jul 25, 2024

Yes it is somehow supported and its documented, but only a few datapoints are available. Even the above decoded (one) structure has more. I will still map and merge with the protobuf data.

The above structure is almost finished, within this weekend you can expect an update from my side

Did you manage that weekend?

@foxthefox
Copy link
Contributor
foxthefox commented Jul 25, 2024

Sorry, I got a visit of my best friends and I enjoyed the summer.
But I am again on it.

@necromundo
Copy link

Hi there!
I would like to contribute with adding the Power Ocean as new device for this integration, but I am currently stuck with getting data via the MQTT client. Configuring user, password and serial number and so on in the integration setup, I get this debug log message. Something seems be be qrong with the answer perhaps?

And to mention, I am not toooo familiar with using MQTT, only with the basic concept. I guess, I just need to retrieve one complete dump with the properties names to be able to create a device definition with all the entities and so on.

2024-07-29 13:47:31.742 INFO (SyncWorker_60) [custom_components.ecoflow_cloud.mqtt.ecoflow_mqtt] Login to EcoFlow API https://api.ecoflow.com/auth/login
2024-07-29 13:47:31.797 INFO (SyncWorker_60) [custom_components.ecoflow_cloud.mqtt.ecoflow_mqtt] Successfully logged in: xxxxx
2024-07-29 13:47:31.797 INFO (SyncWorker_60) [custom_components.ecoflow_cloud.mqtt.ecoflow_mqtt] Requesting IoT MQTT credentials https://api.ecoflow.com/iot-auth/app/certification
2024-07-29 13:47:31.847 INFO (SyncWorker_60) [custom_components.ecoflow_cloud.mqtt.ecoflow_mqtt] Successfully extracted account: app-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2024-07-29 13:47:31.873 INFO (MainThread) [custom_components.ecoflow_cloud.mqtt.ecoflow_mqtt] Connecting to MQTT Broker mqtt-e.ecoflow.com:8883
2024-07-29 13:47:31.923 INFO (Thread-14615 (_thread_main)) [custom_components.ecoflow_cloud.mqtt.ecoflow_mqtt] Subscribed to MQTT topic /app/device/property/XXXXXXXXXXXXXXXX
2024-07-29 13:47:42.347 ERROR (Thread-14615 (_thread_main)) [root] Uncaught thread exception
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/threading.py", line 1073, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.12/threading.py", line 1010, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.12/site-packages/paho/mqtt/client.py", line 3591, in _thread_main
    self.loop_forever(retry_first_connection=True)
  File "/usr/local/lib/python3.12/site-packages/paho/mqtt/client.py", line 1756, in loop_forever
    rc = self._loop(timeout)
         ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/paho/mqtt/client.py", line 1164, in _loop
    rc = self.loop_read()
         ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/paho/mqtt/client.py", line 1556, in loop_read
    rc = self._packet_read()
         ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/paho/mqtt/client.py", line 2439, in _packet_read
    rc = self._packet_handle()
         ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/paho/mqtt/client.py", line 3033, in _packet_handle
    return self._handle_publish()
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/paho/mqtt/client.py", line 3327, in _handle_publish
    self._handle_on_message(message)
  File "/usr/local/lib/python3.12/site-packages/paho/mqtt/client.py", line 3570, in _handle_on_message
    on_message(self, self._userdata, message)
  File "/config/custom_components/ecoflow_cloud/mqtt/ecoflow_mqtt.py", line 254, in on_json_message
    raw = json.loads(payload)
          ^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 1)

Cheers,
Benny

@foxthefox
Copy link
Contributor

Via the iobroker adapter and its gateway to HA the power ocean is now accessible via the protobuf msg interface.
The first datapoints are implemented with iobroker.ecoflow-mqtt version 0.0.34 from git or npm.
The other telegrams I will try to map to the next set of datapoints.

@foxthefox
Copy link
Contributor
foxthefox commented Aug 4, 2024

In the meantime I have created the version 0.0.37 which solves some issues that the datapoints for discovery were not fully created.

Edit: now it is 0.0.41 which has also more datapoints for power ocean

@necromundo
Copy link

Hi!

Is there any news on this support?

I tried to get debug information, but also using MQTT connection (which works) in Node-Red seems to get a reply, which is a binary buffer, but not a JSON response, therefore the uncaught exception JSONDecodeError.

If anyone could provide a complete dump of all values delivered by a PowerOcean device, I could try to implement the support using this....

@foxthefox
Copy link
Contributor

Indeed the response is a binary buffer which is called protobuf. For decoding you need a schema which in case of python needs to be compiled. To get the schema definition you need an educated guess, see my from previous post (JTS1_BP_STA_REPORT is cmdId=96 cmdFunc=7 ). That is the payload (the first nested portion = pdata) in the header file.

In Node-Red you need to change the decoding to hex or base64, otherwise you will also get faults with JSON.

message Header
{
    optional bytes pdata = 1;
    optional int32 src = 2;
    optional int32 dest = 3;
    optional int32 d_src= 4;
    optional int32 d_dest = 5;
    optional int32 enc_type = 6;
    optional int32 check_type = 7;
    optional int32 cmd_func = 8;
    optional int32 cmd_id = 9;
    optional int32 data_len = 10;
    optional int32 need_ack = 11;
    optional int32 is_ack = 12;
    optional int32 seq = 14;
    optional int32 product_id = 15;
    optional int32 version = 16;
    optional int32 payload_ver = 17;
    optional int32 time_snap = 18;
    optional int32 is_rw_cmd = 19;
    optional int32 is_queue = 20;
    optional int32 ack_type= 21;
    optional string code = 22;
    optional string from = 23;
    optional string module_sn = 24;
    optional string device_sn = 25;
}

The previous version (<1.0.0) of this integration used the protobuf for decoding the power stream, there might be a good starting point for python decoding.
Most complication are comming when the schema uses deeply nested structures as it does for SHP2. Then your code grows to flatten it.
The new version of the integration seems to use the official API where you need an extra account, but there is JSON used. If the device is supported then only a few informations, of the available ones, are distributed.

I keep trying to figure out the next message parts in the protobuf version.

@AKGitH
Copy link
AKGitH commented Aug 26, 2024

Moin Moin,
ich habe hier eine Power Ocean mit Batteriespeicher am Laufen und wollte diese auch in HA einbinden und habe mal die Vorschläge in NodeRed importiert. Ich erhalte nur bei "debug7" eine Ausgabe und auch nur wenn ich String (bzw. HEX) auswähle. JSON führt zu einer Fehlermeldung. Bei der Stringausgabe kann man wenigstens die Seriennummer des Wechselrichters erkennen.
Hat da jemand eine Idee wie man da weiterkommt?
grafik

@foxthefox
Copy link
Contributor

Das mit HEX ist OK, wird auch schon erfolgreich dekodiert.
Habe in einem anderen Issue folgendes gepostet:

Since I am still struggling to understand the HA development and especially how to setup test environment with code change recognition, I focussed on gateway functionality of my existing work. So I have enhanced my adapter for ioBroker with bidirectional data exchange with HA. That exchange is based on the discovery feature of MQTT service. With that feature is no configuration or yaml needed. Unfortunately it requires to install the iobroker system which is based on nodejs. But that’s not a big deal and does not require a lot of resources. For me it works pretty well, fits to my needs and if any changes are needed I can quickly publish a new release. As a big advantage ALL datapoints from the EF devices are processed (not only the ones of most interest). The adapter as a gateway also reduces the HA load, hence only changed data is transferred to HA. A quick introduction I will add when having a keyboard in front of me.

Website: https://www.iobroker.net/#en/intro
linux cmd(e.g. on raspberry pi) : curl -sLf https://iobroker.net/install.sh | bash -
Adapter Repo: https://github.com/foxthefox/ioBroker.ecoflow-mqtt

The adapter is not yet in the offical list of adapters, but via expert mode the adapter can be installed from npm/github.

@niltrip
Copy link
niltrip commented Aug 26, 2024

Es auch ein fertiges Node-red module https://flows.nodered.org/node/@shaoranlaos/node-red-contrib-ecoflow-http-api
Zum Experimentieren vielleicht nicht schlecht. Mit der hatte ich rumgespielt.

Die ioBroker Implementierung von @foxthefox über mqtt ist auch klasse.
Oder Powerocean Integration Webportal (https://github.com/niltrip/powerocean). Nutze ich selber seit letztem Jahr.
Oder Powerocean Ecoflow_cloud Public API (https://github.com/niltrip/hassio-ecoflow-cloud). Experimentell.

@foxthefox ich finde das development im Moment mit HA ganz spannend. Mit mounten eines lokalen workspaces in den container. Aber programmieren kann ich trotzdem nicht ;-)

@AKGitH
Copy link
AKGitH commented Aug 27, 2024

Danke euch beiden!
Da werde ich versuchen mal in die vorgeschlagen Themen einzulesen bzw. einzuarbeiten.

@foxthefox
Copy link
Contributor

Versuch möglichst mit einmal erlangten Zugangsdaten für den MQTT Server zu arbeiten, damit es nicht nach unautorisirten Apps aussieht.

@AKGitH
Copy link
AKGitH commented Aug 29, 2024

Hi,
ich habe gestern mal das Schema mit dem geringsten Arbeitsaufwand (nach meiner Meinung nach) installiert: Powerocean Integration Webportal (https://github.com/niltrip/powerocean).
Und das Ergebnis sieht für mich nicht verkehrt aus!
image

Ich hätte mir auch eine MQTT-Anbindung vorstellen können, aber diese WEB-Variante scheint auch zu funktionieren.

@niltrip
Copy link
niltrip commented Aug 29, 2024

Hi, ja das funktioniert. Du solltest bei der Anzeige aber auf die Werte mppt_pwr_Total (Solar) und emsBpPower (Batterie) setzen, Diese werden jetzt auch endlich schneller aktualisiert. Die anderen waren noch von der App abhängig. Wenn es zu einer Anlage nichts gibt, muss man halt was hinstellen. Aber ich hoffe endlich hier etwas zu sehen.

@AKGitH
Copy link
AKGitH commented Aug 30, 2024

ich nutze:
für das Netz: PowerOcean sysGridPwr
für Solar: PowerOcean mpptPwr
für Batterie: PowerOcean bpPwr
für Zuhause: PowerOcean sysLoadPwr

Bei Solar gibt es 2 Sensoren:
PowerOcean mpptPv_pwrTotal; Product Description: Solarertrag aller Strings
PowerOcean mpptPwr; Product Description: Solarertrag

die haben etwas unterschiedliche Watt-Zahlen, wobei der "Total-Wert" etwas "schneller" reagiert.

emsBpPower (Batterie) habe ich nicht, für ems.... gibte es nur diese beiden:
PowerOcean emsBpAliveNum; Product Description: emsBpAliveNum -> ist wohl die Battrieanzahl die Live sind
PowerOcean emsCtrlLedBright; Product Description: emsCtrlLedBright -> ist wohl die %-Angabe der LED-Anzeige

grafik

@niltrip
Copy link
niltrip commented Aug 30, 2024

Ich glaube du hast noch nicht die neueste Version. In der neuesten sind es 67 Parameter.
Ja, es geht gerade um die schneller Aktualisierung der Werte. Das ist immer das große Problem. mpptPwr aktualisiert nur, wenn die App geöffnet ist. Deshalb mpptPv_pwrTotal. Hier wird aus den einzelnen Strings eine Summe gebildet. Die Werte der Strings werden öfter aktualisiert.

@AKGitH
Copy link
AKGitH commented Aug 30, 2024

Ich habe den Wechselrichter auf 5.1.16.11 upgedated und HA neu gestartet, aber neue Sensoren sehe ich nicht.
Auch bei der Abfrage der Zustände erhalte ich noch: Vendor Firmware Version: 5.1.15, Vendor Product Build: 6.
Muß ich da erneut die "custom_components/powerocean" herunterladen und installieren?
Wo kann man eigentlich nachträglich die Abfragezeit ändern und macht das Sinn, z.B. auf 10 Sek. zu setzen?
grafik

@niltrip
Copy link
niltrip commented Aug 30, 2024

Muß ich da erneut die "custom_components/powerocean" herunterladen und installieren? Ja.
Die version sollte die 2024.08.27 sein.
Das angelegte Gerät kannst du Löschen und nochmals anlegen. Dann kannst du die Abfragezeit nochmals ändern.

@AKGitH
Copy link
AKGitH commented Aug 30, 2024

Hi niltrip,
ich habe die Dateien runtergeladen und installiert und diese neuen Werte zuätzlich erhalten:
sensor.powerocean_emsbppower
sensor.powerocean_pcsactpwr
sensor.powerocean_pcsmeterpower

Bei den Zustandsabfragen bleibt es bei: Vendor Firmware Version: 5.1.15, Vendor Product Build: 6, obwohl der Wechselrichter mit 5.1.16.11 läuft.
Sagt die Mobile-App und das Web:
grafik

@niltrip
Copy link
niltrip commented Aug 30, 2024

Leider noch nicht gesehen wie man es auslesen kann.

@Hannes0507
Copy link
Hannes0507 commented Sep 26, 2024

Hallo,
Ich habe das Problem, dass der Sensor für den Netzbezug bzw Netzeinspeisung (sysgridpwr) nur sporadisch aktualisiert wird.
Im Vergleich zur Batterieladung /-Entladung (sensor.powerocean_emsbppower).

Hier mal ein Vergleich der beiden Sensoren:

IMG_20240925_153624
Screenshot_2024-09-25-15-35-28-614_io homeassistant companion android-edit

Gibt es dafür eine Lösung?
Oder muss ich zwingend ein Messgerät (Shelly 3EM?) verbauen?

@coarsy
Copy link
coarsy commented May 12, 2025

Hi, ein Messgerät wie der Shelly 3EM ist natürlich optimal. Ich habe nen Sensor mit Tasmota vor dem Stromzähler hängen und bekomme darüber die Werte. Geht auch. Die Sensoren der Eco-Flow-Cloud sind irgendwie etwas träge und direkt am Stromzähler bekommt man natürlich realistische Werte in Echtzeit und man muss nicht in an den Zählerschrank selbst.

@coarsy
Copy link
coarsy commented May 12, 2025

Ich habe bitte noch eine Frage: Kommen bei der Batterieentladung dann negative oder positive Werte. Ich habe mir Template-Sensoren geschrieben und irgendwie sind die Werte jetzt verdreht, wenn mich nicht alles täuscht:

  - name: "Netzbezug"
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement
    state: >
      {% set value = states('sensor.powerocean_sysgridpwr') | float(0) %}
      {{ value if value > 0 else 0 }}

  - name: "Netzeinspeisung"
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement
    state: >
      {% set value = states('sensor.powerocean_sysgridpwr') | float(0) %}
      {{ -1 * value if value < 0 else 0 }}

  - name: "Batterieladung"
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement
    state: >
      {% set value = states('sensor.powerocean_bppwr') | float(0) %}
      {{ value if value > 0 else 0 }}

  - name: "Batterieentladung"
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement
    state: >
      {% set value = states('sensor.powerocean_bppwr') | float(0) %}
      {{ -1 * value if value < 0 else 0 }}

@tropas2001
Copy link

Having spent a long time working with the API I can only conclude it's an ecoflow behaviour issue - i.e. they only update one value in real time, the others only seem to update when you have the app open - pretty ridiculous but that's the bheaviour I've observed. I've contacted their developer support email but received nothing back...my assumption is they are not going to be changing this any time soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants
0