• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Помогите создать сценарий

PeterPK

Active member
А вот если попробуем заставить устройство сравнивать температуру сразу с обоих датчиков с заданным Параметром_1 (5 град),
Посмотреть вложение 9968
то несмотря на то что на Датчике_1 (18,0 град.) на Датчике_2 (18,6 град.), то есть значительно больше чем 5 град., устройство упорно включает реле. :confused:
Вы когда вызываете функцию regulator, то при этом устанавливаете значение ее внутренней переменной "temperature".
temperature = Датчик_1 - переменная получает значение с датчика.

temperature = (Датчик_1 or Датчик_2) - переменная получает результат логического выражения. (X or Y) это логическое выражение, результатом которого может быть только true или false, или (что тоже самое) 1 или 0. И 1 и 0 меньше 5, вот реле всегда и срабатывает.

А что вы хотели, когда должно сработать реле при двух датчиках? Если хотя бы один ниже 5, или есть оба ниже 5?
 

glory24

Member
temperature = (Датчик_1 or Датчик_2) - переменная получает результат логического выражения. (X or Y) это логическое выражение, результатом которого может быть только true или false, или (что тоже самое) 1 или 0. И 1 и 0 меньше 5, вот реле всегда и срабатывает.
Ага... Понемногу начинаю всасывать... :)
 

glory24

Member
Сделал так. Может на слишком элегантно получилось, но как буд-то работает :giggle:
1602743721456.png
 
Сверху Снизу