Перейти к концу метаданных
Переход к началу метаданных

Часто бывает необходимо информировать о факте прохода/проезда кого-либо, например:

  • руководителя — о приходе подчинённого на работу и об отработанном им времени;
  • PR-менеджера — о приходе соискателя;
  • организатора выставки — о важном посетителе.

При этом выдача пропуска может осуществляться удалённо, в виде QR-кода или пин-кода, например. Также вы можете настроить доступ по распознаванию лиц [Настройка биометрической верификации | Биометрия по лицам и отпечаткам пальцев, термометрия].

Для решения таких задач мы разработали скрипт «Персональные Telegram уведомления о доступе», который осуществляет рассылку телеграмм-уведомлений. Текст уведомлений настраивается и может содержать следующую информацию:

  1. информация о владельце пропуска — любые данные владельца и пропуска, отработанное время:
  2. информация о точке доступа, время прохода;
  3. фотоматериалы — скриншот с камеры видеонаблюдения, «привязанной» к точке доступа.

ПОДСКАЗКА

Скрипт также может осуществлять информирование самого посетителя [Отправка инструкций и напоминаний посетителю или сотруднику по факту прохода через точку доступа посредством телеграмм-уведомлений]. Под запрос может быть выполнена доработка скрипта с целью информирования по другим каналам связи. Также возможно дополнение уведомления любыми данными и более сложная логика работы скрипта.



Для обеспечения работы скрипта вам потребуется:

  1. В форме пропуска указать идентификатор (ID) телеграмм-канала ответственного лица и подключится к каналу НЕЙРОСС БОТ [Настройка формы владельца пропуска].
  2. Настроить фильтр со списком точек доступа, по факту прохода через которые требуется уведомлять ответственное лицо [Настройка фильтра].
  3. Импортировать задание автоматизации, настроить текст уведомления [Настройка задания автоматизации].
  4. При необходимости расчёта времени нахождения на предприятии в течение текущих суток, требуется указать, какие точки доступа являются входом на предприятие, а какие — выходом из него [Добавление меток входа/выхода]. 

Настройка формы владельца пропуска

Для информирования ответственного лица или самого владельца пропуска необходимо указать идентификаторы телеграмм-каналов данных лиц. Для удобства мы подготовили готовую форму ввода с требуемыми полями.

Скопируйте тест в поле ниже и создайте файл с произвольным именем и расширением JSON, например: форма_ввода_владельца_пропуска_с_telegram_полями.json. Для этого удобно использовать простые текстовые редакторы типа Блокнот или Notepad++. Вы также можете обратиться к специалистам компании ИТРИУМ, мы вышлем подготовленные файлы.

{"type":"object","title":"Title form","keysFields":["person.name","person.surname","person.organization","person.division","person.post","person.properties.neyross:automation:personTelegramChatId","person.properties.neyross:automation:responsibleTelegramChatId","person.photo","person.properties.extra"],"properties":{"person.name":{"type":"string","title":"Имя","format":"single-line","property":{"type":"searchableText","title":"Имя","schema":{"type":"string","format":"single-line"},"dataType":"TEXT","property":"person.name","columnType":"searchableText","searchAlias":"name","propertyType":"STANDART"}},"person.surname":{"type":"string","title":"Фамилия","format":"single-line","property":{"type":"searchableText","title":"Фамилия","schema":{"type":"string","format":"single-line"},"dataType":"TEXT","property":"person.surname","columnType":"searchableText","searchAlias":"surname","propertyType":"STANDART"}},"person.properties.neyross:automation:personTelegramChatId":{"type":"string","title":"ID telegram-чата владельца","format":"single-line","property":{"id":4,"title":"ID telegram-чата владельца","schema":{"type":"string","format":"single-line"},"dataType":"TEXT","property":"person.properties.neyross:automation:personTelegramChatId","propertyType":"USER"}},"person.properties.neyross:automation:responsibleTelegramChatId":{"type":"string","title":"ID telegram-чата ответственного лица","format":"single-line","property":{"id":3,"title":"ID telegram-чата ответственного лица","schema":{"type":"string","format":"single-line"},"dataType":"TEXT","property":"person.properties.neyross:automation:responsibleTelegramChatId","propertyType":"USER"}},"person.photo":{"title":"Фотография","type":"string","format":"photo","property":{"propertyType":"STANDART","property":"person.photo","title":"Фотография","columnType":"photo","type":"photo","dataType":"PHOTO","schema":{"type":"string","format":"photo"}}},"person.post":{"title":"Должность","type":"string","format":"glossary","glossaryType":"post","property":{"propertyType":"STANDART","property":"person.post","title":"Должность","columnType":"searchableInGlossary","searchAlias":"post","type":"searchableInGlossary","dataType":"GLOSSARY","schema":{"type":"string","format":"glossary","glossaryType":"post"}}},"person.organization":{"title":"Организация","type":"string","format":"glossary","glossaryType":"organization","property":{"propertyType":"STANDART","property":"person.organization","title":"Организация","columnType":"searchableInGlossary","searchAlias":"organization","type":"searchableInGlossary","dataType":"GLOSSARY","schema":{"type":"string","format":"glossary","glossaryType":"organization"}}},"person.division":{"title":"Подразделение","type":"string","format":"glossary","glossaryType":"division","property":{"propertyType":"STANDART","property":"person.division","title":"Подразделение","columnType":"searchableInGlossary","searchAlias":"division","type":"searchableInGlossary","dataType":"GLOSSARY","schema":{"type":"string","format":"glossary","glossaryType":"division"}}},"person.properties.extra":{"title":"Доп. информация","type":"string","format":"multi-line","property":{"propertyType":"STANDART","property":"person.properties.extra","title":"Доп. информация","dataType":"TEXT","schema":{"type":"string","format":"multi-line"}}}},"description":"Description form"}


