Kaiten

[PMO] База знаний функциональности (интернет)

To Kaiten

Стандартные автоматы

Оригинал документа: https://docs.google.com/document/d/1HwX-Pm3Ye6fpgQr1xwZwuYLtVjQrUTAxAYkPagTO5T8/edit?usp=sharing

Инструкция: “Стандартные автоматы Rightech”

1. Контроль выезда из геозоны

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

1 этап запретной зоны

Если самокат покидает разрешенную зону, алгоритм переходит в состояние «Зона запрещенного использования»:

Действия, формируемые системой:

  1. Таймер №1 запускается на отсчет 20 секунд.

2 этап запретной зоны

Если по истечении таймера №1 самокат не вернулся в разрешенную зону, алгоритм переходит в состояние «Выход из геозоны».

Действия, формируемые системой:1. Отправляем push-уведомление в мобильное приложение клиента: "Самокат покинул допустимую зону аренды"

  1. Отправка уведомления уровня «Важное» в платформе: «Самокат покинул допустимую зону аренды».

  2. Таймер №2 начинает отсчет 40 секунд.

3 этап запретной зоны

Если по истечении таймера №2 самокат не вернулся в разрешенную зону, то алгоритм переходит в состояние «Длительный выезд из геозоны».

Действия, формируемые системой:

  1. Самокату посылается команда: «Скоростной режим ECO».

  2. Клиенту сервиса в мобильное приложение отправляется push-уведомление: «Ограничена скорость, вернитесь в допустимую зону аренды».

  3. Отправка уведомления уровня «Критический» в платформе: «Ограничена скорость до режима ECO 5 км/ч, самокат вне зоны 1 мин».

Как только самокат возвращается в разрешенную зону, система:

  1. Отправляет команду «Скоростной режим SPORT», если езда вне зоны продолжалась до третьего этапа выезда из разрешенной зоны;

  2. Push-уведомление, отправленное клиенту сервиса в мобильное приложение: "Вы вернулись в разрешенную зону. Приятной поездки!"

  3. Отправка push-уведомления для объекта в платформе уровня «Информационное»: «Самокат вернулся в допустимую зону аренды, режим SPORT».

Примечание:

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

2. Контроль разряда батареи

Клиенты в поездках могут полностью разрядить скутер, что сокращает срок службы батареи. Мы реализовали алгоритм защиты аккумулятора, который применяется для самокатов в любом из статусов аренды. Помимо этого существует потребность в своевременном обслуживании самокатов техниками компании. Для этих целей в алгоритме реализована логика перевода статуса объекта в “Поломка” при низких значениях заряда. При переводе статуса автоматически генерируется задание на замену батареи. Активные задания по обслуживанию самокатов техник может посмотреть во вкладке “Задания”.

Состояние, когда в аренде заряд батареи достигает 40% и ниже:

  1. Отправка push-уведомления через клиентское приложение: «Батарея почти разряжена, припаркуйте самокат в разрешенной зоне».

Состояние, когда в аренде заряд батареи достигает 25% и ниже:

  1. Отправка push-уведомления через клиентское приложение: «Батарея самоката разряжена, завершите аренду на ближайшей парковке»;

  2. Отправка команды на самокат «Режим скорости ECO (лимит 5 км/ч)»;

  3. Отправка push-уведомления в платформе: «Заряд {{object.state.batteryPercents}}%, ограничена скорость в аренде». Берется текущее значение заряда {{object.state.batteryPercents}}.

Защита данных от всплесков заряда батареи:

  1. Иногда у самокатов со сменной батареей могут возникать единовременные значения заряда, что может привести к преждевременному  срабатыванию логики. Для предотвращения таких ситуаций мы используем алгоритм защиты данных. Когда заряд батареи ≤ 25%, запускается таймер 30 сек. Если по истечению 30 сек. значение заряда батареи не стало больше 25%, то самокат считается разряженным, и соответствующая логика отработает корректно.

Состояние перевода в “Поломку” и создание задания на замену батареи:

  1. Изменение статуса самоката на “broken”;

  2. Отправка push-уведомления в платформе: заряд батареи {{object.state.batteryPercents}}, статус "Поломка". Создано задание на заряд;

  3. Создание задания на змену батарею. Просмотр и управление заданиями осуществляется на вкладке “Задания”.

3. Контроль угона

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

После инициализации работы логики происходит определение текущего статуса объекта. После чего логика ведет непрерывный контроль.

1. Контроль состояния объекта в Онлайн

Если самокат находится в режиме офлайн более 90 секунд, система формирует уведомление операторам в платформе и пуш-уведомление в Rightech App. Логика проверки работает для любых статусов объекта.Если состояние офлайн зафиксировано в статусе Свободен, то формируется уведомление: “Офлайн более 90 секунд в статусе Свободен”, уровень критический.Если состояние офлайн зафиксировано в любом из статусов аренды, то формируется уведомление: “Самокат офлайн более 90 сек, состояние угона.”, уровень критический.

2. Контроль Скорости самоката

Логика проверки работает только в статусе «Свободен».Если скорость самоката согласно параметру Current Speed выше 3 км/ч в течение более 60 секунд, то система формирует уведомление в платформе и пуш-уведомление в Rightech App: “Угон из статуса Свободен: скорость самоката больше 3 км/ч более 60с”, уровень критический.

3. Контроль датчика движения

Логика проверки работает только в статусе «Свободен».Если самокат находится в движении согласно параметру Движение по GPS более 3-х минут, то система формирует уведомление в платформе и пуш-уведомление в Rightech App: “Угон из статуса Свободен: датчик движения активен 3 минуты”, уровень критический.

Ожидание после угона

После формирования уведомлений согласно условиям п.1-п.3 автомат переходит в состояние “Ожидание после угона”, запускается таймер на 5 минут. После 5 минут автомат переходит в состояние мониторинга параметров самоката (п.1-п.3).

4. Блокировка самоката, если он разблокирован в статусе Свободен

Этот автомат предназначен для мониторинга наличия разблокированных самокатов в статусе Свободен и их автоматической блокировки. Мы исходим из того, что все самокаты, готовые для аренд, стоят на улицах в статусе Свободен и в заблокированном состоянии.

В каких случаях самокат может остаться разблокирован в статусе Свободен?

  • отсутствие блокировки самоката из-за краткосрочного состояния офлайн при завершении аренды;

  • ошибка при выполнении команды согласно сценарию завершения аренды;

  • человеческий фактор, забывание самоката в разблокированном состоянии.

1. Базовое состояние: “Свободен, самокат заблокирован”

Если самокат присылает пакет с данными, где его состояние разблокировано в статусе Свободе, то автомат переходит в состояние «Самокат разблокирован в Свободен»:

Действия, формируемые системой:

  1. Таймер №3 запускается на отсчет 60 секунд;2. Формирование уведомления уровня «Информационное» в платформе: «Самокат разблокирован в статусе Свободен».

2. Состояние «Блокировка самоката из статуса Свободен»

Если по истечении таймера №3 самокат не вернулся в заблокированное состояние, автомат переходит в состояние «Блокировка самоката из статуса Свободен».

Действия, формируемые системой:1. Отправка уведомления уровня «Важное» в платформе: «Отправлена команда блокировки самоката из статуса Свободен».

  1. Таймер №2 начинает отсчет 10 секунд, после чего автомат переходит в состояние «Свободен, самокат заблокирован».Таким образом, команды блокировки будут отправляться несколько раз с периодичностью 70 секунд, пока самокат не станет заблокирован.