EcoFlow PowerOcean 2 (Ocean 2 / serials starting with RE11) — new custom integration, looking for testers

EcoFlow Ocean 2 (serials starting with RE11) — new custom integration, looking for testers

Hi everyone,

I own an EcoFlow Ocean 2 and spent a while discovering that none of the
existing solutions return live data for it — the serial numbers start with
RE11. So I wrote my own integration, and I would like a few more people to try
it before I call it stable.

Repository: GitHub - jensfr1/ha-ecoflow-ocean2: Home Assistant Integration fuer EcoFlow PowerOcean / Ocean 2 (SN-Praefix RE11) ueber das private App-MQTT - inkl. eigenem Decoder fuer cmdFunc 254 · GitHub (MIT, HACS-ready)

Why another EcoFlow integration?

Everything I tried first was a dead end:

  • The official Developer API answers every live query with error 1006,
    “current device is not allowed to get device info”.
  • The official MQTT topic connects happily and then never delivers a single
    message.
  • The app REST API (user/device/detail) returns code 0 — success — with
    an empty payload.
  • Modbus TCP only works once the installer unlocks it.

The one route that works is EcoFlow’s app MQTT. The catch: this generation
sends its telemetry in message class cmdFunc 254 (cmdId 39 = telemetry,
cmdId 46 = battery module). As far as I can tell that class is not decoded by
any existing project — the ones I looked at handle cmdFunc 96 or the older
JSON payloads.

I reconstructed the field mapping from captured traffic and verified it against
the EcoFlow web portal; the values agree to within about 1 %. The decoder is
hand-written against the protobuf wire format, so the integration has no
protobuf dependency.

What you get

  • Power: solar, battery (signed: + charging / − discharging), grid (signed:
    • import / − export), house consumption, inverter output, per-phase values,
      per-PV-string values
  • Battery: state of charge, remaining energy, and per module SoC,
    temperature and voltage as sub-devices
  • Energy dashboard: ready-made kWh counters, no Riemann sum helpers needed.
    They survive restarts and deliberately do not extrapolate across
    connection gaps, so an outage does not invent energy that never flowed.
  • Setup entirely through the UI, credentials verified while you type, reauth
    when the password changes

Two things are calculated rather than measured, and the integration says so:
house consumption (solar − battery + grid, same as the EcoFlow portal) and the
phase total.

On stability, which was my main gripe with what I found: the MQTT connection is
push-based with a keep-alive call every 60 s (without it the device simply goes
quiet), reconnects fetch a fresh token and certificate instead of retrying
forever with expired ones, and state writes are throttled to 10 s — otherwise
you get roughly 43,000 state changes per sensor per day, which is unkind to an
SD card.

Installation

HACS → Integrations → ⋮ → Custom repositories → add the repository URL, category
Integration. Then restart Home Assistant and add “EcoFlow PowerOcean
(Ocean 2)” from Settings → Devices & Services.

What I need help with

Honest status: this runs on exactly one system — mine. The decoder is
covered by 44 tests against real recorded payloads and cross-checked against a
second implementation, but a single three-phase zero-export installation is not
a representative sample.

I would be glad to hear from you if you have:

  • a different PowerOcean variant — single-phase, other battery counts, or a
    system that actually exports to the grid (mine is zero-export for now, so my grid
    counters barely move and that path is the least exercised)
  • a serial number with a different prefix — I would like to know whether
    cmdFunc 254 is specific to RE11 or shows up elsewhere too
  • simply a working or non-working setup — both are useful

If something fails, the integration has a diagnostics download (Settings →
Devices & Services → the integration → ⋮ → Download diagnostics). It redacts
email, password and serial number, so it is safe to attach here.

The protobuf field map is documented in the repository. If it is useful to
another project, take it — that is why it is MIT.

Thanks for reading, and thanks in advance to anyone willing to point it at their
inverter.

1 Like

Hi Jens78,
Thanks for your work.
I’ve just installed my panels with an EcoFlow Ocean 2 (single-phase, no battery for now).
So far, I haven’t run into any issues with your extension, and the values ​​it returns seem to match what I see in the app.
That said, I have absolutely no experience with Home Assistant; I only installed it this week to see if I could get data without relying on their app.

Thanks again.

1 Like

Thanks for the feedback. @Methy44
If you have some time would be interested to see some logs.ha-ecoflow-ocean2/DEBUGGING.md at 9156a7c8793fd0a1c64279fa3f54497a71590d7c · jensfr1/ha-ecoflow-ocean2 · GitHub

I hope I managed to get the logs working and that they’ll be useful to you.

Don’t hesitate to ask if anything is missing or if you need more logs.
Do I absolutely have to open an issue to provide the logs?

Edit: my serial start with J32

The OCean 2 starts with RE11.. are you sure you have the new Ocean 2?

Hi - I have an ocean 2 plus (12kw) inverter and 30kwh of storage. My serial number starts with RE43 - I would be happy to try it in home assistant

@LeegeorgeH @Methy44

  1. Install v0.5.0 via HACS, set it up with your serial
  2. Let it run for a day or min 1/2 day (an unusual message type may only appear occasionally)
  3. Settings → Devices & Services → EcoFlow Ocean 2 → ⋮ → Download diagnostics
  4. Attach the file
1 Like

The model that was installed appears to be an HD-PA-6K-S2.