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 необходимо:
-
Скачайте мобильное приложение Ajax Security System. Приложение доступно в Google Play и App Store;
-
Зарегистрируйте аккаунт в приложении, добавьте устройства Ajax и распределите их по группам (при необходимости). Логин и пароль от аккаунта Ajax вы используете при добавлении драйвера в iRidium Studio;
-
Создайте облачный объект с соответствующей лицензией в личном кабинете на сайте iridi.com.
-
Получите JSON файл со списком устройств. Необходимо авторизоваться на сайте и заполнить все необходимые поля.
-
Импортируйте JSON файл в iRidium Studio.
-
Привяжите серверный проект к панельному, настройте логику проекта и пользовательский интерфейс.
-
После завершения проекта загрузите его в ранее созданный облачный объект.
-
Стартовый опрос 1 устройства занимает 1 секунду, следовательно для опроса 60 устройств потребуется не менее минуты.
-
Пропущенные уведомления по старту приложения не приходят.
-
Фидбеки состояния устройств опрашиваются по старту сервера, а потом раз в 10 минут (это позволяет не перегружать запросами облачный сервис даже при крупных объектах и нескольких хабах). Уведомления и тревоги приходят с задержкой не более 10 секунд. В случае, если устройство фигурировало в уведомлении или тревоге, оно вновь опрашивается вне очереди для получения максимально актуальной информации о нём.
- Некоторые фидбеки не будут работать при отсутствии подустройства Notification , не удаляйте его для корректной работы драйвера.
Получение JSON файла
- Создайте облачный объект с соответствующей лицензией в личном кабинете на сайте iridi.com.

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

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

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

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

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

- В случае, если после авторизации на сервисе Ajax прошло слишком много времени, а линковка не была совершена (не скачан файл JSON), перейдите по ссылке снова и повторите описанные выше действия.
Работа в iRidium studio
Добавление драйвера Ajax Network
- Создайте серверный проект iRidium studio. Нажмите кнопку импорта файла из JS (Universal import from JS (*.js, *.json)) и выберите сохраненный JSON файл.

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

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

Настройка устройств:
- 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 - использовать время сервера.
Настройка команд и фидбеков

