Événements et suivi
Le service utiliseun WebSocket dédié en lecture seulesur le port 10020 pour diffuser des événements système. Ces événements signalent le déclenchement de fonctions de sécurité, la connexion d'appareils, les alertes de batterie, les changements dans le cycle de vie des sessions et les anomalies au niveau du débit de contrôle.
URL par défaut : ws://localhost:10020
Format JSON des événements
{
"name": "device-safety-triggered",
"category": "device",
"level": "warning",
"data": { "device_family": "inverse", "device_id": "049D", … },
"message": "FOD stage changed: guard -> hard"
}
| Champ | Type | Explication |
|---|---|---|
name | chaîne de caractères | Identificateurs d'événements stables (utilisés pour le filtrage et 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 | Explication du format lisible par l'utilisateur |
Types d'événements
Événements liés aux périphériques
| Nom | Niveau | Conditions de survenue |
|---|---|---|
device-connected | info | Lorsqu'un nouvel appareil est détecté et devient disponible |
device-disconnected | warning | Lorsque l'appareil n'est plus détecté (en cas de déconnexion ou de délai d'expiration) |
device-battery-low | warning | Lorsque la charge de la batterie du VerseGrip sans fil passe en dessous du seuil défini |
device-battery-critical | error | Lorsque la batterie du VerseGrip sans fil atteint un niveau critique |
device-sleep | info | Lorsque le VerseGrip sans fil passe en mode veille |
device-busy | warning | Lorsque l'appareil est utilisé dans une autre session |
device-connection-loop | warning | Lorsqu'une succession de connexions et de déconnexions est détectée sur un port |
Événements liés à la sécurité
| Nom | Niveau | Conditions de survenue |
|---|---|---|
device-safety-triggered | variable | Avis de sécurité concernant le micrologiciel (voir ci-dessous) |
device-calibration-failed | warning | Lorsque la calibration d'Inkwell a commencé, mais que le stylo ne fonctionne pas |
device-safety-triggered sous-type de
Données relatives aux événements safety_type Ce champ indique ce qui s'est produit :
safety_type | Niveau | Signification |
|---|---|---|
ebrake_triggered | error | Le freinage d'urgence s'est déclenché — L'appareil est verrouillé |
ebrake_released | notice | Le freinage d'urgence a été désactivé |
fod_stage_changed | warning / info | Le niveau de sécurité FOD a dépassé la limite entre le risque faible et le risque élevé |
stall_detected | warning | Détection du calage du moteur |
stability_ceiling | warning | Atteindre la limite supérieure de stabilité |
device-calibration-failed la raison
reason | Signification |
|---|---|
pen_not_connected | Aucun « Verse grip » n'est connecté |
pen_asleep | La poignée Verse sans fil est déjà appairée, mais elle est en mode veille. |
pen_not_attached | Le système « Verse Grip » est prêt, mais la valeur du capteur de trou est inférieure au seuil défini. |
Événements de session
| Nom | Niveau | Conditions de survenue |
|---|---|---|
session-started | notice | Une session WebSocket a été créée |
session-stopped | notice | La session WebSocket a été interrompue |
device-low-control-rate | warning | Le taux de contrôle de la session est passé en dessous du seuil recommandé |
device-critical-control-rate | error | Le taux de contrôle a chuté à un niveau dangereux |
Événements système
| Nom | Niveau | Conditions de survenue |
|---|---|---|
system-rate-report | info | Signaler régulièrement la fréquence d'échantillonnage de la boucle principale |
Réception d'événements
Pour découvrir un exemple de listener Python fonctionnel, consultezle tutoriel consacré aux événementspermettant de filtrer en fonction du niveau, d'un modèle de nom et d'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*"