Контроль температуры в теплице

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
Tem
Сообщения: 36
Зарегистрирован: Ср фев 01, 2017 9:03 am
Благодарил (а): 6 раз
Поблагодарили: 3 раза

Контроль температуры в теплице

Сообщение Tem » Сб мар 25, 2017 7:32 pm

Подскажите, как правильнее будет следить за температурой в теплице ?
Самое управление вентиляцией, открытием форточек или подогревом будет осуществляться напрямую с ESP8266 ( функция логика или термостат), но хотелось бы контролировать это, вдруг привод накрылся или с вентилятором проблема.
Как я понял есть два варианта:
1. Шаблон поведения на основе значений свойств (температура с термодатчика, влажность почвы)
2. С помощью методов
Достаточно обычного алерта в Телегу или чат, с сообщением вида "Температура в теплице превышена" или "Температура ниже заданной"
Какой метод из двух более правильный ?
DimSun75
Сообщения: 318
Зарегистрирован: Вс янв 01, 2017 8:32 pm
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 44 раза

Re: Контроль температуры в теплице

Сообщение DimSun75 » Сб мар 25, 2017 7:38 pm

А простые устройства не подходят? Там для температуры есть пределы с алертом

Отправлено с моего SM-A520F через Tapatalk
Tem
Сообщения: 36
Зарегистрирован: Ср фев 01, 2017 9:03 am
Благодарил (а): 6 раз
Поблагодарили: 3 раза

Re: Контроль температуры в теплице

Сообщение Tem » Чт мар 30, 2017 4:52 pm

Решил таки через метод запускаемый при изменение температуры. Не знаю насколько это верно, но работает, вроде, нормально )

Код: Выделить всё

$t1 =  0;
$t2 =  -5;
$t3 =  25;
$t4 =  35;

if ((gg('Temper.in')) > $t2 &&  (gg('Temper.in')) < $t1 && (gg('Status.in') != 0))  
{
   say ("Холодно");
   sg('Status.in',0);  
} 

if ((gg('Temper.in')) <= $t2 && (gg('Status.in') != 1)) 
{
   say ("Дубарь");
   sg('Status.in',1);
} 

if ((gg('Temper.in')) > $t3 &&  (gg('Temper.in')) < $t4 && (gg('Status.in') != 2))
{
   say ("Припекает");
   sg('Status.in',2);
} 

if ((gg('Temper.in')) >= $t4 && (gg('Status.in') != 3)) 
{ 
   say ("Очень жарко");
   sg('Status.in',3);
}

if ((gg('Temper.in')) >= $t1 &&  (gg('Temper.in')) <= $t3 && (gg('Status.in') != 4))
{
   say ("Температура нормализовалась");
   sg('Status.in',4);
} 
 
Ответить