この機械は何か
SwitchBot カーテン3は、既存のカーテンレールに取り付けてカーテンを開閉する電動アクチュエータである。日本公式ページではU型、ポールタイプレール、I型を別バリエーションとして扱い、単品・2個セット・4個セットを選べる。カーテン2や旧Curtainと同じ型式として扱わず、購入前にレール形状とセット内容を照合する。
日本公式ページの2026年9月13日確認時の表示価格は、U型/ポールタイプの単品が¥8,980、I型の単品が¥9,425だった。セット価格・送料・セール条件は選択したバリエーションで変わるため、単品価格をセットや送料込み価格へ読み替えない。
公式ページは、U型レール・ポールタイプレール・I型への対応を案内し、片開き/両開きの設定を分けている。両開きは左右それぞれに機器を使う構成として公式の2個セットが用意されているが、手元のレールとカーテンの開閉方向が適合するかを購入前に確認する。公式ページの「約99%」という表現だけで設置可能と断定しない。
接続の口
Cloud APIと公式MCP
SwitchBot公式OpenAPIのCurtain 3は、デバイス一覧にdeviceType、enableCloudService、親ハブを示すhubDeviceId、較正状態calibrate、グループ状態groupを返す。状態取得ではmoving、電池残量、ファームウェアversion、較正した開閉位置間の割合を示すslidePositionを読む。資料上、一覧・状態の型名はCurtain3、制御コマンド表はCurtain 3と表記されるため、名前の文字列だけで別機種と判断しない。
OpenWonderLabsの公式OpenAPI CLI v3.8.1は、CurtainをCurtain3/Curtain 3の別名としてカタログへ収録し、setPosition、turnOn、turnOff、pauseを持つ。CLIの公式MCPはreadonlyプロファイルで一覧・状態取得だけ、defaultプロファイルで操作を含む構成にできる。エージェントへ渡す前に読み取り専用で対象を特定し、同一アカウントの別のカーテンへ送らないようdeviceIdと許可コマンドを運用側で固定する。この固定はMCP自体のACLではない。
公式ストアは、音声操作などのサードパーティーサービス利用にSwitchBotハブシリーズが必要と案内している。Cloud/MCPで使うときは、アプリでCloud Serviceが有効になっていることと親ハブの有無を、実際の構成で確認する。ハブを持たない場合に全てのCloud操作ができるとは断定しない。
公式BLE API
公式BLE仕様には、通信サービスUUIDcba20d00-224d-11e6-9fb8-0002a5d5c51bと、状態を取得する基本情報コマンドが記載されている。較正済みか、電池、移動状態、現在位置、タイマー数などを端末側で読み取る別経路で、Cloud APIや公式MCPの認証を省略できるという意味ではない。BLEの接続・切断・再接続はこの仕様だけで実機確認していない。
AIから動かすまでの道のり
- レール形状(U型/ポール/I型)、片開きか両開きか、カーテンの走行範囲を確認する。動作中に人・ペット・家具が挟まらず、手で直ちに停止できる状態を作る。
- SwitchBotアプリでカーテン3を登録し、アプリの案内に従って移動距離を自動またはカスタムで調整する。
calibrateが未完了のまま位置指令を評価しない。 - 公式CLIをOAuthで認証し、公式MCPを
readonlyで起動する。list_devicesでdeviceType、名前、Cloud Service、対象レールの実物を照合し、対象deviceIdを1台に固定する。 get_device_statusでcalibrate、moving、slidePosition、電池、バージョンを読む。位置は較正した開位置と閉位置の間の割合であり、部屋の絶対座標ではない。- 操作を許可する場合だけ標準MCPへ切り替え、対象1台の進路と停止手段を手元で確認する。
setPositionは公式例の0,ff,80のようにモードと位置を渡し、位置は0〜100(0=開、100=閉)で指定する。性能モードは0、静音モードは1、ffは既定モードである。 - まず位置指令を1回だけ送る。API応答、MCPが返した位置、実際のカーテン位置を別々に確認し、異常なら
pauseで停止する。複数台への一括送信や未確認の自動校正は行わない。
turnOnは開位置(0)、turnOffは閉位置(100)、pauseは停止状態に相当する。反転するtoggleを使わず、現在状態を読んだ上で明示的な位置または停止を指定する。
できること・できないこと
できる: 較正後の開閉位置を0〜100の割合で取得する、移動中かを読む、電池とファームウェアを確認する、指定位置へ1台を移動する、移動を停止する、Cloud APIのWebhookで位置・較正・電池の変更を受け取る。
できない/注意: 較正前の位置値を正しい位置として扱うこと、0〜100を部屋の絶対位置や残り距離と読み替えること、API成功だけでカーテンが物理的に所定位置へ着いたと断定すること。BLE仕様があることだけでCloud Serviceやハブが不要になるとも断定しない。モーターが動いている間に手や物をレールへ入れない。
SwitchBotボットは物理ボタンの押下、ハブ2は家庭内デバイスのCloud接続、プラグミニは通電のON/OFFが対象であり、位置を持つカーテン3とは確認すべき状態が異なる。 SwitchBot ボット、SwitchBot ハブ2、SwitchBot プラグミニ(JP)を同じ機種として横展開しない。
出典
- SwitchBot公式 カーテン3 製品ページ(2026-09-13確認)
- SwitchBot OpenAPI v1.1 — Curtain 3(2026-09-13確認)
- SwitchBot公式 BLE API — Curtain 3(2026-09-13確認)
- SwitchBot公式 OpenAPI CLI v3.8.1(2026-09-13確認)
- 公式CLIのCurtainカタログ(2026-09-13確認)