Node-RED:Библиотеки/node-red/Trigger

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Нода «Trigger»

Будучи активированной, эта нода может отправить сообщение, а затем опционально еще одно сообщение, разве что пользователь не поставит галочку рядом с «extend delay if new message arrives» или в ноду «Trigger» не придет сообщение со свойством «reset».

Свойства присылаемого сообщения

  • Свойство «reset» – если у присланного сообщения будет это свойство, любые активированные повтор или таймаут будут сброшены, а сама нода не активируется и ничего не отправит

Подробное описание

Эту ноду можно использовать, чтобы создать в потоке таймаут. По умолчанию, получая какое-либо сообщение, нода «Trigger» отправляет сообщение, у которого в «payload» хранится «1». Затем она ждет еще 250 мс и отправляет второе сообщение, у которого в «payload» хранится «0». Это можно использовать, например, для мигания светодиодом, подключенным к GPIO-контакту Raspberry Pi.

В этих «payload» можно задать и другие значения, а также задать, чтобы нода «Trigger» не отправляла вообще ничего. К примеру, если задать в «payload» (поле «Send») первого сообщения значение «nothing» и поставить галочку рядом с «extend delay if new message arrives», нода «Trigger» начнет вести себя как сторожевой (watchdog) таймер. То есть она будет отправлять сообщения, только если ничего не получит в течение заданного периода.

Кроме того, нода «Trigger» поддерживает синтаксис mustache-шаблонов, но для этого нужно будет выбрать тип данных «string».

Если нода «Trigger» получит сообщение со свойством «reset» или если в свойстве «payload» входящего сообщения будет задано то же, что и в ноде, любые активированные в данный момент таймаут и повтор будут сброшены, а сама нода не активируется и ничего не отправит.

Ноду «Trigger» можно настроить на повторную отправку сообщения через равные промежутки времени, пока в нее не придет сообщение со свойством «reset».

Опционально ноду «Trigger» можно настроить на то, чтобы сообщения с разными «msg.topic» воспринимались ею как отдельные потоки.

См.также

Внешние ссылки