СКУД

Подписка на уведомление об изменении состояния дверной СКУД

Для подписки на уведомления об измененении состояния дверной системы контроля и управления доступом, включающей датчик открытия двери, электронный замок и кнопку выхода (открытия замка) изнутри, необходимо вызвать функцию со следующей сигнатурой:

const accessStateSub = await window.asm.subToAccessStateChange(handler)

Где, handler - функция-обработчик, которая будет вызвана в момент приложения изменения состояния, accessStateSub - объект-подписка, имеющий метод unsubscribe, вызов которого отменит подписку.

Функция-обработчик имеет следующую сигнатуру:

const handler = (state) => {}

Где, state - объект-структура с результатами чтения данных с приложенной смарт-карты, который имеет поля:

  • door с типом string. Характеризует состояние двери и может принимать только два значения: OPENED (дверь открыта), CLOSED (дверь закрыта)
  • lock с типом string. Характеризует состояние замка и может принимать только два значения: UNLOCKED (замок открыт), UNLOCKED (замок закрыт)
  • button с типом string. Характеризует состояние кнопки выхода и может принимать только два значения: PUSHED (кнопка нажата), RELEASED (кнопка свободна)

Пример подписки на получение уведомления о изменении состояния дверной СКУД с выводом полученных данных в консоль браузера и последующей отпиской:

// // Создание функции-обработчика, которая производит вывод полученной структуры в консоль
const handler = (state) => console.log(state)

// Подписка на получение уведомления об изменении состояния дверной СКУД
const accessStateSub = await window.asm.subToAccessStateChange(handler)

// ... Ожидание изменения состояния

// Отмена подписки
await accessStateSub.unsubscribe()

Открытие замка СКУД

Для открытия замка дверной СКУД необходимо вызвать функцию со следующей сигнатурой:

await window.asm.unlockTheLocks()

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