Compare commits
3 Commits
144460e6ba
...
developmen
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
74951e7a23 | ||
|
|
167b1026f1 | ||
|
|
7acd6c2ce0 |
12
CONTRACT.md
12
CONTRACT.md
@@ -68,6 +68,18 @@ from the measurement container (e.g. `delta_predicted_pressure`,
|
||||
(`idle → starting → warmingup → operational → accelerating →
|
||||
decelerating → stopping → coolingdown → idle`, plus `off`).
|
||||
|
||||
## Limitations vs `rotatingMachine`
|
||||
|
||||
- **No `maintenance` state machine.** The schema's `mode.current` enum
|
||||
accepts `maintenance` (gates sources via `isValidSourceForMode`), but
|
||||
the FSM has no `entermaintenance` / `exitmaintenance` states and the
|
||||
`sequences` schema declares only `startup`, `shutdown`, `emergencystop`,
|
||||
and `boot`. Configuring `maintenance` mode therefore disables external
|
||||
command sources but does not put the valve through a maintenance
|
||||
sequence. Aligns with valve's role as a passive flow-controlled
|
||||
actuator; lift to RM-style FSM if/when site maintenance procedures
|
||||
require explicit state transitions.
|
||||
|
||||
## Events emitted by `source.measurements.emitter`
|
||||
|
||||
The `MeasurementContainer` fires `<type>.<variant>.<position>` whenever
|
||||
|
||||
@@ -11,7 +11,7 @@ module.exports = [
|
||||
topic: 'set.mode',
|
||||
aliases: ['setMode'],
|
||||
payloadSchema: { type: 'string' },
|
||||
description: 'Switch the valve between auto / manual control modes.',
|
||||
description: 'Switch the operating mode. Allowed: `auto`, `virtualControl`, `fysicalControl`, `maintenance` (schema-validated in `valve.json` → `mode.current`).',
|
||||
handler: handlers.setMode,
|
||||
},
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<script>
|
||||
RED.nodes.registerType("valve", {
|
||||
category: "EVOLV",
|
||||
color: "#86bbdd", // color for the node based on the S88 schema
|
||||
color: "#3CAEA3",
|
||||
defaults: {
|
||||
|
||||
// Define default properties
|
||||
@@ -131,6 +131,7 @@
|
||||
<label for="node-input-dbaseOutputFormat"><i class="fa fa-database"></i> Database Output</label>
|
||||
<select id="node-input-dbaseOutputFormat" style="width:60%;">
|
||||
<option value="influxdb">influxdb</option>
|
||||
<option value="frost">frost</option>
|
||||
<option value="json">json</option>
|
||||
<option value="csv">csv</option>
|
||||
</select>
|
||||
|
||||
@@ -17,7 +17,7 @@ The registry lives in `src/commands/index.js`. Each descriptor maps a canonical
|
||||
|
||||
| Canonical topic | Aliases | Payload | Unit | Effect |
|
||||
|---|---|---|---|---|
|
||||
| `set.mode` | `setMode` | `string` | — | Switch the valve between auto / manual control modes. |
|
||||
| `set.mode` | `setMode` | `string` | — | Switch the operating mode. Allowed: `auto`, `virtualControl`, `fysicalControl`, `maintenance` (schema-validated in `valve.json` → `mode.current`). |
|
||||
| `cmd.startup` | — | any | — | Initiate the valve startup sequence. |
|
||||
| `cmd.shutdown` | — | any | — | Initiate the valve shutdown sequence. |
|
||||
| `cmd.estop` | `emergencystop`, `emergencyStop` | any | — | Trigger an emergency stop on the valve. |
|
||||
|
||||
Reference in New Issue
Block a user