Universal import from JS.
Universal import from JS - это возможность импорта драйверов из текстового файла формата js, который содержит информационную структуру json. Json - описывает список драйверов для импорта. В этом файле драйверу можно задать определенные характеристики для подключения, а также создать команды и фидбеки.
документация обновлена 01.01.2024
Параметры нужного драйвера узнайте из xml файла этого драйвера. Перейдите в папку Devices (C:\Program Files (x86)\iRidium Ltd\iRidium Pro\Studio32\Devices) и откройте файл драйвера в текстовом редакторе.
Для удобства редактирования воспользуйтесь редактором Notepad++.
Структура файла импорта
В примеры создан файл с минимальными настройками для импорта драйвера MQTT в iRidi Studio.
Параметры основных настроек драйвера:
- Type - это уникальный числовой идентификатор драйвера;
- Name - уникальное имя драйвера;
- Protocol - протокол, который поддерживает оборудование. По умолчанию берется первый в списке;
- Merge - объединение драйверов одного типа:
- 1 - объединять,
- 0 - не объединять.
Из первой строки этого файла видно, что Type = 34, протокол соединения в этом драйвере поддерживается только TCP.
Connection
Для указания драйверу параметров подключения, нужно добавить в указанную выше структуру блок “Connection”.

В него входят Host и Port оборудования, а также специфические настройки драйвера.
С полным списком параметров подключения можно ознакомиться в xml файле драйвера в блоке, ограниченным “...”.

- Переменная ID содержит в себе имя параметра.
- Некоторые имена параметров в студии могут не совпадать с именами в xml файле.
Commands / Feedbacks
Добавьте в драйвер нужное количество команд и фидбеков.

Каждый тег (канал или фидбек) имеет два обязательных параметра:
- Direction - тип тега
- 1 - команда;
- 2 - фидбек.
- Name - уникальное имя команды или фидбека.
Также присутствуют специфические параметры для каждого драйвера.
Они указываются в блоке “Params”.
С полным списком параметров тегов можно ознакомиться в xml файле драйвера. Параметры тегов будут отделены открытием и закрытием
“<Tags>...</Tags>”.

- Переменная Caption содержит в себе имя параметра тега. Переменная Value - является уникальным идентификатором этого параметра.
RootFolder
В iRidi Pro есть возможность создания отдельной папки, в которую можно поместить любые команды, фидбеки, устройства и подустройства. Обязательные поля:
- Name - имя папки;
- Items - параметры команд, фидбеков, устройств или подустройств.

Импорт драйвера
-
Выберите в окне импорта Script(*.js).
-
Укажите путь к нуобходимому js файлу.

Примеры драйверов
MQTT
Создание шаблона файла для импорта драйвера MQTT.
Connection
Параметры соединения:
- MQTTVersion - версия протокола на контроллере;
- 3 версия протокола MQ Integrator SCADA Device Protocol (MQisdp),
- 4 версия протокола MQTT.
- ClientID - идентификатор панели;
- KeepAlive - время удержание соединения в секундах;
- Clean - флаг "чистый старт", удаление подписок при разрыве соединения:
- 1 - чистая сессия,
- 0 - устойчивые соединения.
- Host - IP-адрес контроллера;
- Port - порт подключения к контроллеру.
Commands
Параметры команды:
- Direction = 1 - команда;
- Name - имя команды;
- Topic - путь MQTT;
- ValueType - тип значения.

- QoS - качество обслуживания, гарантия доставки сообщения от издателя брокеру:
- At most once - не более одного раза, без повторений, доставка не гарантируется,
- At least once - один раз и более, могут быть повторения, доставка гарантируется,
- Exactly once - ровно один раз, без повторений, доставка гарантируется.
- Retain - сохранение публикации: брокер хранит retain-топик и при новых подписках рассылает его с флагом retain:
- 1 - включено,
- 0 - выключено.
Feedback
Параметры фидбека:
- Direction = 2 - фидбек;
- Name - имя фидбека;
- Topic - путь MQTT;
- ValueType - тип значения.

