Ereignisse & Überwachung
Der Dienst sendet Systemereignisse über einen dedizierten, schreibgeschützten WebSocket auf Port 10020. Die Ereignisse umfassen Sicherheitsauslöser, Geräteverbindungen, Akkuwarnungen, Änderungen am Sitzungslebenszyklus und Anomalien bei der Regelrate.
Standard-URL: ws://localhost:10020
Aufbau von JSON-Ereignissen
{
"name": "device-safety-triggered",
"category": "device",
"level": "warning",
"data": { "device_family": "inverse", "device_id": "049D", … },
"message": "FOD stage changed: guard -> hard"
}
| Feld | Typ | Beschreibung |
|---|---|---|
name | String | Stabiler Ereignisbezeichner (zum Filtern bzw. Umschalten verwenden) |
category | String | device, session, system |
level | String | info, notice, warning, error, critical, panic |
data | Objekt | Ereignisspezifische Nutzlast |
message | String | Lesbare Beschreibung |
Ereignistypen
Geräteereignisse
| Name | Stufe | Wann |
|---|---|---|
device-connected | info | Ein neues Gerät wurde erkannt und ist betriebsbereit |
device-disconnected | warning | Ein Gerät ist ausgefallen (abgekoppelt oder Zeitüberschreitung) |
device-battery-low | warning | Akkustand des kabellosen VerseGrip unter dem Schwellenwert |
device-battery-critical | error | Akkustand des kabellosen VerseGrip kritisch niedrig |
device-sleep | info | VerseGrip (kabellos) ist in den Ruhemodus gewechselt |
device-busy | warning | Das Gerät wird gerade von einer anderen Sitzung verwendet |
device-connection-loop | warning | Wiederholte Verbindungs- und Trennungszyklen an einem Anschluss erkannt |
Sicherheitsvorfälle
| Name | Stufe | Wann |
|---|---|---|
device-safety-triggered | variiert | Sicherheitsmeldung der Firmware (siehe unten) |
device-calibration-failed | warning | Die Kalibrierung des Inkwell wurde ausgelöst, der Stift ist jedoch nicht einsatzfähig |
Untertypen von device-safety-triggered
Das Feld safety_type In den Ereignisdaten wird angegeben, was passiert ist:
safety_type | Stufe | Bedeutung |
|---|---|---|
ebrake_triggered | error | Notbremse ausgelöst – Gerät gesperrt |
ebrake_released | notice | Notbremse gelöst |
fod_stage_changed | warning / info | Die FOD-Sicherheitsstufe hat die Grenze zwischen geringem und hohem Risiko überschritten |
stall_detected | warning | Motorblockade erkannt |
stability_ceiling | warning | Stabilitätsobergrenze erreicht |
Gründe für device-calibration-failed
reason | Bedeutung |
|---|---|
pen_not_connected | Es ist überhaupt kein Verse Grip angeschlossen |
pen_asleep | Der kabellose Verse Grip ist gekoppelt, befindet sich jedoch im Ruhemodus |
pen_not_attached | Der Verse Grip ist betriebsbereit, aber der Hall-Sensor liegt unter dem Schwellenwert |
Sitzungsereignisse
| Name | Stufe | Wann |
|---|---|---|
session-started | notice | Eine WebSocket-Sitzung wurde erstellt |
session-stopped | notice | Eine WebSocket-Sitzung wurde beendet |
device-low-control-rate | warning | Die Sitzungsrate ist unter den empfohlenen Schwellenwert gefallen |
device-critical-control-rate | error | Der Steuersatz ist auf einen kritischen Wert gesunken |
Systemereignisse
| Name | Stufe | Wann |
|---|---|---|
system-rate-report | info | Regelmäßiger Bericht zur Taktrate der Hauptschleife |
Ereignisse abhören
Nutzen Sie das Events-Tutorial, um einen sofort lauffähigen Python-Listener mit Filterung nach Level, Namensmustern und Ausschlüssen zu erstellen:
# All events
python 10-haply-inverse-events.py
# Only warnings and above
python 10-haply-inverse-events.py --level warning
# Only device events
python 10-haply-inverse-events.py --name "device-*"
# Exclude battery noise
python 10-haply-inverse-events.py --exclude "*battery*"