Настройки элементов модели

Общие

Выберите Тип элемента. В зависимости от него формируются соответствующие поля формы для дальнейшего ввода данных.
Возможные типы:
  • Узел – тип элемента, который позволяет объединять другие элементы в группы и формировать древовидную иерархию;
  • Параметр – тип элемента для отображения полученных данных от устройства (например, текущее измерение сенсора). Параметры могут быть числовыми, логическими, строковыми или представлять собой объект или массив. При этом для числовых аргументов можно указать единицу измерения, изображение и задать уровни;
  • Конфигурация – тип элемента, значение которого затем можно задать в интерфейсе объекта на вкладке Конфигурация. Конфигурационные значения удобно использовать в работе сценариев и обработчиков. По своей сути элемент с данным типом является статическим параметром, который необходимы для хранения дополнительной информации об объекте – например, максимально допустимая температура, объем топливного бака, длительность работы и т.п.
  • Действие – тип элемента для отправки команды на устройство или запуска сценария;
  • Событие – тип элемента, который фиксирует наступление определенных изменений в состоянии объекта. События используются в сценариях для переходов между состояниями объекта.
Возможные типы
💡
У каждого типа есть пиктограмма, которая отображается слева от элемента в дереве модели. Это позволяет визуально определять, к какому типу относится тот или иной элемент.
Далее введите уникальный по модели Идентификатор и Имя элемента. Идентификатор позволяет однозначно определить элемент в системе. Он является названием поля из данных о состоянии устройства при обращении к нему через API. Имя, в отличие от идентификатора, может быть неуникальным. Как идентификатор, так и имя генерируются при создании узла, и их следует заменить на те идентификатор и имя, которые вам понятны и удобны.
💡
Идентификатор должен быть уникальным!
Идентификатор должен быть осмысленным!
Идентификатор – для внутренней работы системы, имя – для интерфейса пользователя.
В платформе также заложены дополнительные функции для параметров со специальными идентификаторами:
  1. Системная информация, всегда присутствует в интерфейсе объекта
Идентификатор параметраФункция
onlineСтатус подключения устройства:
🟢 онлайн, подключено внешнее устройство
🔵 онлайн, подключен бот платформы
🔴 офлайн
_tsВремя получения пакета данных от устройства (хранится в микросекундах UTC).
Если в модели не используется параметр с идентификатором time, то его функции выполняет _ts
  1. Параметры, которые создает пользователь
Идентификатор параметраФункция
timeВремя, по которому сортируются пакеты данных от устройства в истории, может отличаться от времени получения (_ts).
Часто используется, когда устройство параллельно с актуальной информацией высылает накопленные данные из архива
lat, lonКоординаты перемещения объекта на карте
angleУгол поворота иконки объекта на карте
x, y, zКоординаты перемещения объекта на схеме
speedСкорость перемещения объекта на карте при использовании движения по маршруту для бота
💡
Придумывайте понятные и краткие имена. Если нужны детали, добавьте подробное описание.
Описание дает более полное представление о параметре. Оно выводится в качестве всплывающей подсказки при наведении на название параметра или действия в интерфейсе объекта.
Для узлов с типами Узел и Событие других полей заполнять не нужно.
Описание полей для элементов с другими типами представлено ниже.

Для типа “Параметр”

Для параметра заполняются следующие поля:
  • Тип данных – выберите один из возможных типов данных: числовой, логический, строковый, объект или массив. Тип данных служит для корректного отображения значений параметров в интерфейсе. Также в разделах При разборе и * Отображение* для определенных типов есть дополнительная возможность указать:
    • Числовой: множитель, единицу измерения, количество знаков после запятой, изображение и уровни перехода;
    • Логический: изображение и уровни перехода;
    • Строковый: изображение и уровни перехода; Для параметров с типом данных Объект предусмотрено выполнение разбора данных в формате JSON (пример >>>).
  • Источник – по источнику происходит поиск значения параметра в структуре данных, полученных от устройства, формируется по-разному в зависимости от протокола передачи данных. Настройка источников для конкретных протоколов подробно рассмотрена в разделе Примеры. Источник может быть пустой, если значение параметра рассчитывается из обработчика;
  • Линейный – данный переключатель определяет, можно ли построить по параметру линейный график (плавно возрастающий или плавно убывающий): например, по температуре можно, а по широте или долготе – нет, такой график по отдельной координате не имеет смысла.
