Fleetrun
Hecterra
NimBus
Другие приложения
Wialon для Android/iOS
Logistics
Wialon Local
Wialon Hosting
WiaTag
Configurator
LeaseControl
Содержание
Контроль нестандартных условий с помощью динамических групп
  • technical_consulting
  • notifications
  • unit_groups

Wialon предоставляет широкий спектр возможностей в рамках стандартного функционала, однако существуют задачи, которые можно решить только неочевидными методами. Например, с помощью динамических групп, которые будут рассмотрены в этой статье. Этот метод позволяет сортировать объекты по группам, отслеживать цепочку условий с помощью уведомлений, находить объекты, которые не выполнили определенное условие, и так далее.

Логика работы динамических групп

Логика работы данного метода основывается на следующих возможностях системы:

Совместив эти возможности, можно добиться неочевидного поведения:

  • Если настроить уведомление на отслеживание пустой группы, то уведомление будет включено, но не будет срабатывать, так как объектов в группе нет.
  • Если добавить объекты в эту группу, то даже без изменения настроек уведомления оно автоматически начнет отслеживать добавленные объекты.
  • Если исключить объекты из группы, то уведомление автоматически перестанет их отслеживать.

Для решения определенных задач можно использовать систему из нескольких уведомлений, которые будут автоматически перемещать объекты между группами, а затем при необходимости применять к этим группам объектов другие уведомления, задания и отчеты. Для краткости такое решение называют методом динамических групп (или просто динамическими группами). В данном случае слово «динамический» означает то, что состав групп объектов автоматически меняется в реальном времени.

С помощью динамических групп можно создавать своеобразные логические схемы. Рассмотрим подробнее некоторые из них.

Сортировка по группам

Самым простым подходом при использовании динамических групп является сортировка объектов по группам. Таким образом можно, например, разделить все машины автопарка на движущиеся и простаивающие, свободные и занятые, находящиеся на территории предприятия и за его пределами и так далее. После сортировки полученные группы можно использовать в Отчетах или Заданиях, а также отображать на вкладке Мониторинг.

Для сортировки по одному условию A потребуются следующие элементы и настройки:

  1. Группа Альфа, содержащая объекты, для которых еще не выполнено условие A.
  2. Группа Бета, содержащая объекты, для которых уже выполнено условие A.
  3. Уведомление 1, которое настроено на отслеживание группы Альфа и контролирует условие A. Если это условие будет выполнено, то объекты будут исключены из группы Альфа и добавлены в группу Бета.
  4. Уведомление 2, которое настроено на отслеживание группы Бета и контролирует условие, противоположное условию A. Если это условие будет выполнено, то объекты будут исключены из группы Бета и снова добавлены в группу Альфа.

Схематично данный подход можно изобразить следующим образом:

Рассмотрим несколько примеров.

Пример 1. Отчет по объектам вне страны

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

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

Если изначально поместить все объекты в одну из групп, то после настройки динамических групп они автоматически переместятся в нужные группы спустя некоторое время. Длительность такой сортировки будет зависеть от того, насколько часто меняется контролируемое условие (в данном примере — это въезд в геозону и выезд из нее).

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

There are no pictures in the gallery


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

There are no pictures in the gallery


Теперь объекты будут динамически перемещаться в нужные группы. Диспетчеры смогут в любой момент выполнить отчет по группе Внутри страны или Вне страны в зависимости от их потребностей.

Подобное разделение на группы является актуальным только на текущий момент времени. То есть если выполнить отчет по группе объектов за прошлую неделю, то отобразятся результаты по тем объектам, которые входят в группу сейчас, а не по тем, которые входили в нее в течение прошлой недели.

Пример 2. Распределение доступов через группы

Предположим, что запрос клиента аналогичен примеру 1, однако дополнительно необходимо сделать так, чтобы определенный диспетчер имел доступ только к тем объектам, которые в данный момент находятся вне страны. За основу будет взято решение из предыдущего примера, а ниже будут рассмотрены только недостающие настройки.

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

Сперва необходимо удостовериться, что диспетчер не имеет прав в отношении рассматриваемых объектов. Далее необходимо предоставить диспетчеру права только на определенную группу объектов (в данном примере — это группа Вне страны).

There are no pictures in the gallery


Теперь при выезде из геозоны и срабатывании уведомления объекты будут добавлены в группу Вне страны, поэтому диспетчер сможет их видеть. При въезде в геозону будет происходить противоположная ситуация: уведомление будет исключать объекты из групп Вне страны, поэтому диспетчер не будет их видеть.

Контроль нескольких условий в уведомлении

В Wialon существует 20 типов уведомлений, которые позволяют автоматически выполнять разные действия при выполнении выбранного условия. При этом действий может быть несколько (например, можно одновременно показать онлайн-уведомление во всплывающем окне и изменить иконку объекта), а контролируемое условие формально может быть только одно.

Однако, в 8 типах уведомлений кроме основного условия можно включить дополнительные.

