メインコンテンツまでスキップ

イベントとモニタリング

サービスは、専用の読み取り専用のWebSocketをポート 10020 で使用して、システムイベントをプッシュします。イベントは、安全機能のトリガー、デバイスの接続、バッテリーの警告、セッションのライフサイクルの変更、制御レートの異常を通知します。

デフォルトの 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"
}
フィールド型説明
namestring安定したイベント識別子(フィルタリングや切り替えに使用)
categorystringdevice, session, system
levelstringinfo, notice, warning, error, critical, panic
dataobjectイベント固有のペイロード
messagestring人が読める形式の説明

イベントの種類​

デバイスイベント​

名前レベル発生条件
device-connectedinfo新しいデバイスが検出され、使用可能になったとき
device-disconnectedwarningデバイスが検出できなくなったとき(取り外し、またはタイムアウト)
device-battery-lowwarningワイヤレスVerseGripのバッテリーがしきい値を下回ったとき
device-battery-criticalerrorワイヤレスVerseGripのバッテリーが危険なレベルまで低下したとき
device-sleepinfoワイヤレスVerseGripがスリープモードに入ったとき
device-busywarningデバイスが別のセッションで使用中のとき
device-connection-loopwarningポートで接続と切断の繰り返しが検出されたとき

安全イベント​

名前レベル発生条件
device-safety-triggered可変ファームウェアからの安全通知(下記を参照)
device-calibration-failedwarningInkwellのキャリブレーションが開始されたが、ペンが使用できないとき

device-safety-triggered のサブタイプ​

イベントデータの safety_type フィールドで、発生した内容を示します:

safety_typeレベル意味
ebrake_triggerederror緊急ブレーキが作動 — デバイスがロックされた状態
ebrake_releasednotice緊急ブレーキが解除された
fod_stage_changedwarning / infoFODの安全ステージが低リスクと高リスクの境界を超えた
stall_detectedwarningモーターのストールを検出
stability_ceilingwarning安定性の上限に到達

device-calibration-failed の理由​

reason意味
pen_not_connectedVerse gripが一切接続されていない
pen_asleepワイヤレスのVerse gripはペアリング済みだが、スリープモードになっている
pen_not_attachedVerse gripは準備完了しているが、ホールセンサーの値がしきい値を下回っている

セッションイベント​

名前レベル発生条件
session-startednoticeWebSocketセッションが作成された
session-stoppednoticeWebSocketセッションが破棄された
device-low-control-ratewarningセッションの制御レートが推奨しきい値を下回った
device-critical-control-rateerror制御レートが危険なレベルまで低下した

システムイベント​

名前レベル発生条件
system-rate-reportinfoメインループのティックレートを定期的に報告

イベントの受信​

実行可能な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*"