Compare commits
1 Commits
94b661658c
...
98052a16e7
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
98052a16e7 |
31
wiki/Home.md
31
wiki/Home.md
@@ -1,6 +1,6 @@
|
||||
# settler
|
||||
|
||||
> **Reflects code as of `7bf464b` · regenerated `2026-05-11` via `npm run wiki:all`**
|
||||
> **Reflects code as of `94b6616` · 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
|
||||
@@ -179,32 +179,40 @@ Port 0 carries the 3-envelope Fluent stream directly; Port 1 (this snapshot) is
|
||||
flowchart TB
|
||||
subgraph editor["Node-RED editor form"]
|
||||
f1[Name]
|
||||
f2[Position vs parent]
|
||||
f3[Logging level]
|
||||
f2[Process Output Format]
|
||||
f3[Database Output Format]
|
||||
f4[Logging level]
|
||||
f5[Position vs parent]
|
||||
end
|
||||
subgraph config["Domain config slice"]
|
||||
subgraph config["Domain config / nodeClass"]
|
||||
c1[general.name]
|
||||
c2[functionality.positionVsParent]
|
||||
c3[general.logging.logLevel]
|
||||
c2[processOutputFormat → nodeClass]
|
||||
c3[dbaseOutputFormat → nodeClass]
|
||||
c4[general.logging.logLevel]
|
||||
c5[functionality.positionVsParent]
|
||||
end
|
||||
f1 --> c1
|
||||
f2 --> c2
|
||||
f3 --> c3
|
||||
f4 --> c4
|
||||
f5 --> c5
|
||||
```
|
||||
|
||||
| Form field | Config key | Default | Range | Where used |
|
||||
|---|---|---|---|---|
|
||||
| Name | `general.name` | `Settler` | string | display + Port-1 topic |
|
||||
| ID | `general.id` | `null` | nullable string | child registration key |
|
||||
| Process Output Format | `processOutputFormat` (nodeClass) | `process` | `process` / `json` / `csv` | Port-0 serialisation |
|
||||
| Database Output Format | `dbaseOutputFormat` (nodeClass) | `influxdb` | `influxdb` / `json` / `csv` | Port-1 serialisation |
|
||||
| Logging level | `general.logging.logLevel` | `info` | `debug` / `info` / `warn` / `error` | logger threshold |
|
||||
| Position vs parent | `functionality.positionVsParent` | `downstream` | `upstream` / `atEquipment` / `downstream` | parent-side routing |
|
||||
| Software type | `functionality.softwareType` | `settler` | string | parent-side router filter |
|
||||
| Position vs parent | `functionality.positionVsParent` | `downstream` | enum: `upstream` / `atEquipment` / `downstream` | parent-side routing |
|
||||
| Logging level | `general.logging.logLevel` | `info` | enum | logger threshold |
|
||||
| ID | `general.id` | `null` | nullable string | child registration key |
|
||||
|
||||
Settler has no operational config of its own — all behaviour is driven by the runtime state (`F_in`, `Cs_in`, `C_TS`). Tune behaviour by feeding it different reactor effluents or `C_TS` measurements.
|
||||
Settler has no operational process config of its own — all behaviour is driven by runtime state (`F_in`, `Cs_in`, `C_TS`). Tune behaviour by feeding it different reactor effluents or `C_TS` measurements.
|
||||
|
||||
## 10. State chart
|
||||
|
||||
Skipped — settler is stateless. Each `stateChange` (or `data.influent`, or `quantity (tss)` update) recomputes the 3 Fluent streams from scratch.
|
||||
Not applicable — settler is stateless. There is no FSM. Every trigger (`stateChange` from the reactor, `data.influent`, or a `quantity (tss)` update) causes a fresh recompute of the 3 Fluent streams from the current runtime state and the split immediately re-emits.
|
||||
|
||||
## 11. Examples
|
||||
|
||||
@@ -240,3 +248,4 @@ One screenshot per tier where helpful. PNG ≤ 200 KB under `wiki/_partial-scree
|
||||
| 2 | TSS mass balance uses index 12 (`X_TS`) hard-coded — coupled tightly to ASM3 species ordering. | `getEffluent`, `_updateMeasurement` |
|
||||
| 3 | Settler depends on `mathjs` (~14 MB install) but only uses it transitively via reactor; no direct mathjs call in settler code. | `package.json` |
|
||||
| 4 | No flow-balance check at runtime — if particulate concentration drives F_s above F_in, the clamp masks an upstream bug rather than warning. | `getEffluent` |
|
||||
| 5 | Editor colour is `#e4a363` (orange) in `settler.html` but S88 Unit level requires `#50a8d9` (blue). Diagrams in this wiki use the correct `#50a8d9`. Colour cleanup tracked in `.claude/rules/node-red-flow-layout.md` §16. | `settler.html` |
|
||||
|
||||
Reference in New Issue
Block a user