Да, поле с уставкой.
Вот пример термостата на штатном js:
https://wirenboard.com/wiki/Rule_Examples#Термостат
Ну и, собственно, “отправлять” переменную никуда в общем случае не надо:
создал топик
defineVirtualDevice("test_14411", {
title: "03_07_test_14411.js",
cells: {
SetTemp: {
type: "range",
max: 30,
value: 22
},
}
});
Ну и набрасываю что-то такое
где в функции пишу
var setPoint = context.get('setPoint')||0;
var realTemp = 0;
if (msg.topic === "/devices/test_14411/controls/SetTemp") {
context.set('setPoint', msg.payload)
}
if (msg.topic === "/devices/hwmon/controls/CPU Temperature") {
//node.warn("topick realTemp" + msg.payload);
realTemp = msg.payload;
}
node.warn("realTemp " + realTemp);
node.warn("setPoint " + setPoint);
if (realTemp> setPoint){
msg.payload = 0;
}
else{
msg.payload = 1;
}
return ("doIt", msg);
и выглядит оно так:
Тут я просто сложил значение (редко) измеяющейся переменной в контекст ноды.
Прошу прощения за код, я плохо знаю особенности NR.