Konfigurationsreferenz
In diesem Dokument wird,/settings/Alle vom Endpunkt zurückgegebenen Einstellungen in die jeweiligenSchlüssel、Typ(type_hint(von), sowieEinschränkungen(metadata.constraint.rangesowie, falls zutreffend,locked(ab) zusammen in einer Liste aufgeführt.
lockedDie Einstellungen sind:Bei der Ausführung schreibgeschützt. Über die Konfigurationsdatei oderHaply HubSie können dies auf der Einstellungsseite ändern, aber damit die Änderungen wirksam werden, müssen SieEin vollständiger Neustart des Dienstes ist erforderlich. Diese sind in der folgenden TabelleStartso steht dort geschrieben.
Aufbau
Die Konfigurationsdatei, mit der die Einstellungen beim Start des Dienstes überschrieben werden, befindet sich an folgendem Speicherort:
| Plattform | Ort |
|---|---|
| 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 ordnet Konfigurationsschlüssel den Überschreibungswerten zu.Flaches JSON-Objekt. Der Schlüssel lautet:/settings/ HTTP-Route (API-Referenz(siehe dort) zurückgibt. Für nicht angegebene Schlüssel werden die Standardwerte des Dienstes verwendet.
Beispielsweise lauten die Einstellungen zum Überschreiben der Netzwerkkonfiguration wie folgt:
{
"communication/http/port": 8400,
"communication/websocket/port": 8500,
"communication/events/port": 9000,
"communication/bind_all_interfaces": true
}
Anzeige und Filterung
/settingsListe der Endpunkte (GET /settings、GET /settings/) ist standardmäßigGrundlagenEs werden nur die Einstellungen zurückgegeben. Um erweiterte Einstellungen einzubeziehen,?advanced=trueUm veraltete Aliase einzubeziehen,?deprecated=trueBitte geben Sie dies an. Die Einstellung „Ausgeblendet“ ist für den internen Gebrauch reserviert undPOST /settings/misc/hidden_settingsübermisc/hidden_settingsWird nur angezeigt, wenn diese Option festgelegt ist (es gibt keinen entsprechenden Abfrageparameter). Die Filterflags werden mit einer UND-Bedingung kombiniert.advancedundhiddenBei Schlüsseln, bei denen beide Flags gesetzt sind, müssen beide Gates geöffnet werden. POST- und DELETE-Anrufe für bekannte Schlüssel fallen nicht unter diese Regelung.
Wenn der reguläre Schlüssel korrekt angegeben wurde, erfolgt das Auslesen eines einzelnen Schlüssels (GET /settings/<key>) umgeht die „advanced/deprecated“-Prüfung. Dies ist für Clients mit entsprechenden Vorkenntnissen nützlich. Versteckte Schlüssel unterliegen weiterhin der Prüfung.
Drei Laufzeit-Schalter legen die Anfangswerte für die Gates fest. Diese Werte bleiben während der gesamten Laufzeit des Dienstes erhalten:
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
misc/advanced_settings | bool | — | GET /settingsin der ListeadvancedBezieht die mit einem Flag gekennzeichneten Einstellungen ein (Standardwert istfalse). Bei allen Anfragen?advanced=trueDas entspricht dem Übergeben. |
misc/deprecated_settings | bool | — | GET /settingsin der ListedeprecatedBezieht die mit einem Flag gekennzeichneten Einstellungen ein (Standardwert istfalse). Bei allen Anfragen?deprecated=trueDas entspricht dem Übergeben. |
Typzuordnung
Die von der API zurückgegebenen Typhinweise entsprechen dem folgenden JSON-Format:
STRING→stringBOOL→boolINT→intFLOAT→floatARR_STRING→string[]VEC3→vec3({x, y, z}(Objekt, das … besitzt)GENERIC→json(beliebiger strukturierter Wert)
communication/…
Dies sind die Netzwerkports und Bind-Adressen für HTTP, WebSocket und den Event-Stream-Server. Die meisten Einträge sindnur beim Systemstartaktiv.
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
communication/serial/enabled | bool | — | Aktiviert oder deaktiviert die Kommunikation mit seriellen Geräten. |
communication/bind_address | string | Start | Die IP-Adresse, an die der HTTP- und WebSocket-Server gebunden ist. |
communication/bind_all_interfaces | bool | Start | Anstelle von „localhost“ den Server0.0.0.0wird daran gebunden. |
communication/http/port | int | Start | Port der HTTP-REST-API (Standardwert) 10000). |
communication/websocket/port | int | Start | Haupt-WebSocket-Port v3.1 (Standardwert) 10001). |
communication/websocket/legacy_port | int | Start | Legacy-WebSocket-Port v3.0 (Standardwert) 10000). |
communication/events/port | int | Start | Event-Stream-WebSocket-Port (Standardwert) 10020). |
devices/…
devices/detection/…
Dies sind die Scan-Richtlinien für serielle Schnittstellen. Alle Einträge gehören zu den erweiterten Einstellungen.
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
devices/detection/scan_period_ms | int | Bereich 100–10.000; beim Start | Scan-Intervall für den seriellen Anschluss (ms). |
devices/detection/handshake_timeout_s | int | Bereich 1–15 | Zeitlimit für den Handshake pro Port (s). |
devices/detection/max_retries | int | Bereich 1–10 | Maximale Anzahl der Wiederholungsversuche für den Handshake pro Port. |
devices/detection/failure_log_delay_s | int | Bereich 1–60 | Verzögerung (in Sekunden) bis zur erneuten Protokollierung eines Erkennungsfehlers. |
devices/detection/block_looping_ports | bool | — | Wenn ein Port mit einer Schleife erkannt wird, wird der Bereitschaftszustand des Geräts blockiert. |
devices/detection/excluded_ports | json | — | Pfad des seriellen Anschlusses, der bei der Erkennung übersprungen werden soll. |
devices/detection/additional_ports | string[] | — | Pfad zu einem zusätzlichen seriellen Anschluss, der bedingungslos gescannt werden soll. |
devices/detection/allowed_vendor_id_filter | string[] | — | USB-Hersteller-IDs, die bei der Port-Aufzählung zugelassen werden. |
devices/detection/port_name_substring_filter | string[] | — | Teilzeichenfolge des plattformspezifischen Portnamens, die abgeglichen werden soll. |
devices/detection/wireless_verse_grip_description_filter | string[] | — | Teil einer Zeichenfolge aus der Portbeschreibung zur Erkennung des kabellosen VerseGrip. |
devices/detection/inverse3x_description_filter | string[] | — | Teilzeichenfolge aus der Portbeschreibung zur Erkennung von Inverse3x. |
devices/detection/extra_ports (Nicht empfohlen) | string[] | — | Stattdessen devices/detection/additional_ports Bitte verwenden Sie diese Funktion. Lese- und Schreibvorgänge werden transparent an den regulären Schlüssel weitergeleitet. |
devices/*inverse/…
Dies ist der globale Standardwert, der für alle Geräte der Inverse3-Familie gilt. Eine sessionsspezifische Überschreibung hat Vorrang.
In Version 3.5.0 ist „Grob“ devices/inverse*/… war. Derzeit ist der erste * aber inverse wird davor gesetzt. Konfigurationsdateien, die das alte Literal verwenden, führen in Version 3.5.1 zu einem Fehler beim Binden; bitte aktualisieren Sie diese daher. Am Schlüssel selbst hat sich ansonsten nichts geändert.
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
devices/*inverse/filters/force_scale/gain | float | Bereich 0,0–2,0 | Ein globaler Multiplikator für die Leistungsabgabe, der für alle Geräte gilt. |
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–10.000 | Zeitlimit (in ms) bis zur Aufhebung der Sperre für die Gerätesteuerung. |
devices/*inverse/query_orientation_on_idle | bool | — | Wenn sich das Gerät im Ruhezustand befindet, wird die Ausrichtung des Geräts über die Firmware abgefragt. |
devices/*inverse/safeties/expose_in_snapshot | bool | — | Die Sicherheitsflags der einzelnen Geräte GET /devices/{id} in den Snapshot aufnehmen. |
devices/presets
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
devices/presets | json | — | Standard-Konfigurationsvoreinstellungen für die einzelnen Gerätetypen (z. B. Mount-Konvertierung, Basis usw.). Dies gilt 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 | Einschränkungen | Erläuterung |
|---|---|---|---|
devices/wireless_verse_grip/battery/low_threshold | int | — | Wenn der Akkustand (in %) unter diesen Wert fällt, wird eine Warnung wegen niedrigen Akkustands ausgegeben. |
devices/wireless_verse_grip/battery/critical_threshold | int | — | Wenn der Akkustand (in %) unter diesen Wert fällt, wird eine Akku-Warnmeldung ausgegeben. |
devices/wireless_verse_grip/battery/reset_margin | int | — | Hysterese-Spielraum bis zum Aufheben der Akkuwarnung. |
devices/wireless_verse_grip/filters/orientation_filter | json | Beim Start | Einstellung des „One Euro Filter“ in Abhängigkeit von der Ausrichtung des kabellosen VerseGrip. |
features/…
features/calibration/…
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
features/calibration/hall_threshold | int | Bereich 1–32 | Der Schwellenwert des Lochsensors, bei dem während der Kalibrierung erkannt wird, dass der Stift angebracht ist. |
features/grip_hook/…
Dies ist die automatische Funktion des Griffhakens. Solange der Griff senkrecht gehalten wird, wird der Cursor fixiert.
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
features/grip_hook/enabled | bool | — | Aktiviert die automatische Verriegelung durch den Griffhaken, wenn der Griff senkrecht gehalten wird. |
features/grip_hook/use_hall | bool | — | Zur Erkennung des Griffs wird nicht die Ausrichtung, sondern der Schwellenwert des Hall-Sensors verwendet. |
features/grip_hook/hall | int | Bereich 1–32 | Schwellenwert des Hall-Sensors, der die Griffverriegelung auslöst. |
features/grip_hook/hold_duration | int | Bereich 10–1000 | Zeitdauer (in ms), während der die Sperre nach dem Auslösen aufrechterhalten wird. |
features/navigation/bubble/…
Dies sind die Standardwerte für das Bubble-Navigationsmodul.bubble Sobald die Funktion zum ersten Mal aktiviert wird, wird sie an die Sitzung übergeben. Informationen zur Bedeutung der einzelnen Felder zur Laufzeit finden Sie unterNavigationsmodul Bitte lesen Sie die Seite.
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
features/navigation/bubble/center | vec3 | — | Standardwert für die Position des Mittelpunkts der Blase. |
features/navigation/bubble/center_enabled | bool | — | Als die Bubble-Funktion zum ersten Mal aktiviert wurde, wurde Folgendes festgelegt: center wird angewendet. |
features/navigation/bubble/rotation_enabled | bool | — | Die Drehung des Arbeitsbereichs wird in Navigationsrichtung angewendet. |
features/navigation/bubble/scale_enabled | bool | — | Die Skalierung des Arbeitsbereichs wird auf die Navigationsgeschwindigkeit angewendet. |
features/navigation/bubble/center_drift_speed | float | ≥ 0 | auto_follow Driftgeschwindigkeit im Zentralmodus (m/s). |
features/navigation/bubble/max_velocity | float | — | Maximale Navigationsgeschwindigkeit (m/s) innerhalb der Geschwindigkeitszone. |
features/navigation/bubble/velocity_zone_width | float | — | Breite der Geschwindigkeitszone außerhalb der Blasenoberfläche (m). |
features/navigation/bubble/reset_velocity_on_entry | bool | — | Wenn der Cursor in die Blase gelangt, wird die Geschwindigkeit auf Null zurückgesetzt. |
features/navigation/bubble/spring_inner | float | — | Federkonstante (N/m) im Zentrum der Blase. |
features/navigation/bubble/spring_surface | float | — | Federkonstante an der Blasenoberfläche (N/m). |
features/navigation/bubble/spring_outer | float | — | Federkonstante an der äußeren Begrenzung (N/m). |
features/navigation/bubble/damping_inner | float | — | Dämpfungskoeffizient (Ns/m) im Zentrum der Blase. |
features/navigation/bubble/damping_surface | float | — | Dämpfungskoeffizient (Ns/m) an der Blasenoberfläche. |
features/navigation/bubble/damping_outer | float | — | Dämpfungskoeffizient an der äußeren Grenze (Ns/m). |
features/navigation/bubble/wall_stiffness | float | — | Steifigkeit (N/m) der starren Wand an der Außenkante. |
features/navigation/bubble/bump_width | float | — | Breite der taktilen Erhebungen auf der Blasenoberfläche (m). |
features/navigation/bubble/bump_stiffness | float | — | Steifigkeit (N/m) der taktilen Erhebungen auf der Oberfläche der Blase. |
features/navigation/bubble/stop_at_collision | bool | — | Solange der Zusammenstoß aktiv ist, wird verhindert, dass der Mittelpunkt der Blase in Richtung des Zusammenstoßes abdriftet. |
features/navigation/bubble/collision_threshold | float | > 0 | Die Größe der äußeren Kraft (N), bei der eine Kollision erkannt wird. |
features/navigation/bubble/collision_inflate_scale | float | ≥ 1 | Solange die Kollision aktiv ist,velocity_zone_width Der Multiplikator, der darauf angewendet wird. |
features/navigation/bubble/collision_exit_ratio | float | Intervall (0,1] | Hystereseverhältnis.|ext_force| aber collision_threshold × this Wenn dieser Wert unterschritten wird, wird die Kollision aufgehoben.1.0 In diesem Fall wird die Hysterese deaktiviert. |
features/navigation/bubble/avatar_boundary_enabled | bool | — | Die Position des Avatars in der Welt, die bereits festgelegt wurde avatar_boundary Beschränken Sie sich auf den Bereich der SDF-Form. |
features/safe_trajectory/…
Dies ist ein Geschwindigkeitsbegrenzer für die Bewegung des Endeffektors.
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
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/…
Dies ist die Leerlaufanimation, die auf dem Gerät „Inverse3 “ angezeigt wird, wenn keine Sitzung aktiv ist.
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
features/screensaver/enabled | bool | — | Inverse3 Aktiviert die Bildschirmschoner-Animation im Leerlauf auf dem Gerät. |
features/screensaver/speed | float | Bereich 0,001–0,2 | Geschwindigkeit der Bildschirmschoner-Animation. |
features/screensaver/distracted_speed | float | Bereich 0,001–0,2 | Die Animationsgeschwindigkeit, wenn sich der Benutzer in der Nähe befindet, das Gerät aber nicht bedient. |
features/sdf/…
Taktiles Effektmodul (SDF HFX) für signierte Distanzfelder (SDF).
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
features/sdf/enabled | bool | — | Aktiviert oder deaktiviert das SDF-Haptik-Effektmodul. |
features/sdf/state_output | bool | — | Standardmäßig wird der SDF-Status in die Ausgabedaten des Geräts aufgenommen. |
features/sdf/max_count | int | Bereich 0–128 | Maximale Anzahl gültiger 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 der SDF-Effekt entfernt wird. |
features/sdf/events/updated | bool | — | Es wird ein Ereignis ausgelöst, wenn der SDF-Effekt aktualisiert wird. |
features/sdf/probe_on_zero_force/enabled | bool | — | Wenn die Druckkraft nahezu null ist, wird das SDF-Feld automatisch abgefragt. |
features/sdf/probe_on_zero_force/delay | float | Bereich 0,001–60,0 | Verzögerung (s) zwischen dem Absinken der Kraft auf Null und dem Start der automatischen Abtastung. |
features/verse_grip_pairing/…
Inverse3 Erfasst das Anbringen und Abnehmen eines (kabelgebundenen oder kabellosen) Verse Grip. Dies bildet die Grundlage für die Benutzeroberfläche zur Kopplung desHaply -Hubs.
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
features/verse_grip_pairing/enabled | bool | — | Aktiviert die Nachverfolgung von Kopplungen sowie von Ein- und Ausbauten. |
features/verse_grip_pairing/hall_threshold_vg | int | Bereich 1–32 | Die Ebene, auf der festgestellt wird, dass ein kabelgebundener VerseGrip angebracht ist. |
features/verse_grip_pairing/hall_threshold_wvg | int | Bereich 1–32 | Die Ebene, auf der festgestellt wird, dass der drahtlose VerseGrip angebracht ist. |
features/verse_grip_pairing/detach_debounce_ms | int | Bereich 0–1000 | Entprellzeit (ms) bis zur Bestätigung des Abzugs. |
features/verse_grip_pairing/heartbeat_ms | int | Bereich 100–10000 | Intervall für die erzwungene erneute Benachrichtigung (ms). |
features/verse_grip_pairing/force_attached | bool | — | Den Hall-Sensor umgehen, um den Einbauzustand stets true erzwingt (Maßnahme zur Umgehung bei Hardwarefehlern). |
session/serialization/…
Format der „Transform“-Ausgabe — Dies wirkt sich auf WebSocket- und HTTP-JSON-Nutzdaten aus. Diese Schlüssel wurden in Abschnitt 3.5.1 angepasst, um den sessionsbezogenen Geltungsbereich widerzuspiegeln. serialization/* von session/serialization/* wurde verschoben. Der alte Pfad wird weiterhin über einen veralteten Alias aufgelöst.
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
session/serialization/explicit_fields | bool | — | Fügen Sie in der serialisierten Ausgabe ein „transform“-Feld ein, dessen Wert dem Standardwert „identity“ entspricht (Beispiel: position: {0,0,0}、rotation: {w:1,…}). Dies ist nützlich, wenn der Client das explizite Vorhandensein aller Felder verlangt. Standard: false。 |
session/serialization/force_complete_transforms | bool | — | Einschließlich der Geräte, die nur die Ausrichtung erfassen (Verse Grip, Wireless Verse Grip), gilt für alle transform-Ausgänge position、rotation、sowie scale gibt stets aus. Diese Geräte sind in der Regel rotation Es wird nur dies ausgegeben.session/serialization/explicit_fields ist eine aufwärtskompatible Version und umfasst deren Funktionen. Standard: false。 |
serialization/explicit_fields (Nicht empfohlen) | bool | — | Stattdessen session/serialization/explicit_fields Bitte verwenden Sie diese Funktion. Lese- und Schreibvorgänge werden transparent an den regulären Schlüssel weitergeleitet. |
serialization/force_complete_transforms (Nicht empfohlen) | bool | — | Stattdessen session/serialization/force_complete_transforms Bitte verwenden Sie diese Funktion. Lese- und Schreibvorgänge werden transparent an den regulären Schlüssel weitergeleitet. |
session/…
Sitzungsplaner.
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
session/min_simulation_rate_hz | int | Bereich 20–500 | Der minimal zulässige Wert (Hz) für die Gerätesimulationsrate vor dem Auftreten einer Warnung. |
rate/…
Dienst-Pacing. In Abschnitt 3.5.1 eingeführt – die folgenden vier rate/websocket/* Der Schlüssel war früher session/commands/* befand sich darunter. Der alte Pfad wird weiterhin über einen veralteten Alias aufgelöst.
| Schlüssel | Typ | Einschränkungen | Erläuterung |
|---|---|---|---|
rate/websocket/zoh_window_ms | int | — | Hold-Fenster nullter Ordnung – Unterdrückt die innerhalb dieses Fensters empfangenen Signale (ms). |
rate/websocket/drop_warning_threshold | int | — | Die Anzahl der Befehle, die im Fenster abgelegt wurden, bevor eine Warnung ausgegeben wird. |
rate/websocket/drop_warning_window_ms | int | — | Größe des gleitenden Fensters (in ms) zum Zählen der verworfenen Befehle. |
rate/websocket/tick_on_empty_batch | bool | Fortgeschritten | Selbst wenn der gesamte WebSocket-Batch verloren geht,main_loop den Tick planen. |
session/commands/zoh_window_ms (Nicht empfohlen) | int | — | Stattdessen rate/websocket/zoh_window_ms Bitte verwenden Sie diese Funktion. Lese- und Schreibvorgänge werden transparent weitergeleitet. |
session/commands/drop_warning_threshold (Nicht empfohlen) | int | — | Stattdessen rate/websocket/drop_warning_threshold Bitte verwenden Sie diese Funktion. Lese- und Schreibvorgänge werden transparent weitergeleitet. |
session/commands/drop_warning_window_ms (Nicht empfohlen) | int | — | Stattdessen rate/websocket/drop_warning_window_ms Bitte verwenden Sie diese Funktion. Lese- und Schreibvorgänge werden transparent weitergeleitet. |
session/commands/tick_on_empty_batch (Nicht empfohlen) | bool | — | Stattdessen rate/websocket/tick_on_empty_batch Bitte verwenden Sie diese Funktion. Lese- und Schreibvorgänge werden transparent weitergeleitet. |
Einstellungen nur für den internen Gebrauch
In Abschnitt 3.5.1 werden einige Einstellungsfamilien hidden wird als … angeboten und ist ausschließlich für den internen Gebrauch reserviert — rate/dispatch/*(Obergrenze der AIMD-Abfeuerrate und Schwellenwert für den Gegendruck),session/freeform/*(Verhaltens-Fingerabdruck) sowie session/serialization/preview/*(Serialisierungsexperimente mit Vorabversionen wie der Euler-Quaternionen-Ausgabe und dem Wireless-VerseGrip-Routing). Diese dienen zu Debugging-Zwecken misc/hidden_settings ist zwar derzeit verfügbar, kann jedoch in späteren Nebenversionen hochgestuft, umbenannt oder entfernt werden. Richten Sie das Verhalten des Clients nicht daran aus.