From 5281696a21da0ec279d25746dc8e7290b0ab3aaa Mon Sep 17 00:00:00 2001 From: "p.vanderwilt" Date: Mon, 16 Jun 2025 16:53:07 +0200 Subject: [PATCH] Add recirculation pump node with input handling and flow management --- additional_nodes/recirculation-pump.html | 57 ++++++++++++++++++++++++ additional_nodes/recirculation-pump.js | 38 ++++++++++++++++ advanced-reactor.html | 4 +- advanced-reactor.js | 4 +- dependencies/reactor_class.js | 6 +-- package.json | 3 +- 6 files changed, 105 insertions(+), 7 deletions(-) create mode 100644 additional_nodes/recirculation-pump.html create mode 100644 additional_nodes/recirculation-pump.js diff --git a/additional_nodes/recirculation-pump.html b/additional_nodes/recirculation-pump.html new file mode 100644 index 0000000..2027a17 --- /dev/null +++ b/additional_nodes/recirculation-pump.html @@ -0,0 +1,57 @@ + + + + + diff --git a/additional_nodes/recirculation-pump.js b/additional_nodes/recirculation-pump.js new file mode 100644 index 0000000..ddf0602 --- /dev/null +++ b/additional_nodes/recirculation-pump.js @@ -0,0 +1,38 @@ +module.exports = function(RED) { + function recirculation(config) { + RED.nodes.createNode(this, config); + var node = this; + + let name = config.name; + let F2 = parseFloat(config.F2); + let inlet = parseInt(config.inlet); + + node.on('input', function(msg, send, done) { + switch (msg.topic) { + case "Fluent": + // conserve volume flow debit + let F1 = msg.payload.F; + let F_diff = Math.max(F1 - F2, 0); + let F2_corr = F1 < F2 ? F1 : F2; + + let msg_F1 = structuredClone(msg); + msg_F1.payload.F = F_diff; + + let msg_F2 = structuredClone(msg); + msg_F2.payload.F = F2_corr; + msg_F2.payload.inlet = inlet; + + send([msg_F1, msg_F2]); + break; + default: + console.log("Unknown topic: " + msg.topic); + } + + if (done) { + done(); + } + }); + + } + RED.nodes.registerType("recirculation-pump", recirculation); +}; diff --git a/advanced-reactor.html b/advanced-reactor.html index a1a7ea7..6db1abe 100644 --- a/advanced-reactor.html +++ b/advanced-reactor.html @@ -1,7 +1,7 @@