まだ OpenClaw をインストールしていませんか?
パソコンへの影響が心配?ClawTank なら60秒でクラウドデプロイ、ファイルへのリスクゼロ。
MQTT はほとんどのスマートホームと IoT セットアップの基盤プロトコルです。軽量で信頼性が高く、Raspberry Pi から産業用センサーまであらゆるもので動作します。OpenClaw を MQTT ブローカーに接続することで、会話型 AI エージェントを家中のすべての接続デバイスの自然言語コントローラーに変えられます。
MQTT の仕組み(30秒バージョン)
MQTT はパブリッシュ/サブスクライブモデルに従います[1]:
- ブローカー — 中央メッセージサーバー(Mosquitto など)
- トピック — 階層的なチャンネル(例:
home/living-room/light/state)
- パブリッシュ — トピックにメッセージを送信
- サブスクライブ — トピックのメッセージをリッスン
デバイスは状態をパブリッシュし、コマンドトピックをサブスクライブします。OpenClaw は状態更新をサブスクライブし、コマンドをパブリッシュします — リスナーとコントローラーの両方として機能します。
MQTT ブローカーのセットアップ
Mosquitto のインストール
Mosquitto は最も広く使用されているオープンソース MQTT ブローカーです[2]。
Ubuntu/Debian の場合:
sudo apt install mosquitto mosquitto-clients
sudo systemctl enable mosquitto
sudo systemctl start mosquitto
Docker の場合:
services:
mosquitto:
image: eclipse-mosquitto:2
ports:
- "1883:1883"
volumes:
- ./mosquitto/config:/mosquitto/config
- mosquitto_data:/mosquitto/data
restart: unless-stopped
volumes:
mosquitto_data:
認証の設定
ローカルネットワークでも、認証なしで MQTT ブローカーを実行しないでください:
# パスワードファイルの作成
mosquitto_passwd -c /mosquitto/config/passwordfile openclaw
# mosquitto.conf
listener 1883
allow_anonymous false
password_file /mosquitto/config/passwordfile
設定変更後に Mosquitto を再起動してください。
OpenClaw を MQTT に接続する
MQTT スキルをインストールし、ブローカー接続を設定します:
openclaw plugins install mqtt-control
openclaw config set mqtt.broker "mqtt://localhost:1883"
openclaw config set mqtt.username "openclaw"
openclaw config set mqtt.password "your-secure-password"
適用のため OpenClaw を再起動:
openclaw restart
接続の確認
openclaw mqtt status
ブローカーの接続状態、サブスクライブしているトピック、最近のメッセージが表示されるはずです。
デバイスのトピックマッピング
ほとんどのスマートデバイスは共通のトピック構造に従います。OpenClaw にデバイスを教えて、自然言語コマンドを解釈できるようにします:
openclaw memory add "My MQTT device map:
- Living room light: topic home/living-room/light, payloads ON/OFF
- Bedroom light: topic home/bedroom/light, payloads ON/OFF
- Thermostat: topic home/thermostat/set, payload is temperature number
- Front door lock: topic home/front-door/lock, payloads LOCK/UNLOCK
- Motion sensor (living room): topic home/living-room/motion, reports DETECTED/CLEAR"
これで OpenClaw は「リビングの照明を消して」が MQTT レベルで何を意味するか理解します:home/living-room/light に OFF をパブリッシュします。
自動化の例
基本的なデバイス制御
デバイスがマッピングされると、自然言語がすぐに機能します:
「すべての照明を消して」
「サーモスタットを21度に設定して」
「玄関のドアをロックして」
「リビングのモーションセンサーに何か反応はある?」
条件付き自動化
OpenClaw の推論能力は単純なオン/オフを超えます:
「寝室の温度が26度を超えたら、エアコンをつけてメッセージを送って」
OpenClaw は温度トピックをサブスクライブし、閾値を超えた時にアクションを実行します。
「午後11時以降にモーションセンサーが動きを検知したら、廊下のライトを明るさ30%で2分間つけてから消して」
シーン管理
「'映画ナイト'シーンを作成:リビングのライト15%、テレビをつける(トピック home/tv/power ON)、サーモスタットを22度に設定」
後で:
「映画ナイトを起動して」
OpenClaw はシーンの定義を記憶し、関連するすべてのトピックにパブリッシュします。
エネルギー監視
スマートプラグが MQTT 経由で消費電力をレポートする場合:
「今日のオフィスプラグのエネルギー使用量を追跡して。一日の終わりに合計 kWh を教えて」
OpenClaw は電力トピックをサブスクライブし、読み取り値を蓄積し、サマリーをレポートします。
Home Assistant と MQTT の連携
Home Assistant と OpenClaw は同じ MQTT ブローカーを共有でき、強力な組み合わせが生まれます[3]。
アーキテクチャ
Devices → MQTT Broker ← Home Assistant (automations, dashboards)
← OpenClaw (natural language control)
Home Assistant と OpenClaw の両方が Mosquitto に接続します。Home Assistant がデバイス検出と複雑な自動化を処理します。OpenClaw は自然言語インターフェースを提供します。
セットアップ
- Home Assistant で MQTT 連携を有効にし、Mosquitto ブローカーを指定します。
- OpenClaw を同じブローカーに接続するよう設定します。
- Home Assistant の MQTT 自動検出が、OpenClaw が読み取れるデバイスメタデータをパブリッシュします。
補完的な役割
| タスク |
Home Assistant |
OpenClaw |
| デバイス検出 |
自動(Zigbee2MQTT、Z-Wave) |
手動のトピックマッピング |
| ダッシュボード |
グラフ付き Web UI |
Telegram の会話 |
| 簡単な自動化 |
YAML またはビジュアルエディタ |
自然言語 |
| 複雑なロジック |
スクリプトなしでは限定的 |
強力(AI 推論) |
| リモート制御 |
アプリまたは Web |
どこからでも Telegram |
デバイス管理とダッシュボードには Home Assistant を使用してください。Telegram 経由のインテリジェントでコンテキスト対応の制御には OpenClaw を使用してください。
例:OpenClaw + Home Assistant
Home Assistant が窓センサーの開放を検出します(Zigbee2MQTT 経由)。OpenClaw はそのトピックをサブスクライブしています:
OpenClaw:「寝室の窓が開いたよ。天気予報では2時間後に雨が降る予定。閉めるリマインダーを設定する?」
センサーデータ、天気予報、個人のスケジュールを組み合わせるこのコンテキスト認識は、Home Assistant のルールベースの自動化を超えて OpenClaw が価値を付加する部分です。
セキュリティの考慮事項
MQTT トラフィックの暗号化
MQTT 接続には TLS を使用してください。特にブローカーがローカルネットワークの外からアクセス可能な場合:
# mosquitto.conf
listener 8883
certfile /certs/server.crt
keyfile /certs/server.key
cafile /certs/ca.crt
OpenClaw をセキュアポートを使用するよう更新:
openclaw config set mqtt.broker "mqtts://your-broker:8883"
トピックアクセスの制限
Mosquitto の ACL(アクセスコントロールリスト)を使用して、OpenClaw がパブリッシュできるトピックを制限します:
# acl_file
user openclaw
topic readwrite home/#
topic deny home/security/#
これにより、OpenClaw が誤ってセキュリティシステムを無効にすることを防ぎます。
IoT ネットワークの分離
可能であれば、IoT デバイスを別の VLAN で実行してください。MQTT ブローカーがネットワーク間を橋渡しします。デバイスはメインネットワークに直接アクセスできず、メインネットワークは MQTT を通じてのみデバイスと通信します。
監査ログ
OpenClaw が送信するすべてのコマンドを追跡するために Mosquitto のログを有効にします:
# mosquitto.conf
log_type all
log_dest file /mosquitto/log/mosquitto.log
OpenClaw が期待されるコマンドのみを送信していることを定期的にログを確認してください。
信頼性の低いデバイスへの対処
IoT デバイスは切断、遅延、時々の不具合が起こります。いくつかのヒント:
- MQTT QoS を1に設定(少なくとも1回配信)— ロックやアラームなどの重要なコマンドに。
- 保持メッセージを使用 — デバイスが一時的にオフラインでも、OpenClaw が最後の既知の状態を知れるように。
- タイムアウトを追加 — OpenClaw に「デバイスが10秒以内に確認しない場合、オフラインかもしれないと知らせて」と伝えます。
- ヘルスチェック — 「毎朝、すべてのデバイスが過去24時間以内に応答したか確認して。オフラインに見えるものを報告して。」
はじめに
セルフホスト
- サーバーに Mosquitto をインストール
- OpenClaw に MQTT スキルをインストール
- 認証とデバイストピックを設定
- Telegram 経由でデバイスを制御開始
マネージド
ClawTank では、OpenClaw インスタンスは VPN や Cloudflare Tunnel 経由でホームネットワーク上のものを含む、任意の外部 MQTT ブローカーに接続できます。マネージド OpenClaw ホスティングの利便性と、ローカル IoT ネットワークの完全なコントロールが両立できます。
MQTT のデバイス相互運用性と OpenClaw の自然言語推論の組み合わせにより、あなたが文字通り言ったことだけでなく、本当に意味していることを理解するスマートホームコントローラーが生まれます。
参考文献
- MQTT.org — MQTT Protocol Specification
- Eclipse Mosquitto — Official Documentation
- Home Assistant — MQTT Integration
- Zigbee2MQTT — Bridging Zigbee Devices to MQTT
- OpenClaw Skills Directory — mqtt-control
OpenClaw をデプロイしませんか?
Docker・SSH・DevOps 不要。1分以内でセットアップ。
無料トライアルを始める