Пример сценария

Условие по времени

Часто действия нужно выполнять по расписанию. Для этого применяем условие по времени.

Для примера давайте сделаем ночной обогрев с 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).