Universal import from JS
Universal import from JS - это возможность импорта драйверов из текстового файла формата js, который содержит информационную структуру json. Json - описывает список драйверов для импорта. В этом файле драйверу можно задать определенные характеристики для подключения, а также создать команды и фидбэки.
документация обновлена 01.01.2024
Примеры драйверов:
Для работы нам понадобится текстовый редактор, одним из удобных решений является Notepad++ с подсветкой синтаксиса.
Создайте новый файл и заполните согласно структуре драйвера. В зависимости от типа драйвера его структура может изменяться. Могут добавляться различные настройки соединения, сабдейвайсов, тегов устройства.
Структура файла импорта
Json файл содержит в себе следующие основные разделы:
- Devices - основные настройки для драйвера, без которых импорт невозможно осуществить,
- Connection - параметры подключения к оборудованию,
- Commands - параметры для настройки команд,
- Feedbacks - параметры для настройки фидбэков.

Devices
В примере создан файл с минимальными настройками для импорта драйвера MQTT в iRidium Studio.
Параметры основных настроек драйвера:
- Type - это уникальный числовой идентификатор драйвера, в xml драйвера этим параметром является ID.;
- Name - уникальное имя драйвера;
- Protocol - протокол, который поддерживает оборудование. По умолчанию берется первый в списке;
- Merge - объединение драйверов одного типа:
- 1 - объединять,
- 0 - не объединять.
Type для JSON
- Alexa ID="1"
- Google Home ID="2"
- YandexAlice ID="4"
- ZWave ID="5"
- DuoTecno ID="6"
- ELKO EP iNels ID="7"
- iNels RF ID="8"
- KNX Baos kBerry ID="9"
- KNX IP Baos 771-774,777 ID="10"
- KNX IP Router ID="11"
- KNX LMx ID="12"
- Global Cache ID="13"
- Larnitech ID="14"
- iRidium Server ID="15"
- KNX IP Baos 770 ID="16"
- Lutron ID="17"
- SNMP ID="18"
- HDL ID="19"
- Velbus ID="20"
- Domintell ID="21"
- Helvar Net 8 bit device ID="22"
- Helvar Net 16 bit device ID="23"
- Modbus ASCII ID="24"
- Modbus RTU ID="25"
- Modbus TCP Server ID="26"
- Modbus TCP ID="27"
- BACNet ID="28"
- Custom ID="29"
- 1-Wire ID="30"
- Crestron ID="31"
- EPSNET ID="32"
- Beckhoff ID="33"
- MQTT ID="34"
- CustomHttp ID="35"
- AMXDevice ID="36"
- Virtual ID="37"
- Clipsal Gate ID="38"
- Clipsal ID="39"
- SIP ID="40"
- Custom Network ID="41"
- CustomHttp Network ID="42"
- YandexAlicePlatform ID="43"
- Sonos ID="44"
- Modbus TCP Server (Slave mode) Network ID="46"
- Modbus ASCII Network ID="47"
- Modbus TCP Network ID="48"
- Modbus RTU Network ID="49"
- TestDevice ID="50"
- AppleTV ID="51"
- ControlArt ID="52"
Connection
Параметры подключения драйвера возьмите из xml файла этого драйвера. Перейдите в папку Devices (C:\Program Files (x86)\iRidium Ltd\iRidium Pro\Studio32\Devices) и откройте файл драйвера в текстовом редакторе.
Для объединения драйверов одного типа необходимо указать идентичные параметры Connection
Для указания драйверу параметров подключения, нужно добавить в указанную выше структуру блок “Connection”.

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

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

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

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

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

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


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

Список команд Domintell Light Protocol:
| Command | Value | Description |
|---|---|---|
| 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.
Пример: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) - доступные входные значения.

EPSNET (UDP)
Создание шаблона файла для импорта драйвера EPSNET (UDP).
Пример:EPSNET
Connection
Параметры соединения:
- Host - IP-адрес контроллера;
- Port - UDP порт управления, 61682;
- UpdateTime - частота обновления данных (мс);
- DeviceAddress - адрес устройства.
Commands & Feedbacks
Параметры команд и фидбэков:
- Direction:
- 1 - команда,
- 2 - фидбэк.
- Name - имя регистра;
- Type - тип данных;

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

- Address - номер регистра;
- Bit - номер бита в байте (для Bool).
Lutron Homeworks QS (Beta)
Создание шаблона файла для импорта драйвера Lutron Homeworks QS (Beta). Пример:Lutron Homeworks QS (Beta)
Connection
Параметры соединения:
- Host - IP адрес контроллера;
- Port - порт подключения к контроллеру;
- Login - логин доступа к контроллеру;
- Password - пароль доступа к контроллеру;
- Keep Alive - время удержания соединения в секундах.
Commands & Feedbacks
Параметры команд и фидбэков:
- Direction:
- 1 - команда,
- 2 - фидбэк.
- Name - имя команды / фидбэка;
- Command - команда, с помощью которой идёт обращение к нужному устройству (в данном примере SHADEGRP = 6);

- IntegrationID - адрес устройства (настраивается предварительно в конфигураторе Lutron designer );
- Component - номер кнопки на панели управления(для кнопочных панелей);
- Action - тип команды (в данном примере ActionSHADEGRP = 6):
- ActionDEVICE - позволяет управлять входами устройства, такими как кнопки и сухие контакты .

- ActionOUTPUT - позволяет управлять выходами, такими как диммеры и выходы сухих контактов.

- ActionSHADEGRP - позволяет управлять шторами.

- ActionHVAC - позволяет управлять HVAC оборудованием.

- ActionAREA - позволяет управлять зонами.

- Value - значение, отправляемое в канал. Типы значений (в данном примере используется тип ValueInt32):

В xml файле драйвера можно узнать все возможные значения данного типа. Например, для Command = DEVICE и Action = Set/Get LED State, значения будут:

MQTT
Создание шаблона файла для импорта драйвера 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. Пример: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;
- CommunityCommand - последовательность символов, указывающая принадлежность к группе, своего рода пароль.
Feedback
Параметры фидбэка:
- Direction = 2 - фидбэк;
- Name - имя фидбэка;
- OID - числовой идентификатор объекта;
- TypeTag - тип фидбэка:
- Value = 0 - фидбэк для возврата запрошенного значения,
- Trap = 1 - событийный фидбэк, срабатывает когда что-либо произошло.
- IPAddres - IP-адрес;
- CommunityTag - последовательность символов, указывающая принадлежность к группе, своего рода пароль.
Virtual channels
Создание шаблона файла для импорта виртуальных команд и фидбэков в серверном проекте.
Пример:Virtual
Commands & Feedbacks
Параметры команд и фидбэков:
- Direction:
- 1 - команда,
- 2 - фидбэк.
- Name - имя команды / фидбэка.