설정 참조
이 문서는 엔드포인트에서 사용하는 모든 설정을 나열합니다. /settings/ 반환되며, 그와 함께 Schlüssel, 그녀의 유형 (출처: type_hint) 및 그들의 제한 사항 (출처: metadata.constraint.range + locked(해당되는 경우).
Eine locked-설정은 실행 시 읽기 전용. 설정 파일을 통해 또는 Haply Hub- 설정 페이지에서 변경할 수 있지만, 변경 사항을 적용하려면 서비스를 완전히 재시작해야 합니다.. 이들은 다음 표에서 부팅 표시됨.
구성
서비스 시작 시 설정을 덮어쓰는 구성 파일은 다음 위치에 있습니다:
| 플랫폼 | 저장 위치 |
|---|---|
| Windows | C:\ProgramData\Haply\Inverse\haply-inverse-service-config.json |
| macOS | /Library/Application Support/Haply/Inverse/haply-inverse-service-config.json |
| 리눅스 | /etc/haply-inverse-service/haply-inverse-service-config.json |
이 구성 파일은 평면 JSON 객체, 설정 키를 재정의 값에 매핑합니다. 키는 HTTP 경로에서 지정된 유효한 설정 키여야 합니다. /settings/ 반환됩니다 (참조: API 참조). 명시되지 않은 각 키에 대해서는 해당 서비스의 기본값이 사용됩니다.
예를 들어, 네트워크 구성을 덮어쓰는 경우:
{
"communication/http/port": 8400,
"communication/websocket/port": 8500,
"communication/events/port": 9000,
"communication/bind_all_interfaces": true
}
가시성 및 필터링
목록 엔드포인트 /settings (GET /settings, GET /settings/)는 기본적으로 다음만 제공합니다. 기초-설정을 되돌립니다. 다음을 전달하십시오. ?advanced=true, ‘고급’으로 표시된 설정을 포함하고, 그리고 ?deprecated=true, 더 이상 사용되지 않는 별칭을 포함하기 위함입니다. 숨겨진 설정은 내부 용도로만 사용되며, 다음의 경우에만 표시됩니다. misc/hidden_settings über POST /settings/misc/hidden_settings 설정됩니다(이를 위한 쿼리 매개변수는 없습니다). 필터 플래그는 ‘AND’ 연산자로 결합되며, 두 조건 모두를 충족하는 키는 advanced 뿐만 아니라 hidden 표시된 경우, 두 개의 게이트가 모두 열려 있어야 합니다. 알려진 키에 대한 POST 및 DELETE 요청은 게이트에 의해 제한되지 않습니다.
개별 키에 대한 조회 횟수 (GET /settings/<key>) 정확한 정식 키를 사용하면 ‘Advanced/Deprecated-Gate’를 우회할 수 있습니다. 이는 사전 지식이 있는 클라이언트에 유용합니다. 숨겨진 키는 여전히 잠겨 있습니다.
3개의 실행 시간 스위치가 게이트를 초기화하며, 이 값들은 서비스의 전체 수명 동안 유지됩니다:
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
misc/advanced_settings | bool | — | Als advanced [ ]에 표시된 설정은 GET /settings-음성 포함 (기본값) false). 다음의 전달과 일치하는 경우 ?advanced=true 모든 문의 시. |
misc/deprecated_settings | bool | — | Als deprecated [ ]에 표시된 설정은 GET /settings-음성 포함 (기본값) false). 다음의 전달과 일치하는 경우 ?deprecated=true 모든 문의 시. |
유형 할당
API에서 반환된 유형 정보는 다음과 같은 JSON 구조로 매핑됩니다:
STRING→stringBOOL→boolINT→intFLOAT→floatARR_STRING→string[]VEC3→vec3(다음 속성을 가진 객체:{x, y, z})GENERIC→json(임의의 구조화된 값)
communication/…
HTTP, WebSocket 및 Event-Stream 서버에 대한 네트워크 포트 및 바인드 주소. 대부분의 항목은 시작 시에만 적용됩니다.
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
communication/serial/enabled | bool | — | 시리얼 장치 통신 활성화 또는 비활성화. |
communication/bind_address | string | 시작 | 서버가 HTTP 및 WebSocket에 바인딩되는 IP 주소. |
communication/bind_all_interfaces | bool | 시작 | 서버를 0.0.0.0 localhost 대신 바인딩합니다. |
communication/http/port | int | 시작 | HTTP-REST-API-포트 (표준 10000). |
communication/websocket/port | int | 시작 | WebSocket v3.1의 기본 포트 (표준 10001). |
communication/websocket/legacy_port | int | 시작 | WebSocket v3.0의 레거시 포트 (표준 10000). |
communication/events/port | int | 시작 | WebSocket 이벤트 스트림 포트 (표준 10020). |
devices/…
devices/detection/…
직렬 포트 스캔 지침. 모든 항목은 ‘확장’으로 표시되어 있습니다.
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
devices/detection/scan_period_ms | int | 범위 100–10000; 시작 시 | 직렬 포트 스캔 간격 (ms). |
devices/detection/handshake_timeout_s | int | 범위 1–15 | 포트별 악수 시간 초과(초). |
devices/detection/max_retries | int | 범위 1–10 | 포트당 핸드셰이크 재시도 횟수의 최대값. |
devices/detection/failure_log_delay_s | int | 범위 1–60 | 인식 오류가 다시 기록되기까지의 지연 시간 (s). |
devices/detection/block_looping_ports | bool | — | 루프 현상이 감지되는 포트가 나타나면 즉시 장치 가용성을 차단합니다. |
devices/detection/excluded_ports | json | — | 탐지 시 건너뛰는 직렬 포트 경로. |
devices/detection/additional_ports | string[] | — | 조건과 관계없이 스캔되는 시리얼 포트의 추가 경로. |
devices/detection/allowed_vendor_id_filter | string[] | — | 포트 열거 시 허용되는 USB 벤더 ID. |
devices/detection/port_name_substring_filter | string[] | — | 일치 확인을 위한 플랫폼별 포트 이름의 부분 문자열. |
devices/detection/wireless_verse_grip_description_filter | string[] | — | 무선 VerseGrip을 식별하기 위한 포트 설명의 부분 문자열. |
devices/detection/inverse3x_description_filter | string[] | — | Inverse3x를 식별하기 위한 포트 설명의 부분 문자열. |
devices/detection/extra_ports (구 버전) | string[] | — | 대신 다음을 사용하십시오 devices/detection/additional_ports. 읽기 및 쓰기 요청은 캐노니컬 키로 투명하게 전달됩니다. |
devices/*inverse/…
Inverse3 제품군에 속하는 모든 장치에 적용되는 전역 기본값입니다. 세션별 재정의 사항이 우선 적용됩니다.
3.5.0 버전에서는 패턴이 다음과 같았습니다. devices/inverse*/…; 선도적인 * 이제 앞에 놓여 있다 inverse. 3.5.1 버전에서는 기존 표기법을 사용한 구성 파일이 더 이상 올바르게 적용되지 않으므로, 해당 파일을 수정해 주시기 바랍니다. 그 외의 키 자체는 변경되지 않았습니다.
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
devices/*inverse/filters/force_scale/gain | float | 범위 0.0–2.0 | 모든 장비에 적용되는 힘 출력용 전역 배율기입니다. |
devices/*inverse/filters/force_gate/gain | float | 범위 0.0–1.0 | 새로운 세션을 위한 크라프트 게이트의 표준 증폭. |
devices/*inverse/control_timeout_ms | int | 범위 50–10,000 | 장치 제어 잠금이 해제되기 전까지의 타임아웃 시간 (ms). |
devices/*inverse/query_orientation_on_idle | bool | — | 장치가 유휴 상태일 때 펌웨어를 통해 장치 본체의 방향을 조회합니다. |
devices/*inverse/safeties/expose_in_snapshot | bool | — | 다음의 스냅샷에 장치별 보안 플래그를 포함합니다. GET /devices/{id} 녹음하다. |
devices/presets
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
devices/presets | json | — | 기기 유형별 표준 기기 구성 기본 설정 (설치 변환, 기본 설정 등) inverse_arm_front_*, inverse_led_front_*, minverse_*, verse_grip_default, wireless_verse_grip_default, custom_verse_grip_default). |
devices/wireless_verse_grip/…
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
devices/wireless_verse_grip/battery/low_threshold | int | — | 배터리 잔량이 이 비율 이하로 떨어지면 배터리 부족 경고가 표시됩니다. |
devices/wireless_verse_grip/battery/critical_threshold | int | — | 배터리 잔량이 이 비율 이하로 떨어지면 배터리 잔량이 위험 수준에 도달했다는 알림이 표시됩니다. |
devices/wireless_verse_grip/battery/reset_margin | int | — | 히스테리시스 거리: 배터리 경고가 재설정되기 전까지의 거리. |
devices/wireless_verse_grip/filters/orientation_filter | json | 시작 시 | 무선 VerseGrip 정렬을 위한 1유로 필터 구성. |
features/…
features/calibration/…
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
features/calibration/hall_threshold | int | 범위 1–32 | 교정 시 핀이 삽입된 것으로 간주되는 홀 센서 레벨. |
features/grip_hook/…
자동 그립-훅 동작 — 그립을 누르고 있는 동안 커서가 고정됩니다.
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
features/grip_hook/enabled | bool | — | 손잡이를 똑바로 세운 상태에서 자동 그립-훅 잠금 장치를 활성화합니다. |
features/grip_hook/use_hall | bool | — | 그립 감지 시 방향 대신 홀 센서 임계값을 사용하십시오. |
features/grip_hook/hall | int | 범위 1–32 | 그립 잠금을 작동시키는 홀 센서 임계값. |
features/grip_hook/hold_duration | int | 범위 10–1000 | 차단 기능이 발동된 후 유지되는 시간(ms). |
features/navigation/bubble/…
버블 내비게이션 모듈의 기본값 — 다음 조건이 충족될 때 세션으로 전달됩니다. bubble-동작이 처음 활성화될 때. 각 필드의 런타임 의미론은 다음 페이지에서 확인할 수 있습니다. 내비게이션 모듈.
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
features/navigation/bubble/center | vec3 | — | 방광 중심점의 표준 위치. |
features/navigation/bubble/center_enabled | bool | — | 구성된 center 방울 현상이 처음 활성화될 때 적용합니다. |
features/navigation/bubble/rotation_enabled | bool | — | 작업 공간의 회전을 이동 방향에 적용합니다. |
features/navigation/bubble/scale_enabled | bool | — | 작업 공간의 척도를 항해 속도에 적용하십시오. |
features/navigation/bubble/center_drift_speed | float | ≥ 0 | 중심 모드에서의 드리프트 속도 (m/s) auto_follow. |
features/navigation/bubble/max_velocity | float | — | 해당 속도 제한 구역 내 최대 주행 속도 (m/s). |
features/navigation/bubble/velocity_zone_width | float | — | 기포 표면 외부의 속도 영역 폭 (m). |
features/navigation/bubble/reset_velocity_on_entry | bool | — | 커서가 풍선 안으로 들어갈 때 속도를 0으로 재설정합니다. |
features/navigation/bubble/spring_inner | float | — | 기포 중심부의 탄성 계수 (N/m). |
features/navigation/bubble/spring_surface | float | — | 기포 표면의 표면 장력 계수 (N/m). |
features/navigation/bubble/spring_outer | float | — | 외부 경계에서의 마찰 계수 (N/m). |
features/navigation/bubble/damping_inner | float | — | 기포 중심에서의 감쇠 계수 (Ns/m). |
features/navigation/bubble/damping_surface | float | — | 기포 표면의 감쇠 계수 (Ns/m). |
features/navigation/bubble/damping_outer | float | — | 외부 경계에서의 감쇠 계수 (Ns/m). |
features/navigation/bubble/wall_stiffness | float | — | 외부 경계면의 단단한 벽의 강성(N/m). |
features/navigation/bubble/bump_width | float | — | 방광 표면의 촉각적 융기 폭 (m). |
features/navigation/bubble/bump_stiffness | float | — | 방광 표면의 촉각 돌기 강성 (N/m). |
features/navigation/bubble/stop_at_collision | bool | — | 충돌이 활성화된 상태에서 방울의 중심이 충돌 방향으로 이동하는 것을 방지합니다. |
features/navigation/bubble/collision_threshold | float | > 0 | 충돌이 감지되는 외력(N)의 크기. |
features/navigation/bubble/collision_inflate_scale | float | ≥ 1 | 활성 충돌 중에 velocity_zone_width 적용된다. |
features/navigation/bubble/collision_exit_ratio | float | (0, 1] 구간 | 히스테리시스 비율 – 다음 조건이 충족되면 충돌에서 벗어나기 |ext_force| unter collision_threshold × this 떨어진다. 1.0 히스테리시스를 비활성화합니다. |
features/navigation/bubble/avatar_boundary_enabled | bool | — | 구성된 SDF 형식에 대한 아바타의 위치 avatar_boundary 제한하다. |
features/safe_trajectory/…
엔드 이펙터의 이동을 위한 속도 제한기.
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
features/safe_trajectory/enabled | bool | — | 안전한 주행 경로를 위해 속도 제한 장치를 활성화하십시오. |
features/safe_trajectory/max_vel | float | 범위 0.01–2.0 | 최대 허용 엔드 이펙터 속도 (m/s). |
features/screensaver/…
세션에 의해 제어되지 않을 때 Inverse3 기기에서 재생되는 유휴 상태 애니메이션입니다.
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
features/screensaver/enabled | bool | — | Inverse3 기기에서 대기 모드 화면 보호기 애니메이션을 활성화합니다. |
features/screensaver/speed | float | 범위 0.001–0.2 | 스크린세이버 애니메이션의 속도. |
features/screensaver/distracted_speed | float | 범위 0.001–0.2 | 사용자가 근처에 있지만 상호작용을 하지 않을 때의 애니메이션 속도. |
features/sdf/…
Signed-Distance-Fields(SDF HFX)를 기반으로 한 햅틱 효과 모듈.
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
features/sdf/enabled | bool | — | SDF 햅틱 효과 모듈을 활성화하거나 비활성화합니다. |
features/sdf/state_output | bool | — | SDF 상태를 기본적으로 장치의 출력 데이터에 포함합니다. |
features/sdf/max_count | int | 범위 0–128 | 활성 SDF 효과의 최대 개수 (0 = 무제한). |
features/sdf/events/created | bool | — | 새로운 SDF 이펙트가 생성될 때 이벤트를 트리거합니다. |
features/sdf/events/deleted | bool | — | SDF 이펙트가 삭제될 때 이벤트를 트리거합니다. |
features/sdf/events/updated | bool | — | SDF 이펙트가 업데이트될 때 이벤트를 트리거합니다. |
features/sdf/probe_on_zero_force/enabled | bool | — | 가해지는 힘이 0에 가까울 때 SDF 필드를 자동으로 스캔합니다. |
features/sdf/probe_on_zero_force/delay | float | 범위 0.001–60.0 | 힘이 0이 된 후 자동 스캔이 시작되기 전의 지연 시간 (s). |
features/verse_grip_pairing/…
Inverse3 와 (유선 또는 무선) Verse Grip 간의 결합 및 분리 과정을 기록합니다. 이는 Haply Hub의 결합 인터페이스에 대한 기초가 됩니다.
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
features/verse_grip_pairing/enabled | bool | — | 결합 및 장착·분리 감지 기능을 활성화합니다. |
features/verse_grip_pairing/hall_threshold_vg | int | 범위 1–32 | VerseGrip(유선형)부터 Hall-Pegel이 장착된 것으로 간주됩니다. |
features/verse_grip_pairing/hall_threshold_wvg | int | 범위 1–32 | VerseGrip(무선)부터 적용되는 Hall-Pegel. |
features/verse_grip_pairing/detach_debounce_ms | int | 범위 0–1000 | 해제 작업이 적용되기 전의 Entprellfenster (ms). |
features/verse_grip_pairing/heartbeat_ms | int | 범위 100–10,000 | 강제 재알림 간격 (ms). |
features/verse_grip_pairing/force_attached | bool | — | “적절함” 상태를 영구적으로 true 설정하고 홀 센서를 우회하기 (하드웨어 오류 시 해결 방법). |
session/serialization/…
Transform 출력 형식 지정 — WebSocket 및 HTTP JSON 페이로드에 적용됩니다. 이 키들은 3.5.1 버전에서 serialization/* nach session/serialization/* 세션별 적용 범위를 반영하기 위해 이동되었습니다. 기존 경로는 계속해서 구식 별칭을 통해 해결됩니다.
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
session/serialization/explicit_fields | bool | — | 정체성 기본값에 해당하는 트랜스폼 필더를 직렬화된 출력 결과에 포함합니다(예: position: {0,0,0}, rotation: {w:1,…}). 클라이언트 측에서 모든 필드가 명시적으로 존재해야 한다고 요구하는 경우에 유용합니다. 기본값: false. |
session/serialization/force_complete_transforms | bool | — | Immer position, rotation 그리고 scale 모든 트랜스폼 출력에서 표시해야 하며, 방향만 감지하는 기기(Verse Grip, Wireless Verse Grip)의 경우에도 마찬가지이며, 그 외에는 단지 rotation 출력. 닫기 session/serialization/explicit_fields ein. 표준: false. |
serialization/explicit_fields (구 버전) | bool | — | 대신 다음을 사용하십시오 session/serialization/explicit_fields. 읽기 및 쓰기 요청은 캐노니컬 키로 투명하게 전달됩니다. |
serialization/force_complete_transforms (구 버전) | bool | — | 대신 다음을 사용하십시오 session/serialization/force_complete_transforms. 읽기 및 쓰기 요청은 캐노니컬 키로 투명하게 전달됩니다. |
session/…
세션 스케줄러.
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
session/min_simulation_rate_hz | int | 범위 20–500 | 경고가 발생하기 전까지 허용되는 최소 장치 시뮬레이션 주파수(Hz). |
rate/…
서비스 주기. 3.5.1절에서 도입된 — 아래에 나열된 네 가지 rate/websocket/*-열쇠는 이전에 다음 위치에 있었습니다. session/commands/*; 기존 경로는 계속해서 구식 별칭을 통해 해결됩니다.
| Schlüssel | 유형 | 제한 사항 | 설명 |
|---|---|---|---|
rate/websocket/zoh_window_ms | int | — | 제로차 홀드 창 — 이 창 내에서 수신되는 프로브는 억제됩니다 (ms). |
rate/websocket/drop_warning_threshold | int | — | 경고가 표시되기 전까지 해당 창 내에서 취소된 명령의 수. |
rate/websocket/drop_warning_window_ms | int | — | 무효화된 명령어 계산을 위한 이동 창 크기 (ms). |
rate/websocket/tick_on_empty_batch | bool | 상급 | Einen main_loop-전체 WebSocket 배치 데이터가 폐기된 경우에도 타이머를 예약합니다. |
session/commands/zoh_window_ms (구 버전) | int | — | 대신 다음을 사용하십시오 rate/websocket/zoh_window_ms. 읽기 및 쓰기 요청은 투명하게 전달됩니다. |
session/commands/drop_warning_threshold (구 버전) | int | — | 대신 다음을 사용하십시오 rate/websocket/drop_warning_threshold. 읽기 및 쓰기 요청은 투명하게 전달됩니다. |
session/commands/drop_warning_window_ms (구 버전) | int | — | 대신 다음을 사용하십시오 rate/websocket/drop_warning_window_ms. 읽기 및 쓰기 요청은 투명하게 전달됩니다. |
session/commands/tick_on_empty_batch (구 버전) | bool | — | 대신 다음을 사용하십시오 rate/websocket/tick_on_empty_batch. 읽기 및 쓰기 요청은 투명하게 전달됩니다. |
내부 전용 설정
3.5.1에서는 여러 설정 그룹이 hidden 배송되었으며 내부용으로만 사용됩니다 — rate/dispatch/* (AIMD-디스패치 속도 상한 및 역압 임계값), session/freeform/* (행동 지문 분석) 및 session/serialization/preview/* (출시 전 시리얼화 실험, 예를 들어 오일러 쿼터니언 출력 및 Wireless VerseGrip용 라우팅 등). 이들은 디버깅을 위해 misc/hidden_settings 사용할 수 있지만, 향후 마이너 버전에서 이동되거나 이름이 변경되거나 제거될 가능성이 있으므로, 클라이언트의 동작을 이에 의존하지 마십시오.