Синхронизируйте серверный проект с панельным и настройте команды (Commands) и каналы обратной связи (Feedbacks) для управления оборудованием с графического интерфейса. Чтобы отправить команду, перетяните ее на графический элемент и укажите значение (Value), которое необходимо отправить. Чтобы отобразить значение с канала обратной связи, перетащите Feedback на графический элемент, и укажите, каким образом вывести значение (Value).
Подробнее о работе с графическими элементами написано в статье "Типы графических элементов".
Ниже дана информация о поддерживаемых устройствах Ajax, их командах и обратных связях.
Устройства
Notification
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Command: | ||
| Clear Notification List | any value | Очистить текущий список уведомлений. |
| Feedback: | ||
| NotificationList | json | Список уведомлений. Во время офлайна сервера уведомления не будут приходить. Вы получите только те уведомления, события которых произошли в то время, когда iRidium Server был онлайн. Не рекомендуется удалять это подустройство из проекта. Некоторые фидбеки в других подустройствах зависят от работы уведомлений. |
| Last Notification Message | String | Текст сообщения последнего уведомления. |
| Last Notification Time | String | Время последнего уведомления. |
| Last Notification Color | int 0-4 | Цветовая индикация уведомления. Цвет определяется со стороны Ajax в зависимости от типа сообщения и его важности: 1 - серый, 2 - зелёный, 3 - оранжевый, 4 - красный. 0 - соответствует отсутствию уведомления, можно использовать как "прозрачный" цвет. |
Hub
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Command: | ||
| Arm/Disarm | 0 / 1 | Включить режим охраны \ Снять с охраны (Arm - 1. Disarm - 0). |
| Night Mode | 0 / 1 | Включение / Выключение ночного режима. * Если режим управления группами не включен, то Night Mode работает только на включение (для выключения режима необходимо поставить на охрану или снять с неё). В групповом режиме работает как 0/1. |
| Group Mode On/Off | 0 / 1 | Режим управления группами (On - 1, Off - 0). * Группы задаются в приложении Ajax, их следует формировать до импорта JSON файла. * Групповой режим можно включать или выключать только если Хаб снят с охраны |
| Panic! | any value | Кнопка тревоги. |
| Feedback: | ||
| Arm/Disarm | 0 / 1 | Состояние режима охраны (Arm - 1. Disarm - 0). |
| Night Mode | 0 / 1 | Ночной режим (On - 1, Off - 0). |
| Group Mode | 0 / 1 | Режим управления группами (On - 1, Off - 0). |
| Battery | 0-100 | Процент уровня заряда внутренней батареи хаба. |
| Online | 0 / 1 | Онлайн \ Оффлайн хаба ( 0 - offline, 1 - online). |
| Tampered | 0 / 1 | Вскрыта ли крышка хаба (0 - Not tampered, 1 - tampered). |
| Arm malfunction list | json | Список проблем при постановке оборудования на охрану. Данные приходят в момент постановки хаба на охрану при активированном режиме целостности системы (см. в приложении Ajax). В список проблем входят незакрытые двери, садящиеся батарейки, открытые крышки устройств и др. * Система встанет на охрану даже несмотря на имеющиеся предупреждения. * Для вывода списка ошибок на лист, ознакомьтесь с инструкцией по использованию фидбека Arm malfunction list. |
Door Protect
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Онлайн \ Оффлайн устройства (0 - offline, 1 - online). |
| Temperature | value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Вскрыта ли защитная крышка (0 - Not tampered, 1 - tampered). |
| Battery | 0-100 | Процент уровня заряда внутренней батареи датчика. |
| Open/Close | 0 / 1 | Состояние датчика двери (0 - Opened, 1- Closed). |
| Arm in Night Mode | 0 / 1 | Постановка на охрану в ночном режиме (0 - не охраняется в ночном режиме, 1 - охраняется в ночном режиме). |
Motion Protect
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Онлайн \ Оффлайн устройства (0 - offline, 1 - online). |
| Temperature | value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Вскрыта ли защитная крышка (0 - Not tampered, 1 - tampered). |
| Battery | 0-100 | Процент уровня заряда внутренней батареи датчика. |
| Motion | 0 / 1 | Состояние датчика движения (0 - not detected, 1 - motion detected). |
| Arm in Night Mode | 0 / 1 | Постановка на охрану в ночном режиме (0 - не охраняется в ночном режиме, 1 - охраняется в ночном режиме). |
Group
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Command: | ||
| Arm/Disarm | 0 / 1 | Поставить / Снять группу устройств с охраны (0 - disarm, 1 - arm). Настроить и создать группы устройств необходимо в приложении до импорта! |
| Feedback: | ||
| Arm/Disarm | 0 / 1 | Состояние группы устройств (0 - disarm, 1 - arm). |
MotionCam
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта). |
| Battery | 0 - 100 | Процент уровня заряда внутренней батареи датчика. |
| Motion | 0 / 1 | Датчик движения (0 - не обнаружено, 1 - обнаружено движение). * Для вывода фотографий, сделанных при активации датчика движения необходимо ознакомится с инструкцией по использованию уведомлений типа Photo. |
| Arm in Night Mode | 0 / 1 | Постановка на охрану в ночном режиме (0 - не охраняется в ночном режиме, 1 - охраняется в ночном режиме). |
Dual Curtain Outdoor
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта). |
| Battery | 0 - 100 | Процент уровня заряда внутренней батареи датчика. |
| Arm in Night Mode | 0 / 1 | Постановка на охрану в ночном режиме (0 - не охраняется в ночном режиме, 1 - охраняется в ночном режиме). |
| Motion Left | 0 / 1 | Движение занавеса влево (0 - не обнаружено, 1 - обнаружено движение). |
| Motion Right | 0 / 1 | Движение занавеса вправо (0 - не обнаружено, 1 - обнаружено движение). |
| Detector View Blocked Left | 0 / 1 | Ошибка о блокировки левого датчика (0 - преград для работы левого датчика не обнаружено, 1 - левый датчик преграждён). |
| Detector View Blocked Right | 0 / 1 | Ошибка о блокировки правого датчика (0 - преград для работы правого датчика не обнаружено, 1 - правый датчик преграждён). |
MotionCam Outdoor
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта). |
| Battery | 0 - 100 | Процент уровня заряда внутренней батареи датчика. |
| Motion | 0 / 1 | Датчик движения (0 - не обнаружено, 1 - обнаружено движение). * Для вывода фотографий, сделанных при активации датчика движения необходимо ознакомится с инструкцией по использованию уведомлений типа Photo. |
| Arm in Night Mode | 0 / 1 | Постановка на охрану в ночном режиме (0 - не охраняется в ночном режиме, 1 - охраняется в ночном режиме). |
| Detector View Blocked | 0 / 1 | Ошибка о блокировки датчика (0 - преград для работы датчика не обнаружено, 1 - датчик преграждён). |
Leaks Protect
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта). |
| Battery | 0 - 100 | Процент уровня заряда внутренней батареи датчика. |
| Leaks Detection | 0 / 1 | Датчик протечки (0 - не обнаружено, 1 - обнаружена протечка). * Для вывода фотографий, сделанных при активации датчика движения необходимо ознакомится с инструкцией по использованию уведомлений типа Photo. |
| Arm in Night Mode | 0 / 1 | Постановка на охрану в ночном режиме (0 - не охраняется в ночном режиме, 1 - охраняется в ночном режиме). |
Motion Protect Plus
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта). |
| Battery | 0 - 100 | Процент уровня заряда внутренней батареи датчика. |
| Motion | 0 / 1 | Датчик движения (0 - не обнаружено, 1 - обнаружено движение). |
| Arm in Night Mode | 0 / 1 | Постановка на охрану в ночном режиме (0 - не охраняется в ночном режиме, 1 - охраняется в ночном режиме). |
Motion Protect Outdoor
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта). |
| Battery | 0 - 100 | Процент уровня заряда внутренней батареи датчика. |
| Motion | 0 / 1 | Датчик движения (0 - не обнаружено, 1 - обнаружено движение). |
| Detector View Blocked | 0 / 1 | Ошибка о блокировки датчика (0 - преград для работы датчика не обнаружено, 1 - датчик преграждён). |
Door Protect Plus
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта). |
| Battery | 0 - 100 | Процент уровня заряда внутренней батареи датчика. |
| Open/Close | 0 / 1 | Датчик открытия/закрытия двери (0 - закрыта, 1 - открыта). |
WallSwitch
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Command: | ||
| On\Off | 0/1 | Настенный выключатель (0 - выключить, 1 - включить). |
| Feedback: | ||
| On/Off | 0 / 1 | Настенный выключатель (0 - выключен, 1 - включён). |
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Voltage | any value | Напряжение, поданное на устройство. |
| Electric Energy Consumed | any value | Энергопотребление устройства в кВт/ч. |
Socket
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Command: | ||
| On\Off | 0/1 | Розетка (0 - выключить, 1 - включить). |
| Feedback: | ||
| On/Off | 0 / 1 | Розетка (0 - выключен, 1 - включён). |
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Voltage | any value | Напряжение, поданное на устройство. |
| Electric Energy Consumed | any value | Энергопотребление устройства в кВт/ч. |
Relay
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Command: | ||
| On\Off | 0/1 | Реле (0 - выключить, 1 - включить). |
| Feedback: | ||
| On/Off | 0 / 1 | Реле (0 - выключено, 1 - включено). |
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Voltage | any value | Напряжение, поданное на устройство. |
Motion Protect Curtain
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта). |
| Battery | 0 - 100 | Процент уровня заряда внутренней батареи датчика. |
| Motion | 0 / 1 | Датчик движения (0 - не обнаружено, 1 - обнаружено движение). |
| Arm in Night Mode | 0 / 1 | Постановка на охрану в ночном режиме (0 - не охраняется в ночном режиме, 1 - охраняется в ночном режиме). |
HomeSiren
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта). |
| Battery | 0 - 100 | Процент уровня заряда внутренней батареи датчика. |
| Arm in Night Mode | 0 / 1 | Постановка на охрану в ночном режиме (0 - не охраняется в ночном режиме, 1 - охраняется в ночном режиме). |
Keypad
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта). |
| Battery | 0 - 100 | Процент уровня заряда внутренней батареи датчика. |
Keypad Plus
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта). |
| Battery | 0 - 100 | Процент уровня заряда внутренней батареи датчика. |
StreetSiren
| Команда / фидбек | Входные / ожидаемые значения | Описание |
|---|---|---|
| Feedback: | ||
| Online | 0 / 1 | Состояние оборудования (0 - offline, 1 - online). |
| Temperature | any value | Температура датчика в Цельсиях. |
| Tampered | 0 / 1 | Состояние крышки корпуса устройства (0 - не вскрыта, 1 - вскрыта). |
| Battery | 0 - 100 | Процент уровня заряда внутренней батареи датчика. |
| Arm in Night Mode | 0 / 1 | Постановка на охрану в ночном режиме (0 - не охраняется в ночном режиме, 1 - охраняется в ночном режиме). |
Настройка фидбэка Notification List
-
Создаём графический элемент Advanced list. Он будет в будущем списком, в котором будут храниться уведомления. Для удобства можно сделать Advanced list в вертикальной ориентации.
-
Создайте попап (шаблон листа) и заполняем его следующими элементами:
- Multistate level - отображает цветовую индикацию уведомлений (0 - оставить прозрачным, 1 - серый, 2- зеленый, 3 - оранжевый, 4 - красный).
- Label 1 - отображает время, в которое пришло уведомление.
- Label 2 - отображает текст уведомления.

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

