IRidium Script API
| Язык прикладного программирования для разработки новых драйверов и расширения графических возможностей. | Обновлено: 31 Марта, 2015 Язык предок: JavaScript Версия языка: 1.5 Спецификация: ECMAScript Edition 3 |
| Drivers API | GUI API | System API |
iRidium Script - cобытийно ориентированные скрипты, позволяющие решить различные задачи:
- работа с графическими объектами (страницы, попапы, итемы). Возможно создание, изменение свойств и удаление элементов.
- работа со звуком
- работа с драйверами: отправка команд, приём данных
- работа с системными тегами
- работа с токенами (системными, драйверными, внутренними переменными проекта)

Содержит методы, функций и события, для управления графической и коммуникационной частью проекта, а также позволяет приложению управлять своим циклом работы и взаимодействовать с операционной системой панели.
Инструменты iRidium являются мультиплатформенными - однажды созданный скрипт или драйвер будет одинаково работать на любой поддерживаемой iRidium операционной системе (iOS/Windows/Android/OS X).
- Основные понятия
- Описание загрузки и выполнение скрипта
- Работа с модулями
- Формирование цепочек команд
- Интеллектуальные подсказки
- Отладка
- Совместимость
- История изменений в API
Варианты создания и запуска скрипта
Обучение iRidium Script (вебинары) >>
GUI API
Набор функций и событий для работы с графическими элементами (кнопками, слайдерами, окнами и т.д.)
| Функции | |
| IR.CreateItem | Создание элемента |
| IR.DeleteItem | Удаление элемента |
| IR.GetItem | Изменение свойств элемента |
| IR.PagesCount | Подсчет количества страниц в проекте |
| IR.PopupsCount | Подсчет количества попапов в проекте |
| IR.CurrentPage | Получение идентификатора открытой странице |
| IR.GetPage | Обращение к странице |
| IR.GetPopup | Обращение к попапу |
| IR.ShowPage | Открыть страницу |
| IR.ShowPopup | Открыть попап |
| IR.HidePopup | Закрыть попап |
| IR.HideAllPopups | Закрыть все попапы |
| ItemsCount | Подсчет количества элементов |
| GetState | Обращение к состоянию элемента |
| События | |
| EVENT_ITEM_PRESS | Событие срабатывает при нажатии на элемент |
| EVENT_ITEM_RELEASE | Событие срабатывает при отпускании |
| EVENT_ITEM_CHANGE | Событие срабатывает при изменении элемента EditBox |
| EVENT_MOUSE_DOWN | Событие срабатывает при зажатии кнопки мыши |
| EVENT_MOUSE_UP | Событие срабатывает при отпускании кнопки мыши |
| EVENT_MOUSE_MOVE | Событие срабатывает при зажатии кнопки мыши и её перемещении |
| EVENT_TOUCH_DOWN | Событие срабатывает при зажатии пальцем элемента на экране |
| EVENT_TOUCH_UP | Событие срабатывает при отпускании пальцем элемента на экране |
| EVENT_TOUCH_MOVE | Событие срабатывает при зажатии пальцем элемента на экране и перемещения пальца |
| EVENT_ITEM_SHOW | Событие срабатывает при показе страницы или попапа |
| EVENT_ITEM_HIDE | Событие срабатывает при скрытии страницы или попапа |
List API
Набор функций и событий для работы со списками
| Функции | |
| IR.CreateItem | Создание списка |
| Имя_Листа.Template | Назначение шаблона для элементов списка |
| Имя_Листа.CreateItem | Создание элемента списка |
| Имя_Листа.Clear() | Очистка списка |
| Имя_Листа.DeleteItem | Удаление элемента списка |
| Имя_Листа.SetPosition | Прокрутка списка до заданного элемента |
| Имя_Листа.Direction | Установка направления списка (вертикальный / горизонтальный) |
| События | |
| IR.EVENT_ITEM_SELECT | Событие срабатывает при нажатии на элемент списка |
| IR.EVENT_LIST_ITEM_CHANGE | Событие срабатывает при изменении значения субэлемента списка |
Gestures API
Набор функций и событий для работы с жестами
| Функции | |
| IR.AddRecognizer | Добавление жеста |
| IR.RemoveRecognizer | Удаление жеста |
| События | |
| IR.EVENT_GESTURE_BEGIN | Событие срабатывает при распознании жеста |
Sound API
Набор функций для работы со звуковыми файлами
| Функции | |
| IR.PlaySound | Проигрывание звукового файла |
| IR.StopSound | Остановка проигрывания звукового файла |
| IR.StopSlot | Остановка проигрывания звукового файла в указанном слоте |
| IR.StopAllSounds | Остановка всех проигрываемых звуков |
Drivers API
Набор функций и событий для работы с драйверами
| Функции | |
| IR.CreateDevice | Создание драйвера |
| Connect | Подключение к устройству |
| Disconnect | Разрыв соединения с устройством |
| IR.GetDevice | Обращение к устройству |
| Set | Установка значения в канал устройства |
| Send | Отправка команды на устройство |
| InvokeAction | Отсылка команды на устройство UPNP |
| Subscribe | Подписка на события UPNP |
| UnSubscribe | Отписка от событий UPNP |
| HtmlDecode | Замена спецсимволов Html |
| JSON.Stringify | преобразование JSON объекта с строку |
| JSON.Parse | преобразование строки в JSON объект |
| new XML | создание XML объекта |
| XML.ToString | преобразование XML объекта в строку |
| SetFeedback | Запись значения в канал обратной связи |
| GetFeedback | Получение значения из канала обратной связи |
| SetParameters | Изменение параметров подключения |
| GetCommandAtName | Обращение к команде по имени или идентификатору |
| GetCommandAtPos | Обращение к команде по индексу позиции |
| GetCommandsCount | Получение количества команд |
| GetFeedbackAtName | Получение значения из канала обратной связи по имени или идентификатору |
| GetFeedbackAtPos | Получение значения из канала обратной связи по индексу позиции |
| GetFeedbacksCount | Получение количества каналов обратной связи |
| HexArrayToAsciiString | Конвертация массива Hex символов в ASCII строку |
| Cобытия | |
| EVENT_RECEIVE_DATA | Получение данных с устройства в байт формате |
| EVENT_RECEIVE_TEXT | Получение строки с устройства |
| EVENT_RECEIVE_EVENT | Получение события с устройства (UPNP Event) |
| EVENT_ONLINE | Соединение с устройством установлено |
| EVENT_OFFLINE | Соединение с устройством потеряно |
| EVENT_TAG_CHANGE | Изменение значения тега |
| EVENT_DEVICE_FOUND | Нахождение UPnP устройства |
| EVENT_CHANNEL_SET | Активация команды |
Tokens API
Набор функций для работы с токенами
Systems API
Позволяет использовать возможности ОС панели, работать с таймерами, управлять приложением и его событиями.
| Операционная система | Таймеры |
| Показать клавиатуру | Отложенный запуск |
| Получить HWID устройства | Повторение действий с промежутком |
| Запустить другое приложение | Удалить таймер |
| Копирование данных в буфер |
| Анимация | Действия с событиями |
| Уточнить значение | Подписаться на событие |
| Создать эффект | Отписаться от события |
Animation API
Позволяет анимировать графические элементы >> Читать документацию
Загрузить библиотеку анимации:
Старые версии библиотеки:
Загрузить скрипт для работы с твинерами по именам
Посетить бесплатный вебинар
iRidium DDK
iRidium DDK - подробная инструкция по написанию драйвера на примере устройства Marantz SR7007
Примеры использования iRidium Script
Примеры использования iRidium Script
- Работа с клавиатурой и полями ввода
- Работа с цветовыми схемами
- Работа со звуками
- Работа с элементами
- Работа со страницами и попапами
- Работа с JSON
- Работа с Xml
- Использование списков
- Использование токенов
Cпособы отладки скриптов
Логирование на Windows
iRidium Log - окно, куда в текстовом виде выводится информация о работе iRidium, уведомления, сообщения об ошибках и логи iRidium Script (IR.Log).
Нажмите F4, чтобы запустить лог iRidium на Windows
Удаленное логирование на iOS/Android/OS X
iRidium Log на iOS/Android/OS X - системный журнал, который iRidium может отправлять по IP на Syslog Server. iRidium Log используется для выявления ошибок и отладки скриптов, его можно отправить на Syslog Server, установленный на ПК.
Активируйте опцию Remote Debugging в настройках i2 Control V2.2
- 192.168.XX.XX - локальный IP-адрес ПК, где запущен Syslog Server
- 514 - порт слушателя Syslog Server
- 8 - глубина логирования (1 - самые критичные уведомления, ... , 8 - все уведомления)
- ON - активация логирования
- Нажмите Apply и перезапустите i2 Control V2.2.
Настройте Syslog сервер:
Установите и настройте любой Syslog Server для Windows на своем ПК, например, www.winsyslog.com. Перезапустите i2 Control V2.2, приложение начнет оправлять системный журнал Syslog cерверу на ПК.
Книги и сайты по JavaScript
Сайты по JavaScript:
- http://www.codecademy.com/ RUS/ENG
- http://javascript.ru/ RUS
- http://learn.javascript.ru/RUS
- http://www.w3schools.com/js/default.aspENG
- http://help.dottoro.com/ljsdaoxj.phpENG
- http://mas-html.narod.ru/js01.htmRUS
Книги по JavaScript:
Автор: Cody Lindley, Язык: ENG
Уровень знаний: средний
Тщательный обзор мировоззрения JavaScript через разбор встроенных объектов и нюансов.
Автор: Marijn Haverbeke, Язык: ENG
Уровень знаний: начинающий
Вводная книга по JavaScript и программирование в целом.
Автор: Alex Young, Язык: ENG
Уровень знаний: продвинутый
Избранные статьи из цикла «Let’s Make a Framework».
Автор: TJ Holowaychuk, Язык: ENG
Уровень знаний: продвинутый
Из этой книги вы узнаете как написать веб сервер с высоко конкурентными соединениями
Автор: E. Hoigaard, Язык: ENG
Уровень знаний: средний
Введение в CoffeScript с акцентом на ясность, абстракции и верификации.
Автор: Manuel Kiessling, Язык: ENG
Уровень знаний: средний
Цель книги дать стартовую точку в разработке приложений под Node.js, параллельно обучая «продвинутому» программированию на JavaScript.
Автор: Rebecca Murphey, Язык: ENG
Уровень знаний: начальный
Создаваемая сообществом книга по JavaScript и jquery.
Автор: Addy Osmani, Язык: ENG
Уровень знаний: начальный
В этой книги рассматриваются классические и современные патерны программирования на JavaScript
Автор: Addy Osmani, Язык: ENG
Уровень знаний: средний
В этой книге рассматривается теория MVC(Модель-представление-контроллер) и о том как разрабатывать приложения использую модели, представления, коллекции и роутинг в Backbone.js
Автор: Alex MacCaw, Язык: ENG
Уровень знаний: продвинутый
Эта книга написана для того чтобы помочь изучить CoffeeScript, понять лучшие практики и начать создавать потрясающие приложения.
Demo Projects
| Страницы и попапы | Создание и удаление страниц/попапов. Изменение свойств страниц и попапов. Работа с ориентацией устройства и прочие методы для работы со страницами и попапами. |
| Графические элементы | Создание и удаление различных элементов. Изменение свойств элементов. Подсчёт количества элементов и свойств элементов |
| Жесты | Подключение, отключение, обработка жестов |
| Токены | Запись и чтение данных из токенов |
| Звуки | Воспроизведение и остановка звука с помощью iRidiumScript |
| Системные токены | Обращение к системным токенам |
| Операции с драйверами | Создание драйверов, произведение рассылки данных |
| Применение списков | Создание и удаление списков. Изменение свойств списков и другие методы работы со списками |
| Клавиатура и поля ввода | Виды вызываемых клавиатур, получение данных с клавиатуры |
| Цветовые схемы | Работа с цветом в iRidiumScript |
| xml-объекты | Работа с xml-объектами в iRidiumScript |
| json-объекты | Работа с json-объектами в iRidiumScript |
Используйте в проектах
Узнать имя элемента на который нажали
Подписаться на нажатия всех элементов в проекте
Загрузить пример "Как сделать свой слайдер для уровня."
Примеры скриптов на часто встречающиеся задачи в проектах
| Реакция на обратную связь | Пример |
| Показать всплывающее окно при получении данных | Включился проектор, показать пульт управления кинотеатром |
| Отравить команду при получении данных | Стало холодно, включить теплый пол |
| Изменить внешний вид кнопки при получении данных | Включен сценарий "Слушать музыку", кнопка должна быть желтой |
| Отобразить видео с IP-камеры при получении данных | Сработал датчик движения - показать камеру наблюдения |
| Переслать данные с одного устройства на другое | |
| Симулировать нажатие на кнопку при получении нужных данных | |
| Изменить внешней вид данных | Температура приходит с двумя числами после запятой, нужно отобразить с одной |
| Заблокировать кнопки при получении нужных данных | Телевизор выключен, сделать кнопки не нажимаемыми |
| Команды по расписанию |
| Отправить команды |
| Отправить данные письмом на почту |
| Расширенная графика |
| Свой слайдер для уровня |
| Круговой уровень |
| Инертные уровни |
| Готовые анимационные эффекты |
| Боковое меню для проекта |
| Drag & Drop элементов |
| Установить картинку на элемент из сети |
| Шаблоны проектов |
| Драйвер TCP |
| Драйвер UDP |
| Драйвер HTTP |
| Драйвер UPNP |
| Драйвер FTP |
| Анимация |
