Incidents et surveillance
Le service diffuse les événements systèmevia un WebSocket dédié en lecture seule sur le port 10020. Ces événements concernent notamment les déclenchements de sécurité, les connexions d'appareils, les alertes de batterie, les changements dans le cycle de vie des sessions et les anomalies de 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 fixes (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 | Données de charge spécifiques à l'incident |
message | chaîne de caractères | Description lisible de l'événement |
Type d'incident
Événements liés aux équipements
| Nom | Niveau | Conditions de déclenchement |
|---|---|---|
device-connected | info | Un nouvel appareil a été détecté et est prêt à l'emploi |
device-disconnected | warning | Perte d'un périphérique (débranché ou délai d'attente dépassé) |
device-battery-low | warning | Le niveau de batterie du VerseGrip sans fil est inférieur au seuil défini |
device-battery-critical | error | Le VerseGrip sans fil est à court de batterie |
device-sleep | info | Le VerseGrip sans fil passe en mode veille |
device-busy | warning | Le périphérique est actuellement utilisé par une autre session. |
device-connection-loop | warning | Détection d'un cycle répété de connexion/déconnexion sur un port donné |
Incident de sécurité
| Nom | Niveau | Conditions de déclenchement |
|---|---|---|
device-safety-triggered | Cela dépend des circonstances | Avis de sécurité concernant le micrologiciel (voir ci-dessous) |
device-calibration-failed | warning | L'étalonnage d'Inkwell a été déclenché, mais le stylo n'est pas disponible |
device-safety-triggered sous-type
Dans les données relatives aux incidents, safety_type Les champs indiquent ce qui s'est passé :
safety_type | Niveau | Signification |
|---|---|---|
ebrake_triggered | error | Le freinage d'urgence s'est déclenché — l'équipement est bloqué |
ebrake_released | notice | Le freinage d'urgence a été désactivé |
fod_stage_changed | warning / info | La phase de sécurité FOD a franchi la frontière entre les risques faibles et les risques élevés |
stall_detected | warning | Blocage du moteur détecté |
stability_ceiling | warning | Le seuil de stabilité a été atteint |
device-calibration-failed Cause
reason | Signification |
|---|---|
pen_not_connected | Aucune connexion avec « verse grip » |
pen_asleep | Le Verse Grip sans fil est appairé mais se trouve en mode veille |
pen_not_attached | La prise en sens inverse est prête, mais la valeur du capteur à effet Hall est inférieure au seuil |
Événements de session
| Nom | Niveau | Conditions de déclenchement |
|---|---|---|
session-started | notice | Une session WebSocket a été créée |
session-stopped | notice | Une session WebSocket a été supprimée |
device-low-control-rate | warning | Le débit de contrôle de la session est descendu en dessous du seuil recommandé |
device-critical-control-rate | error | La vitesse de contrôle a chuté à un niveau critique |
Événements système
| Nom | Niveau | Conditions de déclenchement |
|---|---|---|
system-rate-report | info | Rapports périodiques sur la fréquence cardiaque principale |
Écouter les événements
Consultezle tutoriel sur les événementspour obtenir un exemple d'écouteur Python prêt à l'emploi, qui inclut des méthodes de filtrage par niveau, par modèle 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*"