Класс
-
Режим отображения (дочерних объектов в веб-интерфейсе);
-
Размеры объектов в веб-интерфейсе;
Выбранный класс сущности невозможно изменить. |
Модель класса
Поле | Тип | Описание |
---|---|---|
category_id |
String |
Идентификатор категории класса. Подробную информацию о категории можно найти в разделе Идентификатор категории. |
client_data |
String |
Данные клиента класса. Подробную информацию о данных клиента можно найти в разделе Клиентские данные. |
description |
String |
Описание класса. |
entityType |
Integer |
Тип сущности. Для класса, тип сущности – |
id |
String |
Идентификатор класса. |
name |
String |
Имя класса. |
operations |
Array<Operation> |
Массив операций класса. |
properties |
Array<Property> |
Массив свойств класса. |
triggers |
Array<Trigger> |
Массив пользовательских триггеров класса. Подробную информацию о пользовательских триггерах можно найти в разделе Пользовательские триггеры. |
Клиентские данные
Клиентские данные – набор полей, которые определяют отображение класса в пользовательском интерфейсе. Данные поля указываются в формате JSON и хранятся на сервере в виде строки. Таблица ниже содержит описание всех полей:
Поле | Тип | Описание |
---|---|---|
background |
String |
Идентификатор изображения, используемого в качестве фона для класса. |
columns |
Array<ClassColumn> |
Массив колонок класса. |
default_view |
String |
Способ отображения класса по умолчанию: |
defaultDim |
Array<Integer> |
Размеры по умолчанию для объектов, принадлежащих данному классу. Указываются как массив двух целых чисел, первое из которых задает ширину, а второе высоту. |
Колонка класса
Поле | Тип | Описание |
---|---|---|
hidden |
Boolean |
Скрытие колонки. |
id |
String |
Идентификатор колонки класса. |
name |
String |
Название колонки класса. |
removable |
Boolean |
Удаление колонки. |
type |
String |
Тип колонки класса. |
Идентификатор категории
Идентификатор категории класса используется для группировки дочерних объектов.
Дочерние объекты, принадлежащие классу с одинаковым идентификатором категории, отображаются на родительском объекте рядом. Дочерние объекты с различными идентификаторами категорий разделяются горизонтальной чертой.
Пример отображения дочерних объектов в веб-интерфейсе:

Пользовательские триггеры
Сервер может запускать скрипты при создании или удалении объектов. Пользовательские триггеры определяют запускаемые скрипты, их аргументы и случаи, в которых они запускаются.
Пользовательские триггеры имеют следующие поля:
Поле | Тип | Описание |
---|---|---|
args |
Object |
JSON-объект, содержащий набор пар ключ-значение с аргументами, которые будут переданы скрипту. |
customScriptId |
String |
Путь к скрипту, который будет запущен. |
type |
String |
Условия запуска триггера. Возможные значения: |
В скрипт можно передать следующие переменные:
Поле | Тип | Описание |
---|---|---|
{{body}} |
String |
Тело объекта в формате JSON. |
{{class_id}} |
String |
Идентификатор класса объекта. |
{{client_data}} |
String |
Данные клиента объекта. |
{{created}} |
Integer |
Временная метка создания объекта. |
{{entityId}} |
String |
Идентификатор сущности. |
{{geoposition}} |
String |
Гео-гоординаты объекта. |
{{geopositionRadius}} |
String |
Гео-радиус объекта. |
{{id}} |
String |
Идентификатор объекта. |
{{last_state_update}} |
Integer |
Временная метка последнего изменения Состояния. |
{{name}} |
String |
Имя объекта. |
{{parent_id}} |
Array<String> |
Список идентификаторов родительских объектов. |
{{state_id}} |
String |
Идентификатор Состояния объекта. |
{{tags}} |
Array<Tag> |
Теги объекта. |
{{updated}} |
Integer |
Временная метка обновления объекта. |
Пример
Данный пример содержит два пользовательских триггера. Первый триггер запускается при создании объекта, второй – при удалении.
"triggers": [
{
"type": "create",
"args": {
";saymon-ctp-auto-id#0": "first var",
";saymon-ctp-auto-id#1": "second var"
},
"customScriptId": "test/class_trigger.sh"
},
{
"type": "remove",
"args": {
";saymon-ctp-auto-id#0": "pos var",
"--name": "{{name}}",
"--description": "Object was removed"
},
"customScriptId": "test/hello_world.sh"
}
]