nodered_cfg/lib/functions/Heatfunction.js

44 regels
1.2 KiB
JavaScript

// name: Heatfunction
// outputs: 3
// initialize: DEBUG = false;\n\nkey_user_setpoint = "user_setpoint_sleep_madi"
// finalize: // Der Code hier wird ausgeführt,\n// wenn der Node gestoppt wird\n
// info:
if (DEBUG)
{
node.warn(msg)
}
out_1 = null;
out_2 = null;
out_3 = null;
user_setpoint = flow.get(key_user_setpoint)
if (msg.topic == "valve_setpoint")
{
if (user_setpoint == undefined)
{
flow.set(key_user_setpoint, msg.payload)
}
}
else if (msg.topic == "user_setpoint")
{
flow.set(key_user_setpoint, msg.payload)
out_1 = {topic: "new_setpoint", payload: {"current_heating_setpoint": msg.payload}};
out_2 = {topic: "trigger", reset: true};
}
else if (msg.topic == "boost")
{
if (user_setpoint != undefined)
{
out_1 = {topic: "boost_setpoint", payload: {"current_heating_setpoint": user_setpoint + 5}};
out_2 = {topic: "trigger", payload: null};
out_3 = {topic: "boost_state", payload: true};
}
}
else if (msg.topic == "trigger")
{
out_1 = {topic: "user_setpoint", payload: {"current_heating_setpoint": user_setpoint}};
out_3 = {topic: "boost_state", payload: false};
}
return [out_1, out_2, out_3];