Часто действия нужно выполнять по расписанию. Для этого применяем условие по времени.
Для примера давайте сделаем ночной обогрев с 20:00 до 08:00. При этом оставим возможность включения/выключения обогрева не из сценариев.
Итак, нам нужно, чтобы:
1) в 20:00 обогреватель включался;
2) в 08:00 - выключался.
Информация из разделов "Условие по значению канала" и "Условие по состоянию канала" по "когда стало верно" и "пока верно" относится ко всем условиям, в том числе и к условиям по времени.
Зная эту информацию, мы понимаем, что необходимо будет создавать отдельные сценарии на включение и выключение обогрева.
Начнем с выключения.
Создаем новый сценарий.
Добавляем шаг "Условие" "По времени".
Выбираем время "08:00:00" и условие "= (Равно)".
В этом примере мы будем работать только со временем.
Сравнение происходит с текущим временем в устройстве.
Как работать с датой и днями недели рассмотрим в части 2.
Добавляем шаг "Действие": "Питание (Нагреватель1)" "Выкл".
Таким образом в тот момент, когда время станет 8:00 наш обогреватель выключится.
Отлично, но есть нюанс: что будет, если пропадет питание и появится после 8:00?
В этом случае устройство включится и получит время уже больше 8:00:00 и наше условие "= (Равно)" не выполнится.
Это исправить легко: меняем "= (Равно)" на ">= (Больше или равно)".
Осталось предусмотреть еще один момент: если питание появится после 20:00, то выключать обогрев не нужно, так как в это время нам нужно его уже включать.
Для этого добавляем еще одно условие по времени "пока верно" "< (меньше)" "время 20:00:00".
Делаем долгое нажатие на данном условии и перетягиваем место перед шагом выключения.
Теперь наш сценарий отработает в 8:00, а также с 8:00 до 20:00 если питание пропадет и вновь появится.
С выключением разобрались, теперь перейдем к включению.
Нам нужно, чтобы в 20:00 обогрев включился. При этом если пропало питание, то он также должен включиться при появлении питания до 08:00.
Создаем новый сценарий с такими шагами:
1) условие по времени "когда стало верно" ">= (Больше или равно)" "время 20:00:00";
2) действие: "Питание (Нагреватель 1)" "Вкл".
Остается вопрос: как быть если питание пропадет и появится после 00:00?
В этом случае наш сценарий не отработает, так как время будет меньше 20:00:00.
Это решается созданием еще одного сценария:
1) условие по времени "когда стало верно" ">= (Больше или равно)" "время 00:00:00"
2) условие по времени "пока верно" "< (Меньше)" "время 08:00:00" (после 08:00 нам включать не нужно)
3) действие: "Питание (Нагреватель 1)" "Вкл".
Вопрос для самых внимательных: зачем во втором сценарии условие "когда стало верно" "> (Больше)" "0:00:00"? Ведь время и так всегда больше 0:00.
Ответ прост: как Вы помните, мы хотели оставить возможность управлять обогревом вне сценариев. Если бы не было этого условия, то обогрев включался бы постоянно и не позволил нам его выключить с 0:00 до 8:00.
В итоге у нас получилось 3 сценария, которые учитывают возможное временное пропадание питания:
один на выключение после 8:00;
два на включение (22:00...0:00 и 0:00...8:00).