Make your Ecoflow back up battery visible as a UPS by exposing IOBroker messages
162
Config is done through YAML (/config/config.yaml) or environment variables:
| Env | Purpose |
|---|---|
MQTT_BROKER | e.g. tcp://192.168.1.10:1883 (or ssl://…:8883) |
MQTT_USERNAME / MQTT_PASSWORD | broker auth |
MQTT_TOPICS | comma-separated subscription list (default #) |
MQTT_DEVICE_SN | only track this serial (e.g. R641ZDH4F2A20008) |
MQTT_QOS, MQTT_STALE_AFTER | subscription QoS, COMMLOST timeout (default 90s) |
MQTT_TLS, MQTT_TLS_INSECURE, MQTT_TLS_CA_FILE | TLS to the broker |
UPS_MODEL, UPS_NAME, UPS_SERIAL | identity shown in Unraid |
UPS_CAPACITY_WH | 245 for River 3, 286 for River 3 Plus/Plus Wireless |
UPS_NOMINAL_OUT_WATTS | rated AC output for LOADPCT (300 for River 3) |
UPS_NOMINAL_IN_VOLTS | 230 (EU) / 120 (US) |
UPS_LOW_BATTERY_PCT | LOWBATT floor (default 20) |
UPS_MIN_DSG_SOC | firmware discharge limit (auto-detected when telemetry has it) |
NIS_LISTEN | NIS listen address (default :3551) |
This is what a config.yaml can look like:
# ecoflow-ups-bridge configuration
# All values can be overridden with environment variables (see README).
mqtt:
# Broker that carries your EcoFlow device telemetry
# (e.g. the Mosquitto broker addon in Home Assistant).
# tcp://host:1883, or ssl://host:8883 to force TLS.
broker: tcp://192.168.1.10:1883
username: ""
password: ""
client_id: ecoflow-ups-bridge
# Topics to subscribe to. Default "#" subscribes to everything and the
# bridge auto-detects EcoFlow telemetry (it ignores anything it can't
# parse). Narrow this once you know your bridge's topic, e.g.:
# topics: ["ecoflow/#"]
# topics: ["/app/device/property/R641ZDH4F2A20008"]
topics:
- "#"
# Serial number of your unit (e.g. R641ZDH4F2A20008). Set this if more
# than one EcoFlow device publishes to the same broker.
device_sn: ""
qos: 0
# Mark the UPS as COMMLOST if no telemetry arrives for this long.
stale_after: 90s
# Log incoming payloads, parser matches, and NIS status diagnostics.
# Payloads are truncated at 4 KiB; enable temporarily while troubleshooting.
debug: false
tls:
enabled: false
insecure_skip_verify: false
ca_file: ""
ups:
name: ECOFLOW # UPSNAME shown in Unraid
model: River 3 # MODEL shown in Unraid
serial: "" # SERIALNO (auto-detected from MQTT if empty)
capacity_wh: 245 # River 3 = 245, River 3 Plus = 286, + battery = 245
nominal_out_watts: 300 # rated AC output (LOADPCT denominator)
nominal_in_volts: 230 # NOMINV (120 for US models)
nominal_battery_volts: 51.2
line_freq: 50.0 # 60.0 for US models
# Report LOWBATT when the charge drops to this level. Unraid applies its
# own shutdown thresholds on top of this.
low_battery_pct: 20
# Firmware discharge floor (matches the app's "Discharge limit", usually 0
# or 10). Auto-detected from telemetry when available.
min_dsg_soc: 0
# Inverter efficiency used for runtime estimates.
efficiency: 0.85
# Consider the unit "on mains" when input power is at least this many
# watts (chargers trickle at ~0W at 100%).
online_input_watts: 2
# Upper bound for the reported TIMELEFT.
max_timeleft_min: 600
# Report NOMINV as LINEV when the payload has no AC input voltage.
report_nominal_linev: true
server:
# apcupsd NIS listen address. This is what Unraid's "UPS Server" points to.
listen: ":3551"
hostname: "" # HOSTNAME field; defaults to system hostname
# Optional: override the payload keys used to find each value.
# Defaults cover River 3 (Gen3: DisplayPropertyUpload/RuntimePropertyUpload),
# and River/Delta 2 ("quat20": pd/inv/bms_bmsStatus, nested or flat params).
# Each list is tried in order; first match wins.
# fields:
# soc:
# - "DisplayPropertyUpload.bmsBattSoc"
# input_watts:
# - "DisplayPropertyUpload.powGetAcIn"
# output_watts:
# - "DisplayPropertyUpload.powOutSumW"
# ac_connected:
# - "DisplayPropertyUpload.plugInInfoAcInFlag"
# battery_volts:
# - "RuntimePropertyUpload.bmsBattVol"
# ac_in_volts:
# - "RuntimePropertyUpload.plugInInfoAcInVol"
# remain_time_min:
# - "DisplayPropertyUpload.bmsDsgRemTime"
Content type
Image
Digest
sha256:145958ea7…
Size
6 MB
Last updated
5 days ago
docker pull djflix/ecoflow-iobroker-unraid-bridge