Événements et surveillance
Le service transmet les événements système via un WebSocket dédié en lecture seule sur le port 10020. Ces événements signalent les déclencheurs de sécurité, les connexions d'appareils, les alertes de batterie, les modifications du cycle de vie des sessions et les anomalies au niveau de la fréquence de régulation.
URL standard : ws://localhost:10020
Structure des événements JSON
{
"name": "device-safety-triggered",
"category": "device",
"level": "warning",
"data": { "device_family": "inverse", "device_id": "049D", … },
"message": "FOD stage changed: guard -> hard"
}
| Feld | Type | Description |
|---|---|---|
name | chaîne de caractères | Identificateur d'événement stable (à utiliser pour le filtrage ou la commutation) |
category | chaîne de caractères | device, session, system |
level | chaîne de caractères | info, notice, warning, error, critical, panic |
data | objet | Charge utile spécifique à l'événement |
message | chaîne de caractères | Description lisible |
Types d'événements
Événements liés aux appareils
| Nom | Niveau | Quand |
|---|---|---|
device-connected | info | Un nouvel appareil a été détecté et est prêt à fonctionner |
device-disconnected | warning | Un appareil a été perdu (déconnecté ou délai dépassé) |
device-battery-low | warning | Le niveau de batterie du VerseGrip sans fil est inférieur au seuil |
device-battery-critical | error | Le niveau de batterie du VerseGrip sans fil est extrêmement bas |
device-sleep | info | VerseGrip (sans fil) est passé en mode veille |
device-busy | warning | L'appareil est utilisé par une autre session |
device-connection-loop | warning | Détection de cycles répétés de connexion et de déconnexion sur un port |
Événements liés à la sécurité
| Nom | Niveau | Quand |
|---|---|---|
device-safety-triggered | varie | Avis de sécurité concernant le micrologiciel (voir ci-dessous) |
device-calibration-failed | warning | Le calibrage de l'Inkwell a été lancé, mais le stylet n'est pas utilisable |
Sous-types de device-safety-triggered
Le champ safety_type Dans les données relatives à l'événement, on précise ce qui s'est passé :
safety_type | Niveau | Signification |
|---|---|---|
ebrake_triggered | error | Frein d'urgence déclenché — Appareil verrouillé |
ebrake_released | notice | Frein de stationnement desserré |
fod_stage_changed | warning / info | Le niveau de sécurité FOD a franchi la limite entre le risque faible et le risque élevé |
stall_detected | warning | Blocage moteur détecté |
stability_ceiling | warning | Plafond de stabilité atteint |
Raisons pour lesquelles device-calibration-failed
reason | Signification |
|---|---|
pen_not_connected | Aucun Verse Grip n'est connecté |
pen_asleep | Le Verse Grip sans fil est connecté, mais il est en mode veille. |
pen_not_attached | Le Verse Grip est opérationnel, mais la valeur mesurée par le capteur à effet Hall est inférieure au seuil. |
Événements de session
| Nom | Niveau | Quand |
|---|---|---|
session-started | notice | Une session WebSocket a été créée |
session-stopped | notice | Une session WebSocket a été interrompue |
device-low-control-rate | warning | Le taux d'activité de la session est passé en dessous du seuil recommandé |
device-critical-control-rate | error | Le taux d'imposition a chuté à un niveau critique |
Événements système
| Nom | Niveau | Quand |
|---|---|---|
system-rate-report | info | Rapport périodique sur la fréquence d'horloge de la boucle principale |
Écouter les événements
Utilisez le tutoriel sur les événements pour créer un écouteur Python prêt à l'emploi, avec filtrage par niveau, modèles de noms et exclusions :
# 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*"