znetsixe d7d106773e
Some checks failed
CI / lint-and-test (push) Has been cancelled
chore: bump generalFunctions submodule — fix asset menu supplier->type->model cascade
generalFunctions: e50be2e -> 43f6906

Fixes the bug where picking a supplier and then a type left the model
dropdown stuck on "Awaiting Type Selection". Affects every node that
uses the shared assetMenu (measurement, rotatingMachine, pumpingStation,
monster, …). The chained dropdowns now use an explicit downward
cascade with no synthetic change-event dispatch, so the parent handler
can no longer wipe a child after the child was populated.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-13 14:51:02 +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 32 MiB
Languages
HTML 59.5%
Shell 16.6%
JavaScript 13.1%
Python 9%
Dockerfile 1.8%