Files
reactor/additional_nodes/recirculation-pump.js

39 lines
1.1 KiB
JavaScript

module.exports = function(RED) {
function recirculation(config) {
RED.nodes.createNode(this, config);
var node = this;
let name = config.name;
let F2 = parseFloat(config.F2);
const inlet_F2 = 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 = {...msg};
msg_F1.payload.F = F_diff;
let msg_F2 = structuredClone(msg);
msg_F2.payload.F = F2_corr;
msg_F2.payload.inlet = inlet_F2;
send([msg_F1, msg_F2]);
break;
default:
console.log("Unknown topic: " + msg.topic);
}
if (done) {
done();
}
});
}
RED.nodes.registerType("recirculation-pump", recirculation);
};