СКУД
Подписка на уведомление об изменении состояния дверной СКУД
Для подписки на уведомления об измененении состояния дверной системы контроля и управления доступом, включающей датчик открытия двери, электронный замок и кнопку выхода (открытия замка) изнутри, необходимо вызвать функцию со следующей сигнатурой:
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()
Так как функция не имеет параметров и возвращаемых значений, в качестве примера возможно использование вышеприведенное описание её сигнатуры.