SNMP
Создание шаблона файла для импорта драйвера SNMP.
Connection
Параметры соединения:
- Host - IP-адрес устройства;
- Port - порт подключения к устройству для передачи данных (по умолчанию 161, драйвер посылает запросы агенту);
- LocalPort - порт подключения к устройству для получения данных(по умолчанию 162, агент посылает ответ драйверу);
- InitTagsAtStart - опрашивать при старте(true/false);
- InitTagInterval - интервал между опросами тегов. после безуспешного опроса драйвер переключается на опрос другого тега;
- InitTagAttemptsCount - количество попыток опроса каждого тега.
Commands
Параметры команды:
- Direction = 1 - команда;
- Name - имя команды;
- OID - числовой идентификатор объекта;
- TypeCommand - тип команды:
- 0 - Get,
- 3 - Set;
- Value Type - тип значения:
- 2 - Int;
- 4 - String;
- 5 - Null;
- 6 - OID;
- 64 - IP4;
- 65 - Counter;
- 67 - Time;
- Community - последовательность символов, указывающая принадлежность к группе, своего рода пароль.
Feedback
Параметры фидбека:
- Direction = 2 - фидбек;
- Name - имя фидбека;
- OID - числовой идентификатор объекта;
- TypeTag - тип фидбека:
- Value = 0 - фидбек для возврата запрошенного значения,
- Trap = 1 - событийный фидбек, срабатывает когда что-либо произошло.
- IPAddres - IP-адрес;
- Community - последовательность символов, указывающая принадлежность к группе, своего рода пароль.
EPSNET (UDP)
Создание шаблона файла для импорта драйвера EPSNET (UDP).
Connection
Параметры соединения:
- Host - IP-адрес контроллера;
- Port - UDP порт управления, 61682;
- UpdateTime - частота обновления данных (мс);
- DeviceAddress - адрес устройства.
Commands & Feedbacks
Параметры команд и фидбеков:
- Direction:
- 1 - команда,
- 2 - фидбек.
- Name - имя регистра;
- Type - тип данных;

- Register - тип регистра;

- Address - номер регистра;
- Bit - номер бита в байте (для Bool).
Domintell
Создание шаблона файла для импорта драйвера Domintell.
Connection
Параметры соединения:
- Host - IP-адрес контроллера;
- Port - порт управления;
- Password - пароль для защищенного доступа;
- UpdateTime - частота обновления данных (мс).
SubDevice
- Name - имя подустройства;
- Module - поддерживаемое устройство:


- Serial Number - серийный номер.
Commands
Параметры команды:
- Direction = 1 - команда;
- Name - имя регистра;
- Channel - номер канала;
- Command (в данном примере CommandDampli) - тип команды.

Список команд Domintell Light Protocol:
| Команда | Параметр | Описание |
|---|---|---|
| None | - | change the output |
| %I | - | set the output |
| %O | - | reset the output |
| %D | + | decimal dimmer/volume value assignment |
| %P | + | simulate a push on a input (1 - begin shot push, 2 - end shot push, 3 - begin long push, 4 - end long push) |
| %I%D | + | increase dimmer/volume value by step of decimail percent |
| %O%D | + | decrease dimmer/volume value by step of decimail percent |
| %DB | - | execute a Start dim on a dimmer output |
| %DE | - | execute a Stop dim on a dimmer output |
| %M | + | set Temperature mode |
| %A | + | sound Auxiliary selection 1-4 - AUX1-4, 5 - Tuner |
| %F | + | decimail Tuner Frequency in Mhz (1015000 = 101.5 Mhz, multiple of 500) |
| %R | + | set regulation mode |
| %U | + | set Coling Setpoint (decimal T value) |
| %T | + | set Heating Setpoint (decimal T value) |
| %H | + | shutters goes High |
| %L | + | Shutters goes Low |
Feedbacks
Параметры фидбека:
- Direction = 2 - фидбек;
- Name - имя фидбека;
- Channel - номер канала;
- Command (в данном примере CommandDampliFeedback) - тип фидбека;
- Property (в данном примере Property3Item) - дополнительные параметры.

DuoTecno
Создание шаблона файла для импорта драйвера DuoTecno.
Connection
Параметры соединения:
- Host - IP-адрес контроллера;
- Port - порт управления;
- Login - логин доступа к серверу.
SubDevice
- Name - имя подустройства;
- NodeID - идентификатор узла (формат HEX);
- UnitID - идентификатор юнита (формат HEX).
Commands
Параметры команды:
- Direction = 1 - команда;
- Name - имя команды;
- Command - тип команды;

- Method (в данном примере MethodSwitch) - используемый метод.
Feedbacks
Параметры фидбека:
- Direction = 2 - фидбек;
- Name - имя фидбека;
- Command (в данном примере Switch Status)- тип фидбека;

- Method - номер метода;
- UnitType (в данном примере UnitTypeSwitch) - тип блок;
- Parameter - доступные дополнительные параметры у данного типа фидбека;
- Value (в данном примере Value3ItemFeedback) - доступные входные значения.
