イベントとモニタリング
本サービスは、ポート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グリップの準備は整っているが、ホールセンサーの値がしきい値を下回っている |
セッションイベント
| 名前 | レベル | 発生条件 |
|---|---|---|
session-started | notice | WebSocketセッションが作成されました |
session-stopped | notice | WebSocketセッションが切断されました |
device-low-control-rate | warning | セッションの制御レートが推奨しきい値を下回った |
device-critical-control-rate | error | 制御レートが危険なレベルまで低下した |
システムイベント
| 名前 | レベル | 発生条件 |
|---|---|---|
system-rate-report | info | メインループのティックレートを定期的に報告する |
イベントの受信
実行可能な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*"