Logo Logo ru
  • iRidi Pro
    Основные компоненты
    • Приложение i3 Pro
    • iRidi Pro Server
    • iRidi Studio
    • iRidium studio v. 1.3.8 (устаревшая версия)
    Java Script в iRidi
    • Руководство
    • Справочник
    • Примеры
    • JS драйвера
    другие
    • Личный Кабинет
    • iRidium Cloud
    • iRidium Transfer
    • Push-уведомления
    • Лучшая практика
    Лицензирование
    • Лицензирование и передача проекта
    • Оффлайн-лицензирование
    • Активация iRidi Pro Server
  • Продукты
    i3 lite
    • Приложение i3 lite
    • Регистрация и лицензирование
    • Сервер
    • Модули
    KNX Home Server
    • Приложение i3 KNX
    • KNX Home Server
    BUS77 HOME SERVER
    • Приложения Bus77 Home и Bus77 Lite
    • Bus77 Home Server
    Решения
    • BYOD - решение для гостиниц
    • Портал жителя - решение для МКД
    iRidi SCADA
    • iRidi SCADA
  • Bus77
    НАСТРОЙКА BUS77
    • Основы Bus77
    • Приложения Bus77 Home и Bus77 Lite
    • Работа с драйвером Bus77 в iRidi Studio
    • Настройка шины Bus77 в iRidi Studio
    ПРОТОКОЛ BUS77
    • Характеристики CAN (Bus77)
    • Описание протокола
    • Исходники на GitHub
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
  • Поддерживаемое оборудование
    Драйверы
    • Список драйверов
    • ProAV драйвера
    • AV & Custom Systems
    • JS драйвера
    • Сторонние драйвера и фриланс
    Протоколы и интерфейсы
    • Голосовое управление
    • 1-Wire
    • BACnet IP
    • Bus77
    • KNX
    • KNX IP BAOS
    • Weinzierl kBerry
    • Microsoft Exchange
    • Modbus
    • MQTT
    • NFC
    • ODBC
    • Onvif
    • SIP
    • SNMP
    • Wake On Lan
    • Z-Wave
    • ZigBee
    Производители
    • AMX
    • AVCiT
    • Beckhoff ADS
    • Biamp Tesira
    • Bluesound
    • Casambi
    • BSS Harman
    • Clipsal
    • ControlArt 7Port
    • Crestron
    • DigiBird
    • Domintell
    • Duotecno
    • EIDE
    • EPSNET
    • Global Cache
    • HDL Buspro
    • Helvar
    • IEAST
    • INELS BUS
    • INELS Wireless
    • Intesis
    • Kleger
    • Kramer VIA
    • Kramer 3000
    • Larnitech
    • Legrand Netatmo
    • LG TV
    • Lutron
    • Lutron Homeworks QS
    • MyHome
    • Nest
    • Novastar
    • Panasоnic PTZ
    • Philips Dynalite
    • PJLink
    • Satel
    • SamsungTV
    • Sonos
    • Somfy
    • SpinetiX
    • Televic Conference
    • TIS
    • Tion
    • URRI
    • Velbus
    • Velocio
    • Vinteo
    • WyreStorm
    • WiiM
    • Xicato
    • Yamaha
    • ZONT
    • Z-Wave.me
    Протестированное оборудование
    • Панель HDL S57
    • Панель HDL S10
    • SIP-домофон
    • Akuvox
    • Arlight
    • Divus
    • QBic TD-1050 PRO
    • QBic TD-1060 Slim
    • QBic TD-1070
    • Sigur
    • Uni-Ubi
    • Velocio
  • Оборудование iRidi

    Серверы
    • HS Сервер
    • ProAV Control Processor Basic
    • ProAV Control Processor Advanced
    • Спецификация контроллеров UMC
    • Настройка контроллера UMC C2
    • Настройка контроллера UMC C3
    • Настройка контроллера HDL IntelliCenter 2 (UMC C4)
    Модули расширения
    • I-PX-RS1
    • I-PX-RS4
    • I-PX-IR3
    KNX
    • KNX Home Server
    • KNX IP Interface
    Панели управления
    • iRidium Panel 7
    • Touch Panel P3
    • Touch Panel P6
    • Touch Panel P8
    • Touch Panel P10
    • Tabletop Touch Panel 10
    • AV Remote Control
    ОБОРУДОВАНИЕ BUS77
    • Каталог Bus77 Pro
    • Каталог Bus77 Lite
    • Differences