- Выделяем добавленный попап и прописываем в поле Code: type .
- Для настройки темплейта нужно открыть его двойным кликом. Затем добавить туда лейблы. В строке 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.

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

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

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

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

- Запрограммируйте кнопку в шаблоне уведомлений на открытие попапа с анимацией кадров. Действие можно привязать к событию Press или Release .
- Добавьте в свой проект следующий скрипт:
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 включена функция Проверка целостности системы .
Для того, чтобы получить предупредительный список ошибок при постановке на охрану, необходимо выполнить следующие шаги настройки:
-
Создайте попап. Этот попап будет диалоговым окном, появляющимся при обнаружении проблем.
-
Разместите на попапе графический элемент Advanced list :
-
Выберите в качестве источника данных фидбэк Arm Malfunction List :

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

- Дважды щёлкните ЛКМ по элементу Advanced list. В появившемся окне нажмите + и выберите ваш попап-шаблон для сообщений. В поле Code: введите type :
-
Откройте настройки шаблона, дважды кликнув ЛКМ по появившемуся названию вашего попапа-шаблона.
-
Нажмите + для добавления нового объекта.
-
Выберите свойство Text того графического элемента на попапе-шаблоне, который будет использоваться для отображения текста сообщения.
-
Впишите text правее от указанного пути к свойству текста элемента. А в поле Type в нижней части окна впишите malfunction .
-
Нажмите ОК , чтобы завершить настройку списка неисправностей.
-
Для вызова попапа с сформированным списком используйте следующий скрипт:
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-уведомления.