EcoFlow River Max sensor data

For anyone interested in getting some data from their EcoFlow River Max (not the pro), you can use the following rest sensor as a template for yourself, you will need to contact their support to give you the correct url, appKey and secretKey.

rest:
  - resource: "https://api.ecoflow.com/iot-service/open/api/device/queryDeviceQuota?sn=[your serial number here]"
    scan_interval: 12
    timeout: 15
    method: "GET"
    headers:
      Content-Type: 'application/json'
      appkey: [your appKey from EcoFlow support here]
      secretKey: [your secretKey from EcoFlow support here]
    sensor:  
      - name: "Ecoflow State of Charge"
        value_template: "{{ value_json.data.soc }}"
      - name: "Ecoflow Remaining Time"
        value_template: >
          {% if value_json.data.remainTime > 60 | int %} {{ int(value_json.data.remainTime / 60) }}h {{ (value_json.data.remainTime % 60) }}m
          {% else %} {{ (value_json.data.remainTime % 60) }}m
          {% endif %} 
      - name: "Ecoflow Wattage Out"
        value_template: "{{ value_json.data.wattsOutSum }}"
      - name: "Ecoflow Wattage In"
        value_template: "{{ value_json.data.wattsInSum }}"

I’m using it to give me an overview on my dashboard like this:

Fairly new to yaml and home assistant, but if anyone has some tips on how to implement this better, feel free to comment. Unfortunately these units don’t give any option to actually control it, at least not that I have been able to expose.

2 Likes