Эта страница является
переводом страницы
Drivers API. Перевод выполнен на 100%.
API iRidium. Драйверы
функции, методы, свойства для работы с оборудованием, настроенным в проекте: создание и управление драйверами, отправка команд, обработка входящих данных
Методы
Объект IR - глобальный объект, содержащий в себе все функции и константы API iRidium. Методы объекта IR для драйвера позволяют создать драйвер и обратиться к драйверу в проекте iRidium. Многие методы применяются к ссылке на существующий драйвер.
IR.CreateDevice
создать драйвер в проекте iRidium. Вы можете создать только драйвер типа AV & Custom Systems. Работа с другими драйверами производится после добавления их в проект из базы данных.
Внимание! В iRidium V2 функция имела другой синтаксис. Поддержка старого синтаксиса есть в iRidium V3, но его использование не рекомендуется.
Синтаксис
IR.CreateDevice(type, name, {properties})
| на входе
|
значение
|
описание
|
| type
|
IR.DEVICE_CUSTOM_TCP
|
type: object тип драйвера
|
| name
|
"AV Driver 1"
|
type: string уникальное имя драйвера
|
| properties
|
Host: '192.168.0.47', Port: 80
|
type: array набор параметров драйвера через запятую
|
| Object
|
[object DevicePrototype]
|
type: object ссылка на драйвер, как на объект
|
Пример
var driver = IR.CreateDevice(IR.DEVICE_CUSTOM_TCP, "AV Device (TCP)",
{Host: "192.168.0.47",
Port: 80,
SSL: false,
SendMode: IR.ALWAYS_CONNECTED,
ScriptMode: IR.DIRECT_AND_SCRIPT,
SendCommandAttempts: 0,
ConnectWaitTimeMax: 3000,
ReceiveWaitTimeMax: 5000,
Login: "admin",
Password: "admin"
});
IR.Log(driver); // [object DevicePrototype]
набор параметров отличается для разных драйверов
если параметр не указан в списке, то его значение будет задано по умолчанию (т.е. можно указать только Host и Port при создании драйвера)
если вы создаете драйвер не при запуске приложения, а позже, необходимо вызвать метод .Connect() для этого драйвера, чтобы он подключился к оборудованию. Драйверы, создаваемые по старту приложения, подключаются автоматически. В случае необходимости, их можно отключить методом .Disconnect().
Параметры AV & Custom Systems
AV & Custom Systems (TCP):
var driver = IR.CreateDevice(IR.DEVICE_CUSTOM_TCP, "AV Device (TCP)",
{Host: "192.168.0.47",
Port: 80,
SSL: false,
SendMode: IR.ALWAYS_CONNECTED,
ScriptMode: IR.DIRECT_AND_SCRIPT,
SendCommandAttempts: 0,
ConnectWaitTimeMax: 3000,
ReceiveWaitTimeMax: 5000,
Login: "",
Password: "",
DisableQueue: false
});
AV & Custom Systems (UDP):
var driver = IR.CreateDevice(IR.DEVICE_CUSTOM_UDP, "AV Device (UDP)",
{Host: "192.168.0.47",
Port: 80,
LocalPort: 80, // port on iRidium side for data receiving
Group: null, // null - broadcast, "host" - multicast group
Multicast: false, // false - broadcast, true - multicast (if multicast group added)
ScriptMode: IR.DIRECT_AND_SCRIPT
});
AV & Custom Systems (HTTP):
var driver = IR.CreateDevice(IR.DEVICE_CUSTOM_HTTP_TCP, "AV Device (HTTP)",
{Host: "192.168.0.47",
Port: 8080,
SSL: false,
Login: "",
Password: "",
DisableQueue: false,
SendCommandAttempts: 0,
ConnectWaitTimeMax: 3000,
ReceiveWaitTimeMax: 5000,
UserAgent: ""
});
AV & Custom Systems (RS232):
var driver = IR.CreateDevice(IR.DEVICE_CUSTOM_SERIAL, "AV Device (RS232)",
{PortName: "\\\\.\\COM1", // double slash "\\" will be converted
// to single slash "\". Result: "\\.\COM1"
BaudRate: 9600,
DataBits: 8,
Parity: 0,
StopBits: 0,
Use485: false // works with RS485, not RS232
});
AV & Custom Systems (TCP Server):
var driver = IR.CreateDevice(IR.DEVICE_CUSTOM_SERVER_TCP, "iRidium TCP Server",
{Port: 2323,
MaxClients: 10 // maximum of clients connected at the same time
});
Для создания сервера с SSL необходимо включить SSL после создания драйвера, с помощью метода SetParameters
var driver = IR.CreateDevice(IR.DEVICE_CUSTOM_SERVER_TCP, "iRidium TCP Server",
{Port: 2323,
MaxClients: 10 // maximum of clients connected at the same time
driver.SetParameters({SSL:3});
});
Сервер с SSL может работать только на iRidium Server
AV & Custom Systems (UDP Server):
var driver = IR.CreateDevice(IR.DEVICE_CUSTOM_SERVER_UDP, "iRidium UDP Server",
{Port: 2323,
MaxClients: 10, // maximum of clients connected at the same time
ClientTimeOut: 100 // (ms) when the Client will be disconnected if it doesn't send data
});
Константы в настройках драйверов
Send Mode
- IR.ALWAYS_CONNECTED = 0; - драйвер всегда остается подключенным, может получать и отправлять данные.
- IR.CONNECT_WHEN_SENDING = 1; - драйвер подключается в момент отправлки, после отключается, может только отправлять данные.
Script Mode
- IR.DIRECT_AND_SCRIPT = 0; // Можно отправлять команды через скрипт и через каналы редактора
- IR.SCRIPT_ONLY = 1; // Можно отправлять команды только через скрипт
Background Mode
- IR.BACKGROUND_OFF = 0; // Драйвер работает только при развернутом приложении
- IR.BACKGROUND_ON = 1; // Драйвер работает как при развернутом приложении, так и при свернутом
IR.GetDevice
получить доступ к любому драйверу в проекте iRidium. Работает для всех драйверов, а не только для созданных с помощью IR.CreateDevice.
Синтаксис
IR.GetDevice(name)
| на входе
|
значение
|
описание
|
| name
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| Object
|
[object DevicePrototype]
|
type: Object ссылка на драйвер
|
Пример
var myDriver = IR.GetDevice("AMX");
var myDriver1 = IR.GetDevice("HDL-BUS Pro Network (UDP)");
IR.Log(myDriver); // [object DevicePrototype]
IR.Log(myDriver1); // [object DevicePrototype]
HDL, Domintell: при обращении используйте имя сети "HDL-BUS Pro Network (UDP)" / "Domintell Network (UDP)", а не имя конкретного устройства сети.
Далее описаны методы, которые можно применить к ссылке на драйвер, полученной с помощью IR.GetDevice.
.Connect
установить соединение с оборудованием
Синтаксис
IR.GetDevice(name).Connect()
| на входе
|
значение
|
описание
|
| name
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| успешность
|
|
type: Boolean успешность
|
Пример
IR.GetDevice("AV & Custom Systems (TCP)").Connect();
после создания драйвера соединение устанавливается автоматически
.Disconnect
разорвать соединение с оборудованием
Синтаксис
IR.GetDevice(name).Disconnect()
| на входе
|
значение
|
описание
|
| name
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| успешность
|
|
type: Boolean успешность
|
Пример
IR.GetDevice("AV & Custom Systems (TCP)").Disconnect();
.Send
метод можно использовать только с драйверами AV & Custom Systems и Global Cache. Позволяет отправить оборудованию произвольный набор данных (строку, число, массив)
Синтаксис
IR.GetDevice(name).Send([data])
IR.GetDevice(name).Send(array)
IR.GetDevice(Global Cache).Send([data], transport)
| на входе
|
значение
|
описание
|
| name
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| data
|
a, b, c
|
type: string список переменных или строк: инструкций для отправки
|
| array
|
[a, b, c]
|
type: array массив переменных или строк: инструкций для отправки
|
| transport
|
0
|
type: number идентифкатор транспорта. Используется с драйвером Global Cache, когда нужно отправить данные адресно:
- 0 - порт 4998 (ИК команды, реле, сенсоры, система)
- 1 - порт 4999 (СОМ 1)
- 2 - порт 5000 (СОМ 2)
Также используется на iRidium Server и в драйвере Custom TCP Server. Позволяет выбрать, какому из подключенных клиентов отправить данные: 0 - всем, 1..n (ID клиента, полученный в IR.ACCEPT_CLIENT) - конкретному подключенному клиенту
|
| успешность
|
|
type: Boolean успешность
|
Пример
// AV & Custom Systems (TCP, UDP, RS232)
IR.GetDevice("AV Device").Send(['instruction', '\r\n']);
// AV & Custom Systems (HTTP)
// <Type or request>,<URI>,<Data> devided by "," so u cannot use "," inside of <URI> and <Data>
IR.GetDevice("AV Device").Send(['GET,URI']); // GET
IR.GetDevice("AV Device").Send(['POST,URI,Data']); // POST
IR.GetDevice("AV Device").Send(['PUT,URI,Data']); // PUT
// Global Cache:
// IR.GetDevice("Global Cache").Send(<DATA>, <TRANSPORT ID>)
IR.GetDevice("Global Cache").Send(['setstate,1:1,1', '\r\n'], 0)
// iRidium Server:
// IR.GetServer().Send(<DATA>, <TRANSPORT ID>)
IR.GetServer().Send(['command', '\r\n'], 1)
HTTP: при отправке команды HTTP драйверу, укажите в начале метод отправки: GET, POST, PUT, через запятую укажите URI команды и Data для POST и PUT. Внутри URI и Data запятые использовать нельзя. Если ваш протокол использует в HTTP командах запятые, отправляйте их через AV & Custom Systems (TCP), формируя запросы целиком.
Global Cache: обязательно указывайте ID транспорта куда должны уйти данные
.SendEx
метод можно использовать только с драйверами AV & Custom Systems (HTTP). Позволяет отправить оборудованию массив данных с указанием на родительский объект (контекст исполнения). Внутри SendEx можно добавить ряд событий, передающих в фукнции данные о своей работе. События позволяют следить за получением данных от НТТР сервера и обрабатывать различые этапы работы с сервером.
Синтаксис
IR.GetDevice(name).SendEx(array, object)
| на входе
|
значение
|
описание
|
| name
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| array
|
[a, b, c]
|
type: string массив данных для отправки
|
| object
|
this
|
type: object объект родитель
|
| успешность
|
|
type: Boolean успешность
|
Пример
IR.GetDevice("Server REST").SendEx({
Type: "POST",
Url: "/html/login",
Data: ["Password=2007&name=authform&Login=admin"],
Headers: {"Content-Type": "application/x-www-form-urlencoded"},
cbReceiveText: function(text, code, headers) {IR.Log("cbReceiveText "+text+code+headers);},
cbReceiveData: function(text, code, headers) {IR.Log("cbReceiveData "+text+code+headers);},
cbReceiveCode: function(code) {IR.Log("cbReceiveCode "+code);},
cbReceiveKey: function(key,value) {IR.Log("cbReceiveKey "+key+value);},
cbReceiveStartBody: function(stream) {IR.Log("cbReceiveStartBody "+stream);},
cbReceivePartBody: function(stream) {IR.Log("cbReceivePartBody "+stream);},
cbReceiveEndBody: function(size) {IR.Log("cbReceiveEndBody "+size);},
cbTimeOut: function() {IR.Log("cbTimeOut");},
cbReceiveStream: function(stream, code, headers) {IR.Log("cbReceiveStream "+stream+code+headers);}
});
IR.GetDevice("Server REST").SendEx({
Type: "GET",
Url: "/json/ok/server/channel",
Headers: {"Cookie":"ir-session-id=o8lKdEvw2ZlU"},
cbReceiveText: function(text, code, headers) {IR.Log("cbReceiveText "+text);}
});
Метод SendEx() с помощью поля Headers: {} позволяет задавать стандартные и нестандартные заголовки HTTP-запросов. Ниже приведены некоторые стандартные заголовки и указаны их особенности при работе с методом SendEx().
| Заголовок |
Значение по умолчанию или пример |
Описание |
Возможность задать (переопределить) в поле Header |
Способ задания (переопределения)
|
| Host |
192.168.0.100:123 |
Доменное имя и порт хоста запрашиваемого ресурса |
нет |
В параметрах Host и Port драйвера AV & Custom Systems (HTTP)
|
| Connection |
Keep-Alive или close |
Способ HTTP-соединения |
нет |
Определяется значением поля KeepAliveOut, передаваемым методу SendEx(): если KeepAliveOut = 0, то передаётся заголовок "Connection: close"; если KeepAliveOut > 0, то передаётся заголовок "Connection: Keep-Alive"
|
| Transfer-Encoding |
chunked |
Самоопределение длины содержимого запроса |
нет |
Не задаётся, см. заголовок Content-Length
|
| Content-Length |
0 |
Длина содержимого запроса |
нет |
Не задаётся, вычисляется автоматически по содержимому запроса
|
| Authorization |
- |
Данные для авторизации |
нет |
В параметрах Login и Password драйвера AV & Custom Systems (HTTP). Вычисляется автоматически (Basic Authorization)
|
| Content-Type |
application/x-www-form-urlencoded |
Тип содержимого запроса |
да |
-
|
| Accept |
*/* |
Список допустимых форматов ресурса |
да |
-
|
| User-Agent |
Iridium Server/x.x.x |
Список названий и версий клиента и его компонентов с комментариями |
да |
В параметре User-Agent драйвера AV & Custom Systems (HTTP)
|
IR.GetDevice("AV & Custom Systems (HTTP)").SendEx({
Type: "GET",
Url: "/device/http",
Headers: {
"Content-Type": "application/json",
"Accept": "application/xml",
"User-Agent": "Project Server v2.0",
"Accept-Language": "en",
"Set-Cookie": "parameter=1",
},
KeepAliveOut: 0; // used for "Connection: close" header
cbReceiveText: function(text, code, headers) {IR.Log("Header: "+headers);}
});
.Set
to execute the native driver command preset in the command tree of the editor. When executing the command you send the value to it the same way it is done when you press on the button in the interface. It works for native drivers only. You can activate the command by its index (the sequence number in the tree, beginning with one) or name. If the command is not preset in the project tree, it cannot be executed.
Syntax
IR.GetDevice(driver).Set(command, value)
| driver
|
"Driver 1"
|
type: string the driver name in the iRidium project
|
| command
|
"Channel 1"
|
type: string, number the command index or name (the sequence number in the tree, beginning with one)
|
| value
|
100
|
type: string, number the number or string to be transferred to the command for sending to equipment
|
| successful or not
|
|
type: Boolean successful
|
Sample
//KNX. 1 - first Commands in project Tree; 100 - value to send, "Dimming" - command name
IR.GetDevice("KNX Router (KNXnet/IP)").Set(1, 100);
IR.GetDevice("KNX Router (KNXnet/IP)").Set("Dimming", 100);
//Global Cahe. "Command 1" - name of command on GC output, "" - empty data
IR.GetDevice("Global Cache").Set("Command 1", "")
//HDL. "HDL-BUS Pro Network (UDP)" - name of network
//"Dimmer" - name of Device in Network, "Channel 1" - name of Channel, 100 - value to send
IR.GetDevice("HDL-BUS Pro Network (UDP)").Set("Dimmer:Channel 1", 100);
//Domintell. "Domintell Network (UDP)" - name of network
//"DDIM01" - name of Device in Network, "Channel 1" - name of Channel, 100 - value to send
IR.GetDevice("Domintell Network (UDP)").Set("DDIM01:Channel 1", 100);
//Set data to virtual tag in iRidium Server project
IR.GetDevice("iRidium server").Set("Virtual 1", 100);
//Set data to channel in iRidium Server project
IR.GetDevice("iRidium Server").Set("KNX Router.Address 1", 1);
HDL, Domintell: use the network name "HDL-BUS Pro Network (UDP)" / "Domintell Network (UDP)" at reference, not the name of a particular network device.
.SetFeedback
записать значение в канал обратной связи драйвера. Канал должен быть заранее создан в Project Device Panel. Применяется для отображения данных, полученных от оборудования при работе скриптов.
Синтаксис
IR.GetDevice(driver).SetFeedback(name, value)
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| name
|
"Channel 1"
|
type: string имя канала обратной связи (Feedbacks)
|
| value
|
"data"
|
type: string, number строка или число, которую нужно записать в канал
|
| успешность
|
|
type: Boolean успешность
|
Пример
IR.GetDevice("MyDevice").SetFeedback("Value 1", 100);
.GetFeedback
получть значение из канала обратной связи драйвера. Канал должен быть заранее создан в Project Device Panel. Применяется для получения доступа к данным, ранее записанным в канал.
Синтаксис
IR.GetDevice(driver).GetFeedback(name)
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| name
|
"Channel 1"
|
type: string имя канала обратной связи (Feedbacks)
|
| value
|
"data"
|
type: string, number строка или число, полученное из канала обратной связи
|
Пример
IR.GetDevice("MyDevice").GetFeedback("Value 1"); // 100
.SetParameters
изменить указанные параметры подключения драйвера к управляемому оборудованию. Типичный пример: переключение между локальным и Интернет соединением. Возможно выборочное изменение параметров.
Новые настройки подключения не меняют исходные параметры драйвера, и не сохраняются при перезапуске приложения.
Любой TCP, UDP, HTTP драйвер всегда имеет стандартный набор параметров: Host, Port, Login, Password (даже, если логин и пароль драйвером не используются), и в зависимости от типа драйвера существуют наборы уникальных параметров.
Синтаксис
IR.GetDevice(driver).SetParameters({Host: host, Port: port, <other>});
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| host
|
"192.168.0.100"
|
type: string IP адрес или доменное имя для подключения к оборудованию
|
| port
|
8080
|
type: number порт подключения
|
| LogLevel
|
4
|
type: number Уровень лога. LogLevel
|
| other
|
|
type: - другие параметры, характерные для драйвера. Если параметр не указан, будет сохранено предыдущее значение или значение по умолчанию
|
| успешность
|
|
type: Boolean успешность
|
Пример
IR.GetDevice("KNX").SetParameters({Host: "215.110.10.22", Port: 8080});
Текущие настройки драйвера доступны как Свойства драйвера
.GetCookies
получть массив Cookies через драйвер AV & Custom Systems (HTTP)
Синтаксис
IR.GetDevice(driver).GetCookies()
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя HTTP драйвера в проекте iRidium
|
| array
|
|
type: array массив Cookies
|
Пример
var num = IR.GetDevice("MyDevice").GetCookies()
.SetCookie
отравляет Cookie вместе с остальной header-информацией через драйвер AV & Custom Systems (HTTP)
Синтаксис
IR.GetDevice(driver).SetCookie(key, value)
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя HTTP драйвера в проекте iRidium
|
| value
|
|
type: string значение
|
| успешность
|
|
type: Boolean успешность
|
Пример
IR.GetDevice("MyDevice").SetCookie("TestCookie", "value")
.GetLogin
получить логин соединения с любым драйвером
Синтаксис
IR.GetDevice(driver).GetLogin()
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера
|
| login
|
'admin'
|
type: string логин драйвера
|
Пример
var login = IR.GetDevice("MyDevice").GetLogin()
IR.Log(login) // admin
.GetPassword
получить пароль соединения с любым драйвером
Синтаксис
IR.GetDevice(driver).GetPassword()
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера
|
| login
|
'admin'
|
type: string пароль драйвера
|
Пример
var pass = IR.GetDevice("MyDevice").GetPassword()
IR.Log(pass) // password
.AddChannel
*функция в разработке* добавить канал драйверу
Синтаксис
IR.GetDevice(driver).AddChannel(name, data)
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера
|
| name
|
"Channel 1"
|
type: string имя команды
|
| data
|
|
type: array массив данных, специфичный для каждого драйвера
|
-
Пример
.AddTag
*функция в разработке* добавить канал обратной связи драйверу
Синтаксис
IR.GetDevice(driver).AddTag(name, data)
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера
|
| name
|
"Channel 1"
|
type: string имя канала обратной связи
|
| data
|
|
type: array массив данных, специфичный для каждого драйвера
|
-
Пример
.AddRelation
to add the Relation between the inteface obgects and some variables like a driver tags, tokens or the other UI objects. See the syntax samples in Relations tab:
Syntax
IR.AddRelation(source, destination)
| source
|
"Drivers.KNX.Channel 1"
|
type: string data source
|
| destination
|
"UI.Popup 1.Item 1.Value"
|
type: string data destination
|
-
Sample
var from = "Drivers.KNX.Address 1/1/2";
var to = "UI.Popup 1.Item 1.Value";
IR.AddRelation(from, to);
.GetCommandsCount
получть количество команд, настроенных в драйвере AV & Custom System (HTTP, TCP, UDP, RS232)
Синтаксис
IR.GetDevice(driver).GetCommandsCount()
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| CommandsCount
|
52
|
type: number количество команд устройства
|
Пример
var num = IR.GetDevice("MyDevice").GetCommandsCount();
IR.Log(num); // number of commands
.GetCommandAtName
получить данные из поля Data команды драйвера AV & Custom System (HTTP, TCP, UDP, RS232). Обращение к команде производится по имени или идентификатору.
Синтаксис
IR.GetDevice(driver).GetCommandAtName(name/ID)
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| name/ID
|
"Command 1"
|
type: string/number имя команды / численный идентификатор команды
|
| object
|
[object Object]
|
type: object ссылка на команду драйвера
|
| object.id
|
1
|
type: number свойство объекта: численный идентификатор команды (начинается с 1)
|
| object.name
|
Command 1
|
type: string свойство объекта: имя команды
|
| object.data
|
74,65,73,74
|
type: array свойство объекта: данные из поля Data команды в виде байтового массива
|
Пример
var Command = IR.GetDevice("AV").GetCommandAtName("Command 1");
IR.Log("id: " + Command.id + ", name: " + Command.name + ", data: " + Command.data);
// id: 1, name: Command 1, data: 74,65,73,74
.GetCommandAtPos
получить данные из поля Data команды драйвера AV & Custom System (HTTP, TCP, UDP, RS232). Обращение к команде производится по ее порядковому номеру, начиная с 0.
Синтаксис
IR.GetDevice(driver).GetCommandAtPos(position)
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| position
|
0
|
type: number порядковый номер команды (начинается с 0)
|
| object
|
[object Object]
|
type: object ссылка на команду драйвера
|
| object.id
|
1
|
type: number свойство объекта: численный идентификатор команды (начинается с 1)
|
| object.name
|
Command 1
|
type: string свойство объекта: имя команды
|
| object.data
|
74,65,73,74
|
type: array свойство объекта: данные из поля Data команды в виде байтового массива
|
Пример
var Command = IR.GetDevice("AV").GetCommandAtPos(0);
IR.Log("id: " + Command.id + ", name: " + Command.name + ", data: " + Command.data);
// id: 1, name: Command 1, data: 74,65,73,74
.GetFeedbacksCount
получть количество каналов обратной связи, настроенных в драйвере AV & Custom System (HTTP, TCP, UDP, RS232)
Синтаксис
IR.GetDevice(driver).GetFeedbacksCount()
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| FeedbacksCount
|
52
|
type: number количество каналов устройства
|
Пример
var num = IR.GetDevice("MyDevice").GetFeedbacksCount();
IR.Log(num); // number of feedbacks
.GetFeedbackAtName
получить данные из поля Data канала обратной связи драйвера AV & Custom System (HTTP, TCP, UDP, RS232). Обращение к каналу обратной связи производится по имени или идентификатору.
Синтаксис
IR.GetDevice(driver).GetFeedbackAtName(name/ID)
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| name/ID
|
"Feedback 1"
|
type: string/number имя канала / идентификатор канала
|
| object
|
[object Object]
|
type: object ссылка на объект: канал обратной связи
|
| object.id
|
1
|
type: number свойство объекта: численный идентификатор канала (начинается с 1)
|
| object.name
|
Command 1
|
type: string свойство объекта: имя канала
|
| object.data
|
74,65,73,74
|
type: array свойство объекта: данные из поля Data канала в виде байтового массива
|
Пример
var Feedback = IR.GetDevice("AV & Custom System (TCP)").GetCommandAtName("Feedback 1");
IR.Log("id: " + Feedback.id + ", name: " + Feedback.name + ", data: " + Feedback.data);
// id: 1, name: Feedback 1, data: 74,65,73,74
.GetFeedbackAtPos
получить данные из поля Data канала обратной связи драйвера AV & Custom System (HTTP, TCP, UDP, RS232). Обращение к команде производится по ее порядковому номеру, начиная с 0.
Синтаксис
IR.GetDevice(driver).GetFeedbackAtPos(position)
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| position
|
0
|
type: number порядковый номер канала (начинается с 0)
|
| object
|
[object Object]
|
type: object ссылка на канал драйвера
|
| object.id
|
1
|
type: number свойство объекта: численный идентификатор канала (начинается с 1)
|
| object.name
|
Command 1
|
type: string свойство объекта: имя канала
|
| object.data
|
74,65,73,74
|
type: array свойство объекта: данные из поля Data канала в виде байтового массива
|
Пример
var Feedback = IR.GetDevice("AV & Custom System (TCP)").GetFeedbackAtPos(0);
IR.Log("id: " + Feedback.id + ", name: " + Feedback.name + ", data: " + Feedback.data);
// id: 1, name: Feedback 1, data: 74,65,73,74
.AddEndOfString
Method to indicate a string that is considered the end of the message in a listener IR.EVENT_RECEIVE_TEXT. The method work only for AV & Custom System (TCP, UDP, RS232). When large messages are sent, devices split them into parts (packages) and IR.EVENT_RECEIVE_TEXT listener gets the message in parts (packages). With the help of this method script searches the indicated string in packages and combines all packets that come before it into a single message.
The method does not work with HTTP driver. We recommend that you use .SendEx method for HTTP driver. It can gather data received in parts in a single message.
Syntax
IR.GetDevice(driver).AddEndOfString(string)
| driver
|
"Driver 1"
|
type: string driver name in iRidium project
|
| string
|
"happy"
|
type: string string identifying the end of the message
|
| object
|
[object Object]
|
type: object a link to a driver channel
|
| result
|
true
|
type: boolean the results of the method. If a string is indicated as an input parameter, the method returns "true". if any other type of data is indicated, false is returned
|
Sample
var driver = IR.GetDevice("TCP");
IR.AddListener(IR.EVENT_START,0,function()
{
IR.Log(driver);
driver.AddEndOfString("happy");
})
.AddEndOfData
Метод для указания последовательности байт, которые будут считаться концом сообщения в слушателе IR.EVENT_RECEIVE_DATA. Метод работает только для AV & Custom System (HTTP, TCP, UDP, RS232). При передаче больших по объему сообщений, устройства разбивают их на пакеты и с слушатель IR.EVENT_RECEIVE_DATA сообщение приходит по частям (пакетами). С помощью описываемого метода, скрипт будет искать в пакетах указанную последовательность и автоматически склеивать все предыдущие пакеты единое сообщение
Синтаксис
IR.GetDevice(driver).AddEndOfData(data)
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| data
|
0x0d,0x0a
|
type: string последовательность, определяющая конец сообщения
|
| object
|
[object Object]
|
type: object ссылка на канал драйвера
|
| result
|
true
|
type: boolean результат выполнения метода. Если входным параметром указан массив байт, то метод вернет true, если любой другой тип данных, то вернется false
|
Пример
var driver = IR.GetDevice("TCP");
IR.AddListener(IR.EVENT_START,0,function()
{
IR.Log(driver);
driver.AddEndOfData([0x0d,0x0a]);
})
Конвертация данных из поля Data
Приведенные выше методы возвращают данные из поля Data в формате HEX. Чтобы преобразовать эти данные в ASCII строку, используйте следующую конструкцию:
// process an array of HEX bytes from Data field of Command or Feedback
function HexArrayToAsciiString(in_aArray)
{
// init string
var l_sStr = '';
// aray bypass
for(var i = 0; i < in_aArray.length; i++)
l_sStr += String.fromCharCode(parseInt(in_aArray[i], 16));
// return string in ASCII format
return l_sStr;
}
IR.AddListener(IR.EVENT_START, 0, function()
{
var l_pCommand = IR.GetDevice("Driver").GetCommandAtName(1);
IR.Log("data:" + HexArrayToAsciiString(l_pCommand.data)); // ASCII data
});
// process an array of HEX bytes from Data field of Command or Feedback
function HexArrayToAsciiString(in_aArray)
{
// init string
var l_sStr = '';
// aray bypass
for(var i = 0; i < in_aArray.length; i++)
l_sStr += String.fromCharCode(parseInt(in_aArray[i], 16));
// return string in ASCII format
return l_sStr;
}
IR.AddListener(IR.EVENT_START, 0, function()
{
var l_pCommand = IR.GetDevice("Driver").GetCommandAtName(1);
IR.Log("data:" + HexArrayToAsciiString(l_pCommand.data)); // ASCII data
});
IR.GetDevices()
get the array of all drivers in iRidium project
Syntax
IR.GetDevices();
| Object
|
[object DevicePrototype]
|
type: Object link to driver array
|
Sample
var devices = IR.GetDevices();
var name_1 = devices[0].Name;
var name_2 = devices[1].Name;
IR.Log("First device: " + name_1);
IR.Log("Second device: " + name_2);
IR.IsModuleLicensed
Проверка драйвера на наличие лицензии
Внимание! Чтобы функция работала для вашего драйвера, вам необходимо согласовать поддержку вашего драйвера с нами. Для того чтобы внести ваш драйвер с список поддерживаемых, напишите нам на contact@iridiummobile.ru
Синтаксис
IR.IsModuleLicensed(ID)
| на входе
|
значение
|
описание
|
| ID
|
452
|
type: Number тип драйвера, согласованный с нашей компанией
|
| Result
|
true
|
type: boolean true - драйвер лицензирован, false - драйвер не лицензирован
|
Пример
var hasLicense= IR.IsModuleLicensed("123")
События
Событие - процесс, проброшенный в скрипты и имеющий идентификатор для отслеживания.
Слушатель - это функция, которая выполняется в случае срабатывания указанного ей события
Добавьте слушатель с помощью метода IR.AddListener
IR.AddListener(event, input, action);
- event - идентификатор события, за которым следит слушатель
- input - входной параметр, необходимый для создания слушателя. Если параметра нет, укажите 0
- action - не именованная функция или ссылка на объявленную функцию, внутри которой выполняются действия
- pointer - указатель на контекст вызова слушателя (не обязательный). Обратиться к контексту можно с помощью оператора this. Контекст может меняться во время работы программы
Пример:
// выполнение функции внутри слушателя
IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetDevice("Driver"), function (name, value)
{
IR.Log("changes: "+name+" > "+value); // changes: Feedback 1 > 100
});
IR.EVENT_ONLINE
идентификатор события, которое срабатывает при соединении с оборудованием
Синтаксис
IR.AddListener(IR.EVENT_ONLINE, driver, function, [pointer]);
| на входе
|
значение
|
описание
|
| driver
|
IR.GetDevice("MyDriver")
|
type: object ссылка на драйвер
|
| function
|
function() {}
|
type: function не именованная функция или обращение к функции
|
| pointer
|
-
|
type: object указатель на объект, который обслуживает функцию (опционально)
|
-
Пример
IR.AddListener(IR.EVENT_ONLINE, IR.GetDevice("Global Cache"), function()
{
IR.Log("Device online");
});
IR.EVENT_OFFLINE
идентификатор события, которое срабатывает при отключении от оборудования
Синтаксис
IR.AddListener(IR.EVENT_OFFLINE, driver, function, [pointer]);
| на входе
|
значение
|
описание
|
| driver
|
IR.GetDevice("MyDriver")
|
type: object ссылка на драйвер
|
| function
|
function() {}
|
type: function не именованная функция или обращение к функции
|
| pointer
|
-
|
type: object указатель на объект, который обслуживает функцию (опционально)
|
-
Пример
IR.AddListener(IR.EVENT_OFFLINE, IR.GetDevice("Global Cache"), function()
{
IR.Log("Device offline");
});
IR.EVENT_TAG_CHANGE
идентификатор события, которое срабатывает при изменении статуса канала обратной связи нативного драйвера. Событие не работает с драйвером AV & Custom Systems.
Синтаксис
IR.AddListener(IR.EVENT_TAG_CHANGE, driver, function, [pointer]);
| на входе
|
значение
|
описание
|
| driver
|
IR.GetDevice("MyDriver")
|
type: object ссылка на драйвер
|
| function
|
function(name, value) {}
|
type: function не именованная функция или обращение к функции
|
| pointer
|
-
|
type: object указатель на объект, который обслуживает функцию (опционально)
|
| name
|
"Feedback 1"
|
type: string имя изменившегося канала
|
| value
|
100
|
type: number новое значение
|
Пример
// Subscribe to driver
IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetDevice("KNX Router (KNXnet/IP)"), function(name, value)
{
IR.Log(name+": "+value); // Feedback 1: 100
});
// subscribe to iRidium Server variables (in Server project)
IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetServer(), function(name, value)
{
IR.Log(name+": "+value);
});
слушатель не работает с драйвером AV & Custom Systems! Используйте IR.EVENT_RECEIVE_DATA или IR.EVENT_RECEIVE_TEXT для разбора данных этого драйвера
HDL: вместо имени драйвера укажите имя HDL Network, по умолчанию это "HDL-BUS Pro Network (UDP)". Измененное значение канала возвращается в виде "device:channel"; device - имя исполняющего устройства HDL, channel - канал в настройках этого устройства.
Domintell: вместо имени драйвера укажите имя Domintell Network, по умолчанию это "Domintell Network (UDP)". Измененное значение канала возвращается в виде "device:channel"; device - имя исполняющего устройства Domintell, channel - канал в настройках этого устройства.
Событие IR.EVENT_TAG_CHANGE возникает:
- при каждом получении данных (даже если значение не изменилось) в случае прямого доступа к драйверу IR.GetDevice(),
- только при изменении данных в случае косвенного доступа через сервер IR.GetServer().
IR.EVENT_RECEIVE_DATA
идентификатор события, которое срабатывает при получении данных драйвером AV & Custom Systems и выводит данные в виде байт-массива - массива символов в ASCII-коде. Работает только с драйверами AV & Custom Systems.
Синтаксис
IR.AddListener(IR.EVENT_RECEIVE_DATA, driver, function, [pointer]);
| на входе
|
значение
|
описание
|
| driver
|
IR.GetDevice("MyDriver")
|
type: object ссылка на драйвер
|
| function
|
function(data) {}
|
type: function не именованная функция или обращение к функции
|
| pointer
|
-
|
type: object указатель на объект, который обслуживает функцию (опционально)
|
| data
|
|
type: array массив символов
|
Пример
IR.AddListener(IR.EVENT_RECEIVE_DATA, IR.GetDevice("AV & Custom Systems (TCP)"), function(data)
{
IR.Log(data);
});
работает только с драйверами AV & Custom Systems.
IR.EVENT_RECEIVE_TEXT
идентификатор события, которое срабатывает при получении данных драйвером AV & Custom Systems и выводит данные в строковом формате. Работает только с драйверами AV & Custom Systems.
Синтаксис
IR.AddListener(IR.EVENT_RECEIVE_TEXT, driver, function, [pointer]);
| на входе
|
значение
|
описание
|
| driver
|
IR.GetDevice("MyDriver")
|
type: object ссылка на драйвер
|
| function
|
function(text) {}
|
type: function не именованная функция или обращение к функции
|
| pointer
|
-
|
type: object указатель на объект, который обслуживает функцию (опционально)
|
| text
|
|
type: string полученные данные в строковом формате
|
Пример
IR.AddListener(IR.EVENT_RECEIVE_TEXT, IR.GetDevice("AV & Custom Systems (TCP)"), function(text)
{
IR.Log(text);
});
работает только с драйверами AV & Custom Systems.
IR.EVENT_ERROR
идентификатор события, которое срабатывает, если при отправке НТТР запроса ресурс не доступен, или доступен, но не ответил за установленное время. Выводит результат в виде кода ошибки
Синтаксис
IR.AddListener(IR.EVENT_ERROR, driver, function, [pointer]);
| на входе
|
значение
|
описание
|
| driver
|
IR.GetDevice("AV & Custom Systems (HTTP)")
|
type: object ссылка на драйвер
|
| function
|
function(transport_id, local_ip, local_port, host_ip, host_port, errorCode) {}
|
type: function не именованная функция или обращение к функции, обработает результаты срабатывания слушателя
|
| pointer
|
-
|
type: object указатель на объект, который обслуживает функцию (опционально)
|
| transport_id
|
0
|
type: number идентификатор транспорта, 0 для любого AV драйвера, кроме Global Cache: 0 - IR, система, 1 - COM1, 2 - СОМ2
|
| local_ipt
|
192.168.0.100
|
type: string локальный адрес отправителя команды
|
| local_port
|
80
|
type: number локальный порт отправителя команды
|
| host_ip
|
200.200.10.10
|
type: string адрес получателя команды
|
| host_port
|
80
|
type: number порт получателя команды
|
| errorCode
|
1
|
type: number код ошибки:
- 1 - не удалось отправить запрос (ресурс недоступен)
- 2 - ресурс доступен, но за установленное время не пришел ответ
|
Пример
var driver = IR.CreateDevice(IR.DEVICE_CUSTOM_HTTP_TCP, "AV Device (HTTP)", {
Host: "ResourceUnavailable.net", Port: 80
});
driver.SendEx({
Type: "GET", Url: "/request", Headers: {},
cbReceiveText: function(text, code, headers) {IR.Log("cbReceiveText (code) = "+code);}
});
IR.AddListener(IR.EVENT_ERROR, driver, function(transport_id, local_ip, local_port, host_ip, host_port, errorCode) {
IR.Log("IR.EVENT_ERROR (code) = "+errorCode);
});
работает только с AV & Custom Systems (HTTP)
не сработает, если от ресурса пришел ответ, даже с ошибкой. Для обработки ошибок используйте SendEx
IR.EVENT_CHANNEL_SET
идентификатор события, которое срабатывает при активации команды драйвера
Синтаксис
IR.AddListener(IR.EVENT_CHANNEL_SET, driver, function, [pointer]);
| на входе
|
значение
|
описание
|
| driver
|
IR.GetDevice("MyDriver")
|
type: object ссылка на драйвер
|
| function
|
function(name, value) {}
|
type: function не именованная функция или обращение к функции
|
| pointer
|
-
|
type: object указатель на объект, который обслуживает функцию (опционально)
|
| name
|
"Command 1"
|
type: string имя команды, которая была активирована
|
| value
|
100
|
type: number значение Value, записанное в команду при отправке
|
| data
|
'string'
|
type: string значение, сохраненное в поле Data вызванной команды – есть только у драйверов AV & Custom Systems
|
Пример
IR.AddListener(IR.EVENT_CHANNEL_SET, IR.GetDevice("AV & Custom Systems (TCP)"), function(name, value, data) {
switch(name) {
case "Volume":
if (data) IR.Log("Volume set: " + data + " " + value)
else IR.Log("Volume set: " + value)
break;
case "Play":
IR.Log("Play")
break;
}
});
событие сработает только для драйверов AV & Custom Systems и Global Cache
UPnP
.InvokeAction
отослать инструкцию на устройство с поддержкой UPnP
Синтаксис
IR.GetDevice(driver).InvokeAction(action_name, service_type, [arguments, callback])
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| action_name
|
"Play"
|
type: string имя команды
|
| service_type
|
"service:AVTransport:1"
|
type: string используемый сервис
|
| arguments
|
{InstanceID: 0, Speed: 1}
|
type: string список аргументов команды
|
| callback
|
|
type: object функция обратного вызова
|
| успешность
|
|
type: Boolean успешность
|
Пример
IR.GetDevice("Sonos").InvokeAction("Play", "service:AVTransport:1", {InstanceID: 0, Speed: 1});
.Subscribe
подписаться на событие устройства, поддерживающего UPnP
Синтаксис
IR.GetDevice(driver).Subscribe(service_type)
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| service_type
|
"urn:schemas-upnp-org:service:AVTransport:1"
|
type: string используемый сервис
|
| true
|
true
|
type: Boolean успешность
|
Пример
IR.GetDevice("Sonos").Subscribe("urn:schemas-upnp-org:service:AVTransport:1");
.Unsubscribe
отписаться от события устройства, поддерживающего UPnP
Синтаксис
IR.GetDevice(driver).Unsubscribe(service_type)
| на входе
|
значение
|
описание
|
| driver
|
"Driver 1"
|
type: string имя драйвера в проекте iRidium
|
| service_type
|
"urn:schemas-upnp-org:service:AVTransport:1"
|
type: string используемый сервис
|
| true
|
true
|
type: Boolean успешность
|
Пример
IR.GetDevice("BAOS").Unsubscribe("urn:schemas-upnp-org:service:AVTransport:1");
IR.EVENT_DEVICE_FOUND
идентификатор события, которое срабатывает при событии на UPnP устройстве
Синтаксис
IR.AddListener(IR.EVENT_DEVICE_FOUND, 0, function, [pointer]);
| на входе
|
значение
|
описание
|
| function
|
function(name) {}
|
type: function не именованная функция или обращение к функции
|
| pointer
|
-
|
type: object указатель на объект, который обслуживает функцию (опционально)
|
| name
|
"Device"
|
type: string имя найденного UPnP устройства
|
Пример
IR.AddListener(IR.EVENT_DEVICE_FOUND, 0, function(name)
{
IR.Log(name);
});
IR.EVENT_RECEIVE_EVENT
идентификатор события, которое срабатывает при получении события от UPnP устройства
Синтаксис
IR.AddListener(IR.EVENT_RECEIVE_EVENT, driver, function, [pointer]);
| на входе
|
значение
|
описание
|
| driver
|
IR.GetDevice("MyDriver")
|
type: object ссылка на UPnP драйвер
|
| function
|
function(type, text) {}
|
type: function не именованная функция или обращение к функции
|
| pointer
|
-
|
type: object указатель на объект, который обслуживает функцию (опционально)
|
| type
|
|
type: string тип события
|
| text
|
|
type: string сообщение от устройства
|
Пример
IR.AddListener(IR.EVENT_RECEIVE_EVENT, IR.GetDevice("MyDriver"), function(type, text) {
IR.Log(text);
});
Свойства
Свойства драйверов
Параметры подключения драйвера доступны для чтения как свойства объекта Драйвер. Чтобы изменить параметры подключения, нужно использовать метод .SetParameters.
Основные свойства драйвера в проекте iRidium - это имя и тип. Их можно запросить у любого драйвера. :
driver.property
property:
| Name
|
Crestron 1
|
type: string имя драйвера
|
| Type
|
Crestron (TCP)
|
type: string тип драйвера. Точное название типа вы можете видеть в параметре Driver Type, в окне настроек подключения
|
| LogLevel
|
Debug
|
type: number уровень логирования: 0 - Emergency 1 - Alert 2 - Critical 3 - Error 4 - Warning 5 - Notice 6 - Info 7 - Debug 8 - Never
|
var driver = IR.GetDevice("Crestron 1");
IR.AddListener(IR.EVENT_START,0,function()
{
var properties = driver.Name + " (" + driver.Type + ") created";
IR.Log(properties);
});
Остальные параметры драйверов уникальны, и зависят от типа драйвера. Имена параметров драйвера можно посмотреть в системном меню i3 pro или взять из списка:
driver.property
AMX
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя
|
| Port
|
1319
|
type: number порт подключения
|
| DeviceID
|
10001
|
type: number уникальный идентификатор панели AMX
|
| Login
|
admin
|
type: string логин защищенной сессии
|
| Password
|
admin
|
type: string пароль защищенной сессии
|
AV & Custom Systems (UDP)
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя
|
| Port
|
8080
|
type: number порт подключения
|
| LocalPort
|
80
|
type: number локальный порт получения данных (на стороне iRidium)
|
| Group
|
null
|
type: string null - броадкаст, "host" - мультикаст группа
|
| Multicast
|
false
|
type: string false - броадкаст, true - мультикаст (если группа указана)
|
| ScriptMode
|
0
|
type: number послылать данные напрямую в драйвер и в скрипты (0) или только в скрипты (1)
|
AV & Custom Systems (HTTP)
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя
|
| Port
|
8080
|
type: number порт подключения
|
| SSL
|
false
|
type: number защищенное соединение
|
| Login
|
admin
|
type: string логин защищенной сессии
|
| Password
|
admin
|
type: string пароль защищенной сессии
|
| DisableQueue
|
0
|
type: number не добавлять команды в очередь, если их не удалось отправить
|
| SendCommandAttempts
|
0
|
type: string сколько раз повторить команду, если оптарвка не удалась (0 - не повторять, однократная отправка)
|
| ConnectWaitTimeMax
|
3000
|
type: number (мс) время ожидания соединения
|
| ReceiveWaitTimeMax
|
5000
|
type: number (мс) время ожидания ответа
|
| UserAgent
|
iRidium
|
type: string как iRidium представится HTTP серверу
|
AV & Custom Systems (RS232)
| PortName
|
\\.\COM1
|
type: string имя СОМ-порта
|
| BaudRate
|
19200
|
type: number скорость обмена данными
|
| DataBits
|
8
|
type: number число информационных разрядов в кадре
|
| Parity
|
e
|
type: string контроль четности
|
| StopBits
|
1
|
type: number cтоповый бит в кадре
|
| Use485
|
0
|
type: number использовать транспорт RS485
|
AV & Custom Systems (TCP Server)
| Port
|
8080
|
type: number порт подключения
|
| MaxClients
|
10
|
type: number максимальное число подключенных клиентов
|
AV & Custom Systems (UDP Server)
| Port
|
8080
|
type: number порт подключения
|
| MaxClients
|
10
|
type: number максимальное число подключенных клиентов
|
| ClientTimeOut
|
100
|
type: number (мс) через указанное время клиент будет отключен, если не отправляет данные серверу
|
Clipsal
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя
|
| Port
|
20023
|
type: number порт подключения
|
| Project
|
PROJ
|
type: string имя проекта Toolkit
|
Crestron
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя
|
| Port
|
41794
|
type: number порт подключения
|
| NetID
|
3
|
type: number IP ID (IP Net Address) панели из проекта в SIMPL Windows
|
| TelnetPort
|
41795
|
type: number Telnet порт подключения (системный)
|
| TelnetSSL
|
1
|
type: number использование SSL подключения
|
| TelnetLogin
|
admin
|
type: string логин для SSL
|
| TelnetPassword
|
admin
|
type: string пароль для SSL
|
DVR
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя
|
| Port
|
8080
|
type: number порт подключения
|
| Login
|
admin
|
type: string логин защищенной сессии
|
| Password
|
admin
|
type: string пароль защищенной сессии
|
Domintell
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя
|
| Port
|
17481
|
type: number порт подключения
|
| Password
|
admin
|
type: string пароль подключения
|
| PingTime
|
1000
|
type: number (мс) частота обновления данных
|
EPSNET
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя
|
| Port
|
61682
|
type: number порт подключения
|
| UpdateTime
|
1000
|
type: number (мс) частота обновления данных
|
| DeviceAddress
|
|
type: string по умолчанию не используется
|
Global Cache
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя
|
| Port
|
4998
|
type: number порт передачи системных команд - 4998
|
| IrConfirm
|
0
|
type: number подтверждать доставку ИК команд
|
| SerialPort1
|
4999
|
type: number СОМ порт 1 (serial 1), если есть
|
| SerialPort2
|
5000
|
type: number СОМ порт 2 (serial 2), если есть
|
| SerialPort3
|
0
|
type: number заразервирован
|
| PingTime
|
0
|
type: number (мс) периодически проверять, есть ли связь с GC. 0 - пинг выключен
|
| DisableQueue
|
0
|
type: number не добавлять команды в очередь, если их не удалось отправить
|
| SendCommandAttempts
|
0
|
type: string сколько раз повторить команду, если оптарвка не удалась (0 - не повторять, однократная отправка)
|
| ConnectWaitTimeMax
|
3000
|
type: number (мс) время ожидания соединения
|
| ReceiveWaitTimeMax
|
5000
|
type: number (мс) время ожидания ответа
|
HDL-Buspro
| Host
|
255.255.255.255
|
type: string IP адрес или доменное имя. В локальной сети - широковещательный адрес 255.255.255.255
|
| Port
|
6000
|
type: number порт подключения
|
| SendTimeOut
|
20
|
type: number (мс) принудительный интервал между командами
|
| ConnectMode
|
0
|
type: number 0 - Local, 2 - Internet, 3 - Remote Server
|
| Login
|
User
|
type: string логин (для Internet и Remote Server)
|
| Password
|
User
|
type: string пароль (для Internet и Remote Server)
|
| Project
|
ir_proj
|
type: string имя проекта (для Internet и Remote Server)
|
| ExtendedPort
|
6000
|
type: string порт сервера (для Remote Server)
|
| Group
|
ir_group
|
type: string группа (для Remote Server)
|
// Local (ConnectMode=0)
IR.GetDevice("HDL Buspro UDP").SetParameters({Host: "255.255.255.255", Port: 6000,
SendNeedConfirm: 0, SendTimeout: 20, ConnectMode: 0});
// Internet (ConnectMode=1)
IR.GetDevice("HDL Buspro UDP").SetParameters({Host: "215.110.10.10", Port: 6000,
Login: "User", Password: "User", SendNeedConfirm: 0, SendTimeout: 20, ConnectMode: 2,
Project: "ir_proj"});
// HDL Remote Server (ConnectMode=2)
IR.GetDevice("HDL Buspro UDP").SetParameters({Host: "215.110.10.10", Port: 9999,
Login: "User", Password: "User", SendNeedConfirm: 0, SendTimeout: 20, ConnectMode: 3,
ExtendedPort: 6000, Project: "ir_proj", Group: "ir_group"});
Helvar
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя (отсутствует у Net Internal UDP)
|
| Port
|
50001
|
type: number порт подключения
|
KNX
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя
|
| Port
|
3671
|
type: number порт подключения
|
| ConnectionWaitTime
|
120000
|
type: number (мс) время ожидания при аварийном обрыве соединения: 60000 или 120000 мс (зависит от KNX интерфейса)
|
| SendWaitTime
|
0
|
type: number (мс) пауза между отправкой команд в шину, вводится для снижения загруженности шины
|
| PingTime
|
60000
|
type: number (мс) частота отправки команды Ping для проверки связи с роутером
|
| Nat
|
0
|
type: number режим NAT (включите при работе через Интернет или с несколькими сетевыми интерфейсами)
|
KNX IP BAOS
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя
|
| Port
|
12004
|
type: number порт подключения
|
| UpdateTime
|
0
|
type: number (мс) частота отправки команды Ping для проверки связи с роутером
|
Modbus
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя
|
| Port
|
502
|
type: number порт подключения
|
| UpdateTime
|
1000
|
type: number (мс) частота обновления данных
|
Modbus Serial
| Port
|
1
|
type: number номер СОМ-порта
|
| PortName
|
\\.\COM1
|
type: string имя СОМ-порта
|
| BaudRate
|
19200
|
type: number скорость обмена данными
|
| DataBits
|
8
|
type: number число информационных разрядов в кадре
|
| Parity
|
e
|
type: string контроль четности
|
| StopBits
|
1
|
type: number cтоповый бит в кадре
|
| Use485
|
0
|
type: number использовать транспорт RS485
|
SIP
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя SIP сервера
|
| Port
|
502
|
type: number порт подключения к SIP серверу
|
| CallerID
|
Ben
|
type: string псевдоним абонента
|
| ID
|
Ben
|
type: number, string номер абонента
|
| Password
|
Pwd
|
type: number, string пароль абонента
|
| FirstRTPPort
|
40000
|
type: number первый порт RTP диапазона
|
| LastRTPPort
|
41000
|
type: number последний порт RTP диапазона
|
| ToneDTMF
|
1
|
type: number отправлять DTMF тоны
|
| ToneSIP
|
0
|
type: number отправлять SIP тоны
|
| ExternalIP
|
|
type: string внешний адрес абонента
|
| PCMU
|
1
|
type: number включить/выключить кодек
|
| PCMA
|
1
|
type: number включить/выключить кодек
|
| GSM
|
1
|
type: number включить/выключить кодек
|
| H263
|
1
|
type: number включить/выключить кодек
|
| H263_1998
|
1
|
type: number включить/выключить кодек
|
iRidium Server
| Host
|
192.168.0.100
|
type: string IP адрес или доменное имя
|
| Port
|
30464
|
type: number порт подключения
|
| Login
|
admin
|
type: string логин защищенной сессии
|
| Password
|
admin
|
type: string пароль защищенной сессии
|