🔢

Virtual Formula — виртуальная формула

Вычисляемый параметр на рабочем поле из значений других устройств
Virtual Formula (virtualFormula) — виртуальное устройство RealIoT, которое берёт числовые параметры с других устройств рабочего поля, подставляет их в формулу и показывает результат на плитке. Результат сохраняется в параметр value: по нему можно строить график, использовать формулу в сценариях и в Node-RED как обычный числовой источник.

Для чего нужен виджет

  • Считает среднее, сумму, разность и другие выражения по нескольким датчикам.
  • Показывает результат сразу на рабочем поле, без Node-RED.
  • Сохраняет результат в параметр value и пишет историю при изменении значения.
  • Позволяет использовать результат как источник для VirtualGraph, графика энергии и сценариев If-Else.
  • Поддерживает префикс и суффикс для подписей единиц измерения, например °C или кВт.
Не путайте Virtual Formula с разделом справки «Формулы отображения». Формулы отображения меняют только вид значения на иконке датчика. Virtual Formula создаёт отдельное виртуальное устройство с собственным Device SN и параметром value.
📷 Место для снимка виджета Virtual Formula на рабочем поле
Виджет Virtual Formula с рассчитанным значением

Как добавить

1 Добавьте виджет на рабочее поле
  1. Откройте нужное рабочее поле.
  2. Перейдите в режим редактирования (кнопка ☰ слева вверху, затем «Редактировать»).
  3. Нажмите «Добавить иконку».
  4. На панели выбора найдите карточку «Формула».
  5. Виджет появится на текущей вкладке. Переместите его в нужное место.
📷 Место для снимка карточки «Формула» в списке виджетов
Карточка «Формула» в списке виртуальных устройств
2 Откройте свойства

Щёлкните по виджету правой кнопкой мыши. На сенсорном экране используйте длительное нажатие. Откроется панель свойств Virtual Formula.

📷 Место для снимка панели свойств Virtual Formula
Панель свойств: входы, формула, префикс и суффикс

Настройка

Основные параметры
Параметр Описание
Название Подпись виджета на рабочем поле.
Device SN Уникальный идентификатор виртуального устройства. По нему формулу находят сценарии, графики и Node-RED.
Выходной параметр Всегда value. Поле только для чтения.
Результат формулы Текущее рассчитанное значение или текст ошибки.
Знаков после запятой Точность отображения результата: от 0 до 6.
Префикс Текст перед числом, например пробел не нужен: можно указать пустую строку.
Суффикс Текст после числа, например °C, %, кВт.
Входы формулы

Каждый вход связывает псевдоним в формуле с параметром конкретного устройства. Псевдонимы по умолчанию: A, B, C и так далее.

Поле входа Описание
Псевдоним Имя переменной в формуле. Допустимы буквы, цифры и _, имя не должно начинаться с цифры. Псевдонимы не должны повторяться.
Device SN Источник данных из текущего рабочего поля. Можно выбрать из списка или ввести вручную.
Параметр Числовой параметр источника, например temperature, humidity, power, value.
Текущее значение Подсказка: какое значение сейчас видит RealIoT у выбранного источника.
  • Кнопка + добавляет новый вход.
  • Кнопка удаляет вход, если входов больше одного.
  • Один и тот же Device SN и параметр нельзя указать дважды.
  • Формула не может использовать сама себя как источник.
  • Циклические зависимости между несколькими Virtual Formula запрещены.
📷 Место для снимка блока входов формулы
Входы формулы: псевдоним, Device SN и параметр

Синтаксис формулы

В поле «Формула» записывается выражение с псевдонимами входов. Поддерживаются числа, скобки, операции +, -, *, / и функции:

Функция Описание Пример
abs(x) Модуль числа abs(A - B)
min(a, b, ...) Минимум из аргументов min(A, B, C)
max(a, b, ...) Максимум из аргументов max(A, B)
round(x) или round(x, n) Округление; второй аргумент — число знаков round((A + B) / 2, 1)
Это не произвольный JavaScript. Доступны только перечисленные операции и функции. Деление на ноль и неизвестные переменные считаются ошибкой настройки.
📷 Место для снимка поля «Формула»
Пример формулы: среднее двух датчиков

Примеры настройки

Средняя температура двух комнат

  • Вход A: датчик гостиной, параметр temperature
  • Вход B: датчик спальни, параметр temperature
  • Формула: round((A + B) / 2, 1)
  • Суффикс: °C

Суммарная мощность

  • Вход A: счётчик фазы A, параметр power
  • Вход B: счётчик фазы B, параметр power
  • Вход C: счётчик фазы C, параметр power
  • Формула: A + B + C
  • Суффикс: Вт

Перепад температуры

  • Вход Tin: температура подачи
  • Вход Tout: температура обратки
  • Формула: abs(Tin - Tout)
  • Суффикс: °C
📷 Место для снимка готового примера на рабочем поле
Пример: средняя температура и суммарная мощность

История, сценарии и графики

После успешного расчёта RealIoT сохраняет результат в value виджета. При изменении значения добавляется точка истории параметра value.

  • Графики. Virtual Formula можно выбрать как источник в VirtualGraph, графике энергии и расширенном графике или в виджете «График энергии» по Device SN и параметру value.
  • Сценарии If-Else. Формула доступна как аналоговый датчик с операторами >, >=, <, <=, ==, != по параметру value.
  • Node-RED. Используйте Device SN формулы как обычный числовой источник с параметром value.
Если на плитке красный текст ошибки, сценарии и графики пока не получат корректное числовое значение. Сначала исправьте входы или выражение и сохраните свойства.

Частые вопросы

Почему на виджете написано «Формула не настроена»?

Виджет только что добавлен или ещё не сохранены входы и выражение. Откройте свойства, укажите хотя бы один вход и формулу, затем сохраните.

Источник не найден в рабочем поле

Device SN входа должен точно совпадать с устройством на этом же рабочем поле. Проверьте, что источник не удалён и не находится в другом workspace.

Не найдено числовое значение

У выбранного параметра сейчас нет конечного числа в payload и в истории. Убедитесь, что устройство уже присылало данные и параметр действительно числовой.

Обнаружена циклическая зависимость

Несколько Virtual Formula ссылаются друг на друга по кругу. Уберите взаимные ссылки: каждая формула должна зависеть только от независимых источников или от формул без обратной связи.

Чем Virtual Formula отличается от формулы отображения датчика?

Формула отображения только меняет текст на иконке. Virtual Formula создаёт отдельный вычисляемый параметр value, который можно хранить в истории, показывать на графике и использовать в автоматизации.

← Назад к справке