Привет, извиняюсь за поздний ответ! Вопрос со статусом устройства на 100% верный. Значение состояний открыто/закрыто, конечно, должно быть обратимым, чтобы работать с разными системами сигнализации.
Считыватель и система сигнализации
Представим, что моё здание охраняет сторонняя сигнализация. Сейчас ночь, и сигнализация включена. Утром сотрудник приходит к входной двери и хочет зайти.
Обычно он открывает дверь, это запускает период отсрочки отключения сигнализации, после чего он вводит код на панели сторонней сигнализации. Для этого не нужно подключение между UA и сторонней системой.
Вот что я предлагаю:
Сотрудник подходит к двери, проводит картой, а хаб UA проверяет состояние сигнализации. Если входящий сигнал показывает, что сигнализация уже отключена — дверь просто открывается.
Если входящий сигнал показывает, что сторонняя сигнализация включена, происходит следующее:
Сначала выходной сигнал управления сигнализацией переключается, чтобы сообщить сторонней системе отключиться.
Потом хаб ждёт изменения сигнала состояния — подтверждение, что сигнализация действительно отключена.
После подтверждения дверь открывается.
Именно так работает моя текущая система доступа.
Я очень хочу заменить текущую систему на UA, но интеграция с сигнализацией — ключевой момент.
Возможность видеть и менять состояние сигнализации прямо в приложении — скорее приятный бонус.
Что ещё можно развить в этом направлении:
- Создавать расписания и правила, кто и когда может включать и отключать сигнализацию.
- Вести запись, кто и когда включал или отключал сигнализацию.
- Добавить голосовое и текстовое уведомление у считывателя, например «Отключение сигнализации», во время смены состояния.
- Назначить определённый хаб (тот, что подключён к сигнализации) ответственным, чтобы несколько считывателей и хабов могли управлять одной и той же системой сигнализации.