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 @@