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

iRidium для Ajax

Набор инструментов для создания интерфейсов управления с использованием драйвера системы безопасности Ajax.

Внимание

Поддержка драйвера временно прекращена!


документация обновлена 19.03.2026

Для ознакомления с возможностями драйвера, используйте пример проекта:

Описание

iRidium для Ajax - это набор инструментов, позволяющий создать интерфейс для управления системой безопасности Ajax.

iRidium для Ajax позволяет панели управления (iOS, Android, Windows, Mac) подключиться к оборудованию через облако производителей Ajax (работает по HTTP протоколу).

примечание
  • Драйвер предназначен только для серверного проекта.

  • Хабу Ajax необязательно находиться в одной локальной сети с iRidium Server. Вы можете узнать состояние охранной системы на удалённом объекте при наличии доступа в интернет.

  • Вы можете подключить к аккаунту в приложении Ajax system несколько хабов Ajax для разных охраняемых объектов.

Протестированное оборудование

Hub, Hub Plus, Hub 2, Hub 2 Plus (в том числе управление хабом через группы), Door protect, Motion protect, Space Control, Door Protect Plus, Motion Protect Plus, MotionCam, MotionCam Outdoor, MotionProtect Outdoor, Motion Protect Curtain, LeaksProtect, Socket, WallSwitch, Relay, Dual Curtain Outdoor, StreetSiren, HomeSiren, KeyPad, Keypad Plus, Button, Double Button, Tag, Pass.

Преимущества

  • Системы Ajax легко дополняются датчиками против вторжения, пожара, затопления и реле для дистанционного управления питанием электроприборов. Вы можете самостоятельно докупить и добавить устройства в систему. Датчики подключаются с помощью мобильного приложения в несколько кликов.
  • Дальность связи хаба с датчиками на открытом пространстве достигает 2000 метров. В условиях квартиры или офиса эта цифра уменьшается из-за перегородок, стен и перекрытий. Перед установкой датчиков можно провести тест радиосвязи с помощью мобильного приложения Ajax Security Systems, чтобы определить уровень сигнала.
  • Датчики Ajax питаются от батарей, а не от сети, как устройства в проводных сигнализациях. Чтобы они защищали дом или офис максимально долго, компания разработала специальный энергоэффективный протокол. Он экономно расходует заряд батарей и они могут работать до 7 лет.
  • Цифровые алгоритмы в датчиках Ajax распознают передвижение человека. Если домашний питомец ниже 50 сантиметров и легче 20 килограмм, то датчики не будут на него реагировать.
  • В автономном режиме (без доступа в интернет) Ajax продолжает выполнять свои защитные функции, как и другие профессиональные системы безопасности: датчики проверяют обстановку и отправляют информацию хабу, а в случае опасности система активирует сирены.
  • Ваш дом будет под охраной при пропаже электропитания. Все датчики Ajax работают от батарей, а в хабе установлен резервный аккумулятор. Он обеспечивает до 16 часов надежной работы. А когда свет включат, хаб автоматически зарядит аккумулятор.

Подключение

Для подключения к оборудованию Ajax необходимо:

  1. Скачайте мобильное приложение Ajax Security System. Приложение доступно в Google Play и App Store;

  2. Зарегистрируйте аккаунт в приложении, добавьте устройства Ajax и распределите их по группам (при необходимости). Логин и пароль от аккаунта Ajax вы используете при добавлении драйвера в iRidium Studio;

  3. Создайте облачный объект с соответствующей лицензией в личном кабинете на сайте iridi.com.

  4. Получите JSON файл со списком устройств. Необходимо авторизоваться на сайте и заполнить все необходимые поля.

  5. Импортируйте JSON файл в iRidium Studio.

  6. Привяжите серверный проект к панельному, настройте логику проекта и пользовательский интерфейс.

  7. После завершения проекта загрузите его в ранее созданный облачный объект.

примечание
  • Стартовый опрос 1 устройства занимает 1 секунду, следовательно для опроса 60 устройств потребуется не менее минуты.

  • Пропущенные уведомления по старту приложения не приходят.

  • Фидбеки состояния устройств опрашиваются по старту сервера, а потом раз в 10 минут (это позволяет не перегружать запросами облачный сервис даже при крупных объектах и нескольких хабах). Уведомления и тревоги приходят с задержкой не более 10 секунд. В случае, если устройство фигурировало в уведомлении или тревоге, оно вновь опрашивается вне очереди для получения максимально актуальной информации о нём.

