행사 및 감시
이 서비스는 10020번 포트에 전용 읽기 전용 WebSocket을 통해 시스템 이벤트를 전송합니다. 이 이벤트들은 보안 트리거, 기기 연결, 배터리 경고, 세션 수명 주기 변경 및 모니터링 빈도 이상 현상을 알립니다.
기본 URL: ws://localhost:10020
JSON 이벤트 구조
{
"name": "device-safety-triggered",
"category": "device",
"level": "warning",
"data": { "device_family": "inverse", "device_id": "049D", … },
"message": "FOD stage changed: guard -> hard"
}
| 챔프 | 유형 | 설명 |
|---|---|---|
name | 문자열 | 이벤트의 고정 식별자 (필터링 또는 failover에 사용) |
category | 문자열 | device, session, system |
level | 문자열 | info, notice, warning, error, critical, panic |
data | 객체 | 해당 행사에 특화된 적재량 |
message | 문자열 | 사람이 읽을 수 있는 설명 |
행사 유형
기기 관련 이벤트
| Nom | 레벨 | Quand |
|---|---|---|
device-connected | info | 새로운 기기가 감지되었으며 사용 준비가 완료되었습니다. |
device-disconnected | warning | 기기가 연결이 끊어지거나 시간 초과로 인해 연결이 끊어졌습니다. |
device-battery-low | warning | 문턱 아래에 설치된 무선 VerseGrip 배터리 |
device-battery-critical | error | VerseGrip 무선 배터리의 잔량이 위험 수준에 도달했습니다. |
device-sleep | info | 무선 VerseGrip의 대기 모드 전환 |
device-busy | warning | 이 장치는 다른 세션에서 사용 중입니다. |
device-connection-loop | warning | 특정 포트에서 반복적인 연결 및 연결 해제 주기가 감지됨 |
보안 사건
| Nom | 레벨 | Quand |
|---|---|---|
device-safety-triggered | 변수 | 펌웨어에서 발송된 보안 알림 (아래 참조) |
device-calibration-failed | warning | Inkwell 보정 기능이 활성화되었지만 스타일렛을 사용할 수 없습니다. |
~의 하위 유형 device-safety-triggered
Le champ safety_type 행사 데이터는 당시 상황을 다음과 같이 보여줍니다:
safety_type | 레벨 | 의미 |
|---|---|---|
ebrake_triggered | error | 비상 브레이크 작동 중 — 기체 잠금 상태 |
ebrake_released | notice | 비상 브레이크 해제됨 |
fod_stage_changed | warning / info | FOD 안전 단계가 ‘낮은 위험’과 ‘높은 위험’의 경계를 넘어섰다. |
stall_detected | warning | 엔진 마모 감지됨 |
stability_ceiling | warning | 안정성 상한선 달성 |
이유 device-calibration-failed
reason | 의미 |
|---|---|
pen_not_connected | 그립이 연결된 구절이 없습니다. |
pen_asleep | 무선 펜 그립은 페어링이 완료되었지만 대기 모드 상태입니다. |
pen_not_attached | 버스 그립은 준비되었지만, 홀 효과 센서의 값이 임계값 미만입니다. |
세션 이벤트
| Nom | 레벨 | Quand |
|---|---|---|
session-started | notice | WebSocket 세션이 생성되었습니다. |
session-stopped | notice | WebSocket 세션이 종료되었습니다. |
device-low-control-rate | warning | 세션 점검 빈도가 권장 기준치 미만으로 떨어졌습니다. |
device-critical-control-rate | error | 점검 빈도가 위험 수준까지 떨어졌다 |
시스템 이벤트
| Nom | 레벨 | Quand |
|---|---|---|
system-rate-report | info | 메인 루프 주기 빈도에 대한 정기 보고서 |
이벤트 듣기
이벤트 튜토리얼을 활용하여 레벨, 이름 패턴 및 제외 조건을 기반으로 필터링이 가능한 바로 사용 가능한 Python 리스너를 만들어 보세요:
# All events
python 10-haply-inverse-events.py
# Only warnings and above
python 10-haply-inverse-events.py --level warning
# Only device events
python 10-haply-inverse-events.py --name "device-*"
# Exclude battery noise
python 10-haply-inverse-events.py --exclude "*battery*"