この機械は何か
SwitchBot プラグミニ(JP)は、コンセントと家電の間へ挿し、電源を遠隔で入切する日本向けスマートプラグである。通常版は型式W2001400。定格は100V AC、50/60Hz、最大15A・1500Wで、2.4GHz Wi-FiとBluetooth Low Energyを内蔵する。Wi-Fiでクラウドへ直接つながるため、公式OpenAPIやMCPを使うためにSwitchBotハブを買い足す必要はない。
この標本は通常版W2001400だけを扱う。公式ストアで別商品として売られているHomeKit対応版W2001401は含めない。公式OpenAPIは両型式を同じPlug Mini (JP)へまとめているが、購入時と初期設定時は本体または箱の型式を確認する。
接続の口
最短経路は、メーカー公式の@switchbot/openapi-cliが内蔵するMCPサーバーである。2026年9月7日に確認したv3.8.1は、対応機器表のPower欄にPlug Mini (JP)を明記し、MCPからデバイス一覧、状態取得、コマンド送信を行える。OAuthログインで認証情報をOSのキーチェーンへ保存できるため、トークンとシークレットをチャットやリポジトリへ貼る必要もない。
MCPには読取専用のreadonlyプロファイルがある。最初はこれで対象IDと状態を確認し、実物の型式と突き合わせてから標準プロファイルへ切り替える。標準プロファイルのsend_commandにはdeviceIdとturnOnまたはturnOffを渡す。状態が反転するtoggleは、現在状態が曖昧なときや再試行時に結果を読みにくくするため、最初の試験には使わない。
読取専用の確認から手元の照明1台をON/OFFする順序はプラグミニを公式MCPでON/OFFするレシピにまとめた。
生のOpenAPI v1.1も公式経路である。GET /v1.1/devices/{deviceId}/statusで状態を読み、POST /v1.1/devices/{deviceId}/commandsへturnOn、turnOff、toggleを送れる。直接APIを使う場合はリクエストごとのHMAC署名が要る。署名まで自分で実装したい場合はSwitchBot API v1.1ガイドを参照。
状態値をどう読むか
公式のPlug Mini (JP)用文書がGET状態として列挙するのは、次の値である。
voltage: 電圧。公式表の単位はVelectricCurrent: その時点の電流。公式表の単位はmAversion: BLE/Wi-Fiファームウェア版electricityOfDay: 機種別文書は当日の使用時間を分で表すと説明する一方、公式CLIカタログは当日消費量をkWhで表すと説明し、資料間で一致しないweight: 機種別文書は「1日の消費電力、単位W」と説明するが、フィールド名・量・単位の対応が不明瞭
ON/OFF状態のpowerStateはWebhookイベント欄にあり、同じページのGET状態表には載っていない。一方、公式CLIの静的カタログはGET候補へpowerを含めており、資料間で一致しない。したがって、GETでpowerが返ることを前提にせず、実際に返ったキーを保存してから自動化へ使う。weightとelectricityOfDayも実値とアプリ表示を照合するまで、料金計算や自動判定の条件に使わない。
自律度2とした境界
電圧・電流などを読み、明示的なON/OFFコマンドを返し、Webhookでプラグ側の電源状態変化を受けられるため、「読む→判断する→操作する」のフィードバックを構成できる。ただし分かるのはプラグ側までである。APIが成功しても、接続した照明の球切れ、家電側のソフトスイッチ、機械的な故障までは分からない。家電の動作結果を保証する標本ではなく、実機での接続・操作は未確認である。
最初の1回は照明で試す
最初は手元で見える低消費電力の照明1台を使う。SwitchBotアプリで通常版W2001400を登録し、アプリと本体ボタンでON/OFFできることを先に確認する。その後にMCPを読取専用で接続し、対象IDを固定して、turnOnとturnOffを各1回だけ送る。MCP/APIの成功、アプリのプラグ状態、照明の点灯・消灯を別々に記録する。具体的な順序は上記の機種別レシピにまとめた。
安全に使う境界
公式の安全案内は、突然動くと傷害や発火につながる機器、通信が切れたとき安全状態を維持できない機器への接続を禁止している。暖房器具、生命維持装置、無人で動くモーター類には使わない。定格内でも高出力機器の長時間連続運転を避け、異常発熱や過負荷が出たら家電を外してプラグをコンセントから抜く。通常版は幅広プラグなので、N極対応コンセントまたはN極対応延長コードを使う。
MCPはstdioのままローカルで接続し、HTTPポートを外部公開しない。OAuth資格情報はキーチェーンへ置き、設定ファイル、ログ、記事、チャットへ貼らない。
レーティングの定義は/ratingを参照。