on или off и используется как единый источник
расписания для интерфейса, сценариев автоматизации и узла schedule link в Node-RED.
Быстрый переход
Для чего нужен виджет
- Хранит интервалы по дням недели: понедельник, вторник и так далее.
- Поддерживает несколько интервалов в одном дне.
- Поддерживает сезонные правила по диапазону дат.
- Поддерживает исключенные даты, когда расписание временно не действует.
- Показывает
on, когда текущее время попадает в активный интервал, иoffво всех остальных случаях. - Используется как условие запуска сценариев и как источник состояния для узла
schedule linkв Node-RED.
Быстрый старт
- Добавьте на рабочее поле виджет Virtual Schedule.
- Откройте свойства виджета.
- Заполните Device SN и при необходимости задайте подписи для состояний
onиoff. - Сохраните виджет.
- Откройте сам виджет на рабочем поле и настройте интервалы, сезонные правила и исключенные даты.
| Параметр | Описание |
|---|---|
| Название | Имя расписания на рабочем поле. |
| Device SN | Уникальный идентификатор расписания. Он должен точно совпадать в сценариях и в узле schedule link. |
| Подпись активного интервала | Текст, который отображается, когда расписание активно. По умолчанию: День. |
| Подпись вне интервала | Текст, который отображается, когда расписание неактивно. По умолчанию: Ночь. |
| Недельные интервалы | Основное расписание по дням недели. |
| Сезонные правила | Дополнительные интервалы, которые действуют только внутри заданного диапазона дат. |
| Исключенные даты | Даты в формате YYYY-MM-DD, когда расписание принудительно считается неактивным. |
Как редактировать расписание
- Нажмите левой кнопкой мыши на виджет расписания на рабочем поле.
- Выберите день недели.
- Добавьте один или несколько интервалов.
- Укажите время начала и окончания в формате
HH:MM. - При необходимости скопируйте интервалы на будни или на все дни.
- Сохраните изменения.
Сезонные правила нужны, когда обычного недельного расписания недостаточно. Например, можно задать отдельные интервалы только на зимний период, на отпускной сезон или на праздничный диапазон дат.
Для каждого правила задаются дата начала, дата окончания, время from и to,
а при необходимости и ограничение по дням недели.
Исключенные даты временно отключают расписание на конкретный день. Это удобно для праздников, сервисных работ или разовых изменений графика.
09:00-12:00 активен с 09:00 до момента перед 12:00.
Время 24:00 можно использовать как окончание дня.
Использование в сценариях
В сценариях Virtual Schedule выбирается как отдельное условие Расписание.
- Откройте создание или редактирование сценария.
- В блоке условий выберите Расписание.
- Выберите нужный виджет Virtual Schedule из списка.
- Добавьте действие сценария.
- Сохраните сценарий.
Сценарий запускается один раз при входе в активный интервал расписания. Пока интервал остается активным,
повторного запуска по тому же расписанию не будет. После возврата в off сценарий сможет
снова сработать при следующем входе в активный интервал.
Пример
- Условие:
Расписание = Рабочий день. - Действие: включить освещение.
- Результат: свет включится в начале активного интервала.
Практический пример использования смотрите на странице Пример термостата кондиционера ZS06.
Node-RED: узел schedule link
Узел schedule link не хранит свое отдельное расписание. Он читает Virtual Schedule
из рабочего поля по Device SN и отправляет состояние в поток Node-RED.
| Параметр | Описание |
|---|---|
| Рабочее поле | Имя workspace, где находится виджет Virtual Schedule. |
| Device SN | Device SN виджета Virtual Schedule на рабочем поле. |
| Timezone | Часовой пояс для расчета времени, например Europe/Moscow. |
| Interval | Как часто узел проверяет состояние расписания, в секундах. |
Выходы узла
- Выход 0 периодически отправляет текущее состояние, если оно проходит фильтр узла.
- Выход 1 отправляет сообщение только при изменении состояния
onиoff.
Сообщение может содержать:
msg.payload = "on" или "off"
msg.topic = "<Device SN>"
msg.scheduleState = "on" или "off"
msg.next_event = "2026-05-11T10:00:00.000Z"
data, они также попадают в сообщение.
Типовой поток
[schedule link]
↓
[virtual switch]
↓
[device state / actuator / другая логика]
Редактируйте интервалы только в виджете Virtual Schedule на рабочем поле.
Узел schedule link только читает это расписание.
Частые вопросы
Почему в Node-RED больше нет выбора дней недели?
Потому что дни недели, интервалы, сезонные правила и исключенные даты теперь редактируются только в Virtual Schedule на рабочем поле.
Что делать, если schedule link показывает no virtualSchedule?
Проверьте, что на рабочем поле есть виджет Virtual Schedule и что его Device SN точно совпадает с Device SN в узле schedule link.
Почему сценарий не повторяется каждую минуту внутри активного интервала?
Это нормальное поведение. Сценарий запускается при входе в активный интервал. Повторный запуск будет после выхода в off и нового входа в on.
Можно ли использовать одно расписание в нескольких сценариях?
Да. Один Virtual Schedule может использоваться сразу в нескольких сценариях и одновременно быть источником состояния для Node-RED.