メインコンテンツへスキップ

イベントとモニタリング

本サービスは、ポート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-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グリップはペアリング済みですが、スリープモードになっています
pen_not_attachedVerseグリップの準備は整っているが、ホールセンサーの値がしきい値を下回っている

セッションイベント​

名前レベル発生条件
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*"