PS control page now shows 7 fields instead of 5:
- Direction (filling/draining/steady)
- Basin level (m)
- Basin volume (m³)
- Fill level (%)
- Net flow (m³/h, signed)
- Time to full/empty (countdown in min or s)
- Inflow (m³/h)
Two new trend pages per time window (short 10 min / long 1 hour):
- Basin chart: 3 series (Basin fill %, Basin level m, Net flow m³/h)
on both Trends 10 min and Trends 1 hour pages.
PS formatter now extracts direction, netFlow, seconds from the delta-
compressed port 0 cache and computes fillPct from vol/maxVol. Dispatcher
sends 10 outputs (7 text + 3 trend numerics to both short+long basin
charts).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
EVOLV — End-to-End Example Flows
Demo flows that show how multiple EVOLV nodes work together in a realistic wastewater-automation scenario. Each example is self-contained: its folder has a flow.json you can import directly into Node-RED plus a README.md that walks through the topology, control modes, and dashboard layout.
These flows complement the per-node example flows under nodes/<name>/examples/ (which exercise a single node in isolation). Use the per-node flows for smoke tests during development; use the flows here when you want to see how a real plant section behaves end-to-end.
Catalogue
| Folder | What it shows |
|---|---|
pumpingstation-3pumps-dashboard/ |
Wet-well basin + machineGroupControl orchestrating 3 pumps (each with up/downstream pressure measurements), individual + auto control, process-demand input via dashboard slider or random generator, full FlowFuse dashboard. |
How to import
- Bring up the EVOLV stack:
docker compose up -dfrom the superproject root. - Open Node-RED at
http://localhost:1880. - Menu → Import → drop in the example's
flow.json(or paste the contents). - Open the FlowFuse dashboard at
http://localhost:1880/dashboard.
Each example uses a unique dashboard path so they can coexist in the same Node-RED runtime.
Adding new examples
When you create a new end-to-end example:
- Make a subfolder under
examples/named<scenario>-<focus>. - Include
flow.json(Node-RED export) andREADME.md(topology, control modes, dashboard map, things to try). - Test it on a fresh Dockerized Node-RED — clean import, no errors, dashboard loads.
- Add a row to the catalogue table above.
Wishlist for future examples
These are scenarios worth building when there's a session for it:
- Pump failure + MGC re-routing — kill pump 2 mid-run, watch MGC redistribute to pumps 1 and 3.
- Energy-optimal vs equal-flow control — same demand profile run through
optimalcontrolandprioritycontrolmodes side-by-side, energy comparison chart. - Schedule-driven demand — diurnal flow pattern (low at night, peak at 7 am), MGC auto-tuning over 24 simulated hours.
- Reactor + clarifier loop —
reactorupstream feedingsettler, return sludge controlled by a smallpumpingStation. - Diffuser + DO control — aeration grid driven by a PID controller from a dissolved-oxygen sensor.
- Digital sensor bundle — MQTT-style sensor (BME280, ATAS, etc.) feeding a
measurementnode in digital mode + parent equipment node. - Maintenance window — entermaintenance / exitmaintenance cycle with operator handover dashboard.
- Calibration walk-through — measurement node calibrate cycle with stable / unstable input demonstrations.