Управление обогревателем


#1

С удивлением не нашел на форуме способа настроить включение-отключение электро конвектора по датчику тепературы. Подключил обогреватель через модуль WB-MR3, датчик температуры 1-Wire. Как настроить включение по температуре, вроде простейшая задача, несоображу? Настройка через внешние системы пока невозможна, ждем Spruta…


#2

Примерно вот так: https://wirenboard.com/wiki/index.php/Движок_правил_wb-rules#.D0.9F.D0.B5.D1.80.D0.B2.D0.BE.D0.B5_.D0.BF.D1.80.D0.B0.D0.B2.D0.B8.D0.BB.D0.BE


#3

спасибо, про wiki и не подумал.
в примере получается, как только значение датчика отклонится на 1 сотую, реле заново включится? сколько же это “дерганий” в минуту-час…


#4

Это пример первого правила, от него не стоит многого ждать)
Правильно, конечно, добавить гистерезис: например, выключать при превышении 25, а включать при понижении ниже 24.


#5

примерно так : ?
defineRule(“heater_control-on”, { //название правила - “контроль обогревателя”, может быть произвольным
whenChanged: “wb-w1/28-00000b5c97dd”, //при изменении состояния датчика 1-Wire с идентификатором 28-00000b5c97dd
then: function (newValue, devName, cellName) { //выполняй следующие действия
if ( newValue < 10) { //если температура датчика меньше 10 градусов
dev[“wb-mr3_15”][“Relay 1”] = 1; //установи Реле 1 модуля wb-mr3 с адресом 15 в состояние “выключено”
}
}
});

defineRule(“heater_control-off”, { //название правила - “контроль обогревателя”, может быть произвольным
whenChanged: “wb-w1/28-00000b5c97dd”, //при изменении состояния датчика 1-Wire с идентификатором 28-00000b5c97dd
then: function (newValue, devName, cellName) { //выполняй следующие действия
if ( newValue > 15) { //если температура датчика больше 15 градусов
dev[“wb-mr3_15”][“Relay 1”] = 0; //установи Реле 1 модуля wb-mr3 с адресом 15 в состояние “выключено”
}
}
});


#6

Да. Но можно условия прямо внутри одного правила подряд написать вот эти:


#7

defineRule(“heater_control-on”, { //название правила - “контроль обогревателя”, может быть произвольным
whenChanged: “wb-w1/28-00000b5c97dd”, //при изменении состояния датчика 1-Wire с идентификатором 28-00000b5c97dd
then: function (newValue, devName, cellName) { //выполняй следующие действия
if ( newValue < 10) { //если температура датчика меньше 10 градусов
dev[“wb-mr3_15”][“K1”] = 1; //установи Реле 1 модуля wb-mr3 с адресом 15 в состояние “выключено”
}
if ( newValue > 15) { //если температура датчика больше 15 градусов
dev[“wb-mr3_15”][“K1”] = 0; //установи Реле 1 модуля wb-mr3 с адресом 15 в состояние “выключено”
}
}
});

так ?


#8

Да.