장치의 로그를 제어하는 API입니다.
[지원중단]
조건에 맞는 로그를 가져옵니다.[지원중단]
조건에 맞는 로그를 가져옵니다.
장치로부터 새로운 로그를 수신했을 때 호출되는 콜백 함수입니다.
typedef void (*OnLogReceived)(uint32_t deviceId, BS2Event* log);
1. deviceId
새로운 로그를 보내준 장치 ID입니다.
2. log
새로운 로그 정보 구조체입니다.
[+ V2.7.1] 장치로부터 새로운 로그를 수신했을 때 호출되는 콜백 함수입니다.
열화상 카메라를 통해 측정된 체온이 세번째 인자로 수신되며, BS2FaceConfigExt의 auditTemperature가 true로 설정되어져야 합니다.
typedef void (*OnLogReceivedEx)(uint32_t deviceId, BS2Event* log, uint32_t temperature);
1. deviceId
새로운 로그를 보내준 장치 ID입니다.
2. log
새로운 로그 정보 구조체입니다.
3. temperature
새로운 로그 발생 시, 측정된 체온 정보입니다.
typedef struct { uint32_t id; uint32_t dateTime; uint32_t deviceID; union { char userID[BS2_USER_ID_SIZE]; uint32_t uid; uint32_t doorID; uint32_t liftID; uint32_t zoneID; struct { uint32_t ioDeviceID; uint16_t port; int8_t value; uint8_t reserved[25]; }; struct { uint32_t zoneID; uint32_t doorID; uint32_t ioDeviceID; uint16_t port; uint8_t reserved[18]; } alarm; struct { uint32_t zoneID; uint32_t doorID[4]; uint8_t reserved[12]; } interlock; struct { uint16_t relayPort; uint16_t inputPort; uint8_t reserved[28]; } relayAction; struct { BS2_DEVICE_ID deviceId; uint8_t data[28]; } osdpStandard; }; union { uint16_t code; struct { uint8_t subCode; uint8_t mainCode; }; }; uint8_t param; #ifdef LESS_THAN_SDK_2_6_0 BS2_BOOL image; // Deprecated in V2.6.0 #else uint8_t image: 1; // bit 단위 분할하여 image 및 DST 지원 uint8_t isDST: 1; uint8_t half: 1; uint8_t hour: 4; uint8_t negative: 1; #endif } BS2Event;
1. id
로그 레코드의 식별자이며 로그가 발생될 때마다 1부터 자동으로 증가합니다.
2. dateTime
로그가 발생된 시간 정보이며, UTC로부터 현재까지 흐른 초(sec) 수를 의미합니다.
3. deviceID
로그가 발생된 장치 식별자입니다.
4. userID
로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다.
5. uid
출입문에 대한 로그라면 doorID를, 구역에 대한 로그라면 zoneID를 참조하면 되지만,
이를 정확히 알 수 없는 경우 uid를 참조하면 됩니다.
uid, doorID, liftID, zoneID는 union으로 선언되어 있기때문에 기본적으로 같은 정보를 의미합니다.
6. doorID
로그가 발생된 출입문 식별자입니다.
7. liftID
로그가 발생된 리프트 식별자입니다.
8. zoneID
로그가 발생된 구역 식별자입니다.
9. ioDeviceID
Door나 Input 장치의 식별자로 Door나 Input 장치와 관련 없는 로그일 경우 0으로 설정됩니다.
10. port
ioDeviceID에 대한 port를 의미합니다.
11. value
ioDeviceID에 대한 port value를 나타하며 다음을 의미합니다.
BS2_PORT_VALUE_UNKNOWN : -1
BS2_PORT_VALUE_OPEN : 0
BS2_PORT_VALUE_CLOSED : 1
BS2_PORT_VALUE_SUPERVISED_SHORT : 2
BS2_PORT_VALUE_SUPERVISED_OPEN : 3
12. alarm.zoneID
침입탐지 구역 경보 발생 시 구역에대한 식별자를 의미합니다.
13. alarm.doorID
침입탐지 구역 경보를 발생시킨 출입문 식별자를 의미합니다.
14. interlock.zoneID
인터락 위반을 발생시킨 구역 식별자를 의미합니다.
15. interlock.doorID
인터락 위반을 발생시킨 출입문 식별자를 의미합니다.
16. relayAction.relayPort
IM-120에서 RelayAction 동작 시 relay의 port 식별자입니다.
17. relayAction.inputPort
IM-120에서 RelayAction 동작 시 input의 port 식별자입니다.
18. osdpStandard.deviceId
OSDP standard 장치의 식별자입니다.
19. osdpStandard.data
OSDP standard 장치에서 발생된 총 28byte 크기의 알림 구조체 정보입니다.
구조체에 대한 상세한 정보는 BS2OsdpStandardDeviceNotify를 참조하세요.
20. subCode
로그 유형의 하위 코드 값입니다. 추가 정보가 필요할 경우 사용하십시오.
범주 | 이벤트 코드 | 값 | 설명 |
---|---|---|---|
Verify | BS2_SUB_EVENT_VERIFY_ID_PIN | 0x01 | 주어진 사용자 식별자로 PIN 인증 성공 |
BS2_SUB_EVENT_VERIFY_ID_FINGER | 0x02 | 주어진 사용자 식별자로 지문 인증 성공 | |
BS2_SUB_EVENT_VERIFY_ID_FINGER_PIN | 0x03 | 주어진 사용자 식별자로 지문과 PIN 인증 성공 | |
BS2_SUB_EVENT_VERIFY_ID_FACE | 0x04 | 주어진 사용자 식별자로 얼굴 인식 성공 | |
BS2_SUB_EVENT_VERIFY_ID_FACE_PIN | 0x05 | 주어진 사용자 식별자로 얼굴 인식과 PIN 인증 성공 | |
BS2_SUB_EVENT_VERIFY_CARD | 0x06 | 카드 인증 성공 | |
BS2_SUB_EVENT_VERIFY_CARD_PIN | 0x07 | 카드와 PIN 인증 성공 | |
BS2_SUB_EVENT_VERIFY_CARD_FINGER | 0x08 | 카드와 지문 인증 성공 | |
BS2_SUB_EVENT_VERIFY_CARD_FINGER_PIN | 0x09 | 카드, 지문, PIN 인증 성공 | |
BS2_SUB_EVENT_VERIFY_CARD_FACE | 0x0A | 카드 인증과 얼굴 인식 성공 | |
BS2_SUB_EVENT_VERIFY_CARD_FACE_PIN | 0x0B | 카드, 얼굴 인식, PIN 인증 성공 | |
BS2_SUB_EVENT_VERIFY_AOC | 0x0C | AOC 카드 인증 성공 | |
BS2_SUB_EVENT_VERIFY_AOC_PIN | 0x0D | AOC 카드와 PIN 인증 성공 | |
BS2_SUB_EVENT_VERIFY_AOC_FINGER | 0x0E | AOC 카드와 지문 인증 성공 | |
BS2_SUB_EVENT_VERIFY_AOC_FINGER_PIN | 0x0F | AOC 카드, 지문, PIN 인증 성공 | |
BS2_SUB_EVENT_VERIFY_CARD_FACE_FINGER | 0x10 | 카드, 얼굴, 지문 인증 성공 | |
BS2_SUB_EVENT_VERIFY_CARD_FINGER_FACE | 0x11 | 카드, 지문, 얼굴 인증 성공 | |
BS2_SUB_EVENT_VERIFY_ID_FACE_FINGER | 0x12 | ID, 얼굴, 지문 인증 성공 | |
BS2_SUB_EVENT_VERIFY_ID_FINGER_FACE | 0x13 | ID, 지문, 얼굴 인증 성공 | |
BS2_SUB_EVENT_VERIFY_MOBLIE_CARD | 0x16 | Mobile카드 인증 성공 (+2.8) | |
BS2_SUB_EVENT_VERIFY_MOBILE_CARD_PIN | 0x17 | Mobile카드, PIN 인증 성공 (+2.8) | |
BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FINGER | 0x18 | Mobile카드, 지문 인증 성공 (+2.8) | |
BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FINGER_PIN | 0x19 | Mobile카드, 지문, PIN 인증 성공 (+2.8) | |
BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FACE | 0x1A | Mobile카드, 얼굴 인증 성공 (+2.8) | |
BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FACE_PIN | 0x1B | Mobile카드, 얼굴, PIN 인증 성공 (+2.8) | |
BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FACE_FINGER | 0x20 | Mobile카드, 얼굴, 지문 인증 성공 (+2.8) | |
BS2_SUB_EVENT_VERIFY_MOBILE_CARD_FINGER_FACE | 0x21 | Mobile카드, 지문, 얼굴 인증 성공 (+2.8) | |
BS2_SUB_EVENT_VERIFY_QR | 0x25 | QR 인증 성공 | |
BS2_SUB_EVENT_VERIFY_QR_PIN | 0x26 | QR, PIN 인증 성공 | |
BS2_SUB_EVENT_VERIFY_QR_FINGER | 0x27 | QR, finger 인증 성공 | |
BS2_SUB_EVENT_VERIFY_QR_FINGER_PIN | 0x28 | QR, finger, PIN 인증 성공 | |
BS2_SUB_EVENT_VERIFY_QR_FACE | 0x29 | QR, face 인증 성공 | |
BS2_SUB_EVENT_VERIFY_QR_FACE_PIN | 0x2A | QR, face, PIN 인증 성공 | |
BS2_SUB_EVENT_VERIFY_QR_FACE_FINGER | 0x2B | QR, face, finger 인증 성공 | |
BS2_SUB_EVENT_VERIFY_QR_FINGER_FACE | 0x2C | QR, finger, face 인증 성공 | |
Identify | BS2_SUB_EVENT_IDENTIFY_FINGER | 0x01 | 지문 인증으로 사용자 식별 |
BS2_SUB_EVENT_IDENTIFY_FINGER_PIN | 0x02 | 지문과 PIN 인증으로 사용자 식별 | |
BS2_SUB_EVENT_IDENTIFY_FACE | 0x03 | 얼굴 인식으로 사용자 식별 | |
BS2_SUB_EVENT_IDENTIFY_FACE_PIN | 0x04 | 얼굴 인식과 PIN 인증으로 사용자 식별 | |
BS2_SUB_EVENT_IDENTIFY_FACE_FINGER | 0x05 | 얼굴 인식과 지문 인증으로 사용자 식별 | |
BS2_SUB_EVENT_IDENTIFY_FACE_FINGER_PIN | 0x06 | 얼굴 인식과 지문, PIN 인증으로 사용자 식별 | |
BS2_SUB_EVENT_IDENTIFY_FINGER_FACE | 0x07 | 지문 인증과 얼굴 인식으로 사용자 식별 | |
BS2_SUB_EVENT_IDENTIFY_FINGER_FACE_PIN | 0x08 | 지문 인증과 얼굴 인식, PIN 인증으로 사용자 식별 | |
User | BS2_SUB_EVENT_ENROLL_FAIL_INVALID_FACE | 0x01 | 등록실패(잘못된 얼굴 정보) |
BS2_SUB_EVENT_UPDATE_FAIL_INVALID_FACE | 0x01 | 갱신실패(잘못된 얼굴 정보) | |
BS2_SUB_EVENT_ENROLL_FAIL_MISMATCHED_FORMAT | 0x02 | 등록실패(존재하지 않는 사용자 등록 시, 템플릿 포멧이 장치 설정과 다름) | |
BS2_SUB_EVENT_UPDATE_FAIL_MISMATCHED_FORMAT | 0x02 | 갱신실패(존재하는 사용자 갱신 시, 템플릿 포멧이 장치 설정과 다름) | |
BS2_SUB_EVENT_ENROLL_FAIL_FULL_CREDENTIAL | 0x03 | 등록실패(사용자 등록으로 인해 장치의 credential 허용치를 초과함) | |
BS2_SUB_EVENT_UPDATE_FAIL_FULL_CREDENTIAL | 0x03 | 갱신실패(사용자 갱신으로 인해 장치의 credential 허용치를 초과함) | |
BS2_SUB_EVENT_ENROLL_FAIL_INVALID_USER | 0x04 | 등록실패(사용자 ID가 비어있다거나, 등록이 불가한 상황) | |
BS2_SUB_EVENT_UPDATE_FAIL_INVALID_USER | 0x04 | 갱신실패(등록된 사용자가 없는 경우) | |
BS2_SUB_EVENT_ENROLL_FAIL_INTERNAL_ERROR | 0x09 | 등록실패(내부오류) | |
BS2_SUB_EVENT_UPDATE_FAIL_INTERNAL_ERROR | 0x09 | 갱신실패(내부오류) | |
Auth | BS2_SUB_EVENT_DUAL_AUTH_FAIL_TIMEOUT | 0x01 | 이중 인증(2인 인증) 시간 만료 |
BS2_SUB_EVENT_DUAL_AUTH_FAIL_ACCESS_GROUP | 0x02 | 유효하지 않은 사용자로 2인 인증 시도 | |
BS2_SUB_EVENT_HIGH_TEMPERATURE | 0x00 | 고온 감지 | |
BS2_SUB_EVENT_NO_TEMPERATURE | 0x01 | 체온 감지 실패 | |
BS2_SUB_EVENT_UNMASKED_FACE | 0x02 | 마스트 미착용 | |
BS2_SUB_EVENT_BYPASS_NO_VIOLATION | 0x00 | Bypass violation (No) | |
BS2_SUB_EVENT_BYPASS_THERMAL_VIOLATION | 0x01 | Bypass violation (체온) | |
BS2_SUB_EVENT_BYPASS_MASK_VIOLATION | 0x02 | Bypass violation (마스크) | |
BS2_SUB_EVENT_BYPASS_MASK_THERMAL_VIOLATION | 0x03 | Bypass violation (마스크 + 체온) | |
Credential | BS2_SUB_EVENT_CREDENTIAL_ID | 0x01 | 등록되지 않은 사용자 식별자 |
BS2_SUB_EVENT_CREDENTIAL_CARD | 0x02 | 유효하지 않은 카드 | |
BS2_SUB_EVENT_CREDENTIAL_PIN | 0x03 | 유효하지 않은 PIN | |
BS2_SUB_EVENT_CREDENTIAL_FINGER | 0x04 | 유효하지 않은 지문 | |
BS2_SUB_EVENT_CREDENTIAL_FACE | 0x05 | 유효하지 않은 얼굴 | |
BS2_SUB_EVENT_CREDENTIAL_AOC_PIN | 0x06 | 유효하지 않은 AOC PIN | |
BS2_SUB_EVENT_CREDENTIAL_AOC_FINGER | 0x07 | 유효하지 않은 AOC 지문 | |
BS2_SUB_EVENT_CREDENTIAL_MOBILE_CARD | 0x08 | 유효하지 않은 Mobile카드 (+2.8) | |
BS2_SUB_EVENT_NON_NUMERIC_QR | 0x09 | QR에 숫자가 아닌 문자가 포함됨 | |
BS2_SUB_EVENT_CREDENTIAL_QR | 0x0C | 유효하지 않은 QR (+2.8.3) | |
BS2_SUB_EVENT_NON_PRINTABLE_QR | 0x0A | QR에 사용 불가능한 제어문자가 포함됨 | |
BS2_SUB_EVENT_TOO_LONG_QR | 0x0B | QR로 너무 긴 문자열이 사용됨 | |
Auth | BS2_SUB_EVENT_AUTH_FAIL_INVALID_AUTH_MODE | 0x01 | 유효하지 않은 인증 모드 |
BS2_SUB_EVENT_AUTH_FAIL_INVALID_CREDENTIAL | 0x02 | 인증 모드에 설정되지 않은 인증 수단 | |
BS2_SUB_EVENT_AUTH_FAIL_TIMEOUT | 0x03 | 인증 시간 만료 | |
BS2_SUB_EVENT_AUTH_FAIL_MATCHING_REFUSAL | 0x04 | 매칭 거부 | |
Access | BS2_SUB_EVENT_ACCESS_DENIED_ACCESS_GROUP | 0x01 | 출입 통제 구역에 등록되지 않아 출입 실패 |
BS2_SUB_EVENT_ACCESS_DENIED_DISABLED | 0x02 | 비활성화된 사용자이기 때문에 출입 실패 | |
BS2_SUB_EVENT_ACCESS_DENIED_EXPIRED | 0x03 | 사용자 유효 기간 만료되어 출입 실패 | |
BS2_SUB_EVENT_ACCESS_DENIED_ON_BLACKLIST | 0x04 | 블랙리스트 카드로 등록되어 출입 실패 | |
BS2_SUB_EVENT_ACCESS_DENIED_APB | 0x05 | APB 규칙 위반하여 출입 실패 | |
BS2_SUB_EVENT_ACCESS_DENIED_TIMED_APB | 0x06 | Timed APB 구역을 재진입 대기 시간내에 출입 | |
BS2_SUB_EVENT_ACCESS_DENIED_FORCED_LOCK | 0x07 | 강제 잠금 구역이기 때문에 출입 실패 | |
BS2_SUB_EVENT_ACCESS_DENIED_SCHEDULED_LOCK | 0x07 | 출입 스케줄에 의하여 출입 실패 | |
BS2_SUB_EVENT_ACCESS_EXCUSED_APB | 0x08 | APB 규칙 위반 및 출입허용(Soft APB) | |
BS2_SUB_EVENT_ACCESS_EXCUSED_TIMED_APB | 0x09 | Timed APB 규칙 위반 및 출입허용(Soft APB) | |
BS2_SUB_EVENT_ACCESS_DENIED_FACE_DETECTION | 0x0A | 출입거부(얼굴 검출 실패) | |
BS2_SUB_EVENT_ACCESS_DENIED_CAMERA_CAPTURE | 0x0B | 출입거부(카메라 캡쳐 실패) | |
BS2_SUB_EVENT_ACCESS_DENIED_FAKE_FINGER | 0x0C | 출입거부(위조된 얼굴인식) | |
BS2_SUB_EVENT_ACCESS_DENIED_DEVICE_ZONE_ENTRANCE_LIMIT | 0x0D | 출입거부(Device zone에서 인증 횟수 제한) | |
BS2_SUB_EVENT_ACCESS_DENIED_INTRUSION_ALARM | 0x0E | 출입거부(Intrusion alarm) | |
BS2_SUB_EVENT_ACCESS_DENIED_INTERLOCK | 0x0F | 출입거부(Interlock 위반) | |
BS2_SUB_EVENT_ACCESS_EXCUSED_AUTH_LIMIT | 0x10 | 출입허용(인증제한 위반) | |
BS2_SUB_EVENT_ACCESS_DENIED_AUTH_LIMIT | 0x11 | 출입거부(인증제한 위반) | |
BS2_SUB_EVENT_ACCESS_DENIED_ANTI_TAILGATE | 0x12 | 출입거부(Anti tailgating) | |
BS2_SUB_EVENT_ACCESS_DENIED_HIGH_TEMPERATURE | 0x13 | 출입거부(비정상 체온 감지 중 고온) | |
BS2_SUB_EVENT_ACCESS_DENIED_NO_TEMPERATURE | 0x14 | 출입거부(비정상 체온 감지 중 저온) | |
BS2_SUB_EVENT_ACCESS_DENIED_UNMASKED_FACE | 0x15 | 출입거부(마스크 미착용) | |
APB | BS2_SUB_EVENT_ZONE_HARD_APB | 0x01 | 하드 APB 구역 |
BS2_SUB_EVENT_ZONE_SOFT_APB | 0x02 | 소프트 APB 구역 | |
Door | BS2_SUB_EVENT_DOOR_FLAG_SCHEDULE | 0x01 | 출임문 플래그 (Schedule) |
BS2_SUB_EVENT_DOOR_FLAG_OPERATOR | 0x04 | 출임문 플래그 (Operator) | |
BS2_SUB_EVENT_DOOR_FLAG_EMERGENCY | 0x02 | 출임문 플래그 (Emergency) | |
Floor | BS2_SUB_EVENT_FLOOR_FLAG_SCHEDULE | 0x01 | 층 플래그 (Schedule) |
BS2_SUB_EVENT_FLOOR_FLAG_OPERATOR | 0x04 | 층 플래그 (Operator) | |
BS2_SUB_EVENT_FLOOR_FLAG_ACTION | 0x08 | 층 플래그 (Action) | |
BS2_SUB_EVENT_FLOOR_FLAG_EMERGENCY | 0x02 | 층 플래그 (Emergency) |
21. mainCode
로그 유형의 주코드 값입니다.
범주 | 이벤트 코드 | 값 | 설명 |
---|---|---|---|
Auth | BS2_EVENT_VERIFY_SUCCESS | 0x1000 | 1:1 인증 성공 |
BS2_EVENT_VERIFY_FAIL | 0x1100 | 1:1 인증 실패 | |
BS2_EVENT_VERIFY_DURESS | 0x1200 | 협박 지문으로 1:1 인증 성공에 성공 | |
BS2_EVENT_IDENTIFY_SUCCESS | 0x1300 | 1:N 인증 성공 | |
BS2_EVENT_IDENTIFY_FAIL | 0x1400 | 1:N 인증 실패 | |
BS2_EVENT_IDENTIFY_DURESS | 0x1500 | 협박 지문으로 1:N 인증 성공에 성공 | |
BS2_EVENT_DUAL_AUTH_SUCCESS | 0x1600 | 이중 인증(2인 인증) 성공 | |
BS2_EVENT_DUAL_AUTH_FAIL | 0x1700 | 이중 인증(2인 인증) 실패 | |
BS2_EVENT_AUTH_FAILED | 0x1800 | 등록되지 않은 인증 수단으로 인증 시도 | |
BS2_EVENT_ACCESS_DENIED | 0x1900 | 유효하지 사용자가 인증을 시도하거나 APB 규칙에 위반 | |
BS2_EVENT_FAKE_FINGER_DETECTED | 0x1A00 | 위조지문 감지됨 | |
BS2_EVENT_BYPASS_SUCCESS | 0x1B00 | Bypass 인증 성공 (체온감지 또는 마스크 검출 시) | |
BS2_EVENT_BYPASS_FAIL | 0x1C00 | Bypass 인증 실패 (체온감지 또는 마스크 검출 시) | |
BS2_EVENT_ABNORMAL_TEMPERATURE_DETECTED | 0x1D00 | 고온 감지 또는 체온감지 실패 | |
BS2_EVENT_UNMASKED_FACE_DETECTED | 0x1E00 | 마스크 미착용 | |
User | BS2_EVENT_USER_ENROLL_SUCCESS | 0x2000 | 사용자 등록 성공 |
BS2_EVENT_USER_ENROLL_FAIL | 0x2100 | 사용자 등록 실패 | |
BS2_EVENT_USER_UPDATE_SUCCESS | 0x2200 | 사용자 정보 갱신 성공 | |
BS2_EVENT_USER_UPDATE_FAIL | 0x2300 | 사용자 정보 갱신 실패 | |
BS2_EVENT_USER_DELETE_SUCCESS | 0x2400 | 사용자 삭제 성공 | |
BS2_EVENT_USER_DELETE_FAIL | 0x2500 | 사용자 삭제 실패 | |
BS2_EVENT_USER_DELETE_ALL_SUCCESS | 0x2600 | 전체 사용자 삭제 성공 | |
BS2_EVENT_USER_ISSUE_AOC_SUCCESS | 0x2700 | Access card로 인증 성공 | |
BS2_EVENT_USER_DUPLICATE_CREDENTIAL | 0x2800 | 중복 인증(카드/지문/얼굴)정보 검출 | |
BS2_EVENT_USER_UPDATE_PARTIAL_SUCCESS | 0x2900 | 사용자 부분정보 갱신 성공 | |
BS2_EVENT_USER_UPDATE_PARTIAL_FAIL | 0x2A00 | 사용자 부분정보 갱신 실패 | |
BS2_EVENT_USER_RELOADED | 0x2B00 | 사용자가 다시 로드됨. | |
Device | BS2_EVENT_DEVICE_SYSTEM_RESET | 0x3000 | 시스템 다시 시작 |
BS2_EVENT_DEVICE_SYSTEM_STARTED | 0x3100 | 시스템이 시작됨 | |
BS2_EVENT_DEVICE_TIME_SET | 0x3200 | 시스템 시간 변경 | |
BS2_EVENT_DEVICE_TIMEZONE_SET | 0x3201 | Time zone 변경 | |
BS2_EVENT_DEVICE_DST_SET | 0x3202 | DST 설정 변경 | |
BS2_EVENT_DEVICE_LINK_CONNECTED | 0x3300 | LAN 케이블 연결됨 | |
BS2_EVENT_DEVICE_LINK_DISCONNETED | 0x3400 | LAN 케이블 빠짐 | |
BS2_EVENT_DEVICE_DHCP_SUCCESS | 0x3500 | DHCP로 IP할당됨 | |
BS2_EVENT_DEVICE_ADMIN_MENU | 0x3600 | 관리자 메뉴로 진입 | |
BS2_EVENT_DEVICE_UI_LOCKED | 0x3700 | 잠금 화면 시작 | |
BS2_EVENT_DEVICE_UI_UNLOCKED | 0x3800 | 잠금 화면 끝 | |
BS2_EVENT_DEVICE_COMM_LOCKED | 0x3900 | RS485 통신 잠금 | |
BS2_EVENT_DEVICE_COMM_UNLOCKED | 0x3A00 | RS485 통신 잠금 해제 | |
BS2_EVENT_DEVICE_TCP_CONNECTED | 0x3B00 | TCP 연결됨 | |
BS2_EVENT_DEVICE_TCP_DISCONNECTED | 0x3C00 | TCP 연결이 끊어짐 | |
BS2_EVENT_DEVICE_RTSP_CONNECTED | 0x3B10 | RTSP 연결됨 | |
BS2_EVENT_DEVICE_RTSP_DISCONNECTED | 0x3C10 | RTSP 연결이 끊어짐 | |
BS2_EVENT_DEVICE_RS485_CONNECTED | 0x3D00 | RS485 연결됨 | |
BS2_EVENT_DEVICE_RS485_DISCONNCTED | 0x3E00 | RS485 연결이 끊어짐 | |
BS2_EVENT_DEVICE_INPUT_DETECTED | 0x3F00 | 입력 장치가 검색됨 | |
BS2_EVENT_DEVICE_TAMPER_ON | 0x4000 | 장치 혹은 주변 장치가 제거됨 | |
BS2_EVENT_DEVICE_TAMPER_OFF | 0x4100 | 장치 혹은 주변 장치가 다시 연결됨 | |
BS2_EVENT_DEVICE_EVENT_LOG_CLEARED | 0x4200 | 로그 삭제됨 | |
BS2_EVENT_DEVICE_FIRMWARE_UPGRADED | 0x4300 | 펌웨어가 업데이트됨 | |
BS2_EVENT_DEVICE_RESOURCE_UPGRADED | 0x4400 | 리소스가 업데이트됨 | |
BS2_EVENT_DEVICE_CONFIG_RESET | 0x4500 | 시스템 구성 정보가 초기화됨 (네트워크 정보 포함) | |
BS2_EVENT_DEVICE_DATABASE_RESET | 0x4501 | 데이터베이스가 초기화됨 | |
BS2_EVENT_DEVICE_FACTORY_RESET | 0x4502 | 공장 초기화됨 | |
BS2_EVENT_DEVICE_CONFIG_RESET_EX | 0x4503 | 시스템 구성 정보가 초기화됨 (네트워크 정보 제외) | |
BS2_EVENT_DEVICE_FACTORY_RESET_WITHOUT_ETHERNET | 0x4504 | 공장 초기화 (네트워크 정보 제외) | |
Supervised Input | BS2_EVENT_SUPERVISED_INPUT_SHORT | 0x4600 | Supervised Input (단락 감지) |
BS2_EVENT_SUPERVISED_INPUT_OPEN | 0x4700 | Supervised Input (단선 감지) | |
Device-Ex | BS2_EVENT_DEVICE_AC_FAIL | 0x4800 | AC Power 실패 |
BS2_EVENT_DEVICE_AC_SUCCESS | 0x4900 | AC Power 성공 | |
BS2_EVENT_EXIT_BUTTON | 0x4A00 | 퇴실 버튼 눌림 | |
BS2_EVENT_SIMULATED_EXIT_BUTTON | 0x4A01 | Simulated 버튼 눌림 | |
BS2_EVENT_OPERATOR_OPEN | 0x4B00 | 관리자에 의한 열림 | |
BS2_EVENT_VOIP_OPEN | 0x4C00 | VoIP에 의한 열림 | |
Door | BS2_EVENT_DOOR_UNLOCKED | 0x5000 | 출입문 잠금이 풀림 |
BS2_EVENT_DOOR_LOCKED | 0x5100 | 출입문이 잠김 | |
BS2_EVENT_DOOR_OPENED | 0x5200 | 출입문이 열림 | |
BS2_EVENT_DOOR_CLOSED | 0x5300 | 출입문이 닫힘 | |
BS2_EVENT_DOOR_FORCED_OPEN | 0x5400 | 출입문이 강제로 열림 | |
BS2_EVENT_DOOR_HELD_OPEN | 0x5500 | 출입문 열림이 일정 시간동안 지속됨 | |
BS2_EVENT_DOOR_FORCED_OPEN_ALARM | 0x5600 | BS2_EVENT_DOOR_FORCED_OPEN 이벤트 발생 경보 시작 | |
BS2_EVENT_DOOR_FORCED_OPEN_ALARM_CLEAR | 0x5700 | BS2_EVENT_DOOR_FORCED_OPEN 이벤트 발생 경보 해제 | |
BS2_EVENT_DOOR_HELD_OPEN_ALARM | 0x5800 | BS2_EVENT_DOOR_HELD_OPEN 이벤트 발생 경보 시작 | |
BS2_EVENT_DOOR_HELD_OPEN_ALARM_CLEAR | 0x5900 | BS2_EVENT_DOOR_HELD_OPEN 이벤트 발생 경보 해제 | |
BS2_EVENT_DOOR_APB_ALARM | 0x5A00 | APB 경보 시작 | |
BS2_EVENT_DOOR_APB_ALARM_CLEAR | 0x5B00 | APB 경보 해제 | |
BS2_EVENT_DOOR_RELEASE | 0x5C00 | 출입문 해제 | |
BS2_EVENT_DOOR_LOCK | 0x5D00 | 출입문 잠금 | |
BS2_EVENT_DOOR_UNLOCK | 0x5E00 | 출입문 개방 | |
Zone | BS2_EVENT_ZONE_APB_VIOLATION | 0x6000 | 구역내 APB 규칙 위반 |
BS2_EVENT_ZONE_APB_ALARM | 0x6100 | BS2_EVENT_ZONE_APB_VIOLATION 이벤트 발생 경보 시작 | |
BS2_EVENT_ZONE_APB_ALARM_CLEAR | 0x6200 | BS2_EVENT_ZONE_APB_VIOLATION 이벤트 발생 경보 해제 | |
BS2_EVENT_ZONE_TIMED_APB_VIOLATION | 0x6300 | 구역내 TIMED APB 규칙 위반 | |
BS2_EVENT_ZONE_TIMED_APB_ALARM | 0x6400 | BS2_EVENT_ZONE_TIMED_APB_VIOLATION 이벤트 발생 경보 시작 | |
BS2_EVENT_ZONE_TIMED_APB_ALARM_CLEAR | 0x6500 | BS2_EVENT_ZONE_TIMED_APB_VIOLATION 이벤트 발생 경보 해제 | |
BS2_EVENT_ZONE_FIRE_ALARM_INPUT | 0x6600 | 화재 발생 | |
BS2_EVENT_ZONE_FIRE_ALARM | 0x6700 | BS2_EVENT_ZONE_FIRE_ALARM_INPUT 이벤트 발생 경보 시작 | |
BS2_EVENT_ZONE_FIRE_ALARM_CLEAR | 0x6800 | BS2_EVENT_ZONE_FIRE_ALARM_INPUT 이벤트 발생 경보 해제 | |
BS2_EVENT_ZONE_SCHEDULED_LOCK_VIOLATION | 0x6900 | 스케줄 잠금 구역 위반 감지 | |
BS2_EVENT_ZONE_SCHEDULED_LOCK_START | 0x6A00 | 스케줄 잠금 구역 시작 | |
BS2_EVENT_ZONE_SCHEDULED_LOCK_END | 0x6B00 | 스케줄 잠금 구역 끝 | |
BS2_EVENT_ZONE_SCHEDULED_UNLOCK_START | 0x6C00 | 스케줄 개방 구역 시작 | |
BS2_EVENT_ZONE_SCHEDULED_UNLOCK_END | 0x6D00 | 스케줄 개방 구역 끝 | |
BS2_EVENT_ZONE_SCHEDULED_LOCK_ALARM | 0x6E00 | 스케줄 잠금 구역 경보 시작 | |
BS2_EVENT_ZONE_SCHEDULED_LOCK_ALARM_CLEAR | 0x6F00 | 스케줄 잠금 구역 경보 해제 | |
Lift | BS2_EVENT_FLOOR_ACTIVATED | 0x7000 | 층이 활성화 됨 |
BS2_EVENT_FLOOR_DEACTIVATED | 0x7100 | 층이 비활성화 됨 | |
BS2_EVENT_FLOOR_RELEASE | 0x7200 | 층이 개방 됨 | |
BS2_EVENT_FLOOR_ACTIVATE | 0x7300 | 층 활성화 | |
BS2_EVENT_FLOOR_DEACTIVATE | 0x7400 | 층 비활성화 | |
BS2_EVENT_LIFT_ALARM_INPUT | 0x7500 | 엘리베이터 알람 입력 | |
BS2_EVENT_LIFT_ALARM | 0x7600 | 엘리베이터 알람 | |
BS2_EVENT_LIFT_ALARM_CLEAR | 0x7700 | 엘리베이터 알람 해제 | |
BS2_EVENT_ALL_FLOOR_ACTIVATED | 0x7800 | 층이 활성화 됨 (전체) | |
BS2_EVENT_ALL_FLOOR_DEACTIVATED | 0x7900 | 층이 비활성화 됨 (전체) | |
RelayAction | BS2_EVENT_RELAY_ACTION_ON | 0xC300 | RelayAction 켜짐 |
BS2_EVENT_RELAY_ACTION_OFF | 0xC400 | RelayAction 꺼짐 | |
BS2_EVENT_RELAY_ACTION_KEEP | 0xC500 | RelayAction 신호유지 |
22. param
이벤트 발생 장치의 추가 정보가 필요할 경우에만 사용되고, 주로 근태 코드나 출입문이나 입력 장치의 포트 번호가 저장됩니다. 근태 코드가 저장될 때는 아래의 코드표를 참고하십시오.
장치 종류 | 근태 코드 | 키 | 값 |
---|---|---|---|
BioStation 2 | BS2_TNA_UNSPECIFIED | (N/A) | 0 |
BS2_TNA_KEY_1 | F1 | 1 | |
BS2_TNA_KEY_2 | F2 | 2 | |
BS2_TNA_KEY_3 | F3 | 3 | |
BS2_TNA_KEY_4 | F4 | 4 | |
BS2_TNA_KEY_5 | 1 | 5 | |
BS2_TNA_KEY_6 | 2 | 6 | |
BS2_TNA_KEY_7 | 3 | 7 | |
BS2_TNA_KEY_8 | 4 | 8 | |
BS2_TNA_KEY_9 | 5 | 9 | |
BS2_TNA_KEY_10 | 6 | 10 | |
BS2_TNA_KEY_11 | 7 | 11 | |
BS2_TNA_KEY_12 | 8 | 12 | |
BS2_TNA_KEY_13 | 9 | 13 | |
BS2_TNA_KEY_14 | Call | 14 | |
BS2_TNA_KEY_15 | 0 | 15 | |
BS2_TNA_KEY_16 | Esc | 16 |
[+ 2.6.3] param의 추가기능
event code가 사용자와 관련된 경우에 한합니다.
장치에서 직접 사용자를 추가 또는 편집, 삭제하였다면 param은 1, BioStar를 통해 이루어졌다면 0입니다.
예를들어 BS2_EVENT_USER_ENROLL_SUCCESS와 함께 param이 1이었다면, 장치에서 직접 추가된 사용자를 나타냅니다.
이 기능은 아래의 펌웨어 버전 이후부터 지원합니다.
장치 종류 | 지원 버전 |
---|---|
BioStation 2 | V1.7.0 |
BioStation A2 | V1.6.0 |
CoreStation 40 | V1.2.0 |
BioEntry P2 | V1.2.0 |
BioStation L2 | V1.4.0 |
BioLite N2 | V1.1.0 |
BioEntry W2 | V1.3.0 |
FaceStation 2 | V1.2.0 |
23. image
SDK V2.6.0 이전까지는 1byte 전체를 사용하여 다음을 의미했습니다.
- 이벤트 발생되었을 때 이미지 정보가 포함되었는지 여부 (true/false).
SDK V2.6.0 부터는 1byte를 bit 단위로 나누어 다음의 정보를 제공할 수 있도록 변경되었습니다.
- 이미지 정보가 포함되었는지 여부
- DST 적용 여부
범주 | 비트 수 | 변수 | 설명 |
---|---|---|---|
SDK 2.6.0 이전 | 8 | image | 이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다. |
SDK 2.6.0 부터 | 1 | image | 이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다. |
1 | isDST | 현재 로그가 DST의 적용을 받았는지 여부를 표시 | |
1 | half | DST가 30분 단위의 적용을 받는지여부. 0은 0분, 1은 30분 | |
4 | hour | 시간을 표시. 1~12시 | |
1 | negative | 0은 +시간, 1은 -시간 |
typedef struct { uint16_t eventMask; uint32_t id; BS2EventExtInfo info; union { BS2_USER_ID userID; // valid if eventMask has BS2_EVENT_MASK_USER_ID uint8_t cardID[BS2_CARD_DATA_SIZE]; // valid if eventMask has BS2_EVENT_MASK_CARD_ID BS2_DOOR_ID doorID; // valid if eventMask has BS2_EVENT_MASK_DOOR_ID BS2_ZONE_ID zoneID; // valid if eventMask has BS2_EVENT_MASK_ZONE_ID BS2EventExtIoDevice ioDevice; // valid if eventMask has BS2_EVENT_MASK_IODEVICE }; uint8_t tnaKey; uint32_t jobCode; uint16_t imageSize; uint8_t image[BS2_EVENT_MAX_IMAGE_SIZE]; uint8_t reserved; } BS2EventBlob;
1. eventMask
Event mask값입니다. mask값에 따라서 해당 ID(User, card, door, zone)값을 인식할 수 있습니다.
값 | 설명 |
---|---|
0x0000 | 없음 |
0x0001 | BS2EventExtInfo 구조체 |
0x0002 | User ID |
0x0004 | Card ID |
0x0008 | Door ID |
0x0010 | Zone ID |
0x0020 | BS2EventExtIoDevice 구조체 |
0x0040 | TNA Key |
0x0080 | Job Code |
0x0100 | Image |
0x0200 | Temperature |
0x0400 | QR data |
0xFFFF | ALL |
2. id
로그 레코드의 식별자이며 로그가 발생될 때마다 1부터 자동으로 증가합니다.
3. info
BS2EventExtInfo 구조체 정보입니다.
4. userID
로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다.
5. cardID
로그와 관련된 card 식별자로써 card와 관련 없는 로그일 경우 0으로 설정됩니다.
인증 실패의 경우에만 기록하며, 인증 성공의 경우에는 eventMask와 상관없이 user ID를 리턴합니다.
6. doorID
로그와 관련된 door 식별자로써 door와 관련 없는 로그일 경우 0으로 설정됩니다.
7. zoneID
로그와 관련된 zone 식별자로써 zone와 관련 없는 로그일 경우 0으로 설정됩니다.
8. ioDevice
Door나 Input 장치의 식별자로 Door나 Input 장치와 관련 없는 로그일 경우 0으로 설정됩니다. (BS2EventExtIoDevice 구조체 참고)
9. tnaKey
이벤트 발생 장치의 추가 정보가 필요할 경우에만 사용되고, 주로 근태 코드나 출입문이나 입력 장치의 포트 번호가 저장됩니다
10. jobCode
사용자 정보에 JobCode가 존재했을 경우에, JobCode 사용하여 인증 할 때 사용자의 JobCode 값을 말합니다.
11. imageSize
이벤트 발생되었을 때 이미지 size를 말합니다.
12. image
이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다
13. reserved
예약된 공간입니다.
typedef struct { uint32_t dateTime; uint32_t deviceID; union { ///< 2 bytes BS2_EVENT_CODE code; struct { uint8_t subCode; uint8_t mainCode; }; }; uint8_t reserved[2]; } BS2EventExtInfo;
1. dateTime
로그가 발생된 시간 정보이며, UTC로부터 현재까지 흐른 초(sec) 수를 의미합니다.
2. deviceID
로그가 발생된 장치 식별자입니다.
3. subCode
로그 유형의 하위 코드 값입니다. 추가 정보가 필요할 경우 사용하십시오
4. mainCode
로그 유형의 주코드 값입니다.
5. reserved
예약된 공간입니다.
typedef struct { uint32_t ioDeviceID; uint16_t port; uint8_t value; uint8_t reserved[1]; } BS2EventExtInfo;
1. ioDeviceID
Door나 Input 장치의 식별자로 Door나 Input 장치와 관련 없는 로그일 경우 0으로 설정됩니다.
2. port
입력 port number입니다.
3. value
입력 port 상태를 말합니다.
값 | 설명 |
---|---|
-1 | UNKNOWN |
0 | Open |
1 | Closed |
2 | Supervised Short |
3 | Supervised Open |
4. reserved
예약된 공간입니다.
typedef struct { uint16_t eventMask; uint32_t id; BS2EventExtInfo info; union { BS2_USER_ID userID; // valid if eventMask has BS2_EVENT_MASK_USER_ID uint8_t cardID[BS2_CARD_DATA_SIZE]; // valid if eventMask has BS2_EVENT_MASK_CARD_ID BS2_DOOR_ID doorID; // valid if eventMask has BS2_EVENT_MASK_DOOR_ID BS2_ZONE_ID zoneID; // valid if eventMask has BS2_EVENT_MASK_ZONE_ID BS2EventExtIoDevice ioDevice; // valid if eventMask has BS2_EVENT_MASK_IODEVICE }; uint8_t tnaKey; uint32_t jobCode; uint16_t imageSize; uint8_t* imageObj; // valid if eventMask has BS2_EVENT_MASK_IMAGE uint8_t reserved; } BS2EventSmallBlob;
1. eventMask
Event mask값입니다. mask값에 따라서 해당 ID(User, card, door, zone)값을 인식할 수 있습니다.
값 | 설명 |
---|---|
0x0000 | 없음 |
0x0001 | BS2EventExtInfo 구조체 |
0x0002 | User ID |
0x0004 | Card ID |
0x0008 | Door ID |
0x0010 | Zone ID |
0x0020 | BS2EventExtIoDevice 구조체 |
0x0040 | TNA Key |
0x0080 | Job Code |
0x0100 | Image |
0x0200 | Temperature |
0x0400 | QR data |
0xFFFF | ALL |
2. id
로그 레코드의 식별자이며 로그가 발생될 때마다 1부터 자동으로 증가합니다.
3. info
BS2EventExtInfo 구조체 정보입니다.
4. userID
로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다.
5. cardID
로그와 관련된 card 식별자로써 card와 관련 없는 로그일 경우 0으로 설정됩니다.
인증 실패의 경우에만 기록하며, 인증 성공의 경우에는 eventMask와 상관없이 user ID를 리턴합니다.
6. doorID
로그와 관련된 door 식별자로써 door와 관련 없는 로그일 경우 0으로 설정됩니다.
7. zoneID
로그와 관련된 zone 식별자로써 zone와 관련 없는 로그일 경우 0으로 설정됩니다.
8. ioDevice
Door나 Input 장치의 식별자로 Door나 Input 장치와 관련 없는 로그일 경우 0으로 설정됩니다. (BS2EventExtIoDevice 구조체 참고)
9. tnaKey
이벤트 발생 장치의 추가 정보가 필요할 경우에만 사용되고, 주로 근태 코드나 출입문이나 입력 장치의 포트 번호가 저장됩니다
10. jobCode
사용자 정보에 JobCode가 존재했을 경우에, JobCode 사용하여 인증 할 때 사용자의 JobCode 값을 말합니다.
11. imageSize
이벤트 발생되었을 때 이미지 size를 말합니다.
12. imageObj
이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다
13. reserved
예약된 공간입니다.
typedef struct { uint16_t eventMask; uint32_t id; BS2EventExtInfo info; // valid if eventMask has BS2_EVENT_MASK_INFO union { BS2_USER_ID userID; // valid if eventMask has BS2_EVENT_MASK_USER_ID uint8_t cardID[BS2_CARD_DATA_SIZE]; // valid if eventMask has BS2_EVENT_MASK_CARD_ID BS2_DOOR_ID doorID; // valid if eventMask has BS2_EVENT_MASK_DOOR_ID BS2_ZONE_ID zoneID; // valid if eventMask has BS2_EVENT_MASK_ZONE_ID BS2EventExtIoDevice ioDevice; // valid if eventMask has BS2_EVENT_MASK_IODEVICE }; uint8_t tnaKey; // valid if eventMask has BS2_EVENT_MASK_TNA_KEY uint32_t jobCode; // valid if eventMask has BS2_EVENT_MASK_JOB_CODE uint16_t imageSize; // valid if eventMask has BS2_EVENT_MASK_IMAGE uint8_t* imageObj; // valid if eventMask has BS2_EVENT_MASK_IMAGE uint8_t reserved; uint32_t temperature; // valid if eventMask has BS2_EVENT_MASK_TEMPERATURE } BS2EventSmallBlobEx;
1. eventMask
Event mask값입니다. mask값에 따라서 해당 ID(User, card, door, zone)값을 인식할 수 있습니다.
값 | 설명 |
---|---|
0x0000 | 없음 |
0x0001 | BS2EventExtInfo 구조체 |
0x0002 | User ID |
0x0004 | Card ID |
0x0008 | Door ID |
0x0010 | Zone ID |
0x0020 | BS2EventExtIoDevice 구조체 |
0x0040 | TNA Key |
0x0080 | Job Code |
0x0100 | Image |
0x0200 | Temperature |
0x0400 | QR data |
0xFFFF | ALL |
2. id
로그 레코드의 식별자이며 로그가 발생될 때마다 1부터 자동으로 증가합니다.
3. info
BS2EventExtInfo 구조체 정보입니다.
4. userID
로그와 관련된 사용자 식별자로써 사용자와 관련 없는 로그일 경우 0으로 설정됩니다.
5. cardID
로그와 관련된 card 식별자로써 card와 관련 없는 로그일 경우 0으로 설정됩니다.
인증 실패의 경우에만 기록하며, 인증 성공의 경우에는 eventMask와 상관없이 user ID를 리턴합니다.
6. doorID
로그와 관련된 door 식별자로써 door와 관련 없는 로그일 경우 0으로 설정됩니다.
7. zoneID
로그와 관련된 zone 식별자로써 zone와 관련 없는 로그일 경우 0으로 설정됩니다.
8. ioDevice
Door나 Input 장치의 식별자로 Door나 Input 장치와 관련 없는 로그일 경우 0으로 설정됩니다. (BS2EventExtIoDevice 구조체 참고)
9. tnaKey
이벤트 발생 장치의 추가 정보가 필요할 경우에만 사용되고, 주로 근태 코드나 출입문이나 입력 장치의 포트 번호가 저장됩니다
10. jobCode
사용자 정보에 JobCode가 존재했을 경우에, JobCode 사용하여 인증 할 때 사용자의 JobCode 값을 말합니다.
11. imageSize
이벤트 발생되었을 때 이미지 size를 말합니다.
12. imageObj
이벤트 발생되었을 때 이미지 정보가 포함될 경우에 사용됩니다
13. temperature
열화상 카메라가 설치되어 있으며, 로그를 남기도록 설정이 되어 있는경우 체온정보가 설정됩니다. auditTemperature 참조
14. reserved
예약된 공간입니다.