znetsixe 8c3d3ac69a feat(dashboard): verifiable CoreSync FROST demo + bump coresync submodule
Replaces the old 3-panel coresync-frost-demo.json with a 13-panel dashboard
designed for at-a-glance verification of CoreSync's compression behaviour.

Dashboard rebuild (docker/grafana/provisioning/dashboards/coresync-frost-demo.json):
- Header "How to read" text panel: definitions table + sanity checks so
  every metric is line-of-sight to its Flux source.
- Scoreboard row (4 stats): raw samples / CoreSync knots / reduction % /
  approx. bytes saved over the selected time range.
- Per-stream verification table: one row per CoreSync stream with raw,
  knots, and reductionPct (gradient-coloured). Each line's math is
  mentally checkable: raw × (1 − reductionPct/100) = knots.
- Signal-reconstruction overlays: flow (m³/h) and pressure (mbar)
  rendered as a thin raw line plus fat red knot points so you can see
  knots snap to the raw signal at direction changes. Fixes the previous
  panels which mislabelled both as `flowm3h` regardless of units.
- Diagnostics row: per-stream knot-interarrival timeseries and a
  full-math compression-health table (raw, knots, kept fraction with
  gradient bar, savedPct with colour background).

Bumps coresync submodule to 21d77a8 which lands the FROST demo flow plus
the burst-window reducer fix that was driving cog/efficiency/SEC to ~0%
compression. Verified end-to-end on the live stack: headline reduction
went from 33% to 83%, broken streams from 0.6%-14% to 78%-93%.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 20:27:59 +02:00

EVOLV — Edge-Layer Evolution for Optimized Virtualization

Node-RED custom nodes package voor de automatisering van afvalwaterzuiveringsinstallaties. Ontwikkeld door het R&D-team van Waterschap Brabantse Delta. Volgt de ISA-88 (S88) batch control standaard.

Nodes

Node Functie S88-niveau
rotatingMachine Individuele pomp/compressor/blower aansturing Equipment
machineGroupControl Multi-pomp optimalisatie (BEP-Gravitation) Unit
pumpingStation Pompgemaal met hydraulische context Unit
valve Individuele klep modellering Equipment
valveGroupControl Klep groep coordinatie Unit
reactor Biologische reactor (ASM kinetiek) Unit
settler Nabezinker / slibscheiding Unit
monster Multi-parameter biologische monitoring Equipment
measurement Sensor signaalconditionering Control Module
diffuser Beluchting aansturing Equipment
dashboardAPI InfluxDB telemetrie + FlowFuse dashboards
generalFunctions Gedeelde bibliotheek (predict, PID, convert, etc.)

Architectuur

Elke node volgt een drie-lagen patroon:

  1. Entry file (<naam>.js) — registratie bij Node-RED, admin endpoints
  2. nodeClass (src/nodeClass.js) — Node-RED adapter (tick loop, routing, status)
  3. specificClass (src/specificClass.js) — pure domeinlogica (fysica, toestandsmachines)

Drie output-poorten per node: Port 0 = procesdata, Port 1 = InfluxDB telemetrie, Port 2 = registratie/besturing.

Installatie

git clone --recurse-submodules https://gitea.wbd-rd.nl/RnD/EVOLV.git
cd EVOLV
npm install

Submodules updaten:

git submodule update --remote --merge

Enkel bouwblok installeren in Node-RED:

mkdir -p ~/.node-red/nodes
cp -r nodes/<bouwblok-naam> ~/.node-red/nodes/

Testen

# Alle nodes
bash scripts/test-all.sh

# Specifieke node
node --test nodes/<nodeName>/test/basic/*.test.js
node --test nodes/<nodeName>/test/integration/*.test.js
node --test nodes/<nodeName>/test/edge/*.test.js

Documentatie

  • wiki/ — Projectwiki met architectuur, bevindingen en metrics (index)
  • CLAUDE.md — Claude Code projectgids
  • manuals/node-red/ — FlowFuse en Node-RED referentiedocumentatie
  • .agents/ — Agent skills, beslissingen en function-anchors

Licentie

Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)

Gebruik, aanpassing en verspreiding is toegestaan voor niet-commerciele doeleinden, mits naamsvermelding naar Waterschap Brabantse Delta. Voor commercieel gebruik is voorafgaande toestemming vereist.

Contact

rdlab@brabantsedelta.nl

Description
No description provided
Readme 33 MiB
Languages
JavaScript 40%
HTML 39.4%
Shell 13.4%
Python 6%
Dockerfile 1.2%