MQTT
mqtt チャネルは MQTT ブローカー上のトピックを購読し、各メッセージをエージェントループまたは SOP エンジンに送り込みます。これは channel-mqtt ビルド機能によって制御されます。
これは SOP イベントソースです。 トリガー構文とトピックマッチングについては、SOP Fan-In: MQTT を参照してください。このページではブローカー接続について説明します。
設定
ライブスキーマから派生した完全なフィールド一覧です。基本的なサブスクライバーの場合は broker_url と topics を設定します。
broker_url*
MQTTブローカーのURL(例: mqtt://localhost:1883 または mqtts://broker.example.com:8883)。平文接続には mqtt:// を、TLSには mqtts:// を使用します。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/mqtt を開き、channels.mqtt.<alias>.broker_url フィールドを設定します。
zerocode
Config ペインで、channels.mqtt.<alias>.broker_url フィールドを設定します。
zeroclaw config
zeroclaw config set channels.mqtt.<alias>.broker_url <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__mqtt__<alias>__broker_url=
client_id*
MQTT クライアント ID(ブローカーごとに一意である必要があります)。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/mqtt を開き、channels.mqtt.<alias>.client_id フィールドを設定します。
zerocode
設定 ペインで、channels.mqtt.<alias>.client_id フィールドを設定します。
zeroclaw config
zeroclaw config set channels.mqtt.<alias>.client_id <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__mqtt__<alias>__client_id=
excluded_tools
このチャネルのツール仕様から除外されるツールです。設定すると、これらのツールはこのチャネル経由で応答する際にモデルに公開されません。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/mqtt を開き、channels.mqtt.<alias>.excluded_tools フィールドを設定します。
zerocode
Config ペインで、channels.mqtt.<alias>.excluded_tools フィールドを設定します。
zeroclaw config
zeroclaw config set channels.mqtt.<alias>.excluded_tools <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__mqtt__<alias>__excluded_tools=
keep_alive_secs
キープアライブ間隔(秒)(デフォルト: 30)。アイドル時のブローカー切断を防ぎます。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/mqtt を開き、channels.mqtt.<alias>.keep_alive_secs フィールドを設定します。
zerocode
Config ペインで、channels.mqtt.<alias>.keep_alive_secs フィールドを設定します。
zeroclaw config
zeroclaw config set channels.mqtt.<alias>.keep_alive_secs <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__mqtt__<alias>__keep_alive_secs=
password 🔑
認証用パスワード(オプション)。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/mqtt を開き、channels.mqtt.<alias>.password フィールドを設定します。
zerocode
Config ペインで、channels.mqtt.<alias>.password フィールドを設定します。
zeroclaw config
zeroclaw config set channels.mqtt.<alias>.password # マスクされた入力、暗号化して保存
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__mqtt__<alias>__password=
qos
MQTT QoS レベル (0 = 最大1回、1 = 少なくとも1回、2 = 正確に1回)。デフォルト: 1.
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/mqtt を開き、channels.mqtt.<alias>.qos フィールドを設定します。
zerocode
Config ペインで、channels.mqtt.<alias>.qos フィールドを設定します。
zeroclaw config
zeroclaw config set channels.mqtt.<alias>.qos <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__mqtt__<alias>__qos=
topics
購読するトピック(例: sensors/#、alerts/+/critical)。少なくとも1つのトピックが必要です。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/mqtt を開き、channels.mqtt.<alias>.topics フィールドを設定します。
zerocode
Config ペインで、channels.mqtt.<alias>.topics フィールドを設定します。
zeroclaw config
zeroclaw config set channels.mqtt.<alias>.topics <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__mqtt__<alias>__topics=
use_tls
TLS 暗号化を有効にします。broker_url のスキームと一致させる必要があります: - mqtt:// → use_tls: false - mqtts:// → use_tls: true
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/mqtt を開き、channels.mqtt.<alias>.use_tls フィールドを設定します。
zerocode
Config ペインで、channels.mqtt.<alias>.use_tls フィールドを設定します。
zeroclaw config
zeroclaw config set channels.mqtt.<alias>.use_tls <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__mqtt__<alias>__use_tls=
username
認証用のユーザー名 (省略可能)。
任意のサーフェスに設定する場合:
ゲートウェイダッシュボード
/config/channels/mqtt を開き、channels.mqtt.<alias>.username フィールドを設定します。
zerocode
Config ペインで、channels.mqtt.<alias>.username フィールドを設定します。
zeroclaw config
zeroclaw config set channels.mqtt.<alias>.username <value>
環境変数
オーバーライドをエクスポートします(POSIXシェル用。~/.bashrc、~/.zshrc、.env、またはDockerfileに記述します)。<alias>を実際のエイリアスに置き換えてください。
export ZEROCLAW_channels__mqtt__<alias>__username=
完全なフィールドリファレンス: config reference。
TLS
broker_url のスキームに合わせて use_tls を設定してください。mqtts:// は use_tls = true、mqtt:// は use_tls = false と対応します。この不一致が接続失敗の最も一般的な原因です。
トラブルシューティング
| 症状 | 考えられる原因 | 修正 |
|---|---|---|
| 起動時の接続エラー | ブローカー URL と TLS フラグが一致しません | スキームを use_tls とペアにする(mqtt:// は false、mqtts:// は true) |
| サブスクライブ済みですがメッセージがありません | トピックフィルターが公開されたトピックと一致しません | パブリッシャーが出力する内容に対して topics とワイルドカードを検証する |
| SOPが開始しない | トピックの不一致または condition の失敗 | トリガー のトピックと条件をペイロードと照合する |
関連項目も参照してください
- SOP Fan-In: MQTT: トリガー構文とトピックマッチング
- AMQP
- チャンネルの概要