commit 1bc362641dd90644fdc3efd28b2f6f59a4718bf5 Author: vps1_gitea_admin Date: Wed Mar 4 20:16:41 2026 +0000 Add "Home" diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..7641262 --- /dev/null +++ b/Home.md @@ -0,0 +1,109 @@ +# rotatingMachine + +Custom Node-RED node for modeling and controlling individual rotating equipment: pumps, compressors, and blowers. + +## Overview + +| Property | Value | +|----------|-------| +| **Version** | 1.0.3 | +| **Category** | Process Control | +| **Inputs** | 1 | +| **Outputs** | 3 (process / dbase / parent) | +| **Part of** | [EVOLV](https://gitea.wbd-rd.nl/RnD/EVOLV) | + +## Purpose + +The `rotatingMachine` node represents a single piece of rotating equipment (pump, compressor, or blower). It models: + +- **Speed control** with static or dynamic setpoints +- **Startup/shutdown sequences** with warmup and cooldown phases +- **Pump curve interpolation** for flow, pressure, and power relationships +- **State management** (off, starting, running, stopping, cooldown) + +## Configuration + +### Control + +| Field | Description | Default | +|-------|-------------|---------| +| `speed` | Speed setpoint | - | +| Movement mode | `staticspeed` (fixed) or `dynspeed` (variable) | staticspeed | +| `startup` | Time to reach operating speed (s) | - | +| `warmup` | Warmup hold time after startup (s) | - | +| `shutdown` | Time to ramp down (s) | - | +| `cooldown` | Cooldown hold time after shutdown (s) | - | + +### Curve Units + +| Field | Description | Default | +|-------|-------------|---------| +| `curvePressureUnit` | Pressure unit for curves | mbar | +| `curveFlowUnit` | Flow unit for curves | - | +| `curvePowerUnit` | Power unit for curves | kW | +| `curveControlUnit` | Control signal unit | % | + +### Asset Identification + +| Field | Description | +|-------|-------------| +| `uuid` | Unique asset identifier | +| `supplier` | Equipment manufacturer | +| `category` | Equipment category | +| `assetType` | Asset type classification | +| `model` | Equipment model | + +### Logging + +| Field | Description | Default | +|-------|-------------|---------| +| `enableLog` | Enable node logging | false | +| `logLevel` | Log verbosity level | - | + +## Inputs and Outputs + +### Input (Port 0) + +Accepts `msg.payload` with control commands: +- Speed setpoints +- Start/stop commands +- Configuration updates + +### Output Port 0 - Process Data + +Current machine state including: +- Operating speed, flow, pressure, power +- Machine state (off/starting/running/stopping/cooldown) +- Calculated efficiency + +### Output Port 1 - InfluxDB Telemetry + +Time-series data formatted for InfluxDB ingestion. + +### Output Port 2 - Registration + +Parent-child communication messages for registration with `machineGroupControl` or `pumpingStation`. + +## Parent Nodes + +This node can be a child of: +- **[machineGroupControl](https://gitea.wbd-rd.nl/RnD/machineGroupControl)** - For coordinated group operation +- **[pumpingStation](https://gitea.wbd-rd.nl/RnD/pumpingStation)** - For hydraulic optimization context + +## Dependencies + +- [generalFunctions](https://gitea.wbd-rd.nl/RnD/generalFunctions) (MenuManager, configManager, asset utilities) + +## Technical Requirements + +- Node.js >= 18 +- Node-RED >= 3.x +- Parent EVOLV package installed + +## Testing + +```bash +node --test test/basic/*.test.js +node --test test/integration/*.test.js +node --test test/edge/*.test.js +```