Logo Logo ru
  • iRidi Pro
    Основные компоненты
    • Приложение i3 Pro
    • iRidi Pro Server
    • iRidi Studio
    • iRidium studio v. 1.3.8 (устаревшая версия)
    Java Script в iRidi
    • Руководство
    • Справочник
    • Примеры
    • JS драйвера
    другие
    • Личный Кабинет
    • iRidium Cloud
    • iRidium Transfer
    • Push-уведомления
    • Лучшая практика
    Лицензирование
    • Лицензирование и передача проекта
    • Оффлайн-лицензирование
    • Активация iRidi Pro Server
  • Продукты
    i3 lite
    • Приложение i3 lite
    • Регистрация и лицензирование
    • Сервер
    • Модули
    KNX Home Server
    • Приложение i3 KNX
    • KNX Home Server
    BUS77 HOME SERVER
    • Приложения Bus77 Home и Bus77 Lite
    • Bus77 Home Server
    Решения
    • BYOD - решение для гостиниц
    • Портал жителя - решение для МКД
    iRidi SCADA
    • iRidi SCADA
  • Bus77
    НАСТРОЙКА BUS77
    • Основы Bus77
    • Приложения Bus77 Home и Bus77 Lite
    • Работа с драйвером Bus77 в iRidi Studio
    • Настройка шины Bus77 в iRidi Studio
    ПРОТОКОЛ BUS77
    • Характеристики CAN (Bus77)
    • Описание протокола
    • Исходники на GitHub
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
  • Поддерживаемое оборудование
    Драйверы
    • Список драйверов
    • ProAV драйвера
    • AV & Custom Systems
    • JS драйвера
    • Сторонние драйвера и фриланс
    Протоколы и интерфейсы
    • Голосовое управление
    • 1-Wire
    • BACnet IP
    • Bus77
    • KNX
    • KNX IP BAOS
    • Weinzierl kBerry
    • Microsoft Exchange
    • Modbus
    • MQTT
    • NFC
    • ODBC
    • Onvif
    • SIP
    • SNMP
    • Wake On Lan
    • Z-Wave
    • ZigBee
    Производители
    • AMX
    • AVCiT
    • Beckhoff ADS
    • Biamp Tesira
    • Bluesound
    • Casambi
    • BSS Harman
    • Clipsal
    • ControlArt 7Port
    • Crestron
    • DigiBird
    • Domintell
    • Duotecno
    • EIDE
    • EPSNET
    • Global Cache
    • HDL Buspro
    • Helvar
    • IEAST
    • INELS BUS
    • INELS Wireless
    • Intesis
    • Kleger
    • Kramer VIA
    • Kramer 3000
    • Larnitech
    • Legrand Netatmo
    • LG TV
    • Lutron
    • Lutron Homeworks QS
    • MyHome
    • Nest
    • Novastar
    • Panasоnic PTZ
    • Philips Dynalite
    • PJLink
    • Satel
    • SamsungTV
    • Sonos
    • Somfy
    • SpinetiX
    • Televic Conference
    • TIS
    • Tion
    • URRI
    • Velbus
    • Velocio
    • Vinteo
    • WyreStorm
    • WiiM
    • Xicato
    • Yamaha
    • ZONT
    • Z-Wave.me
    Протестированное оборудование
    • Панель HDL S57
    • Панель HDL S10
    • SIP-домофон
    • Akuvox
    • Arlight
    • Divus
    • QBic TD-1050 PRO
    • QBic TD-1060 Slim
    • QBic TD-1070
    • Sigur
    • Uni-Ubi
    • Velocio
  • Оборудование iRidi

    Серверы
    • HS Сервер
    • ProAV Control Processor Basic
    • ProAV Control Processor Advanced
    • Спецификация контроллеров UMC
    • Настройка контроллера UMC C2
    • Настройка контроллера UMC C3
    • Настройка контроллера HDL IntelliCenter 2 (UMC C4)
    Модули расширения
    • I-PX-RS1
    • I-PX-RS4
    • I-PX-IR3
    KNX
    • KNX Home Server
    • KNX IP Interface
    Панели управления
    • iRidium Panel 7
    • Touch Panel P3
    • Touch Panel P6
    • Touch Panel P8
    • Touch Panel P10
    • Tabletop Touch Panel 10
    • AV Remote Control
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
    • Differences
