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
    Перейти к: навигация, поиск
    Эта страница является переводом страницы Server API. Перевод выполнен на 100%.

    Other languages:
    English • ‎русский
  • Справочник
  • iRidium Server API
  • Содержание

    • 1 iRidium Server API
    • 2 Методы
      • 2.1 IR.GetServer
    • 3 События
      • 3.1 IR.EVENT_ACCEPT
      • 3.2 IR.EVENT_AUTHORIZE
      • 3.3 IR.EVENT_RELEASE
      • 3.4 IR.EVENT_SCHEDULE_EVENT_CHANGE

    iRidium Server API

    Уникальные функции, методы, свойства, которые можно использовать в серверном проекте iRidium (*.sirpz)

    Методы

    Объект IR - глобальный объект, содержащий в себе все функции и константы API iRidium. Методы объекта IR для сервера позволяют обратиться к свойствам сервера в проекте iRidium Server.

    IR.GetServer

    Метод работает только в серверном проекте (*.sirpz), используется для работы с внутренним пространством переменных сервера. Позволяет получить доступ к iRidium Server, как к драйверу и обратиться к любой переменной по ее полному имени. Возвращает объект, к которому применимы методы, поддерживаемые IR.GetDevice.

    Синтаксис

    IR.GetServer()

    на входе значение описание

    -

    на выходе
    Object [object DevicePrototype] type: Object
    ссылка на драйвер


    Пример

    var server = IR.GetServer();  // [object DevicePrototype]
     
    server.Set("Virtual 1", 1);    // set 1 to Virtual Channel
    server.Set("KNX.Address 1", 1);    // set 1 to the Address of KNX driver
     
    IR.AddListener(IR.EVENT_TAG_CHANGE , IR.GetServer(), function(name,value)
    {
       if (name == "KNX.Address 1")	IR.Log("KNX Address Changed");
       if (name == "Virtual 1")	IR.Log("Virtual Tag Changed");
    });

    работает только в серверном проекте
    к объекту, полученному с помощью метода, можно применить те же методы, что к другим драйверам (см. методы, применимые к IR.GetDevice)


    События


    Событие - процесс, проброшенный в скрипты и имеющий идентификатор для отслеживания.

    Слушатель - это функция, которая выполняется в случае срабатывания указанного ей события

    Добавьте слушатель с помощью метода IR.AddListener

    IR.AddListener(event, input, action);
    • event - идентификатор события, за которым следит слушатель
    • input - входной параметр, необходимый для создания слушателя. Если параметра нет, укажите 0
    • action - не именованная функция или ссылка на объявленную функцию, внутри которой выполняются действия
    • pointer - указатель на контекст вызова слушателя (не обязательный). Обратиться к контексту можно с помощью оператора this. Контекст может меняться во время работы программы


    Пример:

    // functions inside of listener
    IR.AddListener(IR.EVENT_TAG_CHANGE, IR.GetDevice("Driver"), function (name, value)
    {
        IR.Log("changes: "+name+" > "+value); // changes: Feedback 1 > 100
    });


    IR.EVENT_ACCEPT

    идентификатор события, которое срабатывает при любой попытке подключения к серверу. Вернет сетевые параметры устройства, которое сделало попытку подключения к серверу. После подключения начнется процесс авторизации устройства на сервере. По завершению авторизации, сработает событие IR.EVENT_AUTHORIZE, которое означает, что авторизация успешно пройдена. Сочетание данных о панели, полученных в событиях ACCEPT и AUTHORIZE дает полную информацию о панели. Связать эти два события можно, опираясь на ID - идентификатор соединения.

    Синтаксис

    IR.AddListener(IR.EVENT_ACCEPT, IR.GetServer(), function (ID, LocalIP, LocalPort, HostIP, HostPort) {});

    на входе значение описание
    driver IR.GetServer() type: object
    ссылка на драйвер iRidium Server
    на выходе
    ID 1 type: string
    порядковый номер панели управления в списке подключенных к серверу
    LocalIP 192.168.0.100 type: string
    локальный IP адрес панели управления
    LocalPort 30464 type: string
    порт на панели управления, открытый для получения данных от сервера
    HostIP 192.168.0.100 type: string
    IP-адрес удаленной системы, из которой панель подключилась к серверу
    HostPort 30464 type: string
    порт удаленной системы, открытый для получения данных от сервера


    Пример

    IR.AddListener(IR.EVENT_ACCEPT, IR.GetServer(), function (ID, LocalIP, LocalPort, HostIP, HostPort)
    {
        var time = IR.GetVariable("System.Time.24");
        IR.Log("Accept Client: "+time+", "+ID+", "+LocalIP+", "+LocalPort+", "+HostIP+", "+HostPort);
    });





    IR.EVENT_AUTHORIZE

    *Функция устарела и не выполняет заявленного в ней, оставлена для совместимости. В данный момент сервер пускает любую панель, вне зависимости от наличия пароля*
    идентификатор события, которое срабатывает при успешном подключении панели управления к серверу. Событие срабатывает после IR.EVENT_ACCEPT и возвращает подробную информацию о подключенном устройстве: идентификатор соединения, HWID панели управления, логин пользователя, идентификатор объекта автоматизации и имя проекта визуализации, запущенного на панели. Сочетание данных о панели, полученных в событиях ACCEPT и AUTHORIZE дает полную информацию о панели. Связать эти два события можно, опираясь на ID - идентификатор соединения.

    Синтаксис

    IR.AddListener(IR.EVENT_AUTHORIZE, IR.GetServer(), function (ID, ObjectId, Login, ProjectName, HWID) {});

    на входе значение описание
    driver IR.GetServer() type: object
    ссылка на драйвер iRidium Server
    на выходе
    ID 1 type: string
    порядковый номер панели управления в списке подключенных к серверу
    ObjectId 7071 type: number
    идентификатор объекта автоматизации в iRidium Cloud, из которого на панель управления загружен проект
    Login user@my.mail type: string
    логин пользователя, авторизованного на панели управления
    ProjectName Project Home type: string
    имя проекта визуализации, запущенного на панели управления
    HWID 69538...a7acf type: string
    уникальный идентификатор панели управления (иногда он может меняться, не используйте HWID как постоянный идентификатор панели!)
    Name DESKTOP-1 type: string
    имя устройства, на котором была подключена панель к серверу.
    Model Windows 6.2 build 9200 sp 0.0 type: string
    модель устройства, на котором была подключена панель к серверу.
    Producer Microsoft Windows 8 x64 type: string
    операционная система устройства, на котором была подключена панель к серверу.
    Version 0.0.3 type: string
    версия операционной системы устройства, на котором была подключена панель к серверу.
    Group 2 type: number
    группа клиента, который подключается к серверу.
    Channel 1 type: number
    переменные, которыми можно управлять.
    Tags 1 type: number
    переменные, от которых можно получить обратную связь


    Пример

    IR.AddListener(IR.EVENT_AUTHORIZE, IR.GetServer(), function (ID, ObjectId, Login, ProjectName, HWID, in_oFullInfo)
    {
       var time = IR.GetVariable("System.Time.24");
       IR.Log("Client Authorized: " + time + ", " + ID + " " + ObjectId + " " + Login + " " + ProjectName + " " + HWID)
       IR.Log(JSON.Stringify(in_oFullInfo))
    });





    IR.EVENT_RELEASE

    идентификатор события, которое срабатывает при отключении панели i3 pro от сервера, и возвращает информацию об этой панели

    Синтаксис

    IR.AddListener(IR.EVENT_RELEASE, IR.GetServer(), function (ID, LocalIP, LocalPort, HostIP, HostPort) {});

    на входе значение описание
    driver IR.GetServer() type: object
    ссылка на драйвер iRidium Server
    на выходе
    ID 1 type: string
    порядковый номер панели управления в списке подключенных к серверу
    LocalIP 192.168.0.100 type: string
    локальный IP адрес панели управления
    LocalPort 30464 type: string
    порт на панели управления, открытый для получения данных от сервера
    HostIP 192.168.0.100 type: string
    IP-адрес удаленной системы, из которой панель подключалась к серверу
    HostPort 30464 type: string
    порт удаленной системы, открытый для получения данных от сервера


    Пример

    IR.AddListener(IR.EVENT_RELEASE, IR.GetServer(), function (ID, LocalIP, LocalPort, HostIP, HostPort)
    {
        var time = IR.GetVariable("System.Time.24");
        IR.Log("Release Client: "+time+", "+ID+", "+LocalIP+", "+LocalPort+", "+HostIP+", "+HostPort);
    });





    IR.EVENT_SCHEDULE_EVENT_CHANGE

    событие начала или окончания любого события из расписания. Событие доступно только на сервере.

    Синтаксис

    IR.AddListener(IR.EVENT_SCHEDULE_EVENT_CHANGE, 0, function(scheduleName, eventName, status){}, [pointer]);

    на входе значение описание
    function(){} function(){} type: function
    не именованная функция или обращение к функции
    pointer - type: object
    указатель на объект, который обслуживает функцию (опционально)
    на выходе
    scheduleName 'Schedule 1' type: string
    имя расписания
    eventName 'Event N' type: string
    имя события
    status 1 type: number
    состояние события:
    1 - IR.SCHEDULE_EVENT_STATE_START - началось,
    2 - IR.SCHEDULE_EVENT_STATE_RUN - работает,
    3 - IR.SCHEDULE_EVENT_STATE_FINISH - завершилось


    Пример

    IR.AddListener(IR.EVENT_SCHEDULE_EVENT_CHANGE, 0, function(scheduleName, eventName, status)
    {
       if (eventName == "Light" && status == IR.SCHEDULE_EVENT_STATE_START) 
       {
          IR.Log("Light on");
       }
       if (eventName == "Light" && status == IR.SCHEDULE_EVENT_STATE_FINISH) 
       {
          IR.Log("Light off");
       }
       if (eventName == "Heating" && status == IR.SCHEDULE_EVENT_STATE_START) 
       {
          IR.Log("Heater on");
       }
       if (eventName == "Heating" && status == IR.SCHEDULE_EVENT_STATE_FINISH) 
       {
          IR.Log("Heater off");
       }   
    });




    Источник — «https://dev.iridi.com/index.php?title=Server_API/ru&oldid=126388»
    Категория:
    • Инструкции
    О нас
    Компания
    Команда
    История
    Философия
    Награды
    Партнерство
    Наши партнеры
    Партнерские программы
    Подать заявку на партнерство
    Продукты
    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

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