iot-protocols について
iot-protocols は、Zigbee、Z-Wave、LoRaWAN、CoAP、Matter、Thread などで IoT デバイスを接続し、データを交換する OpenClaw スキルです。プロトコル設定や相互接続も扱います。
主な機能
- 01複数の IoT プロトコルでデバイス接続
- 02ペイロードの送受信
- 03ネットワーク設定
- 04プロトコル固有機能の利用
- 05プロトコル間のデバイス接続
活用シーン
- 01Zigbee スマートホームのメッシュ構築
- 02遠隔地の LoRaWAN センサー監視
- 03制約のあるデバイスの照会・制御
- 04Matter デバイスと Thread ネットワークの接続
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill iot-protocolsインストール後、Claude Code で/iot-protocolsを入力して読み込まれたか確認します。
詳細
iot-protocols
目的
このスキルは、Zigbee、Z-Wave、LoRaWAN、CoAP、Matter、Thread などの IoT プロトコルを操作するためのツールを提供し、IoT アプリケーションでのデバイス接続、データ交換、ネットワーク管理を可能にします。
使用する場面
スマートホーム向けの Zigbee など、低消費電力のメッシュネットワークが必要な IoT システムを構築する場合や、遠隔地のセンサー向け LoRaWAN など、長距離通信が必要な場合、または制約のあるデバイス向けの CoAP など、軽量なプロトコルが必要な場合にこのスキルを使用します。スマートホームの自動化、産業用 IoT のモニタリング、Matter を利用した相互運用可能なエコシステムなどのシナリオに適用します。
主な機能
- 特定のプロトコルを使用してデバイスに接続します。例:メッシュネットワークには Zigbee、IPv6 ベースの低消費電力無線通信には Thread を使用します。
- データペイロードを送受信します。例:CoAP 経由でセンサーデータを問い合わせたり、Z-Wave デバイスを制御したりします。
- ネットワーク設定を構成します。例:LoRaWAN ゲートウェイや Matter ファブリックブリッジをセットアップします。
- プロトコル固有の機能に対応します。例:デバイスのペアリングには Zigbee のバインディング、LoRaWAN には適応データレートを使用します。
- プロトコル間の相互運用を実現します。例:Matter デバイスを Thread ネットワークとブリッジ接続し、シームレスに統合します。
使用パターン
タスクを実行するには、まず環境変数 export IOT_API_KEY=your_api_key を設定して、必ず認証してください。openclaw iot init コマンドでセッションを初期化し、その後、プロトコル固有の操作にはサブコマンドを使用します。たとえば、デバイスに接続するにはプロトコルとデバイス ID を指定し、データ操作にはクエリフラグを使用します。スクリプトには必ずエラーチェックを含めてください。パターン:openclaw iot <subcommand> --protocol <protocol> --device-id <id>。複雑な設定には JSON 設定ファイルを使用します。たとえば、config.json という名前のファイルを作成し、{ "protocol": "zigbee", "networkKey": "hex_key" } を記述して、--config config.json で渡します。
よく使うコマンド/API
手早く操作するには OpenClaw CLI を、プログラムからアクセスするには REST API を使用します。認証には $IOT_API_KEY ヘッダーが必要です。
-
CLI コマンド:プロトコルを一覧表示
openclaw iot list --protocol zigbee
利用可能な Zigbee デバイスが出力されます。ネットワーク情報を詳しく表示するには--verboseを追加します。 -
CLI コマンド:デバイスに接続
openclaw iot connect --protocol lorawan --device-id 456 --region EU868
LoRaWAN 接続の確立に使用します。周波数帯域を指定するには region フラグを指定します。 -
API エンドポイント:CoAP 経由でデータを送信
POST /api/iot/send
本文:{ "protocol": "coap", "endpoint": "/sensors/temp", "payload": "{\"temp\": 25}" }
ヘッダーを含めます:Authorization: Bearer $IOT_API_KEY -
API エンドポイント:Z-Wave のステータスを問い合わせ
GET /api/iot/status?protocol=z-wave&device-id=789
{ "status": "online", "nodes": 5 }のような JSON オブジェクトが返されます。コード内で簡単な fetch を使って処理します:
fetch('/api/iot/status', { headers: { 'Authorization': process.env.IOT_API_KEY } }) .then(response => response.json()) -
設定形式:Matter の統合には YAML ファイルを使用
matter-config.yaml: protocol: matter, fabricId: 12345, nodeId: 678
openclaw iot load-config --file matter-config.yamlで読み込みます。
統合に関する注意
ワークフローで iot クラスターを参照して、このスキルを他の OpenClaw ツールと統合します。外部システムでは $IOT_API_KEY をエクスポートし、API 呼び出しに使用します。データベースのスキルと組み合わせるには、出力をパイプで渡します。例:openclaw iot get --protocol coap | openclaw db insert。Thread と統合する場合は、ネットワークスタックが IPv6 に対応していることを確認してください。例:Node.js アプリで OpenClaw SDK をインポートして呼び出します:
const openclaw = require('openclaw-sdk'); openclaw.iot.connect({ protocol: 'thread', deviceId: '101' });
入力は必ず検証してください。Zigbee の場合は、接続前にメッシュトポロジーを確認します。
エラー処理
CLI の終了コードまたは API のレスポンスステータスを確認して、エラーを処理します。一般的なエラーには、認証失敗(HTTP 401)やプロトコルの不一致(無効な Zigbee ネットワークキーなど)があります。コードでは try-catch を使用します。
try { await openclaw.iot.connect({ protocol: 'z-wave', deviceId: '202' }); } catch (error) { console.error(error.message); // e.g., "Device not found" }
CLI では出力を解析します。openclaw iot connect がゼロ以外の値を返した場合は、stderr で「Protocol not supported」のようなメッセージを確認してください。一時的なエラー(LoRaWAN の信号損失など)は、指数バックオフで再試行します。
具体的な使用例
-
Zigbee メッシュネットワークをセットアップする: まず、キーをエクスポートします。
export IOT_API_KEY=abc123。次に、初期化します。openclaw iot init --protocol zigbee。デバイスを接続します。openclaw iot connect --protocol zigbee --device-id 303 --pan-id 0x1a62。ライトを切り替えるコマンドを送信します。openclaw iot send --protocol zigbee --endpoint /lights/1 --payload '{"state": "on"}'。これにより、ホームオートメーション用のメッシュネットワークが構築されます。 -
LoRaWAN センサーからデータを照会する: 環境変数で認証し、次を実行します。
openclaw iot connect --protocol lorawan --device-id 404 --app-eui 70B3D57EF0000000。データを取得します。openclaw iot get --protocol lorawan --payload-type temp。コードでは次のようにします。
openclaw.iot.get({ protocol: 'lorawan', deviceId: '404' }).then(data => console.log(data));
これは、遠隔地の環境センサーを監視するのに役立ちます。
グラフの関連性
- 関連:iot-cluster(より広範な IoT 管理向け)、networking-skills(プロトコルに依存しないネットワーク向け)。
- 依存:security-skills(Zigbee などのプロトコルにおける暗号化向け)。
- 接続:iot タグを介して、OpenClaw のグラフ内でスキルを横断したクエリが可能です。