Ecoflow STREAM (new generation)

Hi,

I’m currently trying to integrate a new EcoFlow balcony power system into openHAB using the official EcoFlow binding.

Setup:

  • Device: EcoFlow STREAM Microinverter
  • EcoFlow developer account with access key / secret key configured
  • Cloud bridge in openHAB is online and shows status ONLINE

Issue:

  • Device discovery does not find any devices
  • Manually adding a PowerStream thing is possible, but it remains in state UNKNOWN

From what I understand, the STREAM series (https://de.ecoflow.com/products/stream-microinverter) is a newer generation compared to the older PowerStream devices. The microinverter supports Wi-Fi/Bluetooth connectivity and cloud-based monitoring via the EcoFlow app, similar to PowerStream, but may use a different API model or device type.

So:

  • Is the EcoFlow STREAM series currently supported by the openHAB binding (and I am just too dumb to configure)?
  • Has anyone successfully integrated a STREAM microinverter?
  • Are there plans to add support for these newer devices?

Thanks in advance.

Dominik

PS: I also attempted to use EcoFlow’s MQTT server, but could not establish a connection. The broker consistently remains OFFLINE in openHAB. Authentication appears to work (incorrect credentials produce proper authentication errors), but with correct credentials the connection still does not come online.

I was able to get the EcoFlow STREAM microinverter working in openHAB via the official EcoFlow developer API (MQTT). Since there is not much concrete information available yet, here is a minimal working setup. Currently, updates on are only received while the EcoFlow app is open. Without the app, only very few new MQTT messages are delivered (maybe every 13-16 min), and I have not found a solution for this yet.


MQTT-Broker-Thing

mqtt:broker:xxx:
  host: mqtt-e.ecoflow.com
  port: 8883
  secure: true
  mqttVersion: V3
  clientID: openhab_xxx
  username: open-xxx
  password: xxx
  enableDiscovery: false

Thing / Channels

mqtt:topic:ecoflow_stream:
  bridge: mqtt:broker:f14fbae831
  channels:
    quota_raw_json:
      stateTopic: /open/<certificateAccount>/<sn>/quota

    grid_connection_power:
      stateTopic: /open/<certificateAccount>/<sn>/quota
      transformationPattern:
        - JSONPATH:$.gridConnectionPower

    pow_get_pv:
      stateTopic: /open/<certificateAccount>/<sn>/quota
      transformationPattern:
        - JSONPATH:$.powGetPv

    pow_get_pv2:
      stateTopic: /open/<certificateAccount>/<sn>/quota
      transformationPattern:
        - JSONPATH:$.powGetPv2

Example payload from /quota

{
  "gridConnectionPower": 518.6,
  "powGetPv": 259.864,
  "powGetPv2": 258.735,

  "gridConnectionVol": 241.1,
  "gridConnectionAmp": 2.15,
  "gridConnectionFreq": 50.04,
  "gridConnectionPowerFactor": 1.0,

  "plugInInfoPvVol": 33.46,
  "plugInInfoPvAmp": 7.766,
  "plugInInfoPv2Vol": 33.21,
  "plugInInfoPv2Amp": 7.79,

  "gridConnectionSta": "PANEL_FEED_GRID",
  "feedGridModePowLimit": 800,
  "feedGridModePowMax": 800,

  "invNtcTemp3": 28,
  "moduleWifiRssi": -87.0,

  "gridCurtailmentSignal": {
    "isGridVol": false,
    "isGridFreq": false,
    "isTemp": false
  },

  "devErrcodeList": {
    "devErrcode": []
  }
}

Relevant values

  • gridConnectionPower = current inverter output (W)
  • powGetPv + powGetPv2 = PV input (W)