API iRidium. Управление тегами
С помощью методов IR.SetVariable и IR.GetVariable вы можете обратиться к свойствам любой сущности проекта iRidium: системная переменная (System Tokens), пользовательская переменная (Project Tokens) , тег драйвера (Driver Tokens, Driver Feedbacks), элемент графического интерфейса.
Для обращения к тегу, необходимо указать в запросе его полное имя:
System Tokens
IR.GetVariable("System.name") - системные переменные. Хранят значения параметров панели управления: время, дата, координаты GPS, и др.
Токен можно привязать к графическому элементу и элемент будет выводить полученную от системы информацию. Значение токена можно передать в скрипт.
Большая часть системных токенов доступна только для чтения: см. список, но часть можно и записывать: см. список
Project Tokens
IR.GetVariable("Tokens.name") - пользовательские переменные. Переменная хранит данные, которые будут доступны для записи и чтения. Записать данные в токен или прочитать их может графический элемент или скрипт.
- Переменные хранятся в Project Device Panel
- В переменную можно записать число или строку (DEC или ASCII).
- Их можно создавать, удалять, делать копии, сортировать между собой и группировать по папкам.
- Данные в переменных можно сохранять (или не сохранять) после закрытия приложения iRidium.
- Записать данные в переменную можно командой с элемента или из iRidium Script
Driver Tokens
IR.GetVariable("Drivers.Driver name.Online") - состояние драйвера, доступно только для чтения, см. список
Driver Feedbacks
IR.GetVariable("Drivers.Driver name.Channel name") - состояние канала обратной связи драйвера, имя канала отображается в списке Feedbacks. Можно читать и записывать
Свойство страницы или элемента
IR.GetVariable("UI.Page 1.Item 1.Text") - свойство страницы, попапа или графического элемента. Можно читать и записывать
Теги сервера в iRidum Server
IR.GetVariable("Server.Tags.Virtual Tag 1") / IR.GetVariable("Server.Tags.Driver.Tag 1") - в проекте iRidium Server позволяет обратиться к пользовательским переменным и каналам обратной связи драйверов, созданным на сервере.
IR.SetVariable
записать значение в переменную System Token
Синтаксис
IR.SetVariable("[path](#irsetvariable).[name](#irsetvariable)", [value](#irsetvariable))
| на входе | значение | описание |
|---|---|---|
| path | Tokens | type: String указывает путь к переменной и ее тип: System - System Tokens Tokens - Project Tokens* Drivers.<driver name> - Driver Tokens, Driver Feedbacks* UI.<page name> - Page (Popup) tags* *UI.<page name>.<item name> ** - Item tags Server.Tags - переменная сервера (Virtual Tags, Driver Tags) |
| name | Update | type: String имя переменной |
| value | 100 | type: string значение для записи, number |
| на выходе | ||
|---|---|---|
| - |
Пример
IR.AddListener(IR.EVENT_START, 0, function()
{
// System Tokens
IR.SetVariable("System.Update", false);
// Project Tokens
IR.SetVariable("Tokens.My Var", 100);
IR.SetVariable("Tokens.Str 1", "data string");
//Driver Tokens
IR.SetVariable("Drivers.AV & Custom Systems (TCP).Feedback 1", "My string");
IR.SetVariable("Drivers.AV & Custom HTTP Network.AV & Custom Systems:AV Control Feedback", 0)
// GUI Tags
IR.SetVariable("UI.Page 1.Text", "Hello World!");
IR.SetVariable("UI.Page 1.Item 1.Value", 100);
// Server Tags (in iRidium Server only)
IR.SetVariable("Server.Tags.Virtual 1", 0);
IR.SetVariable("Server.Tags.AV & Custom Systems (TCP).Feedback 1", 100);
});
Примечания
- алиас для Project Token:
IR.SetVariable("Global.name", value) - вызов метода IR.SetVariable для Project Token создаст пользовательскую переменную с указанным именем, если она не была создана заранее
- метод нельзя использовать для передачи данных с панели на сервер через Feedback
IR.GetVariable
запросить состояние переменной
Синтаксис
IR.GetVariable("[path](#irgetvariable).[name](#irgetvariable)")
| на входе | значение | описание |
|---|---|---|
| path | Tokens | type: String указывает путь к переменной и ее тип: System - System Tokens Tokens - Project Tokens* Drivers.<driver name> - Driver Tokens, Driver Feedbacks UI.<page name> - Page (Popup) tags* **UI.<page name>.<item name> ** - Item tags |
| name | Update | type: String имя переменной |
| на выходе | ||
|---|---|---|
| значение | true | type: string, number значение переменной |
Пример
IR.AddListener(IR.EVENT_START, 0, function()
{
// System Tokens
var tag1 = IR.GetVariable("System.Update");
// Project Tokens
var tag2 = IR.GetVariable("Tokens.My Var 1");
// Driver Tokens
var tag3 = IR.GetVariable("Drivers.AV & Custom Systems (TCP).Online");
var tag4 = IR.GetVariable("Drivers.AV & Custom Systems (TCP).Channel 1");
var tag5 = IR.GetVariable("Drivers.AV & Custom HTTP Network.AV & Custom Systems:AV Control Feedback")
// GUI Tags
var tag6 = IR.GetVariable("UI.Page 1.Text");
var tag7 = IR.GetVariable("UI.Page 1.Item 1.Value");
// Server Tags (in iRidium Server only)
var tag8 = IR.GetVariable("Server.Tags.Virtual 1");
var tag9 = IR.GetVariable("Server.Tags.AV & Custom Systems (TCP).Feedback 1");
});
Примечания
алиас для Project Token: IR.GetVariable("Global.name")
IR.SaveConfig
Включает сохранение токена скриптовым методом при выключении проекта.
Синтаксис
IR.SaveConfig()
| на входе | значение | описание |
|---|---|---|
| на выходе | ||
|---|---|---|
| success | true | type: boolean true |
Пример
IR.AddListener(IR.EVENT_START,0,function()
{
IR.SetInterval(10000, save); //Каждые 10 секунд запускается функция "save".
})
function add() { //Функция для активации записи в токен.
var val = IR.GetVariable("Global.test");
val++;
IR.SetVariable("Global.test", val);
IR.SetVariable("Global.test1", val);
IR.SetVariable("Global.test2", val);
IR.SetVariable("Global.test3", val);
IR.SetVariable("Global.test4", val);
}
function save(){ //Включает сохранение токенов.
IR.SaveConfig();
}
IR.ClearProjectTokens
Сбрасывает значения токенов проекта к значениям по умолчанию.
Синтаксис
IR.ClearProjectTokens()
| на входе | значение | описание |
|---|---|---|
| на выходе | ||
|---|---|---|
| success | true | type: boolean true |
Пример
IR.AddListener(IR.EVENT_START, 0, function () {
IR.ClearProjectTokens();
});
Примечания
Если у токена не задано значение по умолчанию, то он не очистится.
System Tokens: чтение и запись
Системные переменные доступны для чтения (некоторые и для записи) только на панелях управления. iRidium Server не дает возможности получить состояние системы с помощью токенов.
Список системных переменных, доступных на чтение и запись:
Режим обновления проектов
IR.SetVariable("System.Update", true);
IR.GetVariable("System.Update");
- false - обновление проектов выключено
- true - обновление проектов включено
Дисплей устройства
- яркость дисплея (управление тегом доступно только на iOS и Android):
IR.SetVariable("System.Display.Bright", 80);
IR.GetVariable("System.Display.Bright")
- 0...100 - яркость дисплея в процентах
-
полноэкранный режим работы
IR.GetVariable("System.Display.FullScreen") -
высота дисплея
IR.GetVariable("System.Display.Height") -
ширина дисплея
IR.GetVariable("System.Display.Width") -
ориентация дисплея
IR.GetVariable("System.ViewOrientation")- 1 - вертикально, кнопка Home сверху
- 2 - вертикально, кнопка Home снизу
- 3 - горизонтально, кнопка Home слева (по-умолчанию)
- 4 - горизонтально, кнопка Home справа
Вибрация
короткая вибрация (активирует вибро-мотор на короткое время), только для iOS и Android IR.SetVariable("System.Vibro", 1.5);
- 1.5 - длительность короткой вибрации в секундах (для Android); в iOS длительность вибрации не регулируется, следует всегда устанавливать значение 1.
Скринсейвер
управление демонстрацией скринсейвера на всех ОС
// set
IR.SetVariable("System.Screensaver.Show", 1) // 1 - show, 0 - hide
// get
IR.GetVariable("System.Screensaver.Show") // 1 - showed, 0 - hided
Скринсейвер можно показать, только если тег "Screensaver.Enable" не равен нулю
- 0 - закрыть скринсейвер
- 1 - показать скринсейвер, доступно, только если задержка включения не равна нулю
// set
IR.SetVariable("System.Screensaver.Enable", 0) // disable screensaver
IR.SetVariable("System.Screensaver.Enable", 10000) // enable screensaver with interval of 10000 ms
// get
IR.GetVariable("System.Screensaver.Enable") // interval of scrrensaver in ms, 0 when disabled
Скринсейвер можно включить, если задержка > 0. Установка нулевой задержки выключает скринсейвер
- 0 - убрать задержку включения. При этом скринсейвер выключается
- 10000 - включить скринсейвер с указанной задержкой (мс)
System Tokens: только чтение
Системные переменные доступны для чтения (некоторые и для записи) только на панелях управления. iRidium Server не дает возможности получить состояние системы с помощью токенов.
Список системных переменных, доступных только на чтение:
Время
- секунды
IR.GetVariable("System.Time.Seconds") - минуты
IR.GetVariable("System.Time.Minutes") - часы
IR.GetVariable("System.Time.Hour") - время в 24-часовом формате
IR.GetVariable("System.Time.24") - время в 12-часовом формате
IR.GetVariable("System.Time.12_AM_PM") - время в формате, установленном для ОС
IR.GetVariable("System.Time.Standart")
Токены серверного проекта
-
время восхода в в 24-часовом формате
IR.GetVariable("System.Time.SunRise") -
время заката в в 24-часовом формате
IR.GetVariable("System.Time.SunSet")
Дата
- день года
IR.GetVariable("System.Date.DayOfYear") - год
IR.GetVariable("System.Date.Year") - день недели (0 - воскресенье ... 6 - суббота)
IR.GetVariable("System.Date.DayOfWeek") - месяц
IR.GetVariable("System.Date.Month") - день месяца
IR.GetVariable("System.Date.Day") - дата в формате ГГГГ_ММ_ДД
IR.GetVariable("System.Date.YYYY_MM_DD") - дата в формате ДД_МЕСЯЦ_ГГГГ
IR.GetVariable("System.Date.DD_MONTH_YYYY") - дата в формате МЕСЯЦ_ДД_ГГГГ
IR.GetVariable("System.Date.MONTH_DD_YYYY") - дата в формате ДД_ММ_ГГГГ
IR.GetVariable("System.Date.DD_MM_YYYY") - дата в формате ММ_ДД_ГГГГ
IR.GetVariable("System.Date.MM_DD_YYYY") - дата в формате ДД_ММ
IR.GetVariable("System.Date.DD_MM") - дата в формате ММ_ДД
IR.GetVariable("System.Date.MM_DD") - день недели
IR.GetVariable("System.Date.Weekday")
GPS координаты
- курс
IR.GetVariable("System.Location.Course") - скорость
IR.GetVariable("System.Location.Speed") - высота
IR.GetVariable("System.Location.Altitude") - долгота
IR.GetVariable("System.Location.Longitude") - широта
IR.GetVariable("System.Location.Latitude")
- Поддерживается только на iOS и Android.
Компас
- точность показаний (степень намагниченности)
IR.GetVariable("System.Magnetic.Accuarcy") - истинный север
IR.GetVariable("System.Magnetic.True") - магнитный север
IR.GetVariable("System.Magnetic.Heading") - координата по Z
IR.GetVariable("System.Magnetic.Z") - координата по Y
IR.GetVariable("System.Magnetic.Y") - координата по X
IR.GetVariable("System.Magnetic.X")
- Поддерживается только на iOS и Android.
Акселерометр
- встряхивание
IR.GetVariable("System.Accelerometer.Shake") - координата по Z
IR.GetVariable("System.Accelerometer.Z") - координата по Y
IR.GetVariable("System.Accelerometer.Y") - координата по X
IR.GetVariable("System.Accelerometer.X")
- Поддерживается только на iOS и Android.
Гироскоп
- координата по Z
IR.GetVariable("System.Gyroscope.Z") - координата по Y
IR.GetVariable("System.Gyroscope.Y") - координата по X
IR.GetVariable("System.Gyroscope.X")
- Поддерживается только на iOS и Android.
Сетевые подключения
- статус подключения к 3G/4G сетям
IR.GetVariable("System.Net.Cell")
- true - есть подключение
- false - нет подключения
- статус подключения к Wi-Fi сети
IR.GetVariable("System.Net.WiFi")
- true - есть подключение
- false - нет подключения
- идентификатор Wi-Fi сети
IR.GetVariable("System.Net.SSID")
- имя WIFi сети
Батарея
- Уровень заряда
IR.GetVariable("System.Battery.Level") - Статус батареи
IR.GetVariable("System.Battery.Status")
- 1 - не заряжается
- 2 - заряжается
- 3 - максимальная зарядка (для iOS)
Громкость
- значение громкости
IR.GetVariable("System.Sound.Volume") - беззвучный режим
IR.GetVariable("System.Sound.Mute")
Датчик приближения
- значение датчика
IR.GetVariable("System.Proximity")
- false - датчик не задействован
- true - датчик сработал
Название операционной системы
- имя ОС
IR.GetVariable("System.OS.Name");
- Microsoft windows
- Microsoft windows CE
- Apple OSX
- Apple iOS
- Android
Тип панели управления
- идентификатор версии ОС где запущен iRidium
IR.GetVariable("System.OS.Device");
-
при запуске на ОС Windows
- 1 - ОС Windows x86 32 / 64 bit
-
при запуске на Mac OS X
- 1 - Mac OS X PPC
- 2 - Mac OS X X86 32 bit
- 3 - Mac OS X X86 64 bit
-
При запуске на iOS
- 1 - iPhone
- 2 - iPad
-
При запуске на Android
- 1 - смартфон
- 2 - планшет
Версия операционной системы
в разработке
IR.GetVariable("System.OS.Version");
Имя панели управления
- сетевое имя панели управления, где запущен iRidium
IR.GetVariable("System.Device.Name");
Начиная с iOS 18, Apple ужесточила требования к доступу к пользовательскому имени устройства. Наше приложение не соответствует новым критериям, из-за чего токен может возвращать некорректные данные или пустые значения на устройствах с iOS 18+.
- Чтобы изменить имя устройства, перейдите в системные настройки Android → Система → О телефоне → Имя устройства.
- Корректная работа токена Device.Name гарантирована только на устройствах iRidi Touch Panel. На сторонних Android-устройствах поведение может отличаться в зависимости от версии прошивки и производителя.
Ориентация панели управления
IR.GetVariable("System.Orientation");
- 1 - вертикально, кнопка Home/Menu внизу экрана
- 2 - вертикально, кнопка Home/Menu вверху экрана
- 3 - горизонтально, кнопка Home/Menu справа экрана
- 4 - горизонтально, кнопка Home/Menu слева экрана
- 5 - горизонтально, экраном вверх
- 6 - горизонтально, экраном вниз
- 0 - в процессе смены положения
Driver Tokens
Переменные драйвера доступны только для чтения. Набор переменных одинаков для любого драйвера.
IR.AddListener(IR.EVENT_START, 0, function()
{
// Driver Tokens
var tag1 = IR.GetVariable("Drivers.AV & Custom Systems.Online"); // Online..Offline = 1..0
var tag2 = IR.GetVariable("Drivers.AV & Custom Systems.Status"); // Offline..Connecting..Online..Waiting = 0..1..2..3
var tag3 = IR.GetVariable("Drivers.AV & Custom Systems.Host"); // domain name of remote equipment
var tag4 = IR.GetVariable("Drivers.AV & Custom Systems.HostPort"); // port of remote device
var tag5 = IR.GetVariable("Drivers.AV & Custom Systems.IP"); // IP address of Control Panel
var tag6 = IR.GetVariable("Drivers.AV & Custom Systems.HostIP"); // IP address of remote equipment
var tag7 = IR.GetVariable("Drivers.AV & Custom Systems.Port"); // local port on Control Panel
});