이벤트 채널
이벤트에 대한 기본 WebSocket URL은 다음과 같습니다. ws://localhost:10020.
이 포트는 설정에서 변경할 수 있습니다.
이 통신 채널은 저주파수, 단방향 전송 방식이며, 이를 통해 모든 시스템 이벤트를 수신할 수 있습니다. 입력 메시지는 지원되지 않습니다.
이 채널은 모든 이벤트에 대해 정확히 하나의 메시지가 전송되도록 보장합니다.
통일된 형식
모든 이벤트는 아래에 제시된 것과 같은 표준 구조를 따릅니다:
{
"name": "device-connected",
"category": "device",
"level": "notice",
"data": {},
"message": ""
}
필드 설명
| 펠트 | 유형 | 설명 |
|---|---|---|
name | string | 이벤트의 고유 식별자. |
category | string | 필터링 및 정리를 위한 그룹명 (유효한 카테고리 참조). |
level | string | 사건의 심각도 또는 중요도 (적용 가능한 등급 참조). |
data | object | 이벤트별 세부 정보가 포함된 성능 데이터. |
message | string | 이벤트에 대한 선택적, 사람이 읽을 수 있는 설명이나 맥락. |
이벤트 범주
Das Feld category 사건들을 다음 그룹으로 분류합니다:
| Wert | 설명 |
|---|---|
system | 핵심 시스템, 전체 설정 등 |
input | 외부 입력(예: 명령어 등) 처리. |
session | 특정 사용자 세션과 관련된 이벤트. |
device | 장치 관리, 컨트롤러 상호 작용, 시리얼 포트 통신. |
module | 하위 시스템 또는 모듈형 구성 요소의 이벤트. |
feature | 특정 서비스 기능과 연계된 이벤트. |
이벤트 단계
Das Feld level 사건의 심각도나 중요도를 나타냅니다:
| Wert | 설명 |
|---|---|
info | 단순히 참고용 – 프로토콜, 메트릭 또는 비평적이지 않은 참고 사항. |
notice | 상태 변화 또는 주목할 만한 사건. |
warning | 무언가 잘못되었거나 어긋난 것처럼 보이지만, 시스템은 계속해서 안전하게 작동할 수 있습니다. |
error | 시스템 동작이나 안정성에 영향을 미칠 수 있는 문제가 발생했습니다. |
critical | 시스템 기능에 심각한 지장을 초래하는 중대한 오류입니다. |
panic | 치명적인 오류 – 시스템 중단이나 복구 불가능한 상태로 이어질 수 있습니다. |
이벤트
이 목록에는 시스템에서 현재 보고하고 있는 이벤트가 포함되어 있습니다. 현재 이벤트 유형과 관련 알림 기능을 적극적으로 개발 및 확장하고 있습니다.
입력
invalid-io-channel
I/O 채널이 지원되지 않는 방식이나 의도하지 않은 방식으로 사용될 때 발생합니다.
데이터
| 펠트 | 유형 | 설명 |
|---|---|---|
received_data | string | 수신된 원시 데이터. |
{
"name": "invalid-io-channel",
"category": "input",
"level": "warning",
"data": {
"received_data": "<raw_input_here>"
}
}
http-route-deprecated
HTTP 경로가 더 이상 사용되지 않아 향후 버전에서 제거될 경우 표시됩니다.
데이터
| 펠트 | 유형 | 설명 |
|---|---|---|
route | string | 구식 경로. |
substitute | string | 권장되는 대안. |
{
"name": "http-route-deprecated",
"category": "input",
"level": "warning",
"data": {
"route": "/the/old/way",
"substitute": "/the/new/way"
}
}
settings-invalid-key
설정 키가 유효하지 않은 경우 이 메시지가 표시됩니다.
데이터
| 펠트 | 유형 | 설명 |
|---|---|---|
key | string | 찾지 못한 열쇠. |
{
"name": "settings-invalid-key",
"category": "input",
"level": "warning",
"data": {
"key": "devices/none-existent/key"
}
}
command-deprecated
수신된 명령어가 구식이며 향후 버전에서 제거될 예정일 때 표시됩니다.
| 펠트 | 유형 | 설명 |
|---|---|---|
command | string | 수신된 구식 명령어 |
{
"name": "command-deprecated",
"category": "input",
"level": "warning",
"data": {
"command": "example_cmd"
},
"message": "The command `example_cmd` is deprecated and is replaced by `this_one`."
}
기기
device-connected
장치가 연결되었으며 이제 완전히 작동 가능한 상태임을 나타냅니다.
| 펠트 | 유형 | 설명 |
|---|---|---|
device_family | string | 기기 유형: inverse 또는 verse_grip. |
device_id | string | 해당 기기의 고유 식별자. |
{
"name": "device-connected",
"category": "device",
"level": "notice",
"data": {
"device_family": "inverse",
"device_id": "04BA"
}
}
device-disconnected
이전 연결된 기기가 연결이 끊어졌음을 나타냅니다.
| 펠트 | 유형 | 설명 |
|---|---|---|
device_family | string | 기기 유형: inverse 또는 verse_grip. |
device_id | string | 해당 기기의 고유 식별자. |
{
"name": "device-disconnected",
"category": "device",
"level": "notice",
"data": {
"device_family": "verse_grip",
"device_id": "61548"
}
}
회의
device-low-control-rate
장치의 속도가 너무 낮은 상태에서 들어오는 직접 제어 명령이 수신되어 안전 한계치에 도달했을 때 표시됩니다. 이는 차단 속도에 가까워지고 있음을 알리는 경고입니다.
| 펠트 | 유형 | 설명 |
|---|---|---|
session_id | int | 시뮬레이션 세션의 Ziel-ID. |
device_family | string | 기기 유형: inverse 또는 verse_grip. |
device_id | string | 해당 기기의 고유 식별자. |
frequency | int | 헤르츠 단위의 현재 세율입니다. |
{
"name": "device-low-control-rate",
"category": "session",
"level": "warning",
"data": {
"session_id": 3,
"device_family": "inverse",
"device_id": "1A2B",
"frequency": 260
},
"message": ""
}
device-critical-control-rate
장치의 전송 속도가 너무 낮아 수신된 직접 제어 명령이 안전 한계치에 도달한 경우 이 메시지가 출력됩니다.
| 펠트 | 유형 | 설명 |
|---|---|---|
session_id | int | 시뮬레이션 세션의 Ziel-ID. |
device_family | string | 기기 유형: inverse 또는 verse_grip. |
device_id | string | 해당 기기의 고유 식별자. |
frequency | int | 헤르츠 단위의 현재 세율입니다. |
{
"name": "device-critical-control-rate",
"category": "session",
"level": "error",
"data": {
"session_id": 3,
"device_family": "inverse",
"device_id": "1A2B",
"frequency": 82
},
"message": ""
}
기능
sdf-sdf_hfx-created
SDF 엔티티의 FX가 생성될 때 출력됩니다.
| 펠트 | 유형 | 설명 |
|---|---|---|
session_id | int | 시뮬레이션 세션의 Ziel-ID. |
device_id | string | 해당 기기의 고유 식별자. |
hfx_id | string | 이 파일을 생성하는 데 사용된 FX-ID. |
{
"name": "sdf-sdf_hfx-created",
"category": "feature",
"level": "notice",
"data": {
"session_id": 3,
"device_id": "1A2B",
"hfx_id": "my_fx_name"
},
"message": ""
}
sdf-sdf_hfx-deleted
SDF 엔티티의 FX가 삭제될 때 출력됩니다.
| 펠트 | 유형 | 설명 |
|---|---|---|
session_id | int | 시뮬레이션 세션의 Ziel-ID. |
device_id | string | 해당 기기의 고유 식별자. |
hfx_id | string | 삭제된 FX-ID. |
{
"name": "sdf-sdf_hfx-deleted",
"category": "feature",
"level": "notice",
"data": {
"session_id": 3,
"device_id": "1A2B",
"hfx_id": "my_fx_name"
},
"message": ""
}
sdf-sdf_hfx-updated
SDF 엔티티의 FX가 업데이트될 때 출력됩니다.
| 펠트 | 유형 | 설명 |
|---|---|---|
session_id | int | 시뮬레이션 세션의 Ziel-ID. |
device_id | string | 해당 기기의 고유 식별자. |
hfx_id | string | 업데이트된 FX-ID. |
{
"name": "sdf-sdf_hfx-updated",
"category": "feature",
"level": "notice",
"data": {
"session_id": 3,
"device_id": "1A2B",
"hfx_id": "my_fx_name"
},
"message": ""
}
sdf-sdf_hfx-range-entered
지정된 장치의 커서가 SDF 엔티티 영역에 진입할 때 출력됩니다.
| 펠트 | 유형 | 설명 |
|---|---|---|
session_id | int | 시뮬레이션 세션의 Ziel-ID. |
device_id | string | 해당 기기의 고유 식별자. |
hfx_id | string | FX-ID가 종료되었습니다. |
{
"name": "sdf-sdf_hfx-range-entered",
"category": "feature",
"level": "notice",
"data": {
"session_id": 3,
"device_id": "1A2B",
"hfx_id": "my_fx_name"
},
"message": ""
}
sdf-sdf_hfx-range-exited
지정된 장치의 커서가 SDF 엔티티의 범위를 벗어나면 출력됩니다.
| 펠트 | 유형 | 설명 |
|---|---|---|
session_id | int | 시뮬레이션 세션의 Ziel-ID. |
device_id | string | 해당 기기의 고유 식별자. |
hfx_id | string | FX-ID가 종료되었습니다. |
{
"name": "sdf-sdf_hfx-range-exited",
"category": "feature",
"level": "notice",
"data": {
"session_id": 3,
"device_id": "1A2B",
"hfx_id": "my_fx_name"
},
"message": ""
}