Тип уведомленияДополнительные условия
Значение датчикаГеозонаСкоростьОтсутствие водителя
Скорость

Геозона

Взаиморасположение объектов

Адрес

Простой

Потеря связи


Заправка


Слив


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

Для контроля двух условий A и B потребуются следующие элементы и настройки:

  1. Группа Альфа, содержащая объекты, для которых еще не выполнено условие A.
  2. Группа Бета, содержащая объекты, для которых уже выполнено условие A.
  3. Уведомление 1, которое настроено на отслеживание группы Альфа и контролирует условие A. Если это условие будет выполнено, то объекты будут исключены из группы Альфа и добавлены в группу Бета.
  4. Уведомление 2, которое настроено на отслеживание группы Бета и контролирует условие, противоположное условию A. Если это условие будет выполнено, то объекты будут исключены из группы Бета и снова добавлены в группу Альфа.
  5. Ключевое уведомление 3, которое настроено на отслеживание группы Бета и контролирует условие B. Если это условие будет выполнено, то уведомление выполнит финальное действие (например, уведомит клиента по email).

Схематично данный подход можно изобразить следующим образом:

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

При необходимости контролировать больше условий количество групп и уведомлений можно увеличивать, например:

Отличительной особенностью данного подхода является последовательный контроль условий. Например, уведомление с типом Скорость с дополнительным фильтром Значение датчика контролирует выполнение обоих условий одновременно (для срабатывания уведомления потребуется одно сообщение). А система уведомлений с динамическими группами, настроенная на эти же условия, сперва контролирует скорость и только потом значение датчика (то есть для срабатывания потребуется два сообщения). При этом увеличение количества элементов в схеме будет также увеличивать количество сообщений, необходимых для срабатывания.

Пример 3. Контроль объектов вне особых зон

Предположим, что менеджер хочет получать информацию о нарушениях температурного режима авторефрижераторов, покинувших базу.

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

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

There are no pictures in the gallery


В результате объекты будут динамически перемещаться в нужные группы, а контроль температуры будет происходить только вне базы.

Контроль условий с учетом времени

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

Пример 4. Срабатывание уведомления один раз в день

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

Чтобы решить эту задачу для одного объекта, необходимо установить значение 1 в поле Максимальное количество срабатываний, а затем указать для этого параметра ограничение по времени с 00:00 по 23:59. Если объектов немного, то можно обойтись одним уведомлением для каждого из них. Однако если объектов много, то придется прибегнуть к динамическим группам, что и будет рассмотрено далее.

Схематично решение этой задачи можно изобразить следующим образом:

Соответственно, для решения потребуются:

  1. Группа под названием Тревоги не было (группа Альфа на схеме выше), которая содержит все объекты, водители которых еще не нажимали сегодня тревожную кнопку. В полночь в ней должны находиться все объекты автопарка, поэтому нужно их туда поместить изначально.
  2. Группа Тревога случилась (группа Бета), которая содержит объекты, водители которых нажимали сегодня тревожную кнопку. В полночь эта группа должна быть пустой.
  3. Уведомление Тревога! (уведомление 1), которое настроено на отслеживание группы Тревоги не было и контролирует нажатие тревожной кнопки. Если это условие будет выполнено, то объекты будут исключены из группы Тревоги не было и добавлены в группу Тревога случилась, а также уведомление отправит SMS клиенту.

    There are no pictures in the gallery


  4. Уведомление К исходной настройке (уведомление 2) в данном случае будет возвращать все объекта из группы Тревога случилась в группу Тревоги не было ближе к полуночи. Для этого оно должно быть настроено на отслеживание группы Тревога случилась, иметь ограничение по времени (например, с 20:00 по 23:59) и контролировать какое-то условие, которое точно выполнится для всех объектов в конце рабочего дня. Одним из таких условий может быть наличие скорости менее 300 км/ч (при этом уведомление должно срабатывать Для всех сообщений).

    There are no pictures in the gallery


Теперь объекты, водители которых нажали тревожную кнопку, будут при первой сработке перемещаться в группу Тревога случилась, для которой контроль тревожной кнопки уже не осуществляется. Следовательно, клиент будет получать SMS только о первой тревоге для каждого объекта. Вечером все объекты будут возвращены в исходную группу.

Пример 5. Отчет по объектам, которые не начали движение к определенному времени

Предположим, что владелец автопарка хочет каждый день получать список машин, которые не начали движение до 8 утра.

Схематично решение этой задачи можно изобразить следующим образом:

