• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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
 
Сверху Снизу