From bac6c620b14d787bb4f22f9eeec3d592422d17f0 Mon Sep 17 00:00:00 2001 From: znetsixe Date: Tue, 7 Apr 2026 17:25:03 +0200 Subject: [PATCH] docs: rewrite README with actual project content Replace generic Dutch template (with placeholder text) with a proper README showing: node inventory table, architecture summary, install instructions, test commands, documentation links, and license. Co-Authored-By: Claude Opus 4.6 (1M context) --- README.md | 224 +++++++++++++++++++----------------------------------- 1 file changed, 77 insertions(+), 147 deletions(-) diff --git a/README.md b/README.md index 00e879e..0e9e00e 100644 --- a/README.md +++ b/README.md @@ -1,147 +1,77 @@ -# R&D Bouwblok: EVOLV (Edge-Layer Evolution for Optimized Virtualization) - -## Over - -Dit bouwblok is ontwikkeld door het R&D-team van Waterschap Brabantse Delta voor gebruik in Node-RED. - - -> *[Voeg hier een korte toelichting toe over de specifieke functionele werking van dit bouwblok]* - ---- - -## Licentie - -Deze software valt onder de **Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)**-licentie. - -- Gebruik, aanpassing en verspreiding is toegestaan voor **niet-commerciΓ«le doeleinden**, mits duidelijke naamsvermelding naar Waterschap Brabantse Delta. -- Voor **commercieel gebruik** is voorafgaande toestemming vereist. - -πŸ“§ Contact: [rdlab@brabantsedelta.nl](mailto:rdlab@brabantsedelta.nl) -πŸ”— Licentie: [https://creativecommons.org/licenses/by-nc/4.0/](https://creativecommons.org/licenses/by-nc/4.0/) - ---- - -## Generieke opbouw van bouwblokken - -- Reageren automatisch op inkomende data (bijv. de positie van een object bepaalt de berekening). -- Ondersteunen koppeling van complexe dataketens tussen processen. -- Gestandaardiseerde input/output: - - Output = procesdata - - Opslaginformatie + relatieve positionering t.o.v. andere objecten -- Ontworpen voor combinatie met andere bouwblokken (ook van derden). -- Open source en vrij beschikbaar voor iedereen. - ---- - -## Installatie – Alle bouwblokken (via EVOLV) - -Alle bouwblokken van het R&D-team zijn gebundeld in de **EVOLV-repository**, waarin gebruik wordt gemaakt van Git submodules. - -### Eerste keer klonen: - -```bash -git clone --recurse-submodules https://gitea.wbd-rd.nl/RnD/EVOLV.git -cd EVOLV -``` - -Of, als je zonder submodules hebt gekloond: - -```bash -git submodule init -git submodule update -``` - -### Submodules updaten: - -Om alle submodules te updaten naar de laatste versie van hun eigen repository: - -```bash -git submodule update --remote --merge -``` - -Individuele submodule updaten: - -```bash -cd nodes/ -git checkout main -git pull origin main -cd ../.. -git add nodes/ -git commit -m "Update submodule " -``` - ---- - -## Installatie – Enkel bouwblok - -1. Clone de gewenste repository: - - ```bash - git clone https://gitea.wbd-rd.nl/.git - ``` - -2. Kopieer het bouwblok naar je Node-RED map: - - ```bash - mkdir -p ~/.node-red/nodes - cp -r ~/.node-red/nodes/ - ``` - -3. Controleer of `settings.js` het volgende bevat: - - ```js - nodesDir: './nodes', - ``` - -4. Herstart Node-RED: - - ```bash - node-red-stop - node-red-start - ``` - ---- - -## Bijdragen (Fork & Pull Request) - -Wil je bijdragen aan de R&D bouwblokken? Volg dan dit stappenplan: - -1. Fork maken - -- Maak een fork van de gewenste R&D repository in Gitea. - -- Je krijgt hiermee een eigen kopie van de repository in je account. - -2. Wijzigingen aanbrengen - -- Clone je fork lokaal en maak een nieuwe branch (bijv. feature/mijn-wijziging). - -- Breng je wijzigingen aan, commit en push de branch terug naar je fork. - -3. Pull Request indienen - -- Ga in Gitea naar je fork en open de branch. - -- Klik op New Pull Request. - -- Stel de R&D repository in bij samenvoegen met. - -- Stel jouw fork/branch in bij trekken van. - -4. Beschrijving toevoegen - -- Geef een duidelijke titel en beschrijving. - -- Verwijs indien van toepassing naar een issue met de notatie # (bijv. #42). - -5. Code review en merge - -- De beheerders van de R&D repository beoordelen je wijziging. - -- Na goedkeuring wordt de wijziging opgenomen in de R&D repository. - ----- - -## Contact - -πŸ“§ rdlab@brabantsedelta.nl +# 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** (`.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 + +```bash +git clone --recurse-submodules https://gitea.wbd-rd.nl/RnD/EVOLV.git +cd EVOLV +npm install +``` + +Submodules updaten: +```bash +git submodule update --remote --merge +``` + +Enkel bouwblok installeren in Node-RED: +```bash +mkdir -p ~/.node-red/nodes +cp -r nodes/ ~/.node-red/nodes/ +``` + +## Testen + +```bash +# Alle nodes +bash scripts/test-all.sh + +# Specifieke node +node --test nodes//test/basic/*.test.js +node --test nodes//test/integration/*.test.js +node --test nodes//test/edge/*.test.js +``` + +## Documentatie + +- **`wiki/`** β€” Projectwiki met architectuur, bevindingen en metrics ([index](wiki/index.md)) +- **`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