Перейти к основному содержимому

API iRidium. Управление тегами

С помощью методов IR.SetVariable и IR.GetVariable вы можете обратиться к свойствам любой сущности проекта iRidium: системная переменная (System Tokens), пользовательская переменная (Project Tokens) , тег драйвера (Driver Tokens, Driver Feedbacks), элемент графического интерфейса.

Для обращения к тегу, необходимо указать в запросе его полное имя:

System Tokens

IR.GetVariable("System.name") - системные переменные. Хранят значения параметров панели управления: время, дата, координаты GPS, и др.

AddSysTokenToItem.png Токен можно привязать к графическому элементу и элемент будет выводить полученную от системы информацию. Значение токена можно передать в скрипт.

Большая часть системных токенов доступна только для чтения: см. список, но часть можно и записывать: см. список

Project Tokens

IR.GetVariable("Tokens.name") - пользовательские переменные. Переменная хранит данные, которые будут доступны для записи и чтения. Записать данные в токен или прочитать их может графический элемент или скрипт.

Tokens_1.png

  • Переменные хранятся в 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))

на входезначениеописание
pathTokenstype: 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)
nameUpdatetype: String
имя переменной
value100type: 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)")

на входезначениеописание
pathTokenstype: 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
nameUpdatetype: String
имя переменной
на выходе
значениеtruetype: 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()

на входезначениеописание
на выходе
successtruetype: 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()

на входезначениеописание
на выходе
successtruetype: 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 - обновление проектов включено

Дисплей устройства

  1. яркость дисплея (управление тегом доступно только на iOS и Android):
IR.SetVariable("System.Display.Bright", 80);
IR.GetVariable("System.Display.Bright")
  • 0...100 - яркость дисплея в процентах
  1. полноэкранный режим работы IR.GetVariable("System.Display.FullScreen")

  2. высота дисплея IR.GetVariable("System.Display.Height")

  3. ширина дисплея IR.GetVariable("System.Display.Width")

  4. ориентация дисплея 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 не дает возможности получить состояние системы с помощью токенов.

Список системных переменных, доступных только на чтение:

Время

  1. секунды IR.GetVariable("System.Time.Seconds")
  2. минуты IR.GetVariable("System.Time.Minutes")
  3. часы IR.GetVariable("System.Time.Hour")
  4. время в 24-часовом формате IR.GetVariable("System.Time.24")
  5. время в 12-часовом формате IR.GetVariable("System.Time.12_AM_PM")
  6. время в формате, установленном для ОС IR.GetVariable("System.Time.Standart")

Токены серверного проекта

  1. время восхода в в 24-часовом формате IR.GetVariable("System.Time.SunRise")

  2. время заката в в 24-часовом формате IR.GetVariable("System.Time.SunSet")

Дата

  1. день года IR.GetVariable("System.Date.DayOfYear")
  2. год IR.GetVariable("System.Date.Year")
  3. день недели (0 - воскресенье ... 6 - суббота) IR.GetVariable("System.Date.DayOfWeek")
  4. месяц IR.GetVariable("System.Date.Month")
  5. день месяца IR.GetVariable("System.Date.Day")
  6. дата в формате ГГГГ_ММ_ДД IR.GetVariable("System.Date.YYYY_MM_DD")
  7. дата в формате ДД_МЕСЯЦ_ГГГГ IR.GetVariable("System.Date.DD_MONTH_YYYY")
  8. дата в формате МЕСЯЦ_ДД_ГГГГ IR.GetVariable("System.Date.MONTH_DD_YYYY")
  9. дата в формате ДД_ММ_ГГГГ IR.GetVariable("System.Date.DD_MM_YYYY")
  10. дата в формате ММ_ДД_ГГГГ IR.GetVariable("System.Date.MM_DD_YYYY")
  11. дата в формате ДД_ММ IR.GetVariable("System.Date.DD_MM")
  12. дата в формате ММ_ДД IR.GetVariable("System.Date.MM_DD")
  13. день недели IR.GetVariable("System.Date.Weekday")

GPS координаты

  1. курс IR.GetVariable("System.Location.Course")
  2. скорость IR.GetVariable("System.Location.Speed")
  3. высота IR.GetVariable("System.Location.Altitude")
  4. долгота IR.GetVariable("System.Location.Longitude")
  5. широта IR.GetVariable("System.Location.Latitude")
  • Поддерживается только на iOS и Android.

Компас

  1. точность показаний (степень намагниченности) IR.GetVariable("System.Magnetic.Accuarcy")
  2. истинный север IR.GetVariable("System.Magnetic.True")
  3. магнитный север IR.GetVariable("System.Magnetic.Heading")
  4. координата по Z IR.GetVariable("System.Magnetic.Z")
  5. координата по Y IR.GetVariable("System.Magnetic.Y")
  6. координата по X IR.GetVariable("System.Magnetic.X")
  • Поддерживается только на iOS и Android.

Акселерометр

  1. встряхивание IR.GetVariable("System.Accelerometer.Shake")
  2. координата по Z IR.GetVariable("System.Accelerometer.Z")
  3. координата по Y IR.GetVariable("System.Accelerometer.Y")
  4. координата по X IR.GetVariable("System.Accelerometer.X")
  • Поддерживается только на iOS и Android.

Гироскоп

  1. координата по Z IR.GetVariable("System.Gyroscope.Z")
  2. координата по Y IR.GetVariable("System.Gyroscope.Y")
  3. координата по X IR.GetVariable("System.Gyroscope.X")
  • Поддерживается только на iOS и Android.

Сетевые подключения

  1. статус подключения к 3G/4G сетям IR.GetVariable("System.Net.Cell")
  • true - есть подключение
  • false - нет подключения
  1. статус подключения к Wi-Fi сети IR.GetVariable("System.Net.WiFi")
  • true - есть подключение
  • false - нет подключения
  1. идентификатор Wi-Fi сети IR.GetVariable("System.Net.SSID")
  • имя WIFi сети

Батарея

  1. Уровень заряда IR.GetVariable("System.Battery.Level")
  2. Статус батареи IR.GetVariable("System.Battery.Status")
  • 1 - не заряжается
  • 2 - заряжается
  • 3 - максимальная зарядка (для iOS)

Громкость

  1. значение громкости IR.GetVariable("System.Sound.Volume")
  2. беззвучный режим IR.GetVariable("System.Sound.Mute")

Датчик приближения

  1. значение датчика IR.GetVariable("System.Proximity")
  • false - датчик не задействован
  • true - датчик сработал

Название операционной системы

  1. имя ОС IR.GetVariable("System.OS.Name");
  • Microsoft windows
  • Microsoft windows CE
  • Apple OSX
  • Apple iOS
  • Android

Тип панели управления

  1. идентификатор версии ОС где запущен 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");

Имя панели управления

  1. сетевое имя панели управления, где запущен 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
});