Сайт iRidium mobile
Содержание
    Инструменты‌
    • Сведения о странице
    • Постоянная ссылка
    • Версия для печати
    • Спецстраницы
    • Связанные правки
    • Ссылки сюда
    Login / Create Account
    Материал из for iRidium developers
    Перейти к: навигация, поиск
    Эта страница является переводом страницы AV & Custom Systems. Перевод выполнен на 100%.

    Other languages:
    English • ‎русский

    Содержание

    • 1 iRidium для AV & Custom Systems
    • 2 Описание
    • 3 Подключение
      • 3.1 Способы подключения
        • 3.1.1 AV & Custom Systems (Client)
        • 3.1.2 AV & Custom Systems (Server)
        • 3.1.3 Смена настроек подключения
      • 3.2 Настройка команд
        • 3.2.1 AV & Custom Systems (TCP, UDP, RS232)
        • 3.2.2 AV & Custom Systems (WebSocket)
          • 3.2.2.1 ASCII (строка)
          • 3.2.2.2 HEX (шестнадцатеричный)
          • 3.2.2.3 DEC (десятичный)
        • 3.2.3 AV & Custom Systems (HTTP)
          • 3.2.3.1 Метод GET
          • 3.2.3.2 Методы POST и PUT
      • 3.3 Custom TCP, UDP, HTTP Network
    • 4 Отправка команд
    • 5 Обратная связь
    • 6 Сохранение и использование созданного драйвера

    iRidium для AV & Custom Systems

    набор инструментов для создания интерфейсов управления оборудованием по TCP, UDP, HTTP(s), RS232. Позволяет настроить произвольный список команд и получить обратную связь с помощью JavaScript

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

    обучение:
    вебинары и видео-уроки >>

    скачать:

    • Список готовых решений на базе AV & Custom Systems


    Описание

    iRidium может отправлять ASCII, DEC, HEX команды по TCP, UDP, HTTP(s) и RS232 и получать обратную связь от оборудования с помощью JavaScript. Без использования скриптов можно настроить команды для оборудования, со скриптами - обратную связь.

    Настройте команды любому оборудованию, управление которым ранее не было реализовано в iRidium. Например: домашний кинотеатр, мультирум, ТВ, DVD/BluRay, iTunes, XBMC, матричный коммутатор, предусилитель. Управлять оборудованием можно напрямую, по Wi-Fi или Ethernet, или через преобразователь IP-to-RS232, IP-to-IR (такой как Global Cache).


    Лицензирование iRidium для AV & Custom Systems (подробно):

    • Device License Pro (AV & Custom Systems) - лицензия на одну панель управления. Позволяет отправлять команды и обрабатывать данные от оборудования, подключение к которому производится через драйверы AV & Custom Systems.


    Если вам нужно подключаться к оборудованию несколько панелей управления, а оборудование имеет ограничения по количеству одновременных соединений, используйте iRidium Server

    Подключение

    Конфигурация оборудования и настройки для того, чтобы iRidium начал управлять оборудованием по IP.


    Способы подключения

    В зависимости от того, какой способ управления поддерживает ваше оборудование, можно выбрать драйвер AV & Custom Systems и настроить его для работы с конкретным устройством.


    AV & Custom Systems (Client)

    Весь основной список драйверов AV & Custom Systems в iRidium содержит драйверы клиентского типа - они могут подключиться к "серверу" - оборудованию системы автоматизации, для отправки команд и получения данных.

    HowItWorksTCP.png


    В зависимости от способа управления выберите:
    • AV & Custom Systems (TCP)
    • AV & Custom Systems (UDP)
    • AV & Custom Systems (HTTP)
    • AV & Custom Systems (RS232)
    • AV & Custom Systems (WebSocket)


    Параметры подключения AV & Custom Systems (TCP):

    • Host - IP адрес или доменное имя
    • Port - TCP порт подключения
    • Mode - режим подключения к оборудованию
      • Always Connected - постоянно подключен
      • Connect when Sending - подключен только в момент отправки команды. Не работает обратная связь, но команды можно отправлять с разных устройств, не занимая соединение
    • SSL - включить/выключить SSL
    • Auth type - тип аутентификации:
      • Basic - использует незашифрованную кодировку base64,
      • Digest - шифрование учетных данных;
    • Script Mode - определяет, куда отправлять команды
      • Direct and Script - сразу отправлять команду оборудованию и дублировать ее в скрипт
      • Script Only - отправлять команду только в скрипт (при нажатии на кнопку, команда не отправится)
    • Disable Queue - выключить очередь отправки команд в iRidium, чтобы данные не копились при проблемах отправки. 0 - false, 1 - true
    • Send Command Attempts - сколько раз пытаться отправить команду, если не было подтверждения доставки, 0 - не повторять отправку
    • Wait for Connection - (мс) время ожидания связи (иначе подключаемся еще раз)
    • Wait for Data - (мс) время ожидания ответа от оборудования (иначе повторяем запрос и проверяем связь). Поставьте 0, если нужно, чтобы драйвер не отключался от оборудования при отсутствии данных

    Параметры подключения AV & Custom Systems (UDP):

    • Host - IP адрес или доменное имя
    • Port - UDP порт подключения
    • Auth type - тип аутентификации:
      • Basic - использует незашифрованную кодировку base64,
      • Digest - шифрование учетных данных;
    • Script Mode - определяет, куда отправлять команды
      • Direct and Script - сразу отправлять команду оборудованию и дублировать ее в скрипт
      • Script Only - отправлять команду только в скрипт (при нажатии на кнопку, команда не отправится)
    • Local Port - UDP порт открытый на стороне панели управления (сюда будут приходить данные от управляемого оборудования). Может отличаться от внешнего порта (открытого на стороне оборудования)
    • Multicast - использовать режим мультикаст соединения
      • Group - мультикаст группа


    Параметры подключения AV & Custom Systems (HTTP):

    • Host - IP адрес или доменное имя
    • Port - TCP порт подключения (обычно 80)
    • Login / Password - логин и пароль для аутентификации, в зависимости от заданного Auth type
    • SSL - включить/выключить SSL
    • User Agent - идентификационная строка клиентского приложения iRidi
    • Auth type - тип аутентификации:
      • Basic - использует незашифрованную кодировку base64,
      • Digest - шифрование учетных данных;
    • Script Mode - определяет, куда отправлять команды
      • Direct and Script - сразу отправлять команду оборудованию и дублировать ее в скрипт
      • Script Only - отправлять команду только в скрипт (при нажатии на кнопку, команда не отправится)
    • Disable Queue - выключить очередь отправки команд в iRidium, чтобы данные не копились при проблемах отправки. 0 - false, 1 - true
    • Send Command Attempts - сколько раз пытаться отправить команду, если не было подтверждения доставки, 0 - не повторять отправку
    • Wait for Connection - (мс) время ожидания связи (иначе переподключаемся)
    • Wait for Data - (мс) время ожидания ответа от оборудования (иначе повторяем запрос и проверяем связь). Поставьте 0, если нужно, чтобы драйвер не отключался от оборудования при отсутствии данных

    Параметры подключения AV & Custom Systems (RS232):

    • Port - номер СОМ-порта
    • Baud Rate - скорость обмена данными
    • Data Bits - число информационных разрядов в кадре
    • Parity - контроль четности.
    • Stop Bits - cтоповый бит в кадре
    • Auth type - тип аутентификации:
      • Basic - использует незашифрованную кодировку base64,
      • Digest - шифрование учетных данных;
    • Script Mode - определяет, куда отправлять команды
      • Direct and Script - сразу отправлять команду оборудованию и дублировать ее в скрипт
      • Script Only - отправлять команду только в скрипт (при нажатии на кнопку, команда не отправится)


    Параметры подключения AV & Custom Systems (WebSocket):

    • Host - IP-адрес или доменное имя.
    • Port - TCP порт подключения (обычно 80).
    • SSL - включить/выключить SSL.
    • Path - путь к ресурсу.
    • Headers - необязательное поле для добавление ключей в заголовок. Можете записать несколько ключей, разделяя их переносом строки.


    AV & Custom Systems (Server)

    Кроме основного списка, существуют драйверы для создания TCP и UDP сервера на базе свободно настраиваемого драйвера AV & Custom Systems. Их можно создать только командами JavaScript.

    Информация о создании драйверов с помощью JavaScript в iRidium.

    Пример создания драйвера AV & Custom Systems (TCP Server).


    Смена настроек подключения

    Возможность смены параметров подключения нужна, если вы отключаетесь от Wi-Fi сети объекта автоматизации и начинаете использовать 3G или другую Wi-Fi сеть. Чтобы управление продолжило работать, нужно переключиться с локального на публичный IP адрес интернет-маршрутизатора.

    Переключение не происходит автоматически, вам нужно будет нажать на клавишу выбора режима соединения. Для возможности удаленного доступа необходимо сделать порты управления системой автоматизации публичными. Для этого настраивают службу Port Forwarding на интернет-маршрутизаторе. Защищенное соединение может обеспечить VPN.


    1 Скачайте шаблон (*.js) (правая кнопка: "Сохранить объект как..."), добавьте шаблон в редактор скриптов Icon Scripts.png клавишей (+) Add Script from file


    2 Настройте параметры скрипта, как показано в примере:

    function Internal_1() {
    IR.GetDevice("AV & Custom Systems (TCP)").SetParameters({Host: "192.168.0.100", Port: 8080, SendMode: IR.ALWAYS_CONNECTED, ScriptMode: IR.DIRECT_AND_SCRIPT, DisableQueue: false, SendCommandAttempts: 0, ConnectWaitTimeMax: 0, ReceiveWaitTimeMax: 0});
    }
    function External_1() {
    IR.GetDevice("AV & Custom Systems (TCP)").SetParameters({Host: "215.110.10.10", Port: 8081});
    }

    Скопируйте имя драйвера из Projсet Device Panel, список параметров нужно скопировать из примера в точности.


    3 Выберите кнопку, которая будет отвечать за переключение Internal и External параметров. Откройте Macros Editor для события Press (Object Properties > Programming), выберите команду Script Call и добавьте ее двойным кликом. Выберите имя функции, которую вызовет кнопка:

    Script call internal-external.png

    Теперь каждое нажатие на кнопку будет применять соответствующий набор настроек подключения.

    Примеры:

    //AV & Custom Systems (TCP)
    IR.GetDevice("AV & Custom Systems (TCP)").SetParameters({Host: "192.168.0.100", Port: 8080, SendMode: IR.ALWAYS_CONNECTED, ScriptMode: IR.DIRECT_AND_SCRIPT, DisableQueue: false, SendCommandAttempts: 0, ConnectWaitTimeMax: 0, ReceiveWaitTimeMax: 0, LogLevel: 0, BackgroundMode: 0});
     
    //AV & Custom Systems (UDP)
    IR.GetDevice("AV & Custom Systems (UDP)").SetParameters({Host: "192.168.0.100", Port: 6001, ScriptMode: IR.DIRECT_AND_SCRIPT, LocalPort: 8080, Group: "224.0.0.1", Multicast: 1});
     
    //AV & Custom Systems (WebSocket)
    IR.GetDevice("AV & Custom Systems (WebSocket)").SetParameters({Host: “192.168.0.100”, Port:80, Path:l_baseURL+"&token=" + l_Token, SSL: 0, Headers: “Sec-WebSocket-Extensions: client_max_window_bits”});
     
    //AV & Custom Systems (HTTP)
    IR.GetDevice("AV & Custom Systems (HTTP)").SetParameters({Host: "192.168.0.100", Port: 80, Login: "admin", Password: "pass", UseSSL: true, UserAgent: "iRidium", ScriptMode: IR.DIRECT_AND_SCRIPT, DisableQueue: false, SendCommandAttempts: 0, ConnectWaitTimeMax: 0, ReceiveWaitTimeMax: 0});
     
    //AV & Custom Systems (RS232)
    IR.GetDevice("AV & Custom Systems (RS232)").SetParameters({Port: 1, BaudRate: 19200, Bits: 8, Parity: "e", StopBit: 1, ScriptMode: 1});


    Настройка команд

    AV & Custom Systems (TCP, UDP, RS232)

    Команды AV & Custom Systems (TCP, UDP, RS232) имеют одинаковые настройки. Они могут передать оборудованию строку данных в формате HEX, DEC, ASCII.

    AV-TCP-CommandFeedback.png
    • Name - имя команды. По нему можно вызывать команду из скрипта
    • Data - данные, которые команда передает оборудованию. Они могут быть записаны в формате HEX, DEC, ASCII. В зависимости от формата меняются правила оформления данных
    • Disable Header - профессиональная настройка заголовков, имеет значение только в случае, если вы создали устройство в своей базе данных и указали в его настройках преамбулу - часть команды, которая будет добавляться к любым введенным в поле Data данным (см. редактор базы данных)


    Настройка обратной связи:

    • Name - имя канала обратной связи. Используя это имя, JavaScript можете передать в графический интерфейс данные, полученные от оборудования. Вся работа с обратной связью производится в скриптах.


    Команду в поле Data нужно оформить в соответствии с синтаксисом iRidium, чтобы программа правильно определила, как нужно отправлять ваши данные (как строку, HEX-код или числа):

    AV & Custom Systems (WebSocket)

    Драйвер применяется для работы c медиаустройствами, например, телевизорами Samsung серии RU/R/Q*R(2019).

    Пример:Samsung RU/R/Q*R

    Команды AV & Custom Systems (WebSocket) могут передать оборудованию строку данных в формате HEX, DEC, ASCII.

    WebSocket.png
    • Name - имя команды. По нему можно вызывать команду из скрипта;
    • Data - данные, которые команда передает оборудованию. Они могут быть записаны в формате HEX, DEC, ASCII. В зависимости от формата меняются правила оформления данных;
    • Data type - тип передаваемых данных:
      • Text - на вход принимаются текстовые данные, записанные в обработанном виде согласно синтаксису iRidium;
      • Bytes - байтовые данные;
      • Value as text - принимает числовые и текстовые данные, в том числе значения с графических элементов и отправляет их в виде текста. При работе через скрипт реализован метод .SendText() принимающий только текст.


    Настройка обратной связи:

    • Name - имя канала обратной связи. Используя это имя, JavaScript можете передать в графический интерфейс данные, полученные от оборудования. Вся работа с обратной связью производится в скриптах.


    Команду в поле Data нужно оформить в соответствии с синтаксисом iRidium, чтобы программа правильно определила, как нужно отправлять ваши данные (как строку, HEX-код или числа):

    ASCII (строка)

    Оформление ASCII строки в поле Data:

    • обособьте строку 'одинарными кавычками'
    • в конце строки добавьте
      ,$0D - возврат каретки <CR>
      ,$0A - конец строки<LF>


    Оформление команды:

    В документации: PWR01 <CR> VOLUME 50 <CR> <LF>
    Формат: ASCII ASCII
    В iRidium (поле Data): 'PWR01',0x0D 'VOLUME 50',0x0D,0x0A


    Оформление возврата каретки <CR> и конца строки <LF>:

    В документации: <CR> <CR> <CR> <LF> <LF> <LF>
    Формат: HEX HEX DEC HEX HEX DEC
    В iRidium (поле Data): ,0x0D ,$0D ,13 ,0x0A ,$0A ,10


    HEX (шестнадцатеричный)

    Оформление HEX символов в поле Data:

    • Перед каждым HEX символом поставьте 0x или $
    • Уберите лишние обозначения перед НЕХ кодами, например: 0Ah >> $0A
    • Разделите НЕХ символы запятыми, уберите все пробелы
    • в конце строки добавьте
      ,$0D - возврат каретки <CR>
      ,$0A - конец строки<LF>


    В документации: 16 8A FF 81 <CR> 19h EEh A1h 00h <CR> <LF>
    Формат: HEX HEX
    В iRidium(поле Data): 0x16,0x8A,0xFF,0x81,0x0D $19,$EE,$A1,$00,0x0D,0x0A


    Оформление возврата каретки <CR> и конца строки <LF>:

    В документации: <CR> <CR> <CR> <LF> <LF> <LF>
    Формат: HEX HEX DEC HEX HEX DEC
    В iRidium (поле Data): ,0x0D ,$0D ,13 ,0x0A ,$0A ,10


    DEC (десятичный)

    Оформление десятичных чисел в поле Data:

    • Разделите числа запятыми, уберите все пробелы
    • в конце строки добавьте
      ,$0D - возврат каретки <CR>
      ,$0A - конец строки<LF>


    В документации: 01 255 255 15 <CR> 01 10 25 255 <CR> <LF>
    Формат: DEC DEC
    В iRidium(поле Data): 01,255,255,15,13 01,10,25,255,13,10


    Оформление возврата каретки <CR> и конца строки <LF>:

    В документации: <CR> <CR> <CR> <LF> <LF> <LF>
    Формат: HEX HEX DEC HEX HEX DEC
    В iRidium (поле Data): ,0x0D ,$0D ,13 ,0x0A ,$0A ,10

    AV & Custom Systems (HTTP)

    Команды драйвера AV & Custom Systems (HTTP) могут быть переданы одним из методов:

    • GET - получить. Передать идентификатор ресурса: URI
    • POST - добавить, изменить, удалить. Передать блок данных
    • PUT - добавить, заменить. Передать блок данных

    Отправка HTTP команд возможна с помощью графических элементов (описана ниже).

    Для отправки HTTP команд с помощью JavaScript имеется специализированный метод .SendEx, также возможно использование методов .Set и .Send.


    Метод GET

    Внесите GET запрос окно URI:

    • удалите часть запроса, где хранится IP адрес ресурса и порт обращения к ресурсу
    • добавьте тело запроса в окно в URI, включая слеш / в начале:
      • от запроса httр://<host>:<port>/<url> оставьте только /<url> в поле URI настроек команды


    В документации: httр://192.168.0.100:81/cgi-bin/do?cmd=ir_code=B748BF00
    В iRidium (поле URI): /cgi-bin/do?cmd=ir_code=B748BF00
    GETrequestinGUI.png


    Методы POST и PUT

    Выделите значимые части запроса и внесите в поля URI и Data:

    • в URI добавьте идентификатор ресурса
    • в Data добавьте тело запроса - это может быть большой набор данных. Целиком обособьте его 'одинарными кавычками'


    Пример 1:

    В документации (POST): POST /YamahaRemoteControl/ctrl HTTP/1.1

    Accept: */*
    Accept-Language: ru
    Referer: http://192.168.10.102/
    Content-Type: text/xml; charset=UTF-8
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET
    CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; BRI/2)
    Host: 192.168.10.100
    Content-Length: 105
    Connection: Keep-Alive
    Cache-Control: no-cache
    Cookie: mstnc=1

    <YAMAHA_AV cmd="PUT"><System><Power_Control><Power>Standby</Power></Power_Control></System></YAMAHA_AV>

    В iRidium (поле URI): /YamahaRemoteControl/ctrl
    В iRidium (поле Data): '<YAMAHA_AV cmd="PUT"><System><Power_Control><Power>Standby</Power></Power_Control></System></YAMAHA_AV>'


    Пример 2:

    В документации (POST): POST /WAN/dvdr/dvdr_ctrl.cgi? HTTP/1.1

    User-Agent: MEI-LAN-REMOTE-CALL
    Host: 192.168.1.105
    Content-Length: 39

    cCMD_RC_POWER.x=100&cCMD_RC_POWER.y=100

    В iRidium (поле URI): /WAN/dvdr/dvdr_ctrl.cgi?
    В iRidium (поле Data): 'cCMD_RC_POWER.x=100&cCMD_RC_POWER.y=100'
    POSTrequestinGUI.png

    Custom TCP, UDP, HTTP Network

    Custom TCP Network, Custom UDP Network, Custom HTTP Network - это способ организации драйверов AV & Custom Systems, которые должны подключаться на один и тот же Host и Port. Этот способ позволит вам не создавать отдельный канал соединения для каждого драйвера и удобно обращаться к командам и каналам драйверов с помощью Java Script API. Команда и каналы могут иметь одинаковые имена, устройства внутри Network - нет.

    В Network можно добавить только драйвер AV & Custom Systems с тем же транспортом, что у Network.

    CustomNetwork.png

    Драйвер Custom Network будет доступен по его имени, как все остальные драйверы. Вложенные в драйвер команды будут доступны как: <имя устройства>:<имя команды>

    Например, добавим сеть Custom TCP Network, в нее поместим драйвер AV & Custom Systems (TCP) с именем Device 1 и добавим в этот драйвер команду Power On. Обращение к драйверу и его командам через Java Script:

    // Set: IR.GetDevice(driver).Set(command, value)
    IR.GetDevice("Custom TCP Network").Set("Device 1:Power On", "")
     
    // Send: IR.GetDevice(name).Send([data])
    IR.GetDevice("Custom TCP Network").Send(['instruction', '\r\n']);


    Отправка команд

    Отправить команду можно с помощью кнопки или через скрипт.


    1 Для однократной отправки команды, привяжите ее на событие Press или Release:

    AV 1 Press.png

    2 Для создания макро-команды добавьте несколько команд на Press или Release :

    AV 2 Macro.png

    Между командами можно добавить задержку Delay(), чтобы регулировать скорость их отправки


    3 Для циклической отправки команды при удержании кнопки Выберите Press и Hold :

    AV 3 Hold.png

    Настройки Hold находятся в Object Properties > General:

    • Hold Time (мс) - время, через которое активируется Hold при удержании элемента
    • Repeat Time (мс) - интервал повторения команд из события Hold.


    4 команды можно отправить через JavaScript. Используйте для отправки методы .Set(), .Send() или .SendEx() из Drivers API:

    var device = IR.GetDevice("AV & Custom Systems (TCP)");
    var HTTP_device = IR.GetDevice("AV & Custom Systems (HTTP)");
    var CommandString = 'comand data /1';
    var CommandName = "COMMAND";
     
    IR.AddListener(IR.EVENT_ONLINE , device, function() 
    {
        device.Set(CommandName, "");            // .Set command by name
        device.Send([CommandString,0x0D]);        // .Send command as string
        HTTP_device.SendEx({                                 // .SendEx command as HTTP-text
          Type: "GET",        															
          Url:  "/command",
          Headers: {
            "Connection": "Close",
            "Accept-Language": "en",
            "Content-Type": "application/json",
            "Transfer-Encoding": "chunked",
            "Accept": "application/xml;"
          },
          cbReceiveText:   function(text, code, headers)    {IR.Log("cbReceiveText "+text);}
       });
    });

    Оформление ИК команды для метода Send подробно описано в iTach API.

    Обратная связь

    Обратную связь от оборудования, управляемого с помощью AV & Custom Systems, можно получить только с помощью JavaScript. Это обусловлено тем, что программа заранее не знает, к какому оборудованию подключится, соответственно, не может определить формат и тип данных, которые могут быть получены.


    Функции, используемые при обработке входящих данных, описаны в Drivers API. Они работают только с лицензией, которая поддерживает обратуню связь от скриптовых драйверов ("Pro" лицензия). На практике, лицензия активирует работу слушателей

    • IR.EVENT_RECEIVE_DATA - получение данных с устройства в байт формате
    • IR.EVENT_RECEIVE_TEXT - получение данных с устройства в строковом формате


    Все остальные методы и события JavaScript работают с любыми лицензиями.


    Пример обработки входящих данных с помощью JavaScript:

    var driver = IR.GetDevice("AV (TCP)");
    // IR.EVENT_RECEIVE_TEXT makes you able to parse incomming data from equipment 
    IR.AddListener(IR.EVENT_RECEIVE_TEXT, driver, function(text) 
    {
       // divide the received data by '\r\n' to get the separated strings
       var strings = text.split('\r\n');
       var string;
       while(string = strings.shift())
       {
    		// divide the string into parts with separator comma (it would be space or something else)
    		var parts = string.split(",");
    		switch(parts[0])
    		{
    		  // if the first part of devides string = "#OK"
    		  case "#OK":    
    			 // for equuipment it means that we are ready to work
    			 IR.Log("Ready to control!");
    		  break;
     
    		  // if the first part of devides string = "#RID"
    		  case "#RID":
    		  // the second part should be "ALL", third part shouldn't be empty
    		  if (parts[1] == 'ALL' && parts[2]) 
    		  {
    			 //devide the third part into 12 parts to know the status on 12 variables we got in this feedback
    			 var slots = parts[2];
    			 for(var i = 0; i < 12; i++)
    			 {
    				var slot = parseInt(slots.substring(i, i+1));
    				a_dOutputs[i] = slot;
    				var fName = "OUT "+(i+1);   
    				// in AV driver we have a preconfigured Feedback channels with name OUT 1 ... OUT 12
    				//so we can write the received data in this feedbacks and display on items  
    				driver.SetFeedback(fName, slot);
    			 }
    		  }
    		break;
    		}	
    	}
    });

    Сохранение и использование созданного драйвера

    Созданный AV & Custom Systems драйвер можно сохранить в качестве заготовки в панель Images, сохранённые таким образом драйвера будут удобно расположены в одном разделе доступном из студии.

    1 Откройте раздел Images.

    2 Щелкните ЛКМ в свободной области в окне с папками и создайте новую папку для будущих драйверов (в нашем примере AV & Custom Systems drivers).

    3 Зажмите ЛКМ на папке проекта в панели управления страницами и перетащите в хранилище папки AV & Custom Systems drivers. Ваш драйвер сохранится и будет доступен в следующих проектах из этой папки.

    AV save1.png


    Для использования в новом проекте, перетащите его в рабочую область из хранилища папки AV & Custom Systems driver.

    AV save2.png


    Источник — «https://dev.iridi.com/index.php?title=AV_%26_Custom_Systems/ru&oldid=121577»
    Категория:
    • Инструкции
    О нас
    Компания
    Команда
    История
    Философия
    Награды
    Партнерство
    Наши партнеры
    Партнерские программы
    Подать заявку на партнерство
    Продукты
    iRidium pro
    iRidium lite
    iRidium gate
    iRidium server
    Загрузки
    iRidium pro
    iRidium lite
    Другие версии
    Маркетинговые материалы
    Поддержка
    Онлайн курсы/Видео
    Рекомендуемое оборудование
    Другие версии
    iRidium pro
    Документация
    FAQ
    Форум
    iRidium lite
    Документация
    Форум
    Проекты
    Типовые проекты
    Умные здания
    Умные дома
    Специальные решения
    Найти дилера
    Новости
    Youtube
    Twitter
    VK
    Logo
    contact@iridi.com
    +7 (499) 322-73-29

    Политика конфиденциальности