В АРМ НЕЙРОСС Доступ выберите группу пропусков, выберите Настройки группы > Форма ввода: владелец пропуска > Пользовательская форма, укажите путь к подготовленному файлу [Настройка форм ввода данных]. Форма будет загружена и доступна к предпросмотру.

При необходимости, задайте значение по умолчанию — ID Telegram-чата отв. лица. Это значение будет задаваться для всех новых пропусков в этой группе пропусков, но может быть изменено.

Если идентификатор канала не указан, рассылка по факту прохода данного лица не производится. Указывайте идентификатор канала отв. лица только в случае, если требуется уведомлять ответственное лицо. Указывайте идентификатор канала владельца пропуска только в случае, если требуется информировать его об отработанном им времени, либо выдавать инструкции/напоминания. 

Чтобы узнать идентификатор своего чата (канала) телеграмм и в дальнейшем получать уведомления, наведите камеру смартфона на QR-код ниже или перейдите по ссылке https://t.me/neyross_bot и подключитесь к каналу НЕЙРОСС БОТ. Рекомендуем распечатать и разместить этот QR-код в помещении бюро пропусков. Также по запросу мы можем поместить его в форму ввода данных владельца пропуска.

После перехода по ссылке подключитесь к каналу НЕЙРОСС Бот. Вы получите сообщение вида: 

Ваш ID: →1055492440→
User name: логин
Имя: имя
Фамилия: фамилия

Где цифры между стрелками → — идентификатор вашего канала. На примере это 1055492440. Этот идентификатор и должен быть указан в форме пропуска.

Настройка фильтра

Перейдите в раздел Фильтры и создайте простой фильтр [События и фильтры]. В блоке По источникам в поле Включает элементы выберите из раскрывающегося списка точки доступа, событие прохода по которым будут обрабатываться скриптом рассылки уведомлений. Количество точек доступа не ограничено. Вы можете указать точки доступа нескольких контроллеров.

Либо вы также можете воспользоваться профессиональным режимом и задать перечень точек доступа.

Сохраните изменения.

Настройка задания автоматизации

Для удобства мы подготовили готовый код задания автоматизации. Обратитесь к специалистам компании ИТРИУМ, мы вышлем подготовленный файл в формате JSON. Вам потребуется импортировать полученный файл и указать фильтр, подготовленный на шаге [Настройка фильтра].

В разделе Автоматизация нажмите на кнопку  Добавить новое задание, нажмите на кнопку Импорт и укажите путь к файлу [Автоматизация].

В блоке Параметры сигнала в поле Фильтр по событиям выберите из раскрывающегося списка фильтр, подготовленный на шаге [Настройка фильтра].

В блоке Параметры действия настройте поля согласно таблице ниже.

