Zum Hauptinhalt springen

Referenz der Einstellungen

Dieses Dokument listet alle Einstellungen auf, die der Endpunkt /settings/ zurückgibt, mit ihrem Schlüssel, ihrem Typ (aus type_hint) und ihren Einschränkungen (aus metadata.constraint.range + locked, sofern zutreffend).

Eine locked-Einstellung ist zur Laufzeit nur lesbar. Sie kann über die Konfigurationsdatei oder über die Einstellungsseite von Haply Hub geändert werden, doch damit Änderungen wirksam werden, ist ein vollständiger Neustart des Dienstes erforderlich. Diese Einstellungen sind in den Tabellen unten mit boot gekennzeichnet.

Konfiguration​

Die Konfigurationsdatei, mit der die Einstellungen beim Start des Dienstes überschrieben werden, befindet sich hier:

PlattformSpeicherort
WindowsC:\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 ein flaches JSON-Objekt, das Einstellungsschlüssel auf Überschreibungswerte abbildet. Schlüssel müssen gültige Einstellungsschlüssel sein, die von der /settings/ HTTP-Route zurückgegeben werden (siehe API-Referenz). Nicht angegebene Schlüssel verwenden den Standardwert des Dienstes.

Zum Beispiel eine Überschreibung der Netzwerkkonfiguration:

{
"communication/http/port": 8400,
"communication/websocket/port": 8500,
"communication/events/port": 9000,
"communication/bind_all_interfaces": true
}

Typzuordnung​

Die von der API zurückgegebenen Typhinweise entsprechen folgenden JSON-Typen:

  • STRING → string
  • BOOL → bool
  • INT → int
  • FLOAT → float
  • ARR_STRING → string[]
  • VEC3 → vec3 (Objekt mit {x, y, z})
  • GENERIC → json (beliebiger strukturierter Wert)

communication/…​

Netzwerk-Ports und Bind-Adressen für die HTTP-, WebSocket- und Event-Stream-Server. Die meisten Einträge sind nur beim Booten (boot) wirksam.

SchlüsselTypEinschränkungenBeschreibung
communication/serial/enabledbool—Serielle Gerätekommunikation aktivieren oder deaktivieren.
communication/bind_addressstringbootIP-Adresse, an die die HTTP- und WebSocket-Server gebunden werden.
communication/bind_all_interfacesboolbootServer an 0.0.0.0 statt an localhost binden.
communication/http/portintbootPort der HTTP-REST-API (Standard: 10000).
communication/websocket/portintbootHauptport für WebSocket v3.1 (Standard: 10001).
communication/websocket/legacy_portintbootLegacy-Port für WebSocket v3.0 (Standard: 10000).
communication/events/portintbootPort für den WebSocket-Event-Stream (Standard: 10020).

devices/…​

devices/detection/…​

Richtlinie für das Scannen serieller Ports. Alle Einträge sind fortgeschrittene Einstellungen.

SchlüsselTypEinschränkungenBeschreibung
devices/detection/scan_period_msintBereich 100–10000; bootIntervall zwischen den Scans serieller Ports (ms).
devices/detection/handshake_timeout_sintBereich 1–15Handshake-Timeout pro Port (s).
devices/detection/max_retriesintBereich 1–10Maximale Anzahl an Handshake-Wiederholungen pro Port.
devices/detection/failure_log_delay_sintBereich 1–60Verzögerung, bevor ein Erkennungsfehler erneut protokolliert wird (s).
devices/detection/block_looping_portsbool—Gerätebereitschaft blockieren, wenn ein Looping-Port erkannt wird.
devices/detection/excluded_portsjson—Pfade serieller Ports, die bei der Erkennung übersprungen werden.
devices/detection/additional_portsstring[]—Zusätzliche Pfade serieller Ports, die immer gescannt werden.
devices/detection/allowed_vendor_id_filterstring[]—USB-Vendor-IDs, die bei der Port-Aufzählung zugelassen sind.
devices/detection/port_name_substring_filterstring[]—Plattformspezifische Teilzeichenfolgen von Portnamen, nach denen gefiltert wird.
devices/detection/wireless_verse_grip_description_filterstring[]—Teilzeichenfolgen der Port-Beschreibung für die Erkennung von Wireless-VerseGrip.
devices/detection/inverse3x_description_filterstring[]—Teilzeichenfolgen der Port-Beschreibung für die Erkennung von Inverse3x.
devices/detection/extra_ports (veraltet)string[]—Stattdessen devices/detection/additional_ports verwenden. Lese- und Schreibzugriffe werden transparent an den kanonischen Schlüssel weitergeleitet.

devices/inverse*/…​

Globale Standardwerte, die auf alle Geräte der Inverse3-Familie angewendet werden. Sitzungsspezifische Überschreibungen haben Vorrang.

