Материал из for iRidium developers
Перейти к: навигация, поиск
Other languages:
English • ‎русский


С помощью методов 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.name", value)

на входе значение описание
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
значение для записи
на выходе
успешность true type: boolean
успешность записи


Пример

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).Channel 1", "string to display");
// 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 создаст пользовательскую переменную с указанным именем, если она не была создана заранее


IR.GetVariable

запросить состояние переменной

Синтаксис

IR.GetVariable("path.name")

на входе значение описание
path Tokens type: String
указывает путь к переменной и ее тип:
  • System - System Tokens
  • Tokens - Project Tokens
  • Drivers.<driver name> - Driver Tokens
  • 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");
// GUI Tags
    var tag5 = IR.GetVariable("UI.Page 1.Text");
    var tag6 = IR.GetVariable("UI.Page 1.Item 1.Value");
// Server Tags (in iRidium Server only)
    var tag7 = IR.GetVariable("Server.Tags.Virtual 1");
    var tag8 = IR.GetVariable("Server.Tags.AV & Custom Systems (TCP).Feedback 1");
});

алиас для Project Token: IR.GetVariable("Global.name")


System Tokens: чтение и запись

Системные переменные доступны для чтения (некоторые и для записи) только на панелях управления. iRidium Server не дает возможности получить состояние системы с помощью токенов.

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


Режим обновления проектов

IR.SetVariable("System.Update", true);
IR.GetVariable("System.Update");
  • false - обновление проектов выключено
  • true - обновление проектов включено


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

яркость дисплея (управление тегом доступно только на iOS):

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)
  • 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")


Дата

день года

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")


Компас

точность показаний (степень намагниченности)

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")


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

встряхивание

IR.GetVariable("System.Accelerometer.Shake")

координата по Z

IR.GetVariable("System.Accelerometer.Z")

координата по Y

IR.GetVariable("System.Accelerometer.Y")

координата по X

IR.GetVariable("System.Accelerometer.X")


Гироскоп

координата по Z

IR.GetVariable("System.Gyroscope.Z")

координата по Y

IR.GetVariable("System.Gyroscope.Y")

координата по X

IR.GetVariable("System.Gyroscope.X")


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

статус подключения к 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 - датчик сработал


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

возвращает имя ОС, где запущен iRidium

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");


Ориентация панели управления

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
});