Что означает каждое состояние ячейки
Состояние ячейки в панели — это не просто показание датчика. Система складывает его из трёх вещей:
- что записано в карте — существует ли такая ячейка и не выведена ли она из работы;
- что отвечает шкаф прямо сейчас;
- что с этой ячейкой было раньше — открывали ли её только что, отвечал ли когда-нибудь её датчик.
Без третьего пункта «дверь открыта, потому что мы её только что открыли» и «дверь открыта, хотя никто её не открывал» выглядели бы одинаково.
Таблица состояний
| Состояние | Что произошло | Что делать |
|---|---|---|
| Закрыта | датчик говорит: дверца на месте. Единственное состояние, в котором можно быть уверенным | ничего, всё в порядке |
| Открыта (ожидаемо) | её открыли по команде меньше полутора минут назад | подождать: клиент забирает или кладёт вещь |
| Открыта (без команды) | дверца открыта, а команды не было | 🔴 тревога, см. дверь открылась без команды |
| Датчик не подтверждён | ячейка показывает «открыто», и её датчик не отвечал ни разу за всё время | скорее всего датчика нет или оборван провод. Под возврат вещи такую ячейку давать нельзя |
| Нет связи | шкаф не отвечает на опрос | выдавать нельзя: мы не увидим результата. См. шкаф офлайн |
| Выведена из работы | так пометил человек | ничего: система её не предлагает и из-за неё не тревожится |
| Нет в карте | такого номера в шкафу не заведено | если ячейка физически есть — привязать её |
Смысл состояний зафиксирован в коде и покрыт тестами, а подписи на экране панели могут звучать иначе.
Почему «открыто» и «датчик не подтверждён» — разные строки
Шкаф отвечает одинаково и на открытую дверцу, и на пустое гнездо. Различить их можно только по истории: если этот датчик хоть раз в жизни сказал «закрыто», значит он существует — и тогда сегодняшнее «открыто» действительно означает открытую дверцу.
Если же он не отвечал никогда, вероятнее всего его просто нет: провод не подключён, оборван или ячейка привязана к пустому гнезду. Такая ячейка не годится под приём вещи: система не сможет убедиться, что клиент закрыл дверцу.
Чего в этом списке нет
«Свободна» и «занята» — это не про датчик. Свободна ячейка или занята, знает журнал системы: что в неё положили и забрали ли. Датчик отвечает только на вопрос «дверца закрыта или нет».
Из этого следует вещь, которая иногда удивляет: закрытая ячейка может быть и пустой, и полной, и шкаф разницы не видит. Если журнал и реальность разошлись (клиент забрал вещь, но система считает ячейку занятой), это разбирается по журналу и вручную, а не опросом шкафа.
Если человек ушёл, не закрыв дверцу
Постамат переходит в состояние «дверь бросили открытой» и продолжает следить за датчиком. Как только дверцу закроют — сам или клиент, или проходящий мимо человек, или вы при объезде, — постамат возвращается в работу.
До исправления в этом состоянии опрос датчика гасился, и событие «дверь закрыли» физически не могло прийти. На практике один невнимательный человек вечером выводил постамат из строя до приезда оператора. Если вам попадётся старая заметка или чужая инструкция, где сказано «после незакрытой дверцы нужен выезд» — она устарела.
Тревогу это всё равно поднимает: открытая ячейка на улице — повод посмотреть. Но выезд теперь нужен не всегда, см. дверь не закрыта.