Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

SOP ファンイン: MQTT

MQTT メッセージは SOP の実行を開始できます。MQTT リスナーはブローカーにサブスクライブし、メッセージごとに SOP イベントを構築してエンジンにディスパッチします。このパスは channel-mqtt ビルドフィーチャーによってゲートされます。

トランスポート側(ブローカーURL、認証情報、TLS、QoS)はMQTT channelで設定します。このページではトリガーについて説明します。

トリガー

MQTTメッセージの到着。ライブ: MQTTリスナーによって配信されます。

フィールドdefault意味
conditionstring?nullメッセージペイロードに対して評価されるオプションの式。実行
topic*stringトピックフィルター。+ は 1 階層に一致し、# は残りの階層に一致します。

SOP を読み込んで検証する:

定義

Syntax で説明されているように、mqtt トリガーを付けて SOP を記述します。上記のトリガーフィールドはサポートされているキーです。ページはファイル全体を辿ります。

検証

zeroclaw sop validate

検査

zeroclaw sop list
zeroclaw sop show <name>

マッチング

トピックパターンは +(単一レベル)と #(複数レベル)のワイルドカードをサポートします。MQTT ペイロードは SOP イベントペイロードに転送され、オプションのトリガー condition で利用できます。ステップコンテキストには、上限が設定され、サニタイズされ、フレーム化された形式が渡されます。$.value > 85 のような JSON パスの condition を使用するには、パブリッシャーが JSON 本文を送信する必要があります。

実行する

SOPを読み込みMQTTチャネルを購読した状態で、トリガーパターンに一致するトピックへメッセージを発行します(例えば mosquitto_pub や任意のブローカークライアントを使用)。リスナーはトピックとペイロードからイベントを構築してディスパッチします。読み込まれたSOPのうち、topic パターンが一致し、かつ(存在する場合)condition がペイロードに対して成立するものごとに実行が開始されます。

何も開始されない場合は、トピックがトリガーパターンと一致していること、ブローカーのサブスクリプションがライブであること、および condition がペイロードと一致していることを確認してください。fan-in の概要のトラブルシューティング表 を参照してください。

承認して観察する

チェックポイントに到達した実行は WaitingApproval として一時停止します。CLI(zeroclaw sop listzeroclaw sop approve)またはゲートウェイAPIの承認エンドポイント(GET /admin/sop/pendingPOST /admin/sop/approvePOST /admin/sop/deny)を介した帯域外操作で、これらをクリアまたは確認できます。

関連項目も参照してください