Внимание
  • Некоторые фидбеки не будут работать при отсутствии подустройства Notification , не удаляйте его для корректной работы драйвера.

Получение JSON файла

  1. Создайте облачный объект с соответствующей лицензией в личном кабинете на сайте iridi.com.

Ajax8.png

  1. Перейдите по ссылке на сайт iridi.com.

  2. Выберите продукт i3pro и стороннего производителя, устройства которого хотите добавить в проект (в нашем случае это Ajax Smart Home Security ).

Ajax0.png

  1. Авторизуйтесь на сайте под учетной записью аккаунта, зарегистрированного на сайте Ajax.

Ajax1.png

  1. Выберите из всплывающего списка созданный ранее объект и нажмите кнопку Link .

Ajax2.png

  1. В открывшемся окне введите имя драйвера Ajax Network и подтвердите линковку (Link object Ajax_cloud with Ajax Systems ).

Ajax3.png

  1. На странице сформируется токен устройств, нажмите Download json for iRidium Studio для получения JSON файла.

Ajax4.png

примечание
  • В случае, если после авторизации на сервисе Ajax прошло слишком много времени, а линковка не была совершена (не скачан файл JSON), перейдите по ссылке снова и повторите описанные выше действия.

Работа в iRidium studio

Добавление драйвера Ajax Network

  1. Создайте серверный проект iRidium studio. Нажмите кнопку импорта файла из JS (Universal import from JS (*.js, *.json)) и выберите сохраненный JSON файл.

Ajax5.png

  1. Выберите устройства, которые хотите добавить в проект.

Ajax9.png

  1. Драйвер со всеми устройствами появится в дереве драйверов проекта.

Ajax7.png

Настройка драйвера:

  • Log Level - уровень логирования;
  • Keep Alive - интервал проверки TCP соединения. В случае отсутствия ответа на запрос Keep Alive, драйвер будет принудительно переведён в состояние отключен;
  • Token - токен драйвера (создаётся автоматически при импорте);
  • Driver Version - версия драйвера.

AjaxSubdevice.png

Настройка устройств:

  • Name - имя устройства (имена в iRidium studio могут отличаться от имен в веб-интерфейсе сервера);
  • Driver Type - Ajax Network;
  • Device ID / Group ID - индивидуальный идентификатор устройства / группы (назначается автоматически при импорте);
  • Device Type - тип устройства (Hub, Door Protect, Motion Protect, Notification, Group);
  • Use Local Time :
    • False - использовать часовой пояс Лондона;
    • True - использовать время сервера.

Настройка команд и фидбеков

SendRecieve.png

Синхронизируйте серверный проект с панельным и настройте команды (Commands) и каналы обратной связи (Feedbacks) для управления оборудованием с графического интерфейса. Чтобы отправить команду, перетяните ее на графический элемент и укажите значение (Value), которое необходимо отправить. Чтобы отобразить значение с канала обратной связи, перетащите Feedback на графический элемент, и укажите, каким образом вывести значение (Value).

Подробнее о работе с графическими элементами написано в статье "Типы графических элементов".

Ниже дана информация о поддерживаемых устройствах Ajax, их командах и обратных связях.

Устройства

Notification

Команда / фидбекВходные / ожидаемые значенияОписание
Command:
Clear Notification Listany valueОчистить текущий список уведомлений.
Feedback:
NotificationListjsonСписок уведомлений.
Во время офлайна сервера уведомления не будут приходить. Вы получите только те уведомления, события которых произошли в то время, когда iRidium Server был онлайн.
Не рекомендуется удалять это подустройство из проекта. Некоторые фидбеки в других подустройствах зависят от работы уведомлений.
Last Notification MessageStringТекст сообщения последнего уведомления.
Last Notification TimeStringВремя последнего уведомления.
Last Notification Colorint 0-4Цветовая индикация уведомления. Цвет определяется со стороны Ajax в зависимости от типа сообщения и его важности: 1 - серый, 2 - зелёный, 3 - оранжевый, 4 - красный. 0 - соответствует отсутствию уведомления, можно использовать как "прозрачный" цвет.

