Перейти к основному содержимому

Universal import from JS

Universal import from JS - это возможность импорта драйверов из текстового файла формата js, который содержит информационную структуру json. Json - описывает список драйверов для импорта. В этом файле драйверу можно задать определенные характеристики для подключения, а также создать команды и фидбэки.

документация обновлена 01.01.2024

Примеры драйверов:

Для работы нам понадобится текстовый редактор, одним из удобных решений является Notepad++ с подсветкой синтаксиса.

Создайте новый файл и заполните согласно структуре драйвера. В зависимости от типа драйвера его структура может изменяться. Могут добавляться различные настройки соединения, сабдейвайсов, тегов устройства.

Структура файла импорта

Json файл содержит в себе следующие основные разделы:

  1. Devices - основные настройки для драйвера, без которых импорт невозможно осуществить,
  2. Connection - параметры подключения к оборудованию,
  3. Commands - параметры для настройки команд,
  4. Feedbacks - параметры для настройки фидбэков.

Import_from_js.png

Devices

Studio_import_33.png

В примере создан файл с минимальными настройками для импорта драйвера 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”.

Import10.png

В него входят Host и Port оборудования, а также специфические настройки драйвера.

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

Import30.png

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

Commands / Feedbacks

Каждое устройство в iRidium studio имеет команды и фидбэки, внесите необходимое количество и заполните настройки для каждого из тегов.

Import28.png

Каждый тег (канал или фидбэк) имеет два обязательных параметра:

  • Direction - тип тега
    • 1 - команда;
    • 2 - фидбэк.
  • Name - уникальное имя команды или фидбэка.

Также присутствуют специфические параметры для каждого драйвера. Они указываются в блоке “Params”. С полным списком параметров тегов можно ознакомиться в xml файле драйвера. Параметры тегов будут отделены открытием и закрытием “...”.

Import7.png

примечание

Переменная Caption содержит в себе имя параметра тега. Переменная Value - является уникальным идентификатором этого параметра.

RootFolder

В iRidium Pro есть возможность создания отдельной папки, в которую можно поместить любые команды, фидбэки, устройства и подустройства. Обязательные поля:

  • Name - имя папки;
  • Items - параметры команд, фидбэков, устройств или подустройств.

Import27.png

Импорт драйвера

  1. Выберите в окне импорта Script(*.js).

  2. Укажите путь к необходимому js файлу.

Import11.png

Примеры драйверов

Domintell

Создание шаблона файла для импорта драйвера Domintell.

Подсказка

Пример:Domintell

Connection

Import5.png

Параметры соединения:

  • Host - IP-адрес контроллера;
  • Port - порт управления;
  • Password - пароль для защищенного доступа;
  • UpdateTime - частота обновления данных (мс).

SubDevice

Import15.png

  • Name - имя подустройства;
  • Module - поддерживаемое устройство:

Import40.png

Import41.png

  • Serial Number - серийный номер.

Commands

Import26.png

Параметры команды:

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

Import12.png

Список команд Domintell Light Protocol:

CommandValueDescription
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

Import24.png

Параметры фидбэка:

  • Direction = 2 - фидбэк;
  • Name - имя фидбэка;
  • Channel - номер канала;
  • Command (в данном примере CommandDampliFeedback) - тип фидбэка;

Import3.png

  • Property (в данном примере Property3Item) - дополнительные параметры.

Import1.png

DuoTecno

Создание шаблона файла для импорта драйвера DuoTecno.

Подсказка

Пример:DuoTecno

Connection

Import22.png

Параметры соединения:

  • Host - IP-адрес контроллера;
  • Port - порт управления;
  • Login - логин доступа к серверу.

SubDevice

Import4.png

  • Name - имя подустройства;
  • NodeID - идентификатор узла (формат HEX);
  • UnitID - идентификатор юнита (формат HEX).

Commands

Import19.png

Параметры команды:

  • Direction = 1 - команда;
  • Name - имя команды;
  • Command - тип команды;

Import6.png

  • Method (в данном примере MethodSwitch) - используемый метод.

Import3.png

Feedbacks

Import8.png

Параметры фидбэка:

  • Direction = 2 - фидбэк;
  • Name - имя фидбэка;
  • Command (в данном примере Switch Status)- тип фидбэка;

Import23.png

  • Method - номер метода;
  • UnitType (в данном примере UnitTypeSwitch) - тип блок;

Import31.png

  • Parameter - доступные дополнительные параметры у данного типа фидбэка;

Import32.png

  • Value (в данном примере Value3ItemFeedback) - доступные входные значения.

Import14.png

EPSNET (UDP)

Создание шаблона файла для импорта драйвера EPSNET (UDP).

Подсказка

Пример:EPSNET

Connection

Import17.png

