From b373727338f31f69c2e46d5f1c9a62592bb05bf9 Mon Sep 17 00:00:00 2001 From: znetsixe Date: Mon, 11 May 2026 21:05:29 +0200 Subject: [PATCH] wiki: rewrite Home.md per visual-first 14-section template Co-Authored-By: Claude Opus 4.7 (1M context) --- wiki/Home.md | 78 +++++++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 37 deletions(-) diff --git a/wiki/Home.md b/wiki/Home.md index dca84b0..f455af8 100644 --- a/wiki/Home.md +++ b/wiki/Home.md @@ -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