Hub

Команда / фидбекВходные / ожидаемые значенияОписание
Command:
Arm/Disarm0 / 1Включить режим охраны \ Снять с охраны (Arm - 1. Disarm - 0).
Night Mode0 / 1Включение / Выключение ночного режима.
* Если режим управления группами не включен, то Night Mode работает только на включение (для выключения режима необходимо поставить на охрану или снять с неё). В групповом режиме работает как 0/1.
Group Mode On/Off0 / 1Режим управления группами (On - 1, Off - 0).
* Группы задаются в приложении Ajax, их следует формировать до импорта JSON файла.
* Групповой режим можно включать или выключать только если Хаб снят с охраны
Panic!any valueКнопка тревоги.
Feedback:
Arm/Disarm0 / 1Состояние режима охраны (Arm - 1. Disarm - 0).
Night Mode0 / 1Ночной режим (On - 1, Off - 0).
Group Mode0 / 1Режим управления группами (On - 1, Off - 0).
Battery0-100Процент уровня заряда внутренней батареи хаба.
Online0 / 1Онлайн \ Оффлайн хаба ( 0 - offline, 1 - online).
Tampered0 / 1Вскрыта ли крышка хаба (0 - Not tampered, 1 - tampered).
Arm malfunction listjsonСписок проблем при постановке оборудования на охрану. Данные приходят в момент постановки хаба на охрану при активированном режиме целостности системы (см. в приложении Ajax). В список проблем входят незакрытые двери, садящиеся батарейки, открытые крышки устройств и др.
* Система встанет на охрану даже несмотря на имеющиеся предупреждения.
* Для вывода списка ошибок на лист, ознакомьтесь с инструкцией по использованию фидбека Arm malfunction list.

Door Protect

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Онлайн \ Оффлайн устройства (0 - offline, 1 - online).
TemperaturevalueТемпература датчика в Цельсиях.
Tampered0 / 1Вскрыта ли защитная крышка (0 - Not tampered, 1 - tampered).
Battery0-100Процент уровня заряда внутренней батареи датчика.
Open/Close0 / 1Состояние датчика двери (0 - Opened, 1- Closed).
Arm in Night Mode0 / 1Постановка на охрану в ночном режиме
(0 - не охраняется в ночном режиме,
1 - охраняется в ночном режиме).

Motion Protect

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Онлайн \ Оффлайн устройства (0 - offline, 1 - online).
TemperaturevalueТемпература датчика в Цельсиях.
Tampered0 / 1Вскрыта ли защитная крышка (0 - Not tampered, 1 - tampered).
Battery0-100Процент уровня заряда внутренней батареи датчика.
Motion0 / 1Состояние датчика движения (0 - not detected, 1 - motion detected).
Arm in Night Mode0 / 1Постановка на охрану в ночном режиме
(0 - не охраняется в ночном режиме,
1 - охраняется в ночном режиме).

Group

Команда / фидбекВходные / ожидаемые значенияОписание
Command:
Arm/Disarm0 / 1Поставить / Снять группу устройств с охраны (0 - disarm, 1 - arm).
Настроить и создать группы устройств необходимо в приложении до импорта!
Feedback:
Arm/Disarm0 / 1Состояние группы устройств (0 - disarm, 1 - arm).

MotionCam

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Tampered0 / 1Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта).
Battery0 - 100Процент уровня заряда внутренней батареи датчика.
Motion0 / 1Датчик движения (0 - не обнаружено, 1 - обнаружено движение).
* Для вывода фотографий, сделанных при активации датчика движения необходимо ознакомится с инструкцией по использованию уведомлений типа Photo.
Arm in Night Mode0 / 1Постановка на охрану в ночном режиме
(0 - не охраняется в ночном режиме,
1 - охраняется в ночном режиме).