Соответственно, для решения потребуются:

  1. Группа под названием Не начали работу до 8 (группа Альфа на схеме выше), в ней будут содержаться все объекты, которые еще не начали движение. Будем считать, что в полночь в ней должны находиться все объекты автопарка, поэтому нужно их туда поместить изначально.
  2. Группа Начали до 8 (группа Бета), которая содержит объекты, которые уже начали движение. В полночь эта группа должна быть пустой.
  3. Уведомление Успели начать до 8 (уведомление 1), которое настроено на отслеживание группы Не начали работу до 8 и контролирует появление скорости (то есть начало работы). Если это условие будет выполнено, то объекты будут исключены из группы Не начали работу до 8 и добавлены в группу Начали до 8. Также работу данного уведомления нужно ограничить по времени с 00:00 до 07:59.

    There are no pictures in the gallery


  4. Задание Список опоздавших, которое в 08:00 будет отправлять отчет владельцу автопарка об объектах из группы Не начали работу до 8. Групповой отчет может содержать, например, таблицу Последние данные.

    There are no pictures in the gallery


  5. Уведомление К исходной настройке (уведомление 2) в данном случае будет возвращать все объекта из группы Начали до 8 в группу Не начали работу до 8 ближе к полуночи. Делается это по аналогии с одноименным уведомлением из примера 4 выше.

Теперь объекты, которые не начали движение до 08:00, останутся в группе Не начали работу до 8, а затем задание отправит о них отчет владельцу автопарка. Если же какой-то объект начнет движение до 8 утра, то он будет перемещен в группу Начали до 8, поэтому не попадет в отчет о нарушителях. Вечером все объекты будут возвращены в исходную группу.

Пример 6. Контроль длительных состояний (более суток)

Предположим, что менеджеру нужно получить электронное письмо, если объект находится на территории завода более 3 суток (72 часов).

Обычно длительность контролируемого тревожного состояния (в данном случае — это нахождение в геозоне) настраивается через поле Мин. продолжительность тревожного состояния на последней странице настройки уведомления. Максимальное значение для этого поля составляет 24 часа (1440 минут, 86400 секунд). То есть отследить тревожное состояние длительностью 72 часа нельзя без использования динамических групп.

Исключением являются два уведомления: Простой имеет максимальную длительность 30 дней, а Потеря связи — 999 999 минут (это приблизительно 694 дня).

Схематично решение этой задачи можно изобразить следующим образом:

Соответственно, для решения потребуются:

  1. Геозона, которая соответствует территории завода.
  2. Группа под названием Вне или внутри <24 часов (группа Альфа на схеме выше), которая изначально содержит все объекты.
  3. Группа Внутри >24 часов (группа Бета), в которой будут содержаться объекты, которые находятся внутри геозоны 24 часа или более.
  4. Группа Внутри >48 часов (группа Гамма), в которой будут содержаться объекты, которые находятся внутри геозоны 48 часов или более.
  5. Уведомление Въезд на 1 день (уведомление 1), которое настроено на отслеживание группы Вне или внутри <24 часов и контролирует нахождение в геозоне более 24 часов. Если это условие будет выполнено, то объекты будут исключены из группы Вне или внутри <24 часов и добавлены в группу Внутри >24 часов. Уведомление должно срабатывать При изменении состояния, а Мин. продолжительность тревожного состояния должна быть равна 24 часам (1440 минутам, 86400 секундам).

    There are no pictures in the gallery



  6. Уведомление Въезд на 2 дня (уведомление 2), которое настроено на отслеживание группы Внутри >24 часов и контролирует нахождение в геозоне более 48 часов. Если это условие будет выполнено, то объекты будут исключены из группы Внутри >24 часов и добавлены в группу Внутри >48 часов. Уведомление должно срабатывать Для всех сообщений, а Мин. продолжительность тревожного состояния должна быть равна 24 часам (1440 минутам, 86400 секундам).

    There are no pictures in the gallery


  7. Уведомление К исходной настройке (уведомление 3) будет возвращать все объекта из групп Внутри >24 часов и Внутри >48 часов в группу Вне или внутри <24 часов, если объект покинул геозону. Уведомление должно срабатывать При изменении состояния.

    There are no pictures in the gallery


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

  8. Уведомление Въезд на 3 дня (уведомление 4), которое настроено на отслеживание группы Внутри >48 часов и контролирует нахождение в геозоне более 72 часов. Если это условие будет выполнено, то объекты будут исключены из группы Внутри >48 часов и добавлены в группу Вне или внутри <24 часов, а также менеджеру отправится электронное письмо. Уведомление должно срабатывать Для всех сообщений, а Мин. продолжительность тревожного состояния должна быть равна 24 часам (1440 минутам, 86400 секундам).

    There are no pictures in the gallery



Теперь объекты, которые находились в геозоне в течение одних суток, переместятся из группы Вне или внутри <24 часов в группу Внутри >24 часов, спустя одни сутки они переместятся в группу Внутри >48 часов, а спустя еще одни сутки уведомление отправит электронное письмо менеджеру и переместит объект в исходную группу. Если же в любой момент объекты покинут геозону, то они вернутся в исходную группу Вне или внутри <24 часов.

Олег Жарковский,Инженер Customer Service

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter.
Спасибо за ваш отзыв!
Сообщить об ошибке
Текст с ошибкой Комментарий
Максимум 500 символов