Vorfälle und Überwachung
Der Dienst übermittelt Systemereignisse übereinen dedizierten, schreibgeschützten WebSocket auf Port 10020. Zu den Ereignissen zählen Sicherheitsauslöser, Geräteverbindungen, Akkuwarnungen, Änderungen im Sitzungslebenszyklus und Anomalien bei der Steuerungsrate.
Standard-URL: ws://localhost:10020
Ereignis im JSON-Format
{
"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-IDs (zum Filtern/Umschalten) |
category | String | device、session、system |
level | String | info、notice、warning、error、critical、panic |
data | Objekt | Ereignisspezifische Lastdaten |
message | String | Lesbare Ereignisbeschreibung |
Art des Vorfalls
Geräteereignisse
| Bezeichnung | Stufe | Auslösezeitpunkt |
|---|---|---|
device-connected | info | Ein neues Gerät wurde erkannt und ist betriebsbereit. |
device-disconnected | warning | Gerät verloren (abgezogen oder Zeitüberschreitung) |
device-battery-low | warning | Der Akkustand des kabellosen VerseGrip liegt unter dem Schwellenwert |
device-battery-critical | error | Der Akku des kabellosen VerseGrip ist fast leer |
device-sleep | info | Der kabellose VerseGrip wechselt in den Ruhemodus |
device-busy | warning | Das Gerät wird gerade von einer anderen Sitzung genutzt. |
device-connection-loop | warning | An einem bestimmten Port wurde eine sich wiederholende Verbindungs- und Trennungsschleife festgestellt. |
Sicherheitsvorfall
| Bezeichnung | Stufe | Auslösezeitpunkt |
|---|---|---|
device-safety-triggered | Je nach Situation | Sicherheitshinweis zur Firmware (siehe unten) |
device-calibration-failed | warning | Die Inkwell-Kalibrierung wurde ausgelöst, aber der Stift ist nicht verfügbar. |
device-safety-triggered Untertyp
In den Ereignisdaten safety_type Das Feld gibt an, was passiert ist:
safety_type | Stufe | Bedeutung |
|---|---|---|
ebrake_triggered | error | Die Notbremse wurde ausgelöst – das Gerät ist gesperrt |
ebrake_released | notice | Die Notbremsung wurde aufgehoben |
fod_stage_changed | warning / info | Die FOD-Sicherheitsstufe überschreitet die Grenze zwischen geringem und hohem Risiko |
stall_detected | warning | Motorblockade erkannt |
stability_ceiling | warning | Die Obergrenze der Stabilität wurde erreicht |
device-calibration-failed Ursache
reason | Bedeutung |
|---|---|
pen_not_connected | Es besteht überhaupt keine Verbindung zu „Verse Grip“ |
pen_asleep | Der kabellose Verse Grip ist gekoppelt, befindet sich jedoch im Ruhemodus |
pen_not_attached | Der Versegriff ist bereit, aber der Hall-Sensor liegt unter dem Schwellenwert. |
Sitzungsereignisse
| Bezeichnung | Stufe | Auslösezeitpunkt |
|---|---|---|
session-started | notice | Eine WebSocket-Sitzung wurde erstellt |
session-stopped | notice | Eine WebSocket-Sitzung wurde beendet |
device-low-control-rate | warning | Die Steuerungsrate der Sitzung ist unter den empfohlenen Schwellenwert gesunken |
device-critical-control-rate | error | Die Regelrate ist auf ein kritisches Niveau gesunken |
Systemereignisse
| Bezeichnung | Stufe | Auslösezeitpunkt |
|---|---|---|
system-rate-report | info | Regelmäßige Berichte über die Herzfrequenz |
Ereignisse abhören
In diesem Tutorial zu Ereignissenfinden Sie ein direkt ausführbares Python-Beispiel für einen Listener, das Methoden zum Filtern nach Ebene, Namensmuster und Ausschlüssen enthält:
# 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*"