Разделы При разборе и Отображение открывают дополнительные поля:
  • Множитель – для умножения значения параметра, полученного от устройства, на указанную величину;
  • Сохранять binary как – для отображения данных в интерфейсе объекта в разном формате (например, Text – “ok”, Base64 – “b2s=”, HEX – “6F 6B”);
  • Единица измерения – для отображения рядом с числом; дополнительные функция есть у следующих единиц измерения:
  1. проценты (%) - число помещается в шкалу, заполняющуюся согласно полученному значению процента;

Проценты
  1. миллисекунды (мс) - число, полученное в миллисекундах UNIX, конвертируется в удобочитаемый формат даты и времени.

Миллисекунды
  • Количество знаков после запятой – возможность задать для числовых параметров количество выводимых цифр в дробной части (максимум 15 знаков);
  • Отображать на карточке объекта – включите чекбокс, чтобы иконка параметра появилась на карточке объекта. Если для параметра не установлена иконка, на карточке отобразится дефолтная пиктограмма параметра.
    Дефолтная пиктограмма
    Она будет менять цвет в соответствии с включенными уровнями, при наведении можно увидеть текущее значение параметра. Данная функция полезна для быстрого визуального контроля важных показателей устройства без перехода в журнал объекта;

Отображать на карточке объекта
  • Включить уровни – опция для включения уровней. Уровнями можно задать пороги изменения текста около значения параметра и цвета иконки. Также уровни используются в сценариях автоматизации, при построении треков и в некоторых виджетах дашбордов.
В моделиВ интерфейсе объекта
В модели
В интерфейсе объекта
Настройки для включенных уровней:
  • Событие при входе в уровень – если чекбокс включен, при попадании значения параметра в уровень генерируется событие. Такие события можно использовать в сценариях автоматизации;
В моделиВ редакторе сценария
В модели
В редакторе сценария
  • Иконка – SVG изображение для дополнительной индикации, представляет параметр в графическом виде в журнале и на карточке объекта. Цвет иконки меняется в соответствии с установленными порогами для уровней.
💡
Иногда после загрузки собственного SVG изображения его цвет не меняется в соответствии с выставленными уровнями. В этом случае откройте картинку через любой текстовый редактор и уберите поле “fill”. После этого загрузите обновленное SVG изображение еще раз. Теперь его цвет будет меняться согласно заданным уровням.
Настройка отображения уровней отличается для параметров с разными типами данных:
  • число
    1. изменение уровня при попадании полученной величины в определенный диапазон значений;
    Диапазон
    1. изменение уровня при точном совпадении полученной величины с указанным значением;
    Точное значение
  • логический тип
Уровни для логичекого типа
  • строка
Уровни для строки

Для типа “Конфигурация”

Для конфигурации, как и для параметра, выбирается Тип данных: Число, Логический, Строка, Таблица.
В зависимости от типа появляются следующие Настройки отображения:
  • Отображение – внешний вид конфигурационного параметра в интерфейсе объекта:
    • Значение – вид отображения, доступный для конфигурационного параметра с типом данных Число или Строка. В этом случае значение в интерфейсе объекта указывается в поле ввода;
    В моделиВ интерфейсе объекта
    В модели
    В интерфейсе объекта
    • Диапазон (поле ввода) – вид отображения, доступный для конфигурационного параметра с типом данных Число. В этом случае значение в интерфейсе объекта указывается в поле ввода, но дополнительно можно установить границы От и До. В объекте при попытке ввода значения, выходящего за указанные минимум или максимум, появится соответствующая ошибка;
    В моделиВ интерфейсе объекта
    В модели
    В интерфейсе объекта
    • Диапазон (слайдер) – вид отображения, доступный для конфигурационного параметра с типом данных Число. В этом случае значение в интерфейсе объекта либо выбирается положением ползунка, либо стрелочками. Дополнительно можно установить границы От и До и Шаг, с которым перемещается ползунок. В объекте при попытке ввода значения, выходящего за указанные минимум или максимум, появится соответствующая ошибка;
    В моделиВ интерфейсе объекта
    В модели
    В интерфейсе объекта
    • Выпадающий список – вид отображения, доступный для конфигурационного параметра с типом данных Число или * Строка*. В этом случае значение в интерфейсе объекта выбирается из заранее заданных в модели вариантов списка. Для каждого элемента списка необходимо заполнить поля Значение и Текст: Значение – фактическое значение для конфигурационного параметра, Текст – его название для отображения в списке;
    В моделиВ интерфейсе объекта
    В модели
    В интерфейсе объекта
    • Значение по умолчанию – исходное значение конфигурационного параметра, которое используется, пока вы не зададите другое значение.
