Compare commits

..

3 Commits

Author SHA1 Message Date
Woutverheijen
e6158a3950 remove tests 2025-10-16 11:51:29 +02:00
Woutverheijen
66593fb76c test2 2025-10-16 11:44:44 +02:00
Woutverheijen
1fc99ad8e6 test 2025-10-16 11:44:00 +02:00
3 changed files with 44 additions and 12 deletions

View File

@@ -1,24 +1,15 @@
<!--
| S88-niveau | Primair (blokkleur) | Tekstkleur |
| ---------------------- | ------------------- | ---------- |
| **Area** | `#0f52a5` | wit |
| **Process Cell** | `#0c99d9` | wit |
| **Unit** | `#50a8d9` | zwart |
| **Equipment (Module)** | `#86bbdd` | zwart |
| **Control Module** | `#a9daee` | zwart |
-->
<script src="/measurement/menu.js"></script> <!-- Load the menu script for dynamic dropdowns --> <script src="/measurement/menu.js"></script> <!-- Load the menu script for dynamic dropdowns -->
<script src="/measurement/configData.js"></script> <!-- Load the config script for node information --> <script src="/measurement/configData.js"></script> <!-- Load the config script for node information -->
<script> <script>
RED.nodes.registerType("measurement", { RED.nodes.registerType("measurement", {
category: "EVOLV", category: "EVOLV",
color: "#a9daee", // color for the node based on the S88 schema color: "#e4a363", // color for the node based on the S88 schema
defaults: { defaults: {
// Define default properties // Define default properties
name: { value: "" }, // use asset category as name name: { value: "sensor" }, // use asset category as name
// Define specific properties // Define specific properties
scaling: { value: false }, scaling: { value: false },
@@ -57,7 +48,7 @@
outputs: 3, outputs: 3,
inputLabels: ["Input"], inputLabels: ["Input"],
outputLabels: ["process", "dbase", "parent"], outputLabels: ["process", "dbase", "parent"],
icon: "font-awesome/fa-sliders", icon: "font-awesome/fa-tachometer",
label: function () { label: function () {
return this.positionIcon + " " + this.assetType || "Measurement"; return this.positionIcon + " " + this.assetType || "Measurement";

View File

@@ -18,6 +18,7 @@ class nodeClass {
*/ */
constructor(uiConfig, RED, nodeInstance, nameOfNode) { constructor(uiConfig, RED, nodeInstance, nameOfNode) {
// Preserve RED reference for HTTP endpoints if needed // Preserve RED reference for HTTP endpoints if needed
this.node = nodeInstance; this.node = nodeInstance;
this.RED = RED; this.RED = RED;

View File

@@ -1,3 +1,43 @@
/**
* @file Measurement.js
*
* Permission is hereby granted to any person obtaining a copy of this software
* and associated documentation files (the "Software"), to use it for personal
* or non-commercial purposes, with the following restrictions:
*
* 1. **No Copying or Redistribution**: The Software or any of its parts may not
* be copied, merged, distributed, sublicensed, or sold without explicit
* prior written permission from the author.
*
* 2. **Commercial Use**: Any use of the Software for commercial purposes requires
* a valid license, obtainable only with the explicit consent of the author.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM,
* OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Ownership of this code remains solely with the original author. Unauthorized
* use of this Software is strictly prohibited.
*
* Author:
* - Rene De Ren
* Email:
* - r.de.ren@brabantsedelta.nl
*
* Future Improvements:
* - Time-based stability checks
* - Warmup handling
* - Dynamic outlier detection thresholds
* - Dynamic smoothing window and methods
* - Alarm and threshold handling
* - Maintenance mode
* - Historical data and trend analysis
*/
const EventEmitter = require('events'); const EventEmitter = require('events');
const {logger,configUtils,configManager,MeasurementContainer} = require('generalFunctions'); const {logger,configUtils,configManager,MeasurementContainer} = require('generalFunctions');