npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@shaoranlaos/node-red-contrib-ecoflow-http-api

v2.2.1

Published

A Node-Red plugin that usese the offical Ecoflow HTTP-API to get data for some supported ecoflow devices.

Downloads

93

Readme

Ecoflow Node Red module

A Node Red module that allows to use the offical Ecoflow HTTP API to read data from various supported Ecoflow devices.

Big thanks to @rustyy for providing an easy to use javascript library which makes the implementation of the interactions way easier.

At the moment the following functions are supported:

It also has a specific node for the following device types, to make interaction with the functions of these easier (see the documentation of the nodes for more information):

  • PowerStream

Supported device types

Because this module uses the standard HTTP API from Ecoflow it should support all devices that are also supported from the offical API.

But it is only tested with the following devices:

  • Powerstream
  • Delta Max (not working as of June 2025 - gives Access error)
  • Smart Plug

Node "Ecoflow API"

The node can be configured with the official credentials gotten from Ecoflow OpenIoT.

It has the following functions:

query the device list

This simply return a list of all devices that are registered with the used account and gives there product name, custom name, serial number and online status. It takes no inputs.

[
    {
        "sn":"DAEBF11111111",
        "deviceName":"Test Device",
        "online":1,
        "productName":"DELTA Max"
    },
    ...
]

query all data of a device

The returns all data that can be queried for a specific device. It needs the serial number of the device as input.

This serial number is read from the node configuration or the incoming message in the following priority:

  1. node configuration (Serial Number field)
  2. msg.sn
  3. msg.payload

It returns the queried data as a json object in the message payload.

Example for data from a smart plug:

{
    "2_1.freq":50,
    "2_1.mqttErrTime":1722171847,
    "2_1.volt":238,
    "2_1.geneWatt":0,
    ...
}

The details of the structure and content can be read under Ecoflow API Documentation.

set a specific datapoint

This is a complicated endpoint because the needed JSON for the request various by a lot from device type to device type. Because of that the endpoint is very generic and almost expects the full json from the official API. Only the serial number must be excluded because this will be set from the serial number set in the node config or from the msg.sn field.

Example: If the SetCommand for a PowerStream Custom Output expects the following JSON according to the documentation

{"sn": "HW513000SF767194","cmdCode": "WN511_SET_PERMANENT_WATTS_PACK","params": {"permanentWatts": 20}}

the endpoint expects the following as a json payload on the message

{"cmdCode": "WN511_SET_PERMANENT_WATTS_PACK","params": {"permanentWatts": 20}}

query MQTT configuration parameter

This will query the HTTP-API for the needed configuration to use the offical MQTT-API.

Example:

{"certificateAccount":"open-...","certificatePassword":"...","url":"mqtt-e.ecoflow.com","port":"8883","protocol":"mqtts"}

Getting Access Key and Secret Key

The Credentials can be requested on the offical Ecoflow IoT Website: Ecoflow OpenIoT. It can take up to a week for the account to be enabled.

Known "Problems"

  1. The API returns the last known values for a device that is offline. Please use the device list function and check the online status of a device bevor using the values (see the example flow "ListDevicesAndQuerThem").
  2. The online status in the device list can take up to 15 minutes (in my observations) to reflect when a device is offline.
  3. The PowerOcean seems to have a bug where it only reports values in the API if one of the offical Apps for it are open. See #9 for the curent status on this.
  4. As of June 2025 the Delta Max gives the error "current device is not allowed to get device info" on requesting data over the API. Only the status is available (via device list). Offical Response to this issue:
    Due to previous instances of unauthorized access to product categories still under development by some users, which caused significant issues, we have closed these unofficial access points. As a result, devices that are not officially released are not supported for access. Your Delta Max falls under the category of devices that are not currently supported.
    Because of this the same error will probably be outputed from all device types that are not listed in the documentation on Ecoflow OpenIoT Documents.