É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éclenchements de sécurité, les connexions des appareils, les alertes de batterie, les changements dans le cycle de vie des sessions et les anomalies au niveau de la fréquence de commande.
URL par défaut : ws://localhost:10020
Structure JSON de l'événement
{
"name": "device-safety-triggered",
"category": "device",
"level": "warning",
"data": { "device_family": "inverse", "device_id": "049D", … },
"message": "FOD stage changed: guard -> hard"
}
| Champ d'application | Type | Description |
|---|---|---|
name | chaîne de caractères | Identifiant d'événement stable (à utiliser pour le filtrage / 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 à un événement |
message | chaîne de caractères | Description lisible par l'utilisateur |
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 à l'emploi |
device-disconnected | warning | Un appareil a été perdu (débranché ou mis hors tension) |
device-battery-low | warning | Batterie du VerseGrip sans fil en dessous du seuil |
device-battery-critical | error | La batterie est presque à plat |
device-sleep | info | Le VerseGrip sans fil est passé en mode veille |
device-busy | warning | Le périphérique est utilisé par une autre session |
device-connection-loop | warning | Détection de cycles répétés de connexion/déconnexion sur un port |
Incidents 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'encrier a été lancé, mais le stylo ne fonctionne pas |
device-safety-triggered sous-types
Les safety_type Le champ dans les données de l'événement indique ce qui s'est passé :
safety_type | Niveau | Signification |
|---|---|---|
ebrake_triggered | error | Frein d'urgence enclenché — dispositif verrouillé |
ebrake_released | notice | Frein de secours desserré |
fod_stage_changed | warning / info | La phase de sécurité relative aux corps étrangers a franchi la limite entre le risque faible et le risque élevé |
stall_detected | warning | Détection d'un calage du moteur |
stability_ceiling | warning | Le plafond de stabilité a été atteint |
device-calibration-failed raisons
reason | Signification |
|---|---|
pen_not_connected | Aucun support de vers n'est branché |
pen_asleep | La poignée Verse sans fil est appairée, mais en mode veille |
pen_not_attached | La prise de poignée est prête, mais le capteur à effet Hall est en dessous du 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 de contrôle de la session est tombé en dessous du seuil recommandé |
device-critical-control-rate | error | Le taux de contrôle a chuté à un niveau critique |
Événements système
| Nom | Niveau | Quand |
|---|---|---|
system-rate-report | info | Rapport périodique sur la fréquence de tick de la boucle principale |
Être à l'écoute des événements
Consultez le tutoriel « Events » pour obtenir un écouteur Python prêt à l'emploi permettant de filtrer par niveau, par modèles de nom et par 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*"