Übersicht über die Einstellungen
Dieses Dokument listet alle Einstellungen auf, die von der /settings/ Endpunkt mit ihrem Schlüssel, Typ (aus type_hint) und Einschränkungen (aus metadata.constraint.range + locked (sofern zutreffend).
A locked Die Einstellung ist nur-Lese-Zugriff zur Laufzeit. Dies kann über die Konfigurationsdatei oder über die Haply Hub Einstellungsseite, aber Es ist ein vollständiger Neustart des Dienstes erforderlich damit die Änderungen wirksam werden. Diese sind gekennzeichnet Start in den folgenden Tabellen.
Konfiguration
Die Konfigurationsdatei, mit der die Einstellungen beim Start des Dienstes überschrieben werden können, befindet sich hier:
| Plattform | Standort |
|---|---|
| Windows | C:\ProgramData\Haply\Inverse\haply-inverse-service-config.json |
| macOS | /Library/Application Support/Haply/Inverse/haply-inverse-service-config.json |
| Linux | /etc/haply-inverse-service/haply-inverse-service-config.json |
Die Konfigurationsdatei ist eine einfaches JSON-Objekt Zuordnung von Einstellungsschlüsseln zum Überschreiben von Werten. Die Schlüssel müssen gültige Einstellungsschlüssel sein, die von der /settings/ HTTP-Route (siehe API-Referenz). Für nicht angegebene Schlüssel wird die Standardeinstellung des Dienstes verwendet.
Zum Beispiel eine Überschreibung der Netzwerkkonfiguration:
{
"communication/http/port": 8400,
"communication/websocket/port": 8500,
"communication/events/port": 9000,
"communication/bind_all_interfaces": true
}
Sichtbarkeit und Filterung
Die /settings Endpunkte auflisten (GET /settings, GET /settings/) nur zurückgeben grundlegend Standardeinstellungen. Weiter ?advanced=true um Einstellungen einzubeziehen, die als „Erweitert“ gekennzeichnet sind, ?deprecated=true um veraltete Aliase einzubeziehen. Versteckte Einstellungen sind für den internen Gebrauch reserviert; sie werden nur angezeigt, wenn misc/hidden_settings wird über POST /settings/misc/hidden_settings (kein Äquivalent für einen Abfrageparameter). Filterflags werden miteinander verknüpft – ein Schlüssel, der mit beiden markiert ist advanced und hidden beide Gatter müssen geöffnet sein. POST und DELETE für einen bekannten Schlüssel erfolgen ohne Gatter.
Ein-Schlüssel-Lesevorgänge (GET /settings/<key>) Umgehen Sie die Überprüfung auf „fortgeschritten“/„veraltet“, wenn Sie den exakten kanonischen Schlüssel verwenden – nützlich für Clients mit Vorwissen. Versteckte Schlüssel bleiben weiterhin gesperrt.
Drei Laufzeit-Schalter initialisieren die Gates; ihre Werte bleiben für die gesamte Restlaufzeit des Dienstes erhalten:
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
misc/advanced_settings | bool | — | Einfügen advancedEinstellungen mit dem -Flag in GET /settings Einträge (Standard false). Entspricht dem Durchlaufen ?advanced=true bei jeder Anfrage. |
misc/deprecated_settings | bool | — | Einfügen deprecatedEinstellungen mit dem -Flag in GET /settings Einträge (Standard false). Entspricht dem Durchlaufen ?deprecated=true bei jeder Anfrage. |
Typzuordnung
Die von der API zurückgegebenen Typ-Hinweise entsprechen diesen JSON-Formaten:
STRING→stringBOOL→boolINT→intFLOAT→floatARR_STRING→string[]VEC3→vec3(Objekt mit{x, y, z})GENERIC→json(beliebig strukturierter Wert)
communication/…
Netzwerkports und Bind-Adressen für die HTTP-, WebSocket- und Event-Stream-Server. Die meisten Einträge gelten nur beim Systemstart.
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
communication/serial/enabled | bool | — | Die Kommunikation mit seriellen Geräten aktivieren oder deaktivieren. |
communication/bind_address | string | Start | Die IP-Adresse, an die sich die HTTP- und WebSocket-Server binden. |
communication/bind_all_interfaces | bool | Start | Server binden an 0.0.0.0 anstelle von localhost. |
communication/http/port | int | Start | HTTP-REST-API-Port (Standard 10000). |
communication/websocket/port | int | Start | Hauptversion 3.1 WebSocket-Port (Standard 10001). |
communication/websocket/legacy_port | int | Start | Legacy v3.0 WebSocket-Port (Standard 10000). |
communication/events/port | int | Start | WebSocket-Port für den Event-Stream (Standard 10020). |
devices/…
devices/detection/…
Richtlinie zum Scannen der seriellen Schnittstelle. Alle Einträge sind fortgeschritten.
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
devices/detection/scan_period_ms | int | Bereich 100–10000; Boot | Intervall zwischen den Abfragen der seriellen Schnittstelle (ms). |
devices/detection/handshake_timeout_s | int | Bereich 1–15 | Handschlag-Zeitlimit pro Port (in Sekunden). |
devices/detection/max_retries | int | Bereich 1–10 | Maximale Anzahl von Wiederholungsversuchen für den Handshake pro Port. |
devices/detection/failure_log_delay_s | int | Bereich 1–60 | Verzögerung vor der erneuten Protokollierung eines Erkennungsfehlers (in Sekunden). |
devices/detection/block_looping_ports | bool | — | Blockgeräte werden bereitgestellt, sobald ein Loopback-Port erkannt wird. |
devices/detection/excluded_ports | json | — | Serielle Schnittstellenpfade, die bei der Erkennung übersprungen werden sollen. |
devices/detection/additional_ports | string[] | — | Zusätzliche Pfade zu seriellen Schnittstellen, die bedingungslos gescannt werden sollen. |
devices/detection/allowed_vendor_id_filter | string[] | — | USB-Hersteller-IDs, die während der Port-Enumeration zulässig sind. |
devices/detection/port_name_substring_filter | string[] | — | Plattformspezifische Teilzeichenfolgen des Portnamens, nach denen gesucht werden soll. |
devices/detection/wireless_verse_grip_description_filter | string[] | — | Teilzeichenfolgen der Portbeschreibung für die Erkennung des drahtlosen VerseGrip. |
devices/detection/inverse3x_description_filter | string[] | — | Teilzeichenfolgen der Portbeschreibung für die Erkennung von Inverse3x. |
devices/detection/extra_ports (veraltet) | string[] | — | Verwendung devices/detection/additional_ports stattdessen. Lese- und Schreibvorgänge werden transparent an den kanonischen Schlüssel weitergeleitet. |
devices/*inverse/…
Globale Standardeinstellungen gelten für alle Geräte Inverse3. Übernahmen auf Sitzungsebene haben Vorrang.
Der Globus war devices/inverse*/… in 3.5.0; das führende * steht nun vor inverse. Konfigurationsdateien, die das alte Literal verwenden, können unter 3.5.1 nicht geladen werden – aktualisieren Sie sie. Die Schlüssel selbst bleiben ansonsten unverändert.
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
devices/*inverse/filters/force_scale/gain | float | Bereich 0,0–2,0 | Der globale Kraftverstärkungsfaktor wird auf alle Geräte angewendet. |
devices/*inverse/filters/force_gate/gain | float | Bereich 0,0–1,0 | Standard-Force-Gate-Verstärkung für neue Sitzungen. |
devices/*inverse/control_timeout_ms | int | Bereich 50–10000 | Zeitlimit vor dem Aufheben der Gerätesperre (ms). |
devices/*inverse/query_orientation_on_idle | bool | — | Frage die Ausrichtung des Gehäuses bei der Firmware ab, wenn sich das Gerät im Ruhezustand befindet. |
devices/*inverse/safeties/expose_in_snapshot | bool | — | Sicherheitskennzeichnungen für einzelne Geräte in GET /devices/{id} Momentaufnahmen. |
devices/presets
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
devices/presets | json | — | Standard-Voreinstellungen für die Gerätekonfiguration nach Gerätetyp (Mount-Transformation, Basis usw. für inverse_arm_front_*, inverse_led_front_*, minverse_*, verse_grip_default, wireless_verse_grip_default, custom_verse_grip_default). |
devices/wireless_verse_grip/…
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
devices/wireless_verse_grip/battery/low_threshold | int | — | Akkustand, bei dessen Unterschreitung eine Warnung wegen niedrigen Akkustands ausgelöst wird. |
devices/wireless_verse_grip/battery/critical_threshold | int | — | Akku-Ladezustand, bei dessen Unterschreitung eine Warnmeldung wegen kritischem Akkustand ausgelöst wird. |
devices/wireless_verse_grip/battery/reset_margin | int | — | Hysterese-Spanne vor dem Löschen einer Batteriewarnung. |
devices/wireless_verse_grip/filters/orientation_filter | json | Start | Eine Euro-Filter-Konfiguration für die drahtlose Ausrichtung des VerseGrip. |
features/…
features/calibration/…
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
features/calibration/hall_threshold | int | Bereich 1–32 | Hall-Sensor-Pegel, bei dem der Stift während der Kalibrierung als angeschlossen gilt. |
features/grip_hook/…
Automatisches Verhalten des Greifhakens – Der Cursor wird fixiert, solange der Greifhaken senkrecht gehalten wird.
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
features/grip_hook/enabled | bool | — | Die automatische Verriegelung des Griffhakens aktivieren, wenn der Griff aufrecht gehalten wird. |
features/grip_hook/use_hall | bool | — | Verwende den Hall-Sensor-Schwellenwert anstelle der Ausrichtung zur Erkennung der Griffposition. |
features/grip_hook/hall | int | Bereich 1–32 | Schwellenwert des Hall-Sensors zur Auslösung der Griffverriegelung. |
features/grip_hook/hold_duration | int | Bereich 10–1000 | Dauer, für die die Sperre nach dem Auslösen aufrechterhalten wird (ms). |
features/navigation/bubble/…
Standardwerte für das Bubble-Navigationsmodul – werden bei einem bubble Das Verhalten wird zunächst aktiviert. Siehe die Navigationsmodul Seite zur Laufzeitsemantik der einzelnen Felder.
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
features/navigation/bubble/center | vec3 | — | Standardposition für den Mittelpunkt der Sprechblase. |
features/navigation/bubble/center_enabled | bool | — | Wenden Sie die konfigurierten center wenn das Bubble-Verhalten zum ersten Mal aktiviert wird. |
features/navigation/bubble/rotation_enabled | bool | — | Wende die Drehung des Arbeitsbereichs auf die Navigationsrichtung an. |
features/navigation/bubble/scale_enabled | bool | — | Wende den Arbeitsbereichsmaßstab auf die Navigationsgeschwindigkeit an. |
features/navigation/bubble/center_drift_speed | float | ≥ 0 | Driftgeschwindigkeit (m/s) in auto_follow Zentriermodus. |
features/navigation/bubble/max_velocity | float | — | Maximale Fahrgeschwindigkeit in der Geschwindigkeitszone (m/s). |
features/navigation/bubble/velocity_zone_width | float | — | Breite der Geschwindigkeitszone außerhalb der Blasenoberfläche (m). |
features/navigation/bubble/reset_velocity_on_entry | bool | — | Die Geschwindigkeit auf Null zurücksetzen, sobald der Cursor in die Blase gelangt. |
features/navigation/bubble/spring_inner | float | — | Federkonstante in der Mitte der Blase (N/m). |
features/navigation/bubble/spring_surface | float | — | Federkonstante an der Blasenoberfläche (N/m). |
features/navigation/bubble/spring_outer | float | — | Federkonstante an der Außenkante (N/m). |
features/navigation/bubble/damping_inner | float | — | Dämpfungskoeffizient im Blasenmittelpunkt (Ns/m). |
features/navigation/bubble/damping_surface | float | — | Dämpfungskoeffizient an der Blasenoberfläche (Ns/m). |
features/navigation/bubble/damping_outer | float | — | Dämpfungskoeffizient an der Außengrenze (Ns/m). |
features/navigation/bubble/wall_stiffness | float | — | Steifigkeit der harten Wand an der Außengrenze (N/m). |
features/navigation/bubble/bump_width | float | — | Breite der taktilen Erhebung an der Blasenoberfläche (m). |
features/navigation/bubble/bump_stiffness | float | — | Steifigkeit der taktilen Erhebung an der Blasenoberfläche (N/m). |
features/navigation/bubble/stop_at_collision | bool | — | Verhindere, dass sich der Mittelpunkt der Blase in die Kollisionsrichtung verschiebt, wenn eine Kollision aktiv ist. |
features/navigation/bubble/collision_threshold | float | > 0 | Größe der äußeren Kraft (N), bei der eine Kollision erkannt wird. |
features/navigation/bubble/collision_inflate_scale | float | ≥ 1 | Angewandter Multiplikator für velocity_zone_width solange eine Kollision aktiv ist. |
features/navigation/bubble/collision_exit_ratio | float | Intervall (0,1] | Hystereseverhältnis – Kollision beim Verlassen, wenn |ext_force| fällt unter collision_threshold × this. 1.0 deaktiviert die Hysterese. |
features/navigation/bubble/avatar_boundary_enabled | bool | — | Die Position des Avatars in der Welt an die konfigurierte Position binden avatar_boundary SDF-Format. |
features/safe_trajectory/…
Geschwindigkeitsbegrenzer für die Bewegung des Endeffektors.
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
features/safe_trajectory/enabled | bool | — | Aktivieren Sie den Geschwindigkeitsbegrenzer für die sichere Fahrbahn. |
features/safe_trajectory/max_vel | float | Bereich 0,01–2,0 | Maximal zulässige Geschwindigkeit des Endeffektors (m/s). |
features/screensaver/…
Auf Inverse3 wird eine Leerlaufanimation abgespielt, wenn keine Sitzung läuft.
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
features/screensaver/enabled | bool | — | Aktivieren Sie die Bildschirmschoner-Animation im Ruhezustand auf Inverse3 . |
features/screensaver/speed | float | Bereich 0,001–0,2 | Geschwindigkeit der Bildschirmschoner-Animation. |
features/screensaver/distracted_speed | float | Bereich 0,001–0,2 | Animationsgeschwindigkeit, wenn sich der Benutzer in der Nähe befindet, aber nicht interagiert. |
features/sdf/…
Modul für haptische Effekte im Signierten Distanzfeld (SDF HFX).
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
features/sdf/enabled | bool | — | Das SDF-Modul für haptische Effekte aktivieren oder deaktivieren. |
features/sdf/state_output | bool | — | Den SDF-Status standardmäßig in die Nutzdaten der Geräteausgabe aufnehmen. |
features/sdf/max_count | int | Bereich 0–128 | Maximale Anzahl aktiver SDF-Effekte (0 = unbegrenzt). |
features/sdf/events/created | bool | — | Löst ein Ereignis aus, wenn ein neuer SDF-Effekt erstellt wird. |
features/sdf/events/deleted | bool | — | Löst ein Ereignis aus, wenn ein SDF-Effekt gelöscht wird. |
features/sdf/events/updated | bool | — | Löst ein Ereignis aus, wenn ein SDF-Effekt aktualisiert wird. |
features/sdf/probe_on_zero_force/enabled | bool | — | SDF-Felder automatisch abtasten, wenn die ausgeübte Kraft nahe Null ist. |
features/sdf/probe_on_zero_force/delay | float | Bereich 0,001–60,0 | Verzögerung vor dem automatischen Abtasten, nachdem die Kraft auf Null gesunken ist (s). |
features/verse_grip_pairing/…
Aktiviert bzw. deaktiviert die Verfolgung zwischen einem Inverse3 einem (kabelgebundenen oder kabellosen) Verse Grip. Steuert die Benutzeroberfläche für die Kopplung Haply .
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
features/verse_grip_pairing/enabled | bool | — | Kopplung aktivieren / Verfolgung von An- und Abkoppeln aktivieren. |
features/verse_grip_pairing/hall_threshold_vg | int | Bereich 1–32 | Ebene, ab der ein kabelgebundener VerseGrip als angeschlossen gilt. |
features/verse_grip_pairing/hall_threshold_wvg | int | Bereich 1–32 | Die Etage, auf der ein Wireless VerseGrip als angebracht gilt. |
features/verse_grip_pairing/detach_debounce_ms | int | Bereich 0–1000 | Wartezeit vor dem Ausführen eines Detach-Befehls (in ms). |
features/verse_grip_pairing/heartbeat_ms | int | Bereich 100–10000 | Intervall zwischen erzwungenen erneuten Benachrichtigungen (ms). |
features/verse_grip_pairing/force_attached | bool | — | Den angehängten Status dauerhaft erzwingen true, wobei der Hall-Sensor umgangen wird (Workaround bei Hardwareausfall). |
session/serialization/…
Formatierung der Transformationsausgabe – betrifft WebSocket- und HTTP-JSON-Nutzdaten. Diese Schlüssel wurden von serialization/* zu session/serialization/* in 3.5.1, um ihrem Geltungsbereich pro Sitzung Rechnung zu tragen. Die alten Pfade werden weiterhin über veraltete Aliase aufgelöst.
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
session/serialization/explicit_fields | bool | — | Transformationsfelder, deren Wert dem Standardwert „identity“ entspricht, in die serialisierte Ausgabe aufnehmen (z. B. position: {0,0,0}, rotation: {w:1,…}). Nützlich, wenn Ihr Client verlangt, dass jedes Feld explizit vorhanden ist. Standard: false. |
session/serialization/force_complete_transforms | bool | — | Immer ausgeben position, rotation, und scale in jedem Transformationsausgang, einschließlich Geräten, die nur die Ausrichtung erfassen (Verse Grip, Wireless Verse Grip), die ansonsten nur rotation. Umfasst session/serialization/explicit_fields. Standard: false. |
serialization/explicit_fields (veraltet) | bool | — | Verwendung session/serialization/explicit_fields stattdessen. Lese- und Schreibvorgänge werden transparent an den kanonischen Schlüssel weitergeleitet. |
serialization/force_complete_transforms (veraltet) | bool | — | Verwendung session/serialization/force_complete_transforms stattdessen. Lese- und Schreibvorgänge werden transparent an den kanonischen Schlüssel weitergeleitet. |
session/…
Sitzungsplaner.
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
session/min_simulation_rate_hz | int | Bereich 20–500 | Mindestfrequenz (Hz) für die Gerätesimulation, bei der eine Warnung ausgelöst wird. |
rate/…
Service-Pacing. Eingeführt in Version 3.5.1 – die vier rate/websocket/* Die folgenden Schlüssel befanden sich zuvor unter session/commands/*; die alten Pfade werden weiterhin über veraltete Aliase aufgelöst.
| Schlüssel | Typ | Zwänge | Beschreibung |
|---|---|---|---|
rate/websocket/zoh_window_ms | int | — | Fenster der Nullordnungs-Haltezeit – Unterdrückt Signale, die innerhalb dieses Fensters (in ms) empfangen werden. |
rate/websocket/drop_warning_threshold | int | — | Anzahl der verworfenen Befehle innerhalb des Zeitfensters vor der Warnung. |
rate/websocket/drop_warning_window_ms | int | — | Größe des gleitenden Fensters für die Zählung nicht ausgeführter Befehle (ms). |
rate/websocket/tick_on_empty_batch | bool | fortgeschritten | Termin vereinbaren main_loop tickte sogar dann noch, wenn ein ganzer WebSocket-Batch verloren ging. |
session/commands/zoh_window_ms (veraltet) | int | — | Verwendung rate/websocket/zoh_window_ms stattdessen. Lese- und Schreibvorgänge werden transparent weitergeleitet. |
session/commands/drop_warning_threshold (veraltet) | int | — | Verwendung rate/websocket/drop_warning_threshold stattdessen. Lese- und Schreibvorgänge werden transparent weitergeleitet. |
session/commands/drop_warning_window_ms (veraltet) | int | — | Verwendung rate/websocket/drop_warning_window_ms stattdessen. Lese- und Schreibvorgänge werden transparent weitergeleitet. |
session/commands/tick_on_empty_batch (veraltet) | bool | — | Verwendung rate/websocket/tick_on_empty_batch stattdessen. Lese- und Schreibvorgänge werden transparent weitergeleitet. |
Einstellungen nur für den internen Gebrauch
Es werden mehrere Einstellungsgruppen mitgeliefert hidden in 3.5.1 und sind für den internen Gebrauch reserviert — rate/dispatch/* (AIMD-Sendegeschwindigkeitsbegrenzung und Gegendruckschwellenwerte), session/freeform/* (Verhaltens-Fingerabdruck) sowie session/serialization/preview/* (Experimente zur Vorabveröffentlichung, wie z. B. die Ausgabe von Euler-Quaternionen und das Routing mit Wireless VerseGrip). Sie sind erreichbar über misc/hidden_settings Sie dienen der Fehlerbehebung, werden aber voraussichtlich in einer späteren Nebenversion übernommen, umbenannt oder entfernt – richten Sie das Verhalten Ihrer Anwendung nicht darauf aus.