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

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

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.


Нода «RBE»

Пропускает или не пропускает сообщение дальше по потоку в зависимости от того, соответствует ли его значение в «msg.payload» заданному правилу.

Нода «RBE» поддерживает три типа правил:

  • RBE-режимы. Сообщение будет заблокировано, если новое значение будет аналогично предыдущему значению в новом сообщении
  • Deadband-режимы. Сообщение будет заблокировано, если новое значение попадает в пределы диапазона, рассчитываемого относительно предыдущего значения
  • Narrowband-режимы. Сообщение будет заблокировано, если новое значение выходит за пределы диапазона, рассчитываемого относительно предыдущего значения

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

  • Свойство «payload» (число/строка/объект) – в RBE-режимах нода «RBE» принимает числа, строки и простые объекты. При использовании других режимов в свойстве «payload» должно быть число, которое нода «RBE» будет парсить и проверять на предмет соответствия заданному правилу
  • Свойство «topic» (строка) – если это свойство будет задано, нода «RBE» будет проверять сообщения «потопиково» (т.е. сообщения с разным «topic» будут проверяться отдельно)
  • Свойство «reset» (любое значение) – если это свойство будет задано, нода «RBE» сотрет сохраненное значение для заданного «msg.topic», но если «msg.topic» задано не будет, нода «RBE» сотрет сохраненные значения для всех свойств «msg.topic»

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

  • Свойство «payload» (тип данных такой же, как и на входе) – если проверка будет пройдена, а сообщение – пропущено, выходные данные будут такими же, как и входные

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

В RBE-режимах нода «RBE» заблокирует проход сообщения, если его значение в «msg.payload» будет отличаться от предыдущего.

В deadband-режимах сообщение будет пропущено, если его значение в «payload» будет находиться за пределами диапазона, рассчитываемого относительно предыдущего значения. В этих режимах также поддерживается использование процентов, т.е. сообщение будет пропущено, если его значение в «payload» на n% превышает предыдущее значение.

В narrowband-режимах сообщение будет пропущено, если его значение в «payload» будет находиться в пределах диапазона, рассчитываемого относительно предыдущего значения. Это может пригодиться, например, чтобы игнорировать сообщения от неисправного датчика, генерирующего значения, которые резко отклоняются от нормы.

Оба этих типа режимов – deadband и narrowband – позволяют делать проверку:

  1. Относительно выходных значений, что позволяет примерно придерживаться заданного диапазона (поскольку все значения вне этого диапазона будут игнорироваться)
  2. Относительно входных значений, что позволяет сбросить контрольную точку и постепенно смещаться за пределы (deadband) или внутрь (narrowband) заданного диапазона
Pixel Art Mini Meow Animated.gif Примечание: Нода «RBE» умеет одновременно обрабатывать сообщения с разными значениями в свойстве «msg.topic», что позволяет ей работать «потопиково». Это значит, что она может, например, отдельно проверять изменение/отклонение значений для сообщений с топиком «temperature» и для сообщений с топиком «humidity».


См.также

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