ПолеДиапазон значенийКомментарий
Информировать ответственное лицоДа/Нет, логическое полеСнимите флаг, если не требуется отправлять уведомление ответственному лицу. По умолчанию флаг установлен, если в форме владельца пропуска указан идентификатор телеграмм-канала ответственного лица, будет отправлено сообщение, текст которого определён в поле Шаблон сообщения для ответственного лица.
Шаблон сообщения для ответственного лицаПроизвольный текст и переменные

Определяет текст информирования ответственного лица. Может содержать переменные:

  • $(person.surname) — фамилия владельца пропуска;
  • $(person.name) — имя владельца пропуска;

    Вы можете использовать уникальные ключи других свойств владельца или пропуска. Они указаны в разделе Настройки СКУД АРМ НЕЙРОСС Доступ [Добавление пользовательских свойств].

  • $(element,name) — имя точки доступа, через которую осуществлён проход.
  • ${workTime} — время нахождения на предприятии (с учётом перерывов).
Информировать владельца пропускаДа/Нет, логическое полеСнимите флаг, если не требуется отправлять уведомление владельцу пропуска. По умолчанию флаг установлен, если в форме владельца пропуска указан идентификатор телеграмм-канала владельца, будет отправлено сообщение, текст которого определён в поле Шаблон сообщения для владельца пропуска.
Шаблон сообщения для владельца пропускаПроизвольный текст и переменные

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

  • $(greeting).

Переменная задаётся в коде скрипта [Изменение текста приветствия]

Добавление меток входа/выхода

При необходимости расчёта времени нахождения на предприятии в течение текущих суток, требуется указать, какие точки доступа являются входом на предприятие, а какие — выходом из него. Для этого используется механизм пользовательских меток. 

Перейдите в раздел Элементы [Элементы]. На вкладке Элементы выберите точку доступа контроллера, в поле Пользовательские метки задайте:

  • Метку ТочкаДоступаВход для точек, являющихся входом на предприятие, сохраните изменения.
  • Метку ТочкаДоступаВыход для точек доступа, являющихся выходом с предприятия, сохраните изменения.

Изменение текста приветствия

Переменная $(greeting) определяет приветствие владельца пропуска и зависит от метки точки доступа, через которую выполнен проход.

private def getPersonGreeting(signal: NeyrossEventAutomationSignal, person: Person): String = {
        signal.event.extensions.get(EventExtensions.FunctionalElement).map(_.asInstanceOf[FunctionalElement]) match {
          case Some(fe) =>
            if (isEntryAccessPoint(fe)) {
              s"Добро пожаловать, ${person.name.getOrElse("")}!"
            } else if (isExitAccessPoint(fe)) {
              s"Всего доброго, ${person.name.getOrElse("")}!"
            } else {
              s"Выполнен проход через точку доступа '${fe.name}'."
            }
          case _ =>
            s"Выполнен проход через точку доступа."
        }
      }
  • При проходе через точку доступа, помеченной меткой isEntryAccessPoint (русифицированной как ТочкаДоступаВход), выводится сообщение: «Добро пожаловать, [Имя владельца пропуска]».
  • При проходе через точку доступа, помеченной меткой isExitAccessPoint (русифицированной как ТочкаДоступаВыход), выводится сообщение «Всего доброго, [Имя владельца пропуска]».
  • При проходе через точку доступа, не имеющей перечисленных меток, выводится сообщение «Выполнен проход через точку доступа [Имя точки доступа]».

ПОДСКАЗКА

Вы можете изменить текст приветствия прямо в коде скрипта, для этого выберите режим редактирования Исходный код, откройте расширенный редактор скриптов, с помощью поиска найдите нужный текст кода,  откорректируйте тест и сохраните изменения.

Отказ от меток и переменной $(greeting)

Если не требуется информировать об отработанном в текущие сутки времени вы можете вовсе отказаться от меток и переменной $(greeting), создать несколько отдельных фильтров на разные точки доступа и для каждого фильтра создать отдельное задание автоматизации, указав в поле Шаблон сообщения собственный текст.

Пример работы скрипта автоматизации

Уведомление ответственного лица:

Уведомление владельца пропуска:

 

Вы вольны задавать любые формулировки приветствия и тексты сообщений, а также доработать код скрипта для выполнения требуемых вам действий. Вы также можете обратиться к специалистам компании ИТРИУМ для разработки требуемого скрипта.


  • Нет меток