Dual Curtain Outdoor

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Tampered0 / 1Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта).
Battery0 - 100Процент уровня заряда внутренней батареи датчика.
Arm in Night Mode0 / 1Постановка на охрану в ночном режиме
(0 - не охраняется в ночном режиме,
1 - охраняется в ночном режиме).
Motion Left0 / 1Движение занавеса влево (0 - не обнаружено, 1 - обнаружено движение).
Motion Right0 / 1Движение занавеса вправо (0 - не обнаружено, 1 - обнаружено движение).
Detector View Blocked Left0 / 1Ошибка о блокировки левого датчика
(0 - преград для работы левого датчика не обнаружено,
1 - левый датчик преграждён).
Detector View Blocked Right0 / 1Ошибка о блокировки правого датчика
(0 - преград для работы правого датчика не обнаружено,
1 - правый датчик преграждён).

MotionCam Outdoor

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Tampered0 / 1Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта).
Battery0 - 100Процент уровня заряда внутренней батареи датчика.
Motion0 / 1Датчик движения (0 - не обнаружено, 1 - обнаружено движение).
* Для вывода фотографий, сделанных при активации датчика движения необходимо ознакомится с инструкцией по использованию уведомлений типа Photo.
Arm in Night Mode0 / 1Постановка на охрану в ночном режиме
(0 - не охраняется в ночном режиме,
1 - охраняется в ночном режиме).
Detector View Blocked0 / 1Ошибка о блокировки датчика
(0 - преград для работы датчика не обнаружено,
1 - датчик преграждён).

Leaks Protect

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Tampered0 / 1Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта).
Battery0 - 100Процент уровня заряда внутренней батареи датчика.
Leaks Detection0 / 1Датчик протечки (0 - не обнаружено, 1 - обнаружена протечка).
* Для вывода фотографий, сделанных при активации датчика движения необходимо ознакомится с инструкцией по использованию уведомлений типа Photo.
Arm in Night Mode0 / 1Постановка на охрану в ночном режиме
(0 - не охраняется в ночном режиме,
1 - охраняется в ночном режиме).

Motion Protect Plus

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Tampered0 / 1Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта).
Battery0 - 100Процент уровня заряда внутренней батареи датчика.
Motion0 / 1Датчик движения (0 - не обнаружено, 1 - обнаружено движение).
Arm in Night Mode0 / 1Постановка на охрану в ночном режиме
(0 - не охраняется в ночном режиме,
1 - охраняется в ночном режиме).

Motion Protect Outdoor

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Tampered0 / 1Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта).
Battery0 - 100Процент уровня заряда внутренней батареи датчика.
Motion0 / 1Датчик движения (0 - не обнаружено, 1 - обнаружено движение).
Detector View Blocked0 / 1Ошибка о блокировки датчика
(0 - преград для работы датчика не обнаружено,
1 - датчик преграждён).

Door Protect Plus

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Tampered0 / 1Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта).
Battery0 - 100Процент уровня заряда внутренней батареи датчика.
Open/Close0 / 1Датчик открытия/закрытия двери (0 - закрыта, 1 - открыта).

WallSwitch

Команда / фидбекВходные / ожидаемые значенияОписание
Command:
On\Off0/1Настенный выключатель (0 - выключить, 1 - включить).
Feedback:
On/Off0 / 1Настенный выключатель (0 - выключен, 1 - включён).
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Voltageany valueНапряжение, поданное на устройство.
Electric Energy Consumedany valueЭнергопотребление устройства в кВт/ч.

Socket

Команда / фидбекВходные / ожидаемые значенияОписание
Command:
On\Off0/1Розетка (0 - выключить, 1 - включить).
Feedback:
On/Off0 / 1Розетка (0 - выключен, 1 - включён).
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Voltageany valueНапряжение, поданное на устройство.
Electric Energy Consumedany valueЭнергопотребление устройства в кВт/ч.

Relay

Команда / фидбекВходные / ожидаемые значенияОписание
Command:
On\Off0/1Реле (0 - выключить, 1 - включить).
Feedback:
On/Off0 / 1Реле (0 - выключено, 1 - включено).
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Voltageany valueНапряжение, поданное на устройство.

Motion Protect Curtain

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Tampered0 / 1Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта).
Battery0 - 100Процент уровня заряда внутренней батареи датчика.
Motion0 / 1Датчик движения (0 - не обнаружено, 1 - обнаружено движение).
Arm in Night Mode0 / 1Постановка на охрану в ночном режиме
(0 - не охраняется в ночном режиме,
1 - охраняется в ночном режиме).

