본문으로 건너뛰기

이벤트 채널

기본 이벤트 WebSocket URL은 ws://localhost:10020 입니다.

포트 번호는 설정에서 변경할 수 있습니다.

이는 저주파수의 단방향 통신 채널로, 시스템 내의 모든 이벤트를 수신할 수 있을 것으로 예상됩니다. 입력 메시지는 지원되지 않습니다.

이 채널은 이벤트가 있을 때마다 반드시 메시지 1건을 전송할 것을 보장합니다.

표준 형식​

모든 이벤트는 아래에 제시된 표준 구조를 따릅니다:

{
"name": "device-connected",
"category": "device",
"level": "notice",
"data": {},
"message": ""
}

필드 설명​

필드형설명
namestring이벤트의 고유 식별자입니다.
categorystring필터링 및 정리에 사용되는 그룹 레이블입니다(유효한 카테고리 참조).
levelstring이벤트의 심각도 또는 중요도입니다(유효한 수준 참조).
dataobject이벤트 고유의 세부 정보를 포함하는 페이로드입니다.
messagestring이벤트와 관련된, 사람이 읽을 수 있는 형식의 설명이나 배경 정보입니다.

이벤트 카테고리​

category 필드는 이벤트를 다음 그룹으로 분류합니다:

값설명
system코어 또는 핵심 시스템, 글로벌 설정 등.
input외부 입력 처리(예: 명령어 등).
session특정 사용자 세션과 관련된 이벤트.
device장치 관리, 컨트롤러와의 통신, SerialPort 통신.
module서브시스템 또는 모듈형 구성 요소의 이벤트.
feature특정 서비스 기능 또는 성능과 관련된 이벤트.

이벤트 레벨​

이벤트의 level 필드는 이벤트의 심각도 또는 중요도를 나타냅니다:

값설명
info정보 제공용 — 로그, 메트릭 또는 중요도가 낮은 알림.
notice상태의 변화 또는 주목할 만한 사건.
warning어떤 문제가 발생했거나 이상이 감지되었으나, 시스템은 안전하게 작동을 계속할 수 있습니다.
error시스템의 작동이나 안정성에 영향을 미칠 수 있는 문제가 발생했습니다.
critical시스템의 기능을 크게 저해하는 중대한 오류입니다.
panic치명적인 오류 — 시스템 충돌이나 복구 불가능한 상태로 이어질 수 있습니다.

이벤트​

비고

이 목록은 시스템이 현재 보고하고 있는 이벤트 목록입니다. 현재 이벤트의 종류와 보고 내용을 적극적으로 설계하고 확충하고 있습니다.

입력​

invalid-io-channel​

I/O 채널이 지원되지 않는 방식이나 의도하지 않은 방식으로 사용될 때 발생합니다.

데이터

필드형설명
received_datastring수신된 원시 데이터입니다.
{
"name": "invalid-io-channel",
"category": "input",
"level": "warning",
"data": {
"received_data": "<raw_input_here>"
}
}

http-route-deprecated​

HTTP 루트가 더 이상 권장되지 않으며 향후 버전에서 제거될 경우 발행됩니다.

데이터

필드형설명
routestring더 이상 권장되지 않는 경로입니다.
substitutestring권장되는 대체 경로입니다.
{
"name": "http-route-deprecated",
"category": "input",
"level": "warning",
"data": {
"route": "/the/old/way",
"substitute": "/the/new/way"
}
}

settings-invalid-key​

설정 키가 비활성화된 경우 발생합니다.

데이터

필드형설명
keystring찾을 수 없었던 키입니다.
{
"name": "settings-invalid-key",
"category": "input",
"level": "warning",
"data": {
"key": "devices/none-existent/key"
}
}

command-deprecated​

수신된 명령어가 더 이상 권장되지 않으며, 향후 버전에서 제거될 경우 이 메시지가 표시됩니다.

필드형설명
commandstring수신된 비권장 명령입니다.
{
"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_familystring장치 유형:inverse 또는 verse_grip。
device_idstring이 기기의 고유 식별자입니다.
{
"name": "device-connected",
"category": "device",
"level": "notice",
"data": {
"device_family": "inverse",
"device_id": "04BA"
}
}

device-disconnected​

이전에 연결되어 있던 장치의 연결이 끊어졌음을 나타냅니다.

필드형설명
device_familystring장치 유형:inverse 또는 verse_grip。
device_idstring이 기기의 고유 식별자입니다.
{
"name": "device-disconnected",
"category": "device",
"level": "notice",
"data": {
"device_family": "verse_grip",
"device_id": "61548"
}
}

세션​

device-low-control-rate​

장치에 대한 직접 제어 명령의 수신 속도가 너무 낮아 안전 제한에 도달한 경우 이 메시지가 표시됩니다. 이는 경고로, 수신 속도가 컷오프 속도에 근접하고 있음을 나타냅니다.

필드형설명
session_idint해당 시뮬레이션 세션 ID입니다.
device_familystring장치 유형:inverse 또는 verse_grip。
device_idstring이 기기의 고유 식별자입니다.
frequencyint현재 제어 주파수(헤르츠 단위)입니다.
{
"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_idint해당 시뮬레이션 세션 ID입니다.
device_familystring장치 유형:inverse 또는 verse_grip。
device_idstring이 기기의 고유 식별자입니다.
frequencyint현재 제어 주파수(헤르츠 단위)입니다.
{
"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_idint해당 시뮬레이션 세션 ID입니다.
device_idstring이 기기의 고유 식별자입니다.
hfx_idstring생성 시 사용된 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_idint해당 시뮬레이션 세션 ID입니다.
device_idstring이 기기의 고유 식별자입니다.
hfx_idstring삭제된 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_idint해당 시뮬레이션 세션 ID입니다.
device_idstring이 기기의 고유 식별자입니다.
hfx_idstring업데이트된 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_idint해당 시뮬레이션 세션 ID입니다.
device_idstring이 기기의 고유 식별자입니다.
hfx_idstringFX 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_idint해당 시뮬레이션 세션 ID입니다.
device_idstring이 기기의 고유 식별자입니다.
hfx_idstringFX ID입니다.
{
"name": "sdf-sdf_hfx-range-exited",
"category": "feature",
"level": "notice",
"data": {
"session_id": 3,
"device_id": "1A2B",
"hfx_id": "my_fx_name"
},
"message": ""
}