活动与监测
该服务使用端口10020上的专用只读 WebSocket来推送系统事件。这些事件用于通知安全功能的触发、设备连接、电池警告、会话生命周期变化以及控制速率异常等情况。
默认 URL: ws://localhost:10020
事件的JSON格式
{
"name": "device-safety-triggered",
"category": "device",
"level": "warning",
"data": { "device_family": "inverse", "device_id": "049D", … },
"message": "FOD stage changed: guard -> hard"
}
| 字段 | 型 | 说明 |
|---|---|---|
name | 字符串 | 稳定的事件标识符(用于过滤和切换) |
category | 字符串 | device, session, system |
level | 字符串 | info, notice, warning, error, critical, panic |
data | 反对 | 事件特有的有效载荷 |
message | 字符串 | 关于“人可读格式”的说明 |
活动类型
设备事件
| 姓名 | 级别 | 触发条件 |
|---|---|---|
device-connected | info | 当检测到新设备且该设备已可使用时 |
device-disconnected | warning | 当无法检测到设备时(已拔出或超时) |
device-battery-low | warning | 当无线VerseGrip的电量低于阈值时 |
device-battery-critical | error | 当无线VerseGrip的电量降至危险水平时 |
device-sleep | info | 当无线VerseGrip进入睡眠模式时 |
device-busy | warning | 当设备正在另一个会话中使用时 |
device-connection-loop | warning | 当检测到端口上反复建立和断开连接时 |
安全事件
| 姓名 | 级别 | 触发条件 |
|---|---|---|
device-safety-triggered | 可变 | 固件安全通知(参见下文) |
device-calibration-failed | warning | 当Inkwell开始校准但无法使用笔时 |
device-safety-triggered 的子类型
活动数据的 safety_type 显示字段中发生的情况:
safety_type | 级别 | 含义 |
|---|---|---|
ebrake_triggered | error | 紧急制动启动 — 设备处于锁定状态 |
ebrake_released | notice | 紧急制动已解除 |
fod_stage_changed | warning / info | FOD的安全等级已超过低风险与高风险的分界线 |
stall_detected | warning | 检测电机失速 |
stability_ceiling | warning | 达到稳定性的上限 |
device-calibration-failed 的原因
reason | 含义 |
|---|---|
pen_not_connected | Verse grip 完全未连接 |
pen_asleep | 无线Verse握把已配对,但处于睡眠模式 |
pen_not_attached | Verse grip 已准备就绪,但霍尔传感器的读数低于阈值 |
会议活动
| 姓名 | 级别 | 触发条件 |
|---|---|---|
session-started | notice | 已创建 WebSocket 会话 |
session-stopped | notice | WebSocket会话已被终止 |
device-low-control-rate | warning | 会话的控制速率低于建议阈值 |
device-critical-control-rate | error | 控制率已降至危险水平 |
系统事件
| 姓名 | 级别 | 触发条件 |
|---|---|---|
system-rate-report | info | 定期报告主循环的 tick 率 |
接收事件
有关可执行的 Python 监听器的示例,请参阅处理按级别、名称模式和排除条件进行筛选的事件的教程:
# 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*"