SchlüsselTypEinschränkungenBeschreibung
devices/inverse*/filters/force_scale/gainfloatBereich 0.0–2.0Globaler Multiplikator für die Kraftausgabe, der auf alle Geräte angewendet wird.
devices/inverse*/filters/force_gate/gainfloatBereich 0.0–1.0Standardverstärkung des Kraft-Gates für neue Sitzungen.
devices/inverse*/control_timeout_msintBereich 50–10000Timeout, nach dem die Sperre der Gerätesteuerung freigegeben wird (ms).
devices/inverse*/query_orientation_on_idlebool—Körperausrichtung des Geräts im Leerlauf von der Firmware abfragen.

devices/presets​

SchlüsselTypEinschränkungenBeschreibung
devices/presetsjson—Standardgerätekonfigurationen je Gerätetyp (Montagetransformation, 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üsselTypEinschränkungenBeschreibung
devices/wireless_verse_grip/battery/low_thresholdint—Akkustand in Prozent, unterhalb dessen eine Warnung bei niedrigem Akkustand ausgelöst wird.
devices/wireless_verse_grip/battery/critical_thresholdint—Akkustand in Prozent, unterhalb dessen ein Alarm bei kritischem Akkustand ausgelöst wird.
devices/wireless_verse_grip/battery/reset_marginint—Hysterese-Spielraum, bevor eine Akkuwarnung zurückgesetzt wird.
devices/wireless_verse_grip/filters/orientation_filterjsonbootKonfiguration des One-Euro-Filters für die Ausrichtung des Wireless-VerseGrip.

features/…​

features/calibration/…​

SchlüsselTypEinschränkungenBeschreibung
features/calibration/hall_thresholdintBereich 1–32Hall-Sensor-Pegel, ab dem der Stift bei der Kalibrierung als angesteckt gilt.

features/grip_hook/…​

Automatisches Verhalten des Grip-Hooks – sperrt den Cursor, solange der Griff aufrecht gehalten wird.

SchlüsselTypEinschränkungenBeschreibung
features/grip_hook/enabledbool—Automatische Sperre des Grip-Hooks aktivieren, wenn der Griff aufrecht gehalten wird.
features/grip_hook/use_hallbool—Für die Griff-Erkennung den Hall-Sensor-Schwellenwert statt der Ausrichtung verwenden.
features/grip_hook/hallintBereich 1–32Hall-Sensor-Schwellenwert, der die Griffsperre auslöst.
features/grip_hook/hold_durationintBereich 10–1000Dauer, für die die Sperre nach dem Auslösen gehalten wird (ms).

features/navigation/bubble/…​

Standardwerte des Bubble-Navigationsmoduls – werden an die Sitzung übergeben, sobald ein bubble-Verhalten erstmals aktiviert wird.

SchlüsselTypEinschränkungenBeschreibung
features/navigation/bubble/centervec3—Standardposition des Bubble-Mittelpunkts.
features/navigation/bubble/max_velocityfloat—Maximale Navigationsgeschwindigkeit in der Geschwindigkeitszone (m/s).
features/navigation/bubble/velocity_zone_widthfloat—Breite der Geschwindigkeitszone außerhalb der Bubble-Oberfläche (m).
features/navigation/bubble/reset_velocity_on_entrybool—Geschwindigkeit auf null zurücksetzen, wenn der Cursor in die Bubble eintritt.
features/navigation/bubble/spring_innerfloat—Federkoeffizient am Bubble-Mittelpunkt (N/m).
features/navigation/bubble/spring_surfacefloat—Federkoeffizient an der Bubble-Oberfläche (N/m).
features/navigation/bubble/spring_outerfloat—Federkoeffizient an der äußeren Grenze (N/m).
features/navigation/bubble/damping_innerfloat—Dämpfungskoeffizient am Bubble-Mittelpunkt (Ns/m).
features/navigation/bubble/damping_surfacefloat—Dämpfungskoeffizient an der Bubble-Oberfläche (Ns/m).
features/navigation/bubble/damping_outerfloat—Dämpfungskoeffizient an der äußeren Grenze (Ns/m).
features/navigation/bubble/wall_stiffnessfloat—Steifigkeit der harten Wand an der äußeren Grenze (N/m).
features/navigation/bubble/bump_widthfloat—Breite der taktilen Erhebung an der Bubble-Oberfläche (m).
features/navigation/bubble/bump_stiffnessfloat—Steifigkeit der taktilen Erhebung an der Bubble-Oberfläche (N/m).

features/safe_trajectory/…​

Geschwindigkeitsbegrenzer für die Bewegung des Endeffektors.

SchlüsselTypEinschränkungenBeschreibung
features/safe_trajectory/enabledbool—Den Geschwindigkeitsbegrenzer für sichere Trajektorien aktivieren.
features/safe_trajectory/max_velfloatBereich 0.01–2.0Maximal zulässige Geschwindigkeit des Endeffektors (m/s).

features/screensaver/…​

Im Leerlauf abgespielte Animation auf Inverse3-Geräten, wenn keine Sitzung sie steuert.

SchlüsselTypEinschränkungenBeschreibung
features/screensaver/enabledbool—Die Leerlauf-Bildschirmschoner-Animation auf Inverse3-Geräten aktivieren.
features/screensaver/speedfloatBereich 0.001–0.2Geschwindigkeit der Bildschirmschoner-Animation.
features/screensaver/distracted_speedfloatBereich 0.001–0.2Animationsgeschwindigkeit, wenn sich der Benutzer in der Nähe befindet, aber nicht interagiert.

features/sdf/…​

Modul für haptische Effekte auf Basis von Signed Distance Fields (SDF HFX).

SchlüsselTypEinschränkungenBeschreibung
features/sdf/enabledbool—Aktiviert oder deaktiviert das Modul für SDF-Haptikeffekte.
features/sdf/state_outputbool—Schließt den SDF-Status standardmäßig in die Ausgabe-Payloads des Geräts ein.
features/sdf/max_countintBereich 0–128Maximale Anzahl aktiver SDF-Effekte (0 = unbegrenzt).
features/sdf/events/createdbool—Gibt ein Ereignis aus, wenn ein neuer SDF-Effekt erstellt wird.
features/sdf/events/deletedbool—Gibt ein Ereignis aus, wenn ein SDF-Effekt gelöscht wird.
features/sdf/events/updatedbool—Gibt ein Ereignis aus, wenn ein SDF-Effekt aktualisiert wird.
features/sdf/probe_on_zero_force/enabledbool—SDF-Felder automatisch abfragen, wenn die aufgebrachte Kraft nahe null liegt.
features/sdf/probe_on_zero_force/delayfloatBereich 0.001–60.0Verzögerung vor der automatischen Abfrage, nachdem die Kraft auf null gesunken ist (s).

features/verse_grip_pairing/…​

Erfassung von Anschluss und Trennung zwischen einem Inverse3 und einem Verse Grip (kabelgebunden oder kabellos). Grundlage der Kopplungs-Oberfläche von Haply Hub.

SchlüsselTypEinschränkungenBeschreibung
features/verse_grip_pairing/enabledbool—Aktiviert die Kopplung bzw. die Erfassung von Anschluss und Trennung.
features/verse_grip_pairing/hall_threshold_vgintBereich 1–32Hall-Pegel, ab dem ein kabelgebundenes VerseGrip als angeschlossen gilt.
features/verse_grip_pairing/hall_threshold_wvgintBereich 1–32Hall-Pegel, ab dem ein kabelloses VerseGrip als angeschlossen gilt.
features/verse_grip_pairing/detach_debounce_msintBereich 0–1000Entprellzeitfenster, bevor eine Trennung übernommen wird (ms).
features/verse_grip_pairing/heartbeat_msintBereich 100–10000Intervall zwischen erzwungenen erneuten Benachrichtigungen (ms).
features/verse_grip_pairing/force_attachedbool—Erzwingt dauerhaft den Zustand „angeschlossen“ (true) und umgeht den Hall-Sensor (Workaround bei Hardwarefehlern).

serialization/…​

Formatierung der Transformationsausgabe – betrifft die Payloads von WebSocket und HTTP JSON.

SchlüsselTypEinschränkungenBeschreibung
serialization/explicit_fieldsbool—Schließt Transformationsfelder, die ihrem Identitäts-Standardwert entsprechen, in die serialisierte Ausgabe ein (z. B. position: {0,0,0}, rotation: {w:1,…}). Nützlich, wenn Ihr Client verlangt, dass alle Felder explizit vorhanden sind. Standard: false.
serialization/force_complete_transformsbool—Gibt in jeder Transformationsausgabe immer position, rotation und scale aus, auch bei Geräten, die nur die Orientierung erfassen (Verse Grip, Wireless Verse Grip) und ansonsten nur rotation ausgeben. Umfasst serialization/explicit_fields. Standard: false.

session/…​

Grenzwerte für den Session-Scheduler und die Befehlspipeline.

SchlüsselTypEinschränkungenBeschreibung
session/min_simulation_rate_hzintBereich 20–500Minimal akzeptable Simulationsrate des Geräts (Hz); bei Unterschreitung wird eine Warnung ausgegeben.
session/commands/zoh_window_msint—Zero-Order-Hold-Fenster – unterdrückt Abfragen, die innerhalb dieses Fensters eingehen (ms).
session/commands/drop_warning_thresholdint—Anzahl verworfener Befehle innerhalb des Fensters, ab der gewarnt wird.
session/commands/drop_warning_window_msint—Größe des gleitenden Fensters zum Zählen verworfener Befehle (ms).
session/commands/tick_on_empty_batchbool—Plant einen main_loop-Tick auch dann ein, wenn ein gesamter WebSocket-Batch verworfen wurde.