HomeSiren

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Tampered0 / 1Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта).
Battery0 - 100Процент уровня заряда внутренней батареи датчика.
Arm in Night Mode0 / 1Постановка на охрану в ночном режиме
(0 - не охраняется в ночном режиме,
1 - охраняется в ночном режиме).

Keypad

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Tampered0 / 1Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта).
Battery0 - 100Процент уровня заряда внутренней батареи датчика.

Keypad Plus

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Tampered0 / 1Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта).
Battery0 - 100Процент уровня заряда внутренней батареи датчика.

StreetSiren

Команда / фидбекВходные / ожидаемые значенияОписание
Feedback:
Online0 / 1Состояние оборудования (0 - offline, 1 - online).
Temperatureany valueТемпература датчика в Цельсиях.
Tampered0 / 1Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта).
Battery0 - 100Процент уровня заряда внутренней батареи датчика.
Arm in Night Mode0 / 1Постановка на охрану в ночном режиме
(0 - не охраняется в ночном режиме,
1 - охраняется в ночном режиме).

Настройка фидбэка Notification List

  1. Создаём графический элемент Advanced list. Он будет в будущем списком, в котором будут храниться уведомления. Для удобства можно сделать Advanced list в вертикальной ориентации.

  2. Создайте попап (шаблон листа) и заполняем его следующими элементами:

  • Multistate level - отображает цветовую индикацию уведомлений (0 - оставить прозрачным, 1 - серый, 2- зеленый, 3 - оранжевый, 4 - красный).
  • Label 1 - отображает время, в которое пришло уведомление.
  • Label 2 - отображает текст уведомления.

Ajax11.png

  1. В настройках Advanced list перейдите на вкладку Template setting , нажмите кнопку Add и выберите папап шаблона для уведомлений, который мы подготовили ранее.

Ajax12.png

  1. Выделяем добавленный попап и прописываем в поле Code: type .

Ajax13.png

  1. Для настройки темплейта нужно открыть его двойным кликом. Затем добавить туда лейблы. В строке Type - введите event, затем добавляем следующие лейблы с нужными токенами: Item 1.Value, Item 2.Text, Item 3.Text.

После добавления лейблов, пропишите каждому из них значение Value. Для записи в строках Value, нужно кликнуть по строке 2 раза. Value для лейблов:

  • Item 1.Value - eventType,
  • Item 2.Text - text,
  • Item 3.Text - time.

Ajax14.png

  1. После настройки лейблов и темплейтов, привяжите фидбек Notification List на элемент Advanced List. Для этого нажмите на элемент Advanced List, затем перейдите в Data source в настройках листа. Выбираем Driver > Feedbacks > Notification List . На этом этапе - настройка листа с уведомлениями завершена!

Ajax10.png

примечание

Если Вы планируете использовать в вашем проекте устройства MotionCam или MotionCam Outdoor , то для поддержки просмотра фотографий при срабатывании датчика вам следует создать попап-шаблон и настроить его на приходящий тип уведомлений для устройств с камерой. Для этого необходимо выполнить следующие пункты:

  1. Создайте попап-шаблон для уведомлений с показом фотографий. Можно использовать предыдущий шаблон для уведомлений, но добавить туда кнопку для открытия попапа с покадровой анимацией от камеры.

Ajax20.png

  1. Создайте попап, на котором будет отображаться анимация из кадров. Для отображения серии снимков используйте Multistate button .

Ajax21.png

  1. Настройте желаемую скорость анимации снимков в параметре Time up элемента Multistate button .

Ajax22.png

  1. Запрограммируйте кнопку в шаблоне уведомлений на открытие попапа с анимацией кадров. Действие можно привязать к событию Press или Release .

Ajax23.png

  1. Добавьте в свой проект следующий скрипт:
var g_oMultistatePopup = IR.GetItem('VideoPopup'); // popup where your multistate elemnt is located
var g_oMultistateElement = g_oMultistatePopup.GetItem('Video'); // your multistate element

