Veranstaltungen und Überwachung
Der Dienst nutzteinen dedizierten, schreibgeschützten WebSocketauf Port 10020, um Systemereignisse zu übermitteln. Die Ereignisse dienen zur Benachrichtigung über das Auslösen von Sicherheitsfunktionen, das Verbinden von Geräten, Batteriewarnungen, Änderungen im Lebenszyklus von Sitzungen sowie Anomalien bei der Steuerungsrate.
Standard-URL: ws://localhost:10020
Format der Ereignis-JSON-Datei
{
"name": "device-safety-triggered",
"category": "device",
"level": "warning",
"data": { "device_family": "inverse", "device_id": "049D", … },
"message": "FOD stage changed: guard -> hard"
}
| Feld | Typ | Erläuterung |
|---|---|---|
name | String | Stabile Ereignis-ID (zur Filterung und Umschaltung) |
category | String | device, session, system |
level | String | info, notice, warning, error, critical, panic |
data | Objekt | Veranstaltungsspezifische Nutzdaten |
message | String | Erläuterung des menschenlesbaren Formats |
Art der Veranstaltung
Geräteereignis
| Name | Level | Auftrittsbedingungen |
|---|---|---|
device-connected | info | Wenn ein neues Gerät erkannt wird und verfügbar ist |
device-disconnected | warning | Wenn das Gerät nicht mehr erkannt wird (Entfernung oder Zeitüberschreitung) |
device-battery-low | warning | Wenn der Akkustand des kabellosen VerseGrip unter den Schwellenwert fällt |
device-battery-critical | error | Wenn der Akkustand des kabellosen VerseGrip auf ein gefährliches Niveau gesunken ist |
device-sleep | info | Wenn der kabellose VerseGrip in den Ruhemodus wechselt |
device-busy | warning | Wenn das Gerät gerade in einer anderen Sitzung verwendet wird |
device-connection-loop | warning | Wenn am Port wiederholte Verbindungsaufbauten und -abbrüche festgestellt werden |
Sicherheitsereignis
| Name | Level | Auftrittsbedingungen |
|---|---|---|
device-safety-triggered | variabel | Sicherheitshinweis zur Firmware (siehe unten) |
device-calibration-failed | warning | Die Kalibrierung von Inkwell wurde gestartet, aber der Stift lässt sich nicht verwenden |
device-safety-triggered Subtyp von
Veranstaltungsdaten safety_type In diesem Feld werden die aufgetretenen Ereignisse angezeigt:
safety_type | Level | Bedeutung |
|---|---|---|
ebrake_triggered | error | Notbremse ausgelöst – Gerät ist gesperrt |
ebrake_released | notice | Die Notbremse wurde gelöst. |
fod_stage_changed | warning / info | Die FOD-Sicherheitsstufe hat die Grenze zwischen „geringem Risiko“ und „hohem Risiko“ überschritten. |
stall_detected | warning | Erkennung eines Motorstillstands |
stability_ceiling | warning | Die Obergrenze der Stabilität erreicht |
device-calibration-failed der Grund
reason | Bedeutung |
|---|---|
pen_not_connected | Es ist überhaupt kein Verse-Grip angeschlossen |
pen_asleep | Der kabellose Verse-Griff ist zwar bereits gekoppelt, befindet sich jedoch im Ruhemodus. |
pen_not_attached | Der Verse-Grip ist bereit, aber der Wert des Hall-Sensors liegt unter dem Schwellenwert. |
Sitzungsveranstaltung
| Name | Level | Auftrittsbedingungen |
|---|---|---|
session-started | notice | Eine WebSocket-Sitzung wurde erstellt |
session-stopped | notice | Die WebSocket-Sitzung wurde beendet. |
device-low-control-rate | warning | Die Steuerungsrate der Sitzung ist unter den empfohlenen Schwellenwert gefallen. |
device-critical-control-rate | error | Die Steuerungsrate ist auf ein gefährliches Niveau gesunken. |
Systemereignisse
| Name | Level | Auftrittsbedingungen |
|---|---|---|
system-rate-report | info | Regelmäßige Meldung der Tick-Rate der Hauptschleife |
Empfang von Ereignissen
Als Beispiel für einen ausführbaren Python-Listener lesen Sie bitte dasTutorial zu Ereignissen, in dem die Filterung nach Ebene, Namensmustern und Ausschlüssen behandelt wird:
# 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*"