💡
Конфигурационные параметры бывают очень полезны, когда на разных объектах надо использовать одинаковый сценарий работы, но отличающийся по нескольким критериям. Например, максимальное значение температуры в спальне отличается от аналогичного показателя для кабинета. Чтобы не создавать два разных сценария климат-контроля для этих помещений, параметр максимальной температуры можно вынести в конфигурацию объекта. Указание значения по умолчанию в модели позволит задать начальное значение для этого параметра. Затем, при необходимости, вы можете его менять на конкретных объектах.

Для типа “Действие”

Для действия заполняется поле Выполнить – выберите тип действия, которое необходимо выполнить:
  • Команду к устройству – в поле Отправить выберите тип команды в зависимости от протокола, после чего в разделе С параметрами укажите параметры команды;
  • Сгенерировать событие – в поле Событие выберите одно из созданных в модели событий, дополнительно в Payload (Данные) можно указать какие-то сведения о событии, чтобы впоследствии обрабатывать их в сценарии автоматизации или внешней системе, подключенной по WebSocket;
Сгенерировать событие
  • Сценарий – в поле Сценарий выберите тот сценарий, который нужно запустить по команде.
Сценарий
Для Команды к устройству доступны дополнительные настройки:
  • Время ожидания ответа – время, за которое должен прийти ответ от устройства.
Время ожидания ответа
В случае если устройство не ответило на команду, соединение с ним разрывается.

Ответ получен за указанное время, команда выполненаОтвет не получен, команда не выполнена
Команда выполнена
Команда не выполнена
  • Требует подтверждения – если чекбокс включен, при отправке команды из интерфейса объекта появится окно для дополнительного подтверждения отправки команды. В списке команд такое действие помечается красным индикатором;
Требует подтверждения
💡
При отправке команды с подтверждением по API, к запросу необходимо добавлять флаг confirm=true.

POST /api/v1/objects/:id/commands/:command?confirm=true
:id - идентификатор объекта, на который отправляется команда;
:command - идентификатор команды в модели.
  • Отправить – выберите тип команды, если для протокола, по которому создана модель, предусмотрена такая возможность.
В параметрах команды можно указать:
  • конкретные значения, которые будут каждый раз отправляться в команде;
Конкретные значения
  • параметры, значение которых можно указать непосредственно при отправке команды. Это нужно, если пользователь не знает заранее те значения, которые необходимо передавать в команде, либо эти значения раз от раза могут меняться. Для создания такого параметра необходимо при создании команды в модели объявить его в фигурных скобках {{param_name}};
Параметры команды
  • текущие значения параметров устройства. Для создания такого параметра необходимо для этого действия в модели указать в фигурных скобках object.state и после точки написать идентификатор параметра из модели (например, {{object.state.temperature}}). При отправке команды подставится значение этого параметра из журнала.
Текущие значения

Для корневого узла

Для корневого узла модели помимо имени и описания можно задать иконку объекта. Иконки объединены в смысловые группы, а в поле выбора иконки доступен поиск по названию на английском языке.
Иконка объекта
Все объекты с такой моделью будут отображаться на карте с заданным изображением.

Объекты с иконкой на карте
При этом можно использовать как стандартные встроенные иконки, так и загрузить собственное изображение в формате SVG.