Параметры соединения:

  • Host - IP-адрес контроллера;
  • Port - UDP порт управления, 61682;
  • UpdateTime - частота обновления данных (мс);
  • DeviceAddress - адрес устройства.

Commands & Feedbacks

Import20.png

Параметры команд и фидбэков:

  • Direction:
    • 1 - команда,
    • 2 - фидбэк.
  • Name - имя регистра;
  • Type - тип данных;

Import38.png

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

Import39.png

  • Address - номер регистра;
  • Bit - номер бита в байте (для Bool).

Lutron Homeworks QS (Beta)

Создание шаблона файла для импорта драйвера Lutron Homeworks QS (Beta). Пример:Lutron Homeworks QS (Beta)

Connection

ImportFromJS_Lutron.png

Параметры соединения:

  • Host - IP адрес контроллера;
  • Port - порт подключения к контроллеру;
  • Login - логин доступа к контроллеру;
  • Password - пароль доступа к контроллеру;
  • Keep Alive - время удержания соединения в секундах.

Commands & Feedbacks

ImportFromJS_Lutron2.png

Параметры команд и фидбэков:

  • Direction:
  • 1 - команда,
  • 2 - фидбэк.
  • Name - имя команды / фидбэка;
  • Command - команда, с помощью которой идёт обращение к нужному устройству (в данном примере SHADEGRP = 6);

ImportFromJS_Lutron3.png

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

ImportFromJS_Lutron4.png

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

ImportFromJS_Lutron5.png

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

ImportFromJS_Lutron6.png

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

ImportFromJS_Lutron7.png

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

ImportFromJS_Lutron8.png

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

ImportFromJS_Lutron9.png

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

ImportFromJS_Lutron10.png

MQTT

Создание шаблона файла для импорта драйвера MQTT.

Подсказка

Пример:MQTT

Connection

Import29.png

Параметры соединения:

  • MQTTVersion - версия протокола на контроллере;
    • 3 версия протокола MQ Integrator SCADA Device Protocol (MQisdp),
    • 4 версия протокола MQTT.
  • ClientID - идентификатор панели;
  • KeepAlive - время удержание соединения в секундах;
  • Clean - флаг "чистый старт", удаление подписок при разрыве соединения:
    • 1 - чистая сессия,
    • 0 - устойчивые соединения.
  • Host - IP-адрес контроллера;
  • Port - порт подключения к контроллеру.

Commands

Import9.png

Параметры команды:

  • Direction = 1 - команда;
  • Name - имя команды;
  • Topic - путь MQTT;
  • ValueType - тип значения.

Import36.png

  • QoS - качество обслуживания, гарантия доставки сообщения от издателя брокеру:
    • At most once - не более одного раза, без повторений, доставка не гарантируется,
    • At least once - один раз и более, могут быть повторения, доставка гарантируется,
    • Exactly once - ровно один раз, без повторений, доставка гарантируется.

Import37.png

  • Retain - сохранение публикации: брокер хранит retain-топик и при новых подписках рассылает его с флагом retain:
    • 1 - включено,
    • 0 - выключено.

Feedback

Import2.png

Параметры фидбэка:

  • Direction = 2 - фидбэк;
  • Name - имя фидбэка;
  • Topic - путь MQTT;
  • ValueType - тип значения.

Import36.png

SNMP

Создание шаблона файла для импорта драйвера SNMP. Пример:SNMP

Connection

Import21.png

Параметры соединения:

  • Host - IP-адрес устройства;
  • Port - порт подключения к устройству для передачи данных (по умолчанию 161, драйвер посылает запросы агенту);
  • LocalPort - порт подключения к устройству для получения данных(по умолчанию 162, агент посылает ответ драйверу);
  • InitTagsAtStart - опрашивать при старте(true/false);
  • InitTagInterval - интервал между опросами тегов. после безуспешного опроса драйвер переключается на опрос другого тега;
  • InitTagAttemptsCount - количество попыток опроса каждого тега.

Commands

SNMP_command.png

Параметры команды:

  • 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

SNMP_feedback.png

Параметры фидбэка:

  • Direction = 2 - фидбэк;
  • Name - имя фидбэка;
  • OID - числовой идентификатор объекта;
  • TypeTag - тип фидбэка:
    • Value = 0 - фидбэк для возврата запрошенного значения,
    • Trap = 1 - событийный фидбэк, срабатывает когда что-либо произошло.
  • IPAddres - IP-адрес;
  • CommunityTag - последовательность символов, указывающая принадлежность к группе, своего рода пароль.

Virtual channels

Создание шаблона файла для импорта виртуальных команд и фидбэков в серверном проекте.

Подсказка

Пример:Virtual

Commands & Feedbacks

Virtual1.png

Virtual2.png

Параметры команд и фидбэков:

  • Direction:
    • 1 - команда,
    • 2 - фидбэк.
  • Name - имя команды / фидбэка.