この機械は何か
SwitchBot ハブ2は、赤外線リモコン・温湿度計・照度センサーを1台に収めたスマートホームハブである。単体でもエアコンやテレビなど赤外線家電を操作できるが、本領はSwitchBotデバイス群をクラウドAPIに束ねる接続点になることだ。
このエコシステムで他に類を見ないのが「ボット」— 物理ボタンを人の指の代わりに押す小型アクチュエータである。給湯器のスイッチ、コーヒーメーカー、古い壁スイッチ、インターホンの解錠ボタン。メーカーがAPIを用意していない機器でも、ボタンさえあればAIの操作対象にできる。「APIのない機械にAPIを生やす」最後の手段が製品として量産されているのはSwitchBotだけで、カーテン・ロック・プラグ・ロボット掃除機・加湿器までデバイス層も厚い。家の物理操作の大半をひとつのAPIに集約できる。
接続の口
口は3系統ある。
- 公式クラウドAPI v1.1 — トークン+シークレット認証のREST API。
GET /v1.1/devicesで全デバイス列挙、GET /v1.1/devices/{id}/statusで状態取得、POST /v1.1/devices/{id}/commandsで制御。シーン実行とWebhook(全デバイスイベントのプッシュ配信)も揃う。上限は1日10,000リクエスト。 - 公式MCPサーバー — 2026年時点の決定打。公式CLI(
@switchbot/openapi-cli)がswitchbot mcp serveでそのままMCPサーバーになり、既定17・最大28のツールをClaudeやCodexに公開する。コミュニティ実装(yasu89版・genm版)も実在するが、公式が出た今は本命が明確。 - Matterブリッジ — ハブ2配下のボット・カーテン・ロック等を最大8台までMatterデバイスとして公開できる。ただし多くはON/OFFのみで、AI連携用途ならAPI/MCP経由が本線。
AIから動かすまでの道のり
SwitchBotアプリ(V6.14以降)のプロフィール→設定でアプリバージョンを連打すると開発者オプションが現れ、トークンとシークレットを取得できる。ここが唯一の隠し扉的なひと手間。
生API を叩く場合は署名生成が必要で、13桁のUNIXタイムスタンプ t・ランダムな nonce・トークンを連結した文字列をシークレットでHMAC-SHA256署名し、Base64エンコードして大文字化した値を sign ヘッダに載せる。Pythonなら10行程度だが、毎回書くのは面倒だ。
MCP経由ならこの署名は完全に隠蔽される。npm install -g @switchbot/openapi-cli して switchbot auth login でトークンを渡し、Claude側にMCPサーバーとして登録すれば、「エアコンつけて」「風呂のスイッチ押して」が自然言語で通る。導入コストは実質15分。ハードウェア改造も非公式ハックも一切不要で、hack_difficultyは「none」である。
できること・できないこと
できること: 全デバイスの状態取得と制御の両方。ハブ2自身が温湿度・照度センサーなので、「室温28度超えたら冷房+サーキュレーター」のようなセンサー値起点のフィードバックループがハブ単体で成立する。Webhookを受ければポーリングなしのイベント駆動もできる。開閉センサー・人感センサーを足せば状態の解像度はさらに上がる。
できないこと・注意点: 制御はクラウド経由で、往復1〜2秒の遅延がある。リアルタイム性が要る用途には向かない。1日10,000回の上限は平均8.6秒に1回に相当し普通の家庭運用では余裕だが、複数エージェントで高頻度ポーリングする設計は避けてWebhookに寄せるべきだ。公式のローカルAPIは無い(BLE直叩きのOSSはあるが本線ではない)。ボットの物理押下は確実性が高いものの、押した「結果」はボット自身には見えない — 結果確認は後述のセンサーやカメラで別途取る設計になる。
組み合わせのヒント
- Home Assistant に統合すれば、SwitchBot群を他社デバイスと同じ抽象化レイヤで扱える。常時自律運用の実例はこの経路が最も厚い。
- 赤外線リモコン機能は Nature Remo 3 と競合する。API単体の素直さはRemoに分があるが、ボット・カーテン・ロックまで一気通貫で欲しいならSwitchBotに軍配。
- ボットで押した結果の確認には Tapo C200 のようなカメラを向けておくと、AIが「押す→見る→判断する」の閉ループを作れる。
- 掃除は純正ロボット掃除機もAPIに乗るが、掃除性能重視なら Roborock S8 と役割分担する手もある。
レーティング基準の詳細は /rating を参照。