Сайт iRidium mobile
Содержание
    Инструменты‌
    • Сведения о странице
    • Постоянная ссылка
    • Версия для печати
    • Спецстраницы
    • Связанные правки
    • Ссылки сюда
    Login / Create Account
    Материал из for iRidium developers
    Перейти к: навигация, поиск
    Эта страница является переводом страницы Push notifications. Перевод выполнен на 100%.

    Other languages:
    English • ‎русский

    Push-уведомления

    Инструкция по отправке push-уведомлений с iRidium server на iOS, Android устройства с приложением i3 pro

    читать cправочник по JS методам Push

    смотреть видео-инструкцию

    скачать пример


    Вы можете отправлять push-уведомления на панели i3 pro из внешних систем, тогда вы должны использовать push-ключ вместо идентификатора группы уведомления: Внешние push-уведомления.


    Как это работает?

    iRidium Server может уведомить пользователя о любом событии в системе автоматизации, которое воспринимает. Один из способов уведомления - отправка Push уведомления на смартфоны и планшеты пользователя, где установлено приложение i3 pro. Приложение i3 pro может быть закрыто, необходимо только подключение к интернету, без которого Push уведомление не будет получено адресатом.

    iRidium Server отправляет сайту iRidium Mobile команду "уведомить панели управления". Сайт iRidium mobile перенаправляет эту команду в фирменные сервисы компаний Apple и Google (в зависимости от ОС панелей управления), а сервисы отправляют уведомления на смартфоны и планшеты пользователей объекта автоматизации.

    HowPushWorks.png

    Чтобы понять, какие именно смартфоны и планшеты должны получить уведомления, сайт iRidium Mobile должен видеть их в списке активных панелей управления.

    iRIdium Server отправляет уведомления не каждому устройству отдельно, а условным Группам устройств. Настроить Группы можно в объекте iRidium Cloud, вкладка "Пользователи и проекты". Подробно - читайте далее.


    ! Без iRidium Server отправить Push уведомление нельзя

    ! Если панель управления не подключена к интернету, Push не придет

    ! Иногда Push уведомления не доходят до адресата, обязательно обеспечьте резервирование важных сообщений, например, через СМС. Это связано с тем, что фирменные сервисы Apple и Google не имеют контроля доставки Push


    Как настроить отправку и обработку Push

    Любое событие iRidium Server можно использовать, чтобы отправить Push уведомление:

    • Команда с панели управления или web-интерфейса сервера, инициированная пользователем
    • Изменение состояния оборудования системы автоматизации
    • Изменение даты, времени и других параметров окружения, непосредственно не связанных с оборудованием и действиями пользователей


    Отправить Push уведомление можно только из iRidium Server, на смартфон или планшет с i3 pro. Для отправки уведомления есть специальная команда, настраиваемая в редакторе JavaScript серверного проекта. Рассмотрим способы вызова этой команды при различных событиях на iRidium Server:


    1 Создайте новый проект для iRidium Server в iRidium Studio (File > New > New Server Project...)


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

    AddChangedVarsForPush.png
    1. Чтобы уведомлять о нажатии кнопки на панели управления, добавьте в серверный проект виртуальную команду: Virtual > Channels > (+). Будем менять состояние переменной с панели управления и использовать это изменение как сигнал к отправке уведомления
    2. Чтобы уведомлять об изменениях в системе автоматизации, настройте в проекте драйверы для оборудования системы. Изменения фидбеков драйвера мы будем использовать как сигналы к отправке уведомлений
    3. Чтобы уведомлять об изменении даты и времени (или других системных данных), достаточно обратиться к параметрам системы, дополнительных каналов создавать не нужно


    3 Откройте окно редактора [JS] в верхней панели инструментов Studio. Создайте новый файл скрипта: (+) > New Script, и настройте в нем отправку уведомлений при различных событиях. Рассмотрим три варианта:

    3.1. Отправить уведомление с панели управления или из web-интерфейса сервера

    посмотреть видео

    Отправка уведомления в данном случае реализуется с помощью скрипта:

    //********** send push when User press a button in i3 pro  **********
     
    function push_from_i3(type, name, value)
    {
       IR.SendPush(value, "info", 1); // send notification (text of notification, hiden data, group of panels)
    }
    AddJStoServerForPush.png
    Чтобы скрипт сработал, нужно привязать созданную в скрипте функцию push_from_i3 к виртуальной команде сервера, как модификатор. Для этого выберите виртуальную команду сервера (в примере мы создали команду "Push from Panel"), откройте ее свойство Script Modifier и выберите в ней функцию push_from_i3:
    ModifyFunctiontoVirtChannel.png

    Теперь любая строка, записанная в "Push from Panel", превратится в Push уведомление и будет отправлена сервером на пенели управления.

    3.2. Отправить уведомление, если изменилось состояние драйвера

    Отправка уведомления в данном случае реализуется с помощью скрипта:

    //********** send push when Feedback of driver changes  **********
     
    var driver = IR.GetDevice("KNX"); // driver name
     
    IR.AddListener(IR.EVENT_TAG_CHANGE, driver, function(name,value)
    {
       if (name == "Address 1" && value == 1) // if the KNX feedback "Address 1" changed to 1
       {
          IR.SendPush("Back door opened!", "show backdoor camera", 1); // text of notification, hiden data, group of panels
       }			
    });
    AddJStoServerForPush1.png

    Чтобы скрипт сработал, в канал обратной связи "Address 1" драйвера "KNX" должно прийти значение 1. Дополнительных действий со стороны пользователя не потребуется, отправка уведомления производится автоматически.

    3.3. Отправить уведомление, если наступила выбранная дата

    Отправка уведомления в данном случае реализуется с помощью скрипта:

    //********** send push when it is some Date & Time  **********
     
    IR.SetGlobalListener(IR.EVENT_GLOBAL_TAG_CHANGE, function (name, value)
    {
       // conditions:
       if (IR.GetVariable("System.Date.MM_DD") == "03/14" && IR.GetVariable("System.Time.Hour") == 10 && IR.GetVariable("System.Time.Minutes") == 0) 
       { 
          IR.SendPush("Happy Birthday Mike!", "notification", 1); // text of notification, hiden data, group of panels
       }
    });
     
    IR.SubscribeTagChange("System.Time.Minutes"); // subscribe on minutes to check condition each minute
    AddJStoServerForPush2.png

    Скрипт срабатывает каждую минуту и проверяет условие - наступили ли указанные дата и время. Реакцию на изменение параметров операционной системы обеспечивает глобальный слушатель и подписка. Уведомление будет отправлено, когда выполнятся условия - совпадет месяц/день и время, выбранное как момент для отправки уведомления


    4 Cоздайте проект для панели управления: нажмите правой кнопкой на серверный проект > Create Panel Project.
    В созданном проекте найдите драйвер iRidium Server и укажите IP адрес (Host) устройства, на котором вы планируете запустить iRidium Server, иначе панель управления не сможет к нему подключиться.
    Чтобы получать уведомления, i3 pro не нужны специальные настройки, пока приложение закрыто или свернуто, но мы настроим дополнительные возможности обработки уведомлений (это не обязательно):

    4.1. Настройте обработку Push открытым приложением i3 pro (РЕКОМЕНДОВАНО)

    Если не добавлять обработчик Push в проект для панели управления, то во время, пока приложение открыто, вы не сможете узнать, что приходило уведомление

    По умолчанию, окно Push уведомления не всплывет, и звука уведомления не будет, если приложение i3 pro уже запущено и открыто на панели управления. Но, в открытом приложении тоже может быть необходимо обрабатывать события сервера. Поэтому, для обработки Push открытым приложением, добавим в проект для панели управления (*.irpz) скрипт:

    //********** Play sound and display text when notification received by the opened app **********
     
    IR.AddListener(IR.EVENT_RECIEVE_PUSH_NOTIFY, 0, function(text, data, group)
    {
        IR.PlaySound('Alerting.wav',0,50); // play sound
     
        IR.GetPage("Page 1").GetItem("text").Text = text; // display text of notification
        IR.GetPage("Page 1").GetItem("data").Text = data; // display  hiden data that can be used in JS
    });
    AddJStopanelForPushProcessing.png

    В этом примере, при получении Push, приложение воспроизведет звук и запишет полученные из уведомления данные на графические элементы в проекте.

    4.2. Только для п. 3.1. Настройте отправку уведомлений по нажатию кнопки в i3 pro

    Применимо только при наличии в серверном проекте скрипта, реализованного в примере 3.1 "Отправить уведомление с панели управления или из web-интерфейса сервера "

    Чтобы действия пользователя инициировали отправку уведомлений, реализованную в 1м примере скрипта для сервера, необходимо управление виртуальной переменной сервера с панели управления. Настройка не относится непосредственно к работе Push, здесь мы только записываем строку в виртуальную переменную сервера. Сервер обрабатывает строку и прерващает в Push уведомление для всех панелей управления.

    Создайте графический элемент - кнопку (Button) или поле ввода (Editbox), которое будет отправлять текст вашего уведомления на сервер. Найдите в драйвере "iRidium Server" команду "Push from Panel" и перетащите её на графический элемент. В диалоге привязки команды выберите Action: Send Token, в поле значения: свойство .Text кнопки (или поля ввода). К полю ввода необходимо так же привязать команду Show Keyboard, чтобы по нажатию на поле ввода начать вводить данные с клавиатуры мобильного устройства.

    DragCmdToChanneltoPush1.png
    DragCmdToChanneltoPush2.png


    5 Сохраните проекты для сервера и панели управления и загрузите в iRidium Cloud. Необходимо, чтобы оба проекта принадлежали одному объекту в облаке.

    Push уведомления приходят только на устройства, проекты на которые загружены из iRidium Cloud (а не из Transfer)


    6 Создайте Trial или коммерческую лицензию для объекта


    7 Пригласите (активация, шаг 4) конечного пользователя в объект или используйте свой альтернативный email.

    Панель управления, авторизованная как интегратор, не может получить уведомления, т.к. устройства интегратора не учитываются в списке получателей уведомлений! Чтобы проверить, работает ли уведомление, вам нужно войти в приложение i3 pro с помощью аккаунта конечного пользователя


    8 Настройте Push Groups - объединение пользователей по группам. В примере мы настраивали отправку сообщений в группу 1, поэтому именно группу 1 создадим в облаке:

    AttachPushGroupX3.png

    1. Пригласите в проект конечного пользователя, в "Пользователи и панели" нажмите "Poush Groups", чтобы настроить Группы, в которые войдет приглашенный пользователь

    2. Создайте группу 1 (для нашего примера), выберите ей любое имя

    3. Теперь группа привязана к пользователю, он получит отправленные Группе уведомления


    9 Авторизуйтесь в i3 pro на вашем iOS, Android устройстве как конечный пользователь (активация, шаг 5.1), скачайте проект с обработкой уведомлений. Помните, что аккаунт интегратора нельзя использовать для проверки Push уведомлений!


    10 Авторизуйтесь (активация, шаг 5.2) на сервере как интегратор, скачайте проект с обработкой уведомлений.

    Если вы настроили скрипт из пункта 3.1, то тправить уведомление с произвольным текстом можно будет через web-интерфейс сервера: зайдите во вкладку "Channels&Feedback", выберите команду "Push from Panel" и введите текст, который хотите отправить. Сервер сформирует уведомление и оно появится на вашем iOS, Android устройстве


    11 Все готово. Ваше мобильное устройство получит уведомление от сервера при срабатывании любого из настроенных событий. Отправляйте уведомления с панели управления, из web-интерфейса сервера, или следите с помощью уведомлений за изменением состояния оборудования, событиями даты и времени.

    Пока приложение i3 pro на панели управления открыто и развернуто, вы не будете видеть всплывающее окно, а также не будет звука уведомления - для активного приложения их нужно настроить отдельно, см. пункт 4.2
    Источник — «https://dev.iridi.com/index.php?title=Push_notifications/ru&oldid=67951»
    О нас
    Компания
    Команда
    История
    Философия
    Награды
    Партнерство
    Наши партнеры
    Партнерские программы
    Подать заявку на партнерство
    Продукты
    iRidium pro
    iRidium lite
    iRidium gate
    iRidium server
    Загрузки
    iRidium pro
    iRidium lite
    Другие версии
    Маркетинговые материалы
    Поддержка
    Онлайн курсы/Видео
    Рекомендуемое оборудование
    Другие версии
    iRidium pro
    Документация
    FAQ
    Форум
    iRidium lite
    Документация
    Форум
    Проекты
    Типовые проекты
    Умные здания
    Умные дома
    Специальные решения
    Найти дилера
    Новости
    Youtube
    Twitter
    VK
    Logo
    contact@iridi.com
    +7 (499) 322-73-29

    Политика конфиденциальности