У вас все время, gg gg gg )))) все время обращение к бд
Создайте переменные ))) типа того
Код: Выделить всё
$temperatura = gg("Sensor_temp03.value");
$tempmin = 10;
$tempmax = 75;
if ($temperatura < $tempmin)
callMethod("Relay01.turnOn");
if ($temperatura > $tempmax)
callMethod("Relay01.turnOff");
18 обращений )))
В скрипт же можно крутить в кроне, раз в 1 сек, 10 сек и тд
Два температурных два запроса, за цикл...
И значение лучше все таки в .value, статус .status должен иметь либо 1 - жив, либо 0 - не жив )) не жив а вкл или выкл ))
И в первой части кода абракадабра )))
П.с. и зачем по двум датчикам условия для одних и тех же значений? Коллизия будет:
Пример:
Т1 - температура датчика 1
Т2 - температура датчика 2
Т1 = 74
Т2 = 76
Первое условие по вашему коду не чего не сделает так как температура Т1 не дошла до 75, а условие Т2 выключит его. Цикл новый включит, выключит и т.д. вкл выкл вкл выкл....
Привяжите к одному, второй бесполезен датчик, скорее все у вас ds18b20 надёжная вполне вещь, одного достаточно.
Пишу с телефона маленько не удобно, могут быть ошибки
Про код
Код: Выделить всё
if (getGlobal('Wodonagr1'.'.'.'alive') == '1') если жив
{
if (getGlobal('Wodonagr1'.'.'.'status') > '10' && если температура больше getGlobal('Wodonagr1'.'.'.'status') < '100') { и меньше
if (getGlobal("Wodonagr1.status") < '65') { условие в условие
callMethod("boil1.turnOn");
}
Замудренно )))
И в промежуточных значениях используйте =< больше или равно, меньше или равно, иначе при значение к примеру 65 будет затуп ))
Про крон, сделайте сценарий, а в кроне запускайте сценарий )))