Add "Home"

2026-03-04 20:16:44 +00:00
commit 2ef3ca8dee

109
Home.md Normal file

@@ -0,0 +1,109 @@
# measurement
Custom Node-RED node for sensor signal conditioning, scaling, smoothing, and data quality management.
## Overview
| Property | Value |
|----------|-------|
| **Version** | 1.0.0 |
| **Category** | Instrumentation |
| **Inputs** | 1 |
| **Outputs** | 3 (process / dbase / parent) |
| **Part of** | [EVOLV](https://gitea.wbd-rd.nl/RnD/EVOLV) |
## Purpose
The `measurement` node processes raw sensor signals into calibrated, smoothed measurement values. It provides:
- **Linear scaling** from raw input range to engineering units
- **Signal smoothing** with multiple methods (moving average, etc.)
- **Simulator mode** for testing without physical sensors
- **Asset registration** for automatic discovery by parent nodes
- **Data quality** indicators
## Configuration
### Scaling
| Field | Description |
|-------|-------------|
| `i_min` | Raw input minimum |
| `i_max` | Raw input maximum |
| `i_offset` | Input offset correction |
| `o_min` | Scaled output minimum |
| `o_max` | Scaled output maximum |
### Smoothing
| Field | Description |
|-------|-------------|
| `smooth_method` | Smoothing algorithm (dropdown) |
| `count` | Window size for smoothing |
### Asset Identification
| Field | Description |
|-------|-------------|
| `uuid` | Unique sensor identifier |
| `supplier` | Sensor manufacturer |
| `category` | Sensor category |
| `assetType` | **Critical** - must match parent node query exactly |
| `model` | Sensor model |
| `unit` | Engineering unit |
### Other
| Field | Description |
|-------|-------------|
| Simulator toggle | Enable/disable simulator mode |
| `positionVsParent` | Position relative to parent |
| `positionIcon` | Editor icon |
| `distance` | Distance from parent |
## Critical Integration Notes
**assetType matching:** The `assetType` field must exactly match what the parent node queries for. For example:
- `pumpingStation` and `monster` query for `assetType: "flow"`
- Using `"flow-electromagnetic"` will NOT match and the measurement will not register
**Async registration:** The node exposes an HTTP endpoint at `/measurement/asset-reg` for asset registration.
## Inputs and Outputs
### Input (Port 0)
Raw sensor values (analog/digital signals).
### Output Port 0 - Process Data
Scaled and smoothed measurement value with quality indicators.
### Output Port 1 - InfluxDB Telemetry
Measurement time-series data.
### Output Port 2 - Registration
Asset registration messages to parent nodes (pumpingStation, monster, MGC, etc.).
## Parent Nodes
Can register with any parent node that accepts measurements:
- [pumpingStation](https://gitea.wbd-rd.nl/RnD/pumpingStation)
- [monster](https://gitea.wbd-rd.nl/RnD/monster)
- [machineGroupControl](https://gitea.wbd-rd.nl/RnD/machineGroupControl)
- And others
## Dependencies
- [generalFunctions](https://gitea.wbd-rd.nl/RnD/generalFunctions) (MenuManager, configManager, assetApiConfig, assetUtils)
## Technical Requirements
- Node.js >= 18
- Node-RED >= 3.x
## Testing
```bash
node --test test/basic/*.test.js
node --test test/integration/*.test.js
node --test test/edge/*.test.js
```