Compare commits

..

1 Commits

Author SHA1 Message Date
znetsixe
b373727338 wiki: rewrite Home.md per visual-first 14-section template
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 21:05:29 +02:00

View File

@@ -1,6 +1,6 @@
# rotatingMachine
> **Reflects code as of `afc304b` · regenerated `2026-05-11` via `npm run wiki:all`**
> **Reflects code as of `1a9f533` · regenerated `2026-05-11` via `npm run wiki:all`**
> If this banner is stale, the page may be out of date. Treat as informative, not authoritative.
## 1. What this node is
@@ -206,21 +206,28 @@ Composed in `io/output.js → buildOutput(this)`, then delta-compressed.
~~~json
{
"state": "warmingup",
"flow.predicted.downstream.default": 0.00345,
"flow.predicted.atequipment.default": 0.00345,
"power.predicted.atequipment.default": 1820,
"ctrl": 42.5,
"mode": "auto",
"runtime": 0.0014,
"flow.predicted.downstream.default": 12.4,
"flow.predicted.atequipment.default": 12.4,
"flow.predicted.max.dashboard-sim-upstream": 22.1,
"flow.predicted.min.dashboard-sim-upstream": 0,
"power.predicted.atequipment.default": 18.2,
"pressure.measured.upstream.dashboard-sim-upstream": 101325,
"pressure.measured.downstream.dashboard-sim-downstream": 145000,
"temperature.measured.atequipment.default": 15,
"atmPressure.measured.atequipment.default": 101325,
"predictionHealth": {
"quality": "warming",
"confidence": 0.35,
"pressureSource": "dashboard-sim",
"flags": ["pressure_init_warming"]
},
"cog": 0.62, "NCog": 0.71,
"absDistFromPeak": 0.04, "relDistFromPeak": 0.12
"temperature.measured.atequipment.dashboard-sim-upstream": 15,
"atmPressure.measured.atequipment.dashboard-sim-upstream": 101325,
"predictionQuality": "warming",
"predictionConfidence": 0.35,
"predictionPressureSource": "dashboard-sim",
"predictionFlags": ["pressure_init_warming"],
"pressureDriftLevel": 0,
"pressureDriftSource": null,
"pressureDriftFlags": ["nominal"],
"cog": 0.62, "NCog": 0.71, "NCogPercent": 62,
"effDistFromPeak": 0.04, "effRelDistFromPeak": 0.12,
"moveTimeleft": 0, "maintenanceTime": 0
}
~~~
@@ -231,24 +238,22 @@ Position labels are normalised to lowercase in MeasurementContainer keys (`atequ
```mermaid
flowchart TB
subgraph editor["Node-RED editor form"]
f1[Asset model dropdown]
f2[Mode current]
f3[Position vs parent]
f4[State times: starting, warmingup, ...]
f5[Movement mode + speed]
f6[Position min / max / initial]
f7[Allowed sources / actions per mode]
f8[Output unit (flow, pressure, power)]
f1[Asset — supplier / category / model / unit]
f2[Position vs parent]
f3[State times: startup / warmup / shutdown / cooldown]
f4[Movement mode + reaction speed]
f5[Process output format]
f6[Database output format]
f7[Logger — level / enabled]
end
subgraph cfg["Domain config slice"]
c1[asset.model]
c2[mode.current]
c3[functionality.positionVsParent]
c4[time.starting / warmingup / stopping / coolingdown]
c5[movement.mode / speed / maxSpeed / interval]
c6[position.min / max / initial]
c7[mode.allowedSources / allowedActions]
c8[general.unit / asset.unit]
c1[asset.model / asset.unit / asset.supplier / asset.category]
c2[functionality.positionVsParent]
c3[time.starting / warmingup / stopping / coolingdown]
c4[movement.mode / movement.speed]
c5[output.process]
c6[output.dbase]
c7[general.logging]
end
f1 --> c1
f2 --> c2
@@ -257,22 +262,21 @@ flowchart TB
f5 --> c5
f6 --> c6
f7 --> c7
f8 --> c8
```
| Form field | Config key | Default | Range | Where used |
|---|---|---|---|---|
| Asset model | `asset.model` | `Unknown` | string (must resolve in curve loader) | `_setupCurves` |
| Mode | `mode.current` | `auto` | enum (`auto`, `manual`) | `flowController.handle` source check |
| Position vs parent | `functionality.positionVsParent` | `atEquipment` | enum | child-register payload + event suffix |
| Asset flow unit | `asset.unit` | `m3/h` | unit string | unit policy `output.flow` |
| Position vs parent | `functionality.positionVsParent` | `atEquipment` | enum (`upstream`, `atEquipment`, `downstream`) | child-register payload + event suffix |
| State time — starting | `time.starting` | `10` (s) | ≥ 0 | FSM timing |
| State time — warmingup | `time.warmingup` | `5` (s) | ≥ 0 | FSM timing |
| State time — stopping | `time.stopping` | `5` (s) | ≥ 0 | FSM timing |
| State time — coolingdown | `time.coolingdown` | `10` (s) | ≥ 0 | FSM timing |
| Movement mode | `movement.mode` | `dynspeed` | enum (`staticspeed`, `dynspeed`) | position trajectory |
| Movement speed | `movement.speed` | `1` | ≤ `maxSpeed` | trajectory rate |
| Position min/max | `position.min` / `position.max` | `0` / `100` | numeric | setpoint clamp |
| Output unit (flow) | `general.unit` | `l/s` | unit string | unit policy `output.flow` |
| Movement mode | `movement.mode` | `staticspeed` | enum (`staticspeed`, `dynspeed`) | position trajectory |
| Reaction speed | `movement.speed` | `1` | ≤ `maxSpeed` | trajectory ramp rate (%/s) |
| Process output format | `output.process` | `process` | enum (`process`, `json`, `csv`) | Port 0 formatter |
| Database output format | `output.dbase` | `influxdb` | enum (`influxdb`, `json`, `csv`) | Port 1 formatter |
## 10. State chart