IR.AddListener(IR.EVENT_LIST_ITEM_CHANGE, IR.GetItem("Main").GetItem("List notification"), function(itemID, subItemID, event_type, object, index) {
switch(event_type) {
case IR.EVENT_LIST_ITEM_RELEASE:
{
var data = JSON.Parse(IR.GetVariable("Drivers.iRidium Server.Ajax Network.Notification:Notification List"));
var photos = data[index].photos;
if(photos) {
g_oMultistateElement.Visible = true;
var item = g_oMultistatePopup.GetItem('Multistate AJAX Photo');
if(item)
IR.DeleteItem(item);
item = g_oMultistateElement.Clone('Multistate AJAX Photo');
g_oMultistateElement.Visible = false;
for(var i = 0; i < photos.length; i++) {
//IR.Log(photos[i]);
if(item.GetState(i)) {
item.GetState(i).ImageStretch = 2;
item.GetState(i).Image = photos[i];
} else {
item.CreateState();
item.GetState(i).ImageStretch = 2;
item.GetState(i).Image = photos[i];
}

}
IR.SetTimeout(2000, function() {
item.Feedback = 3; // feedback ON for multistate to work
});
}
break;
}
}
});

Настройка фидбэка Arm Malfunction List

Фидбек предназначен для вывода списка проблем при постановке хаба в режим охраны. Фидбек сработает при условии, что в настройках хаба приложения Ajax включена функция Проверка целостности системы .

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

  1. Создайте попап. Этот попап будет диалоговым окном, появляющимся при обнаружении проблем.

  2. Разместите на попапе графический элемент Advanced list :

  3. Выберите в качестве источника данных фидбэк Arm Malfunction List :

Ajax15.png

  1. Создайте попап-шаблон под сообщение о неисправности. На попапе должен быть графический элемент, который в дальнейшем будет отображать текст сообщения.

Ajax16.png

  1. Дважды щёлкните ЛКМ по элементу Advanced list. В появившемся окне нажмите + и выберите ваш попап-шаблон для сообщений. В поле Code: введите type :

Ajax17.png

  1. Откройте настройки шаблона, дважды кликнув ЛКМ по появившемуся названию вашего попапа-шаблона.

  2. Нажмите + для добавления нового объекта.

  3. Выберите свойство Text того графического элемента на попапе-шаблоне, который будет использоваться для отображения текста сообщения.

  4. Впишите text правее от указанного пути к свойству текста элемента. А в поле Type в нижней части окна впишите malfunction .

Ajax18.png

  1. Нажмите ОК , чтобы завершить настройку списка неисправностей.

  2. Для вызова попапа с сформированным списком используйте следующий скрипт:

var HubName = "Cottage Hub"
var MalfunctionListPopup = IR.GetPopup("Arm malfunction list Hub ")

IR.AddListener(IR.EVENT_TAG_CHANGE , IR.GetDevice("iRidium Server"), function(name,value)
{
//Arm Malfunction List
if (name == "Ajax Network.Notification:Last Notification Message" && (value.indexOf("armed w") != -1) && (value.indexOf(HubName) != -1))
{
IR.ShowPopup(MalfunctionListPopup.Name)
}
})

Пример настройки push-уведомлений

Вы можете настроить в серверном проекте Push-уведомления на ваш смартфон или планшет (доступно для iOS и Android). Это необходимо для своевременного информирования в случае срабатывания сигнализации или других предупредительных оповещениях системы Ajax.

За степень важности уведомления отвечает фидбек Last Notification Color . Чтобы получать Push-уведомления только о срабатывании сигнализации, в пятой строке замените value >= 3 на value == 4 .

IR.AddListener(IR.EVENT_START, 0, function () {
IR.AddListener(IR.EVENT_TAG_CHANGE , IR.GetDevice("Ajax Network"), function(name,value)
{
IR.Log( "~~~TagChange: " + name + " - " + value);
if (name == "Notification:Last Notification Time")
{

IR.SetTimeout(100, PushAlarm)
}
})
});
function PushAlarm()
{
if (IR.GetVariable("Drivers.Ajax Network.Notification:Last Notification Color") == 4)
{
var message = IR.GetVariable("Drivers.Ajax Network.Notification:Last Notification Message");
IR.SendPush(message, "", 1, status, this , 1);
}
}
function status (object) {
IR.Log('Status of Push: ' + object.Error + ' - ' + object.ErrorDescription);
}
примечание

Подробная информация о настройке push-уведомлений в статье Push-уведомления.