Replaces the configuration row's Heights + Volume Limits stat panels and
the radial Fill % gauge with an integrated basin visual that conveys tank
geometry and live water level at a glance.
Configuration row → Basin row:
- Vertical bar gauge bound to level (m) with min=0/max=basinHeight and
thresholds at outflow/dryRun/inflow/highSafety/overflow safety levels.
- Canvas panel with tank outline, zone tints (dead/operating/highSafety/
spill), threshold lines + named labels, and live numeric readouts for
each threshold value plus current level/volume/fill at the bottom.
- Level + Volume timeseries moved next to the basin visual so the row
reads as basin → trends left-to-right.
Other layout polish:
- Status row Fill % gauge removed; remaining 4 stats widen to w:6 each.
- Old "Basin" row header dropped (its panels migrated into the new row).
- Configuration row renamed to "Basin".
Mechanics:
- dashboardAPI substitutes mustache {{var}} placeholders in templates at
JSON.parse time. Per-softwareType var sets live in _templateVarsForNode;
pumpingStation gets basin geometry + derived safety levels + canvas
pixel y-positions + min-gap-enforced label positions.
- Mustache braces stay distinct from Grafana's ${var} dashboard variables.
- Canvas Flux query pivots heights + predicted level/volume/percent into
one row with normalized field names so metric-value elements can bind.
No node-side telemetry change: dryRunLevel + highVolumeSafetyLevel already
reach Influx via getOutput() (specificClass.js:248,250) and outputUtils
iterates every key with no filter.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
29 lines
920 B
JSON
29 lines
920 B
JSON
{
|
|
"name": "dashboardAPI",
|
|
"version": "1.1.0",
|
|
"description": "EVOLV Grafana dashboard generator (Node-RED node).",
|
|
"main": "dashboardAPI.js",
|
|
"scripts": {
|
|
"test": "node --test test/basic/*.test.js test/integration/*.test.js test/edge/*.test.js",
|
|
"wiki:contract": "node ../generalFunctions/scripts/wikiGen.js contract ./src/commands/index.js --write ./wiki/Home.md",
|
|
"wiki:datamodel": "node ../generalFunctions/scripts/wikiGen.js datamodel ./src/specificClass.js --write ./wiki/Home.md",
|
|
"wiki:all": "npm run wiki:contract && npm run wiki:datamodel"
|
|
},
|
|
"keywords": [
|
|
"dashboard",
|
|
"grafana",
|
|
"node-red",
|
|
"EVOLV"
|
|
],
|
|
"author": "EVOLV",
|
|
"license": "SEE LICENSE",
|
|
"dependencies": {
|
|
"generalFunctions": "git+https://gitea.centraal.wbd-rd.nl/RnD/generalFunctions.git"
|
|
},
|
|
"node-red": {
|
|
"nodes": {
|
|
"dashboardapi": "dashboardAPI.js"
|
|
}
|
|
}
|
|
}
|