-
Notifications
You must be signed in to change notification settings - Fork 105
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
Comments
First we have to find the suitable data for integration. 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) |
@foxthefox 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 ;-). |
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. |
Ich habe umgeschaltet auf base64 oder automatische Erkennung. Die große Frage ist ja nur wie man es decodieren kann. |
Das sieht doch gut aus. Ich nehme immer gern die base64, weil dort der String direkt kopiert werden kann. |
Hab jetzt aus debug 5 etwas decodiert. property/get_reply : msg.payload : string[3840] 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. |
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. |
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. |
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. |
Gerne, hab mich gerade mal angemeldet. |
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 |
I also would like to see this integration supporting the PowerOcean DC Fit. Anything I can do to help? |
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. |
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 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. |
Any luck so far? Eager to test this, so that I finally have a complete view of my energy flow in HA |
https://www.facebook.com/groups/1405868123482532/posts/1681531942582814/ 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. |
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 |
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. |
Did you manage that weekend? |
Sorry, I got a visit of my best friends and I enjoyed the summer. |
Hi there! 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.
Cheers, |
Via the iobroker adapter and its gateway to HA the power ocean is now accessible via the protobuf msg interface. |
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 |
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.... |
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.
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. I keep trying to figure out the next message parts in the protobuf version. |
Das mit HEX ist OK, wird auch schon erfolgreich dekodiert. 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 The adapter is not yet in the offical list of adapters, but via expert mode the adapter can be installed from npm/github. |
Es auch ein fertiges Node-red module https://flows.nodered.org/node/@shaoranlaos/node-red-contrib-ecoflow-http-api Die ioBroker Implementierung von @foxthefox über mqtt ist auch klasse. @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 ;-) |
Danke euch beiden! |
Versuch möglichst mit einmal erlangten Zugangsdaten für den MQTT Server zu arbeiten, damit es nicht nach unautorisirten Apps aussieht. |
Hi, Ich hätte mir auch eine MQTT-Anbindung vorstellen können, aber diese WEB-Variante scheint auch zu funktionieren. |
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. |
ich nutze: Bei Solar gibt es 2 Sensoren: 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: |
Ich glaube du hast noch nicht die neueste Version. In der neuesten sind es 67 Parameter. |
Muß ich da erneut die "custom_components/powerocean" herunterladen und installieren? Ja. |
Leider noch nicht gesehen wie man es auslesen kann. |
Hallo, Hier mal ein Vergleich der beiden Sensoren: Gibt es dafür eine Lösung? |
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. |
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:
|
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. |
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
The text was updated successfully, but these errors were encountered: