Skip to content
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

PowerOcean support #82

Open
TheMonkey81 opened this issue May 13, 2024 · 16 comments
Open

PowerOcean support #82

TheMonkey81 opened this issue May 13, 2024 · 16 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@TheMonkey81
Copy link

Is it possible to support EcoFlow PowerOcean?

@foxthefox
Copy link
Owner

Yes it is possible. To integrate it some investigation is needed.
You would need to capture incomming telegrams from the communication with the mqtt server.
Hence I do not now this device it might be useful to follow this gist

https://gist.github.com/foxthefox/11ac35433c228085a8f5e25d5651632a

Otherwise it would also be a try when configuring a powerstation or a powerstream with the identification of the the powerocean. Then the adapter needs to be in debug mode and the options for logging:

  • msgSetGet
  • msgCmd
  • msgUpdate (but pollutes the log)
    must be ticked.
    And if it is not readable (not JSON) then it is powerstream style and "showHex" is additionally needed

@foxthefox foxthefox added enhancement New feature or request help wanted Extra attention is needed labels May 19, 2024
@TheMonkey81
Copy link
Author

Sorry for the late answer.
I didn't know how I can do it.
But now there is an API for PowerOcean: https://developer-eu.ecoflow.com/us/document/powerocean

@foxthefox
Copy link
Owner

The adapter uses in the current stage the same API as the App. Good to see that the developer API is now also supporting also Power Ocean, but the data there is very limited.
I got data from another user, which I currently use for implementation.

@foxthefox
Copy link
Owner

The first datapoints are implemented, you can install 0.0.34 from git or npm.
Please check and report.
The other telegrams I will try to map to the next set of datapoints.

@TheMonkey81
Copy link
Author

Thanks for the implementation, I observed the values a couple of days. It works pretty well.

Sometimes I got realy high values in the log:
bpPwr:
ecoflow-mqtt.0 (95941) State value to set for "ecoflow-mqtt.0.xxxxxxxxxx.statusReportBattery1.bpPwr" has value "2.249124006852535e+37" greater than max "7000"

bpAmp:
ecoflow-mqtt.0 (95941) State value to set for "ecoflow-mqtt.0.xxxxxxxxxx.statusReportBattery1.bpAmp" has value "36971522686665620000" greater than max "60"
ecoflow-mqtt.0 (95941) State value to set for "ecoflow-mqtt.0.xxxxxxxxxx.statusReportBattery1.bpAmp" has value "8608103424" greater than max "60"

bpVol:
ecoflow-mqtt.0 (95941) State value to set for "ecoflow-mqtt.0.xxxxxxxxxx.statusReportBattery1.bpVol" has value "2.543368362450747e+30" greater than max "60"
ecoflow-mqtt.0 (95941) State value to set for "ecoflow-mqtt.0.xxxxxxxxxx.statusReportBattery1.bpVol" has value "2013274752" greater than max "60"

bpBusVol:
ecoflow-mqtt.0 (95941) State value to set for "ecoflow-mqtt.0.xxxxxxxxxx.statusReportBattery1.bpBusVol" has value "864695870099030000" greater than max "900"

bpSoc::
ecoflow-mqtt.0 (95941) State value to set for "ecoflow-mqtt.0.xxxxxxxxxx.statusReportBattery1.bpSoc" has value "10670" greater than max "100"

bpSoh:
ecoflow-mqtt.0 (95941) State value to set for "ecoflow-mqtt.0.xxxxxxxxxx.statusReportBattery1.bpSoh" has value "10714" greater than max "100"

And there are values that are a little bit higher then max:
bpFullCap:
ecoflow-mqtt.0 (95941) State value to set for "ecoflow-mqtt.0.xxxxxxxxxx.statusReportBattery1.bpFullCap" has value "102496" greater than max "100000"

bpRealSoh:
ecoflow-mqtt.0 (95941) State value to set for "ecoflow-mqtt.0.xxxxxxxxxx.statusReportBattery1.bpRealSoh" has value "102.49687957763672" greater than max "100"

bpRemainWatth:
ecoflow-mqtt.0 (95941) State value to set for "ecoflow-mqtt.0.xxxxxxxxxx.statusReportBattery1.bpRemainWatth" has value "5649.13818359375" greater than max "5000"

bpMinCellVol:
ecoflow-mqtt.0 (95941) State value to set for "ecoflow-mqtt.0.xxxxxxxxxx.statusReportBattery1.bpMinCellVol" has value "11.964" greater than max "5"

bpMaxCellVol:
ecoflow-mqtt.0 (95941) State value to set for "ecoflow-mqtt.0.xxxxxxxxxx.statusReportBattery1.bpMaxCellVol" has value "11.97" greater than max "5"

@foxthefox
Copy link
Owner

thanks for the feedback, if you like the adapter, you can star the repo :-)

for those values completely nonsense I have no idea, what happens there.
as you indicate it is may be rarely or in special occasions, it should be observed.

the slightly higher values:
bpFullCap,bpRealSoh,bpRemainWatth,bpMinCellVol,bpMaxCellVol
will be solved in the next version 0.0.38
you will need to:

  • stop the adapter after upgrade
  • delete those values or the whole datapoint object tree of the adapter
  • start the adapter

I will inform when you can try the next version

@foxthefox
Copy link
Owner

in the meantime it is 0.0.40 which you can install from npm or git
new datapoints for power ocean are done.
More will come, but that needs time to find the next ones.

Please check and report if it works

@TheMonkey81
Copy link
Author

The new datapoints are working. I compared some values with the app, they are correct.
But I noticed the values of "JTS1_ENERGY_STREAM_REPORT" are only updating when the ecoflow app or the ecoflow website is open (and a couple of minutes after it is closed).

"statusReportBattery1" and "JTS1_EMS_HEARTBEAT" are updating after the app / website is closed.

@foxthefox
Copy link
Owner

Thanks for the feedback.
Battery and EMS as heartbeat is obviously the cyclic update.
The report might need a special way of triggering, whereby the APP somehow does this and gets it cyclically.
Similiar behaviour I have seen with the power stream, but there was also one day were the energy data was incomming (even APP closed). Ineterstingly it was after the several hour long provider issue.

I think it would be time to look to the cmds which are sent by the APP.
Therefore you should install 0.0.41 first and then:

  • switch the adapter into debug mode (adapter admin page on top "info"->"debug"
  • tick the debug in the device row
  • tick additionally msgSetGet
  • save and close restarts the adapter
  • check the log if it is presenting logs to the power ocean

If that is working then at a specific time

  • open the APP
  • shuffle around the several views
  • close the APP
  • post the log from that time onwards

Another try is with ticking additionally the msgCmd and perform some commands or settings in the APP.

@Gonzo65
Copy link

Gonzo65 commented Jan 10, 2025

Hi,
I got the same problem with not actual data when not using the app and I just read the issue here.
@foxthefox Because there was no response from TheMonkey81 I think the issue is still open and I tried to do your last suggestions.
I hope the following logging will help you to solve the issue or come closer to a solution:

ecoflow-mqtt_20240110.log

I started the debug mode at about 14:52 with the above mentioned settings.
Then I opened the App, switched around the views and later I changed the backup reserve to 30% and then back to 25%.

After that I terminated the smartphone app.

Please let me know if I can help furthermore.

@foxthefox
Copy link
Owner

Thanks, there is still work to do. Nevertheless the power ocean is implemented as a first version.
I will check and verify with the given hint from other issue.
There seems to be usefull information to decode the telegrams.

@foxthefox
Copy link
Owner

I spent some time on the power ocean and your log.
I could decode all messages, which is huge progress. Making them available as datapoints will take a good amount of time. I will start with seemingly important ones.

The command I could see is 30% for "sysBatDsgDownLimit".

In general I think it would be good, if you could change some settings from the EF-App and provide me the log and some hints what was changed (at which time).

@Gonzo65
Copy link

Gonzo65 commented Jan 12, 2025

My PV-System got working at the beginning of December last year. Until now I am only allowed to use my own power. So the settings are very limited. I only found the "battery down limit" to be allowed to change. I do not know, what settings I can change to help you for further investigations. Any suggestions? I want to help.
By the way, is there any solution to get the values from PowerOcean continouesly? In the moment some value stop updating after a while when I close the EF-App.

@foxthefox
Copy link
Owner

I think this command was part of the log.
We can skip that command gathering for now.

I have no idea, why the data transmission stops. Some people report such a behavior and others have no problem.
According others there is work at EF ongoing to exclude such adapters/integrations which are using the mechanisms of the App. May be it is related to that.
I did not find any information what the App opening is doing differently in communication as in the adapter.
Nevertheless the adapter should gather values after 5min or so. Its not contionous, but something.

@foxthefox
Copy link
Owner

@TheMonkey81 @Gonzo65
I created version 1.2.0 where almost all datapoints are made available.
Please update the adapter and check and report.
If there are anomalies with wrong multiplication, please indicate. It can be fixed quickly.

@Gonzo65
Copy link

Gonzo65 commented Jan 16, 2025

Hello.
Much more parameters!!!
It will take some time to check them all.

Just now I only get the real power information (solar, house, grid) out of the JTS1_ENERGY_STREAM_REPORT. I cannot find a connection within the other values corresponding to the producing, comsuming or storing energy. But the stream report values are only actual when the app is running.
Does anybody has an idea how to get actual values even when the app is not running? Or do I something wrong?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants